diff --git a/.github/guides/STYLE.md b/.github/guides/STYLE.md index 3c49962bcfb..c9b284bd338 100644 --- a/.github/guides/STYLE.md +++ b/.github/guides/STYLE.md @@ -474,7 +474,7 @@ deal_damage(10) // Fine! The proc name makes it obvious `10` is the damage...at deal_damage(10, FIRE) // Also fine! `FIRE` makes it obvious the second parameter is damage type. deal_damage(damage = 10) // Redundant, but not prohibited. -use_power(30) // Fine! `30` is obviously something like watts. +use_energy(30 JOULES) // Use energy in joules. turn_on(30) // Not fine! turn_on(power_usage = 30) // Fine! diff --git a/_maps/RandomRuins/SpaceRuins/skyrat/port_tarkon.dmm b/_maps/RandomRuins/SpaceRuins/skyrat/port_tarkon.dmm index 7755978bedd..78345ff9f89 100644 --- a/_maps/RandomRuins/SpaceRuins/skyrat/port_tarkon.dmm +++ b/_maps/RandomRuins/SpaceRuins/skyrat/port_tarkon.dmm @@ -4274,7 +4274,7 @@ /area/ruin/space/has_grav/port_tarkon/secoff) "DG" = ( /obj/structure/table/reinforced, -/obj/machinery/reagentgrinder/constructed, +/obj/machinery/reagentgrinder, /obj/machinery/light/small/directional/west, /turf/open/floor/iron/cafeteria, /area/ruin/space/has_grav/port_tarkon/kitchen) @@ -7058,7 +7058,7 @@ dir = 1 }, /obj/structure/table/reinforced, -/obj/machinery/reagentgrinder/constructed, +/obj/machinery/reagentgrinder, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/port_tarkon/developement) "Wy" = ( diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index 271d18acb95..f8852c06ded 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -521,6 +521,18 @@ temperature = 251 }, /area/awaymission/moonoutpost19/arrivals) +"dS" = ( +/obj/structure/alien/weeds, +/mob/living/basic/alien/queen/large{ + desc = "A gigantic alien who is in charge of the hive and all of its loyal servants."; + name = "alien queen"; + pixel_x = -16; + can_plant_weeds = 0 + }, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/hive) "dU" = ( /obj/structure/fence/cut{ dir = 4 @@ -731,6 +743,14 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/awaymission/moonoutpost19/research) +"fm" = ( +/mob/living/basic/alien/drone{ + can_plant_weeds = 0 + }, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/main) "fo" = ( /obj/effect/decal/cleanable/blood/tracks{ desc = "Your instincts say you shouldn't be following these."; @@ -2087,13 +2107,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/awaymission/moonoutpost19/syndicate) -"nz" = ( -/obj/structure/alien/weeds, -/mob/living/basic/alien/sentinel, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/hive) "nE" = ( /obj/machinery/door/poddoor/preopen{ desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; @@ -3088,15 +3101,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/awaymission/moonoutpost19/arrivals) -"tN" = ( -/obj/structure/alien/weeds/node, -/mob/living/basic/alien/drone{ - can_plant_weeds = 0 - }, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/mines) "tQ" = ( /obj/structure/table, /obj/item/stack/sheet/mineral/plasma, @@ -3223,18 +3227,6 @@ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" }, /area/awaymission/moonoutpost19/arrivals) -"uH" = ( -/obj/structure/alien/weeds, -/mob/living/basic/alien/queen/large{ - desc = "A gigantic alien who is in charge of the hive and all of its loyal servants."; - name = "alien queen"; - pixel_x = -16; - can_plant_weeds = 0 - }, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/hive) "uK" = ( /obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door/airlock/public/glass{ @@ -3338,6 +3330,16 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/closed/wall/r_wall/rust, /area/awaymission/moonoutpost19/research) +"vo" = ( +/obj/machinery/power/smes{ + charge = 3e+007; + input_level = 10000; + inputting = 0; + output_level = 15000 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/awaymission/moonoutpost19/research) "vp" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/closed/wall/r_wall, @@ -3431,6 +3433,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/closed/wall/r_wall, /area/awaymission/moonoutpost19/research) +"vH" = ( +/obj/structure/alien/weeds/node, +/mob/living/basic/alien/drone{ + can_plant_weeds = 0 + }, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/mines) "vK" = ( /obj/machinery/power/terminal{ dir = 4 @@ -4690,13 +4701,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/awaymission/moonoutpost19/research) -"EZ" = ( -/obj/structure/alien/weeds/node, -/mob/living/basic/alien, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/hive) "Fc" = ( /obj/machinery/light/floor, /obj/effect/turf_decal/stripes/line{ @@ -5004,13 +5008,6 @@ dir = 8 }, /area/awaymission/moonoutpost19/research) -"Ha" = ( -/obj/structure/alien/weeds, -/mob/living/basic/alien, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/hive) "Hd" = ( /obj/item/stack/rods, /obj/item/shard{ @@ -5143,6 +5140,15 @@ }, /turf/open/floor/iron, /area/awaymission/moonoutpost19/research) +"HW" = ( +/obj/structure/alien/weeds, +/mob/living/basic/alien/drone{ + can_plant_weeds = 0 + }, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/mines) "HY" = ( /obj/structure/sign/departments/science{ pixel_y = 32 @@ -5289,16 +5295,6 @@ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" }, /area/awaymission/moonoutpost19/main) -"Ja" = ( -/obj/structure/alien/weeds, -/obj/effect/decal/cleanable/blood, -/mob/living/basic/alien/drone{ - can_plant_weeds = 0 - }, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/hive) "Jb" = ( /obj/structure/fence/post{ dir = 4 @@ -5368,15 +5364,6 @@ }, /turf/open/floor/iron/white, /area/awaymission/moonoutpost19/research) -"Jw" = ( -/obj/structure/alien/weeds/node, -/mob/living/basic/alien/drone{ - can_plant_weeds = 0 - }, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/hive) "Jz" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/cable, @@ -5502,15 +5489,6 @@ "Ky" = ( /turf/open/floor/iron/white/side, /area/awaymission/moonoutpost19/research) -"KA" = ( -/obj/structure/alien/weeds, -/mob/living/basic/alien/drone{ - can_plant_weeds = 0 - }, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/mines) "KF" = ( /obj/item/banner/command/mundane{ desc = "The banner of Central Command, impaled into the rock upon first landing on this moon."; @@ -5583,6 +5561,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/awaymission/moonoutpost19/syndicate) +"Lu" = ( +/obj/structure/alien/weeds, +/mob/living/basic/alien, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/hive) "LA" = ( /obj/item/stack/ore/iron{ pixel_x = -3; @@ -5626,6 +5611,15 @@ }, /turf/open/floor/iron/white/corner, /area/awaymission/moonoutpost19/arrivals) +"LO" = ( +/obj/structure/alien/weeds, +/mob/living/basic/alien/drone{ + can_plant_weeds = 0 + }, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/hive) "LQ" = ( /obj/effect/decal/cleanable/blood/tracks{ dir = 4 @@ -5949,14 +5943,6 @@ temperature = 251 }, /area/awaymission/moonoutpost19/arrivals) -"NU" = ( -/mob/living/basic/alien/drone{ - can_plant_weeds = 0 - }, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/main) "NW" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/wood{ @@ -6095,16 +6081,6 @@ temperature = 251 }, /area/awaymission/moonoutpost19/syndicate) -"OO" = ( -/obj/machinery/power/smes{ - charge = 3e+007; - input_level = 10000; - inputting = 0; - output_level = 15000 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/awaymission/moonoutpost19/research) "OQ" = ( /obj/structure/trap/cult, /obj/effect/decal/cleanable/blood/drip, @@ -6832,6 +6808,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/awaymission/moonoutpost19/syndicate) +"Tn" = ( +/obj/structure/alien/weeds, +/obj/effect/decal/cleanable/blood, +/mob/living/basic/alien/drone{ + can_plant_weeds = 0 + }, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/hive) "Ts" = ( /obj/machinery/newscaster/directional/south, /obj/effect/turf_decal/siding/purple, @@ -6916,6 +6902,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/awaymission/moonoutpost19/arrivals) +"Ua" = ( +/obj/structure/alien/weeds, +/mob/living/basic/alien/sentinel, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/hive) "Ud" = ( /obj/structure/bed, /obj/item/bedsheet/syndie, @@ -6940,6 +6933,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/awaymission/moonoutpost19/research) +"Ui" = ( +/obj/structure/alien/weeds/node, +/mob/living/basic/alien/drone{ + can_plant_weeds = 0 + }, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/hive) "Uj" = ( /obj/structure/cable, /obj/structure/fluff/tram_rail/end, @@ -7009,15 +7011,6 @@ }, /turf/open/floor/plating, /area/awaymission/moonoutpost19/research) -"UI" = ( -/obj/structure/alien/weeds, -/mob/living/basic/alien/drone{ - can_plant_weeds = 0 - }, -/turf/open/misc/asteroid/moon{ - initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" - }, -/area/awaymission/moonoutpost19/hive) "UO" = ( /obj/structure/closet/crate/miningcar{ desc = "A mining cart. It's caked with old basalt and lunar debris."; @@ -7119,6 +7112,13 @@ }, /turf/open/floor/iron, /area/awaymission/moonoutpost19/arrivals) +"VF" = ( +/obj/structure/alien/weeds/node, +/mob/living/basic/alien, +/turf/open/misc/asteroid/moon{ + initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" + }, +/area/awaymission/moonoutpost19/hive) "VH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -26878,7 +26878,7 @@ AP fY fY AP -UI +LO fY bJ um @@ -27391,7 +27391,7 @@ fY fY qA fY -uH +dS AO LY Gj @@ -27645,7 +27645,7 @@ ac ac um bJ -nz +Ua fY fY fY @@ -27907,7 +27907,7 @@ fY fY XO fY -nz +Ua bJ um ac @@ -29209,7 +29209,7 @@ um um bJ AO -Ja +Tn fY um ac @@ -29976,7 +29976,7 @@ ac um um fY -Ha +Lu fY bJ um @@ -30510,7 +30510,7 @@ My My My My -NU +fm My My My @@ -31497,7 +31497,7 @@ ae um bJ fY -Ha +Lu kj um um @@ -31527,7 +31527,7 @@ ac dA dA My -NU +fm Wg My My @@ -32275,7 +32275,7 @@ ac ac ac um -UI +LO um um bl @@ -32285,7 +32285,7 @@ bl bl um fY -Jw +Ui um um um @@ -32309,7 +32309,7 @@ My My My My -NU +fm My My My @@ -33302,7 +33302,7 @@ ac um dz QA -Ha +Lu fY bJ qA @@ -33848,7 +33848,7 @@ My My My My -NU +fm My My My @@ -33929,7 +33929,7 @@ My My My eI -OO +vo op op Xr @@ -34098,7 +34098,7 @@ vs My My My -NU +fm My My My @@ -35387,7 +35387,7 @@ My My My My -NU +fm My My My @@ -35878,7 +35878,7 @@ um um fY fY -EZ +VF fY fY um @@ -36128,7 +36128,7 @@ ac ac um qA -UI +LO fY fY fY @@ -36665,7 +36665,7 @@ My My My My -NU +fm Wg My My @@ -38208,7 +38208,7 @@ My My My My -NU +fm My My My @@ -40803,7 +40803,7 @@ LG dA Wg My -NU +fm dA ae ae @@ -52420,7 +52420,7 @@ pS tb pS pS -tN +vH tb tb tb @@ -55775,7 +55775,7 @@ nw nw nw nw -KA +HW pS pS pS @@ -56807,7 +56807,7 @@ Oq Oq Oq nw -KA +HW pS zY tb @@ -57054,7 +57054,7 @@ zY pS pS nw -KA +HW pS pS pS diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index 35112ea45a6..ba0904d1f3e 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -489,11 +489,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/project) -"aiO" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/turf/open/floor/plating, -/area/station/engineering/atmos/project) "ajg" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -4118,6 +4113,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/storage/tools) +"bDU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/tcommsat/server) "bEd" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/mapping_helpers/broken_floor, @@ -4788,16 +4789,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"bSN" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/machinery/camera/directional/north{ - c_tag = "AI Chamber - SMES"; - network = list("aicore") - }, -/obj/machinery/flasher/directional/north, -/turf/open/floor/circuit/red, -/area/station/ai_monitored/turret_protected/ai) "bSX" = ( /obj/machinery/flasher/directional/east{ id = "AI"; @@ -10950,12 +10941,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/cafeteria, /area/station/service/cafeteria) -"efp" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/smooth, -/area/station/ai_monitored/turret_protected/aisat/equipment) "efr" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -15583,6 +15568,13 @@ /obj/effect/mapping_helpers/airlock/access/all/command/minisat, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/teleporter) +"fJu" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/plating, +/area/station/engineering/gravity_generator) "fJK" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -24573,6 +24565,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) +"iRi" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/power/smes/full, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/construction) "iRv" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -30947,12 +30945,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons) -"ldW" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/power/smes/full, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/construction) "ldZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, @@ -42799,6 +42791,12 @@ }, /turf/open/floor/wood/tile, /area/station/service/lawoffice) +"plU" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/power/smes/full, +/turf/open/floor/plating, +/area/station/maintenance/department/prison) "plZ" = ( /obj/structure/table/wood, /obj/effect/turf_decal/siding/wood{ @@ -47014,6 +47012,11 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"qAN" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/turf/open/floor/plating, +/area/station/engineering/atmos/project) "qBc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49817,6 +49820,16 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/science/lower) +"ruz" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/machinery/camera/directional/north{ + c_tag = "AI Chamber - SMES"; + network = list("aicore") + }, +/obj/machinery/flasher/directional/north, +/turf/open/floor/circuit/red, +/area/station/ai_monitored/turret_protected/ai) "ruC" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/green/anticorner/contrasted, @@ -54761,6 +54774,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"sXe" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/smooth, +/area/station/ai_monitored/turret_protected/aisat/equipment) "sXi" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, @@ -58307,13 +58326,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"ueD" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/machinery/light/small/directional/north, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/plating, -/area/station/engineering/gravity_generator) "ueG" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -71756,12 +71768,6 @@ "ybO" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"yca" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/smes/full, -/turf/open/floor/plating, -/area/station/maintenance/department/prison) "ycd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -71945,12 +71951,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"yez" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/tcommsat/server) "yeD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -81542,7 +81542,7 @@ aed aeC agD ahy -aiO +qAN ayi gcs dDB @@ -87119,7 +87119,7 @@ pSd tDn qdv rwP -yca +plU tDn uug xwT @@ -98531,7 +98531,7 @@ aJq yjV fpY uTA -bSN +ruz xTV dua gnA @@ -99572,7 +99572,7 @@ wct hJp wct gOm -efp +sXe eFe eYk xvT @@ -104992,7 +104992,7 @@ iFP iGl hqW wSZ -ueD +fJu hXP wLl iEZ @@ -119697,7 +119697,7 @@ uzK rOs nVF qsg -yez +bDU wos udv tSq @@ -124608,7 +124608,7 @@ mCF xIP rGO mqO -ldW +iRi gXS njL xIP diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index a52cedf8b1f..d5b0896a3b7 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -2816,6 +2816,23 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/central/fore) +"aId" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/south, +/obj/effect/turf_decal/bot, +/obj/structure/sign/directions/arrival{ + dir = 1; + pixel_x = 32; + pixel_y = -4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "aIm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -3877,6 +3894,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/chapel/funeral) +"aWB" = ( +/obj/structure/table/reinforced, +/obj/item/storage/medkit/regular, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "aWF" = ( /obj/structure/cable, /obj/effect/turf_decal/delivery, @@ -4055,6 +4080,14 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/main) +"aYZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table/wood, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/computer/security/wooden_tv, +/turf/open/floor/iron/grimy, +/area/station/command/bridge) "aZj" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -7620,17 +7653,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"bQC" = ( -/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/neutral{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) "bQN" = ( /obj/item/radio/intercom/directional/east, /obj/effect/decal/cleanable/dirt, @@ -7849,14 +7871,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"bSv" = ( -/obj/structure/table/reinforced, -/obj/item/storage/medkit/regular, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "bSx" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -8724,6 +8738,17 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/supermatter/room) +"cdJ" = ( +/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/neutral{ + dir = 1 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/station/hallway/secondary/exit/departure_lounge) "cdN" = ( /obj/effect/spawner/random/structure/girder, /obj/effect/spawner/random/structure/grille, @@ -8954,13 +8979,6 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) -"chv" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/effect/turf_decal/bot, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "chF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -10402,6 +10420,30 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"czF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/newscaster/directional/west, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/station/hallway/secondary/exit/departure_lounge) +"czI" = ( +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/structure/sign/warning/deathsposal/directional/east, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/science/xenobiology) "czL" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -11079,6 +11121,22 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"cHx" = ( +/obj/structure/sign/warning/deathsposal/directional/east, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 8 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/science/xenobiology) "cHB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12696,16 +12754,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/security) -"ddO" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/landmark/start/hangover/closet, -/obj/effect/spawner/random/structure/closet_private, -/obj/item/clothing/head/costume/kitty, -/obj/item/clothing/under/costume/maid, -/obj/item/clothing/head/costume/rabbitears, -/obj/item/clothing/under/dress/eveninggown, -/turf/open/floor/wood, -/area/station/commons/dorms) "ddW" = ( /obj/effect/turf_decal/box/white/corners, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -15721,17 +15769,6 @@ "dPR" = ( /turf/closed/wall/r_wall, /area/station/maintenance/solars/port/aft) -"dPX" = ( -/obj/machinery/door/airlock/grunge{ - name = "Morgue" - }, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/morgue, -/turf/open/floor/iron, -/area/station/maintenance/department/medical/morgue) "dPY" = ( /obj/effect/turf_decal/bot_white/left, /obj/effect/turf_decal/tile/neutral{ @@ -17909,6 +17946,15 @@ }, /turf/open/floor/wood/large, /area/station/command/corporate_showroom) +"etA" = ( +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/bot, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/engineering/storage) "etI" = ( /obj/machinery/door/airlock/external{ name = "External Docking Port" @@ -22764,6 +22810,19 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) +"fER" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/light/directional/west, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/science/lab) "fEX" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24646,6 +24705,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/science) +"gcQ" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark/telecomms, +/area/station/tcommsat/server) "gcR" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -26555,23 +26620,6 @@ /obj/effect/mapping_helpers/mail_sorting/service/law_office, /turf/open/floor/plating, /area/station/maintenance/department/security) -"gzg" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/status_display/evac/directional/south, -/obj/effect/turf_decal/bot, -/obj/structure/sign/directions/arrival{ - dir = 1; - pixel_x = 32; - pixel_y = -4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "gzj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/landmark/start/prisoner, @@ -28110,6 +28158,16 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"gSL" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/landmark/start/hangover/closet, +/obj/effect/spawner/random/structure/closet_private, +/obj/item/clothing/head/costume/kitty, +/obj/item/clothing/under/costume/maid, +/obj/item/clothing/head/costume/rabbitears, +/obj/item/clothing/under/dress/eveninggown, +/turf/open/floor/wood, +/area/station/commons/dorms) "gSR" = ( /obj/structure/sink/directional/south, /obj/effect/turf_decal/tile/blue{ @@ -32408,6 +32466,30 @@ dir = 8 }, /area/station/engineering/atmos/project) +"iaK" = ( +/obj/structure/safe/vault, +/obj/item/clothing/neck/stethoscope, +/obj/item/book{ + desc = "An undeniably handy book."; + icon_state = "bookknock"; + name = "\improper A Simpleton's Guide to Safe-cracking with Stethoscopes" + }, +/obj/item/stack/sheet/mineral/diamond, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c1000, +/obj/item/stack/spacecash/c500, +/obj/item/stack/spacecash/c500, +/obj/item/stack/spacecash/c500, +/obj/item/stack/spacecash/c500, +/obj/item/stack/spacecash/c500, +/obj/item/gun/ballistic/automatic/pistol/deagle, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "iaL" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -33584,18 +33666,6 @@ /obj/effect/turf_decal/tile/neutral/opposingcorners, /turf/open/floor/iron, /area/station/maintenance/port) -"ioF" = ( -/obj/machinery/light/small/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/security/brig) "ioN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -35636,6 +35706,18 @@ dir = 1 }, /area/station/service/kitchen) +"iRs" = ( +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/security/brig) "iRt" = ( /obj/effect/turf_decal/tile/purple{ dir = 8 @@ -36940,6 +37022,17 @@ }, /turf/open/floor/iron, /area/station/security/prison/garden) +"jgl" = ( +/obj/machinery/door/airlock/grunge{ + name = "Morgue" + }, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/morgue, +/turf/open/floor/iron, +/area/station/maintenance/department/medical/morgue) "jgq" = ( /obj/structure/chair/office{ dir = 1 @@ -42660,19 +42753,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark/smooth_large, /area/station/security/detectives_office) -"kBr" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/light/directional/west, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/science/lab) "kBz" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -47940,18 +48020,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/port) -"lRM" = ( -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/sign/warning/deathsposal/directional/east, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/science/xenobiology) "lSh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -54250,18 +54318,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"nBB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/newscaster/directional/west, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) "nBC" = ( /obj/item/kirbyplants/random, /obj/machinery/light/small/directional/north, @@ -62730,19 +62786,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/science/breakroom) -"pKa" = ( -/obj/machinery/power/smes/full, -/obj/structure/sign/warning/electric_shock/directional/north, -/obj/machinery/camera/directional/north{ - c_tag = "AI Chamber - Fore"; - name = "motion-sensitive ai camera"; - network = list("aichamber") - }, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "pKb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -65054,12 +65097,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet/green, /area/station/service/library) -"qlY" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark/telecomms, -/area/station/tcommsat/server) "qmd" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -68507,16 +68544,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/engineering/main) -"rgH" = ( -/obj/machinery/power/smes/full, -/obj/machinery/status_display/ai/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) "rgK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75307,6 +75334,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/main) +"sNP" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/effect/turf_decal/bot, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "sOi" = ( /obj/machinery/portable_atmospherics/pump, /obj/effect/turf_decal/bot, @@ -79447,6 +79481,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"tPT" = ( +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk, +/obj/machinery/camera/directional/north{ + c_tag = "Security - Office Fore"; + dir = 9 + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/directional/north, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark, +/area/station/security/office) "tPY" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -84485,6 +84532,16 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/chapel) +"vbt" = ( +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/light/directional/east, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/medical/medbay) "vbH" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -84860,15 +84917,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"vgD" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/bot, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/engineering/storage) "vgE" = ( /turf/open/floor/circuit/telecomms, /area/station/science/xenobiology) @@ -84968,6 +85016,13 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"vis" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/secure_safe/caps_spare, +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/station/command/bridge) "vit" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/anticorner/contrasted, @@ -85810,19 +85865,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/command/bridge) -"vuy" = ( -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk, -/obj/machinery/camera/directional/north{ - c_tag = "Security - Office Fore"; - dir = 9 - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/directional/north, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark, -/area/station/security/office) "vuE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/rack, @@ -86706,14 +86748,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/main) -"vED" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/wood, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/computer/security/wooden_tv, -/turf/open/floor/iron/grimy, -/area/station/command/bridge) "vEV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -86901,16 +86935,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"vGO" = ( -/obj/effect/turf_decal/bot, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/light/directional/east, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/medical/medbay) "vGP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/railing{ @@ -87974,30 +87998,6 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/dark/smooth_large, /area/station/commons/fitness/recreation) -"vWT" = ( -/obj/structure/safe/vault, -/obj/item/clothing/neck/stethoscope, -/obj/item/book{ - desc = "An undeniably handy book."; - icon_state = "bookknock"; - name = "\improper A Simpleton's Guide to Safe-cracking with Stethoscopes" - }, -/obj/item/stack/sheet/mineral/diamond, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c1000, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c500, -/obj/item/stack/spacecash/c500, -/obj/item/gun/ballistic/automatic/pistol/deagle, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "vWU" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -89345,13 +89345,6 @@ dir = 8 }, /area/station/hallway/secondary/entry) -"wnH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/secure_safe/caps_spare, -/obj/structure/table/wood, -/turf/open/floor/iron/grimy, -/area/station/command/bridge) "wnI" = ( /obj/item/sign, /obj/effect/spawner/random/structure/closet_empty/crate, @@ -91949,22 +91942,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"wVW" = ( -/obj/structure/sign/warning/deathsposal/directional/east, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 8 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/science/xenobiology) "wWn" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/glass, @@ -95514,6 +95491,16 @@ }, /turf/open/floor/iron/freezer, /area/station/service/kitchen/coldroom) +"xOJ" = ( +/obj/machinery/power/smes/full, +/obj/machinery/status_display/ai/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat_interior) "xOP" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/south, @@ -96590,6 +96577,19 @@ }, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hos) +"yfP" = ( +/obj/machinery/power/smes/full, +/obj/structure/sign/warning/electric_shock/directional/north, +/obj/machinery/camera/directional/north{ + c_tag = "AI Chamber - Fore"; + name = "motion-sensitive ai camera"; + network = list("aichamber") + }, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "yfR" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -103626,7 +103626,7 @@ btH btH btH bPC -rgH +xOJ bTq jYp vgi @@ -105413,7 +105413,7 @@ alK qPm btH btH -pKa +yfP kXJ bEl xMy @@ -117242,7 +117242,7 @@ xqR qzc kUx kTV -chv +sNP dQl oIE fFu @@ -117799,7 +117799,7 @@ rqy jKx rTW tuk -lRM +czI hvl uhb hSi @@ -122424,7 +122424,7 @@ wDq sEc xNv kpx -wVW +cHx dJD jDd jDd @@ -123439,7 +123439,7 @@ bID xwu fAe ybJ -vgD +etA euV pTC hlX @@ -131419,7 +131419,7 @@ qVJ qlp bBL iZt -kBr +fER nXI qVz iuU @@ -131848,7 +131848,7 @@ mcE kBz bhU cVe -gzg +aId tNu hnB fRo @@ -134713,7 +134713,7 @@ xms aaa wyH fIx -bSv +aWB cQv drj bog @@ -136258,7 +136258,7 @@ eTF jgq cQv sHn -wnH +vis wIe goc eVl @@ -136312,7 +136312,7 @@ irD irD rQB veM -vGO +vbt ako cBP pdl @@ -136335,7 +136335,7 @@ rhp tPm nJQ tGj -dPX +jgl xBc grq oQa @@ -136515,7 +136515,7 @@ cnW iGB cQv sHn -vED +aYZ rHn bCh eVl @@ -137556,7 +137556,7 @@ ilI ilI ilI hup -qlY +gcQ cMD ilI ilI @@ -138647,10 +138647,10 @@ yho lvZ tOv iEN -nBB +czF fPw sYf -bQC +cdJ rrt qRF qRF @@ -142681,7 +142681,7 @@ qea eQr rgL eQr -vWT +iaK lhY aaa mjz @@ -148594,7 +148594,7 @@ tDt hMP ozm fJq -ioF +iRs aFv cDm pEz @@ -149650,7 +149650,7 @@ yaI qkv nTU yaI -ddO +gSL xnF tnR yaI @@ -150380,7 +150380,7 @@ qIH aaa aaa cjN -vuy +tPT agb ajc pyW diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 0bdb5d3ae65..35e72f4a266 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -14263,6 +14263,11 @@ dir = 1 }, /area/station/hallway/primary/starboard) +"emI" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit/telecomms/mainframe, +/area/station/tcommsat/server) "emK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/side{ @@ -16520,11 +16525,6 @@ "eYC" = ( /turf/open/floor/iron/smooth, /area/mine/laborcamp/security) -"eYH" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "eYL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall, @@ -37223,6 +37223,17 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/robotics/lab) +"lsd" = ( +/obj/machinery/power/smes{ + capacity = 1.8e+008; + charge = 2e+005 + }, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/box, +/turf/open/floor/iron/dark/textured_large, +/area/station/maintenance/disposal/incinerator) "lsi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37676,6 +37687,11 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"lzV" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "lzX" = ( /obj/machinery/light/floor, /turf/open/floor/iron/white, @@ -51101,17 +51117,6 @@ "pBE" = ( /turf/closed/wall, /area/station/cargo/bitrunning/den) -"pBI" = ( -/obj/machinery/power/smes{ - capacity = 1.8e+008; - charge = 2e+005 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/box, -/turf/open/floor/iron/dark/textured_large, -/area/station/maintenance/disposal/incinerator) "pBN" = ( /obj/structure/flora/tree/jungle/small/style_random, /turf/open/floor/grass, @@ -62271,6 +62276,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/aft/greater) +"sWy" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/machinery/camera/directional/south{ + c_tag = "Labor Camp Utilities"; + network = list("labor") + }, +/turf/open/floor/iron/smooth, +/area/mine/laborcamp/security) "sWB" = ( /obj/machinery/door/airlock/mining/glass{ name = "Mining Smeltery" @@ -68588,20 +68602,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) -"vbg" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/machinery/camera/directional/south{ - c_tag = "Labor Camp Utilities"; - network = list("labor") - }, -/turf/open/floor/iron/smooth, -/area/mine/laborcamp/security) -"vbn" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit/telecomms/mainframe, -/area/station/tcommsat/server) "vbz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -114598,7 +114598,7 @@ iDt nTO ody hMJ -vbg +sWy nTO iDt xMq @@ -235238,7 +235238,7 @@ vjx mDf nLb kNp -vbn +emI vFs mMk qAV @@ -248668,7 +248668,7 @@ mlp lEg cvh uBi -eYH +lzV jIZ oFx iHp @@ -248868,7 +248868,7 @@ oqc oAD xKX vep -pBI +lsd sCm gGo bTQ diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index e96e2d82aab..875a0d12b5e 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -8200,6 +8200,12 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/port) +"cYZ" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/satellite) "cZi" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -12918,6 +12924,17 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"eLc" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/flasher/directional/north{ + id = "AI"; + pixel_x = -22 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "eLh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -31034,17 +31051,17 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/transit_tube) -"lek" = ( -/obj/machinery/power/smes, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/solars/starboard/fore) -"lew" = ( +"leb" = ( /obj/machinery/power/smes/full, /obj/structure/cable, /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"lek" = ( +/obj/machinery/power/smes, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/solars/starboard/fore) "leP" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/junction{ dir = 4 @@ -40474,6 +40491,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"oyQ" = ( +/obj/machinery/power/smes{ + capacity = 1.8e+008; + charge = 2e+005 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "oyY" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -49731,16 +49758,6 @@ }, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"rMT" = ( -/obj/machinery/power/smes{ - capacity = 1.8e+008; - charge = 2e+005 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "rMZ" = ( /obj/structure/table, /obj/item/folder/blue{ @@ -53044,12 +53061,6 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) -"sVx" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/satellite) "sVz" = ( /obj/machinery/airalarm/directional/west, /obj/machinery/modular_computer/preset/command, @@ -55892,17 +55903,6 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/service/chapel/funeral) -"tVC" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/flasher/directional/north{ - id = "AI"; - pixel_x = -22 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "tVG" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/machinery/firealarm/directional/north, @@ -108713,7 +108713,7 @@ unL sfz wao hum -rMT +oyQ svK yec xhb @@ -111482,7 +111482,7 @@ bhM gTh oTR jYI -lew +leb tCS psZ tCS @@ -123324,7 +123324,7 @@ qyc jZC pan mbS -tVC +eLc mCL aWO aYz @@ -124363,7 +124363,7 @@ aTV aTV aTV ldP -sVx +cYZ pWR lnX asz diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index f5468402b89..712e555b878 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -295,6 +295,12 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/maintenance/departmental, /turf/open/floor/plating, /area/mine/maintenance/living/north) +"cg" = ( +/obj/structure/cable, +/obj/machinery/power/smes/full, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/mine/maintenance/service) "ch" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -2864,12 +2870,6 @@ /obj/effect/spawner/random/trash/mess, /turf/open/floor/iron/white, /area/mine/laborcamp/production) -"ps" = ( -/obj/structure/cable, -/obj/machinery/power/smes/full, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/mine/maintenance/service) "pu" = ( /obj/item/chair/stool{ pixel_x = -2; @@ -4991,11 +4991,6 @@ /obj/effect/turf_decal/sand/plating/volcanic, /turf/open/floor/plating/lavaland_atmos, /area/lavaland/surface/outdoors) -"Ee" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/plating, -/area/mine/maintenance/labor) "Eg" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment, @@ -5412,6 +5407,11 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/mine/maintenance/public/north) +"Hi" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/plating, +/area/mine/maintenance/labor) "Hp" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -28234,7 +28234,7 @@ Zt Zt Zt Zt -Ee +Hi ve RD RD @@ -38481,7 +38481,7 @@ Ue AA gB ON -ps +cg gq ER vc diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 98d8aaf0492..61b31bf7b2e 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -12188,14 +12188,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"daa" = ( -/obj/machinery/camera/motion/directional/north{ - c_tag = "Minisat North" - }, -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat/service) "dab" = ( /obj/effect/spawner/random/trash/garbage{ spawn_scatter_radius = 1 @@ -18768,6 +18760,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) +"eOO" = ( +/obj/machinery/camera/motion/directional/north{ + c_tag = "Minisat North" + }, +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat/service) "eOP" = ( /turf/closed/wall/r_wall, /area/station/hallway/floor4/aft) @@ -25068,6 +25068,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"gyE" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat/service) "gyG" = ( /obj/effect/spawner/structure/window/hollow/directional{ dir = 8 @@ -32692,6 +32697,15 @@ /obj/structure/closet/secure_closet/personal/cabinet, /turf/open/floor/iron, /area/station/commons/dorms/room1) +"iyF" = ( +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/power/smes/full, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/station/tcommsat/computer) "iyK" = ( /obj/structure/table/reinforced, /turf/open/floor/iron/dark/smooth_large, @@ -61961,11 +61975,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/white, /area/station/science/lobby) -"pUB" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat/service) "pUC" = ( /obj/effect/spawner/random/trash/graffiti, /turf/open/floor/pod/light, @@ -66563,15 +66572,6 @@ }, /turf/open/floor/iron/dark, /area/station/commons/storage/tools) -"rcc" = ( -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/power/smes/full, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, -/area/station/tcommsat/computer) "rcd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -79802,12 +79802,6 @@ }, /turf/open/floor/iron/corner, /area/station/maintenance/solars/starboard/fore) -"uDR" = ( -/obj/machinery/firealarm/directional/west, -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat_interior) "uDZ" = ( /obj/machinery/light/directional/north, /obj/machinery/airalarm/directional/north, @@ -92349,6 +92343,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/floor3/port) +"xII" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat_interior) "xIL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -132101,7 +132101,7 @@ bAk qRW jKt nor -rcc +iyF sHG uxT tlq @@ -335644,7 +335644,7 @@ aFj aFj sOy rZC -uDR +xII knY sOy vyR @@ -336150,7 +336150,7 @@ oyh oyh aFj aFj -pUB +gyE kZZ kum kum @@ -336921,7 +336921,7 @@ dkh aFj aFj aFj -daa +eOO kZZ tOV knH diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index 34585a62461..38463d849ea 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -2468,16 +2468,6 @@ /obj/item/healthanalyzer/advanced, /turf/open/floor/iron, /area/station/medical/medbay) -"Va" = ( -/obj/machinery/power/smes/full, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/cable, -/obj/machinery/airalarm/directional/north, -/obj/effect/mapping_helpers/airalarm/unlocked, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "Vg" = ( /obj/machinery/light/directional/south, /obj/structure/cable, @@ -2522,6 +2512,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"Wy" = ( +/obj/machinery/power/smes/full, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable, +/obj/machinery/airalarm/directional/north, +/obj/effect/mapping_helpers/airalarm/unlocked, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "WK" = ( /obj/structure/money_bot, /turf/open/floor/iron/dark, @@ -7611,7 +7611,7 @@ aa ad af ak -Va +Wy aG aV bg diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index fd8adec2590..47cbee30409 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -69,6 +69,15 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/asteroid) +"aam" = ( +/obj/machinery/power/solar{ + name = "Starboard Solar Array"; + id = "forestarboard" + }, +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable, +/turf/open/floor/plating/airless, +/area/station/solars/starboard/fore) "aan" = ( /turf/open/floor/iron/stairs/medium{ dir = 8 @@ -588,15 +597,6 @@ dir = 1 }, /area/station/escapepodbay) -"aci" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "acj" = ( /turf/open/floor/iron/stairs/medium{ dir = 1 @@ -619,6 +619,14 @@ /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/floor/grass, /area/station/asteroid) +"acn" = ( +/mob/living/basic/mouse, +/obj/effect/decal/cleanable/dirt, +/obj/structure/fluff/paper/stack{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) "aco" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -702,28 +710,28 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating, /area/station/asteroid) -"acz" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/modular_map_root/tramstation{ - name = "servicecargolower"; - key = "servicecargolower" - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/starboard/greater) "acA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/escapepodbay) +"acC" = ( +/mob/living/basic/bot/medbot/autopatrol{ + name = "T.R.A.M Unit"; + desc = "A Trauma Response Activation Medibot. It seems overwhelmed." + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/white/warning, +/turf/open/floor/iron, +/area/station/maintenance/tram/left) "acE" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -1000,6 +1008,14 @@ dir = 5 }, /area/station/escapepodbay) +"adn" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/camera/directional/south{ + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Main East" + }, +/turf/open/floor/iron, +/area/station/security/prison) "ado" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -1024,6 +1040,14 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/prison/garden) +"adr" = ( +/obj/structure/chair{ + name = "Judge"; + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted, +/turf/open/floor/iron, +/area/station/security/courtroom) "ads" = ( /obj/effect/spawner/random/trash/cigbutt, /turf/open/misc/asteroid, @@ -1122,6 +1146,22 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) +"adD" = ( +/mob/living/simple_animal/bot/secbot/beepsky/officer, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/machinery/camera/directional/south{ + c_tag = "Maintenance - East Tram Tunnel 4" + }, +/obj/effect/turf_decal/bot_red, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/white/warning{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/tram/right) "adE" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/structure/cable, @@ -1288,6 +1328,15 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) +"aek" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/cable, +/obj/machinery/power/solar{ + name = "Port Solar Array"; + id = "portsolar" + }, +/turf/open/floor/plating/airless, +/area/station/solars/port) "ael" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/cable/layer1, @@ -1470,11 +1519,38 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) +"aeT" = ( +/obj/effect/turf_decal/siding/wideplating{ + dir = 10 + }, +/obj/machinery/camera/motion/directional/north{ + network = list("ss13","secure"); + c_tag = "Secure - Nuclear Storage" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "aeV" = ( /obj/effect/turf_decal/sand/plating, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/plating/airless, /area/station/asteroid) +"aeW" = ( +/obj/docking_port/stationary{ + name = "fore bay 1"; + width = 9; + height = 5; + shuttle_id = "laborcamp_home"; + dwidth = 2; + roundstart_template = /datum/map_template/shuttle/labour/generic + }, +/turf/open/misc/asteroid/airless, +/area/station/asteroid) +"aeX" = ( +/mob/living/simple_animal/bot/secbot/beepsky/armsky, +/obj/effect/turf_decal/stripes/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/ai_monitored/security/armory) "aeY" = ( /obj/effect/turf_decal/trimline/white/warning{ dir = 9 @@ -1518,6 +1594,16 @@ }, /turf/open/floor/engine/hull, /area/station/asteroid) +"aff" = ( +/obj/docking_port/stationary{ + name = "Cargo Bay"; + width = 12; + height = 7; + shuttle_id = "cargo_home"; + dwidth = 5 + }, +/turf/open/misc/asteroid/airless, +/area/station/asteroid) "afg" = ( /obj/structure/flora/bush/grassy, /turf/open/floor/grass, @@ -1756,6 +1842,15 @@ /obj/structure/flora/bush/grassy, /turf/open/floor/grass, /area/station/asteroid) +"agp" = ( +/mob/living/basic/pet/dog/corgi/ian, +/obj/structure/bed/dogbed/ian, +/obj/machinery/computer/security/telescreen/entertainment/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "agq" = ( /obj/docking_port/stationary/mining_home/common{ dir = 4 @@ -2046,6 +2141,14 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"ahl" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez4" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "ahm" = ( /turf/open/openspace/airless/planetary, /area/station/asteroid) @@ -2137,23 +2240,19 @@ }, /turf/open/floor/carpet/royalblack, /area/station/command/meeting_room) -"ahH" = ( -/obj/machinery/camera/directional/east{ - pixel_y = -23; - c_tag = "Hallway - Port Tram Platform South" +"ahR" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 4 }, -/obj/machinery/light/directional/east, -/turf/open/floor/noslip/tram, -/area/station/hallway/primary/tram/left) -"ahQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Pharmacy Shutters"; - dir = 4; - id = "pharmacy_shutters_2" +/obj/machinery/button/door/directional/south{ + name = "Tram Maintenance Dock Access"; + pixel_x = 8; + id = "trammaintdock" }, -/turf/open/floor/plating, -/area/station/medical/pharmacy) +/turf/open/floor/iron, +/area/station/maintenance/port/central) "ahS" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -2201,18 +2300,6 @@ }, /turf/open/floor/wood/large, /area/station/service/library) -"aih" = ( -/obj/machinery/navbeacon{ - name = "navigation beacon (Security Delivery)"; - location = "Security"; - codes_txt = "delivery;dir=8" - }, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/department/security) "aiw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -2261,6 +2348,29 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) +"ajc" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_y = -9; + id = "private_i"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/wood, +/area/station/commons/dorms) +"aje" = ( +/obj/structure/chair/stool/directional/north, +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_x = 24; + pixel_y = -9; + id = "private_j"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/wood, +/area/station/commons/dorms) "ajf" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/turf_decal/trimline/neutral/filled/corner{ @@ -2323,6 +2433,29 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"ajy" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_y = -9; + id = "private_h"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/carpet, +/area/station/commons/dorms) +"ajz" = ( +/obj/structure/chair/stool/directional/north, +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_x = 24; + pixel_y = -9; + id = "private_k"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/carpet, +/area/station/commons/dorms) "ajA" = ( /obj/effect/landmark/event_spawn, /obj/effect/turf_decal/tile/neutral{ @@ -2330,24 +2463,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"ajD" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "outerbrigright" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_right" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron, -/area/station/security/brig) "ajF" = ( /turf/open/floor/iron, /area/station/engineering/gravity_generator) @@ -2398,6 +2513,23 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/construction/engineering) +"akv" = ( +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "N2 Outlet Pump"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) "akI" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -2444,6 +2576,37 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/engineering/atmos) +"ala" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_y = -9; + id = "private_g"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/structure/chair/stool/directional/north, +/turf/open/floor/wood, +/area/station/commons/dorms) +"alb" = ( +/obj/structure/chair/stool/directional/north, +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_x = 24; + pixel_y = -9; + id = "private_l"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/turf/open/floor/wood, +/area/station/commons/dorms) +"ald" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "HoP Arrival Procedure Enforcement Shutters"; + id = "papersplease" + }, +/turf/open/floor/plating, +/area/station/hallway/secondary/entry) "ale" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -2466,35 +2629,6 @@ "alg" = ( /turf/closed/wall, /area/station/commons/storage/tools) -"alp" = ( -/obj/machinery/computer/atmos_alert{ - dir = 8 - }, -/obj/machinery/button/door/directional/east{ - name = "Atmospherics Lockdown"; - id = "atmos"; - req_access = list("atmospherics") - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"alr" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/button/door/directional/west{ - name = "Pharmacy Privacy Shutters Toggle"; - id = "pharmacy_shutters_2"; - req_one_access = list("pharmacy") - }, -/obj/structure/table/glass, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/cup/beaker/large{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/reagent_containers/syringe, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "alu" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -2551,15 +2685,6 @@ /obj/machinery/duct, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"amc" = ( -/obj/machinery/elevator_control_panel{ - layer = 3.1; - pixel_y = 2; - linked_elevator_id = "tram_xeno_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") - }, -/turf/closed/wall, -/area/station/science/xenobiology) "amq" = ( /obj/effect/turf_decal/sand/plating, /obj/machinery/door/airlock/external, @@ -2598,20 +2723,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"amE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/directional/north{ - name = "FALLING HAZARD sign"; - desc = "A sign warning you to be cautious of falling packages." - }, -/obj/machinery/door/window/left/directional/west{ - name = "Hydroponics Delivery Chute" - }, -/obj/effect/turf_decal/caution/stand_clear{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/service/hydroponics) "amL" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -2647,6 +2758,20 @@ }, /turf/open/space/basic, /area/space/nearstation) +"amT" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 10 + }, +/obj/machinery/fax{ + name = "Engineering Lobby Fax Machine"; + fax_name = "Engineering Lobby" + }, +/turf/open/floor/iron, +/area/station/engineering/break_room) "amU" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -2780,6 +2905,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) +"aog" = ( +/obj/machinery/door/poddoor/preopen{ + name = "Atmospherics Blast Door"; + id = "atmos" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/station/engineering/atmos) "aoh" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -2821,10 +2954,23 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) +"aoN" = ( +/obj/machinery/elevator_control_panel{ + layer = 3.1; + pixel_y = 2; + linked_elevator_id = "tram_xeno_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/turf/closed/wall, +/area/station/science/xenobiology) "aoV" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) +"aoW" = ( +/mob/living/simple_animal/slime, +/turf/open/floor/engine, +/area/station/science/xenobiology) "apl" = ( /obj/effect/turf_decal/weather/snow, /obj/effect/turf_decal/weather/snow/corner{ @@ -2855,6 +3001,16 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"apJ" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Pure to Mix"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "apK" = ( /obj/effect/turf_decal/trimline/green/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ @@ -2885,6 +3041,23 @@ }, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) +"apP" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/structure/rack, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = -1 + }, +/obj/item/multitool, +/obj/machinery/camera/emp_proof{ + dir = 9; + c_tag = "Secure - Telecomms Control Room" + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/tcommsat/computer) "aqf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/warning{ @@ -2896,6 +3069,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/port/central) +"aqg" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/window/left/directional/west{ + name = "Chapel Delivery Chute" + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/machinery/navbeacon{ + name = "navigation beacon (Chapel Delivery)"; + location = "Chapel"; + codes_txt = "delivery;dir=8" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/crew_quarters/dorms) "aqh" = ( /obj/machinery/atmospherics/components/trinary/filter/flipped/critical{ dir = 8 @@ -2905,6 +3093,15 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"aql" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters I"; + id_tag = "private_i" + }, +/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/dorms) "aqm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/meter, @@ -2926,15 +3123,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"aqM" = ( -/obj/machinery/field/generator, -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Secure Storage" - }, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) "aqX" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/item/radio/intercom/directional/south, @@ -3132,6 +3320,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) +"atV" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Main North-West" + }, +/turf/open/floor/iron, +/area/station/security/prison) "atX" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/computer/turbine_computer{ @@ -3228,10 +3426,27 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/right) +"auG" = ( +/obj/structure/sign/poster/official/safety_report/directional/north, +/obj/machinery/camera{ + dir = 9; + network = list("ss13","Security"); + c_tag = "Security - Equipment Room" + }, +/turf/open/floor/iron/showroomfloor, +/area/station/security/lockers) "auH" = ( /obj/structure/sign/clock/directional/north, /turf/open/floor/carpet, /area/station/command/heads_quarters/hos) +"auP" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Privacy Shutters"; + id = "HOSOffice" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hos) "auR" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -3249,6 +3464,18 @@ }, /turf/open/floor/iron, /area/station/security/office) +"auZ" = ( +/obj/structure/noticeboard/directional/north, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/camera{ + dir = 9; + network = list("ss13","Security"); + c_tag = "Security - Main Office North" + }, +/turf/open/floor/iron, +/area/station/security/office) "avg" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -3299,6 +3526,15 @@ }, /turf/open/floor/iron, /area/station/security/office) +"avn" = ( +/obj/structure/table, +/obj/item/assembly/flash/handheld, +/obj/machinery/fax{ + name = "Security Office Fax Machine"; + fax_name = "Security Office" + }, +/turf/open/floor/iron, +/area/station/security/office) "avq" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -3391,6 +3627,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"awh" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/status_display/evac/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/commons/dorms) "awi" = ( /obj/effect/turf_decal/stripes{ dir = 4 @@ -3453,14 +3700,6 @@ "awE" = ( /turf/open/floor/engine/n2, /area/station/engineering/atmos) -"awN" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Research and Development Shutter"; - id = "rndlab1" - }, -/turf/open/floor/plating, -/area/station/science/lab) "awP" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -3514,25 +3753,6 @@ /obj/item/computer_disk/engineering, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"axj" = ( -/obj/structure/lattice, -/obj/machinery/camera/motion{ - dir = 6; - network = list("ss13","minisat"); - c_tag = "Secure - AI Lower External West" - }, -/turf/open/space/basic, -/area/space/nearstation) -"axn" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Test Chamber Blast Door"; - id = "Xenolab" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/science/xenobiology) "axp" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -3604,26 +3824,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/theater) -"axW" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/button/door/directional/west{ - name = "Secure Pen Lockdown"; - id = "cytologysecure2" - }, -/obj/machinery/requests_console/directional/north{ - name = "Cytology Requests Console"; - department = "Cytology" - }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "ayb" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -3787,17 +3987,6 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) -"aAu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/filingcabinet, -/obj/machinery/camera{ - dir = 9; - c_tag = "Civilian - Vacant Office" - }, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) "aAz" = ( /obj/machinery/vending/wardrobe/jani_wardrobe, /obj/structure/extinguisher_cabinet/directional/north, @@ -3824,22 +4013,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"aAP" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/east{ - name = "Containment Pen #7"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/west{ - name = "Containment Pen #7"; - req_access = list("xenobiology") - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez7" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "aBa" = ( /obj/structure/chair/stool/directional/west, /obj/structure/cable, @@ -3862,21 +4035,6 @@ "aBg" = ( /turf/open/floor/glass, /area/station/cargo/sorting) -"aBk" = ( -/obj/machinery/camera{ - dir = 6; - c_tag = "Hallway - Starboard Tram Platform South-East" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/stripes/white/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/right) "aBq" = ( /obj/structure/sign/nanotrasen{ pixel_x = -32 @@ -4028,6 +4186,13 @@ }, /turf/open/floor/plating, /area/station/cargo/sorting) +"aCy" = ( +/obj/machinery/camera{ + dir = 10; + c_tag = "Civilian - Radstorm Shelter" + }, +/turf/open/floor/iron/dark, +/area/station/maintenance/radshelter/civil) "aCC" = ( /obj/structure/chair/office/light, /obj/effect/turf_decal/tile/yellow{ @@ -4112,6 +4277,19 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) +"aDm" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engine","engineering"); + c_tag = "Engineering - Engine Room North-East" + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "aDn" = ( /obj/structure/railing{ dir = 8 @@ -4200,6 +4378,26 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"aEh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "mostleft_upper_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "mostleft_upper_eva_airlock_control"; + idDoor = "mostleft_upper_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/left) "aEj" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -4237,15 +4435,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) -"aEq" = ( -/obj/structure/table/wood, -/obj/item/pai_card{ - name = "\improper Nanotrasen-brand personal AI device exhibit"; - desc = "A real Nanotrasen success, these personal AIs provide all of the companionship of an AI without any law related red-tape." - }, -/obj/machinery/light/warm/directional/west, -/turf/open/floor/carpet, -/area/station/command/meeting_room) "aEu" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -4306,13 +4495,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/cult, /area/station/service/chapel/office) -"aEN" = ( -/mob/living/carbon/human/species/monkey, -/obj/structure/flora/bush/lavendergrass/style_random, -/obj/structure/flora/bush/leavy/style_random, -/obj/machinery/light/directional/east, -/turf/open/floor/grass, -/area/station/medical/virology) "aEP" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, @@ -4405,6 +4587,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) +"aGi" = ( +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = -24; + idSelf = "middleright_lower_upper_eva_airlock_control"; + idInterior = "middleright_lower_upper_eva_internal"; + idExterior = "middleright_lower_upper_eva_external" + }, +/obj/structure/ladder, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/smooth, +/area/station/maintenance/tram/mid) "aGk" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -4466,6 +4660,23 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"aGL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "mostleft_lower_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "mostleft_lower_eva_airlock_control"; + idDoor = "mostleft_lower_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/left) "aGY" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/effect/turf_decal/trimline/yellow/warning{ @@ -4479,6 +4690,67 @@ /obj/effect/turf_decal/tile/blue/opposingcorners, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) +"aHe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = -24; + idSelf = "mostleft_lower_eva_airlock_control"; + idInterior = "mostleft_lower_eva_internal"; + idExterior = "mostleft_lower_eva_external" + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/left) +"aHf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = -24; + idSelf = "middleleft_lower_eva_airlock_control"; + idInterior = "middleleft_lower_eva_internal"; + idExterior = "middleleft_lower_eva_external" + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) +"aHl" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = -24; + idSelf = "middleright_lower_eva_airlock_control"; + idInterior = "middleright_lower_eva_internal"; + idExterior = "middleright_lower_eva_external" + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) +"aHn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = -24; + idSelf = "rightmost_lower_eva_airlock_control"; + idInterior = "rightmost_lower_eva_internal"; + idExterior = "rightmost_lower_eva_external" + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/right) +"aHo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "rightmost_lower_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "rightmost_lower_eva_airlock_control"; + idDoor = "rightmost_lower_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/right) "aHp" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4618,6 +4890,22 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/medical) +"aIq" = ( +/obj/machinery/status_display/door_timer{ + name = "Medical Cell"; + pixel_y = 32; + id = "medcell" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/effect/landmark/start/depsec/medical, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay","Security"); + c_tag = "Medical - Security Checkpoint" + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/medical) "aIt" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -4705,31 +4993,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) -"aJl" = ( -/obj/structure/toilet{ - pixel_y = 8 - }, -/obj/machinery/button/door/directional/west{ - name = "Lock Control"; - id = "Toilet1"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) -"aJw" = ( -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/turretid{ - name = "AI Antechamber turret control"; - pixel_y = -25; - control_area = "/area/station/ai_monitored/turret_protected/aisat_interior" - }, -/turf/open/floor/iron/grimy, -/area/station/ai_monitored/turret_protected/aisat/foyer) "aJC" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -4743,13 +5006,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) -"aJI" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/white, -/area/station/science/lab) "aJN" = ( /obj/machinery/disposal/bin, /obj/structure/sign/painting/large/library_private{ @@ -4758,10 +5014,6 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/engine/cult, /area/station/service/library) -"aJT" = ( -/mob/living/simple_animal/slime, -/turf/open/floor/engine, -/area/station/science/xenobiology) "aKe" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4987,18 +5239,6 @@ /obj/machinery/duct, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"aLF" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Atmos to Loop"; - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "aLQ" = ( /obj/structure/railing{ dir = 8 @@ -5101,6 +5341,16 @@ /obj/effect/turf_decal/stripes/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"aML" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Monkey Pit" + }, +/obj/machinery/light/warm/directional/north, +/turf/open/misc/dirt/jungle{ + baseturfs = /turf/open/misc/dirt + }, +/area/station/science/explab) "aMM" = ( /obj/effect/turf_decal/delivery, /obj/machinery/portable_atmospherics/scrubber, @@ -5154,33 +5404,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"aNg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Engine Room North-West" - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"aNh" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - Material Storage" - }, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "aNp" = ( /obj/structure/chair/office/light, /obj/effect/turf_decal/tile/green, @@ -5294,6 +5517,27 @@ dir = 9 }, /area/station/service/chapel) +"aOF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "CMO Office Shutters"; + dir = 4; + id = "cmoshutter" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/command/heads_quarters/cmo) +"aOG" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 8 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/camera/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medical - Virology" + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "aOH" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/glass/reinforced, @@ -5318,6 +5562,14 @@ /obj/effect/turf_decal/stripes/white/full, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"aOQ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Main South" + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "aOS" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/machinery/firealarm/directional/south, @@ -5366,6 +5618,15 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"aPm" = ( +/obj/structure/table/glass, +/obj/machinery/fax{ + name = "Chief Medical Officer's Fax Machine"; + fax_name = "Chief Medical Officer's Office" + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "aPo" = ( /obj/machinery/door/airlock/research{ name = "Chemical Storage" @@ -5435,19 +5696,6 @@ dir = 1 }, /area/station/hallway/secondary/service) -"aPQ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/structure/table, -/obj/item/stack/sheet/cardboard, -/obj/item/food/donkpocket/pizza, -/obj/machinery/camera/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medical - Virology Break Room" - }, -/turf/open/floor/iron/dark, -/area/station/medical/virology) "aPS" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -5514,23 +5762,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/break_room) -"aQG" = ( -/obj/effect/turf_decal/sand, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleleft_lower_lower_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleleft_lower_lower_eva_airlock_control"; - idDoor = "middleleft_lower_lower_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/mid) "aQH" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/structure/closet/l3closet/virology, @@ -5594,15 +5825,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit) -"aRt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Test Chamber Blast Door"; - id = "Xenolab" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) "aRx" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5655,21 +5877,6 @@ }, /turf/open/floor/iron/textured_large, /area/station/security/execution/education) -"aRQ" = ( -/mob/living/basic/mouse/gray{ - name = "Plaguebearer"; - dir = 4 - }, -/obj/item/reagent_containers/cup/bucket{ - pixel_x = 4; - pixel_y = -6 - }, -/obj/item/mop, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/plating, -/area/station/medical/virology) "aSe" = ( /obj/structure/closet/wardrobe/black, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -5738,26 +5945,23 @@ "aST" = ( /turf/closed/wall/r_wall, /area/station/solars/port) -"aTb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleleft_upper_eva_external"; - autoclose = 0 +"aTa" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleleft_upper_eva_airlock_control"; - idDoor = "middleleft_upper_eva_external" +/obj/effect/turf_decal/siding/thinplating/dark/corner{ + dir = 1 + }, +/obj/structure/sign/warning/secure_area{ + name = "BOMB RANGE"; + desc = "A warning sign which reads 'BOMB RANGE"; + pixel_y = 32 }, -/obj/effect/mapping_helpers/airlock/locked, /obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) +/turf/open/floor/iron/white, +/area/station/science/lower) "aTt" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -5773,6 +5977,15 @@ }, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"aTY" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/power/solar{ + name = "Starboard Solar Array"; + id = "forestarboard" + }, +/obj/structure/cable, +/turf/open/space/openspace, +/area/station/solars/starboard/fore) "aUa" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law{ @@ -5812,18 +6025,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"aUo" = ( -/mob/living/basic/pet/cat/jerry, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/bed/dogbed{ - name = "cat bed"; - desc = "A comfy-looking cat bed. You can even strap your pet in, in case the gravity turns off." - }, -/turf/open/floor/iron, -/area/station/maintenance/tram/mid) "aUw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/status_display/ai/directional/north, @@ -5880,18 +6081,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/mid) -"aVH" = ( -/obj/effect/turf_decal/box/white{ - color = "#9FED58" - }, -/obj/effect/turf_decal/arrows/white{ - dir = 4; - pixel_x = -15; - color = "#FF0000" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "aVT" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -6043,25 +6232,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"baa" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay"; - id_tag = "MedbayFoyer" - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "baK" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -6206,15 +6376,6 @@ /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, /turf/closed/wall/r_wall, /area/station/maintenance/starboard/lesser) -"beP" = ( -/obj/machinery/firealarm/directional/west, -/obj/machinery/power/solar_control{ - name = "AI Core Solar Control"; - id = "aicore" - }, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "beT" = ( /obj/effect/turf_decal/stripes/white/full, /obj/machinery/door/firedoor, @@ -6347,25 +6508,14 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"bhT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleright_lower_upper_eva_internal"; - autoclose = 0 +"bhG" = ( +/obj/machinery/door/airlock/centcom{ + name = "Syndicate Secure Airlock System"; + desc = "Truly, a marvel of modern engineering." }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = 24; - idSelf = "middleright_lower_upper_eva_airlock_control"; - idDoor = "middleright_lower_upper_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/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/tram/mid) +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/iron/grimy, +/area/station/commons/vacant_room) "bhY" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -6404,18 +6554,6 @@ /obj/vehicle/sealed/mecha/ripley/paddy/preset, /turf/open/floor/iron/recharge_floor, /area/station/security/mechbay) -"biD" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_e"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) "biS" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -6445,18 +6583,15 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) -"bjH" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ - dir = 5 +"bje" = ( +/obj/effect/spawner/random/structure{ + name = "random snowman spawner"; + loot = list(/obj/structure/statue/snow/snowman); + spawn_loot_chance = 10 }, -/obj/machinery/button/door{ - name = "Cell Containment Toggle Button"; - id = "containdeez7" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/obj/machinery/light_switch/directional/south, +/turf/open/misc/asteroid/snow/coldroom, +/area/station/service/kitchen/coldroom) "bjK" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -6497,19 +6632,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"bkU" = ( -/obj/structure/table, -/obj/item/radio/intercom/prison/directional/east, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison","pcell"); - c_tag = "Security - Prison Cell 6" - }, -/turf/open/floor/iron, -/area/station/security/prison/safe) "blg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/tram/filled/line{ @@ -6523,6 +6645,27 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"blo" = ( +/obj/structure/filingcabinet/security, +/obj/machinery/button/door/directional/east{ + name = "Outer Brig Door Toggle"; + pixel_y = -8; + id = "outerbrigright"; + req_access = list("security"); + normaldoorcontrol = 1 + }, +/obj/machinery/button/door/directional/east{ + name = "Inner Brig Door Toggle"; + pixel_y = 8; + id = "innerbrigright"; + req_access = list("security"); + normaldoorcontrol = 1 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig) "blu" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 @@ -6548,28 +6691,18 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/right) -"blV" = ( -/obj/machinery/door/poddoor/preopen{ - name = "Engineering Security Door"; - id = "Engineering" +"blN" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_y = 9; + id = "private_r"; + specialfunctions = 4; + normaldoorcontrol = 1 }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/engineering/main) -"bmg" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - name = "Exfiltrate Port"; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction/engineering) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "bmp" = ( /obj/effect/turf_decal/trimline/green/corner{ dir = 1 @@ -6621,15 +6754,6 @@ /obj/machinery/photocopier, /turf/open/floor/wood, /area/station/service/lawoffice) -"bnX" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters J"; - id_tag = "private_j" - }, -/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/dorms) "bnY" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -6661,44 +6785,29 @@ /obj/structure/railing/corner, /turf/open/space/openspace, /area/station/solars/port) +"bop" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_x = 24; + pixel_y = 9; + id = "private_c"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "bor" = ( /turf/open/floor/iron/stairs/left{ dir = 1 }, /area/station/hallway/secondary/service) -"boz" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleright_lower_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleright_lower_eva_airlock_control"; - idDoor = "middleright_lower_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plating, -/area/station/hallway/primary/tram/center) "boS" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 10 }, /turf/open/floor/iron, /area/station/cargo/storage) -"boT" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Pharmacy Shutters"; - dir = 4; - id = "pharmacy_shutters_2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/medical/pharmacy) "boU" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/north, @@ -6771,6 +6880,30 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"bqg" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Pharmacy Shutters"; + id = "pharmacy_shutters_2" + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) +"bql" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/south{ + name = "Containment Pen #4"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/north{ + name = "Containment Pen #4"; + req_access = list("xenobiology") + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez4" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "bqu" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -6782,6 +6915,17 @@ /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"bqY" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/decal/cleanable/blood/old, +/obj/effect/turf_decal/box, +/obj/structure/sign/warning/directional/west{ + name = "FALLING HAZARD sign"; + desc = "A sign warning you to be cautious of falling packages." + }, +/obj/item/stack/sheet/cardboard, +/turf/open/floor/plating, +/area/station/engineering/main) "bra" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -6814,15 +6958,6 @@ /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/wood/parquet, /area/station/medical/psychology) -"bse" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Bridge Blast Door"; - id = "bunkermodeactivated" - }, -/turf/open/floor/plating, -/area/station/command/bridge) "bsh" = ( /obj/structure/table/glass, /obj/structure/microscope, @@ -6872,21 +7007,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"btf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "rightmost_lower_upper_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "rightmost_lower_upper_eva_airlock_control"; + idDoor = "rightmost_lower_upper_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/right) "btg" = ( /obj/effect/mapping_helpers/airalarm/tlv_cold_room, /obj/machinery/airalarm/directional/south, /turf/open/misc/asteroid/snow/coldroom, /area/station/service/kitchen/coldroom) -"btk" = ( -/obj/docking_port/stationary{ - name = "Cargo Bay"; - width = 12; - height = 7; - shuttle_id = "cargo_home"; - dwidth = 5 - }, -/turf/open/misc/asteroid/airless, -/area/station/asteroid) "btC" = ( /obj/structure/closet/wardrobe/green, /obj/effect/landmark/start/hangover/closet, @@ -6972,16 +7114,6 @@ /obj/machinery/smartfridge/chemistry/virology/preloaded, /turf/open/floor/iron/white, /area/station/medical/virology) -"buZ" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Main North" - }, -/turf/open/floor/iron, -/area/station/security/prison) "bvk" = ( /obj/effect/landmark/blobstart, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -7034,19 +7166,15 @@ /obj/machinery/computer/mech_bay_power_console, /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) -"bwa" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Prison Dorm 3"; - id_tag = "prisondorm" +"bwp" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/power/solar{ + name = "Starboard Solar Array"; + id = "forestarboard" }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/prison/safe) +/obj/structure/cable, +/turf/open/space/basic, +/area/station/solars/starboard/fore) "bwu" = ( /obj/machinery/computer/mech_bay_power_console{ dir = 4 @@ -7101,6 +7229,17 @@ /obj/structure/flora/bush/fullgrass/style_random, /turf/open/misc/grass/jungle, /area/station/science/explab) +"bxd" = ( +/obj/structure/table, +/obj/item/radio/intercom/directional/east{ + name = "Common Channel"; + pixel_x = 0; + listening = 0; + freerange = 1 + }, +/obj/structure/sign/calendar/directional/south, +/turf/open/floor/iron/dark/small, +/area/station/commons/vacant_room) "bxC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 @@ -7160,6 +7299,18 @@ }, /turf/open/floor/iron/grimy, /area/station/ai_monitored/command/nuke_storage) +"byw" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/structure/table/glass, +/obj/machinery/fax{ + name = "Research Division Fax Machine"; + pixel_x = 1; + fax_name = "Research Division" + }, +/turf/open/floor/iron/white, +/area/station/science/lower) "byx" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7174,6 +7325,17 @@ }, /turf/open/openspace, /area/station/asteroid) +"byF" = ( +/obj/machinery/ai_slipper{ + uses = 10 + }, +/obj/machinery/airalarm/directional/south, +/obj/machinery/camera/directional/south{ + network = list("ss13","minisat"); + c_tag = "Secure - AI Antechamber North" + }, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat_interior) "byH" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -7353,19 +7515,6 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/captain/private) -"bCy" = ( -/obj/structure/closet/l3closet/janitor, -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 10 - }, -/obj/item/restraints/legcuffs/beartrap, -/obj/item/restraints/legcuffs/beartrap, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 10 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron, -/area/station/service/janitor) "bDf" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow, @@ -7438,6 +7587,16 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) +"bET" = ( +/obj/structure/transport/linear/public, +/obj/structure/railing, +/obj/effect/turf_decal/trimline/dark_red/warning, +/obj/machinery/elevator_control_panel/directional/south{ + linked_elevator_id = "tram_dorm_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/maintenance/tram/left) "bFc" = ( /obj/structure/extinguisher_cabinet/directional/north, /obj/machinery/vending/wardrobe/law_wardrobe, @@ -7454,31 +7613,24 @@ }, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat_interior) +"bFo" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/camera/directional/south{ + network = list("ss13","Security"); + c_tag = "Security - Main Office South" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/security/office) "bFq" = ( /turf/closed/wall, /area/station/medical/psychology) "bFw" = ( /turf/open/openspace/airless, /area/station/asteroid) -"bFx" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleleft_lower_lower_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = -24; - idSelf = "middleleft_lower_lower_eva_airlock_control"; - idDoor = "middleleft_lower_lower_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/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/tram/mid) "bFM" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -7496,20 +7648,31 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) -"bFS" = ( -/obj/structure/chair{ - name = "Prosecution"; +"bFT" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Theatre Maintenance Hatch" + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ dir = 4 }, -/turf/open/floor/wood/large, -/area/station/service/barber) -"bGa" = ( -/obj/machinery/door/airlock{ - name = "Unit 3"; - id_tag = "Toilet3" +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/modular_map_root/tramstation{ + name = "barcargoupper"; + key = "barcargoupper" }, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/cargo) +"bGh" = ( +/obj/machinery/camera/motion{ + dir = 6; + network = list("aicore"); + c_tag = "Secure - AI Upper External West" + }, +/turf/open/space/openspace, +/area/space/nearstation) "bGu" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7549,6 +7712,19 @@ "bGJ" = ( /turf/open/floor/wood, /area/station/service/theater) +"bGV" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/structure/table, +/obj/item/stack/sheet/cardboard, +/obj/item/food/donkpocket/pizza, +/obj/machinery/camera/directional/east{ + network = list("ss13","medbay"); + c_tag = "Medical - Virology Break Room" + }, +/turf/open/floor/iron/dark, +/area/station/medical/virology) "bHb" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -7681,24 +7857,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"bIY" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen{ - name = "AI Upload Monitor"; - desc = "Used for watching the ai_upload."; - dir = 4; - pixel_x = -28; - network = list("aiupload") - }, -/obj/item/kirbyplants/photosynthetic, -/obj/machinery/camera/directional/west{ - network = list("ss13","rd"); - c_tag = "Science - AI Access Hallway" - }, -/turf/open/floor/iron/dark, -/area/station/science/lower) "bJb" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -7769,6 +7927,14 @@ }, /turf/open/floor/wood, /area/station/service/library) +"bKF" = ( +/obj/structure/table/wood, +/obj/machinery/chem_master/condimaster{ + name = "HoochMaster Deluxe"; + desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments." + }, +/turf/open/floor/iron/dark, +/area/station/service/bar) "bKK" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -7796,6 +7962,22 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"bKY" = ( +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","cargo"); + c_tag = "Cargo - Lobby" + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/cargo/lobby) "bLd" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -7852,6 +8034,20 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) +"bLr" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/structure/plaque/static_plaque/golden{ + pixel_x = 32 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/security/office) "bLA" = ( /obj/structure/table/wood, /obj/item/folder{ @@ -7875,16 +8071,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/sorting) -"bLC" = ( -/obj/structure/table, -/obj/machinery/microwave, -/obj/item/radio/intercom/prison/directional/south, -/obj/machinery/camera/directional/south{ - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Cafeteria" - }, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison/mess) "bLN" = ( /obj/machinery/door/airlock/security{ name = "Interrogation" @@ -7913,6 +8099,34 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"bLS" = ( +/obj/machinery/requests_console/directional/south{ + name = "Janitorial Requests Console"; + department = "Janitorial" + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 6 + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/service/janitor) +"bLT" = ( +/mob/living/basic/pet/dog/pug/mcgriff, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner{ + dir = 4 + }, +/obj/structure/bed/dogbed/mcgriff, +/turf/open/floor/glass/reinforced, +/area/station/security/warden) "bMb" = ( /turf/closed/wall, /area/station/hallway/primary/tram/right) @@ -7951,6 +8165,25 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron/dark, /area/station/hallway/secondary/service) +"bNa" = ( +/obj/machinery/door/airlock/research{ + name = "Research Division Access" + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Research Lockdown Blastdoor"; + id = "Sciencelockdown" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/iron/white, +/area/station/science/research) "bNi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -7964,6 +8197,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/ordnance/storage) +"bNr" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/machinery/door/airlock/command/glass{ + name = "AI Core" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "AI Core Shutters"; + id = "AI Core shutters" + }, +/obj/machinery/flasher/directional/west{ + id = "AI" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "bNx" = ( /obj/structure/railing, /obj/machinery/door/firedoor/border_only, @@ -8076,34 +8328,6 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"bOC" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/south{ - name = "Research Lab Desk"; - req_access = list("science") - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Research and Development Shutter"; - id = "rndlab1" - }, -/obj/item/folder{ - pixel_x = 5 - }, -/obj/structure/desk_bell{ - pixel_x = -7 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/science/lab) "bOV" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/engine, @@ -8190,44 +8414,24 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/engineering/atmos) -"bQS" = ( -/mob/living/basic/bot/medbot/autopatrol{ - name = "T.R.A.M Unit"; - desc = "A Trauma Response Activation Medibot. It seems overwhelmed." - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/white/warning, -/turf/open/floor/iron, -/area/station/maintenance/tram/left) "bRE" = ( /obj/structure/lattice/catwalk, /turf/open/floor/plating/airless, /area/station/solars/port) -"bRF" = ( -/obj/structure/table, -/obj/item/radio/intercom/prison/directional/west, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","prison","pcell"); - c_tag = "Security - Prison Cell 3" - }, -/turf/open/floor/iron, -/area/station/security/prison/safe) "bSd" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/large, /area/station/service/library) +"bSr" = ( +/obj/structure/chair{ + name = "Judge"; + dir = 4 + }, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/courtroom) "bSS" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -8276,6 +8480,28 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"bUh" = ( +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/poddoor/preopen{ + name = "Privacy Shutter"; + id = "ceprivacy" + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/door/airlock/command{ + name = "Chief Engineer" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "bUj" = ( /obj/structure/table, /obj/item/flashlight{ @@ -8318,16 +8544,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/explab) -"bUN" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Main North-West" - }, -/turf/open/floor/iron, -/area/station/security/prison) "bUT" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -8406,14 +8622,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/security/brig) -"bVV" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics N2O Chamber" - }, -/turf/open/floor/engine/n2o, -/area/station/engineering/atmos) "bVW" = ( /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) @@ -8448,6 +8656,20 @@ }, /turf/open/space/basic, /area/space/nearstation) +"bWD" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Dorm 5"; + id_tag = "prisondorm" + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/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, +/turf/open/floor/iron, +/area/station/security/prison/safe) "bWH" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -8490,20 +8712,6 @@ /obj/structure/table, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"bXj" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen{ - name = "Cargo Camera Monitor"; - dir = 4; - network = list("ss13","cargo") - }, -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "bXo" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -8513,12 +8721,78 @@ }, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"bXp" = ( +/obj/item/toy/crayon/orange, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 8; + pixel_y = -32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 4; + pixel_y = -32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = -4; + pixel_y = -32 + }, +/obj/effect/decal/cleanable/crayon/x{ + pixel_x = 4; + pixel_y = -32 + }, +/turf/open/floor/plating, +/area/station/engineering/main) "bXr" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"bXs" = ( +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = -24; + idSelf = "middleright_lower_lower_eva_airlock_control"; + idInterior = "middleright_lower_lower_eva_internal"; + idExterior = "middleright_lower_lower_eva_external" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/mid) +"bXv" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/keycard_auth/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/button/door/directional/east{ + name = "Privacy Shutters Toggle"; + pixel_y = -11; + id = "greedygrinnersden" + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) +"bXG" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "rightmost_lower_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "rightmost_lower_eva_airlock_control"; + idDoor = "rightmost_lower_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating, +/area/station/hallway/primary/tram/right) "bXI" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/white/full, @@ -8539,6 +8813,17 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/eighties, /area/station/commons/fitness/recreation/entertainment) +"bYe" = ( +/obj/machinery/button/door/directional/west{ + name = "Lock Control"; + id = "Toilet6"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/recharge_station, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "bYA" = ( /obj/structure/table, /obj/item/storage/fancy/donut_box, @@ -8601,6 +8886,16 @@ /obj/structure/sign/warning/test_chamber/directional/north, /turf/open/floor/iron/white, /area/station/science/lower) +"bZh" = ( +/obj/machinery/requests_console/directional/south{ + name = "Law Office Requests Console"; + department = "Law Office" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "bZi" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -8692,6 +8987,17 @@ }, /turf/open/floor/engine/cult, /area/station/service/library) +"cay" = ( +/mob/living/basic/goat/pete, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 10 + }, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/kitchen_coldroom, +/area/station/service/kitchen/coldroom) "caN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -8726,50 +9032,18 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"cbh" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Gas to Filter"; - dir = 1 - }, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Engine Room Airlock" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "cbj" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"cbp" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 +"cbn" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters R"; + id_tag = "private_r" }, -/obj/machinery/keycard_auth/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/button/door/directional/east{ - name = "Privacy Shutters Toggle"; - pixel_y = -11; - id = "greedygrinnersden" - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) -"cbx" = ( -/obj/docking_port/stationary{ - name = "Aux Base Zone"; - dir = 2; - width = 9; - height = 9; - shuttle_id = "aux_base_zone"; - dwidth = 4; - dheight = 4; - roundstart_template = /datum/map_template/shuttle/aux_base/default - }, -/turf/open/floor/plating, -/area/station/construction/mining/aux_base) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "cbA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -8812,10 +9086,41 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"ccF" = ( +/obj/structure/table, +/obj/item/storage/medkit/regular{ + pixel_x = 6; + pixel_y = -5 + }, +/obj/machinery/status_display/supply{ + pixel_y = 32 + }, +/obj/machinery/camera{ + dir = 9; + network = list("ss13","cargo"); + c_tag = "Cargo - Main Office" + }, +/obj/item/multitool, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/cargo/office) "ccH" = ( /obj/machinery/shower/directional/west, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) +"ccO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Robotics Lab Shutters"; + id = "robotics2" + }, +/turf/open/floor/plating, +/area/station/science/robotics/lab) "ccT" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -8832,14 +9137,6 @@ /obj/machinery/vending/engivend, /turf/open/floor/iron, /area/station/engineering/main) -"ccZ" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Ordnance Storage" - }, -/turf/open/floor/iron, -/area/station/science/ordnance/storage) "cda" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -8897,37 +9194,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"cdH" = ( -/obj/machinery/camera/motion/directional/south{ - network = list("aicore"); - c_tag = "Secure - AI Upper External North" - }, -/obj/structure/cable, -/turf/open/floor/engine/hull/reinforced, -/area/station/ai_monitored/turret_protected/aisat/hallway) "cdN" = ( /obj/machinery/button/ignition/incinerator/atmos, /turf/closed/wall/r_wall, /area/station/maintenance/disposal/incinerator) -"cdU" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/door/window/left/directional/east{ - name = "Containment Pen #1"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/west{ - name = "Containment Pen #1"; - req_access = list("xenobiology") - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez1" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "cdV" = ( /obj/machinery/door/firedoor/border_only, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -8965,18 +9235,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"ceq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/table, -/obj/machinery/button/door{ - name = "Cell Containment Toggle Button"; - id = "containdeez6" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "cev" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 4 @@ -8984,6 +9242,17 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) +"cew" = ( +/obj/machinery/door/poddoor{ + name = "Supply Dock Loading Door"; + id = "QMLoaddoor" + }, +/obj/machinery/conveyor{ + dir = 1; + id = "QMLoad" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "cex" = ( /obj/effect/turf_decal/trimline/white/corner{ dir = 4 @@ -9029,6 +9298,30 @@ "ceQ" = ( /turf/open/floor/engine/hull, /area/station/solars/starboard/fore) +"ceW" = ( +/obj/structure/rack, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/structure/rack, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/wallframe/camera, +/obj/item/assault_pod/mining, +/obj/machinery/button/door/directional/south{ + name = "Public Shutters Control"; + id = "aux_base_shutters"; + req_access = list("aux_base") + }, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "ceY" = ( /obj/effect/turf_decal/trimline/white/corner, /obj/effect/turf_decal/trimline/yellow/line{ @@ -9062,16 +9355,6 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron, /area/station/cargo/sorting) -"cfM" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/camera{ - dir = 9; - c_tag = "Civilian - aux_base Construction" - }, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) "cga" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -9117,25 +9400,27 @@ dir = 4 }, /area/station/ai_monitored/command/storage/eva) -"cgo" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Prison Dorm 2"; - id_tag = "prisondorm" - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/prison/safe) "cgw" = ( /obj/machinery/computer/operating{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"cgD" = ( +/obj/structure/closet/crate, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Workshop" + }, +/obj/item/stack/license_plates/empty/fifty, +/obj/item/stack/license_plates/empty/fifty, +/obj/machinery/light/directional/east, +/turf/open/floor/plating, +/area/station/security/prison/work) "cgR" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -9227,17 +9512,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/security/processing) -"ciX" = ( -/obj/structure/table/reinforced, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/fax{ - name = "Chief Engineer's Fax Machine"; - fax_name = "Chief Engineer's Office" - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "cjy" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) @@ -9259,6 +9533,17 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/service/library) +"cjS" = ( +/obj/structure/lattice/catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + name = "Tunnel Access Shutters Toggle"; + id = "lefttunnel" + }, +/turf/open/floor/plating, +/area/station/maintenance/tram/left) "cjT" = ( /turf/open/floor/iron/white, /area/station/medical/chemistry) @@ -9286,6 +9571,28 @@ }, /turf/open/floor/plating, /area/station/solars/starboard/fore) +"ckr" = ( +/obj/structure/table, +/obj/item/assembly/timer{ + pixel_x = -4; + pixel_y = 2 + }, +/obj/item/assembly/timer{ + pixel_x = 6; + pixel_y = -4 + }, +/obj/item/assembly/timer{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/assembly/timer, +/obj/machinery/camera/directional/west{ + network = list("ss13","rd"); + c_tag = "Science - Ordnance Launch Bay" + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "ckt" = ( /obj/structure/table/wood, /obj/item/radio/intercom/directional/west, @@ -9328,19 +9635,6 @@ }, /turf/open/floor/iron/white, /area/station/science/lab) -"clw" = ( -/obj/machinery/firealarm/directional/west, -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Psychologist's Office" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/light_switch/directional/west{ - pixel_x = -22; - pixel_y = -10 - }, -/turf/open/floor/wood/parquet, -/area/station/medical/psychology) "clO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9390,16 +9684,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"cng" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "cnt" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/corner{ @@ -9412,13 +9696,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"cnF" = ( -/obj/machinery/power/smes{ - charge = 5e+06 - }, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "cnV" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -9426,6 +9703,16 @@ /obj/machinery/vending/modularpc, /turf/open/floor/iron/white, /area/station/science/lobby) +"coI" = ( +/obj/machinery/door/airlock{ + name = "Room 1"; + id_tag = "miningdorm1" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/mining, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet, +/area/station/cargo/miningdock) "coM" = ( /obj/structure/railing/corner{ dir = 1 @@ -9512,6 +9799,14 @@ }, /turf/open/floor/iron, /area/station/cargo/miningfoundry) +"cqn" = ( +/obj/structure/table, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Virology Patient Room A" + }, +/turf/open/floor/iron, +/area/station/medical/virology) "cqE" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /obj/machinery/door/airlock/research{ @@ -9545,6 +9840,29 @@ outbound = 2 }, /area/station/hallway/primary/tram/center) +"crj" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/door/airlock/research{ + name = "Research and Development Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Research and Development Shutter"; + id = "rndlab1" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/science/lab) "crz" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -9652,6 +9970,23 @@ }, /turf/open/floor/glass/reinforced, /area/station/security/brig) +"csg" = ( +/obj/structure/table/glass, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = 10 + }, +/obj/item/stack/sheet/mineral/plasma{ + pixel_y = 4 + }, +/obj/item/clothing/glasses/science, +/obj/machinery/requests_console/directional/west{ + name = "Pharmacy Requests Console"; + department = "Pharmacy" + }, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "csh" = ( /obj/structure/cable, /obj/machinery/firealarm/directional/west{ @@ -9667,41 +10002,9 @@ /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) -"csn" = ( -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/poddoor/preopen{ - name = "Privacy Shutter"; - id = "ceprivacy" - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/door/airlock/command{ - name = "Chief Engineer" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "csA" = ( /turf/closed/wall, /area/station/solars/starboard/fore) -"csF" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - name = "Radiation Chamber Shutters"; - id = "engsm" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter) "csH" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -9758,23 +10061,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/miningdock) -"cut" = ( -/obj/machinery/requests_console/directional/east{ - name = "Captain's Requests Console"; - department = "Captain's Desk" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) -"cuv" = ( -/obj/machinery/camera/motion{ - dir = 6; - network = list("aicore"); - c_tag = "Secure - AI Upper External West" - }, -/turf/open/space/openspace, -/area/space/nearstation) "cuM" = ( /obj/structure/table, /obj/item/radio/intercom/prison/directional/north, @@ -9851,14 +10137,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"cvH" = ( -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - Chief Engineer's Office" - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "cwg" = ( /obj/structure/stairs/north, /turf/open/floor/iron/stairs/medium, @@ -9874,6 +10152,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"cwr" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medical - Main West" + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "cwy" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -10071,7 +10361,44 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"czf" = ( +"cyY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez4" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) +"czg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) +"czp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/white/line, +/obj/effect/landmark/event_spawn, +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) +"czB" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 10 + }, +/obj/structure/chair{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/exit/departure_lounge) +"czP" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -10099,45 +10426,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"czg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/commons/vacant_room/office) -"czo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez2" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) -"czp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/white/line, -/obj/effect/landmark/event_spawn, -/turf/open/floor/plating, -/area/station/maintenance/tram/mid) -"czB" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 10 - }, -/obj/structure/chair{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/exit/departure_lounge) "czX" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 @@ -10166,16 +10454,6 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/airless, /area/space/nearstation) -"cAj" = ( -/mob/living/simple_animal/bot/mulebot, -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - location = "QM #3"; - codes_txt = "delivery;dir=2" - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "cAp" = ( /obj/machinery/camera/directional/west{ c_tag = "Civilian - Chapel West" @@ -10203,6 +10481,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"cAJ" = ( +/obj/structure/table, +/obj/item/razor, +/obj/item/reagent_containers/cup/rag{ + pixel_x = 8; + pixel_y = 15 + }, +/obj/item/reagent_containers/cup/bottle{ + name = "Barber's Aid bottle"; + desc = "A small bottle of Barber's Aid."; + pixel_x = 10; + pixel_y = 3; + list_reagents = list(/datum/reagent/barbers_aid=30) + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/turf/open/floor/wood/large, +/area/station/service/barber) "cAK" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, @@ -10265,25 +10560,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison) -"cCL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "rightmost_lower_upper_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = -24; - idSelf = "rightmost_lower_upper_eva_airlock_control"; - idDoor = "rightmost_lower_upper_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/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/tram/right) "cDd" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, @@ -10531,16 +10807,15 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"cGC" = ( -/obj/machinery/camera{ - dir = 10; - c_tag = "Secure - Gravity Generator" +"cGN" = ( +/obj/structure/table/wood, +/obj/item/pai_card{ + name = "\improper Nanotrasen-brand personal AI device exhibit"; + desc = "A real Nanotrasen success, these personal AIs provide all of the companionship of an AI without any law related red-tape." }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/gravity_generator) +/obj/machinery/light/warm/directional/west, +/turf/open/floor/carpet, +/area/station/command/meeting_room) "cGU" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/sign/departments/medbay/alt{ @@ -10681,19 +10956,6 @@ }, /turf/open/floor/iron/checker, /area/station/commons/lounge) -"cIR" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/atmospherics/components/trinary/filter{ - dir = 1 - }, -/obj/machinery/requests_console/directional/west{ - name = "Atmospherics Requests Console"; - department = "Atmospherics" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "cIX" = ( /turf/open/floor/plating, /area/station/engineering/engine_smes) @@ -10718,10 +10980,37 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction/engineering) +"cJP" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/north{ + name = "Containment Pen #7"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/south{ + name = "Containment Pen #7"; + req_access = list("xenobiology") + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez7" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "cJR" = ( /obj/machinery/rnd/server, /turf/open/floor/circuit/telecomms/server, /area/station/science/server) +"cJS" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Test Chamber Blast Door"; + id = "testlab" + }, +/turf/open/floor/plating, +/area/station/science/explab) "cJX" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /turf/open/floor/iron, @@ -10771,6 +11060,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"cMa" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Main North-East" + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "cMb" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -10855,22 +11152,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/storage) -"cNz" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/north{ - name = "Containment Pen #1"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/south{ - name = "Containment Pen #1"; - req_access = list("xenobiology") - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez1" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "cNS" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -10878,6 +11159,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/dorms) +"cNU" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + name = "Radiation Chamber Shutters"; + id = "engsm" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "cNX" = ( /obj/structure/window/spawner/directional/north, /obj/effect/turf_decal/trimline/dark_green/filled/line{ @@ -10892,6 +11183,21 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) +"cOe" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 8 + }, +/obj/machinery/power/shuttle_engine/propulsion{ + name = "inactive propulsion engine"; + desc = "A standard reliable bluespace engine used by many forms of shuttles. This one has the bluespace core removed." + }, +/obj/effect/decal/cleanable/oil, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/maintenance/port/central) "cOl" = ( /obj/machinery/computer/prisoner/management{ dir = 8 @@ -10951,6 +11257,18 @@ dir = 8 }, /area/station/service/kitchen) +"cPg" = ( +/obj/machinery/power/smes/engineering, +/obj/structure/sign/warning/electric_shock/directional/west, +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engineering"); + c_tag = "Engineering - SMES" + }, +/obj/structure/cable, +/obj/machinery/light/directional/west, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) "cPl" = ( /obj/structure/railing/corner{ dir = 4 @@ -11008,6 +11326,14 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"cPI" = ( +/obj/machinery/camera/directional/east{ + pixel_y = -23; + c_tag = "Hallway - Port Tram Platform South" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/left) "cPK" = ( /obj/structure/bed{ dir = 4 @@ -11042,40 +11368,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/science/lower) -"cQh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleright_upper_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleright_upper_eva_airlock_control"; - idDoor = "middleright_upper_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) -"cQm" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 4 - }, -/obj/machinery/button/door/directional/south{ - name = "Tram Maintenance Dock Access"; - pixel_x = 8; - id = "trammaintdock" - }, -/turf/open/floor/iron, -/area/station/maintenance/port/central) "cQs" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, @@ -11086,26 +11378,6 @@ /obj/structure/cable/layer1, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"cQB" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ - dir = 8 - }, -/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" - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance) "cQD" = ( /obj/structure/table/reinforced, /obj/structure/reagent_dispensers/servingdish, @@ -11169,6 +11441,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) +"cRA" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix Outlet Pump"; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "cRF" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -11205,6 +11487,25 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/captain/private) +"cSj" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/door/window/left/directional/east{ + name = "Containment Pen #1"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/west{ + name = "Containment Pen #1"; + req_access = list("xenobiology") + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez1" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "cSp" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -11276,14 +11577,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"cTR" = ( -/obj/machinery/camera/directional/east{ - pixel_y = -23; - c_tag = "Hallway - Starboard Tram Platform South" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/noslip/tram, -/area/station/hallway/primary/tram/right) "cTU" = ( /turf/closed/wall, /area/station/cargo/storage) @@ -11294,17 +11587,6 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai) -"cTY" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez6" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) "cUB" = ( /obj/effect/landmark/start/shaft_miner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11343,6 +11625,13 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) +"cVk" = ( +/obj/effect/turf_decal/box, +/obj/machinery/shower/directional/east, +/obj/structure/fluff/shower_drain, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "cVl" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -11577,6 +11866,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/supermatter/room) +"cYA" = ( +/obj/docking_port/stationary{ + name = "Aux Base Zone"; + dir = 2; + width = 9; + height = 9; + shuttle_id = "aux_base_zone"; + dwidth = 4; + dheight = 4; + roundstart_template = /datum/map_template/shuttle/aux_base/default + }, +/turf/open/floor/plating, +/area/station/construction/mining/aux_base) "cYE" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, @@ -11615,6 +11917,15 @@ /obj/effect/turf_decal/trimline/purple/filled/corner, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"cZN" = ( +/obj/effect/turf_decal/sand/plating, +/obj/structure/sign/warning/directional/north{ + name = "FALLING HAZARD sign"; + desc = "A sign warning you to be cautious of falling packages." + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/plating, +/area/station/engineering/atmos) "cZQ" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -11642,16 +11953,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/cargo/miningdock) -"dab" = ( -/obj/structure/transport/linear/public, -/obj/structure/railing, -/obj/effect/turf_decal/trimline/dark_red/warning, -/obj/machinery/elevator_control_panel/directional/south{ - linked_elevator_id = "tram_dorm_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/left) "dai" = ( /obj/structure/chair/sofa/corp/corner{ dir = 4 @@ -11798,6 +12099,21 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/mid) +"dcz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/loading_area{ + dir = 1 + }, +/obj/machinery/door/window/right/directional/north{ + name = "Bar Delivery Chute" + }, +/obj/machinery/navbeacon{ + name = "navigation beacon (Bar Delivery)"; + location = "Bar"; + codes_txt = "delivery;dir=1" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) "dcP" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -11874,17 +12190,6 @@ }, /turf/open/space/openspace, /area/station/solars/starboard/fore) -"ded" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 10; - network = list("aicore"); - c_tag = "Secure - AI Upper Ring East" - }, -/turf/open/floor/glass/reinforced, -/area/station/ai_monitored/turret_protected/aisat/hallway) "deh" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -11912,15 +12217,6 @@ }, /turf/open/floor/plating, /area/station/medical/storage) -"deu" = ( -/obj/structure/table/glass, -/obj/machinery/fax{ - name = "Chief Medical Officer's Fax Machine"; - fax_name = "Chief Medical Officer's Office" - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "dez" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -11979,13 +12275,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"dfN" = ( -/obj/modular_map_root/tramstation{ - name = "secservicelower"; - key = "secservicelower" - }, -/turf/open/floor/plating, -/area/station/maintenance/port/central) "dfP" = ( /obj/machinery/rnd/production/techfab/department/service, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -12038,6 +12327,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"dgx" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/red/corner{ + dir = 8 + }, +/obj/machinery/camera/emp_proof{ + dir = 6; + network = list("ss13","engineering"); + c_tag = "Engineering - Lobby South" + }, +/turf/open/floor/iron, +/area/station/engineering/break_room) "dgA" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -12056,10 +12360,27 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"dhg" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters J"; + id_tag = "private_j" + }, +/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/dorms) "dhC" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/medical/virology) +"dhI" = ( +/obj/machinery/camera/directional/east{ + pixel_y = -23; + c_tag = "Hallway - Central Tram Platform South" + }, +/obj/machinery/light/directional/east, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/center) "dhL" = ( /turf/closed/wall, /area/station/security/prison/work) @@ -12097,14 +12418,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"diA" = ( -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Air Chamber" - }, -/turf/open/floor/engine/air, -/area/station/engineering/atmos) "diN" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -12219,16 +12532,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"dli" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/east{ - name = "Custom Channel"; - pixel_x = 0; - listening = 0; - freerange = 1 - }, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room) "dlk" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12257,23 +12560,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) -"dlP" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/dark/corner{ - dir = 1 - }, -/obj/structure/sign/warning/secure_area{ - name = "BOMB RANGE"; - desc = "A warning sign which reads 'BOMB RANGE"; - pixel_y = 32 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/science/lower) "dlR" = ( /obj/machinery/atmospherics/components/binary/valve/digital, /obj/structure/cable, @@ -12308,6 +12594,54 @@ /obj/effect/turf_decal/tile/red/full, /turf/open/floor/iron/dark/smooth_large, /area/station/commons/fitness/recreation/entertainment) +"dmx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleright_lower_upper_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "middleright_lower_upper_eva_airlock_control"; + idDoor = "middleright_lower_upper_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/mid) +"dmR" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/navbeacon{ + location = "TramLower16"; + codes_txt = "patrol;next_patrol=TramLower1" + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/white/warning{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/maintenance/tram/left) +"dmT" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/status_display/door_timer{ + name = "Isolation Cell A"; + pixel_y = 32; + id = "Isolation_A" + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "dmX" = ( /obj/structure/sign/warning/radiation/rad_area{ pixel_y = 32 @@ -12316,50 +12650,33 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"dna" = ( -/obj/structure/chair/stool/directional/north, -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_k"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/turf/open/floor/carpet, -/area/station/commons/dorms) -"dnb" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera/directional/east{ - network = list("ss13","rd"); - c_tag = "Science - Upper Hall Left" - }, -/turf/open/floor/iron/white, -/area/station/science/research) "dne" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"dng" = ( -/obj/machinery/computer/atmos_control/oxygen_tank{ - atmos_chambers = list(o2ordance="Oxygen Supply") - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "dnh" = ( /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/storage/art) +"dnp" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleleft_lower_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "middleleft_lower_eva_airlock_control"; + idDoor = "middleleft_lower_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating, +/area/station/hallway/primary/tram/center) "dnE" = ( /obj/machinery/telecomms/server/presets/service, /turf/open/floor/iron/dark/telecomms, @@ -12384,20 +12701,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"doi" = ( -/obj/machinery/rnd/production/circuit_imprinter/department/science, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/button/door/directional/north{ - name = "Robotics Privacy Shuttles Control"; - pixel_x = 8; - id = "robotics2"; - req_access = list("robotics") - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/robotics/lab) "dor" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -12500,18 +12803,6 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/greater) -"dpQ" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/structure/table/glass, -/obj/machinery/fax{ - name = "Research Division Fax Machine"; - pixel_x = 1; - fax_name = "Research Division" - }, -/turf/open/floor/iron/white, -/area/station/science/lower) "dqe" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -12548,11 +12839,14 @@ /obj/structure/sink/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"drd" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/wood, -/area/station/command/meeting_room) +"drh" = ( +/obj/structure/table, +/obj/machinery/fax{ + name = "Pre-Trial Fax Machine"; + fax_name = "Pre-Trial" + }, +/turf/open/floor/iron/dark, +/area/station/security/courtroom/holding) "drq" = ( /obj/structure/table, /obj/item/flashlight/lamp, @@ -12580,6 +12874,35 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"drC" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/machinery/lift_indicator/directional/west{ + pixel_x = -27; + pixel_y = -2; + linked_elevator_id = "tram_cargo_lift" + }, +/obj/machinery/button/elevator/directional/west{ + pixel_x = -26; + pixel_y = -1; + id = "tram_cargo_lift" + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"drE" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Dorm 2"; + id_tag = "prisondorm" + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/security/prison/safe) "drH" = ( /obj/machinery/telecomms/hub/preset, /turf/open/floor/iron/dark/telecomms, @@ -12593,24 +12916,6 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) -"dsk" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "outerbrigleft" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_left" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron, -/area/station/security/brig) "dsl" = ( /obj/structure/chair/pew/right, /obj/effect/landmark/start/assistant, @@ -12623,6 +12928,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"dsw" = ( +/obj/machinery/modular_computer/preset/id{ + dir = 8 + }, +/obj/machinery/keycard_auth/directional/north, +/obj/machinery/button/door/directional/north{ + name = "CMO Privacy Shutters"; + pixel_y = 38; + id = "cmoshutter"; + req_access = list("cmo") + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "dsF" = ( /turf/open/floor/iron/smooth, /area/station/command/gateway) @@ -12669,9 +12988,24 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) +"dtz" = ( +/obj/machinery/flasher/directional/east{ + pixel_y = 26; + id = "AI" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "dtA" = ( /turf/open/openspace, /area/station/security/courtroom/holding) +"dtM" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/item/radio/intercom/directional/north, +/obj/structure/table, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "dtT" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/white/full, @@ -12681,20 +13015,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/side, /area/station/science/lobby) -"dtZ" = ( -/obj/machinery/navbeacon{ - name = "navigation beacon (Theatre Delivery)"; - location = "Theatre"; - codes_txt = "delivery;dir=2" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/window/right/directional/south{ - name = "Theatre Delivery Chute"; - req_access = "theatre" - }, -/obj/effect/turf_decal/loading_area, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) "dur" = ( /obj/structure/chair{ dir = 1 @@ -12704,13 +13024,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"duz" = ( -/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ - dir = 4; - chamber_id = "o2ordance" - }, -/turf/open/floor/engine/o2, -/area/station/science/ordnance/storage) "duA" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -12742,19 +13055,6 @@ /obj/structure/closet/firecloset, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit) -"duY" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/binary/pump{ - name = "O2 to Pure"; - dir = 1 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "dvc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12850,14 +13150,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/computer) -"dxj" = ( -/obj/structure/chair{ - name = "Prosecution"; - dir = 1 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/turf/open/floor/iron, -/area/station/security/courtroom) "dxw" = ( /obj/machinery/newscaster/directional/north, /obj/structure/cable, @@ -12901,6 +13193,19 @@ /obj/structure/flora/bush/leavy/style_random, /turf/open/floor/grass, /area/station/medical/virology) +"dys" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Air Outlet Pump"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "dyB" = ( /obj/structure/closet/secure_closet/medical2, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -12947,15 +13252,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"dyJ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/preopen{ - name = "Test Chamber Blast Door"; - id = "testlab" - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) "dyV" = ( /obj/machinery/quantum_server, /obj/effect/turf_decal/bot/left, @@ -13011,16 +13307,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/commons/fitness) -"dzX" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table/wood, -/obj/item/radio/intercom/directional/east, -/obj/machinery/fax{ - name = "Captain's Fax Machine"; - fax_name = "Captain's Office" - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/captain) "dzY" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -13113,6 +13399,20 @@ /obj/machinery/light/warm/directional/west, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"dCq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/poddoor/preopen{ + name = "Research Director's Shutters"; + id = "rdoffice" + }, +/obj/structure/disposalpipe/segment{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/rd) "dCD" = ( /obj/structure/bookcase/random/reference, /turf/open/floor/wood/large, @@ -13167,19 +13467,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance/storage) -"dDN" = ( -/obj/machinery/requests_console/directional/south{ - name = "Cargo Bay Requests Console"; - department = "Cargo Bay" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/effect/turf_decal/siding/thinplating{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/cargo/sorting) "dEc" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -13218,41 +13505,32 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"dEq" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","engineering","Security"); - c_tag = "Engineering - Security Outpost" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/recharger{ - pixel_y = 4 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/security/checkpoint/engineering) "dEv" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/security/armory) -"dEx" = ( -/obj/structure/table/wood, -/obj/item/folder/blue, -/obj/item/stamp/head/hop, -/obj/item/trapdoor_remote/preloaded{ - pixel_x = -8 +"dEH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleleft_upper_eva_internal"; + autoclose = 0 }, -/obj/machinery/requests_console/directional/west{ - name = "Head of Personnel's Requests Console"; - department = "Head of Personnel's Desk" +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "middleleft_upper_eva_airlock_control"; + idDoor = "middleleft_upper_eva_internal" }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) "dEM" = ( /obj/structure/disposalpipe/junction/flip{ dir = 8 @@ -13311,6 +13589,22 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"dFI" = ( +/obj/structure/table/wood, +/obj/item/storage/box/seccarts{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/item/storage/box/deputy, +/obj/item/radio/intercom/directional/west, +/obj/machinery/button/door/directional/west{ + name = "Emergency Blast Doors"; + pixel_y = -8; + id = "HOSOffice"; + req_access = list("hos") + }, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/hos) "dFJ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -13318,20 +13612,18 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"dFL" = ( -/obj/structure/transport/linear/public, -/obj/machinery/elevator_control_panel/directional/west{ - linked_elevator_id = "tram_perma_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") +"dFN" = ( +/obj/machinery/door/poddoor/shutters{ + name = "Security Mech Bay Shutters"; + id = "secmechbay" }, -/obj/effect/turf_decal/caution/stand_clear/red{ - dir = 1 - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/security/execution/transfer) +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/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/security/mechbay) "dFP" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -13379,35 +13671,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"dGt" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters R"; - id_tag = "private_r" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) -"dGD" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/loading_area{ - dir = 1 - }, -/obj/machinery/door/window/right/directional/north{ - name = "Bar Delivery Chute" - }, -/obj/machinery/navbeacon{ - name = "navigation beacon (Bar Delivery)"; - location = "Bar"; - codes_txt = "delivery;dir=1" - }, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) "dGJ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/service/chapel/monastery) +"dHc" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/table, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/button/door{ + name = "Cell Containment Toggle Button"; + id = "containdeez1" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "dHr" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -13431,6 +13712,17 @@ }, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) +"dHF" = ( +/obj/machinery/camera{ + dir = 6; + c_tag = "Arrivals - Lounge" + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/turf/open/floor/iron/grimy, +/area/station/hallway/secondary/entry) "dHO" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -13510,18 +13802,6 @@ /obj/machinery/light/red/directional/west, /turf/open/floor/iron/dark, /area/station/maintenance/radshelter/civil) -"dJn" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Kitchen Counter Shutters"; - id = "playerscantreadthis" - }, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 - }, -/turf/open/floor/iron/checker, -/area/station/service/kitchen) "dJp" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -13540,58 +13820,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"dJr" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology{ - name = "Virology Exterior Airlock"; - frequency = 1449; - id_tag = "virology_airlock_exterior"; - autoclose = 0 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "Virology Access Button"; - dir = 1; - pixel_y = -24; - req_access = list("virology"); - idSelf = "virology_airlock_control"; - idDoor = "virology_airlock_exterior" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/virology) -"dJx" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/door/airlock/research{ - name = "Research and Development Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Research and Development Shutter"; - id = "rndlab1" - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/science/lab) "dJG" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/crate/freezer/blood, @@ -13629,6 +13857,14 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/security/processing) +"dKv" = ( +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Mixing Chamber" + }, +/turf/open/floor/engine/vacuum, +/area/station/engineering/atmos) "dKy" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -13681,14 +13917,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron, /area/station/engineering/main) -"dLu" = ( -/obj/effect/turf_decal/caution/stand_clear, -/obj/machinery/door/poddoor/shutters{ - name = "Auxillary Base Shutters"; - id = "aux_base_shutters" - }, -/turf/open/floor/plating, -/area/station/construction/mining/aux_base) "dLD" = ( /obj/effect/turf_decal/bot, /obj/item/mop, @@ -13728,21 +13956,17 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos) -"dMs" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/table/glass, -/obj/item/storage/medkit/regular{ - pixel_x = 4; - pixel_y = 4 +"dLS" = ( +/obj/machinery/turretid{ + name = "AI Chamber turret control"; + icon_state = "control_stun"; + pixel_x = 3; + pixel_y = -23 }, -/obj/item/storage/medkit/regular, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Main North" - }, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "dMv" = ( /obj/machinery/power/smes, /obj/structure/cable, @@ -13912,6 +14136,17 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"dPo" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay"); + c_tag = "Medical - Morgue" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/bodycontainer/morgue{ + dir = 2 + }, +/turf/open/floor/iron/dark, +/area/station/medical/morgue) "dPu" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -13938,6 +14173,18 @@ /obj/effect/turf_decal/trimline/white/warning, /turf/open/floor/iron, /area/station/maintenance/tram/left) +"dPP" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table, +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/button/door{ + name = "Cell Containment Toggle Button"; + id = "containdeez7" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "dPT" = ( /obj/structure/table/wood, /obj/item/radio/intercom/directional/north, @@ -14162,23 +14409,6 @@ /obj/effect/turf_decal/stripes/white/full, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"dTp" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "rightmost_lower_upper_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "rightmost_lower_upper_eva_airlock_control"; - idDoor = "rightmost_lower_upper_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/right) "dTx" = ( /obj/structure/railing{ dir = 1 @@ -14278,31 +14508,9 @@ }, /turf/open/floor/carpet, /area/station/cargo/miningdock) -"dUM" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - name = "Oxygen Tank Injection Port"; - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction/engineering) "dUT" = ( /turf/closed/wall, /area/station/science/lower) -"dVi" = ( -/obj/structure/chair{ - name = "Judge"; - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted, -/turf/open/floor/iron, -/area/station/security/courtroom) "dVj" = ( /obj/structure/table/glass, /obj/machinery/reagentgrinder, @@ -14358,6 +14566,22 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"dWi" = ( +/mob/living/simple_animal/bot/secbot/beepsky, +/obj/structure/cable, +/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/iron, +/area/station/hallway/primary/tram/center) +"dWj" = ( +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics CO2 Chamber" + }, +/turf/open/floor/engine/co2, +/area/station/engineering/atmos) "dWn" = ( /obj/machinery/duct, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -14388,16 +14612,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"dXf" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Kitchen Counter Shutters"; - id = "playerscantreadthis" - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/checker, -/area/station/service/kitchen) "dXm" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 @@ -14457,15 +14671,6 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/wood/large, /area/station/service/library) -"dXX" = ( -/obj/machinery/power/smes{ - charge = 10000; - capacity = 9e+06 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "dYe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/showroomfloor, @@ -14480,17 +14685,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) -"dYC" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Plasma Outlet Pump"; - dir = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) "dYU" = ( /obj/effect/turf_decal/caution/stand_clear/white{ dir = 1 @@ -14534,6 +14728,20 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"eam" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + name = "Prison Dorm 6"; + id_tag = "prisondorm" + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/security/prison/safe) "eaq" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -14619,28 +14827,6 @@ /obj/structure/cable, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"ebK" = ( -/obj/effect/landmark/start/ai/secondary, -/obj/item/radio/intercom/directional/north{ - name = "Custom Channel"; - pixel_x = -6; - listening = 0; - freerange = 1 - }, -/obj/item/radio/intercom/directional/west{ - name = "Common Channel"; - listening = 0; - freerange = 1 - }, -/obj/item/radio/intercom/directional/south{ - name = "Private Channel"; - pixel_x = -6; - frequency = 1447; - listening = 0; - freerange = 1 - }, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "ebL" = ( /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4{ dir = 4 @@ -14799,13 +14985,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron, /area/station/commons/dorms) -"efw" = ( -/obj/machinery/flasher/directional/east{ - pixel_y = 26; - id = "AI" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "efB" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -14838,18 +15017,6 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/plating, /area/station/maintenance/tram/left) -"egw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "mostleft_upper_lower_eva_airlock_control"; - idInterior = "mostleft_upper_lower_eva_internal"; - idExterior = "mostleft_upper_lower_eva_external" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/left) "egD" = ( /obj/machinery/door/airlock/highsecurity{ name = "Prison Maintenance Access"; @@ -14862,18 +15029,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) -"egI" = ( -/obj/structure/chair/stool/directional/north, -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_l"; - specialfunctions = 4; - normaldoorcontrol = 1 +"egJ" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 8 }, -/turf/open/floor/wood, -/area/station/commons/dorms) +/obj/machinery/camera/directional/south{ + network = list("ss13","minisat"); + c_tag = "Secure - AI Minisat Teleporter" + }, +/obj/machinery/button/door/directional/south{ + name = "MiniSat Shutter Control"; + pixel_x = 8; + id = "teledoor"; + req_one_access = list("teleporter","minisat") + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/foyer) "egK" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 1 @@ -14907,43 +15078,6 @@ dir = 8 }, /area/station/science/lobby) -"ehA" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/wooden_tv, -/obj/structure/extinguisher_cabinet/directional/south{ - pixel_x = -6 - }, -/obj/machinery/button/door/directional/south{ - name = "Privacy Shutters"; - pixel_x = 6; - id = "kanyewest" - }, -/obj/structure/sign/calendar/directional/east, -/turf/open/floor/carpet, -/area/station/security/detectives_office) -"ehH" = ( -/obj/structure/table, -/obj/item/multitool/circuit{ - pixel_x = -8 - }, -/obj/item/multitool/circuit{ - pixel_x = -4 - }, -/obj/item/multitool/circuit, -/obj/item/stock_parts/cell/high{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stock_parts/cell/high{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Testing Lab" - }, -/turf/open/floor/iron, -/area/station/science/explab) "ehK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -14971,20 +15105,6 @@ /obj/item/pen/red, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"eiW" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/loading_area/white{ - dir = 4 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "HoP Queue Shutters"; - id = "hopqueuestart" - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/hop) "eja" = ( /obj/structure/window/spawner/directional/south, /obj/structure/closet/crate, @@ -15027,55 +15147,43 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) -"ejG" = ( -/obj/machinery/camera{ - dir = 10; - c_tag = "Hallway - Starboard Tram Platform South-West" - }, -/obj/machinery/firealarm/directional/west, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/right) "ejH" = ( /obj/effect/turf_decal/tile/neutral/tram, /obj/structure/transport/linear/tram, /obj/structure/tram, /turf/open/indestructible/tram/plate, /area/station/hallway/primary/tram/center) -"ejI" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = 9; - id = "private_c"; - specialfunctions = 4; - normaldoorcontrol = 1 +"ejK" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Kitchen Counter Shutters"; + id = "playerscantreadthis" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) -"ejM" = ( +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/turf/open/floor/iron/checker, +/area/station/service/kitchen) +"ejR" = ( +/obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external{ name = "External Access"; frequency = 1449; - id_tag = "mostleft_lower_lower_eva_external"; + id_tag = "rightmost_lower_lower_eva_external"; autoclose = 0 }, -/obj/effect/mapping_helpers/airlock/locked, /obj/machinery/door_buttons/access_button{ name = "External Access Button"; pixel_y = 24; - idSelf = "mostleft_lower_lower_eva_airlock_control"; - idDoor = "mostleft_lower_lower_eva_external" + idSelf = "rightmost_lower_lower_eva_airlock_control"; + idDoor = "rightmost_lower_lower_eva_external" }, -/obj/effect/turf_decal/sand, /turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/left) +/area/station/maintenance/tram/right) "ejU" = ( /obj/structure/table, /obj/item/stock_parts/scanning_module{ @@ -15131,28 +15239,6 @@ /obj/structure/plasticflaps, /turf/open/floor/plating, /area/station/cargo/storage) -"ekM" = ( -/obj/effect/turf_decal/siding/thinplating/end, -/obj/machinery/button/door{ - name = "Cell Shutters"; - pixel_x = -27; - pixel_y = -2; - id = "Secure Gate"; - req_access = list("armory") - }, -/obj/machinery/button/door{ - name = "Prison Wing Lockdown"; - pixel_x = -27; - pixel_y = 8; - id = "briglockdown"; - req_access = list("armory") - }, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/effect/landmark/start/warden, -/turf/open/floor/glass/reinforced, -/area/station/security/warden) "ekQ" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -15245,6 +15331,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"emP" = ( +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + name = "Research Director's Shutters"; + id = "rdoffice" + }, +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/command/heads_quarters/rd) "emT" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -15352,15 +15447,15 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/security/prison) -"epH" = ( -/mob/living/basic/bot/cleanbot, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +"epJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/preopen{ + name = "Test Chamber Blast Door"; + id = "testlab" }, -/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/ai_monitored/turret_protected/aisat/maint) +/area/station/science/explab) "epP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -15377,6 +15472,27 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, /area/station/solars/port) +"eqK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleright_upper_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "middleright_upper_eva_airlock_control"; + idDoor = "middleright_upper_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) "eqL" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -15414,6 +15530,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/lower) +"erx" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/camera{ + dir = 10; + c_tag = "Hallway - Upper Right Command" + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "esc" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -15437,13 +15564,13 @@ dir = 8 }, /area/station/command/bridge) -"esh" = ( -/obj/machinery/power/smes{ - charge = 5e+06 +"esi" = ( +/mob/living/basic/bot/cleanbot, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/obj/structure/cable, -/turf/open/floor/circuit/telecomms/mainframe, -/area/station/tcommsat/server) +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "esA" = ( /obj/machinery/iv_drip, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -15471,6 +15598,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/tram/right) +"esT" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/machinery/power/solar{ + name = "Port Solar Array"; + id = "portsolar" + }, +/turf/open/space/openspace, +/area/station/solars/port) "esY" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -15495,22 +15631,45 @@ }, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) +"ett" = ( +/obj/machinery/computer/cargo, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/button/door/directional/north{ + pixel_x = -6; + id = "QMLoaddoor" + }, +/obj/machinery/button/door/directional/north{ + pixel_x = 6; + id = "QMLoaddoor2" + }, +/obj/machinery/camera/directional/north{ + c_tag = "Cargo - Warehouse North" + }, +/turf/open/floor/iron, +/area/station/cargo/storage) +"etG" = ( +/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/purple/filled/line{ + dir = 4 + }, +/obj/machinery/turretid{ + name = "AI Upload Turret Control"; + pixel_x = 25; + req_access = list("minisat"); + control_area = "/area/station/ai_monitored/turret_protected/ai_upload" + }, +/turf/open/floor/iron/dark, +/area/station/science/lower) "etH" = ( /obj/effect/turf_decal/siding/thinplating/end{ dir = 1 }, /turf/open/floor/glass/reinforced, /area/station/security/warden) -"etK" = ( -/mob/living/simple_animal/bot/mulebot, -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - location = "QM #1"; - codes_txt = "delivery;dir=2" - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "euC" = ( /turf/open/floor/wood/parquet, /area/station/medical/psychology) @@ -15600,15 +15759,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/left) -"ewl" = ( -/obj/machinery/power/solar{ - name = "Starboard Solar Array"; - id = "forestarboard" - }, -/obj/effect/turf_decal/sand/plating, -/obj/structure/cable, -/turf/open/floor/plating/airless, -/area/station/solars/starboard/fore) "ewo" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -15644,21 +15794,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"exp" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Incinerator" - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "exq" = ( /obj/structure/table, /obj/structure/extinguisher_cabinet/directional/north, @@ -15708,6 +15843,15 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/miningdock/oresilo) +"exH" = ( +/obj/structure/table, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door{ + name = "Cell Containment Toggle Button"; + id = "containdeez4" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "exT" = ( /obj/structure/table, /obj/item/radio{ @@ -15747,6 +15891,26 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/central) +"eye" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/docking{ + name = "KEEP CLEAR: TRAM DOCKING AREA sign"; + desc = "A warning sign which reads 'KEEP CLEAR OF TRAM DOCKING AREA'."; + pixel_y = 32 + }, +/obj/effect/turf_decal/siding/thinplating, +/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/trimline/white/warning, +/turf/open/floor/iron, +/area/station/maintenance/tram/left) "eyg" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/machinery/power/apc/auto_name/directional/west, @@ -15826,20 +15990,6 @@ /obj/machinery/light/small/blacklight/directional/south, /turf/open/floor/wood/parquet, /area/station/service/library) -"ezC" = ( -/obj/structure/table/glass, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/item/reagent_containers/syringe, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/machinery/camera{ - dir = 10; - network = list("ss13","Security"); - c_tag = "Security - Medical Center" - }, -/turf/open/floor/iron/white, -/area/station/security/medical) "ezL" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -15873,21 +16023,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"eAm" = ( -/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) "eAE" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -15914,15 +16049,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/engineering/atmos) -"eAT" = ( -/obj/machinery/gulag_teleporter, -/obj/machinery/camera/directional/south{ - network = list("ss13","Security"); - c_tag = "Security - Labor Dock" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/security/processing) "eAV" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -15951,6 +16077,34 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/solars/starboard/fore) +"eBd" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 9 + }, +/obj/structure/sign/poster/official/safety_internals/directional/west, +/obj/machinery/camera/directional/west{ + network = list("ss13","cargo"); + c_tag = "Cargo - Public Mining Dock" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit) +"eBo" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Lower Hall West" + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/white, +/area/station/science/lower) "eBr" = ( /obj/machinery/space_heater, /obj/effect/turf_decal/bot, @@ -15971,14 +16125,17 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/cargo/lobby) -"eBT" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Privacy Shutters"; - id = "HOSOffice" +"eBI" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/hos) +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Main South-East" + }, +/turf/open/floor/iron, +/area/station/security/prison) "eCk" = ( /obj/machinery/door/airlock/public/glass{ name = "Library" @@ -16030,20 +16187,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/warehouse) -"eCW" = ( -/obj/machinery/stasis{ - dir = 4 +"eCR" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters H"; + id_tag = "private_h" }, -/obj/machinery/defibrillator_mount/directional/north, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Treatment North-West" - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "eCZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16064,15 +16216,6 @@ /obj/structure/table, /turf/open/floor/iron, /area/station/commons/dorms) -"eDJ" = ( -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security","interrogation"); - c_tag = "Security - Interrogation Main" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) "eDV" = ( /obj/structure/closet/secure_closet/freezer/cream_pie, /obj/effect/turf_decal/tile/red/opposingcorners, @@ -16103,33 +16246,12 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"eEI" = ( -/obj/machinery/computer/security/telescreen{ - name = "turbine vent monitor"; - desc = "Used for watching the turbine vent."; - dir = 8; - pixel_x = 29; - network = list("turbine") - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "eEK" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/air_input{ dir = 1 }, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"eFc" = ( -/obj/machinery/button/crematorium{ - pixel_y = -26; - id = "crematoriumChapel" - }, -/obj/machinery/camera/directional/south{ - c_tag = "Civilian - Chapel Crematorium" - }, -/turf/open/floor/iron/dark, -/area/station/service/chapel/office) "eFd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/plasticflaps/opaque{ @@ -16279,24 +16401,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"eIu" = ( -/obj/machinery/door/airlock/research{ - name = "Research Division Access" - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ +"eIA" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/machinery/door/poddoor/preopen{ - name = "Research Lockdown Blastdoor"; - id = "Sciencelockdown" +/obj/machinery/newscaster/directional/south, +/obj/machinery/fax{ + name = "Psychology Office Fax Machine"; + fax_name = "Psychology Office" }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/iron/white/side, -/area/station/science/research) +/turf/open/floor/wood/parquet, +/area/station/medical/psychology) "eIM" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrogen_input{ dir = 1 @@ -16351,50 +16467,10 @@ /obj/structure/sink/kitchen/directional/west, /turf/open/floor/wood, /area/station/service/bar/backroom) -"eJW" = ( -/obj/structure/table/glass, -/obj/item/storage/box/petridish{ - pixel_x = -5; - pixel_y = 8 - }, -/obj/item/storage/box/petridish{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera/directional/east{ - network = list("ss13","rd","xeno"); - c_tag = "Science - Cytology East" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "eJZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/commons/storage/primary) -"eKb" = ( -/obj/structure/table, -/obj/item/razor{ - pixel_x = 9; - pixel_y = 5 - }, -/obj/item/reagent_containers/cup/rag{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/item/reagent_containers/cup/bottle{ - name = "Barber's Aid bottle"; - desc = "A small bottle of Barber's Aid."; - pixel_x = -2; - pixel_y = 10; - list_reagents = list(/datum/reagent/barbers_aid=30) - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/east, -/turf/open/floor/wood/large, -/area/station/service/barber) "eKn" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 4 @@ -16592,19 +16668,6 @@ /obj/effect/turf_decal/trimline/tram/filled/warning, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"eOG" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/north{ - name = "Chemistry Desk"; - req_access = list("pharmacy") - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Pharmacy Shutters"; - id = "pharmacy_shutters_2" - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "eOL" = ( /obj/structure/table/wood, /obj/item/instrument/violin, @@ -16650,17 +16713,6 @@ }, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) -"ePl" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Xenobiology North" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "ePw" = ( /obj/structure/filingcabinet, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -16673,6 +16725,13 @@ "ePG" = ( /turf/closed/wall/r_wall, /area/station/science/auxlab/firing_range) +"ePS" = ( +/obj/machinery/shower/directional/west, +/obj/structure/fluff/shower_drain, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/white, +/area/station/science/research) "eQm" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -16688,17 +16747,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"eQx" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "CO2 Outlet Pump"; - dir = 8 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) "eQL" = ( /obj/structure/sign/directions/evac{ dir = 4; @@ -16787,6 +16835,21 @@ /obj/effect/turf_decal/trimline/white/warning, /turf/open/floor/iron, /area/station/maintenance/tram/mid) +"eRQ" = ( +/obj/machinery/camera{ + dir = 6; + c_tag = "Hallway - Starboard Tram Platform South-East" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/tram/right) "eSj" = ( /obj/structure/table, /obj/item/storage/box/firingpins, @@ -16810,13 +16873,6 @@ "eSz" = ( /turf/open/openspace, /area/station/hallway/primary/tram/center) -"eSB" = ( -/obj/machinery/door/airlock{ - name = "Unit 4"; - id_tag = "Toilet4" - }, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "eSH" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/computer/records/medical{ @@ -16852,36 +16908,23 @@ /obj/machinery/power/port_gen/pacman, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) -"eTg" = ( -/obj/structure/table, -/obj/machinery/requests_console/directional/east{ - name = "EVA Requests Console"; - department = "EVA" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/cell_charger, -/obj/item/stock_parts/cell/high, -/turf/open/floor/iron, -/area/station/ai_monitored/command/storage/eva) "eTl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/execution/transfer) -"eTp" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/preopen{ - name = "Bridge Blast Door"; - id = "bunkermodeactivated" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/command/bridge) "eTs" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/courtroom) +"eTv" = ( +/obj/machinery/modular_computer/preset/cargochat/service{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "eTQ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -16960,27 +17003,48 @@ }, /turf/open/floor/plating, /area/station/security/processing) -"eUM" = ( -/obj/machinery/door/window/brigdoor/right/directional/east{ - name = "Medical Cell"; - id = "medcell"; - req_access = list("security") - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"eUJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 }, -/turf/open/floor/iron, -/area/station/security/checkpoint/medical) +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medical - Chief Medical Officer's Office" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/cmo) "eVh" = ( /obj/effect/turf_decal/trimline/neutral/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"eVl" = ( +/obj/effect/landmark/start/ai/secondary, +/obj/item/radio/intercom/directional/north{ + name = "Custom Channel"; + pixel_x = -6; + listening = 0; + freerange = 1 + }, +/obj/item/radio/intercom/directional/west{ + name = "Common Channel"; + listening = 0; + freerange = 1 + }, +/obj/item/radio/intercom/directional/south{ + name = "Private Channel"; + pixel_x = -6; + frequency = 1447; + listening = 0; + freerange = 1 + }, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "eVn" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -17003,26 +17067,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/carpet/royalblack, /area/station/command/meeting_room) -"eVI" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "innerbrigleft" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_left" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/security/brig) "eVK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -17076,17 +17120,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"eWI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleleft_lower_eva_airlock_control"; - idInterior = "middleleft_lower_eva_internal"; - idExterior = "middleleft_lower_eva_external" - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) "eWO" = ( /obj/machinery/door/airlock/engineering{ name = "Power Access Hatch" @@ -17102,20 +17135,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/security/prison) -"eXj" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "N2O Outlet Pump"; - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, -/turf/open/floor/iron, -/area/station/engineering/atmos) "eXw" = ( /obj/effect/turf_decal/tile/neutral/tram, /obj/effect/turf_decal/stripes/white/line, @@ -17140,6 +17159,18 @@ /obj/effect/turf_decal/trimline/red/corner, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"eYn" = ( +/obj/docking_port/stationary{ + name = "arrivals"; + dir = 8; + width = 7; + height = 15; + shuttle_id = "arrival_stationary"; + dwidth = 3; + roundstart_template = /datum/map_template/shuttle/arrival/box + }, +/turf/open/space/openspace, +/area/space) "eYs" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -17192,6 +17223,33 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"eYS" = ( +/obj/effect/turf_decal/trimline/purple/filled/line, +/obj/structure/chair{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Front Lobby" + }, +/obj/machinery/light/cold/directional/south, +/turf/open/floor/iron/white, +/area/station/science/lobby) +"eYZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/yellow/corner, +/obj/structure/frame/computer{ + dir = 4; + anchored = 1 + }, +/obj/item/stack/cable_coil{ + amount = 15 + }, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/maintenance/port/central) "eZE" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -17261,6 +17319,17 @@ /obj/structure/table, /turf/open/floor/iron, /area/station/commons/dorms) +"fbj" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/obj/machinery/camera/directional/west{ + network = list("ss13","rd"); + c_tag = "Science - Upper Hall Right" + }, +/turf/open/floor/iron/white, +/area/station/science/research) "fbk" = ( /obj/structure/fluff/tram_rail/floor{ dir = 1 @@ -17294,16 +17363,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/cargo/miningdock/oresilo) -"fcG" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/structure/table/glass, -/obj/machinery/fax{ - name = "Medical Fax Machine"; - fax_name = "Medical" - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "fdc" = ( /obj/machinery/brm, /obj/machinery/conveyor{ @@ -17395,13 +17454,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/solars/port) -"feR" = ( -/obj/machinery/camera/directional/north{ - network = list("test","rd"); - c_tag = "Science - Testing Chamber" +"feP" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 }, -/turf/open/floor/engine, -/area/station/science/explab) +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Lower Hall East" + }, +/turf/open/floor/iron/white, +/area/station/science/lower) "feU" = ( /obj/effect/turf_decal/trimline/purple/filled/corner, /obj/structure/disposalpipe/segment, @@ -17416,6 +17478,24 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"ffe" = ( +/obj/machinery/flasher/directional/south{ + pixel_x = 20; + id = "AI" + }, +/obj/machinery/door/window/brigdoor/right/directional/north{ + name = "Primary AI Core Access"; + req_access = list("ai_upload") + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) +"ffE" = ( +/obj/machinery/door/airlock{ + name = "Unit 1"; + id_tag = "Toilet1" + }, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "ffL" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17473,17 +17553,15 @@ /obj/machinery/light/directional/west, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/center) -"fhe" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 +"fhg" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Kitchen Counter Shutters"; + id = "playerscantreadthis" }, -/obj/machinery/status_display/evac/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/commons/dorms) +/turf/open/floor/iron/checker, +/area/station/service/kitchen) "fho" = ( /obj/structure/railing/corner{ dir = 8 @@ -17508,6 +17586,41 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/tram, /area/station/hallway/primary/tram/center) +"fhy" = ( +/obj/structure/table/reinforced, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/south{ + name = "Robotics Lab Desk"; + req_access = list("robotics") + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Robotics Lab Shutters"; + id = "robotics2" + }, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/station/science/robotics/lab) +"fhA" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/camera{ + dir = 10; + c_tag = "Hallway - Engineering Entry West" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "fhG" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 4 @@ -17685,25 +17798,17 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"fkJ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 +"fkL" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Plasma Outlet Pump"; + dir = 8 }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Unfiltered to Mix"; - dir = 1 +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, /turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) -"fkO" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/power/solar{ - name = "Port Solar Array"; - id = "portsolar" - }, -/turf/open/space/basic, -/area/station/solars/port) +/area/station/engineering/atmos) "fkQ" = ( /obj/structure/table/wood, /obj/machinery/libraryscanner, @@ -17789,18 +17894,6 @@ /obj/effect/landmark/navigate_destination/hydro, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"flT" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ - dir = 10 - }, -/obj/machinery/button/door{ - name = "Cell Containment Toggle Button"; - id = "containdeez3" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "flV" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -18132,21 +18225,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/science/ordnance/storage) -"fsk" = ( -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Block North" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/prison/safe) "fss" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment, @@ -18175,6 +18253,35 @@ "fsC" = ( /turf/closed/wall, /area/station/commons/fitness/recreation) +"fsN" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology{ + name = "Virology Interior Airlock"; + frequency = 1449; + id_tag = "virology_airlock_interior"; + autoclose = 0 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door_buttons/access_button{ + name = "Virology Access Button"; + pixel_y = 24; + req_access = list("virology"); + idSelf = "virology_airlock_control"; + idDoor = "virology_airlock_interior" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/virology) "fsP" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/effect/turf_decal/trimline/red/filled/corner{ @@ -18284,6 +18391,26 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"fvn" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Entry Airlock" + }, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -8 + }, +/obj/item/tank/internals/emergency_oxygen, +/obj/item/clothing/mask/breath, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "fvx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -18370,26 +18497,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/left) -"fwR" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 1 - }, -/obj/machinery/requests_console/directional/south{ - name = "Bridge Requests Console"; - pixel_y = 30; - department = "Bridge" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/junction{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/command/bridge) "fwW" = ( /obj/machinery/status_display/ai/directional/north, /obj/item/stack/ore/glass, @@ -18473,24 +18580,6 @@ /obj/effect/turf_decal/trimline/purple/filled/corner, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"fyC" = ( -/obj/machinery/door/airlock/security{ - name = "Labor Shuttle"; - id_tag = "laborexit" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/brig, -/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/security/brig) "fyF" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -18504,19 +18593,6 @@ /obj/machinery/light/floor, /turf/open/floor/grass, /area/station/science/lower) -"fyZ" = ( -/obj/machinery/camera{ - dir = 9; - c_tag = "Arrivals - South Docking Wing" - }, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "fza" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 4 @@ -18548,17 +18624,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"fzt" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 10 - }, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Lower Hall South" - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/white, -/area/station/science/lower) "fAg" = ( /obj/structure/table, /obj/item/restraints/handcuffs, @@ -18667,18 +18732,6 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron, /area/station/commons/storage/tools) -"fDB" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 8 - }, -/obj/machinery/computer/department_orders/science{ - dir = 4 - }, -/turf/open/floor/glass/reinforced, -/area/station/science/research) "fDS" = ( /obj/machinery/door/airlock/engineering/glass{ name = "Laser Room" @@ -18769,27 +18822,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"fFd" = ( -/obj/structure/filingcabinet/security, -/obj/machinery/button/door/directional/east{ - name = "Outer Brig Door Toggle"; - pixel_y = -8; - id = "outerbrigright"; - req_access = list("security"); - normaldoorcontrol = 1 - }, -/obj/machinery/button/door/directional/east{ - name = "Inner Brig Door Toggle"; - pixel_y = 8; - id = "innerbrigright"; - req_access = list("security"); - normaldoorcontrol = 1 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/brig) "fFg" = ( /obj/machinery/button/elevator/directional/north{ id = "tram_sci_lift" @@ -18814,28 +18846,38 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/mid) +"fFi" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters G"; + id_tag = "private_g" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/commons/dorms) "fFl" = ( /turf/open/floor/wood/large, /area/station/service/barber) +"fFu" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/east{ + name = "Containment Pen #2"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/west{ + name = "Containment Pen #2"; + req_access = list("xenobiology") + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez2" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "fFx" = ( /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"fFE" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Kitchen Counter Shutters"; - id = "playerscantreadthis" - }, -/obj/item/reagent_containers/condiment/saltshaker{ - pixel_x = -3 - }, -/obj/item/reagent_containers/condiment/peppermill{ - pixel_x = 3 - }, -/turf/open/floor/iron/checker, -/area/station/service/kitchen) "fFG" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 10 @@ -18847,17 +18889,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"fFH" = ( -/obj/structure/chair/sofa/left{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Break Room" - }, -/turf/open/floor/iron/cafeteria, -/area/station/science/breakroom) "fFL" = ( /obj/effect/turf_decal/trimline/white/filled/corner{ dir = 4 @@ -18895,6 +18926,19 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron, /area/station/commons/dorms) +"fGK" = ( +/mob/living/carbon/human/species/monkey, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/misc/grass/jungle, +/area/station/science/explab) +"fHg" = ( +/obj/structure/chair{ + name = "Prosecution"; + dir = 1 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/turf/open/floor/iron, +/area/station/security/courtroom) "fHl" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -18913,6 +18957,36 @@ }, /turf/open/floor/iron, /area/station/service/theater) +"fHz" = ( +/obj/machinery/camera/emp_proof{ + dir = 6; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Air Chamber" + }, +/turf/open/floor/engine/air, +/area/station/engineering/atmos) +"fHR" = ( +/obj/effect/landmark/start/ai/secondary, +/obj/item/radio/intercom/directional/north{ + name = "Custom Channel"; + pixel_x = 6; + listening = 0; + freerange = 1 + }, +/obj/item/radio/intercom/directional/east{ + name = "Common Channel"; + listening = 0; + freerange = 1 + }, +/obj/item/radio/intercom/directional/south{ + name = "Private Channel"; + pixel_x = 6; + frequency = 1447; + listening = 0; + freerange = 1 + }, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "fHV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -18965,23 +19039,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"fJi" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Commons Area" - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "HoP Arrival Procedure Enforcement Shutters"; - id = "papersplease" - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "fJv" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/turf_decal/stripes/corner{ @@ -19015,6 +19072,17 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) +"fJQ" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 9 + }, +/obj/machinery/newscaster/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/white, +/area/station/science/lab) "fKg" = ( /obj/machinery/air_sensor/nitrogen_tank, /turf/open/floor/engine/n2, @@ -19118,6 +19186,18 @@ }, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"fLJ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = 24; + idSelf = "rightmost_lower_lower_eva_airlock_control"; + idInterior = "rightmost_lower_lower_eva_internal"; + idExterior = "rightmost_lower_lower_eva_external" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/right) "fLN" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -19162,6 +19242,15 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/engine/vacuum, /area/station/maintenance/disposal/incinerator) +"fLY" = ( +/obj/machinery/door/poddoor/shutters{ + name = "Security Mech Bay Shutters"; + id = "secmechbay" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plating, +/area/station/security/mechbay) "fMm" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 8 @@ -19231,6 +19320,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"fNX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleright_lower_lower_eva_internal"; + autoclose = 0 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_x = 24; + idSelf = "middleright_lower_lower_eva_airlock_control"; + idDoor = "middleright_lower_lower_eva_internal" + }, +/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/tram/mid) "fOs" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp, @@ -19255,10 +19363,35 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"fPv" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/north{ + name = "Containment Pen #1"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/south{ + name = "Containment Pen #1"; + req_access = list("xenobiology") + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez1" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "fPy" = ( /obj/structure/chair/stool/bar/directional/east, /turf/open/floor/iron, /area/station/security/prison) +"fPJ" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/navbeacon{ + location = "QM #4"; + codes_txt = "delivery;dir=1" + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "fQe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -19269,6 +19402,22 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/wood, /area/station/service/theater) +"fQo" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/north{ + name = "Containment Pen #5"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/south{ + name = "Containment Pen #5"; + req_access = list("xenobiology") + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez5" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "fQF" = ( /obj/machinery/newscaster/directional/east, /obj/structure/disposalpipe/segment{ @@ -19276,6 +19425,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"fQH" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/navbeacon{ + location = "QM #5"; + codes_txt = "delivery;dir=1" + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "fQI" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, @@ -19287,6 +19445,32 @@ /obj/effect/turf_decal/trimline/yellow/arrow_ccw, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"fQV" = ( +/obj/machinery/button/door/directional/east{ + pixel_y = -10; + id = "offstationaccess" + }, +/obj/effect/turf_decal/stripes/corner, +/obj/structure/table, +/obj/item/paper/pamphlet/gateway{ + pixel_x = -1; + pixel_y = 3 + }, +/obj/item/paper/pamphlet/gateway{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/paper/pamphlet/gateway{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/paper/pamphlet/gateway{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "fQW" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -19312,34 +19496,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"fRB" = ( -/obj/machinery/door/poddoor/shutters{ - name = "Security Mech Bay Shutters"; - id = "secmechbay" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/delivery, -/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/security/mechbay) -"fRE" = ( -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","cargo"); - c_tag = "Cargo - Lobby" - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron, -/area/station/cargo/lobby) "fRW" = ( /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -19388,19 +19544,6 @@ "fSr" = ( /turf/closed/wall, /area/station/security/checkpoint/arrivals) -"fSD" = ( -/obj/structure/table, -/obj/item/radio/intercom/prison/directional/east, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison","pcell"); - c_tag = "Security - Prison Cell 2" - }, -/turf/open/floor/iron, -/area/station/security/prison/safe) "fSH" = ( /obj/structure/cable/multilayer/connected, /obj/effect/decal/cleanable/dirt, @@ -19414,23 +19557,20 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/cargo/office) -"fSS" = ( +"fSY" = ( /obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Research and Development Shutter"; - dir = 8; - id = "rndlab1" +/obj/machinery/computer/security/telescreen{ + name = "Cargo Camera Monitor"; + dir = 4; + network = list("ss13","cargo") }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/east{ - name = "Research Lab Desk"; - req_access = list("science") +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/lab) +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "fSZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/iron, @@ -19460,6 +19600,17 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/commons/vacant_room) +"fTM" = ( +/obj/structure/table, +/obj/machinery/requests_console/directional/east{ + name = "EVA Requests Console"; + department = "EVA" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/cell_charger, +/obj/item/stock_parts/cell/high, +/turf/open/floor/iron, +/area/station/ai_monitored/command/storage/eva) "fUh" = ( /obj/structure/chair, /obj/structure/sign/poster/official/random/directional/north, @@ -19486,17 +19637,6 @@ }, /turf/closed/wall/r_wall, /area/station/science/xenobiology) -"fUA" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = 9; - id = "private_q"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/commons/dorms) "fUP" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -19587,15 +19727,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/center) -"fVS" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Research Director's Shutters"; - id = "rdoffice" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/rd) "fVX" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 1 @@ -19873,6 +20004,19 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"gba" = ( +/obj/machinery/requests_console/directional/south{ + name = "Cargo Bay Requests Console"; + department = "Cargo Bay" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/sorting) "gbe" = ( /obj/effect/turf_decal/tile/neutral/tram, /turf/open/indestructible/tram/plate, @@ -19899,20 +20043,6 @@ /obj/machinery/photocopier, /turf/open/floor/iron/white, /area/station/science/lower) -"gbo" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Block South" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/prison/safe) "gbp" = ( /obj/structure/filingcabinet, /obj/structure/window/reinforced/spawner/directional/west, @@ -19947,15 +20077,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/escape) -"gbL" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Privacy Shutters"; - id = "hop" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/hop) "gbW" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -19970,19 +20091,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) -"gcl" = ( -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Test Chamber Blast Door"; - id = "Xenolab" - }, -/obj/machinery/door/window/left/directional/north{ - name = "Maximum Security Test Chamber"; - req_access = list("xenobiology") - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/engine, -/area/station/science/xenobiology) "gcp" = ( /turf/closed/wall/r_wall, /area/station/commons/vacant_room) @@ -20005,11 +20113,30 @@ /obj/machinery/air_sensor/nitrous_tank, /turf/open/floor/engine/n2o, /area/station/engineering/atmos) +"gdC" = ( +/obj/machinery/door/airlock{ + name = "Private Stall 2"; + id_tag = "ToiletSci2" + }, +/turf/open/floor/iron/freezer, +/area/station/science/lower) "gdF" = ( /obj/machinery/vending/wardrobe/det_wardrobe, /obj/structure/sign/poster/official/dick_gum/directional/south, /turf/open/floor/iron/grimy, /area/station/security/detectives_office) +"gdJ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/structure/sign/poster/contraband/atmosia_independence/directional/north, +/obj/machinery/conveyor_switch/oneway{ + name = "Shipment Delivery Chute Activator"; + pixel_x = 10; + id = "hydrodropoff" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "ged" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -20023,6 +20150,16 @@ /obj/structure/closet/radiation, /turf/open/floor/iron/white, /area/station/science/genetics) +"gex" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Firing Range" + }, +/turf/open/floor/engine, +/area/station/science/auxlab/firing_range) "geA" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -20064,37 +20201,6 @@ /obj/structure/ladder, /turf/open/openspace/airless, /area/station/asteroid) -"gfE" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/status_display/door_timer{ - name = "Isolation Cell C"; - pixel_y = 32; - id = "Isolation_C" - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) -"gfJ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/button/door/directional/north{ - name = "Tram Maintenance Dock Access"; - pixel_x = -8; - id = "trammaintdock" - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/white/warning, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/iron, -/area/station/maintenance/tram/left) "gfK" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) @@ -20124,6 +20230,16 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"ggw" = ( +/obj/machinery/door/poddoor{ + name = "Supply Dock Loading Door"; + id = "QMLoaddoor2" + }, +/obj/machinery/conveyor{ + id = "QMLoad2" + }, +/turf/open/floor/plating, +/area/station/cargo/storage) "ggE" = ( /obj/structure/table, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -20150,6 +20266,17 @@ /obj/effect/spawner/random/contraband/prison, /turf/open/floor/iron/cafeteria, /area/station/security/prison) +"ggQ" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","rd"); + c_tag = "Science - Entrance Airlock" + }, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/white, +/area/station/science/research) "ggV" = ( /obj/structure/table/wood, /obj/item/food/grown/poppy{ @@ -20197,23 +20324,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/mid) -"gif" = ( -/obj/structure/table/glass, -/obj/item/stack/sheet/mineral/plasma{ - pixel_y = 10 - }, -/obj/item/stack/sheet/mineral/plasma{ - pixel_y = 4 - }, -/obj/item/clothing/glasses/science, -/obj/machinery/requests_console/directional/west{ - name = "Pharmacy Requests Console"; - department = "Pharmacy" - }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "gij" = ( /obj/structure/table, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20328,6 +20438,21 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/wood/large, /area/station/service/library) +"gjP" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/window/left/directional/east{ + req_access = list("science") + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/obj/machinery/navbeacon{ + name = "navigation beacon (Science Delivery)"; + location = "Science"; + codes_txt = "delivery;dir=4" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "gjT" = ( /obj/structure/transit_tube, /turf/open/floor/plating/airless, @@ -20413,6 +20538,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/cargo/miningdock/oresilo) +"glp" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Secure Pen Lockdown"; + id = "cytologysecure2" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "glv" = ( /obj/structure/sign/directions/supply{ dir = 1; @@ -20513,17 +20646,13 @@ }, /turf/closed/wall/r_wall, /area/station/science/xenobiology) -"gng" = ( -/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" +"gnj" = ( +/obj/modular_map_root/tramstation{ + name = "medsciupper"; + key = "medsciupper" }, -/obj/effect/turf_decal/bot, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) +/turf/open/floor/iron/smooth, +/area/station/hallway/primary/tram/center) "gnp" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -20605,21 +20734,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) -"gnP" = ( -/obj/structure/table, -/obj/item/folder/white{ - pixel_y = 4 - }, -/obj/item/pen/red, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Virology Patient Room B" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/medical/virology) "gnQ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -20636,6 +20750,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig) +"gov" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/obj/machinery/camera/directional/east{ + network = list("ss13","medbay"); + c_tag = "Medical - Main East" + }, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "goC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -20720,20 +20846,17 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"gqm" = ( -/obj/effect/turf_decal/trimline/white/line{ - dir = 4 +"gqf" = ( +/obj/machinery/door/airlock/engineering/glass/critical{ + name = "Supermatter Chamber"; + heat_proof = 1 }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 8 +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 }, -/obj/machinery/camera{ - dir = 10; - network = list("ss13","minisat"); - c_tag = "Secure - AI Antechamber East" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "gqp" = ( /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) @@ -20771,22 +20894,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"grt" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/north{ - name = "Containment Pen #5"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/south{ - name = "Containment Pen #5"; - req_access = list("xenobiology") - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez5" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "grz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20830,17 +20937,6 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) -"gtg" = ( -/obj/effect/turf_decal/sand, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","prison"); - c_tag = "Security - Rec Room West" - }, -/turf/open/floor/iron, -/area/station/security/prison/workout) "gtj" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 8 @@ -20918,6 +21014,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) +"gui" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/machinery/camera/motion/directional/north{ + network = list("aicore"); + c_tag = "Secure - AI Lower Ring Access" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "gul" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -21009,15 +21117,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"gwJ" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters H"; - id_tag = "private_h" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) "gwK" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/dim/directional/west, @@ -21068,6 +21167,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"gxO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/newscaster/directional/north, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron, +/area/station/engineering/main) +"gxV" = ( +/obj/machinery/mech_bay_recharge_port{ + dir = 2 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Mech Bay" + }, +/obj/machinery/light/directional/north, +/turf/open/floor/plating, +/area/station/science/robotics/mechbay) "gxY" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 @@ -21207,18 +21328,6 @@ /obj/structure/transport/linear/public, /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/mid) -"gAL" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/obj/machinery/fax{ - name = "Psychology Office Fax Machine"; - fax_name = "Psychology Office" - }, -/turf/open/floor/wood/parquet, -/area/station/medical/psychology) "gAO" = ( /obj/structure/railing/corner, /obj/structure/railing/corner{ @@ -21229,6 +21338,14 @@ }, /turf/open/floor/glass/reinforced, /area/station/security/brig) +"gAQ" = ( +/obj/structure/table, +/obj/machinery/door/poddoor/shutters{ + name = "Vacant Commissary Shutters"; + id = "commissarydeezdoorz" + }, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) "gAY" = ( /obj/structure/chair/stool/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21247,18 +21364,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) -"gBu" = ( -/obj/machinery/door/airlock/hatch{ - name = "Vacant Commissary"; - id_tag = "vacant_space" - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "gBw" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -21355,17 +21460,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"gCP" = ( -/obj/docking_port/stationary{ - name = "port bay 2"; - dir = 8; - width = 5; - height = 13; - shuttle_id = "ferry_home"; - dwidth = 2 +"gCI" = ( +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 1 }, -/turf/open/space/openspace, -/area/space) +/obj/effect/turf_decal/trimline/green/filled/corner{ + dir = 8 + }, +/obj/machinery/door_buttons/airlock_controller{ + name = "Virology Access Console"; + pixel_x = -24; + pixel_y = 24; + req_access = list("virology"); + idSelf = "virology_airlock_control"; + idInterior = "virology_airlock_interior"; + idExterior = "virology_airlock_exterior" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/virology) "gCQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21393,17 +21511,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"gDt" = ( -/obj/machinery/mech_bay_recharge_port{ - dir = 2 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Mech Bay" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/plating, -/area/station/science/robotics/mechbay) "gDI" = ( /obj/structure/window/reinforced/plasma/spawner/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -21417,15 +21524,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter) -"gDP" = ( -/obj/machinery/camera/directional/north{ - name = "holodeck camera"; - c_tag = "Civilian - Holodeck North" - }, -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" - }, -/area/station/holodeck/rec_center) "gDQ" = ( /obj/machinery/camera/directional/east{ c_tag = "Hallway - Central Tram Platform North-East" @@ -21448,26 +21546,26 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"gEu" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Lower Hall West" - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/white, -/area/station/science/lower) "gEx" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/sign/poster/contraband/pwr_game/directional/north, /turf/open/floor/iron/dark, /area/station/service/janitor) +"gEC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = 24; + idSelf = "middleright_upper_eva_airlock_control"; + idInterior = "middleright_upper_eva_internal"; + idExterior = "middleright_upper_eva_external" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) "gEK" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -21550,6 +21648,15 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/plating, /area/station/maintenance/tram/right) +"gFI" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters N"; + id_tag = "private_n" + }, +/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/dorms) "gFO" = ( /obj/machinery/computer/security{ dir = 4 @@ -21559,23 +21666,13 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/science) -"gFP" = ( -/obj/structure/table, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Virology Patient Room A" +"gGb" = ( +/obj/structure/sign/warning/secure_area{ + name = "BOMB RANGE"; + desc = "A warning sign which reads 'BOMB RANGE" }, -/turf/open/floor/iron, -/area/station/medical/virology) -"gGf" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/power/solar{ - name = "Starboard Solar Array"; - id = "forestarboard" - }, -/obj/structure/cable, -/turf/open/space/basic, -/area/station/solars/starboard/fore) +/turf/closed/wall, +/area/station/science/ordnance/bomb) "gGi" = ( /obj/machinery/modular_computer/preset/civilian, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -21591,6 +21688,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/right) +"gGx" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Chemistry Airlock" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "gGy" = ( /obj/effect/turf_decal/sand/plating, /obj/machinery/light/small/directional/south, @@ -21601,29 +21711,6 @@ /obj/item/instrument/harmonica, /turf/open/floor/iron, /area/station/security/prison) -"gHd" = ( -/obj/item/toy/crayon/orange, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 8; - pixel_y = -32 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 4; - pixel_y = -32 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = -4; - pixel_y = -32 - }, -/obj/effect/decal/cleanable/crayon/x{ - pixel_x = 4; - pixel_y = -32 - }, -/turf/open/floor/plating, -/area/station/engineering/main) "gHe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21678,6 +21765,15 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"gIj" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + name = "Oxygen Tank Injection Port"; + dir = 1 + }, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/storage) "gIu" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -21819,15 +21915,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/engineering/engine_smes) -"gLK" = ( -/obj/machinery/airalarm/directional/north, -/obj/structure/cable, -/obj/machinery/camera/motion/directional/north{ - network = list("aicore"); - c_tag = "Secure - AI Core South" - }, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "gLY" = ( /obj/structure/table/wood, /obj/structure/window/reinforced/spawner/directional/east{ @@ -21886,6 +21973,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"gNc" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Security Post - Cargo"; + id_tag = "crgdoor" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/corner, +/obj/effect/mapping_helpers/airlock/access/all/security/brig, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "gNk" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -21950,21 +22053,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"gNU" = ( -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/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/door/airlock/maintenance_hatch{ - name = "Maintenance Hatch" - }, -/obj/modular_map_root/tramstation{ - name = "dormenginelower"; - key = "dormenginelower" - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/crew_quarters/dorms) "gNX" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -22025,6 +22113,24 @@ }, /turf/open/floor/glass/reinforced/tram, /area/station/hallway/primary/tram/right) +"gOG" = ( +/obj/machinery/door/airlock/research{ + name = "Research Division Access" + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Research Lockdown Blastdoor"; + id = "Sciencelockdown" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/iron/white/side, +/area/station/science/research) "gPA" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -22082,23 +22188,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"gPZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleright_lower_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleright_lower_eva_airlock_control"; - idDoor = "middleright_lower_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) "gQk" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -22150,6 +22239,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"gRO" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/machinery/computer/security/telescreen{ + name = "Prison Monitor"; + desc = "Used for watching Prison Wing holding areas."; + dir = 8; + pixel_x = 30; + network = list("prison") + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/security/office) "gRQ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -22173,6 +22278,19 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"gSa" = ( +/obj/structure/table, +/obj/item/radio/intercom/prison/directional/east, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security","prison","pcell"); + c_tag = "Security - Prison Cell 6" + }, +/turf/open/floor/iron, +/area/station/security/prison/safe) "gSf" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/service_all, @@ -22209,16 +22327,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"gSR" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - name = "Radiation Chamber Shutters"; - id = "engsm" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter) "gTu" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -22274,6 +22382,18 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"gTY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = -24; + idSelf = "middleleft_lower_lower_eva_airlock_control"; + idInterior = "middleleft_lower_lower_eva_internal"; + idExterior = "middleleft_lower_lower_eva_external" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/mid) "gUn" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 9 @@ -22303,14 +22423,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) -"gVn" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/shutters/window{ - name = "External Operations Shutter Access"; - id = "offstationaccess" +"gVd" = ( +/obj/structure/railing{ + dir = 1 }, -/turf/open/floor/iron, -/area/station/command/teleporter) +/obj/machinery/camera/directional/south{ + network = list("aicore"); + c_tag = "Secure - AI Upper Ring North" + }, +/turf/open/floor/glass/reinforced, +/area/station/ai_monitored/turret_protected/aisat/hallway) "gVI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -22356,6 +22478,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"gWt" = ( +/obj/effect/turf_decal/box, +/obj/structure/fluff/shower_drain, +/obj/machinery/shower/directional/west, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "gWu" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -22367,6 +22496,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) +"gWx" = ( +/mob/living/simple_animal/bot/secbot/pingsky{ + 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/circuit, +/area/station/ai_monitored/turret_protected/aisat_interior) "gWD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -22376,17 +22514,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"gWL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "rightmost_lower_eva_airlock_control"; - idInterior = "rightmost_lower_eva_internal"; - idExterior = "rightmost_lower_eva_external" - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/right) "gWM" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/cable, @@ -22488,16 +22615,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"gZA" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Main South-West" - }, -/turf/open/floor/iron, -/area/station/security/prison) "gZB" = ( /obj/effect/landmark/start/station_engineer, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22589,14 +22706,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/art) -"hbr" = ( -/obj/structure/table, -/obj/machinery/door/poddoor/shutters{ - name = "Vacant Commissary Shutters"; - id = "commissarydeezdoorz" - }, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) "hbQ" = ( /obj/machinery/camera/directional/north{ c_tag = "Civilian - Holodeck Controls" @@ -22654,6 +22763,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/processing) +"hdG" = ( +/obj/structure/table, +/obj/machinery/status_display/ai/directional/south, +/obj/machinery/camera{ + dir = 10; + network = list("ss13","minisat"); + c_tag = "Secure - AI Minisat Entry" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/foyer) "hdH" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -22679,6 +22798,11 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"hdT" = ( +/mob/living/basic/pet/fox/renault, +/obj/structure/bed/dogbed/renault, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain) "hee" = ( /turf/closed/wall/r_wall, /area/station/asteroid) @@ -22688,29 +22812,6 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) -"heu" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - Entry Airlock" - }, -/turf/open/floor/iron, -/area/station/engineering/main) -"hew" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Test Chamber Blast Door"; - id = "Xenolab" - }, -/obj/structure/sign/warning/electric_shock/directional/north, -/turf/open/floor/plating, -/area/station/science/xenobiology) "heD" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -22775,6 +22876,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison) +"hfs" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/camera{ + dir = 6; + network = list("aicore"); + c_tag = "Secure - AI Upper Ring West" + }, +/turf/open/floor/glass/reinforced, +/area/station/ai_monitored/turret_protected/aisat/hallway) "hft" = ( /obj/structure/bed{ dir = 8 @@ -22822,15 +22934,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"hgx" = ( -/obj/machinery/door/poddoor/preopen{ - name = "Atmospherics Blast Door"; - id = "atmos" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/turf/open/floor/iron, -/area/station/engineering/atmos) "hgG" = ( /obj/structure/sign/warning/secure_area/directional/north, /obj/structure/disposalpipe/segment{ @@ -22852,6 +22955,13 @@ "hhc" = ( /turf/open/floor/iron/dark, /area/station/command/bridge) +"hhf" = ( +/obj/machinery/power/smes{ + charge = 5e+06 + }, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "hht" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22876,6 +22986,15 @@ /obj/effect/mapping_helpers/mail_sorting/service/library, /turf/open/floor/carpet, /area/station/service/library) +"hhJ" = ( +/obj/machinery/requests_console/directional/east{ + name = "Captain's Requests Console"; + department = "Captain's Desk" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "hhN" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 10 @@ -22955,24 +23074,18 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) -"hiQ" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/south{ - name = "Access Queue" +"hiG" = ( +/obj/effect/turf_decal/sand, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 }, -/obj/machinery/door/window/brigdoor/left/directional/north{ - name = "Access Desk"; - req_access = list("hop") +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security","prison"); + c_tag = "Security - Rec Room East" }, -/obj/structure/desk_bell{ - pixel_x = -7 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Privacy Shutters"; - id = "hop" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/hop) +/turf/open/floor/iron, +/area/station/security/prison/workout) "hiR" = ( /obj/machinery/door/airlock{ name = "Bathroom" @@ -23020,6 +23133,20 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"hjv" = ( +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Distribution Loop" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Air to Distro"; + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "hjx" = ( /obj/effect/turf_decal/siding/thinplating/dark, /obj/machinery/duct, @@ -23041,38 +23168,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"hkh" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/computer/prisoner/management{ - dir = 4 - }, -/obj/machinery/requests_console/directional/west{ - name = "Security Requests Console"; - department = "Security" - }, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron/showroomfloor, -/area/station/security/warden) -"hko" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/machinery/requests_console/directional/north{ - name = "Cargo Bay Requests Console"; - department = "Cargo Bay" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/cargo/office) "hkt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/corner{ @@ -23127,16 +23222,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"hkZ" = ( -/obj/structure/noticeboard/directional/north, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Robotics" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/closet/crate/mod, -/turf/open/floor/iron/dark, -/area/station/science/robotics/lab) "hlb" = ( /obj/machinery/newscaster/directional/north, /obj/machinery/modular_computer/preset/id, @@ -23195,16 +23280,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"hlP" = ( -/obj/structure/table, -/obj/machinery/status_display/ai/directional/south, -/obj/machinery/camera{ - dir = 10; - network = list("ss13","minisat"); - c_tag = "Secure - AI Minisat Entry" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/foyer) "hlS" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/cable, @@ -23251,6 +23326,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"hmR" = ( +/obj/machinery/camera/directional/south{ + pixel_x = 14; + c_tag = "Cargo Bay - Drone Launch Room" + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 6 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron, +/area/station/cargo/drone_bay) "hmZ" = ( /obj/structure/sign/poster/official/space_cops/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -23276,17 +23363,6 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/wood/large, /area/station/service/library) -"hnL" = ( -/obj/machinery/flasher/directional/south{ - pixel_x = 20; - id = "AI" - }, -/obj/machinery/door/window/brigdoor/right/directional/north{ - name = "Primary AI Core Access"; - req_access = list("ai_upload") - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "hnP" = ( /obj/effect/turf_decal/trimline/dark_green/filled/corner{ dir = 4 @@ -23344,6 +23420,28 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"hoT" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + name = "Exfiltrate Port"; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) +"hpf" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Engine"; + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos) "hpt" = ( /obj/structure/fluff/tram_rail/electric/anchor, /obj/structure/lattice, @@ -23373,6 +23471,44 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"hqp" = ( +/obj/structure/table, +/obj/item/razor{ + pixel_x = 9; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/rag{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/reagent_containers/cup/bottle{ + name = "Barber's Aid bottle"; + desc = "A small bottle of Barber's Aid."; + pixel_x = -2; + pixel_y = 10; + list_reagents = list(/datum/reagent/barbers_aid=30) + }, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/turf/open/floor/wood/large, +/area/station/service/barber) +"hqx" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen{ + name = "AI Upload Monitor"; + desc = "Used for watching the ai_upload."; + dir = 4; + pixel_x = -28; + network = list("aiupload") + }, +/obj/item/kirbyplants/photosynthetic, +/obj/machinery/camera/directional/west{ + network = list("ss13","rd"); + c_tag = "Science - AI Access Hallway" + }, +/turf/open/floor/iron/dark, +/area/station/science/lower) "hqN" = ( /obj/structure/weightmachine/weightlifter, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -23405,30 +23541,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/break_room) -"hrs" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/structure/table, -/obj/item/radio/off, -/obj/item/screwdriver{ - pixel_y = 10 - }, -/obj/machinery/button/door/directional/north{ - name = "Atmospherics Lockdown"; - pixel_x = -6; - id = "atmos"; - req_access = list("atmospherics") - }, -/obj/machinery/button/door/directional/north{ - name = "Engineering Lockdown"; - desc = "A door remote control switch for the engineering security airlocks."; - pixel_x = 6; - id = "Engineering"; - req_access = list("engineering") - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/engineering) "hrF" = ( /obj/structure/table/wood, /turf/open/floor/wood/large, @@ -23463,6 +23575,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) +"hss" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Dorm 1"; + id_tag = "prisondorm" + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/security/prison/safe) "hst" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -23500,6 +23624,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/ai_monitored/security/armory) +"htr" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/preopen{ + name = "Bridge Blast Door"; + id = "bunkermodeactivated" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron, +/area/station/command/bridge) "htJ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/end{ @@ -23507,23 +23640,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/left) -"huc" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "rightmost_lower_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "rightmost_lower_eva_airlock_control"; - idDoor = "rightmost_lower_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/right) "huz" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -23545,34 +23661,24 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"huL" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "outerbrigright" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_right" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/landmark/navigate_destination/sec, -/turf/open/floor/iron, -/area/station/security/brig) "huO" = ( /obj/structure/transport/linear/tram, /obj/structure/tram/split, /obj/machinery/transport/destination_sign/split/south, /turf/open/openspace, /area/station/hallway/primary/tram/center) +"huT" = ( +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 8 + }, +/obj/machinery/camera{ + dir = 10; + c_tag = "Arrivals - Central Hall" + }, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/hallway/secondary/entry) "huW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -23634,17 +23740,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"hwp" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/stack/cable_coil{ - pixel_x = 6; - pixel_y = 6; - amount = 15 - }, -/obj/item/stack/cable_coil/cut, -/turf/open/floor/iron/smooth, -/area/station/security/mechbay) "hwv" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -23660,21 +23755,17 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"hwL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/window/left/directional/west{ - name = "Chapel Delivery Chute" +"hwM" = ( +/obj/effect/turf_decal/bot, +/obj/machinery/requests_console/directional/west{ + name = "Robotics Requests Console"; + department = "Robotics" }, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/machinery/navbeacon{ - name = "navigation beacon (Chapel Delivery)"; - location = "Chapel"; - codes_txt = "delivery;dir=8" - }, -/turf/open/floor/plating, -/area/station/maintenance/department/crew_quarters/dorms) +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/robotics/lab) "hwO" = ( /obj/structure/stairs/south, /turf/open/floor/iron/stairs/left{ @@ -23707,21 +23798,6 @@ }, /turf/open/floor/iron/dark/smooth_corner, /area/station/commons/fitness) -"hzd" = ( -/obj/structure/closet/crate, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Workshop" - }, -/obj/item/stack/license_plates/empty/fifty, -/obj/item/stack/license_plates/empty/fifty, -/obj/machinery/light/directional/east, -/turf/open/floor/plating, -/area/station/security/prison/work) "hze" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -23788,6 +23864,19 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit) +"hAW" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/portable_atmospherics/canister, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics East" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "hBf" = ( /turf/open/floor/iron/grimy, /area/station/security/detectives_office) @@ -23795,6 +23884,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) +"hBs" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/status_display/door_timer{ + name = "Isolation Cell D"; + pixel_y = -32; + id = "Isolation_D" + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "hBy" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -23818,6 +23921,14 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"hBJ" = ( +/obj/machinery/camera{ + dir = 9; + network = list("aicore"); + c_tag = "Secure - AI Upper Ring South" + }, +/turf/open/floor/glass/reinforced, +/area/station/ai_monitored/turret_protected/aisat/hallway) "hBK" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 10 @@ -23830,6 +23941,17 @@ }, /turf/open/floor/iron, /area/station/commons/fitness) +"hBY" = ( +/obj/machinery/computer/security/telescreen{ + name = "turbine vent monitor"; + desc = "Used for watching the turbine vent."; + dir = 8; + pixel_x = 29; + network = list("turbine") + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "hCp" = ( /obj/structure/chair/stool/bar/directional/north, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -23842,6 +23964,19 @@ /obj/machinery/vending/cigarette, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"hCA" = ( +/obj/machinery/chem_master/condimaster{ + name = "HoochMaster Deluxe"; + desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; + pixel_x = -4 + }, +/obj/structure/sign/clock/directional/north, +/obj/machinery/light_switch/directional/north{ + pixel_x = -8; + pixel_y = 23 + }, +/turf/open/floor/wood, +/area/station/service/bar/backroom) "hCN" = ( /obj/machinery/portable_atmospherics/canister/nitrous_oxide, /obj/machinery/light/floor, @@ -23880,14 +24015,6 @@ "hDI" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"hDK" = ( -/obj/machinery/camera/directional/east{ - pixel_y = -23; - c_tag = "Hallway - Central Tram Platform South" - }, -/obj/machinery/light/directional/east, -/turf/open/floor/noslip/tram, -/area/station/hallway/primary/tram/center) "hDT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/effect/turf_decal/trimline/purple/filled/corner, @@ -23981,22 +24108,6 @@ /obj/item/instrument/musicalmoth, /turf/open/floor/plating, /area/station/maintenance/tram/mid) -"hFh" = ( -/obj/structure/table/wood, -/obj/item/storage/box/seccarts{ - pixel_x = 3; - pixel_y = 2 - }, -/obj/item/storage/box/deputy, -/obj/item/radio/intercom/directional/west, -/obj/machinery/button/door/directional/west{ - name = "Emergency Blast Doors"; - pixel_y = -8; - id = "HOSOffice"; - req_access = list("hos") - }, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/hos) "hFq" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -24043,15 +24154,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"hFU" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters D"; - id_tag = "private_d" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/commons/dorms) "hFV" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -24113,17 +24215,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"hHu" = ( -/obj/effect/turf_decal/tile/brown/fourcorners, -/obj/machinery/conveyor_switch/oneway{ - dir = 1; - id = "mining" - }, -/obj/structure/railing{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/miningfoundry) "hHB" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -24136,6 +24227,17 @@ "hHI" = ( /turf/open/floor/glass, /area/station/command/meeting_room) +"hHM" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/corner, +/obj/machinery/button/door/directional/east{ + name = "Cargo Warehouse Shutters"; + id = "cargowarehouse" + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "hHY" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -24212,32 +24314,10 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/engineering/atmos) -"hKe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/emp_proof/directional/south{ - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Engine Room South-East" - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "hKj" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/right) -"hKz" = ( -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleright_lower_upper_eva_airlock_control"; - idInterior = "middleright_lower_upper_eva_internal"; - idExterior = "middleright_lower_upper_eva_external" - }, -/obj/structure/ladder, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/smooth, -/area/station/maintenance/tram/mid) "hKM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/structure/cable/layer1, @@ -24249,17 +24329,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hKU" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = -9; - id = "private_n"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) "hKV" = ( /obj/machinery/vending/snack, /obj/effect/turf_decal/tile/bar/opposingcorners, @@ -24302,20 +24371,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/courtroom) -"hLE" = ( -/obj/effect/turf_decal/trimline/brown/filled/line, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 +"hLx" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Dorm 3"; + id_tag = "prisondorm" }, -/obj/structure/table, -/obj/machinery/fax{ - name = "Cargo Office Fax Machine"; - fax_name = "Cargo Office" +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, -/area/station/cargo/storage) +/area/station/security/prison/safe) "hMg" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -24333,19 +24401,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) -"hMo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Engine Room North-East" - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "hMq" = ( /obj/structure/rack, /obj/structure/window/reinforced/spawner/directional/north, @@ -24373,6 +24428,20 @@ }, /turf/open/floor/wood, /area/station/service/theater) +"hMG" = ( +/obj/machinery/vending/wardrobe/science_wardrobe, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 + }, +/obj/machinery/requests_console/directional/east{ + name = "Research Requests Console"; + department = "Research Lab" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron/white, +/area/station/science/lab) "hMI" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron, @@ -24447,14 +24516,6 @@ /obj/machinery/light/floor, /turf/open/floor/engine/air, /area/station/engineering/atmos) -"hNM" = ( -/obj/effect/turf_decal/trimline/white/filled/line, -/obj/machinery/camera{ - dir = 10; - c_tag = "Secure - Tech Secure Storage" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "hNR" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/disposalpipe/segment{ @@ -24506,6 +24567,29 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) +"hOE" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "External Waste Ports to Filter"; + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"hOS" = ( +/obj/structure/table, +/obj/item/radio/intercom/prison/directional/east, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security","prison","pcell"); + c_tag = "Security - Prison Cell 2" + }, +/turf/open/floor/iron, +/area/station/security/prison/safe) "hOZ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -24529,13 +24613,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"hPu" = ( -/obj/structure/chair/comfy/black, -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/wood, -/area/station/command/meeting_room) "hPA" = ( /obj/structure/chair/office{ dir = 1 @@ -24626,17 +24703,19 @@ /obj/structure/transport/linear/public, /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/mid) -"hQM" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 +"hRa" = ( +/obj/machinery/computer/scan_consolenew{ + dir = 4 }, -/obj/item/radio/intercom/directional/west, /obj/machinery/camera/directional/west{ network = list("ss13","rd"); - c_tag = "Science - Upper Hall Right" + c_tag = "Science - Genetics" }, +/obj/structure/sign/clock/directional/west, +/obj/effect/turf_decal/tile/dark_green/fourcorners, +/obj/machinery/light/directional/west, /turf/open/floor/iron/white, -/area/station/science/research) +/area/station/science/genetics) "hRi" = ( /obj/machinery/power/emitter, /obj/effect/turf_decal/stripes/corner{ @@ -24771,15 +24850,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"hUm" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez4" +"hUf" = ( +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Incinerator" }, -/turf/open/floor/plating, -/area/station/science/xenobiology) +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "hUr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24828,6 +24913,23 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/command/teleporter) +"hUY" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "mostleft_lower_lower_eva_external"; + autoclose = 0 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "mostleft_lower_lower_eva_airlock_control"; + idDoor = "mostleft_lower_lower_eva_external" + }, +/obj/effect/turf_decal/sand, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/left) "hVa" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -24846,19 +24948,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/safe) -"hVp" = ( -/obj/effect/turf_decal/trimline/purple/filled/line, -/obj/structure/chair{ - dir = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Front Lobby" - }, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron/white, -/area/station/science/lobby) "hVy" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /obj/machinery/light/floor, @@ -24875,14 +24964,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) -"hWo" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/camera/directional/south{ - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Main East" - }, -/turf/open/floor/iron, -/area/station/security/prison) "hWI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -24904,37 +24985,12 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"hWN" = ( -/mob/living/basic/goat/pete, -/obj/effect/turf_decal/weather/snow/corner{ - dir = 10 - }, -/obj/effect/turf_decal/weather/snow, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/kitchen_coldroom, -/area/station/service/kitchen/coldroom) "hWZ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/maintenance/radshelter/civil) -"hXf" = ( -/obj/machinery/elevator_control_panel/directional/north{ - name = "Dumbwaiter control Panel"; - desc = "A small control panel used to move the kitchen dumbwaiter up and down."; - linked_elevator_id = "dumbwaiter_lift"; - preset_destination_names = list("2"="Hydroponics", "3"="Kitchen") - }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron/white/side, -/area/station/service/kitchen) "hXJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/status_display/ai/directional/north, @@ -25064,18 +25120,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hZj" = ( -/obj/structure/table, -/obj/item/radio/intercom/prison/directional/west, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","prison","pcell"); - c_tag = "Security - Prison Cell 1" - }, -/turf/open/floor/iron, -/area/station/security/prison/safe) "hZr" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) @@ -25090,6 +25134,23 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"hZA" = ( +/mob/living/basic/mouse, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) +"hZB" = ( +/obj/effect/turf_decal/trimline/white/line{ + dir = 9 + }, +/obj/item/radio/intercom/directional/south{ + name = "Private Channel"; + frequency = 1447; + listening = 0; + freerange = 1 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "hZL" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -25146,20 +25207,15 @@ "ial" = ( /turf/open/floor/iron, /area/station/engineering/break_room) -"iaN" = ( -/obj/machinery/vending/wardrobe/science_wardrobe, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 +"iaE" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters E"; + id_tag = "private_e" }, -/obj/machinery/requests_console/directional/east{ - name = "Research Requests Console"; - department = "Research Lab" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/structure/sign/clock/directional/north, -/turf/open/floor/iron/white, -/area/station/science/lab) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "iaT" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25167,45 +25223,31 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"ibe" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner{ +"ibg" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Kitchen Counter Shutters"; + id = "playerscantreadthis" + }, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 8 + }, +/turf/open/floor/iron/checker, +/area/station/service/kitchen) +"ibs" = ( +/obj/machinery/recharge_station, +/obj/effect/turf_decal/box, +/obj/effect/turf_decal/stripes/line{ dir = 4 }, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "O2 Outlet Pump"; - dir = 1 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"ibP" = ( -/obj/structure/table, -/obj/item/radio/intercom/prison/directional/west, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","prison","pcell"); - c_tag = "Security - Prison Cell 5" +/obj/machinery/button/door/directional/north{ + name = "Mech Bay Shutters Control"; + id = "mechbay"; + req_access = list("robotics") }, /turf/open/floor/iron, -/area/station/security/prison/safe) -"ibR" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Lower Hall East" - }, -/turf/open/floor/iron/white, -/area/station/science/lower) +/area/station/science/robotics/mechbay) "ibW" = ( /obj/effect/spawner/xmastree, /turf/open/floor/carpet, @@ -25313,15 +25355,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"idQ" = ( -/obj/machinery/camera/directional/south{ - name = "holodeck camera"; - c_tag = "Civilian - Holodeck South" +"idI" = ( +/obj/machinery/camera/directional/east{ + pixel_y = -23; + c_tag = "Hallway - Starboard Tram Platform South" }, -/turf/open/floor/engine{ - name = "Holodeck Projector Floor" - }, -/area/station/holodeck/rec_center) +/obj/machinery/light/directional/east, +/turf/open/floor/noslip/tram, +/area/station/hallway/primary/tram/right) "idW" = ( /obj/structure/railing/corner, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -25369,38 +25410,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/chapel) -"ieR" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/east{ - name = "Containment Pen #6"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/west{ - name = "Containment Pen #6"; - req_access = list("xenobiology") - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez6" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "ieV" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, /turf/open/floor/plating, /area/station/security/checkpoint/science) -"ieZ" = ( -/obj/structure/chair{ - name = "Judge"; - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/directional/west{ - c_tag = "Civilian - Courtroom" - }, -/turf/open/floor/iron, -/area/station/security/courtroom) "ifg" = ( /obj/structure/railing{ dir = 4 @@ -25434,23 +25448,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/commons/dorms) -"ifv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleleft_lower_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleleft_lower_eva_airlock_control"; - idDoor = "middleleft_lower_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) "ifw" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 10 @@ -25492,6 +25489,19 @@ }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) +"ifU" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/structure/chair, +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera{ + dir = 10; + network = list("ss13","Security"); + c_tag = "Departures - Holding Wing" + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "ifX" = ( /obj/machinery/portable_atmospherics/canister/plasma, /turf/open/floor/plating, @@ -25568,29 +25578,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"ihT" = ( -/obj/structure/table, -/obj/item/storage/medkit/regular{ - pixel_x = 6; - pixel_y = -5 - }, -/obj/machinery/status_display/supply{ - pixel_y = 32 - }, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","cargo"); - c_tag = "Cargo - Main Office" - }, -/obj/item/multitool, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/light/directional/north, -/turf/open/floor/iron, -/area/station/cargo/office) "iig" = ( /obj/effect/turf_decal/trimline/green/corner, /obj/effect/turf_decal/trimline/green/corner{ @@ -25686,6 +25673,17 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"ikc" = ( +/obj/machinery/vending/cigarette, +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera{ + dir = 9; + network = list("ss13","cargo"); + c_tag = "Cargo - Mining Break Room" + }, +/obj/effect/turf_decal/tile/bar/opposingcorners, +/turf/open/floor/iron, +/area/station/cargo/miningdock/cafeteria) "iko" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -25784,23 +25782,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"img" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleright_lower_upper_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleright_lower_upper_eva_airlock_control"; - idDoor = "middleright_lower_upper_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/mid) "imm" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -25847,6 +25828,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/medical) +"inN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door/directional/east{ + name = "Docking Access Control"; + id = "winkyface" + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "inO" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -25897,18 +25886,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/checker, /area/station/commons/lounge) -"ioA" = ( -/obj/structure/chair/stool/directional/north, -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_j"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/turf/open/floor/wood, -/area/station/commons/dorms) "ioC" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -25916,6 +25893,27 @@ /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) +"ioI" = ( +/obj/effect/landmark/transport/transport_id{ + specific_transport_id = "tram_cargo_lift" + }, +/obj/effect/turf_decal/trimline/dark_red/warning{ + dir = 8 + }, +/obj/structure/transport/linear/public, +/obj/machinery/elevator_control_panel/directional/west{ + req_access = list("mining"); + linked_elevator_id = "tram_cargo_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/obj/effect/abstract/elevator_music_zone{ + linked_elevator_id = "tram_cargo_lift" + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/cargo/miningdock) "ioM" = ( /obj/structure/hoop{ dir = 8 @@ -25941,35 +25939,38 @@ /obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron, /area/station/cargo/sorting) -"ipy" = ( -/mob/living/basic/mouse, -/obj/effect/decal/cleanable/dirt, -/obj/structure/fluff/paper/stack{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/tram/mid) "ipC" = ( /obj/effect/turf_decal/stripes/white/line, /obj/machinery/transport/crossing_signal/northwest, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"ipP" = ( +/obj/structure/table, +/obj/item/multitool/circuit{ + pixel_x = -8 + }, +/obj/item/multitool/circuit{ + pixel_x = -4 + }, +/obj/item/multitool/circuit, +/obj/item/stock_parts/cell/high{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/item/stock_parts/cell/high{ + pixel_x = 8; + pixel_y = -2 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Testing Lab" + }, +/turf/open/floor/iron, +/area/station/science/explab) "iqg" = ( /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/freezer, /area/station/security/prison) -"iqw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/machinery/camera/motion/directional/north{ - network = list("aicore"); - c_tag = "Secure - AI Lower Ring Access" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "iqH" = ( /obj/effect/turf_decal/sand, /turf/open/floor/iron, @@ -26011,6 +26012,20 @@ }, /turf/open/floor/glass/reinforced, /area/station/security/brig) +"irf" = ( +/obj/machinery/button/door/directional/east{ + name = "Armory Shutters"; + id = "armory"; + req_access = list("armory") + }, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light_switch/directional/east{ + pixel_x = 23; + pixel_y = -8 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "irv" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 9 @@ -26077,6 +26092,16 @@ }, /turf/open/floor/iron/dark, /area/station/medical/break_room) +"isP" = ( +/obj/structure/table, +/obj/item/radio/intercom/directional/east{ + name = "Custom Channel"; + pixel_x = 0; + listening = 0; + freerange = 1 + }, +/turf/open/floor/iron/dark/small, +/area/station/commons/vacant_room) "isV" = ( /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -26100,6 +26125,13 @@ }, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) +"itE" = ( +/obj/modular_map_root/tramstation{ + name = "atmoscilower"; + key = "atmoscilower" + }, +/turf/open/misc/asteroid, +/area/station/asteroid) "itH" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/oil/slippery, @@ -26134,23 +26166,6 @@ /obj/effect/turf_decal/stripes/white/full, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"iul" = ( -/obj/machinery/requests_console/directional/south{ - name = "Janitorial Requests Console"; - department = "Janitorial" - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 6 - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/service/janitor) "iur" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26278,6 +26293,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/courtroom/holding) +"iws" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters{ + name = "Mech Bay"; + dir = 4; + id = "mechbay" + }, +/turf/open/floor/plating, +/area/station/science/robotics/mechbay) "iwP" = ( /obj/structure/sign/departments/vault/directional/north, /obj/effect/turf_decal/stripes/end, @@ -26289,15 +26313,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/command/nuke_storage) -"iwU" = ( -/obj/structure/lattice, -/obj/machinery/camera/motion{ - dir = 9; - network = list("ss13","minisat"); - c_tag = "Secure - AI Lower External South" - }, -/turf/open/space/basic, -/area/space/nearstation) "iwV" = ( /obj/effect/turf_decal/trimline/white/filled/line{ dir = 4 @@ -26320,27 +26335,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) -"ixi" = ( -/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/red/filled/line{ - dir = 1 - }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/north, -/turf/open/floor/iron, -/area/station/security/checkpoint/science) -"ixm" = ( -/obj/machinery/turretid{ - name = "AI Chamber turret control"; - icon_state = "control_stun"; - pixel_x = 3; - pixel_y = -23 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "ixq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26358,6 +26352,16 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/port/central) +"ixu" = ( +/obj/structure/noticeboard/directional/north, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Robotics" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/closet/crate/mod, +/turf/open/floor/iron/dark, +/area/station/science/robotics/lab) "ixy" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -26383,6 +26387,16 @@ }, /turf/open/space/openspace, /area/space) +"ixO" = ( +/obj/structure/chair/comfy/brown{ + dir = 8; + color = "#c45c57"; + buildstackamount = 0 + }, +/obj/effect/landmark/start/detective, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/carpet, +/area/station/security/detectives_office) "ixT" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26433,16 +26447,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningdock) -"izq" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","rd","xeno"); - c_tag = "Science - Xenobiology Lower Containment Chamber" - }, -/obj/machinery/atmospherics/components/unary/outlet_injector/on{ - dir = 4 - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "izy" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26569,6 +26573,13 @@ /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" + }, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "iCj" = ( /obj/structure/holosign/barrier/atmos/tram, /obj/structure/cable, @@ -26635,11 +26646,37 @@ outbound = 2 }, /area/station/hallway/primary/tram/right) +"iDR" = ( +/obj/structure/table/wood, +/obj/item/folder/blue, +/obj/item/stamp/head/hop, +/obj/item/trapdoor_remote/preloaded{ + pixel_x = -8 + }, +/obj/machinery/requests_console/directional/west{ + name = "Head of Personnel's Requests Console"; + department = "Head of Personnel's Desk" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "iEl" = ( /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/commons/lounge) +"iEz" = ( +/obj/structure/lattice, +/obj/machinery/camera/motion{ + dir = 10; + network = list("ss13","minisat"); + c_tag = "Secure - AI Lower External East" + }, +/turf/open/space/basic, +/area/space/nearstation) "iEF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/circuit/telecomms, @@ -26693,17 +26730,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"iFE" = ( -/obj/machinery/door/window/brigdoor/right/directional/east{ - name = "Science Cell"; - id = "scicell"; - req_access = list("security") - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/fourcorners, -/turf/open/floor/iron, -/area/station/security/checkpoint/science) "iFH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26732,24 +26758,17 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"iGb" = ( -/obj/effect/turf_decal/tile/neutral/tram, -/obj/effect/spawner/random{ - name = "funny slipper :)"; - loot = list(/obj/effect/decal/cleanable/oil/slippery=10, /obj/effect/decal/cleanable/oil=90) +"iGh" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Cooling Loop to Gas"; + dir = 4 }, -/turf/open/floor/tram/plate, -/area/station/hallway/primary/tram/right) -"iGo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/flasher/directional/west{ - pixel_y = -26; - id = "AI" +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, /obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "iGF" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -26923,15 +26942,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/grass, /area/station/service/hydroponics) -"iJt" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/status_display/door_timer{ - name = "Isolation Cell B"; - pixel_y = -32; - id = "Isolation_B" - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "iJM" = ( /obj/machinery/light/warm/directional/north, /turf/open/floor/grass, @@ -27018,6 +27028,21 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"iMd" = ( +/obj/structure/table, +/obj/item/folder/white{ + pixel_y = 4 + }, +/obj/item/pen/red, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Virology Patient Room B" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/medical/virology) "iMj" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/white/full, @@ -27040,20 +27065,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) -"iMo" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Chief Medical Officer's Office" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/cmo) "iMt" = ( /obj/machinery/air_sensor/oxygen_tank{ chamber_id = "o2ordance" @@ -27085,22 +27096,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) +"iMC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/box, +/obj/structure/sign/warning/directional/west{ + name = "FALLING HAZARD sign"; + desc = "A sign warning you to be cautious of falling packages." + }, +/turf/open/floor/plating, +/area/station/service/lawoffice) "iMH" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/main) -"iNa" = ( -/obj/structure/closet/secure_closet/brig{ - name = "Cargo Cell Locker"; - id = "crgcell" - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "iNc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27125,21 +27133,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/dorms) -"iNJ" = ( -/obj/machinery/conveyor{ - id = "cargolower" - }, -/obj/machinery/door/poddoor/preopen{ - name = "Disposal Exit Vent"; - id = "Disposal Exit" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash/garbage{ - spawn_loot_count = 3; - spawn_scatter_radius = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "iNR" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -27180,15 +27173,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"iOd" = ( -/obj/structure/sign/poster/official/safety_report/directional/north, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security"); - c_tag = "Security - Equipment Room" - }, -/turf/open/floor/iron/showroomfloor, -/area/station/security/lockers) "iOh" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -27199,24 +27183,22 @@ "iOi" = ( /turf/open/floor/wood/large, /area/station/service/library) -"iOj" = ( -/obj/structure/table/glass, -/obj/item/stack/medical/mesh, -/obj/item/stack/medical/gauze, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 +"iOm" = ( +/obj/machinery/button/flasher{ + pixel_x = 23; + pixel_y = -10; + id = "hopflash" }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 6 +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) +"iOo" = ( +/obj/docking_port/stationary/random{ + name = "lavaland"; + dir = 8; + shuttle_id = "pod_lavaland" }, -/obj/machinery/camera/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medical - Treatment South-East" - }, -/obj/machinery/vending/wallmed/directional/east, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +/turf/open/misc/asteroid/airless, +/area/station/asteroid) "iOy" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/effect/turf_decal/trimline/neutral/filled/warning, @@ -27235,6 +27217,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, /area/station/commons/vacant_room) +"iOG" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 6; + c_tag = "Arrivals - South Docking Hall" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "iON" = ( /turf/open/floor/iron/stairs/left, /area/station/science/lower) @@ -27247,6 +27242,21 @@ }, /turf/open/floor/iron, /area/station/cargo/warehouse) +"iOS" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/table/glass, +/obj/item/storage/medkit/regular{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/storage/medkit/regular, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Main North" + }, +/obj/machinery/light/cold/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "iOT" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -27279,18 +27289,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"iPm" = ( -/obj/effect/spawner/random/vending/colavend, -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Breakroom" - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/break_room) "iPy" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -27307,42 +27305,6 @@ }, /turf/open/floor/iron, /area/station/security/prison) -"iQn" = ( -/obj/structure/filingcabinet, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Ordnance Lab" - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/office) -"iQo" = ( -/obj/machinery/atmospherics/components/binary/valve/digital/on{ - name = "Output Release"; - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) -"iQA" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Distribution Loop" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Air to Distro"; - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) "iQC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -27402,13 +27364,6 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/research) -"iRp" = ( -/obj/machinery/door/airlock{ - name = "Private Stall 1"; - id_tag = "ToiletSci1" - }, -/turf/open/floor/iron/freezer, -/area/station/science/lower) "iRC" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron/grimy, @@ -27425,17 +27380,6 @@ /obj/item/radio, /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) -"iRW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/mail_sorting/service/hop_office, -/obj/structure/disposalpipe/sorting/mail/flip{ - name = "sorting disposal pipe (Head of Personnel's Office)"; - dir = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) "iRZ" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -27479,6 +27423,22 @@ /obj/machinery/griddle, /turf/open/floor/iron/white, /area/station/commons/vacant_room) +"iSC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/camera{ + dir = 9; + c_tag = "Maintenance - East Tram Tunnel 3" + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/white/warning, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/tram/right) "iSF" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 @@ -27523,24 +27483,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"iTx" = ( -/obj/structure/table/glass, -/obj/item/storage/medkit/regular{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/clothing/glasses/hud/health, -/obj/item/clothing/neck/stethoscope, -/obj/machinery/requests_console/directional/south{ - name = "Chief Medical Officer's Request Console"; - department = "Chief Medical Officer's Console" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "iTz" = ( /turf/closed/wall, /area/station/service/lawoffice) @@ -27587,13 +27529,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/cmo) -"iUa" = ( -/obj/structure/sign/warning/secure_area{ - name = "BOMB RANGE"; - desc = "A warning sign which reads 'BOMB RANGE" - }, -/turf/closed/wall, -/area/station/science/ordnance/bomb) "iUf" = ( /obj/machinery/door/airlock/grunge{ name = "Morgue" @@ -27634,40 +27569,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"iUA" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/docking{ - name = "KEEP CLEAR: TRAM DOCKING AREA sign"; - desc = "A warning sign which reads 'KEEP CLEAR OF TRAM DOCKING AREA'."; - pixel_y = 32 - }, -/obj/effect/turf_decal/siding/thinplating, -/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/trimline/white/warning, -/turf/open/floor/iron, -/area/station/maintenance/tram/left) -"iUB" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - name = "Prison Dorm 6"; - id_tag = "prisondorm" - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/prison/safe) "iUD" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -27720,6 +27621,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"iVs" = ( +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/effect/turf_decal/arrows/white{ + dir = 4; + color = "#0000FF" + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "iVt" = ( /obj/structure/bed, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -27741,20 +27653,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"iVF" = ( -/obj/structure/transport/linear/public, -/obj/machinery/elevator_control_panel/directional/west{ - linked_elevator_id = "tram_sci_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") - }, -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 9 - }, -/obj/structure/railing{ - dir = 9 - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/science/lower) "iVG" = ( /obj/effect/turf_decal/trimline/green/corner{ dir = 8 @@ -27833,17 +27731,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"iXI" = ( -/obj/machinery/ai_slipper{ - uses = 10 - }, -/obj/machinery/airalarm/directional/south, -/obj/machinery/camera/directional/south{ - network = list("ss13","minisat"); - c_tag = "Secure - AI Antechamber North" - }, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat_interior) "iXQ" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -27889,14 +27776,6 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) -"iYn" = ( -/obj/effect/turf_decal/tile/neutral/tram, -/obj/effect/spawner/random{ - name = "funny slipper :)"; - loot = list(/obj/effect/decal/cleanable/oil/slippery=10, /obj/effect/decal/cleanable/oil=90) - }, -/turf/open/floor/tram/plate, -/area/station/hallway/primary/tram/left) "iYv" = ( /obj/structure/chair/office/light{ dir = 4 @@ -28044,13 +27923,6 @@ /obj/structure/alien/weeds/node, /turf/open/misc/asteroid/airless, /area/station/asteroid) -"jay" = ( -/mob/living/basic/bot/cleanbot, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "jaD" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -28141,14 +28013,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/commons/lounge) -"jbE" = ( -/obj/machinery/door/poddoor{ - name = "Secure Storage"; - id = "Secure Storage" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) "jcm" = ( /obj/structure/disposaloutlet{ dir = 8 @@ -28179,6 +28043,20 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/research) +"jcQ" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","cargo"); + c_tag = "Cargo - Bank Vault" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/cargo/miningdock/oresilo) "jcT" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, @@ -28209,6 +28087,21 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/command/nuke_storage) +"jdt" = ( +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Block North" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/prison/safe) "jdF" = ( /obj/structure/railing, /obj/effect/turf_decal/trimline/blue/filled/line, @@ -28238,6 +28131,22 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"jed" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "innerbrigleft" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_left" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig) "jel" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Maintenance Hatch" @@ -28349,15 +28258,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"jfO" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters G"; - id_tag = "private_g" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/commons/dorms) "jfU" = ( /obj/machinery/door/airlock/hatch{ name = "Secure Pen" @@ -28444,15 +28344,22 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) -"jhA" = ( -/obj/structure/table, -/obj/item/assembly/flash/handheld, -/obj/machinery/fax{ - name = "Security Office Fax Machine"; - fax_name = "Security Office" +"jht" = ( +/obj/machinery/computer/pod/old/mass_driver_controller/trash{ + pixel_x = 24; + pixel_y = 8 }, -/turf/open/floor/iron, -/area/station/security/office) +/obj/effect/turf_decal/stripes/white/corner{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/button/door/directional/east{ + name = "Trash Disposal Toggle"; + pixel_y = -8; + id = "fortnitedoor" + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal) "jhN" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 6 @@ -28460,6 +28367,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/miningdock) +"jhV" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Lobby North" + }, +/turf/open/floor/iron, +/area/station/engineering/break_room) "jid" = ( /obj/effect/turf_decal/trimline/white/filled/corner{ dir = 1 @@ -28556,27 +28475,15 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"jjO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleright_upper_eva_external"; - autoclose = 0 +"jjG" = ( +/obj/structure/lattice, +/obj/machinery/camera/motion{ + dir = 6; + network = list("ss13","minisat"); + c_tag = "Secure - AI Lower External West" }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleright_upper_eva_airlock_control"; - idDoor = "middleright_upper_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) +/turf/open/space/basic, +/area/space/nearstation) "jjP" = ( /obj/effect/spawner/random/structure/billboard/nanotrasen, /obj/effect/turf_decal/sand/plating, @@ -28594,23 +28501,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"jjV" = ( -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","cargo"); - c_tag = "Cargo - Security Outpost" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/button/door/directional/west{ - name = "Cargo Cell Control"; - id = "crgdoor"; - req_access = list("brig_entrance"); - normaldoorcontrol = 1 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "jkc" = ( /obj/machinery/status_display/ai/directional/west, /obj/structure/chair/office{ @@ -28684,6 +28574,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) +"jll" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","secure"); + c_tag = "Secure - Vault Entrance" + }, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/stripes/end, +/obj/structure/cable/multilayer/multiz, +/turf/open/floor/plating, +/area/station/ai_monitored/command/nuke_storage) "jlo" = ( /obj/machinery/conveyor/inverted{ dir = 9; @@ -28718,15 +28618,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"jlZ" = ( -/obj/structure/lattice, -/obj/machinery/camera/motion{ - dir = 10; - network = list("ss13","minisat"); - c_tag = "Secure - AI Lower External East" - }, -/turf/open/space/basic, -/area/space/nearstation) "jmb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -28738,23 +28629,6 @@ /obj/effect/mapping_helpers/airlock/access/all/science/general, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/science) -"jme" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Surgery Room A" - }, -/obj/structure/sink{ - dir = 4; - pixel_x = -12 - }, -/obj/machinery/status_display/evac/directional/west, -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/white, -/area/station/medical/surgery/fore) "jmk" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -28772,27 +28646,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/security/courtroom) -"jmE" = ( -/obj/structure/filingcabinet/security, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/button/door/directional/west{ - name = "Outer Brig Left Door Access"; - pixel_y = -8; - id = "outerbrigleft"; - req_access = list("security"); - normaldoorcontrol = 1 - }, -/obj/machinery/button/door/directional/west{ - name = "Inner Brig Left Door Access"; - pixel_y = 8; - id = "innerbrigleft"; - req_access = list("security"); - normaldoorcontrol = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig) "jmL" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -28800,16 +28653,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/tcommsat/computer) -"jmP" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/sand/plating, -/obj/machinery/door/poddoor/shutters{ - name = "External Dock Access"; - id = "winkyface" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "jmR" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -28822,6 +28665,18 @@ /obj/effect/landmark/navigate_destination/hop, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) +"jmY" = ( +/obj/structure/table, +/obj/item/radio/intercom/prison/directional/west, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","prison","pcell"); + c_tag = "Security - Prison Cell 1" + }, +/turf/open/floor/iron, +/area/station/security/prison/safe) "jne" = ( /obj/effect/turf_decal/siding/wideplating/corner{ dir = 1 @@ -28846,6 +28701,26 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/lobby) +"jnJ" = ( +/obj/machinery/door/window/brigdoor/left/directional/east{ + name = "Cargo Cell"; + id = "crgcell"; + req_access = list("security") + }, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 1 + }, +/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/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "jnR" = ( /obj/structure/bed{ dir = 8 @@ -28928,29 +28803,6 @@ }, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) -"joZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleleft_upper_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleleft_upper_eva_airlock_control"; - idDoor = "middleleft_upper_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) "jpa" = ( /obj/structure/chair/comfy/black, /obj/effect/turf_decal/siding/wood{ @@ -29047,6 +28899,16 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"jqK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + name = "Test Chamber Blast Door"; + id = "Xenolab" + }, +/obj/structure/sign/warning/electric_shock/directional/north, +/turf/open/floor/plating, +/area/station/science/xenobiology) "jqR" = ( /obj/structure/table, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -29079,40 +28941,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"jrd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "mostleft_lower_lower_eva_airlock_control"; - idInterior = "mostleft_lower_lower_eva_internal"; - idExterior = "mostleft_lower_lower_eva_external" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/left) -"jri" = ( -/obj/machinery/vending/assist, -/obj/machinery/requests_console/directional/east{ - name = "Tool Department Requests Console"; - department = "Tool Storage" - }, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/storage/primary) -"jrm" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Main South-East" - }, -/turf/open/floor/iron, -/area/station/security/prison) "jrz" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/dim/directional/north, @@ -29121,18 +28949,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/center) -"jrC" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = 9; - id = "private_r"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) "jrI" = ( /obj/structure/disposalpipe/trunk/multiz{ dir = 4 @@ -29276,6 +29092,16 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"jus" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/flasher/directional/west{ + pixel_y = -26; + id = "AI" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "juw" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -29315,6 +29141,20 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"juY" = ( +/obj/structure/transport/linear/public, +/obj/machinery/elevator_control_panel/directional/west{ + linked_elevator_id = "tram_perma_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/obj/effect/turf_decal/caution/stand_clear/red{ + dir = 1 + }, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/security/execution/transfer) "jva" = ( /turf/open/floor/glass/reinforced/tram, /area/station/hallway/primary/tram/left) @@ -29338,26 +29178,41 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) -"jvD" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/status_display/door_timer{ - name = "Isolation Cell D"; - pixel_y = -32; - id = "Isolation_D" - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "jvE" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, /turf/open/floor/iron, /area/station/security/execution/transfer) +"jvV" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/virology{ + name = "Virology Exterior Airlock"; + frequency = 1449; + id_tag = "virology_airlock_exterior"; + autoclose = 0 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door_buttons/access_button{ + name = "Virology Access Button"; + dir = 1; + pixel_y = -24; + req_access = list("virology"); + idSelf = "virology_airlock_control"; + idDoor = "virology_airlock_exterior" + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/virology, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/virology) "jwa" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -29387,6 +29242,17 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) +"jwq" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_y = -9; + id = "private_o"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/commons/dorms) "jwy" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29414,6 +29280,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) +"jwU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/window/brigdoor/left/directional/east{ + name = "Medical Delivery Chute" + }, +/obj/machinery/navbeacon{ + name = "navigation beacon (Medical Delivery)"; + location = "Medical"; + codes_txt = "delivery;dir=4" + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/medical/storage) "jwV" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29479,24 +29360,6 @@ }, /turf/open/floor/wood, /area/station/service/library) -"jxR" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/structure/sign/warning/deathsposal/directional/west, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","rd"); - c_tag = "Science - Xenobiology West" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "jxV" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -29583,6 +29446,21 @@ /obj/effect/landmark/start/depsec/medical, /turf/open/floor/iron, /area/station/security/checkpoint/medical) +"jzW" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","cargo"); + c_tag = "Cargo - Warehouse East" + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "jzX" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -29632,6 +29510,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"jAF" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Main North" + }, +/turf/open/floor/iron, +/area/station/security/prison) "jAK" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -29676,6 +29564,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"jBn" = ( +/obj/machinery/door/airlock/engineering/glass/critical{ + name = "Supermatter Chamber"; + heat_proof = 1 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/access/all/engineering/general, +/turf/open/floor/engine, +/area/station/engineering/supermatter) "jBy" = ( /obj/structure/sink{ dir = 4; @@ -29699,21 +29596,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"jBF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 8 - }, -/obj/machinery/power/shuttle_engine/propulsion{ - name = "inactive propulsion engine"; - desc = "A standard reliable bluespace engine used by many forms of shuttles. This one has the bluespace core removed." - }, -/obj/effect/decal/cleanable/oil, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/maintenance/port/central) "jCn" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -29747,6 +29629,28 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) +"jCT" = ( +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics South-West" + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ + dir = 8 + }, +/obj/machinery/meter, +/turf/open/floor/iron, +/area/station/engineering/atmos) "jDd" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/rnd_secure_all, @@ -29763,6 +29667,35 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"jDx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/emp_proof/directional/south{ + network = list("ss13","engine","engineering"); + c_tag = "Engineering - Engine Room South-East" + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"jDF" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/east{ + name = "Containment Pen #5"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/west{ + name = "Containment Pen #5"; + req_access = list("xenobiology") + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez5" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "jDN" = ( /obj/structure/table/wood, /obj/item/storage/photo_album/chapel, @@ -29801,15 +29734,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"jEE" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters L"; - id_tag = "private_l" - }, -/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/dorms) "jEF" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -29886,14 +29810,6 @@ "jFR" = ( /turf/open/floor/iron/grimy, /area/station/ai_monitored/command/nuke_storage) -"jFU" = ( -/obj/machinery/power/smes{ - charge = 5e+06 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/commons/vacant_room) "jGi" = ( /obj/effect/turf_decal/siding/thinplating, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29906,16 +29822,6 @@ }, /turf/open/space/openspace, /area/station/solars/starboard/fore) -"jGu" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/conveyor_switch/oneway{ - name = "Shipment Delivery Chute Activator"; - pixel_x = -11; - id = "engineeringchute" - }, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron, -/area/station/engineering/main) "jGx" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 6 @@ -30060,21 +29966,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/central/greater) -"jIQ" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 6 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/conveyor_switch/oneway{ - name = "Shipment Delivery Chute Activator"; - pixel_x = 10; - id = "hydrodropoff" - }, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) "jJd" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -30096,6 +29987,22 @@ }, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"jJE" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engineering"); + c_tag = "Engineering - Material Storage" + }, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "jJO" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ dir = 8 @@ -30178,23 +30085,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"jKN" = ( -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "N2 Outlet Pump"; - dir = 1 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/engineering/atmos) "jKQ" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 4 @@ -30259,6 +30149,18 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/plating, /area/station/engineering/atmos) +"jMe" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/structure/sign/nanotrasen{ + pixel_y = -32 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","Security"); + c_tag = "Civilian - Security Outpost" + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/security/checkpoint/arrivals) "jMo" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_atmos{ dir = 8 @@ -30267,6 +30169,26 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/dark/visible, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"jMs" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/machinery/button/door/directional/west{ + name = "Secure Pen Lockdown"; + id = "cytologysecure2" + }, +/obj/machinery/requests_console/directional/north{ + name = "Cytology Requests Console"; + department = "Cytology" + }, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/light/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "jMu" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/red/filled/line, @@ -30288,45 +30210,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/tram/right) -"jMV" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/item/storage/box/hug{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/razor{ - pixel_x = -8; - pixel_y = 3 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security"); - c_tag = "Security - Gulag Prep" - }, -/turf/open/floor/iron, -/area/station/security/brig) -"jMZ" = ( -/obj/structure/table, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 3; - pixel_y = -2 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 6 - }, -/obj/machinery/button/door/directional/south{ - name = "Ordance Storage Shutters"; - id = "ordnancestorage" - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/office) "jNb" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -30373,18 +30256,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"jNP" = ( -/obj/machinery/door/poddoor/preopen{ - name = "Engineering Security Door"; - id = "Engineering" - }, -/obj/effect/turf_decal/delivery, -/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/iron, -/area/station/engineering/main) "jNT" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -30397,16 +30268,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, /area/station/asteroid) -"jPl" = ( -/mob/living/simple_animal/bot/mulebot, -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - location = "QM #2"; - codes_txt = "delivery;dir=2" - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "jPo" = ( /obj/effect/turf_decal/trimline/white/warning{ dir = 4 @@ -30420,6 +30281,21 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"jPx" = ( +/obj/machinery/gulag_teleporter, +/obj/machinery/camera/directional/south{ + network = list("ss13","Security"); + c_tag = "Security - Labor Dock" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/security/processing) +"jPK" = ( +/mob/living/carbon/human/species/monkey/punpun, +/obj/structure/cable, +/obj/machinery/holopad, +/turf/open/floor/iron/dark, +/area/station/service/bar) "jPM" = ( /turf/open/floor/iron/dark, /area/station/command/gateway) @@ -30445,6 +30321,17 @@ "jQm" = ( /turf/open/floor/engine/hull, /area/station/solars/port) +"jQE" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez2" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "jQJ" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, @@ -30477,29 +30364,18 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"jRO" = ( -/obj/docking_port/stationary{ - name = "arrivals"; - dir = 8; - width = 7; - height = 15; - shuttle_id = "arrival_stationary"; - dwidth = 3; - roundstart_template = /datum/map_template/shuttle/arrival/box +"jRy" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Research and Development Shutter"; + id = "rndlab1" }, -/turf/open/space/openspace, -/area/space) -"jRQ" = ( -/obj/docking_port/stationary{ - name = "SS13: Auxiliary Dock, Station-Port"; - dir = 2; - width = 35; - height = 24; - shuttle_id = "whiteship_home"; - dwidth = 11 +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/space/openspace, -/area/space) +/turf/open/floor/plating, +/area/station/science/lab) "jRS" = ( /obj/structure/closet/secure_closet/chemical, /obj/effect/turf_decal/tile/yellow/fourcorners, @@ -30558,6 +30434,20 @@ /obj/item/pipe_dispenser, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"jSK" = ( +/obj/machinery/navbeacon{ + name = "navigation beacon (Theatre Delivery)"; + location = "Theatre"; + codes_txt = "delivery;dir=2" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/window/right/directional/south{ + name = "Theatre Delivery Chute"; + req_access = "theatre" + }, +/obj/effect/turf_decal/loading_area, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) "jTf" = ( /obj/structure/table/wood, /obj/effect/spawner/random/decoration/ornament, @@ -30605,6 +30495,16 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"jUO" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 4 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Air to External Air Ports"; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "jUS" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -30702,32 +30602,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/security/mechbay) -"jWK" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 6; - c_tag = "Hallway - Upper Left Command" - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) -"jWQ" = ( -/mob/living/simple_animal/bot/secbot/beepsky/armsky, -/obj/effect/turf_decal/stripes/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/ai_monitored/security/armory) -"jWV" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters F"; - id_tag = "private_f" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/commons/dorms) "jXc" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -30782,6 +30656,40 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /turf/closed/wall/r_wall, /area/station/science/ordnance/storage) +"jXF" = ( +/obj/structure/table, +/obj/machinery/fax{ + name = "Research Director's Fax Machine"; + fax_name = "Research Director's Office" + }, +/obj/machinery/button/door/directional/south{ + name = "Science Lockdown Toggle"; + pixel_x = -6; + id = "Sciencelockdown"; + req_access = list("research") + }, +/obj/machinery/button/door/directional/south{ + name = "Research Lab Shutter Control"; + pixel_x = 6; + id = "rndlab1"; + req_access = list("research") + }, +/obj/machinery/button/door/directional/south{ + name = "Xenobiology Containmenr Blast Door"; + pixel_x = -6; + pixel_y = -34; + id = "xenobiomain"; + req_access = list("xenobiology") + }, +/obj/machinery/button/door/directional/south{ + name = "Test Chamber Blast Doors"; + pixel_x = 6; + pixel_y = -34; + id = "misclab"; + req_access = list("xenobiology") + }, +/turf/open/floor/iron/cafeteria, +/area/station/command/heads_quarters/rd) "jXG" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -30899,6 +30807,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"jYF" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters D"; + id_tag = "private_d" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/commons/dorms) "jYJ" = ( /obj/effect/turf_decal/delivery, /obj/structure/reagent_dispensers/watertank, @@ -30943,18 +30860,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"jZy" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Main West" - }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "jZJ" = ( /obj/structure/chair/plastic, /obj/machinery/light/warm/directional/north, @@ -31102,18 +31007,28 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/left) +"kbG" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/dark_red/warning{ + dir = 4 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/structure/transport/linear/public, +/obj/machinery/elevator_control_panel/directional/east{ + linked_elevator_id = "tram_lower_center_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/maintenance/tram/mid) "kbM" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"kbR" = ( -/obj/effect/turf_decal/box, -/obj/structure/fluff/shower_drain, -/obj/machinery/shower/directional/west, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "kbW" = ( /obj/structure/table/wood, /obj/machinery/firealarm/directional/north{ @@ -31129,6 +31044,35 @@ }, /turf/open/floor/carpet, /area/station/service/chapel/monastery) +"kcm" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "O2 Outlet Pump"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/obj/machinery/light/directional/south, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"kcp" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ + dir = 1 + }, +/obj/machinery/requests_console/directional/east{ + name = "Atmospherics Requests Console"; + department = "Atmospherics" + }, +/obj/structure/cable, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/engineering/atmos) "kcu" = ( /obj/machinery/light_switch/directional/east{ pixel_x = 23; @@ -31172,6 +31116,35 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"kcP" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + name = "Atmospherics Blast Door"; + id = "atmos" + }, +/obj/effect/landmark/navigate_destination/atmos, +/obj/machinery/door/window/right/directional/east{ + name = "Atmospherics Front Desk"; + req_access = list("atmospherics") + }, +/obj/structure/desk_bell{ + pixel_x = -7 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/engineering/atmos) +"kcV" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/stack/cable_coil{ + pixel_x = 6; + pixel_y = 6; + amount = 15 + }, +/obj/item/stack/cable_coil/cut, +/turf/open/floor/iron/smooth, +/area/station/security/mechbay) "kcZ" = ( /obj/item/kirbyplants/random, /turf/open/floor/carpet, @@ -31260,21 +31233,26 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"keh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/end{ + dir = 1 + }, +/obj/machinery/suit_storage_unit/rd, +/obj/machinery/requests_console/directional/south{ + name = "Research Director's Request Console"; + department = "Research Director's Desk" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron, +/area/station/command/heads_quarters/rd) "ket" = ( /obj/machinery/vending/wardrobe/atmos_wardrobe, /turf/open/floor/iron, /area/station/engineering/atmos) -"keE" = ( -/obj/machinery/door/airlock/centcom{ - name = "Syndicate Secure Airlock System"; - desc = "Truly, a marvel of modern engineering." - }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/turf/open/floor/iron/herringbone, -/area/station/commons/vacant_room) "keF" = ( /obj/effect/mapping_helpers/airlock/access/all/service/general, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -31302,6 +31280,22 @@ /obj/structure/cable, /turf/open/floor/carpet, /area/station/security/detectives_office) +"keT" = ( +/obj/machinery/door/airlock/research{ + name = "Slime Euthanization Chamber"; + opacity = 0; + glass = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "kff" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 9 @@ -31317,6 +31311,23 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/brig) +"kfD" = ( +/obj/effect/turf_decal/sand, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleleft_upper_lower_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "middleleft_upper_lower_eva_airlock_control"; + idDoor = "middleleft_upper_lower_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/mid) "kfO" = ( /turf/open/floor/plating, /area/station/cargo/drone_bay) @@ -31335,6 +31346,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"kgw" = ( +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/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/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch" + }, +/obj/modular_map_root/tramstation{ + name = "dormenginelower"; + key = "dormenginelower" + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/crew_quarters/dorms) "kgx" = ( /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2{ dir = 8 @@ -31431,30 +31457,6 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/right) -"kiA" = ( -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/corner{ - dir = 8 - }, -/obj/machinery/door_buttons/airlock_controller{ - name = "Virology Access Console"; - pixel_x = -24; - pixel_y = 24; - req_access = list("virology"); - idSelf = "virology_airlock_control"; - idInterior = "virology_airlock_interior"; - idExterior = "virology_airlock_exterior" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/virology) "kiC" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/south, @@ -31484,6 +31486,23 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"kiT" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/landmark/start/depsec/supply, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/machinery/requests_console/directional/north{ + name = "Security Requests Console"; + department = "Security" + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "kiU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -31580,6 +31599,19 @@ /obj/effect/decal/cleanable/chem_pile, /turf/open/floor/iron/dark, /area/station/service/bar) +"kkn" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_x = 24; + pixel_y = 9; + id = "private_a"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "kkq" = ( /obj/machinery/autolathe, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -31612,6 +31644,17 @@ }, /turf/closed/wall/r_wall, /area/station/science/ordnance/storage) +"kkL" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Xenobiology North" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "kkP" = ( /obj/structure/bookcase/random/religion, /obj/effect/turf_decal/siding/wood, @@ -31646,18 +31689,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"klv" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/structure/sign/calendar/directional/west, -/obj/machinery/fax{ - name = "Quartermaster's Fax Machine"; - fax_name = "Quartermaster's Office" - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "kly" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction/flip{ @@ -31667,6 +31698,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"klI" = ( +/obj/effect/turf_decal/trimline/white/filled/line, +/obj/machinery/camera{ + dir = 10; + c_tag = "Secure - Tech Secure Storage" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "klY" = ( /obj/structure/table, /obj/item/stack/cable_coil{ @@ -31762,36 +31801,6 @@ /obj/structure/sink/kitchen/directional/south, /turf/open/floor/iron/white, /area/station/commons/vacant_room) -"knx" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = 9; - id = "private_p"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) -"knA" = ( -/obj/machinery/door/airlock/research{ - name = "Research Division Access" - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Research Lockdown Blastdoor"; - id = "Sciencelockdown" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/iron/white, -/area/station/science/research) "knO" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -31889,27 +31898,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/fitness) -"kpM" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/stock_parts/cell/crap/empty{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/item/stock_parts/cell/crap/empty{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/item/stock_parts/cell/crap/empty{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/stock_parts/cell/crap/empty{ - pixel_x = -2; - pixel_y = -2 - }, -/turf/open/floor/iron/smooth, -/area/station/security/mechbay) "kpW" = ( /obj/structure/filingcabinet/chestdrawer, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -31932,17 +31920,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"kqG" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Cooling Loop to Gas"; - dir = 4 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "kqI" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -31978,12 +31955,51 @@ }, /turf/open/floor/iron/freezer, /area/station/science/lower) +"kqY" = ( +/obj/machinery/camera{ + dir = 10; + c_tag = "Hallway - Port Tram Platform South-West" + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/tram/left) "kre" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, /turf/open/floor/iron, /area/station/security/prison/workout) +"krh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleright_upper_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "middleright_upper_eva_airlock_control"; + idDoor = "middleright_upper_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) "krk" = ( /obj/structure/floodlight_frame, /obj/machinery/light/directional/north, @@ -32013,16 +32029,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/escape) -"krC" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Ordnance Storage Shutters"; - dir = 4; - id = "ordnancestorage" - }, -/turf/open/floor/plating, -/area/station/science/ordnance/office) +"krB" = ( +/mob/living/carbon/human/species/monkey, +/obj/structure/flora/bush/lavendergrass/style_random, +/obj/structure/flora/bush/leavy/style_random, +/obj/machinery/light/directional/east, +/turf/open/floor/grass, +/area/station/medical/virology) "krE" = ( /obj/machinery/computer/crew{ dir = 4 @@ -32034,28 +32047,17 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/security/brig) -"krK" = ( -/obj/machinery/recharge_station, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/stripes/line{ - dir = 4 +"krM" = ( +/obj/machinery/camera{ + dir = 6; + c_tag = "Hallway - Central Tram Platform South-East" }, -/obj/machinery/button/door/directional/north{ - name = "Mech Bay Shutters Control"; - id = "mechbay"; - req_access = list("robotics") +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 }, /turf/open/floor/iron, -/area/station/science/robotics/mechbay) -"krU" = ( -/obj/structure/table, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door{ - name = "Cell Containment Toggle Button"; - id = "containdeez4" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/area/station/hallway/primary/tram/center) "krV" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -32164,18 +32166,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"ktn" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south{ - name = "Private Channel"; - frequency = 1447; - listening = 0; - freerange = 1 - }, -/turf/open/floor/iron/grimy, -/area/station/ai_monitored/turret_protected/aisat/foyer) "ktw" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -32185,15 +32175,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"kty" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters A"; - id_tag = "private_a" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) "ktA" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -32207,6 +32188,24 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"ktX" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "outerbrigleft" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_left" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/turf/open/floor/iron, +/area/station/security/brig) "kul" = ( /obj/structure/table/reinforced, /obj/structure/window/reinforced/spawner/directional/south, @@ -32266,23 +32265,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"kva" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 - }, -/obj/machinery/button/door/directional/west{ - name = "Cargo Warehouse Shutters"; - id = "cargowarehouse" - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "kvd" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/structure/cable, @@ -32292,17 +32274,21 @@ "kvt" = ( /turf/closed/wall, /area/station/science/genetics) -"kvW" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 8 +"kvO" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Virology" +/obj/machinery/button/door/directional/east{ + name = "Secure Pen Lockdown"; + id = "cytologysecure1" }, -/turf/open/floor/iron/white, -/area/station/medical/virology) +/obj/machinery/light/directional/north, +/obj/item/soap{ + pixel_y = 2 + }, +/obj/structure/table/glass, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "kwe" = ( /obj/structure/ladder, /turf/open/floor/iron/grimy, @@ -32350,51 +32336,24 @@ /obj/effect/landmark/start/cargo_technician, /turf/open/floor/glass, /area/station/cargo/storage) -"kwE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "mostleft_lower_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "mostleft_lower_eva_airlock_control"; - idDoor = "mostleft_lower_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/left) -"kwF" = ( -/obj/structure/table, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/button/door{ - name = "Cell Containment Toggle Button"; - id = "containdeez2" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) -"kwI" = ( -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 1 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Mix to Filter"; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) "kwN" = ( /obj/machinery/computer/holodeck{ dir = 4 }, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"kxC" = ( +/mob/living/basic/pet/cat/jerry, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 10 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/bed/dogbed{ + name = "cat bed"; + desc = "A comfy-looking cat bed. You can even strap your pet in, in case the gravity turns off." + }, +/turf/open/floor/iron, +/area/station/maintenance/tram/mid) "kxF" = ( /obj/item/kirbyplants/random/dead/research_director, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -32414,22 +32373,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) -"kyl" = ( -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 8 - }, -/obj/machinery/camera/directional/south{ - network = list("ss13","minisat"); - c_tag = "Secure - AI Minisat Teleporter" - }, -/obj/machinery/button/door/directional/south{ - name = "MiniSat Shutter Control"; - pixel_x = 8; - id = "teledoor"; - req_one_access = list("teleporter","minisat") - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/foyer) "kyq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32475,6 +32418,17 @@ }, /turf/open/floor/iron/dark, /area/station/security/evidence) +"kyU" = ( +/obj/docking_port/stationary{ + name = "Tramstation emergency evac bay"; + dir = 4; + width = 32; + height = 18; + shuttle_id = "emergency_home"; + dwidth = 12 + }, +/turf/open/space/openspace, +/area/space) "kzg" = ( /obj/structure/table, /obj/machinery/recharger, @@ -32528,23 +32482,6 @@ }, /turf/open/floor/cult, /area/station/service/chapel/office) -"kAo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Quartermaster's Privacy Shutters"; - dir = 8; - id = "greedygrinnersden" - }, -/turf/open/floor/plating, -/area/station/cargo/office) -"kAv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez3" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) "kAx" = ( /obj/effect/turf_decal/bot, /obj/structure/closet/crate/freezer/surplus_limbs, @@ -32617,17 +32554,6 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/iron, /area/station/cargo/warehouse) -"kBX" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/status_display/door_timer{ - name = "Isolation Cell A"; - pixel_y = 32; - id = "Isolation_A" - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "kCm" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/table, @@ -32671,6 +32597,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"kDh" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "rightmost_lower_upper_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_x = -24; + idSelf = "rightmost_lower_upper_eva_airlock_control"; + idDoor = "rightmost_lower_upper_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/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/tram/right) "kDi" = ( /turf/open/floor/iron, /area/station/cargo/miningdock) @@ -32736,12 +32681,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"kEK" = ( -/turf/closed/indestructible/riveted{ - name = "hyper-reinforced wall"; - desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease" - }, -/area/station/science/ordnance/bomb) "kEN" = ( /obj/structure/stairs/north, /turf/open/floor/iron/stairs/right, @@ -32751,17 +32690,6 @@ dir = 8 }, /area/station/service/kitchen) -"kFd" = ( -/obj/machinery/door/airlock/engineering/glass/critical{ - name = "Supermatter Chamber"; - heat_proof = 1 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "kFf" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/chem_dispenser, @@ -32827,6 +32755,15 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"kFT" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters F"; + id_tag = "private_f" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/commons/dorms) "kGa" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -32834,6 +32771,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"kGf" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/item/radio/intercom/directional/east, +/obj/machinery/camera/directional/east{ + network = list("ss13","rd"); + c_tag = "Science - Upper Hall Left" + }, +/turf/open/floor/iron/white, +/area/station/science/research) "kGo" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -32902,19 +32853,6 @@ }, /turf/open/floor/wood/large, /area/station/service/barber) -"kGK" = ( -/obj/machinery/duct, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 1 - }, -/obj/machinery/door/window/elevator/left/directional/north{ - name = "Dumbwaiter"; - req_access = null; - elevator_mode = 1; - transport_linked_id = "dumbwaiter_lift" - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "kGR" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/thinplating{ @@ -32937,6 +32875,16 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"kHd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/shower/directional/west, +/obj/effect/turf_decal/bot, +/obj/structure/fluff/shower_drain, +/obj/effect/turf_decal/tile/purple/fourcorners, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "kHn" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 @@ -32983,6 +32931,33 @@ "kHB" = ( /turf/open/floor/grass, /area/station/medical/virology) +"kHR" = ( +/mob/living/basic/parrot/poly, +/obj/structure/filingcabinet/chestdrawer, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 9 + }, +/obj/machinery/button/door/directional/west{ + name = "Atmospherics Lockdown"; + pixel_y = 8; + id = "atmos"; + req_access = list("atmospherics") + }, +/obj/machinery/button/door/directional/west{ + name = "Engineering Secure Storage"; + id = "Secure Storage"; + req_access = list("engine_equip") + }, +/obj/machinery/button/door/directional/west{ + name = "Engineering Lockdown"; + pixel_y = -8; + id = "Engineering"; + req_access = list("engineering") + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "kHS" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -33089,6 +33064,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"kJy" = ( +/obj/docking_port/stationary/random{ + name = "lavaland"; + dir = 8; + shuttle_id = "pod_2_lavaland" + }, +/turf/open/misc/asteroid/airless, +/area/station/asteroid) "kJA" = ( /obj/machinery/computer/rdservercontrol{ dir = 1 @@ -33116,14 +33099,19 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"kKf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Pharmacy Shutters"; - id = "pharmacy_shutters_2" +"kKe" = ( +/obj/machinery/conveyor_switch/oneway{ + name = "Loading Conveyor"; + dir = 8; + pixel_x = -13; + pixel_y = -5; + id = "QMLoad" }, -/turf/open/floor/plating, -/area/station/medical/pharmacy) +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "kKo" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -33140,45 +33128,21 @@ /obj/effect/mapping_helpers/airlock/access/all/service/lawyer, /turf/open/floor/wood, /area/station/service/lawoffice) -"kKU" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/cable, -/obj/machinery/power/solar{ - name = "Port Solar Array"; - id = "portsolar" - }, -/turf/open/floor/plating/airless, -/area/station/solars/port) "kKV" = ( /obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) -"kLh" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 +"kKZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + name = "Tunnel Access Shutters Toggle"; + id = "midtunnelleft" }, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - Main" - }, -/obj/structure/rack, -/obj/item/clothing/glasses/meson/engine{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/clothing/glasses/meson/engine, -/obj/item/clothing/glasses/meson/engine{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/item/pipe_dispenser, -/obj/item/pipe_dispenser, -/obj/item/pipe_dispenser, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/engineering/main) +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) "kLz" = ( /turf/closed/wall/r_wall, /area/station/security/prison/work) @@ -33277,6 +33241,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"kNf" = ( +/obj/structure/closet/secure_closet/brig{ + name = "Cargo Cell Locker"; + id = "crgcell" + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/corner{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "kNj" = ( /obj/structure/weightmachine/weightlifter, /obj/effect/turf_decal/trimline/red/filled/line, @@ -33419,22 +33395,6 @@ /obj/effect/landmark/start/virologist, /turf/open/floor/iron/dark, /area/station/medical/virology) -"kPc" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "HoP Queue Shutters"; - id = "hopqueueendbottom" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/loading_area/white{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/hop) "kPf" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -33470,6 +33430,10 @@ "kPE" = ( /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) +"kPS" = ( +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/grimy, +/area/station/service/library/lounge) "kPT" = ( /obj/vehicle/ridden/wheelchair, /obj/effect/turf_decal/bot, @@ -33486,17 +33450,24 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) -"kQN" = ( -/obj/machinery/door/poddoor{ - name = "Supply Dock Loading Door"; - id = "QMLoaddoor" +"kQM" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/obj/machinery/conveyor{ - dir = 1; - id = "QMLoad" +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/turf/open/floor/plating, -/area/station/cargo/storage) +/obj/machinery/disposal/bin, +/obj/structure/sign/warning/deathsposal/directional/west, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","rd"); + c_tag = "Science - Xenobiology West" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "kQR" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/item/food/grown/banana/bunch{ @@ -33590,6 +33561,13 @@ /obj/machinery/power/port_gen/pacman, /turf/open/floor/plating, /area/station/engineering/engine_smes) +"kSA" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Pure to Port"; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "kSI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/dim/directional/south, @@ -33688,6 +33666,30 @@ }, /turf/open/floor/glass/reinforced, /area/station/security/brig) +"kTU" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/door/airlock/research{ + name = "Research and Development Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Research and Development Shutter"; + id = "rndlab1" + }, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/science/lab) "kUg" = ( /obj/structure/reagent_dispensers/watertank/high, /obj/structure/railing{ @@ -33734,6 +33736,24 @@ }, /turf/open/space/openspace, /area/station/solars/starboard/fore) +"kUN" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "mostleft_lower_lower_eva_internal"; + autoclose = 0 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_x = 24; + idSelf = "mostleft_lower_lower_eva_airlock_control"; + idDoor = "mostleft_lower_lower_eva_internal" + }, +/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/tram/left) "kVf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33756,6 +33776,23 @@ /obj/effect/turf_decal/trimline/white/warning, /turf/open/floor/iron, /area/station/maintenance/tram/right) +"kVs" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Commons Area" + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "HoP Arrival Procedure Enforcement Shutters"; + id = "papersplease" + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "kVt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33833,11 +33870,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"kWU" = ( -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk, -/turf/open/floor/wood, -/area/station/command/meeting_room) "kWV" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -33904,19 +33936,51 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) -"kYh" = ( -/obj/effect/turf_decal/siding/thinplating/corner, -/obj/machinery/button/door/directional/south{ - name = "Kitchen Shutters Control"; - id = "playerscantreadthis" +"kXZ" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters L"; + id_tag = "private_l" }, -/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/commons/dorms) +"kYk" = ( /obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/white/side{ - dir = 1 +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = 24; + idSelf = "rightmost_upper_eva_airlock_control"; + idInterior = "rightmost_upper_eva_internal"; + idExterior = "rightmost_upper_eva_external" }, -/area/station/service/kitchen) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/right) +"kYl" = ( +/obj/structure/rack, +/obj/structure/table, +/obj/machinery/computer/security/telescreen{ + name = "Test Chamber Monitor"; + pixel_y = 28; + network = list("test") + }, +/obj/item/storage/box/beakers{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/grenade/chem_grenade{ + pixel_x = -7; + pixel_y = 1 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) "kYL" = ( /obj/effect/spawner/random/structure/closet_private, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -33934,62 +33998,9 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white, /area/station/science/lower) -"kYZ" = ( -/obj/structure/noticeboard/directional/north, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security"); - c_tag = "Security - Main Office North" - }, -/turf/open/floor/iron, -/area/station/security/office) "kZh" = ( /turf/open/floor/eighties/red, /area/station/commons/fitness/recreation/entertainment) -"kZl" = ( -/obj/machinery/camera/directional/south{ - pixel_x = 14; - c_tag = "Cargo Bay - Drone Launch Room" - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron, -/area/station/cargo/drone_bay) -"kZo" = ( -/obj/item/radio/intercom/directional/west{ - name = "Common Channel"; - pixel_y = -8; - listening = 0; - freerange = 1 - }, -/obj/item/radio/intercom/directional/south{ - name = "Private Channel"; - frequency = 1447; - listening = 0; - freerange = 1 - }, -/obj/item/radio/intercom/directional/east{ - name = "Custom Channel"; - pixel_y = -8; - listening = 0; - freerange = 1 - }, -/obj/effect/landmark/start/ai, -/obj/machinery/button/door/directional/south{ - name = "AI Core Shutters Control"; - pixel_x = 24; - id = "AI Core shutters"; - req_access = list("ai_upload") - }, -/obj/structure/cable, -/turf/open/floor/circuit/green, -/area/station/ai_monitored/turret_protected/ai) "kZt" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -34043,6 +34054,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"kZK" = ( +/obj/effect/turf_decal/trimline/white/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 8 + }, +/obj/machinery/camera{ + dir = 10; + network = list("ss13","minisat"); + c_tag = "Secure - AI Antechamber East" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "kZM" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -34064,6 +34089,14 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"lan" = ( +/obj/vehicle/sealed/mecha/ripley/cargo, +/obj/machinery/requests_console/directional/north{ + name = "Cargo Bay Requests Console"; + department = "Cargo Bay" + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "lax" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -34091,27 +34124,42 @@ /obj/machinery/telecomms/receiver/preset_right, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) +"lbz" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/structure/table, +/obj/item/radio/off, +/obj/item/screwdriver{ + pixel_y = 10 + }, +/obj/machinery/button/door/directional/north{ + name = "Atmospherics Lockdown"; + pixel_x = -6; + id = "atmos"; + req_access = list("atmospherics") + }, +/obj/machinery/button/door/directional/north{ + name = "Engineering Lockdown"; + desc = "A door remote control switch for the engineering security airlocks."; + pixel_x = 6; + id = "Engineering"; + req_access = list("engineering") + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) +"lbK" = ( +/obj/machinery/computer/department_orders/service, +/obj/machinery/camera/directional/north{ + c_tag = "Service - Autolathe Room" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/dim/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "lbL" = ( /turf/open/floor/wood, /area/station/service/bar/backroom) -"lbT" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - name = "Atmospherics Blast Door"; - id = "atmos" - }, -/obj/effect/landmark/navigate_destination/atmos, -/obj/machinery/door/window/right/directional/east{ - name = "Atmospherics Front Desk"; - req_access = list("atmospherics") - }, -/obj/structure/desk_bell{ - pixel_x = -7 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/engineering/atmos) "lbZ" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -34143,6 +34191,24 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"lcS" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/south{ + name = "Access Queue" + }, +/obj/machinery/door/window/brigdoor/left/directional/north{ + name = "Access Desk"; + req_access = list("hop") + }, +/obj/structure/desk_bell{ + pixel_x = -7 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Privacy Shutters"; + id = "hop" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hop) "ldd" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -34150,6 +34216,42 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"ldf" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","engine","engineering"); + c_tag = "Engineering - Engine Room North-West" + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) +"ldp" = ( +/obj/machinery/status_display/door_timer{ + name = "Cargo Cell"; + pixel_x = 32; + id = "crgcell" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) +"ldu" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/status_display/door_timer{ + name = "Isolation Cell C"; + pixel_y = 32; + id = "Isolation_C" + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "ldy" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 @@ -34160,15 +34262,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) -"ldQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Main South-East" - }, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "lej" = ( /obj/effect/turf_decal/trimline/tram/filled/line{ dir = 1 @@ -34262,25 +34355,6 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos) -"lgp" = ( -/obj/structure/closet/crate/secure{ - name = "Firing Range Gear Crate"; - desc = "A secure crate containing various materials for building a customised test-site."; - req_access = list("science") - }, -/obj/item/target/syndicate, -/obj/item/target/syndicate, -/obj/item/target/clown, -/obj/item/target/clown, -/obj/item/target/alien, -/obj/item/target/alien, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/white, -/area/station/science/auxlab/firing_range) "lgu" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, @@ -34325,14 +34399,6 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron, /area/station/maintenance/tram/left) -"lhC" = ( -/obj/machinery/door/airlock/centcom{ - name = "Syndicate Secure Airlock System"; - desc = "Truly, a marvel of modern engineering." - }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/turf/open/floor/iron/showroomfloor, -/area/station/commons/vacant_room) "lhI" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -34348,6 +34414,25 @@ /obj/effect/turf_decal/trimline/white/warning, /turf/open/floor/iron, /area/station/maintenance/tram/mid) +"lhS" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/north{ + name = "Containment Pen #3"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/south{ + name = "Containment Pen #3"; + req_access = list("xenobiology") + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez3" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "lhT" = ( /obj/structure/cable/multilayer/connected, /obj/effect/decal/cleanable/dirt, @@ -34612,25 +34697,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/commons/dorms) -"lmz" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_f"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/commons/dorms) -"lmF" = ( -/obj/machinery/camera{ - dir = 10; - c_tag = "Civilian - Radstorm Shelter" - }, -/turf/open/floor/iron/dark, -/area/station/maintenance/radshelter/civil) "lmG" = ( /obj/structure/chair/comfy/black{ dir = 4 @@ -34753,6 +34819,16 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat_interior) +"loG" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/structure/closet/secure_closet/brig{ + name = "Medical Cell Locker"; + id = "medcell" + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/science) "loJ" = ( /obj/structure/fireaxecabinet/mechremoval/directional/north, /obj/structure/reagent_dispensers/fueltank, @@ -34784,6 +34860,14 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron, /area/station/security/brig) +"lpo" = ( +/obj/effect/turf_decal/tile/neutral/tram, +/obj/effect/spawner/random{ + name = "funny slipper :)"; + loot = list(/obj/effect/decal/cleanable/oil/slippery=10, /obj/effect/decal/cleanable/oil=90) + }, +/turf/open/floor/tram/plate, +/area/station/hallway/primary/tram/left) "lpu" = ( /obj/structure/table, /obj/item/camera, @@ -34842,6 +34926,15 @@ /obj/effect/mapping_helpers/airlock/access/all/science/robotics, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/science) +"lqu" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Pharmacy Shutters"; + dir = 4; + id = "pharmacy_shutters_2" + }, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "lqy" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /obj/effect/turf_decal/tile/neutral{ @@ -34898,6 +34991,34 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/ordnance/office) +"lrw" = ( +/obj/machinery/camera/emp_proof{ + dir = 6; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics O2 Chamber" + }, +/turf/open/floor/engine/o2, +/area/station/engineering/atmos) +"lrx" = ( +/obj/structure/table/reinforced, +/obj/item/cigbutt/cigarbutt{ + pixel_x = 5; + pixel_y = -1 + }, +/obj/item/phone{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/machinery/requests_console/directional/north{ + name = "AI Requests Console"; + department = "AI" + }, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/cable/multilayer/connected, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "lry" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -34938,14 +35059,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/medical/treatment_center) -"lrT" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "HoP Arrival Procedure Enforcement Shutters"; - id = "papersplease" - }, -/turf/open/floor/plating, -/area/station/hallway/secondary/entry) "lrX" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -34954,24 +35067,14 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/atmos) +"lrZ" = ( +/obj/structure/table/glass, +/obj/structure/secure_safe/caps_spare, +/turf/open/floor/glass, +/area/station/command/meeting_room) "lse" = ( /turf/open/floor/carpet, /area/station/service/theater) -"lsq" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/button/door/directional/east{ - name = "Secure Pen Lockdown"; - id = "cytologysecure1" - }, -/obj/machinery/light/directional/north, -/obj/item/soap{ - pixel_y = 2 - }, -/obj/structure/table/glass, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "lss" = ( /obj/structure/closet/crate, /obj/effect/spawner/random/contraband/prison, @@ -35008,11 +35111,18 @@ }, /turf/open/floor/iron/dark, /area/station/commons/lounge) -"lsz" = ( -/mob/living/basic/pet/fox/renault, -/obj/structure/bed/dogbed/renault, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain) +"lsJ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Main South-West" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "ltd" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor, @@ -35118,6 +35228,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) +"lvg" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Main South-West" + }, +/turf/open/floor/iron, +/area/station/security/prison) "lvm" = ( /obj/machinery/computer/records/security{ dir = 1 @@ -35132,6 +35252,22 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/office) +"lvK" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/obj/machinery/requests_console/directional/north{ + name = "Cargo Bay Requests Console"; + department = "Cargo Bay" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/cargo/office) "lwd" = ( /obj/machinery/door/airlock/security{ name = "Security Checkpoint" @@ -35182,6 +35318,14 @@ }, /turf/open/openspace, /area/station/hallway/primary/tram/center) +"lwV" = ( +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Plasma Chamber" + }, +/turf/open/floor/engine/plasma, +/area/station/engineering/atmos) "lxi" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/cable, @@ -35239,6 +35383,18 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) +"lxX" = ( +/obj/structure/table, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/button/door{ + name = "Cell Containment Toggle Button"; + id = "containdeez2" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "lye" = ( /obj/effect/turf_decal/trimline/white/filled/line{ dir = 1 @@ -35260,6 +35416,26 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"lyt" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "rightmost_upper_eva_external"; + autoclose = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "rightmost_upper_eva_airlock_control"; + idDoor = "rightmost_upper_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/right) "lyx" = ( /obj/structure/table, /obj/machinery/recharger{ @@ -35283,16 +35459,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"lyG" = ( -/obj/structure/safe/vault, -/obj/item/clothing/head/costume/bearpelt, -/obj/item/gun/ballistic/revolver/russian, -/obj/item/ammo_box/a357, -/obj/effect/turf_decal/bot_white/left, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/dim/directional/east, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) "lyH" = ( /obj/structure/rack, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -35353,18 +35519,6 @@ }, /turf/open/floor/iron, /area/station/escapepodbay) -"lzY" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 8 - }, -/obj/machinery/turretid{ - name = "AI Hallway turret control"; - icon_state = "control_stun"; - pixel_x = 3; - pixel_y = 28 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/hallway) "lAm" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -35405,15 +35559,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"lAV" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/fax{ - name = "Law Office Fax Machine"; - fax_name = "Law Office" +"lBb" = ( +/obj/structure/toilet{ + dir = 4 }, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/service/lawoffice) +/obj/machinery/button/door/directional/west{ + name = "Lock Control"; + id = "ToiletSci2"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/iron/freezer, +/area/station/science/lower) "lBF" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 8 @@ -35612,6 +35770,28 @@ dir = 4 }, /area/station/service/chapel) +"lEt" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output{ + dir = 8; + chamber_id = "o2ordance" + }, +/turf/open/floor/engine/o2, +/area/station/science/ordnance/storage) +"lED" = ( +/obj/effect/turf_decal/trimline/red/corner{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet/secure_closet/brig{ + name = "Engineering Cell Locker"; + id = "engcell" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) "lEI" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ @@ -35640,6 +35820,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/lab) +"lEW" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters A"; + id_tag = "private_a" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "lFa" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -35676,22 +35865,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"lFC" = ( -/mob/living/simple_animal/bot/secbot/beepsky/officer, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/machinery/camera/directional/south{ - c_tag = "Maintenance - East Tram Tunnel 4" - }, -/obj/effect/turf_decal/bot_red, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/white/warning{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/tram/right) "lFQ" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35737,37 +35910,22 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/engine_smes) -"lHj" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - location = "QM #5"; - codes_txt = "delivery;dir=1" +"lHa" = ( +/obj/structure/chair/office{ + dir = 4 }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"lHm" = ( -/obj/structure/table/wood, -/obj/item/radio/intercom/directional/south, -/obj/machinery/fax{ - name = "Detective's Fax Machine"; - fax_name = "Detective's Office" +/obj/machinery/turretid{ + name = "AI Antechamber turret control"; + pixel_y = -25; + control_area = "/area/station/ai_monitored/turret_protected/aisat_interior" }, /turf/open/floor/iron/grimy, -/area/station/security/detectives_office) +/area/station/ai_monitored/turret_protected/aisat/foyer) "lHp" = ( /obj/effect/turf_decal/sand/plating, /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"lHs" = ( -/obj/machinery/camera/directional/west{ - network = list("ss13","medbay"); - c_tag = "Medical - Cryo Treatment" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, -/turf/open/floor/iron/dark, -/area/station/medical/treatment_center) "lHu" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 1 @@ -35828,6 +35986,26 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) +"lIQ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "mostleft_upper_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "mostleft_upper_eva_airlock_control"; + idDoor = "mostleft_upper_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/left) "lIR" = ( /obj/machinery/camera/directional/south{ c_tag = "Hallway - Upper East Power Hatch" @@ -35943,22 +36121,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/violet/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"lLk" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/east{ - name = "Containment Pen #3"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/west{ - name = "Containment Pen #3"; - req_access = list("xenobiology") - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez3" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "lLq" = ( /obj/structure/bed{ dir = 8 @@ -36043,6 +36205,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"lMw" = ( +/obj/machinery/door/airlock{ + name = "Unit 3"; + id_tag = "Toilet3" + }, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "lMD" = ( /obj/structure/cable/layer1, /obj/effect/decal/cleanable/dirt, @@ -36124,6 +36293,15 @@ }, /turf/open/floor/engine/hull, /area/station/solars/port) +"lNp" = ( +/obj/machinery/field/generator, +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Secure Storage" + }, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "lNF" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -36140,15 +36318,6 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) -"lNT" = ( -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Emitter Room East" - }, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/supermatter/room) "lNZ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -36185,6 +36354,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) +"lOC" = ( +/obj/machinery/door/window/brigdoor/right/directional/east{ + name = "Science Cell"; + id = "scicell"; + req_access = list("security") + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/fourcorners, +/turf/open/floor/iron, +/area/station/security/checkpoint/science) "lOE" = ( /obj/structure/weightmachine/weightlifter, /turf/open/floor/iron, @@ -36222,31 +36402,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"lPd" = ( -/obj/machinery/door/airlock{ - name = "Unit 1"; - id_tag = "Toilet1" - }, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "lPl" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/storage) -"lPr" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/poddoor/preopen{ - name = "Research Director's Shutters"; - id = "rdoffice" - }, -/obj/structure/disposalpipe/segment{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/rd) "lPO" = ( /obj/machinery/door/poddoor/incinerator_atmos_main, /turf/open/floor/engine, @@ -36265,6 +36424,15 @@ /obj/effect/spawner/structure/electrified_grille, /turf/open/floor/plating, /area/station/asteroid) +"lPY" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + name = "Bridge Blast Door"; + id = "bunkermodeactivated" + }, +/turf/open/floor/plating, +/area/station/command/bridge) "lQg" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/medical_all, @@ -36292,6 +36460,16 @@ /obj/item/cultivator, /turf/open/floor/iron/dark, /area/station/security/prison/garden) +"lQz" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/effect/turf_decal/delivery, +/obj/machinery/navbeacon{ + location = "QM #2"; + codes_txt = "delivery;dir=2" + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "lQH" = ( /obj/effect/turf_decal/caution/stand_clear/white, /obj/machinery/door/window/elevator/left/directional/north{ @@ -36405,20 +36583,6 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/wood, /area/station/service/lawoffice) -"lSL" = ( -/obj/machinery/door/poddoor/shutters{ - name = "Armoury Shutter"; - id = "armory" - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/delivery, -/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/ai_monitored/security/armory) "lSM" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -36452,6 +36616,19 @@ /obj/machinery/transport/crossing_signal/southwest, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"lTm" = ( +/obj/structure/table, +/obj/item/radio/intercom/prison/directional/east, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security","prison","pcell"); + c_tag = "Security - Prison Cell 4" + }, +/turf/open/floor/iron, +/area/station/security/prison/safe) "lTP" = ( /obj/structure/stairs/south, /turf/open/floor/iron/stairs/medium{ @@ -36469,6 +36646,22 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/command/gateway) +"lTS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/computer/camera_advanced/xenobio, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/requests_console/directional/north{ + name = "Xenobiology Requests Console"; + department = "Xenobiology" + }, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "lTU" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -36553,10 +36746,40 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"lUK" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "HoP Queue Shutters"; + id = "hopqueueend" + }, +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/loading_area/white{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/hop) "lUM" = ( /obj/machinery/door/poddoor/incinerator_ordmix, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"lUZ" = ( +/obj/machinery/navbeacon{ + name = "navigation beacon (Kitchen Delivery)"; + location = "Kitchen"; + codes_txt = "delivery;dir=8" + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/window/right/directional/west{ + name = "Kitchen Delivery Chute"; + req_access = "kitchen" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/cargo) "lVe" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -36574,29 +36797,6 @@ "lVi" = ( /turf/closed/wall, /area/station/maintenance/department/science) -"lVq" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/preopen{ - name = "Privacy Shutter"; - id = "ceprivacy" - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/door/airlock/command{ - name = "Chief Engineer" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "lVu" = ( /obj/machinery/portable_atmospherics/canister/carbon_dioxide, /obj/machinery/light/floor, @@ -36657,23 +36857,6 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"lWt" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "rightmost_lower_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "rightmost_lower_eva_airlock_control"; - idDoor = "rightmost_lower_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plating, -/area/station/hallway/primary/tram/right) "lWu" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 5 @@ -36689,6 +36872,28 @@ /obj/machinery/newscaster/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"lWv" = ( +/obj/structure/table, +/obj/machinery/button/door{ + name = "Privacy Shutter Control"; + pixel_x = -7; + pixel_y = -2; + id = "rdoffice"; + req_access = list("research") + }, +/obj/item/folder/white{ + pixel_x = 5 + }, +/obj/item/stamp/head/rd{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/item/pen/fountain{ + pixel_x = -4; + pixel_y = 7 + }, +/turf/open/floor/glass/reinforced, +/area/station/command/heads_quarters/rd) "lWy" = ( /obj/structure/table, /obj/machinery/computer/security/telescreen/entertainment/directional/west, @@ -36718,22 +36923,6 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron/white, /area/station/science/genetics) -"lWP" = ( -/obj/machinery/navbeacon{ - name = "navigation beacon (Kitchen Delivery)"; - location = "Kitchen"; - codes_txt = "delivery;dir=8" - }, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/window/right/directional/west{ - name = "Kitchen Delivery Chute"; - req_access = "kitchen" - }, -/turf/open/floor/plating, -/area/station/maintenance/department/cargo) "lWZ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -36744,22 +36933,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/engineering/main) -"lXa" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/computer/camera_advanced/xenobio, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/requests_console/directional/north{ - name = "Xenobiology Requests Console"; - department = "Xenobiology" - }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "lXd" = ( /obj/effect/turf_decal/trimline/dark_green/filled/end, /turf/open/floor/iron/white, @@ -36808,18 +36981,6 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/tcoms, /turf/open/floor/iron, /area/station/tcommsat/computer) -"lXS" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/machinery/camera/directional/east{ - network = list("ss13","rd"); - c_tag = "Science - Xenobiology East" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "lXZ" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -36827,25 +36988,6 @@ }, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) -"lYn" = ( -/obj/machinery/button/door/directional/west{ - name = "Commissary Shutter Access"; - id = "commissarydeezdoorz" - }, -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = -9; - id = "vacant_space"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light_switch/directional/west{ - pixel_x = -22; - pixel_y = 9 - }, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "lYA" = ( /obj/structure/easel, /obj/item/canvas/twentythree_twentythree, @@ -36861,28 +37003,20 @@ }, /turf/open/floor/iron, /area/station/commons/storage/art) -"lZf" = ( -/obj/structure/table, -/obj/item/assembly/timer{ - pixel_x = -4; - pixel_y = 2 +"lYZ" = ( +/obj/structure/toilet{ + pixel_y = 8 }, -/obj/item/assembly/timer{ - pixel_x = 6; - pixel_y = -4 +/obj/machinery/button/door/directional/west{ + name = "Lock Control"; + id = "Toilet3"; + specialfunctions = 4; + normaldoorcontrol = 1 }, -/obj/item/assembly/timer{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/assembly/timer, -/obj/machinery/camera/directional/west{ - network = list("ss13","rd"); - c_tag = "Science - Ordnance Launch Bay" - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) +/obj/effect/landmark/start/hangover, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "lZj" = ( /obj/effect/turf_decal/tile/neutral/tram, /turf/open/floor/tram/plate, @@ -36972,12 +37106,39 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"maI" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/status_display/door_timer{ + name = "Isolation Cell B"; + pixel_y = -32; + id = "Isolation_B" + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "maN" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"mbe" = ( +/obj/machinery/camera/motion/directional/south{ + network = list("ss13","minisat"); + c_tag = "Secure - AI Lower External North" + }, +/turf/open/space/basic, +/area/space) +"mbk" = ( +/obj/effect/turf_decal/sand, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","prison"); + c_tag = "Security - Rec Room West" + }, +/turf/open/floor/iron, +/area/station/security/prison/workout) "mbm" = ( /obj/structure/rack, /obj/item/pickaxe, @@ -36997,13 +37158,6 @@ }, /turf/open/floor/iron, /area/station/commons/fitness) -"mbE" = ( -/obj/machinery/atmospherics/components/trinary/mixer{ - name = "plasma mixer"; - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "mbJ" = ( /turf/closed/wall, /area/station/maintenance/tram/right) @@ -37068,6 +37222,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/service/library) +"mdf" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + name = "Research Director's Shutters"; + id = "rdoffice" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/rd) "mdl" = ( /obj/effect/turf_decal/trimline/white/warning{ dir = 6 @@ -37090,37 +37253,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) -"mdw" = ( -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleright_lower_lower_eva_airlock_control"; - idInterior = "middleright_lower_lower_eva_internal"; - idExterior = "middleright_lower_lower_eva_external" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/mid) -"mdx" = ( -/obj/structure/table/reinforced, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/south{ - name = "Robotics Lab Desk"; - req_access = list("robotics") - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Robotics Lab Shutters"; - id = "robotics2" - }, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/station/science/robotics/lab) "mdD" = ( /obj/effect/turf_decal/siding/thinplating, /obj/effect/turf_decal/siding/thinplating{ @@ -37136,25 +37268,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) +"mdI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = 24; + idSelf = "mostleft_lower_lower_eva_airlock_control"; + idInterior = "mostleft_lower_lower_eva_internal"; + idExterior = "mostleft_lower_lower_eva_external" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/left) "mdV" = ( /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) -"mdW" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/east{ - name = "Containment Pen #2"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/west{ - name = "Containment Pen #2"; - req_access = list("xenobiology") - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez2" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "mdY" = ( /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, @@ -37163,19 +37291,6 @@ /obj/effect/landmark/carpspawn, /turf/open/space/openspace, /area/space) -"med" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 6; - c_tag = "Arrivals - South Docking Hall" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "mee" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/disposalpipe/segment{ @@ -37260,17 +37375,6 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron, /area/station/command/bridge) -"mfw" = ( -/obj/structure/table, -/obj/item/clipboard, -/obj/item/wrench, -/obj/structure/extinguisher_cabinet/directional/south, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Server Room" - }, -/turf/open/floor/circuit/green, -/area/station/science/server) "mfB" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 1 @@ -37278,19 +37382,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) -"mfE" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/button/door/directional/west{ - name = "Lock Control"; - id = "ToiletSci2"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/light/small/dim/directional/north, -/turf/open/floor/iron/freezer, -/area/station/science/lower) "mfF" = ( /obj/structure/sign/painting/library_private{ pixel_y = -32 @@ -37335,6 +37426,35 @@ /obj/structure/sign/clock/directional/north, /turf/open/openspace, /area/station/security/checkpoint/supply) +"mgi" = ( +/obj/item/radio/intercom/directional/west{ + name = "Common Channel"; + pixel_y = -8; + listening = 0; + freerange = 1 + }, +/obj/item/radio/intercom/directional/south{ + name = "Private Channel"; + frequency = 1447; + listening = 0; + freerange = 1 + }, +/obj/item/radio/intercom/directional/east{ + name = "Custom Channel"; + pixel_y = -8; + listening = 0; + freerange = 1 + }, +/obj/effect/landmark/start/ai, +/obj/machinery/button/door/directional/south{ + name = "AI Core Shutters Control"; + pixel_x = 24; + id = "AI Core shutters"; + req_access = list("ai_upload") + }, +/obj/structure/cable, +/turf/open/floor/circuit/green, +/area/station/ai_monitored/turret_protected/ai) "mgj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -37378,6 +37498,26 @@ "mgS" = ( /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) +"mgZ" = ( +/obj/structure/table, +/obj/machinery/requests_console/directional/west{ + name = "Kitchen Requests Console"; + department = "Kitchen" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/reagentgrinder{ + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/rag{ + pixel_x = 6; + pixel_y = 5 + }, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/service/kitchen) "mhl" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -37398,6 +37538,35 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"mhE" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleright_lower_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "middleright_lower_eva_airlock_control"; + idDoor = "middleright_lower_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/plating, +/area/station/hallway/primary/tram/center) +"min" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/structure/table, +/obj/item/radio/intercom/directional/east, +/obj/item/paper{ + name = "To-Do List"; + default_raw_text = "buy more donk pockets" + }, +/turf/open/floor/iron/dark, +/area/station/medical/virology) "miE" = ( /obj/effect/turf_decal/siding/thinplating/dark, /obj/structure/chair{ @@ -37407,6 +37576,25 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) +"miR" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 6; + c_tag = "Hallway - Upper Left Command" + }, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) +"miU" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/components/binary/pump{ + name = "External Gas to Loop"; + dir = 1 + }, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "mjd" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/cable, @@ -37414,17 +37602,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) -"mjf" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/poddoor/preopen{ - name = "Research Director's Shutters"; - id = "rdoffice" - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/rd) "mjp" = ( /obj/structure/transport/linear/tram/corner/southeast, /obj/structure/tram/spoiler{ @@ -37459,6 +37636,23 @@ "mjM" = ( /turf/closed/wall, /area/station/security/medical) +"mki" = ( +/obj/machinery/door/airlock/command{ + name = "Head of Personnel" + }, +/obj/effect/mapping_helpers/airlock/access/all/command/hop, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + name = "Privacy Shutters"; + id = "hop" + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "mkl" = ( /obj/item/stack/package_wrap, /obj/item/hand_labeler, @@ -37468,6 +37662,15 @@ dir = 8 }, /area/station/service/kitchen) +"mkq" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters Q"; + id_tag = "private_q" + }, +/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/dorms) "mkA" = ( /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/wood/large, @@ -37477,25 +37680,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/service/library) -"mkZ" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/north{ - name = "Containment Pen #7"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/south{ - name = "Containment Pen #7"; - req_access = list("xenobiology") - }, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez7" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "mld" = ( /obj/effect/landmark/navigate_destination/dockescpod2, /obj/structure/cable, @@ -37542,19 +37726,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"mlJ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Air Outlet Pump"; - dir = 1 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "mlM" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -37687,6 +37858,22 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"moQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/stripes/end{ + dir = 1 + }, +/obj/structure/closet/secure_closet/research_director, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Research Director's Office" + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = -8; + pixel_y = -24 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/rd) "moU" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 5 @@ -37725,6 +37912,14 @@ dir = 4 }, /area/station/commons/fitness) +"mpz" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Distro to Waste"; + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "mpA" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -37735,6 +37930,12 @@ /obj/structure/sign/departments/chemistry/pharmacy/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"mpF" = ( +/turf/closed/indestructible/riveted{ + name = "hyper-reinforced wall"; + desc = "A wall impregnated with Fixium, able to withstand massive explosions with ease" + }, +/area/station/science/ordnance/bomb) "mpX" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/table/wood, @@ -37758,17 +37959,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/mid) -"mqH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "mostleft_lower_eva_airlock_control"; - idInterior = "mostleft_lower_eva_internal"; - idExterior = "mostleft_lower_eva_external" - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/left) "mqK" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/thinplating{ @@ -37822,6 +38012,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"mrF" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/item/radio/intercom/directional/north{ + name = "Private Channel"; + frequency = 1447; + freerange = 1 + }, +/obj/machinery/camera/motion/directional/north{ + c_tag = "Secure - AI Upper Ring Access" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/hallway) "mrS" = ( /obj/structure/chair{ dir = 8 @@ -37847,6 +38051,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) +"msn" = ( +/obj/effect/turf_decal/trimline/brown/filled/line, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/fax{ + name = "Cargo Office Fax Machine"; + fax_name = "Cargo Office" + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "msx" = ( /obj/machinery/teleport/hub, /turf/open/floor/circuit, @@ -37856,15 +38074,6 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/carpet, /area/station/medical/psychology) -"msK" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters P"; - id_tag = "private_p" - }, -/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/dorms) "msU" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/tcomms_all, @@ -37928,6 +38137,22 @@ /obj/machinery/transport/guideway_sensor, /turf/open/openspace, /area/station/asteroid) +"muf" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/east{ + name = "Containment Pen #3"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/west{ + name = "Containment Pen #3"; + req_access = list("xenobiology") + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez3" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "mur" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37943,6 +38168,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/tram/mid) +"muV" = ( +/obj/structure/cable, +/obj/machinery/power/solar_control{ + name = "Port Solar Control"; + dir = 1; + id = "portsolar" + }, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/catwalk_floor, +/area/station/solars/port) "muZ" = ( /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -37964,18 +38199,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"mvE" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/camera/directional/south{ - network = list("ss13","Security"); - c_tag = "Security - Main Office South" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/security/office) "mwd" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -38100,15 +38323,13 @@ /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron, /area/station/commons/storage/primary) -"myQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Privacy Shutters"; - id = "hop" +"myW" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/command/heads_quarters/hop) +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/white, +/area/station/science/lab) "mzb" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 @@ -38228,6 +38449,25 @@ "mAT" = ( /turf/closed/wall, /area/station/command/heads_quarters/hos) +"mBm" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez1" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) +"mBo" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/machinery/incident_display/tram/directional/north{ + name = "darwin award counter"; + desc = "A display that indicates how many dents that'll need fixed after the shift is over." + }, +/turf/open/floor/iron, +/area/station/maintenance/port/central) "mBq" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/crew_quarters/dorms) @@ -38318,6 +38558,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/mid) +"mDy" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 6 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/conveyor_switch/oneway{ + name = "Shipment Delivery Chute Activator"; + pixel_x = 10; + id = "hydrodropoff" + }, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "mDC" = ( /obj/machinery/air_sensor/carbon_tank, /turf/open/floor/engine/co2, @@ -38434,16 +38689,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"mFR" = ( -/obj/machinery/camera/directional/west{ - network = list("ss13","Security","prison"); - c_tag = "Security - Rec Room South" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/security/prison/workout) "mFV" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -38482,18 +38727,42 @@ "mGw" = ( /turf/closed/wall, /area/station/service/barber) -"mGG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Research and Development Shutter"; - id = "rndlab1" +"mGN" = ( +/obj/effect/turf_decal/siding/thinplating/end, +/obj/machinery/button/door{ + name = "Cell Shutters"; + pixel_x = -27; + pixel_y = -2; + id = "Secure Gate"; + req_access = list("armory") }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 10 +/obj/machinery/button/door{ + name = "Prison Wing Lockdown"; + pixel_x = -27; + pixel_y = 8; + id = "briglockdown"; + req_access = list("armory") }, -/turf/open/floor/plating, -/area/station/science/lab) +/obj/structure/chair/office{ + dir = 4 + }, +/obj/effect/landmark/start/warden, +/turf/open/floor/glass/reinforced, +/area/station/security/warden) +"mGO" = ( +/obj/effect/turf_decal/trimline/white/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/line{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","minisat"); + c_tag = "Secure - AI Antechamber West" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "mHc" = ( /turf/open/floor/iron/checker, /area/station/commons/lounge) @@ -38543,17 +38812,6 @@ }, /turf/open/floor/iron, /area/station/security/prison) -"mHJ" = ( -/obj/structure/lattice/catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/button/door/directional/north{ - name = "Tunnel Access Shutters Toggle"; - id = "righttunnel" - }, -/turf/open/floor/plating, -/area/station/maintenance/tram/right) "mHO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -38563,6 +38821,15 @@ /obj/structure/lattice/catwalk, /turf/open/floor/plating, /area/station/maintenance/tram/mid) +"mHP" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters O"; + id_tag = "private_o" + }, +/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/dorms) "mHR" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, @@ -38583,10 +38850,6 @@ /obj/structure/railing, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) -"mHZ" = ( -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/grimy, -/area/station/service/library/lounge) "mId" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -38661,23 +38924,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"mJe" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleright_lower_lower_eva_external"; - autoclose = 0 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "middleright_lower_lower_eva_airlock_control"; - idDoor = "middleright_lower_lower_eva_external" - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/mid) "mJh" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -38730,21 +38976,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/checker, /area/station/commons/lounge) -"mJO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/window/left/directional/east{ - req_access = list("science") - }, -/obj/effect/turf_decal/loading_area{ - dir = 4 - }, -/obj/machinery/navbeacon{ - name = "navigation beacon (Science Delivery)"; - location = "Science"; - codes_txt = "delivery;dir=4" - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "mJQ" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -38791,6 +39022,19 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) +"mKq" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/camera{ + dir = 9; + network = list("ss13","Security"); + c_tag = "Security - Warden's Office" + }, +/obj/structure/sign/calendar/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/showroomfloor, +/area/station/security/warden) "mKP" = ( /obj/vehicle/ridden/secway, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -39004,29 +39248,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) -"mPC" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 9 - }, -/obj/machinery/button/door/directional/north{ - name = "Mixing Chamber Privacy Shutters"; - id = "mixingastew" - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance) -"mPE" = ( -/obj/machinery/door/airlock{ - name = "Room 3"; - id_tag = "miningdorm3" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/mining, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet, -/area/station/cargo/miningdock) "mPN" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -39083,14 +39304,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"mRc" = ( -/obj/docking_port/stationary/random{ - name = "lavaland"; - dir = 8; - shuttle_id = "pod_2_lavaland" - }, -/turf/open/misc/asteroid/airless, -/area/station/asteroid) "mRs" = ( /obj/effect/turf_decal/bot, /obj/machinery/portable_atmospherics/scrubber, @@ -39309,15 +39522,6 @@ /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/iron, /area/station/security/execution/transfer) -"mXF" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters Q"; - id_tag = "private_q" - }, -/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/dorms) "mXH" = ( /obj/structure/chair/office{ dir = 4 @@ -39429,17 +39633,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) -"nam" = ( -/mob/living/basic/pet/dog/pug/mcgriff, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner{ - dir = 4 - }, -/obj/structure/bed/dogbed/mcgriff, -/turf/open/floor/glass/reinforced, -/area/station/security/warden) "nar" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -39455,6 +39648,18 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"nay" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_x = 24; + pixel_y = -9; + id = "private_d"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/commons/dorms) "naz" = ( /obj/structure/table/wood, /obj/machinery/computer/libraryconsole, @@ -39473,6 +39678,13 @@ }, /turf/open/floor/iron, /area/station/engineering/main) +"naD" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Mix to Distro"; + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) "naI" = ( /obj/item/toy/basketball{ pixel_x = 8; @@ -39540,6 +39752,14 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) +"nbI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez7" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "nca" = ( /turf/open/openspace, /area/station/security/brig) @@ -39649,6 +39869,19 @@ }, /turf/open/floor/catwalk_floor, /area/station/command/gateway) +"neh" = ( +/obj/structure/closet/l3closet/janitor, +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 10 + }, +/obj/item/restraints/legcuffs/beartrap, +/obj/item/restraints/legcuffs/beartrap, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 10 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/service/janitor) "nel" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -39807,6 +40040,24 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/hallway/primary/tram/right) +"nhc" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay"; + id_tag = "MedbayFoyer" + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "nhj" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -39904,6 +40155,24 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"niS" = ( +/obj/structure/table/glass, +/obj/item/storage/backpack/duffelbag/sec/surgery{ + pixel_y = 5 + }, +/obj/item/clothing/mask/balaclava, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 5 + }, +/obj/structure/sign/poster/official/do_not_question/directional/north, +/obj/machinery/button/flasher{ + pixel_x = -24; + pixel_y = -8; + id = "reeducation"; + req_access = list("brig") + }, +/turf/open/floor/iron/white, +/area/station/security/execution/education) "niZ" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -39976,13 +40245,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/miningdock/cafeteria) -"njN" = ( -/obj/machinery/door/airlock{ - name = "Unit 2"; - id_tag = "Toilet2" - }, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "njQ" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -40022,6 +40284,24 @@ /obj/effect/turf_decal/trimline/neutral/filled/line, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"nkl" = ( +/obj/structure/table/glass, +/obj/item/storage/medkit/regular{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/clothing/glasses/hud/health, +/obj/item/clothing/neck/stethoscope, +/obj/machinery/requests_console/directional/south{ + name = "Chief Medical Officer's Request Console"; + department = "Chief Medical Officer's Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "nkt" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -40031,6 +40311,23 @@ /obj/machinery/chem_master, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"nku" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 4 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Hallway - Engineering Entry East" + }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + name = "Oxygen Tank Injection Port"; + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "nky" = ( /obj/machinery/conveyor{ dir = 8; @@ -40063,6 +40360,42 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/evidence) +"nlf" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 5 + }, +/obj/structure/table/glass, +/obj/machinery/requests_console/directional/east{ + name = "Virology Requests Console"; + department = "Virology" + }, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/item/storage/box/beakers{ + pixel_x = 2; + pixel_y = 2 + }, +/obj/item/storage/box/syringes, +/obj/structure/sign/clock/directional/north, +/turf/open/floor/iron/white, +/area/station/medical/virology) +"nlm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "rightmost_lower_lower_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_x = -24; + idSelf = "rightmost_lower_lower_eva_airlock_control"; + idDoor = "rightmost_lower_lower_eva_internal" + }, +/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/tram/right) "nlD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40084,26 +40417,6 @@ dir = 4 }, /area/station/command/bridge) -"nlI" = ( -/mob/living/simple_animal/bot/secbot/pingsky{ - 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/circuit, -/area/station/ai_monitored/turret_protected/aisat_interior) -"nlO" = ( -/obj/docking_port/stationary{ - name = "fore bay 1"; - width = 9; - height = 5; - shuttle_id = "laborcamp_home"; - dwidth = 2; - roundstart_template = /datum/map_template/shuttle/labour/generic - }, -/turf/open/misc/asteroid/airless, -/area/station/asteroid) "nlS" = ( /obj/machinery/light/directional/east, /turf/open/floor/noslip/tram, @@ -40125,6 +40438,20 @@ /obj/machinery/barsign/directional/south, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"nmk" = ( +/obj/structure/toilet{ + pixel_y = 8 + }, +/obj/machinery/button/door/directional/west{ + name = "Lock Control"; + id = "Toilet1"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/effect/spawner/random/engineering/tracking_beacon, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "nms" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40184,16 +40511,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/plating, /area/station/cargo/storage) -"nnp" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/cargo/storage) "nns" = ( /obj/structure/table/reinforced, /obj/item/retractor, @@ -40226,26 +40543,6 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/hallway/primary/tram/center) -"nnE" = ( -/obj/machinery/power/solar{ - name = "AI Core Solar Array"; - id = "aicore" - }, -/obj/structure/cable, -/turf/open/floor/iron/solarpanel/airless, -/area/space/nearstation) -"nnP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay"); - c_tag = "Medical - Chemistry East" - }, -/obj/machinery/firealarm/directional/north, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "nnQ" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -40282,38 +40579,25 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"noo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez4" +"noi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleleft_upper_lower_eva_internal"; + autoclose = 0 }, -/turf/open/floor/plating, -/area/station/science/xenobiology) -"noq" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_x = -24; + idSelf = "middleleft_upper_lower_eva_airlock_control"; + idDoor = "middleleft_upper_lower_eva_internal" }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/door/airlock/research{ - name = "Research and Development Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Research and Development Shutter"; - id = "rndlab1" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/locked, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/science/lab) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/mid) "not" = ( /obj/structure/table/reinforced, /obj/machinery/light/warm/directional/south, @@ -40402,25 +40686,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"nqt" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner{ - dir = 1 - }, -/obj/machinery/camera/emp_proof/directional/south{ - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics South-East" - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/filled/corner, -/obj/machinery/firealarm/directional/south, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 9 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos) "nqB" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -40522,6 +40787,26 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"nss" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/showcase/cyborg/old{ + pixel_y = 20 + }, +/obj/machinery/camera{ + dir = 9; + network = list("ss13","minisat"); + c_tag = "Secure - AI Antechamber South" + }, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat_interior) +"nsv" = ( +/obj/machinery/camera/directional/north{ + network = list("test","rd"); + c_tag = "Science - Testing Chamber" + }, +/turf/open/floor/engine, +/area/station/science/explab) "nsy" = ( /obj/structure/stairs/north, /obj/structure/railing{ @@ -40529,23 +40814,6 @@ }, /turf/open/floor/iron/stairs/right, /area/station/hallway/secondary/construction/engineering) -"nsC" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/machinery/requests_console/directional/north{ - name = "Telecomms Requests Console"; - department = "Telecomms Admin" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/tcommsat/computer) "nsK" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -40621,6 +40889,18 @@ }, /turf/open/space/openspace, /area/station/solars/port) +"nvo" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_x = 24; + pixel_y = 9; + id = "private_b"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/commons/dorms) "nvp" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -40629,20 +40909,6 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) -"nvv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "mostleft_upper_eva_airlock_control"; - idInterior = "mostleft_upper_eva_internal"; - idExterior = "mostleft_upper_eva_external" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/left) "nvA" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -40759,20 +41025,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"nxI" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/structure/plaque/static_plaque/golden{ - pixel_x = 32 - }, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron, -/area/station/security/office) "nxN" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, @@ -40781,17 +41033,6 @@ /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron, /area/station/engineering/main) -"nyi" = ( -/obj/effect/turf_decal/sand/plating, -/obj/effect/decal/cleanable/blood/old, -/obj/effect/turf_decal/box, -/obj/structure/sign/warning/directional/west{ - name = "FALLING HAZARD sign"; - desc = "A sign warning you to be cautious of falling packages." - }, -/obj/item/stack/sheet/cardboard, -/turf/open/floor/plating, -/area/station/engineering/main) "nyr" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -40840,14 +41081,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"nyL" = ( -/mob/living/simple_animal/bot/secbot/beepsky, -/obj/structure/cable, -/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/iron, -/area/station/hallway/primary/tram/center) "nyM" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -40867,15 +41100,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"nyZ" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/power/solar{ - name = "Starboard Solar Array"; - id = "forestarboard" - }, -/obj/structure/cable, -/turf/open/space/basic, -/area/space/nearstation) "nzd" = ( /obj/structure/chair{ dir = 1 @@ -40898,6 +41122,19 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"nzg" = ( +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + name = "Test Chamber Blast Door"; + id = "Xenolab" + }, +/obj/machinery/door/window/left/directional/north{ + name = "Maximum Security Test Chamber"; + req_access = list("xenobiology") + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/turf/open/floor/engine, +/area/station/science/xenobiology) "nzh" = ( /obj/structure/fluff/tram_rail/end{ dir = 8 @@ -40934,6 +41171,17 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron/showroomfloor, /area/station/security/warden) +"nzF" = ( +/obj/effect/turf_decal/tile/brown/fourcorners, +/obj/machinery/conveyor_switch/oneway{ + dir = 1; + id = "mining" + }, +/obj/structure/railing{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/miningfoundry) "nzH" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -40982,20 +41230,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/security/prison) -"nAb" = ( -/obj/structure/toilet{ - pixel_y = 8 - }, -/obj/machinery/button/door/directional/west{ - name = "Lock Control"; - id = "Toilet3"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "nAB" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -41035,6 +41269,23 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/lobby) +"nAT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleleft_lower_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "middleleft_lower_eva_airlock_control"; + idDoor = "middleleft_lower_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) "nBj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -41090,17 +41341,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/ordnance) -"nCo" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/machinery/requests_console/directional/east{ - name = "Library Requests Console"; - department = "Library" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/engine/cult, -/area/station/service/library) "nCy" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -41116,6 +41356,13 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"nDm" = ( +/obj/modular_map_root/tramstation{ + name = "secservicelower"; + key = "secservicelower" + }, +/turf/open/floor/plating, +/area/station/maintenance/port/central) "nDM" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 8 @@ -41254,6 +41501,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/gravity_generator) +"nFL" = ( +/obj/machinery/suit_storage_unit/atmos, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/camera/emp_proof{ + dir = 6; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics West" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "nFZ" = ( /obj/machinery/airalarm/directional/east, /obj/machinery/camera/directional/east{ @@ -41285,35 +41544,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/medical/psychology) -"nGL" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/structure/cable, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security"); - c_tag = "Security - Pre-Trial Holding" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/courtroom/holding) -"nGQ" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Prison Dorm 5"; - id_tag = "prisondorm" - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/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, -/turf/open/floor/iron, -/area/station/security/prison/safe) "nGZ" = ( /obj/effect/turf_decal/siding/thinplating/dark, /obj/structure/chair{ @@ -41396,6 +41626,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/medical/virology) +"nIC" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/effect/turf_decal/delivery, +/obj/machinery/navbeacon{ + location = "QM #6"; + codes_txt = "delivery;dir=1" + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "nIQ" = ( /obj/effect/landmark/start/depsec/supply, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -41449,39 +41689,6 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance/office) -"nJX" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/structure/rack, -/obj/item/storage/toolbox/mechanical{ - pixel_x = -2; - pixel_y = -1 - }, -/obj/item/multitool, -/obj/machinery/camera/emp_proof{ - dir = 9; - c_tag = "Secure - Telecomms Control Room" - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/tcommsat/computer) -"nKa" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/machinery/lift_indicator/directional/west{ - pixel_x = -27; - pixel_y = -2; - linked_elevator_id = "tram_cargo_lift" - }, -/obj/machinery/button/elevator/directional/west{ - pixel_x = -26; - pixel_y = -1; - id = "tram_cargo_lift" - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "nKb" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -41606,6 +41813,17 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"nMb" = ( +/obj/structure/lattice/catwalk, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/button/door/directional/north{ + name = "Tunnel Access Shutters Toggle"; + id = "righttunnel" + }, +/turf/open/floor/plating, +/area/station/maintenance/tram/right) "nMd" = ( /obj/effect/landmark/navigate_destination/court, /obj/structure/cable, @@ -41717,15 +41935,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"nNG" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - name = "Oxygen Tank Injection Port"; - dir = 1 - }, -/obj/effect/turf_decal/box, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/storage) "nNM" = ( /obj/structure/girder, /turf/open/floor/iron/dark, @@ -41761,22 +41970,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/safe) -"nOh" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/camera{ - dir = 9; - c_tag = "Maintenance - East Tram Tunnel 3" - }, -/obj/effect/turf_decal/siding/thinplating, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/white/warning, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/maintenance/tram/right) "nOo" = ( /obj/machinery/door/airlock/engineering{ name = "Tram Mechanical Room" @@ -41950,13 +42143,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"nRP" = ( -/obj/machinery/shower/directional/west, -/obj/structure/fluff/shower_drain, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron/white, -/area/station/science/research) "nRW" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -41991,6 +42177,25 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"nSd" = ( +/obj/machinery/button/door/directional/west{ + name = "Commissary Shutter Access"; + id = "commissarydeezdoorz" + }, +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_y = -9; + id = "vacant_space"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light_switch/directional/west{ + pixel_x = -22; + pixel_y = 9 + }, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "nSf" = ( /obj/structure/table, /obj/item/pai_card, @@ -42374,18 +42579,17 @@ /obj/effect/turf_decal/trimline/tram/filled/warning, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"nYD" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +"nYr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/mail_sorting/service/hop_office, +/obj/structure/disposalpipe/sorting/mail/flip{ + name = "sorting disposal pipe (Head of Personnel's Office)"; dir = 1 }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera/directional/north{ - network = list("ss13","Security"); - c_tag = "Departures - Security Outpost" - }, -/obj/machinery/computer/records/security, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/security/checkpoint/escape) +/area/station/hallway/secondary/command) "nYL" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple/layer2{ dir = 8 @@ -42399,6 +42603,22 @@ }, /turf/open/space/basic, /area/space/nearstation) +"nZm" = ( +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Recreation Area Maintenance Hatch" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/unres, +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/modular_map_root/tramstation{ + name = "dormmedupper"; + key = "dormmedupper" + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/crew_quarters/dorms) "nZr" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 1 @@ -42485,6 +42705,17 @@ /obj/effect/landmark/transport/nav_beacon/tram/platform/tramstation/west, /turf/open/indestructible/tram/plate, /area/station/hallway/primary/tram/left) +"oar" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_y = 9; + id = "private_p"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "oaB" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -42551,6 +42782,29 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"obz" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/preopen{ + name = "Privacy Shutter"; + id = "ceprivacy" + }, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/door/airlock/command{ + name = "Chief Engineer" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/engineering/ce, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "obC" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, @@ -42580,24 +42834,6 @@ /obj/machinery/reagentgrinder, /turf/open/floor/wood, /area/station/service/bar/backroom) -"ocq" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez2" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) -"ocF" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/obj/machinery/requests_console/directional/north{ - name = "Chapel Requests Console"; - department = "Chapel" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron/grimy, -/area/station/service/chapel/office) "ocK" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/structure/sign/warning/secure_area{ @@ -42656,17 +42892,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/work) -"oeq" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - name = "Radiation Chamber Shutters"; - id = "engsm" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/engineering/supermatter) "oeP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -42686,6 +42911,53 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/dark, /area/station/maintenance/radshelter/civil) +"ofA" = ( +/obj/structure/chair/office, +/obj/machinery/button/door/directional/south{ + name = "Privacy Shutters Control"; + pixel_x = 24; + pixel_y = -1; + id = "hop"; + req_access = list("kitchen") + }, +/obj/machinery/button/door/directional/south{ + name = "Arrival Checkpoint Enforcement Procedure"; + pixel_x = 35; + pixel_y = -10; + id = "papersplease"; + req_access = list("kitchen") + }, +/obj/machinery/button/ticket_machine{ + pixel_x = 24; + pixel_y = -10 + }, +/obj/machinery/button/door/directional/south{ + name = "Queue Shutters Entry Control"; + pixel_x = 24; + pixel_y = 8; + id = "hopqueuestart"; + req_access = list("kitchen") + }, +/obj/machinery/keycard_auth/directional/south{ + pixel_x = 26 + }, +/obj/machinery/button/door/directional/south{ + name = "Queue Shutters Upper Exit Control"; + pixel_x = 35; + pixel_y = 8; + id = "hopqueueend"; + req_access = list("kitchen") + }, +/obj/machinery/button/door/directional/south{ + name = "Queue Shutters Lower Exit Control"; + pixel_x = 35; + pixel_y = -1; + id = "hopqueueendbottom"; + req_access = list("kitchen") + }, +/obj/effect/landmark/start/head_of_personnel, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "ofT" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -42773,25 +43045,6 @@ /obj/structure/sign/poster/official/report_crimes/directional/north, /turf/open/floor/iron, /area/station/security/prison) -"oii" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleleft_upper_lower_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = -24; - idSelf = "middleleft_upper_lower_eva_airlock_control"; - idDoor = "middleleft_upper_lower_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/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/tram/mid) "oir" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -42859,6 +43112,18 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) +"oiL" = ( +/obj/structure/filingcabinet, +/obj/structure/window/spawner/directional/north, +/obj/item/paper{ + name = "station layout"; + icon = 'icons/obj/scrolls.dmi'; + icon_state = "blueprints"; + default_raw_text = "A crude mapping of the station layout based on leaked internal documents and orbital snapshots taken during construction. I'm not sure how up-to-date this is anymore.."; + inhand_icon_state = "blueprints" + }, +/turf/open/floor/iron/dark/small, +/area/station/commons/vacant_room) "oiV" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -42882,19 +43147,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/service/library) -"ojN" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Chemistry Airlock" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/chemistry) "ojP" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/box, @@ -42943,6 +43195,17 @@ /obj/machinery/light/warm/directional/west, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) +"okh" = ( +/obj/structure/chair/sofa/left{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Break Room" + }, +/turf/open/floor/iron/cafeteria, +/area/station/science/breakroom) "okn" = ( /obj/structure/disposalpipe/sorting/mail{ dir = 8 @@ -43009,19 +43272,17 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood, /area/station/service/library) -"olk" = ( -/obj/machinery/chem_master/condimaster{ - name = "HoochMaster Deluxe"; - desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; - pixel_x = -4 +"ols" = ( +/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/structure/sign/clock/directional/north, -/obj/machinery/light_switch/directional/north{ - pixel_x = -8; - pixel_y = 23 - }, -/turf/open/floor/wood, -/area/station/service/bar/backroom) +/obj/effect/turf_decal/bot, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "olG" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -43030,20 +43291,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/security/execution/transfer) -"olL" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/machinery/camera/directional/south{ - network = list("ss13","Security"); - c_tag = "Security - Main South" - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/security/brig) "olR" = ( /obj/structure/tank_dispenser, /obj/effect/turf_decal/stripes/corner{ @@ -43088,6 +43335,15 @@ /obj/effect/turf_decal/trimline/dark_blue/corner, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) +"omN" = ( +/obj/machinery/door/poddoor/preopen{ + name = "Atmospherics Blast Door"; + id = "atmos" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/turf/open/floor/iron, +/area/station/engineering/atmos) "onc" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 4 @@ -43156,20 +43412,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"ooT" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 9 - }, -/obj/structure/sign/poster/official/safety_internals/directional/west, -/obj/machinery/camera/directional/west{ - network = list("ss13","cargo"); - c_tag = "Cargo - Public Mining Dock" - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit) "ooV" = ( /obj/effect/turf_decal/trimline/tram/filled/corner{ dir = 4 @@ -43187,38 +43429,26 @@ }, /turf/open/space/openspace, /area/station/solars/port) -"opy" = ( -/obj/machinery/door/window/brigdoor/left/directional/east{ - name = "Cargo Cell"; - id = "crgcell"; - req_access = list("security") - }, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 1 - }, -/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/tile/red/half/contrasted{ +"opT" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) -"opH" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "rightmost_lower_lower_eva_airlock_control"; - idInterior = "rightmost_lower_lower_eva_internal"; - idExterior = "rightmost_lower_lower_eva_external" +/obj/machinery/camera/directional/east{ + network = list("ss13","Security"); + c_tag = "Security - Main East" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/right) +/obj/structure/table, +/obj/item/storage/fancy/coffee_cart_rack{ + pixel_x = 8; + pixel_y = 2 + }, +/obj/item/food/donut/plain{ + pixel_x = -4; + pixel_y = 6 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/security/brig) "oqh" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -43234,6 +43464,21 @@ "oqp" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat_interior) +"oqy" = ( +/obj/machinery/conveyor{ + id = "cargolower" + }, +/obj/machinery/door/poddoor/preopen{ + name = "Disposal Exit Vent"; + id = "Disposal Exit" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/spawner/random/trash/garbage{ + spawn_loot_count = 3; + spawn_scatter_radius = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "oqS" = ( /obj/structure/chair/pew/left, /turf/open/floor/iron/chapel{ @@ -43284,6 +43529,17 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"osj" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/requests_console/directional/west{ + name = "Engineering Requests Console"; + department = "Engineering" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/main) "osk" = ( /turf/closed/wall, /area/station/maintenance/department/eva) @@ -43379,6 +43635,28 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/glass/reinforced, /area/station/science/genetics) +"oum" = ( +/obj/machinery/computer/security/qm{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/machinery/requests_console/directional/west{ + name = "Quartermaster's Requests Console"; + department = "Quartermaster's Desk" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/ore_update, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/camera{ + dir = 10; + network = list("ss13","cargo"); + c_tag = "Cargo - Quartermaster's Office" + }, +/obj/machinery/light/warm/directional/west, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "ouz" = ( /obj/effect/turf_decal/trimline/white/corner{ dir = 1 @@ -43416,6 +43694,10 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/security/armory) +"ouQ" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood, +/area/station/command/meeting_room) "ouW" = ( /obj/structure/table/wood, /obj/item/storage/photo_album/library, @@ -43428,6 +43710,18 @@ /obj/machinery/meter, /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"ovu" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/modular_computer/preset/civilian{ + dir = 8 + }, +/turf/open/floor/glass/reinforced, +/area/station/science/research) "ovC" = ( /obj/structure/railing/corner{ dir = 4 @@ -43558,20 +43852,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/main) -"oxw" = ( -/obj/structure/railing{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 9 - }, -/obj/structure/transport/linear/public, -/obj/machinery/elevator_control_panel/directional/north{ - linked_elevator_id = "tram_upper_center_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "oxy" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -43581,24 +43861,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"oxI" = ( -/obj/effect/turf_decal/sand/plating, -/obj/structure/sign/warning/directional/north{ - name = "FALLING HAZARD sign"; - desc = "A sign warning you to be cautious of falling packages." - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/engineering/atmos) -"oxJ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Privacy Shutter"; - id = "ceprivacy" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/command/heads_quarters/ce) "oxL" = ( /turf/closed/wall/r_wall, /area/station/science/lab) @@ -43608,20 +43870,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron, /area/station/security/prison) -"oyo" = ( -/obj/structure/toilet{ - pixel_y = 8 - }, -/obj/machinery/button/door/directional/west{ - name = "Lock Control"; - id = "Toilet2"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/effect/landmark/start/assistant, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "oys" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/central) @@ -43633,16 +43881,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/escapepodbay) -"oyH" = ( -/obj/machinery/door/poddoor{ - name = "Supply Dock Loading Door"; - id = "QMLoaddoor2" - }, -/obj/machinery/conveyor{ - id = "QMLoad2" - }, -/turf/open/floor/plating, -/area/station/cargo/storage) "oyK" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -43684,6 +43922,15 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/iron/freezer, /area/station/security/prison) +"oAg" = ( +/obj/machinery/power/solar_control{ + name = "Starboard Solar Control"; + id = "forestarboard" + }, +/obj/structure/cable, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/catwalk_floor, +/area/station/solars/starboard/fore) "oAn" = ( /obj/machinery/airlock_sensor/incinerator_ordmix{ pixel_x = 23; @@ -43697,16 +43944,6 @@ }, /turf/open/floor/engine, /area/station/science/ordnance/burnchamber) -"oAE" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/machinery/atmospherics/components/binary/pump{ - name = "Mix Outlet Pump"; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) "oAG" = ( /obj/effect/turf_decal/trimline/brown/filled/line, /obj/effect/turf_decal/stripes{ @@ -43716,20 +43953,6 @@ /obj/item/folder/yellow, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"oAK" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north{ - name = "Private Channel"; - frequency = 1447; - freerange = 1 - }, -/obj/machinery/camera/motion/directional/north{ - c_tag = "Secure - AI Upper Ring Access" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/hallway) "oAV" = ( /turf/closed/wall, /area/station/cargo/office) @@ -43750,13 +43973,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) -"oBR" = ( -/obj/modular_map_root/tramstation{ - name = "arrivalsecupper"; - key = "arrivalsecupper" - }, -/turf/open/misc/asteroid, -/area/station/asteroid) "oBY" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -43764,23 +43980,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/ai_monitored/security/armory) -"oBZ" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Hallway - Engineering Entry East" - }, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - name = "Oxygen Tank Injection Port"; - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction/engineering) "oCe" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -43828,34 +44027,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/brig) -"oCy" = ( -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/structure/sign/nanotrasen{ - pixel_y = -32 +"oCx" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Kitchen Counter Shutters"; + id = "playerscantreadthis" }, -/obj/machinery/camera/directional/south{ - network = list("ss13","Security"); - c_tag = "Civilian - Security Outpost" - }, -/obj/machinery/light/directional/south, -/turf/open/floor/iron, -/area/station/security/checkpoint/arrivals) -"oCF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "rightmost_lower_lower_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "rightmost_lower_lower_eva_airlock_control"; - idDoor = "rightmost_lower_lower_eva_external" - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/right) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/checker, +/area/station/service/kitchen) "oCR" = ( /obj/effect/turf_decal/stripes/white/full, /obj/effect/turf_decal/trimline/purple/filled/line{ @@ -43913,6 +44094,20 @@ }, /turf/open/space/basic, /area/space/nearstation) +"oEl" = ( +/obj/structure/toilet{ + dir = 1 + }, +/obj/machinery/button/door/directional/west{ + name = "Lock Control"; + id = "Toilet4"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/effect/landmark/blobstart, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "oEz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44036,21 +44231,6 @@ /obj/structure/bookcase/random/nonfiction, /turf/open/floor/wood/large, /area/station/service/library) -"oHB" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Engine Coolant Bypass"; - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 1 - }, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "oHJ" = ( /obj/machinery/power/emitter/welded{ dir = 4 @@ -44085,17 +44265,6 @@ /obj/effect/turf_decal/trimline/dark_green/filled/line, /turf/open/floor/iron/white, /area/station/science/genetics) -"oIl" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay"); - c_tag = "Medical - Morgue" - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/bodycontainer/morgue{ - dir = 2 - }, -/turf/open/floor/iron/dark, -/area/station/medical/morgue) "oIz" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -44115,6 +44284,23 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/plating, /area/station/maintenance/tram/left) +"oJx" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medical - Surgery Room A" + }, +/obj/structure/sink{ + dir = 4; + pixel_x = -12 + }, +/obj/machinery/status_display/evac/directional/west, +/obj/machinery/firealarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white, +/area/station/medical/surgery/fore) "oKe" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -44142,6 +44328,14 @@ /obj/structure/tram, /turf/open/openspace, /area/station/hallway/primary/tram/center) +"oKZ" = ( +/mob/living/simple_animal/bot/floorbot, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/maint) "oLn" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/siding/thinplating{ @@ -44216,17 +44410,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) -"oNd" = ( -/obj/effect/turf_decal/bot, -/obj/machinery/requests_console/directional/west{ - name = "Robotics Requests Console"; - department = "Robotics" - }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/robotics/lab) "oNl" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -44278,6 +44461,13 @@ }, /turf/open/floor/iron, /area/station/cargo/lobby) +"oNT" = ( +/obj/machinery/door/airlock{ + name = "Private Stall 1"; + id_tag = "ToiletSci1" + }, +/turf/open/floor/iron/freezer, +/area/station/science/lower) "oNW" = ( /obj/effect/turf_decal/trimline/dark_red/warning{ dir = 9 @@ -44412,6 +44602,16 @@ /obj/effect/turf_decal/trimline/yellow/filled/warning, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"oQO" = ( +/obj/structure/safe/vault, +/obj/item/clothing/head/costume/bearpelt, +/obj/item/gun/ballistic/revolver/russian, +/obj/item/ammo_box/a357, +/obj/effect/turf_decal/bot_white/left, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/dim/directional/east, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/nuke_storage) "oQU" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/misc/grass/jungle, @@ -44488,6 +44688,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/storage/primary) +"oSB" = ( +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","cargo"); + c_tag = "Cargo - Security Outpost" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/button/door/directional/west{ + name = "Cargo Cell Control"; + id = "crgdoor"; + req_access = list("brig_entrance"); + normaldoorcontrol = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "oTa" = ( /obj/structure/railing{ dir = 9 @@ -44522,18 +44739,14 @@ dir = 4 }, /area/station/command/bridge) -"oTm" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = -9; - id = "private_d"; - specialfunctions = 4; - normaldoorcontrol = 1 +"oTq" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Privacy Shutters"; + id = "kanyewest" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/commons/dorms) +/turf/open/floor/plating, +/area/station/security/detectives_office) "oTu" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -44646,6 +44859,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningdock) +"oVo" = ( +/obj/machinery/computer/department_orders/security{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/trimline/red/filled/warning{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/office) "oVM" = ( /turf/closed/wall/r_wall, /area/station/security/prison/mess) @@ -44685,6 +44911,16 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) +"oWB" = ( +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","prison"); + c_tag = "Security - Rec Room South" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/security/prison/workout) "oWI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44703,21 +44939,6 @@ "oXb" = ( /turf/closed/wall, /area/station/security/courtroom/holding) -"oXd" = ( -/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/purple/filled/line{ - dir = 4 - }, -/obj/machinery/turretid{ - name = "AI Upload Turret Control"; - pixel_x = 25; - req_access = list("minisat"); - control_area = "/area/station/ai_monitored/turret_protected/ai_upload" - }, -/turf/open/floor/iron/dark, -/area/station/science/lower) "oXe" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -44727,6 +44948,14 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/commons/vacant_room/office) +"oXq" = ( +/obj/machinery/door/poddoor/shutters{ + name = "MiniSat Teleport Access"; + dir = 4; + id = "teledoor" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/foyer) "oXz" = ( /obj/machinery/iv_drip, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -44756,14 +44985,6 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"oXV" = ( -/obj/machinery/door/airlock/centcom{ - name = "Syndicate Secure Airlock System"; - desc = "Truly, a marvel of modern engineering." - }, -/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, -/turf/open/floor/iron/grimy, -/area/station/commons/vacant_room) "oYE" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ @@ -44832,26 +45053,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"oZI" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/preopen{ - name = "Bridge Blast Door"; - id = "bunkermodeactivated" - }, -/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/command/bridge) -"oZN" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Secure Pen Lockdown"; - id = "cytologysecure1" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) "pal" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -44876,6 +45077,20 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) +"paH" = ( +/obj/structure/toilet{ + pixel_y = 8 + }, +/obj/machinery/button/door/directional/west{ + name = "Lock Control"; + id = "Toilet2"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "paS" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -44890,6 +45105,18 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"pbo" = ( +/obj/structure/rack, +/obj/machinery/camera/directional/north{ + network = list("ss13","Security"); + c_tag = "Security - Armory" + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/cable, +/obj/effect/spawner/random/armory/e_gun, +/turf/open/floor/iron, +/area/station/ai_monitored/security/armory) "pbr" = ( /obj/structure/closet/emcloset, /obj/effect/turf_decal/stripes/line{ @@ -44957,16 +45184,6 @@ /obj/structure/musician/piano, /turf/open/floor/carpet, /area/station/service/theater) -"pcd" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","secure"); - c_tag = "Secure - Vault Entrance" - }, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/stripes/end, -/obj/structure/cable/multilayer/multiz, -/turf/open/floor/plating, -/area/station/ai_monitored/command/nuke_storage) "pcm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44997,21 +45214,36 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/gravity_generator) +"pcY" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/power/solar_control{ + name = "AI Core Solar Control"; + id = "aicore" + }, +/obj/structure/cable, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) "pcZ" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/cable, /obj/machinery/light/small/directional/west, /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) -"pdm" = ( -/obj/machinery/firealarm/directional/south, -/obj/machinery/conveyor_switch/oneway{ - name = "Shipment Delivery Chute Activator"; - pixel_x = 10; - id = "lawyerdropoff" +"pdf" = ( +/obj/machinery/camera/directional/north{ + network = list("ss13","engineering","Security"); + c_tag = "Engineering - Security Outpost" }, -/turf/open/floor/wood, -/area/station/service/lawoffice) +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/recharger{ + pixel_y = 4 + }, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) "pdn" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 6 @@ -45093,39 +45325,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) -"peY" = ( -/obj/machinery/computer/apc_control{ - dir = 1 - }, -/obj/machinery/requests_console/directional/south{ - name = "Chief Engineer's Request Console"; - department = "Chief Engineer's Desk" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/machinery/computer/security/telescreen/engine{ - dir = 4; - pixel_x = -24 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) -"pfb" = ( -/obj/machinery/requests_console/directional/north{ - name = "Head of Security's Requests Console"; - department = "Head of Security's Desk" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security"); - c_tag = "Security - Head of Security's Office" - }, -/obj/machinery/computer/records/security, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/hos) "pfh" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -45233,43 +45432,16 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/lesser) -"pgY" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Kitchen Counter Shutters"; - id = "playerscantreadthis" +"pgV" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + name = "Radiation Chamber Shutters"; + id = "engsm" }, -/obj/item/plate, -/turf/open/floor/iron/checker, -/area/station/service/kitchen) -"phe" = ( -/mob/living/basic/parrot/poly, -/obj/structure/filingcabinet/chestdrawer, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/machinery/button/door/directional/west{ - name = "Atmospherics Lockdown"; - pixel_y = 8; - id = "atmos"; - req_access = list("atmospherics") - }, -/obj/machinery/button/door/directional/west{ - name = "Engineering Secure Storage"; - id = "Secure Storage"; - req_access = list("engine_equip") - }, -/obj/machinery/button/door/directional/west{ - name = "Engineering Lockdown"; - pixel_y = -8; - id = "Engineering"; - req_access = list("engineering") - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) +/turf/open/floor/plating, +/area/station/engineering/supermatter) "phl" = ( /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) @@ -45299,15 +45471,6 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"phW" = ( -/obj/structure/table/wood, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/machinery/fax{ - name = "Head of Security's Fax Machine"; - fax_name = "Head of Security's Office" - }, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/hos) "pib" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/machinery/door/firedoor, @@ -45339,13 +45502,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"piL" = ( -/obj/machinery/door/airlock{ - name = "Private Stall 2"; - id_tag = "ToiletSci2" - }, -/turf/open/floor/iron/freezer, -/area/station/science/lower) "piX" = ( /turf/open/floor/engine/n2o, /area/station/engineering/atmos) @@ -45443,6 +45599,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"pkG" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engineering"); + c_tag = "Engineering - Entry Airlock" + }, +/turf/open/floor/iron, +/area/station/engineering/main) "pkH" = ( /obj/structure/closet/crate, /obj/item/food/breadslice/plain, @@ -45487,6 +45656,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"plr" = ( +/obj/machinery/door/airlock{ + name = "Room 3"; + id_tag = "miningdorm3" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/mining, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet, +/area/station/cargo/miningdock) "plu" = ( /obj/effect/turf_decal/siding/wood/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45635,6 +45814,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"pob" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Pharmacy Shutters"; + dir = 4; + id = "pharmacy_shutters_2" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/medical/pharmacy) "pof" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -45671,6 +45860,17 @@ }, /turf/open/floor/iron/white, /area/station/science/genetics) +"poT" = ( +/obj/machinery/atmospherics/components/binary/valve/digital/on{ + name = "Output Release"; + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "ppa" = ( /obj/effect/turf_decal/stripes/white/full, /obj/machinery/door/firedoor, @@ -45713,13 +45913,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"ppB" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - name = "server vent"; - dir = 4 - }, -/turf/open/floor/circuit/telecomms/server, -/area/station/science/server) "ppK" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -45768,6 +45961,18 @@ /obj/machinery/light/warm/directional/west, /turf/open/floor/iron/dark, /area/station/service/chapel) +"pqU" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = -24; + idSelf = "rightmost_lower_upper_eva_airlock_control"; + idInterior = "rightmost_lower_upper_eva_internal"; + idExterior = "rightmost_lower_upper_eva_external" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/right) "pqV" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -45789,28 +45994,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/mid) -"prl" = ( -/obj/structure/rack, -/obj/structure/table, -/obj/machinery/computer/security/telescreen{ - name = "Test Chamber Monitor"; - pixel_y = 28; - network = list("test") - }, -/obj/item/storage/box/beakers{ - pixel_x = 5; - pixel_y = 3 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/grenade/chem_grenade{ - pixel_x = -7; - pixel_y = 1 - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) "prq" = ( /obj/machinery/atmospherics/components/unary/passive_vent{ dir = 1 @@ -45869,21 +46052,20 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"pss" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - name = "Radiation Chamber Shutters"; - id = "engsm" +"pso" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 6 }, -/obj/structure/cable/layer1, -/obj/effect/turf_decal/trimline/yellow/arrow_cw{ - dir = 1 +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + name = "Oxygen Tank Injection Port"; + dir = 4 }, -/obj/effect/turf_decal/trimline/yellow/arrow_ccw, -/turf/open/floor/plating, -/area/station/engineering/supermatter) +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "psv" = ( /obj/effect/landmark/start/hangover, /obj/structure/cable, @@ -45934,6 +46116,20 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"ptq" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/station/command/meeting_room) +"pts" = ( +/obj/machinery/power/smes{ + charge = 10000; + capacity = 9e+06 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "ptu" = ( /obj/structure/table/wood, /obj/item/folder/red, @@ -46002,30 +46198,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"puA" = ( -/obj/structure/cable, -/obj/machinery/power/solar_control{ - name = "Port Solar Control"; - dir = 1; - id = "portsolar" - }, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/catwalk_floor, -/area/station/solars/port) -"puG" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/yellow/corner, -/obj/structure/frame/computer{ - dir = 4; - anchored = 1 - }, -/obj/item/stack/cable_coil{ - amount = 15 - }, -/obj/effect/decal/cleanable/cobweb, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/maintenance/port/central) "puL" = ( /obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ name = "Burn Chamber Exterior Airlock" @@ -46127,16 +46299,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"pvY" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Firing Range" - }, -/turf/open/floor/engine, -/area/station/science/auxlab/firing_range) "pwd" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail{ @@ -46370,15 +46532,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/port/central) -"pza" = ( -/obj/machinery/computer/department_orders/medical{ - dir = 1 - }, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/medical/storage) "pzb" = ( /obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 @@ -46387,6 +46540,17 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/cargo/miningfoundry) +"pzc" = ( +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security"); + c_tag = "Security - Interrogation Observation" + }, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/security/interrogation) "pzd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -46452,6 +46616,38 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"pAD" = ( +/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ + dir = 1 + }, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Mix to Filter"; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos/pumproom) +"pAJ" = ( +/obj/machinery/door/airlock/research{ + name = "Research Division Access" + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Research Lockdown Blastdoor"; + id = "Sciencelockdown" + }, +/obj/machinery/door/firedoor, +/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/science/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/iron/white, +/area/station/science/research) "pAR" = ( /obj/machinery/firealarm/directional/west, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -46556,22 +46752,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/primary) -"pCO" = ( -/obj/machinery/navbeacon{ - name = "navigation beacon (Atmoshperics Delivery)"; - location = "Atmoshperics"; - codes_txt = "delivery;dir=8" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/loading_area{ - dir = 8 - }, -/obj/machinery/conveyor{ - dir = 8; - id = "atmosdropoff" - }, -/turf/open/floor/plating, -/area/station/maintenance/department/medical) "pCU" = ( /obj/structure/table, /obj/machinery/recharger, @@ -46633,14 +46813,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"pDG" = ( -/obj/machinery/door/poddoor/shutters{ - name = "MiniSat Teleport Access"; - dir = 4; - id = "teledoor" +"pEa" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + name = "killroom vent"; + dir = 8 }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/foyer) +/turf/open/floor/circuit/telecomms, +/area/station/science/xenobiology) "pEe" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -46648,29 +46827,21 @@ /obj/machinery/bluespace_vendor/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"pEw" = ( -/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/vending/wallmed/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) "pEx" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) +"pEB" = ( +/obj/docking_port/stationary{ + name = "SS13: Auxiliary Dock, Station-Port"; + dir = 2; + width = 35; + height = 24; + shuttle_id = "whiteship_home"; + dwidth = 11 + }, +/turf/open/space/openspace, +/area/space) "pEM" = ( /obj/structure/railing{ dir = 6 @@ -46678,6 +46849,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/command/gateway) +"pFe" = ( +/obj/machinery/door/airlock/research{ + name = "Research Division Access" + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/door/poddoor/preopen{ + name = "Research Lockdown Blastdoor"; + id = "Sciencelockdown" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/obj/effect/mapping_helpers/airlock/cyclelink_helper, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/iron/white/side, +/area/station/science/research) "pFm" = ( /obj/machinery/porta_turret/ai{ dir = 4 @@ -46748,6 +46936,13 @@ dir = 8 }, /area/station/medical/medbay/central) +"pGg" = ( +/obj/modular_map_root/tramstation{ + name = "cargoscilower"; + key = "cargoscilower" + }, +/turf/open/misc/asteroid, +/area/station/asteroid) "pGj" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -46755,6 +46950,11 @@ }, /turf/open/floor/carpet, /area/station/cargo/miningdock) +"pGr" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/wood, +/area/station/command/meeting_room) "pGy" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -46770,6 +46970,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"pGO" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "pGS" = ( /obj/machinery/telecomms/bus/preset_one, /turf/open/floor/iron/dark/telecomms, @@ -46842,6 +47055,17 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/tcommsat/computer) +"pIx" = ( +/obj/structure/table, +/obj/item/clipboard, +/obj/item/wrench, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Server Room" + }, +/turf/open/floor/circuit/green, +/area/station/science/server) "pIA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, @@ -46898,15 +47122,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/commons/dorms) -"pJu" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Kitchen Counter Shutters"; - id = "playerscantreadthis" - }, -/turf/open/floor/iron/checker, -/area/station/service/kitchen) "pJE" = ( /obj/structure/chair/comfy/beige{ dir = 1 @@ -46953,6 +47168,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos) +"pKr" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/obj/machinery/requests_console/directional/north{ + name = "Chapel Requests Console"; + department = "Chapel" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/grimy, +/area/station/service/chapel/office) "pKC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46990,20 +47215,33 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/chapel) +"pLg" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "outerbrigright" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_right" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/navigate_destination/sec, +/turf/open/floor/iron, +/area/station/security/brig) "pLs" = ( /obj/structure/transport/linear/tram, /obj/structure/tram/split, /turf/open/openspace, /area/station/hallway/primary/tram/center) -"pLB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/box, -/obj/structure/sign/warning/directional/west{ - name = "FALLING HAZARD sign"; - desc = "A sign warning you to be cautious of falling packages." - }, -/turf/open/floor/plating, -/area/station/service/lawoffice) "pLH" = ( /turf/closed/wall, /area/station/engineering/engine_smes) @@ -47091,6 +47329,15 @@ "pMW" = ( /turf/open/space/openspace, /area/space) +"pNa" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + name = "Test Chamber Blast Door"; + id = "Xenolab" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "pNc" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -47134,6 +47381,36 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"pNI" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/item/storage/box/hug{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/item/razor{ + pixel_x = -8; + pixel_y = 3 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security"); + c_tag = "Security - Gulag Prep" + }, +/turf/open/floor/iron, +/area/station/security/brig) +"pOg" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Lower Hall North" + }, +/turf/open/floor/iron/white, +/area/station/science/lower) "pOi" = ( /obj/effect/turf_decal/trimline/dark_red/warning{ dir = 6 @@ -47142,6 +47419,22 @@ /obj/structure/railing, /turf/open/floor/plating/elevatorshaft, /area/station/cargo/miningdock) +"pOy" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + name = "Radiation Chamber Shutters"; + id = "engsm" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable/layer1, +/obj/effect/turf_decal/trimline/yellow/arrow_cw, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "pOE" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -47151,16 +47444,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) -"pOG" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Pure to Mix"; - dir = 1 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/cyan/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) "pOI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/lattice/catwalk, @@ -47175,6 +47458,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/storage/primary) +"pOZ" = ( +/obj/machinery/portable_atmospherics/scrubber, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/filled/warning{ + dir = 10 + }, +/obj/machinery/firealarm/directional/west, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + name = "Exfiltrate Port"; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction/engineering) "pPe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/chapel{ @@ -47235,6 +47533,17 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"pQO" = ( +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Gas to Cooling Loop"; + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "pQY" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2{ dir = 8 @@ -47320,18 +47629,6 @@ /obj/effect/turf_decal/siding/thinplating/corner, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"pTV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleleft_lower_lower_eva_airlock_control"; - idInterior = "middleleft_lower_lower_eva_internal"; - idExterior = "middleleft_lower_lower_eva_external" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/mid) "pTW" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -47424,6 +47721,21 @@ }, /turf/open/floor/carpet, /area/station/command/heads_quarters/qm) +"pUZ" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, +/obj/machinery/button/door/directional/south{ + name = "Radiation Shutters Control"; + id = "engsm"; + req_access = list("engineering") + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_cw, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "pVk" = ( /obj/machinery/duct, /obj/structure/cable, @@ -47442,25 +47754,6 @@ /obj/machinery/light/warm/directional/north, /turf/open/floor/iron/dark, /area/station/service/bar) -"pVQ" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Robotics Lab Shutters"; - id = "robotics2" - }, -/turf/open/floor/plating, -/area/station/science/robotics/lab) -"pWl" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","cargo"); - c_tag = "Cargo - Mining Break Room" - }, -/obj/effect/turf_decal/tile/bar/opposingcorners, -/turf/open/floor/iron, -/area/station/cargo/miningdock/cafeteria) "pWt" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 4 @@ -47483,6 +47776,18 @@ }, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) +"pWK" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 8 + }, +/obj/machinery/computer/department_orders/science{ + dir = 4 + }, +/turf/open/floor/glass/reinforced, +/area/station/science/research) "pWN" = ( /obj/structure/plaque/static_plaque/golden/commission/tram, /obj/structure/disposalpipe/segment{ @@ -47539,22 +47844,16 @@ /obj/item/kirbyplants/photosynthetic, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"pXu" = ( -/obj/machinery/door/window/brigdoor/left/directional/west{ - name = "Engineering Cell"; - id = "engcell"; - req_access = list("security") - }, -/obj/effect/turf_decal/trimline/red/filled/corner, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 +"pXq" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/effect/turf_decal/delivery, +/obj/machinery/navbeacon{ + location = "QM #3"; + codes_txt = "delivery;dir=2" }, +/obj/effect/turf_decal/tile/brown/fourcorners, /turf/open/floor/iron, -/area/station/security/checkpoint/engineering) +/area/station/cargo/warehouse) "pXC" = ( /obj/machinery/door/airlock/external{ name = "External Access" @@ -47572,6 +47871,18 @@ }, /turf/open/floor/iron/stairs/left, /area/station/hallway/secondary/construction/engineering) +"pXL" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","medbay"); + c_tag = "Medical - Chemistry East" + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/chemistry) "pXZ" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 8 @@ -47608,22 +47919,6 @@ }, /turf/open/floor/wood, /area/station/service/lawoffice) -"pYF" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/stripes/end{ - dir = 1 - }, -/obj/structure/closet/secure_closet/research_director, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Research Director's Office" - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = -8; - pixel_y = -24 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/rd) "pYH" = ( /obj/structure/bed{ dir = 4 @@ -47639,6 +47934,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"pYU" = ( +/obj/machinery/computer/apc_control{ + dir = 1 + }, +/obj/machinery/requests_console/directional/south{ + name = "Chief Engineer's Request Console"; + department = "Chief Engineer's Desk" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/computer/security/telescreen/engine{ + dir = 4; + pixel_x = -24 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "pYZ" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -47662,17 +47973,6 @@ /mob/living/basic/mouse/brown/tom, /turf/open/misc/asteroid, /area/station/security/prison/workout) -"pZv" = ( -/obj/machinery/button/door/directional/east{ - name = "Door Bolt Control"; - id = "miningdorm1"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet, -/area/station/cargo/miningdock) "pZA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -47708,6 +48008,15 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/starboard/fore) +"pZM" = ( +/obj/machinery/airalarm/directional/west, +/obj/machinery/camera/directional/west{ + network = list("ss13","rd","xeno"); + c_tag = "Science - Cytology West" + }, +/obj/machinery/hydroponics/soil, +/turf/open/floor/grass, +/area/station/science/xenobiology) "pZW" = ( /turf/closed/wall, /area/station/maintenance/port/central) @@ -47733,23 +48042,6 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) -"qaq" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Theatre Maintenance Hatch" - }, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/modular_map_root/tramstation{ - name = "barcargoupper"; - key = "barcargoupper" - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/cargo) "qar" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/reagent_dispensers/watertank, @@ -47859,6 +48151,18 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/iron/smooth, /area/station/service/hydroponics) +"qcU" = ( +/obj/effect/spawner/random/vending/colavend, +/obj/machinery/airalarm/directional/west, +/obj/machinery/camera/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medical - Breakroom" + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/break_room) "qda" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 @@ -47914,15 +48218,6 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"qdI" = ( -/obj/structure/lattice/catwalk, -/obj/machinery/power/solar{ - name = "Starboard Solar Array"; - id = "forestarboard" - }, -/obj/structure/cable, -/turf/open/space/openspace, -/area/station/solars/starboard/fore) "qdK" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -48044,6 +48339,23 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) +"qfD" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "mostleft_upper_lower_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "mostleft_upper_lower_eva_airlock_control"; + idDoor = "mostleft_upper_lower_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/turf_decal/sand, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/left) "qfF" = ( /obj/structure/fluff/tram_rail/electric/anchor{ dir = 1 @@ -48103,6 +48415,14 @@ "qgt" = ( /turf/closed/wall/rock/porous, /area/station/medical/chemistry) +"qgy" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 4 + }, +/obj/item/stock_parts/cell/high, +/turf/open/floor/iron, +/area/station/command/bridge) "qgB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48153,14 +48473,6 @@ /obj/machinery/door/poddoor/incinerator_atmos_aux, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"qhc" = ( -/obj/structure/table/wood, -/obj/machinery/chem_master/condimaster{ - name = "HoochMaster Deluxe"; - desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments." - }, -/turf/open/floor/iron/dark, -/area/station/service/bar) "qhC" = ( /obj/machinery/duct, /obj/structure/cable, @@ -48220,14 +48532,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hop) -"qix" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics CO2 Chamber" - }, -/turf/open/floor/engine/co2, -/area/station/engineering/atmos) "qiI" = ( /obj/structure/disposaloutlet, /obj/structure/disposalpipe/trunk{ @@ -48284,20 +48588,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/tcommsat/computer) -"qjB" = ( -/obj/machinery/modular_computer/preset/id{ - dir = 8 - }, -/obj/machinery/keycard_auth/directional/north, -/obj/machinery/button/door/directional/north{ - name = "CMO Privacy Shutters"; - pixel_y = 38; - id = "cmoshutter"; - req_access = list("cmo") - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "qjF" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -48359,33 +48649,13 @@ dir = 4 }, /area/station/command/bridge) -"qkk" = ( -/obj/machinery/chem_master/condimaster{ - name = "SapMaster XP"; - desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments." +"qkr" = ( +/obj/machinery/camera/directional/west{ + network = list("ss13","Security"); + c_tag = "Security - Main West" }, -/obj/machinery/requests_console/directional/north{ - name = "Hydroponics Requests Console"; - department = "Hydroponics" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/turf_decal/tile/green/fourcorners, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"qkq" = ( -/obj/effect/turf_decal/trimline/white/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/yellow/line{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","minisat"); - c_tag = "Secure - AI Antechamber West" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) +/turf/open/openspace, +/area/station/security/brig) "qkE" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -48439,6 +48709,20 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"qkV" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/effect/turf_decal/loading_area/white{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "HoP Queue Shutters"; + id = "hopqueuestart" + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/hop) "qlf" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -48551,6 +48835,34 @@ /obj/machinery/light/directional/east, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/right) +"qnO" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Research & Development" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/lab) +"qnU" = ( +/obj/effect/turf_decal/trimline/red/filled/corner, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/button/flasher{ + pixel_x = 9; + pixel_y = 24; + id = "permafrontdoor"; + req_access = list("brig") + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "qnW" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -48559,28 +48871,6 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"qod" = ( -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 - }, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics South-West" - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ - dir = 8 - }, -/obj/machinery/meter, -/turf/open/floor/iron, -/area/station/engineering/atmos) "qoo" = ( /obj/machinery/door/airlock/research/glass{ name = "Robotics Lab" @@ -48604,13 +48894,6 @@ /obj/machinery/microwave, /turf/open/floor/iron/white, /area/station/commons/vacant_room) -"qoU" = ( -/obj/modular_map_root/tramstation{ - name = "secbarupper"; - key = "secbarupper" - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/security) "qoX" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 @@ -48655,6 +48938,17 @@ }, /turf/open/openspace, /area/station/hallway/primary/tram/center) +"qpY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/filingcabinet, +/obj/machinery/camera{ + dir = 9; + c_tag = "Civilian - Vacant Office" + }, +/turf/open/floor/wood, +/area/station/commons/vacant_room/office) "qpZ" = ( /obj/item/radio/intercom/directional/south, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -48683,20 +48977,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/fitness/recreation) -"qqp" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","cargo"); - c_tag = "Cargo - Bank Vault" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/cargo/miningdock/oresilo) "qqv" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on, /obj/machinery/light/directional/north, @@ -48717,17 +48997,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"qqT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/machinery/incident_display/tram/directional/north{ - name = "darwin award counter"; - desc = "A display that indicates how many dents that'll need fixed after the shift is over." - }, -/turf/open/floor/iron, -/area/station/maintenance/port/central) "qrg" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -48821,18 +49090,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"qsQ" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/item/radio/intercom/directional/east, -/obj/machinery/camera/directional/east{ - network = list("ss13","medbay"); - c_tag = "Medical - Main East" - }, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "qsU" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -48870,6 +49127,14 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) +"qtB" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Secure Pen Lockdown"; + id = "cytologysecure1" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "qtF" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -48992,14 +49257,6 @@ }, /turf/open/floor/iron, /area/station/security/prison/work) -"qwe" = ( -/obj/docking_port/stationary/random{ - name = "lavaland"; - dir = 8; - shuttle_id = "pod_4_lavaland" - }, -/turf/open/misc/asteroid/airless, -/area/station/asteroid) "qwq" = ( /obj/structure/table/wood, /obj/item/radio/intercom, @@ -49032,18 +49289,6 @@ /obj/structure/flora/bush/grassy/style_random, /turf/open/floor/grass, /area/station/science/lower) -"qxi" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 8 - }, -/obj/structure/table, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","minisat"); - c_tag = "Secure - AI Minisat Internal Power Access" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/maint) "qxm" = ( /turf/closed/wall, /area/station/maintenance/starboard/central) @@ -49095,19 +49340,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/cargo/warehouse) -"qyo" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/closet/l3closet/scientist, -/obj/machinery/camera/directional/west{ - network = list("ss13","rd"); - c_tag = "Science - Xenobiology Airlock" - }, -/obj/effect/turf_decal/tile/purple/fourcorners, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "qyr" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/lattice/catwalk, @@ -49155,31 +49387,19 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"qyT" = ( -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "mostleft_upper_lower_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = 24; - idSelf = "mostleft_upper_lower_eva_airlock_control"; - idDoor = "mostleft_upper_lower_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/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/catwalk_floor, -/area/station/maintenance/tram/left) "qyZ" = ( /turf/closed/wall/r_wall, /area/station/command/meeting_room) "qza" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) +"qzf" = ( +/obj/machinery/button/door/directional/east{ + name = "Privacy Shutters Control"; + id = "ceprivacy" + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "qzh" = ( /obj/machinery/bouldertech/refinery/smelter, /obj/machinery/conveyor{ @@ -49202,19 +49422,6 @@ }, /turf/open/floor/wood/large, /area/station/service/theater) -"qzH" = ( -/obj/machinery/lift_indicator{ - pixel_x = -5; - pixel_y = -3; - linked_elevator_id = "tram_lower_center_lift" - }, -/obj/machinery/button/elevator{ - pixel_x = -7; - pixel_y = -1; - id = "tram_lower_center_lift" - }, -/turf/closed/wall, -/area/station/hallway/primary/tram/center) "qzI" = ( /obj/structure/sign/warning/vacuum/external/directional/south, /obj/effect/turf_decal/trimline/yellow/filled/line, @@ -49254,27 +49461,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) -"qAd" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger{ - pixel_y = 4 - }, -/obj/item/stock_parts/cell/high, -/turf/open/floor/iron, -/area/station/command/bridge) -"qAk" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 5 - }, -/obj/machinery/computer/department_orders/engineering{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/break_room) "qAl" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron, @@ -49356,6 +49542,25 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) +"qBX" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleleft_lower_lower_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_x = -24; + idSelf = "middleleft_lower_lower_eva_airlock_control"; + idDoor = "middleleft_lower_lower_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/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/tram/mid) "qCf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -49472,6 +49677,15 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/miningdock) +"qCU" = ( +/obj/structure/lattice/catwalk, +/obj/machinery/power/solar{ + name = "Starboard Solar Array"; + id = "forestarboard" + }, +/obj/structure/cable, +/turf/open/space/basic, +/area/space/nearstation) "qCW" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 1 @@ -49548,15 +49762,6 @@ }, /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/mid) -"qDU" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters E"; - id_tag = "private_e" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) "qEl" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -49564,45 +49769,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"qEt" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/button/elevator/directional/west{ - pixel_x = -26; - pixel_y = -1; - id = "tram_sci_lift" - }, -/obj/machinery/lift_indicator/directional/west{ - pixel_x = -27; - pixel_y = -2; - linked_elevator_id = "tram_sci_lift" - }, -/turf/open/floor/iron/white, -/area/station/science/research) "qEH" = ( /turf/closed/wall, /area/station/solars/port) -"qEZ" = ( -/obj/structure/table/reinforced, -/obj/item/cigbutt/cigarbutt{ - pixel_x = 5; - pixel_y = -1 - }, -/obj/item/phone{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/machinery/requests_console/directional/north{ - name = "AI Requests Console"; - department = "AI" - }, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/structure/cable/multilayer/connected, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) "qFf" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -49642,16 +49811,6 @@ /obj/machinery/telecomms/processor/preset_four, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"qGi" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/table/wood, -/obj/machinery/fax{ - name = "Head of Personnel's Fax Machine"; - fax_name = "Head of Personnel's Office" - }, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/hop) "qGy" = ( /obj/structure/transit_tube/crossing, /turf/open/floor/plating/airless, @@ -49689,6 +49848,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"qHo" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "rightmost_upper_eva_internal"; + autoclose = 0 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "rightmost_upper_eva_airlock_control"; + idDoor = "rightmost_upper_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/right) "qHs" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) @@ -49737,6 +49916,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"qHW" = ( +/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/red/filled/line{ + dir = 1 + }, +/obj/structure/reagent_dispensers/wall/peppertank/directional/north, +/turf/open/floor/iron, +/area/station/security/checkpoint/science) "qIc" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -49829,21 +50018,6 @@ /obj/item/storage/box/bandages, /turf/open/floor/iron/white, /area/station/security/medical) -"qJF" = ( -/obj/machinery/door/poddoor/preopen{ - name = "Atmospherics Blast Door"; - id = "atmos" - }, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/engineering/atmos) -"qJQ" = ( -/obj/modular_map_root/tramstation{ - name = "atmoscilower"; - key = "atmoscilower" - }, -/turf/open/misc/asteroid, -/area/station/asteroid) "qJY" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 8 @@ -49899,49 +50073,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/server) -"qKO" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "mostleft_upper_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "mostleft_upper_eva_airlock_control"; - idDoor = "mostleft_upper_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/left) -"qLg" = ( -/obj/machinery/computer/scan_consolenew{ - dir = 4 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","rd"); - c_tag = "Science - Genetics" - }, -/obj/structure/sign/clock/directional/west, -/obj/effect/turf_decal/tile/dark_green/fourcorners, -/obj/machinery/light/directional/west, -/turf/open/floor/iron/white, -/area/station/science/genetics) -"qLw" = ( -/obj/structure/chair{ - name = "Prosecution"; - dir = 1 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/courtroom) "qLD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -49964,6 +50095,20 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/medical/chemistry) +"qLR" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/poddoor/preopen{ + name = "Research Director's Shutters"; + id = "rdoffice" + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/rd) "qMb" = ( /obj/structure/table, /obj/item/exodrone{ @@ -50034,6 +50179,27 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"qNk" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/machinery/button/door{ + name = "Test Chamber Blast Doors"; + pixel_x = 4; + pixel_y = 9; + id = "Xenolab"; + req_access = list("xenobiology") + }, +/obj/machinery/button/ignition{ + pixel_x = -6; + pixel_y = 9; + id = "Xenobio" + }, +/obj/item/radio/intercom{ + pixel_y = -4 + }, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "qNA" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -50043,6 +50209,19 @@ }, /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) +"qND" = ( +/obj/machinery/camera{ + dir = 6; + c_tag = "Arrivals - North Docking Hall" + }, +/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/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "qNF" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -50074,22 +50253,24 @@ "qOo" = ( /turf/open/floor/iron/white, /area/station/science/ordnance) +"qOB" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/modular_computer/preset/cargochat/medical{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "qOF" = ( /turf/closed/wall, /area/station/commons/dorms/laundry) -"qOU" = ( -/obj/machinery/door/poddoor/preopen{ - name = "Atmospherics Blast Door"; - id = "atmos" - }, -/obj/effect/turf_decal/delivery, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, -/turf/open/floor/iron, -/area/station/engineering/atmos) "qOY" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -50119,21 +50300,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/large, /area/station/service/theater) -"qPD" = ( -/obj/machinery/power/terminal{ - dir = 1 - }, -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/structure/sign/warning/electric_shock/directional/east, -/obj/item/storage/toolbox/mechanical{ - name = "moderately suspicious looking toolbox"; - desc = "Danger. Kinda robust."; - icon_state = "syndicate"; - inhand_icon_state = "toolbox_syndi" - }, -/turf/open/floor/plating, -/area/station/commons/vacant_room) "qPE" = ( /obj/structure/chair/greyscale{ dir = 4 @@ -50190,43 +50356,10 @@ /obj/item/paper_bin, /turf/open/floor/iron/white, /area/station/science/lobby) -"qQe" = ( -/obj/machinery/airalarm/directional/west, -/obj/machinery/camera/directional/west{ - network = list("ss13","rd","xeno"); - c_tag = "Science - Cytology West" - }, -/obj/machinery/hydroponics/soil, -/turf/open/floor/grass, -/area/station/science/xenobiology) -"qQk" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/end{ - dir = 1 - }, -/obj/machinery/suit_storage_unit/rd, -/obj/machinery/requests_console/directional/south{ - name = "Research Director's Request Console"; - department = "Research Director's Desk" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron, -/area/station/command/heads_quarters/rd) "qQq" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/tram/left) -"qQV" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Privacy Shutters"; - id = "kanyewest" - }, -/turf/open/floor/plating, -/area/station/security/detectives_office) "qQW" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/structure/sign/flag{ @@ -50301,17 +50434,6 @@ }, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) -"qSy" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = -9; - id = "private_i"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood, -/area/station/commons/dorms) "qSE" = ( /obj/structure/table, /obj/machinery/computer/security/telescreen/interrogation, @@ -50322,30 +50444,24 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) -"qTl" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Security Post - Cargo"; - id_tag = "crgdoor" - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/corner, -/obj/effect/mapping_helpers/airlock/access/all/security/brig, +"qSS" = ( +/obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) -"qTr" = ( +/obj/machinery/door/poddoor/preopen{ + name = "Test Chamber Blast Door"; + id = "Xenolab" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/science/xenobiology) +"qTp" = ( /obj/machinery/door/airlock{ - name = "Private Quarters C"; - id_tag = "private_c" + name = "Private Quarters B"; + id_tag = "private_b" }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, +/turf/open/floor/wood, /area/station/commons/dorms) "qTt" = ( /obj/machinery/light_switch/directional/south, @@ -50373,6 +50489,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) +"qTI" = ( +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engine","engineering"); + c_tag = "Engineering - Emitter Room West" + }, +/turf/open/floor/iron/dark, +/area/station/engineering/supermatter/room) "qTK" = ( /obj/structure/chair{ dir = 8 @@ -50397,26 +50521,15 @@ /obj/effect/turf_decal/tile/neutral/tram, /turf/open/indestructible/tram/plate, /area/station/hallway/primary/tram/center) -"qUx" = ( -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "rightmost_upper_eva_internal"; - autoclose = 0 +"qUy" = ( +/obj/machinery/camera/directional/south{ + name = "holodeck camera"; + c_tag = "Civilian - Holodeck South" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "rightmost_upper_eva_airlock_control"; - idDoor = "rightmost_upper_eva_internal" +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/right) +/area/station/holodeck/rec_center) "qUA" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 5 @@ -50452,6 +50565,17 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) +"qUS" = ( +/obj/machinery/vending/medical, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Main Storage" + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "qUX" = ( /obj/effect/spawner/random/structure/table, /obj/item/paper/pamphlet/radstorm, @@ -50562,21 +50686,29 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/engineering/main) +"qWI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleright_lower_lower_eva_external"; + autoclose = 0 + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "middleright_lower_lower_eva_airlock_control"; + idDoor = "middleright_lower_lower_eva_external" + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/mid) "qWN" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /obj/effect/decal/cleanable/cobweb, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/parquet, /area/station/service/library) -"qWO" = ( -/obj/machinery/door/poddoor/shutters{ - name = "Security Mech Bay Shutters"; - id = "secmechbay" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/delivery, -/turf/open/floor/plating, -/area/station/security/mechbay) "qWT" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -50654,6 +50786,27 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"qXK" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/stock_parts/cell/crap/empty{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/stock_parts/cell/crap/empty{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/item/stock_parts/cell/crap/empty{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/stock_parts/cell/crap/empty{ + pixel_x = -2; + pixel_y = -2 + }, +/turf/open/floor/iron/smooth, +/area/station/security/mechbay) "qXS" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -50691,6 +50844,13 @@ /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" + }, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "qYJ" = ( /obj/machinery/flasher/directional/north{ id = "AI" @@ -50731,6 +50891,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/science/lower) +"qZa" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay"; + id_tag = "MedbayFoyer" + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 8 + }, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "qZq" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -50757,6 +50936,20 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/iron, /area/station/maintenance/tram/left) +"qZy" = ( +/obj/structure/table/glass, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/item/reagent_containers/syringe, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/camera{ + dir = 10; + network = list("ss13","Security"); + c_tag = "Security - Medical Center" + }, +/turf/open/floor/iron/white, +/area/station/security/medical) "qZA" = ( /obj/machinery/door/airlock/external{ name = "Construction Zone" @@ -50775,18 +50968,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/gravity_generator) -"qZN" = ( -/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ - dir = 1 - }, -/obj/machinery/requests_console/directional/east{ - name = "Atmospherics Requests Console"; - department = "Atmospherics" - }, -/obj/structure/cable, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/engineering/atmos) "qZZ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -50807,13 +50988,24 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"rav" = ( -/obj/machinery/camera/motion/directional/south{ - network = list("ss13","minisat"); - c_tag = "Secure - AI Lower External North" +"rao" = ( +/obj/machinery/door/airlock/security{ + name = "Labor Shuttle"; + id_tag = "laborexit" }, -/turf/open/space/basic, -/area/space) +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/brig, +/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/security/brig) "raP" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50910,6 +51102,18 @@ /obj/machinery/light/directional/north, /turf/open/floor/catwalk_floor, /area/station/command/gateway) +"rbU" = ( +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/camera/directional/east{ + network = list("ss13","rd"); + c_tag = "Science - Xenobiology East" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "rci" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -50961,33 +51165,24 @@ /obj/effect/mapping_helpers/airalarm/tlv_no_checks, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"rcH" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/machinery/button/door/directional/south{ - name = "Radiation Shutters Control"; - id = "engsm"; - req_access = list("engineering") - }, -/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/yellow/arrow_cw, -/obj/structure/cable/layer1, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "rcI" = ( /obj/machinery/blackbox_recorder, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"rcT" = ( -/obj/structure/table, -/obj/machinery/fax{ - name = "Pre-Trial Fax Machine"; - fax_name = "Pre-Trial" +"rcU" = ( +/obj/structure/chair{ + name = "Prosecution"; + dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/security/courtroom/holding) +/turf/open/floor/wood/large, +/area/station/service/barber) +"rdk" = ( +/obj/machinery/door/airlock{ + name = "Unit 6"; + id_tag = "Toilet6" + }, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "rdm" = ( /obj/structure/displaycase/captain{ pixel_y = 5 @@ -51007,13 +51202,24 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/security/processing) -"rdL" = ( -/obj/machinery/door/airlock{ - name = "Unit 6"; - id_tag = "Toilet6" +"rdJ" = ( +/obj/structure/table/glass, +/obj/item/stack/medical/mesh, +/obj/item/stack/medical/gauze, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 }, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) +/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/vending/wallmed/directional/east, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "rdN" = ( /obj/machinery/mech_bay_recharge_port{ dir = 1 @@ -51055,6 +51261,18 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"rem" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_x = 24; + pixel_y = -9; + id = "private_e"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "reC" = ( /obj/machinery/door/airlock/highsecurity{ name = "AI Upload Access" @@ -51082,22 +51300,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"rfK" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ +"rfQ" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 }, -/obj/machinery/computer/security/telescreen{ - name = "Prison Monitor"; - desc = "Used for watching Prison Wing holding areas."; - dir = 8; - pixel_x = 30; - network = list("prison") - }, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Unfiltered to Mix"; + dir = 1 }, /turf/open/floor/iron, -/area/station/security/office) +/area/station/engineering/atmos/pumproom) "rfR" = ( /obj/structure/table/wood, /obj/item/storage/crayons, @@ -51146,17 +51358,19 @@ }, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"rgW" = ( -/obj/effect/turf_decal/trimline/dark_green/filled/line{ - dir = 9 +"rgT" = ( +/obj/structure/toilet{ + dir = 1 }, -/obj/structure/table/glass, -/obj/machinery/requests_console/directional/west{ - name = "Genetics Requests Console"; - department = "Genetics" +/obj/machinery/button/door/directional/west{ + name = "Lock Control"; + id = "Toilet5"; + specialfunctions = 4; + normaldoorcontrol = 1 }, -/turf/open/floor/iron/white, -/area/station/science/genetics) +/obj/machinery/light/small/dim/directional/east, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "rgY" = ( /obj/structure/chair{ dir = 4 @@ -51177,19 +51391,6 @@ /obj/machinery/digital_clock, /turf/closed/wall, /area/station/medical/treatment_center) -"rho" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south{ - name = "Private Channel"; - frequency = 1447; - listening = 0; - freerange = 1 - }, -/obj/structure/cable, -/turf/open/floor/glass/reinforced, -/area/station/ai_monitored/turret_protected/aisat/hallway) "rht" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -51229,6 +51430,19 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"rif" = ( +/obj/machinery/door/poddoor/preopen{ + name = "Atmospherics Blast Door"; + id = "atmos" + }, +/obj/effect/turf_decal/delivery, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden, +/turf/open/floor/iron, +/area/station/engineering/atmos) "rin" = ( /obj/effect/turf_decal/trimline/purple/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51312,17 +51526,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"riT" = ( -/obj/machinery/camera{ - dir = 6; - c_tag = "Hallway - Central Tram Platform South-East" - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/center) "riZ" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/computer/records/security{ @@ -51358,13 +51561,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"rjO" = ( -/obj/machinery/door/airlock{ - name = "Unit 5"; - id_tag = "Toilet5" - }, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "rjP" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/light/floor, @@ -51400,26 +51596,14 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/medical/medbay/lobby) -"rkL" = ( -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "rightmost_upper_eva_external"; - autoclose = 0 +"rkI" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez2" }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "rightmost_upper_eva_airlock_control"; - idDoor = "rightmost_upper_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/right) +/turf/open/floor/plating, +/area/station/science/xenobiology) "rkP" = ( /obj/machinery/hydroponics/soil, /obj/effect/turf_decal/trimline/green/filled/line, @@ -51474,6 +51658,13 @@ /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" + }, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "rlZ" = ( /obj/machinery/camera/directional/west{ c_tag = "Hallway - Starboard Tram Platform North" @@ -51525,31 +51716,6 @@ /obj/machinery/telecomms/broadcaster/preset_left, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"rmP" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/firedoor, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Kitchen Counter Shutters"; - id = "playerscantreadthis" - }, -/obj/structure/desk_bell{ - pixel_x = 7 - }, -/turf/open/floor/iron/checker, -/area/station/service/kitchen) -"rmR" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security"); - c_tag = "Security - Warden's Office" - }, -/obj/structure/sign/calendar/directional/north, -/obj/structure/cable, -/turf/open/floor/iron/showroomfloor, -/area/station/security/warden) "rna" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/machinery/light_switch/directional/north{ @@ -51694,6 +51860,35 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"roH" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleright_lower_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "middleright_lower_eva_airlock_control"; + idDoor = "middleright_lower_eva_internal" + }, +/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" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "roR" = ( /turf/closed/wall, /area/station/science/breakroom) @@ -51769,11 +51964,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/office) -"rqM" = ( -/mob/living/basic/mouse, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/tram/mid) "rre" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/landmark/start/hangover, @@ -51828,6 +52018,13 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"rsk" = ( +/mob/living/basic/pet/cat/runtime, +/obj/structure/bed/dogbed/runtime, +/obj/structure/sign/clock/directional/north, +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "rsz" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 4 @@ -51860,19 +52057,6 @@ "rtp" = ( /turf/open/floor/iron/dark, /area/station/commons/fitness/recreation/entertainment) -"rub" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/structure/chair, -/obj/machinery/airalarm/directional/north, -/obj/machinery/camera{ - dir = 10; - network = list("ss13","Security"); - c_tag = "Departures - Holding Wing" - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "run" = ( /turf/closed/wall/r_wall, /area/station/security/medical) @@ -51887,36 +52071,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/command/bridge) -"ruw" = ( -/obj/effect/landmark/start/ai/secondary, -/obj/item/radio/intercom/directional/north{ - name = "Custom Channel"; - pixel_x = 6; - listening = 0; - freerange = 1 - }, -/obj/item/radio/intercom/directional/east{ - name = "Common Channel"; - listening = 0; - freerange = 1 - }, -/obj/item/radio/intercom/directional/south{ - name = "Private Channel"; - pixel_x = 6; - frequency = 1447; - listening = 0; - freerange = 1 - }, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/ai) -"rux" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Main South" - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "ruy" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -51997,19 +52151,6 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/hallway/primary/tram/left) -"rvN" = ( -/obj/machinery/conveyor_switch/oneway{ - name = "Loading Conveyor"; - dir = 8; - pixel_x = -13; - pixel_y = -5; - id = "QMLoad" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "rvY" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52027,18 +52168,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, /area/station/asteroid) -"rwm" = ( -/obj/machinery/camera{ - dir = 10; - network = list("ss13","medbay"); - c_tag = "Medical - Central North-West" - }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/center) "rws" = ( /obj/structure/table/glass, /obj/item/storage/box/monkeycubes{ @@ -52079,6 +52208,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"rxE" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "innerbrigleft" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_left" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/brig) "rxH" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -52125,19 +52274,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/storage) -"ryC" = ( -/obj/structure/toilet{ - dir = 4 - }, -/obj/machinery/button/door/directional/west{ - name = "Lock Control"; - id = "ToiletSci1"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/light/small/dim/directional/south, -/turf/open/floor/iron/freezer, -/area/station/science/lower) "ryI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -52209,20 +52345,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"rzC" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 10 - }, -/obj/machinery/fax{ - name = "Engineering Lobby Fax Machine"; - fax_name = "Engineering Lobby" - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "rzO" = ( /obj/structure/chair, /obj/machinery/airalarm/directional/north, @@ -52238,6 +52360,14 @@ }, /turf/open/floor/glass/reinforced, /area/station/security/brig) +"rAf" = ( +/obj/machinery/camera/emp_proof{ + dir = 6; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics N2 Chamber" + }, +/turf/open/floor/engine/n2, +/area/station/engineering/atmos) "rAg" = ( /obj/machinery/atmospherics/components/binary/pump{ name = "Mix to Port" @@ -52262,32 +52392,30 @@ /obj/item/stock_parts/cell/high, /turf/open/floor/engine, /area/station/science/xenobiology) -"rAE" = ( -/mob/living/basic/pet/cat/runtime, -/obj/structure/bed/dogbed/runtime, -/obj/structure/sign/clock/directional/north, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "rAS" = ( /turf/closed/wall, /area/station/service/library/lounge) -"rBa" = ( -/mob/living/carbon/human/species/monkey, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/misc/grass/jungle, -/area/station/science/explab) -"rBo" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 10 +"rBb" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/poddoor/preopen{ + name = "Research Director's Shutters"; + id = "rdoffice" }, -/obj/structure/table, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - AI Station Access Exterior" +/turf/open/floor/plating, +/area/station/command/heads_quarters/rd) +"rBy" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Kitchen Counter Shutters"; + id = "playerscantreadthis" }, -/turf/open/floor/iron/dark, -/area/station/science/lower) +/obj/item/plate, +/turf/open/floor/iron/checker, +/area/station/service/kitchen) "rBz" = ( /turf/open/floor/iron, /area/station/security/prison) @@ -52319,6 +52447,23 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) +"rBS" = ( +/obj/effect/turf_decal/sand, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleleft_lower_lower_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "middleleft_lower_lower_eva_airlock_control"; + idDoor = "middleleft_lower_lower_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/mid) "rBW" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -52332,6 +52477,16 @@ "rCd" = ( /turf/closed/wall, /area/station/engineering/atmospherics_engine) +"rCs" = ( +/mob/living/simple_animal/bot/mulebot, +/obj/effect/turf_decal/delivery, +/obj/machinery/navbeacon{ + location = "QM #1"; + codes_txt = "delivery;dir=2" + }, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "rCL" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -52339,37 +52494,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/right) -"rCZ" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/modular_computer/preset/cargochat/medical{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) -"rDa" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "innerbrigleft" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_left" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/brig) "rDj" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -52391,13 +52515,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"rDu" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Mix to Distro"; - dir = 1 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) "rDI" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 1 @@ -52439,18 +52556,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) -"rEk" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 4 - }, -/obj/structure/table, -/obj/item/radio/intercom/directional/east, -/obj/item/paper{ - name = "To-Do List"; - default_raw_text = "buy more donk pockets" - }, -/turf/open/floor/iron/dark, -/area/station/medical/virology) "rEq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52503,29 +52608,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/break_room) -"rGs" = ( -/obj/structure/table, -/obj/machinery/button/door{ - name = "Test Chamber Blast Doors"; - pixel_x = 4; - pixel_y = 2; - id = "testlab"; - req_access = list("xenobiology") - }, -/obj/machinery/button/ignition{ - pixel_x = -6; - pixel_y = 2; - id = "testigniter" - }, -/turf/open/floor/iron/dark, -/area/station/science/explab) -"rGt" = ( -/obj/machinery/button/door/directional/east{ - name = "Privacy Shutters Control"; - id = "ceprivacy" - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "rGN" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -52559,15 +52641,14 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"rHi" = ( -/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ - name = "euthanization chamber freezer"; - dir = 8; - initialize_directions = 4 +"rHj" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Research and Development Shutter"; + id = "rndlab1" }, -/obj/effect/turf_decal/trimline/purple/filled/line, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/turf/open/floor/plating, +/area/station/science/lab) "rHl" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 8 @@ -52595,18 +52676,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/hallway) -"rIb" = ( -/obj/machinery/suit_storage_unit/atmos, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics West" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "rIg" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -52639,6 +52708,18 @@ /obj/structure/chair, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"rIt" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/camera{ + dir = 9; + network = list("ss13","minisat"); + c_tag = "Secure - AI Minisat Internal Power Access" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/maint) "rIx" = ( /obj/machinery/conveyor{ id = "QMLoad2" @@ -52661,21 +52742,6 @@ /obj/structure/sign/clock/directional/east, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"rIX" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/preopen{ - name = "Bridge Blast Door"; - id = "bunkermodeactivated" - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/command/bridge) "rJD" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -52800,6 +52866,14 @@ }, /turf/open/floor/engine/hull, /area/station/solars/port) +"rLB" = ( +/obj/machinery/power/smes{ + charge = 5e+06 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/commons/vacant_room) "rLG" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 8 @@ -52825,21 +52899,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"rLU" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/window/left/directional/east{ - name = "Library Delivery Chute" - }, -/obj/machinery/navbeacon{ - name = "navigation beacon (Library Delivery)"; - location = "Library"; - codes_txt = "delivery;dir=4" - }, -/obj/effect/turf_decal/loading_area{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "rMl" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -52850,17 +52909,15 @@ /obj/effect/turf_decal/trimline/tram/filled/warning, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"rMm" = ( -/obj/machinery/vending/medical, -/obj/effect/turf_decal/siding/white{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Main Storage" +"rMp" = ( +/obj/machinery/camera{ + dir = 9; + network = list("ss13","Security","interrogation"); + c_tag = "Security - Interrogation Main" }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, -/area/station/medical/storage) +/area/station/security/interrogation) "rMq" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, @@ -52899,26 +52956,35 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/white, /area/station/science/lower) -"rNi" = ( -/obj/effect/turf_decal/siding/wideplating{ - dir = 10 - }, -/obj/machinery/camera/motion/directional/north{ - network = list("ss13","secure"); - c_tag = "Secure - Nuclear Storage" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/nuke_storage) -"rNn" = ( -/obj/structure/chair{ - name = "Judge"; - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ +"rNk" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 }, -/turf/open/floor/iron, -/area/station/security/courtroom) +/obj/structure/cable, +/obj/machinery/camera{ + dir = 9; + network = list("ss13","Security"); + c_tag = "Security - Pre-Trial Holding" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/courtroom/holding) +"rNl" = ( +/obj/machinery/stasis{ + dir = 4 + }, +/obj/machinery/defibrillator_mount/directional/north, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medical - Treatment North-West" + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "rNt" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -52926,16 +52992,17 @@ /obj/machinery/vending/wardrobe/viro_wardrobe, /turf/open/floor/iron/dark, /area/station/medical/virology) -"rNA" = ( -/obj/structure/table, -/obj/machinery/airalarm/directional/north, -/obj/machinery/fax{ - name = "Service Fax Machine"; - fax_name = "Service Hallway" +"rNG" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + name = "Radiation Chamber Shutters"; + id = "engsm" }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "rNO" = ( /obj/effect/turf_decal/trimline/white/warning, /turf/open/floor/engine/hull, @@ -52966,6 +53033,15 @@ }, /turf/open/floor/iron, /area/station/security/brig) +"rOm" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters C"; + id_tag = "private_c" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "rOp" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -53012,50 +53088,58 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/right) -"rOE" = ( -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security"); - c_tag = "Security - Interrogation Observation" +"rOT" = ( +/obj/machinery/airalarm/directional/north, +/obj/structure/cable, +/obj/machinery/camera/motion/directional/north{ + network = list("aicore"); + c_tag = "Secure - AI Core South" }, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 4 +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/ai) +"rOV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 }, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) -"rOX" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 +/obj/machinery/requests_console/directional/east{ + name = "Library Requests Console"; + department = "Library" }, -/obj/structure/closet/secure_closet/brig{ - name = "Medical Cell Locker"; - id = "medcell" - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/science) +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/engine/cult, +/area/station/service/library) "rPd" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/digital_clock/directional/south, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"rPg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/showcase/cyborg/old{ - pixel_y = 20 +"rPj" = ( +/obj/effect/turf_decal/box/white{ + color = "#9FED58" }, -/obj/machinery/camera{ - dir = 9; - network = list("ss13","minisat"); - c_tag = "Secure - AI Antechamber South" +/obj/effect/turf_decal/arrows/white{ + dir = 4; + pixel_x = -15; + color = "#FF0000" }, -/obj/structure/cable, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat_interior) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "rPs" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"rPt" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/camera{ + dir = 9; + c_tag = "Civilian - aux_base Construction" + }, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "rPv" = ( /obj/machinery/light/small/dim/directional/south, /turf/open/floor/engine, @@ -53079,14 +53163,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/prison) -"rPT" = ( -/obj/docking_port/stationary/random{ - name = "lavaland"; - dir = 8; - shuttle_id = "pod_lavaland" - }, -/turf/open/misc/asteroid/airless, -/area/station/asteroid) "rPZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -53136,19 +53212,6 @@ }, /turf/open/floor/iron/dark, /area/station/commons/lounge) -"rQo" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Research and Development Shutter"; - id = "rndlab1" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/science/lab) "rQp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, @@ -53176,17 +53239,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) -"rQM" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/machinery/requests_console/directional/west{ - name = "Engineering Requests Console"; - department = "Engineering" - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/engineering/main) "rQR" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -53225,6 +53277,15 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"rRi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics Test Room" + }, +/turf/open/floor/iron, +/area/station/engineering/atmospherics_engine) "rRy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, @@ -53302,6 +53363,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"rSp" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Prison Dorm 4"; + id_tag = "prisondorm" + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/security/prison/safe) "rSv" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 4 @@ -53347,35 +53421,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/center) -"rTr" = ( -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 4 - }, -/obj/machinery/camera/directional/south{ - network = list("ss13","minisat"); - c_tag = "Secure - AI Minisat Chargebay" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/foyer) -"rTs" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/east{ - name = "Containment Pen #5"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/west{ - name = "Containment Pen #5"; - req_access = list("xenobiology") - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez5" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "rTt" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -53386,6 +53431,24 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"rUd" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "outerbrigright" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_right" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/turf/open/floor/iron, +/area/station/security/brig) "rUe" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -53409,11 +53472,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"rUq" = ( -/obj/structure/table/glass, -/obj/structure/secure_safe/caps_spare, -/turf/open/floor/glass, -/area/station/command/meeting_room) "rUr" = ( /obj/machinery/module_duplicator, /obj/machinery/light/directional/south, @@ -53454,6 +53512,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"rWa" = ( +/obj/structure/lattice/catwalk, +/obj/structure/cable, +/obj/machinery/power/solar{ + name = "Port Solar Array"; + id = "portsolar" + }, +/turf/open/space/basic, +/area/station/solars/port) "rWd" = ( /obj/structure/table, /obj/structure/window/reinforced/spawner/directional/west, @@ -53591,6 +53658,14 @@ }, /turf/open/floor/wood, /area/station/command/meeting_room) +"rYO" = ( +/obj/docking_port/stationary/random{ + name = "lavaland"; + dir = 8; + shuttle_id = "pod_4_lavaland" + }, +/turf/open/misc/asteroid/airless, +/area/station/asteroid) "rYV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -53606,18 +53681,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison) -"rZi" = ( -/obj/effect/spawner/random/vending/snackvend, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 - }, -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Lobby North" - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "rZq" = ( /obj/effect/turf_decal/trimline/yellow/filled/warning{ dir = 1 @@ -53629,6 +53692,35 @@ dir = 1 }, /area/station/ai_monitored/command/storage/eva) +"rZx" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Gas to Filter"; + dir = 1 + }, +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engine","engineering"); + c_tag = "Engineering - Engine Room Airlock" + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/engine, +/area/station/engineering/supermatter) +"rZA" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/computer/prisoner/management{ + dir = 4 + }, +/obj/machinery/requests_console/directional/west{ + name = "Security Requests Console"; + department = "Security" + }, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/showroomfloor, +/area/station/security/warden) "rZF" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -53647,18 +53739,6 @@ /obj/item/shovel/spade, /turf/open/floor/iron/dark, /area/station/security/prison/garden) -"rZJ" = ( -/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" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "rZU" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 4 @@ -53669,29 +53749,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"sab" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/paper/guides/jobs/hydroponics, -/obj/item/seeds/onion, -/obj/item/seeds/garlic, -/obj/item/seeds/potato, -/obj/item/seeds/tomato, -/obj/item/seeds/carrot, -/obj/item/seeds/grass, -/obj/item/seeds/ambrosia, -/obj/item/seeds/wheat, -/obj/item/seeds/pumpkin, -/obj/effect/spawner/random/contraband/prison, -/obj/item/radio/intercom/prison/directional/east, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Prison Garden" - }, -/obj/item/seeds/tower, -/obj/machinery/light/directional/east, -/turf/open/floor/iron/dark, -/area/station/security/prison/garden) "saj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, @@ -53768,15 +53825,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"sbz" = ( -/obj/structure/lattice/catwalk, -/obj/structure/cable, -/obj/machinery/power/solar{ - name = "Port Solar Array"; - id = "portsolar" - }, -/turf/open/space/openspace, -/area/station/solars/port) "sbD" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -53870,20 +53918,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"sdt" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/poddoor/preopen{ - name = "Research Director's Shutters"; - id = "rdoffice" - }, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/command/heads_quarters/rd) "sdx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53986,6 +54020,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/grimy, /area/station/ai_monitored/command/nuke_storage) +"sfX" = ( +/obj/structure/table, +/obj/item/radio/intercom/prison/directional/west, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","prison","pcell"); + c_tag = "Security - Prison Cell 5" + }, +/turf/open/floor/iron, +/area/station/security/prison/safe) "sgb" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/light/directional/north, @@ -54078,35 +54124,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"sil" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/virology{ - name = "Virology Interior Airlock"; - frequency = 1449; - id_tag = "virology_airlock_interior"; - autoclose = 0 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "Virology Access Button"; - pixel_y = 24; - req_access = list("virology"); - idSelf = "virology_airlock_control"; - idDoor = "virology_airlock_interior" - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/virology, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/virology) "sim" = ( /obj/machinery/telecomms/server/presets/engineering, /turf/open/floor/iron/dark/telecomms, @@ -54121,6 +54138,25 @@ dir = 4 }, /area/station/service/theater) +"siE" = ( +/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/vending/wallmed/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) "siF" = ( /obj/machinery/bouldertech/refinery, /obj/machinery/conveyor{ @@ -54153,6 +54189,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"sjc" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Port to Filter"; + dir = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "sji" = ( /turf/closed/wall/rock, /area/station/engineering/supermatter/room) @@ -54233,26 +54276,16 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"sjZ" = ( -/obj/structure/table, -/obj/effect/turf_decal/trimline/yellow/filled/line{ +"skb" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 10 + }, +/obj/structure/disposalpipe/trunk{ dir = 1 }, -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Entry Airlock" - }, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = -8 - }, -/obj/item/tank/internals/emergency_oxygen, -/obj/item/clothing/mask/breath, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - dir = 9 - }, +/obj/machinery/disposal/bin/tagger, /turf/open/floor/iron, -/area/station/engineering/atmos) +/area/station/cargo/storage) "ski" = ( /turf/open/floor/carpet, /area/station/hallway/secondary/entry) @@ -54380,6 +54413,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/workout) +"sml" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez3" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "smo" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /obj/structure/disposalpipe/segment{ @@ -54415,6 +54456,42 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"smV" = ( +/obj/structure/table, +/obj/machinery/microwave, +/obj/item/radio/intercom/prison/directional/south, +/obj/machinery/camera/directional/south{ + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Cafeteria" + }, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/mess) +"sna" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engineering"); + c_tag = "Engineering - Main" + }, +/obj/structure/rack, +/obj/item/clothing/glasses/meson/engine{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/clothing/glasses/meson/engine, +/obj/item/clothing/glasses/meson/engine{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/pipe_dispenser, +/obj/item/pipe_dispenser, +/obj/item/pipe_dispenser, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/main) "sne" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -54483,24 +54560,23 @@ "soq" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/science) -"soF" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Research & Development" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/science/lab) "spm" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/firedoor/heavy, /turf/open/floor/plating, /area/station/science/ordnance/office) +"spp" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Kitchen Counter Shutters"; + id = "playerscantreadthis" + }, +/obj/structure/desk_bell{ + pixel_x = 7 + }, +/turf/open/floor/iron/checker, +/area/station/service/kitchen) "spq" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -54523,16 +54599,6 @@ "spF" = ( /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) -"sqb" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Lower Hall North" - }, -/turf/open/floor/iron/white, -/area/station/science/lower) "sqc" = ( /obj/structure/table, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -54629,18 +54695,6 @@ /obj/structure/sign/calendar/directional/north, /turf/open/floor/carpet, /area/station/command/heads_quarters/hop) -"srx" = ( -/obj/structure/railing{ - dir = 4 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/modular_computer/preset/civilian{ - dir = 8 - }, -/turf/open/floor/glass/reinforced, -/area/station/science/research) "srz" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 6 @@ -54666,23 +54720,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"srY" = ( +/obj/machinery/door/window/brigdoor/left/directional/west{ + name = "Engineering Cell"; + id = "engcell"; + req_access = list("security") + }, +/obj/effect/turf_decal/trimline/red/filled/corner, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 4 + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) "ssn" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/construction/mining/aux_base) -"sso" = ( -/obj/machinery/camera{ - dir = 9; - c_tag = "Arrivals - North Docking Wing" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/entry) "ssv" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -54724,15 +54782,24 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"ssN" = ( -/obj/machinery/computer/department_orders/service, -/obj/machinery/camera/directional/north{ - c_tag = "Service - Autolathe Room" +"ssH" = ( +/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, +/obj/machinery/door/airlock/maintenance_hatch{ + name = "Maintenance Hatch" }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/dim/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/modular_map_root/tramstation{ + name = "servicecargolower"; + key = "servicecargolower" + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/starboard/greater) "ssT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel, @@ -54898,6 +54965,35 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) +"suG" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/machinery/button/door/directional/west{ + name = "Pharmacy Privacy Shutters Toggle"; + id = "pharmacy_shutters_2"; + req_one_access = list("pharmacy") + }, +/obj/structure/table/glass, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/reagent_containers/syringe, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) +"suM" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/fax{ + name = "Chief Engineer's Fax Machine"; + fax_name = "Chief Engineer's Office" + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "suR" = ( /obj/structure/table/wood, /obj/structure/window/reinforced/spawner/directional/south{ @@ -54905,6 +55001,23 @@ }, /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, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/lab) "svc" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -54912,6 +55025,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/command) +"svA" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/components/binary/pump/on{ + name = "Engine Coolant Bypass"; + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 1 + }, +/obj/structure/cable/layer1, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "svC" = ( /obj/machinery/door/airlock/security/glass{ name = "Holding Area" @@ -55031,17 +55159,20 @@ "syv" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/science) -"syA" = ( -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Gas to Cooling Loop"; - dir = 8 - }, +"syE" = ( +/obj/machinery/rnd/production/circuit_imprinter/department/science, /obj/effect/turf_decal/stripes/line{ - dir = 8 + dir = 4 }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) +/obj/machinery/button/door/directional/north{ + name = "Robotics Privacy Shuttles Control"; + pixel_x = 8; + id = "robotics2"; + req_access = list("robotics") + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/robotics/lab) "syR" = ( /obj/structure/table, /obj/item/flashlight/lamp, @@ -55071,24 +55202,31 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/science/lower) -"szg" = ( -/obj/machinery/button/door/directional/east{ - name = "Armory Shutters"; - id = "armory"; - req_access = list("armory") +"szd" = ( +/obj/structure/table, +/obj/item/radio/intercom/prison/directional/west, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 }, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light_switch/directional/east{ - pixel_x = 23; - pixel_y = -8 +/obj/machinery/camera/directional/west{ + network = list("ss13","Security","prison","pcell"); + c_tag = "Security - Prison Cell 3" }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) +/turf/open/floor/iron, +/area/station/security/prison/safe) "szo" = ( /obj/structure/dresser, /turf/open/floor/carpet, /area/station/commons/dorms) +"szq" = ( +/obj/machinery/camera/emp_proof{ + dir = 6; + network = list("ss13","engine","engineering"); + c_tag = "Engineering - Emitter Room East" + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/supermatter/room) "szr" = ( /obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 @@ -55117,24 +55255,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"szH" = ( -/obj/machinery/computer/cargo, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/button/door/directional/north{ - pixel_x = -6; - id = "QMLoaddoor" - }, -/obj/machinery/button/door/directional/north{ - pixel_x = 6; - id = "QMLoaddoor2" - }, -/obj/machinery/camera/directional/north{ - c_tag = "Cargo - Warehouse North" - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "szM" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -55205,6 +55325,15 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"sDe" = ( +/obj/structure/table/wood, +/obj/item/radio/intercom/directional/south, +/obj/machinery/fax{ + name = "Detective's Fax Machine"; + fax_name = "Detective's Office" + }, +/turf/open/floor/iron/grimy, +/area/station/security/detectives_office) "sDo" = ( /turf/closed/wall, /area/station/service/bar) @@ -55244,13 +55373,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningdock) -"sDW" = ( -/obj/effect/turf_decal/box, -/obj/machinery/shower/directional/east, -/obj/structure/fluff/shower_drain, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) +"sDO" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "innerbrigright" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_right" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/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/iron, +/area/station/security/brig) "sDY" = ( /obj/structure/railing{ dir = 1 @@ -55260,14 +55403,6 @@ "sDZ" = ( /turf/closed/wall, /area/station/maintenance/disposal/incinerator) -"sEf" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Main North-East" - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "sEh" = ( /obj/effect/turf_decal/trimline/white/corner{ dir = 1 @@ -55290,17 +55425,6 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"sEB" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/camera/directional/west{ - network = list("ss13","rd"); - c_tag = "Science - Entrance Airlock" - }, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/white, -/area/station/science/research) "sEV" = ( /obj/machinery/computer/monitor{ dir = 8 @@ -55366,28 +55490,23 @@ /obj/machinery/telecomms/broadcaster/preset_right, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"sFV" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/machinery/camera{ - dir = 10; - c_tag = "Hallway - Engineering Entry West" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction/engineering) "sGb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) +"sGk" = ( +/obj/machinery/button/door/directional/east{ + name = "Door Bolt Control"; + id = "miningdorm1"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet, +/area/station/cargo/miningdock) "sGF" = ( /turf/open/misc/dirt/jungle{ baseturfs = /turf/open/misc/dirt @@ -55437,21 +55556,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/closed/wall/r_wall, /area/station/engineering/supermatter/room) -"sHk" = ( -/obj/effect/turf_decal/trimline/red/corner{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/structure/closet/secure_closet/brig{ - name = "Engineering Cell Locker"; - id = "engcell" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security/checkpoint/engineering) "sHm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -55460,6 +55564,24 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"sHw" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "innerbrigright" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_right" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/turf/open/floor/iron, +/area/station/security/brig) "sHB" = ( /obj/effect/landmark/start/atmospheric_technician, /obj/effect/landmark/navigate_destination/incinerator, @@ -55634,22 +55756,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"sKY" = ( -/obj/machinery/door/poddoor/shutters/radiation/preopen{ - name = "Radiation Chamber Shutters"; - id = "engsm" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable/layer1, -/obj/effect/turf_decal/trimline/yellow/arrow_cw, -/obj/effect/turf_decal/trimline/yellow/arrow_ccw{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/engineering/supermatter) "sKZ" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -55709,31 +55815,20 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/iron/dark/smooth_large, /area/station/commons/fitness/recreation/entertainment) -"sMi" = ( -/obj/machinery/modular_computer/preset/cargochat/service{ - dir = 1 +"sLZ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line, +/obj/machinery/conveyor_switch/oneway{ + name = "Shipment Delivery Chute Activator"; + pixel_x = -11; + id = "engineeringchute" }, -/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/digital_clock/directional/south, /turf/open/floor/iron, -/area/station/hallway/secondary/service) +/area/station/engineering/main) "sMr" = ( /obj/structure/cable, /turf/open/floor/circuit/telecomms/mainframe, /area/station/tcommsat/server) -"sMv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "middleleft_upper_eva_airlock_control"; - idInterior = "middleleft_upper_eva_internal"; - idExterior = "middleleft_upper_eva_external" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) "sMX" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -55747,6 +55842,32 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) +"sNa" = ( +/obj/machinery/requests_console/directional/north{ + name = "Head of Security's Requests Console"; + department = "Head of Security's Desk" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/camera{ + dir = 9; + network = list("ss13","Security"); + c_tag = "Security - Head of Security's Office" + }, +/obj/machinery/computer/records/security, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/hos) +"sNr" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + name = "Privacy Shutters"; + id = "hop" + }, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hop) "sNs" = ( /turf/closed/wall, /area/station/commons/storage/primary) @@ -55761,6 +55882,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"sNS" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Mixing Site Shutters"; + dir = 4; + id = "mixingastew" + }, +/turf/open/floor/plating, +/area/station/science/ordnance) "sNW" = ( /obj/effect/turf_decal/trimline/brown/line, /obj/effect/turf_decal/stripes, @@ -55783,27 +55914,6 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) -"sOb" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = 9; - id = "private_b"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/commons/dorms) -"sOd" = ( -/obj/machinery/smartfridge/chemistry/preloaded, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Pharmacy Shutters"; - id = "pharmacy_shutters_2" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "sOg" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -55824,14 +55934,18 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) -"sOw" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Plasma Chamber" +"sOr" = ( +/obj/machinery/door/poddoor/preopen{ + name = "Engineering Security Door"; + id = "Engineering" }, -/turf/open/floor/engine/plasma, -/area/station/engineering/atmos) +/obj/effect/turf_decal/delivery, +/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/iron, +/area/station/engineering/main) "sOD" = ( /obj/structure/sign/directions/supply{ dir = 4; @@ -55966,43 +56080,23 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/storage) -"sQR" = ( -/obj/structure/table, -/obj/machinery/button/door{ - name = "Privacy Shutter Control"; - pixel_x = -7; - pixel_y = -2; - id = "rdoffice"; - req_access = list("research") - }, -/obj/item/folder/white{ - pixel_x = 5 - }, -/obj/item/stamp/head/rd{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/item/pen/fountain{ - pixel_x = -4; - pixel_y = 7 - }, -/turf/open/floor/glass/reinforced, -/area/station/command/heads_quarters/rd) "sQZ" = ( /turf/closed/wall/r_wall, /area/station/science/explab) +"sRh" = ( +/obj/structure/showcase/cyborg/old{ + pixel_y = 20 + }, +/obj/machinery/camera/motion/directional/north{ + network = list("aicore"); + c_tag = "Secure - AI Core North" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai) "sRA" = ( /obj/structure/chair/sofa/corp/left, /turf/open/floor/wood/large, /area/station/service/theater) -"sRB" = ( -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Mixing Chamber" - }, -/turf/open/floor/engine/vacuum, -/area/station/engineering/atmos) "sRL" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 6 @@ -56074,17 +56168,6 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"sTe" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = -9; - id = "private_o"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/commons/dorms) "sTg" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -56127,6 +56210,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) +"sTz" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/directional/north{ + name = "FALLING HAZARD sign"; + desc = "A sign warning you to be cautious of falling packages." + }, +/obj/machinery/door/window/left/directional/west{ + name = "Hydroponics Delivery Chute" + }, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "sTE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56208,12 +56305,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"sUE" = ( -/obj/structure/fluff/shower_drain, -/obj/machinery/duct, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "sUX" = ( /obj/structure/railing{ dir = 4 @@ -56307,6 +56398,18 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"sWQ" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/preopen{ + name = "Bridge Blast Door"; + id = "bunkermodeactivated" + }, +/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/command/bridge) "sWY" = ( /obj/machinery/computer/communications{ dir = 8 @@ -56408,14 +56511,6 @@ /obj/structure/mirror/directional/east, /turf/open/floor/wood/large, /area/station/service/barber) -"sYv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Secure Pen Lockdown"; - id = "cytologysecure2" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) "sYz" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -56425,18 +56520,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"sYG" = ( -/obj/effect/turf_decal/trimline/white/line{ - dir = 9 - }, -/obj/item/radio/intercom/directional/south{ - name = "Private Channel"; - frequency = 1447; - listening = 0; - freerange = 1 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "sYJ" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/machinery/light/directional/south, @@ -56450,6 +56533,19 @@ /obj/effect/turf_decal/stripes/white/full, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"sZb" = ( +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medical - Psychologist's Office" + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/light_switch/directional/west{ + pixel_x = -22; + pixel_y = -10 + }, +/turf/open/floor/wood/parquet, +/area/station/medical/psychology) "sZe" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -56466,13 +56562,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/tram/right) -"sZs" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - name = "killroom vent"; - dir = 4 - }, -/turf/open/floor/circuit/telecomms, -/area/station/science/xenobiology) "sZv" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/turf_decal/stripes/asteroid/line{ @@ -56487,6 +56576,18 @@ }, /turf/open/floor/carpet, /area/station/service/chapel) +"sZA" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/camera/emp_proof/directional/south{ + network = list("ss13","engine","engineering"); + c_tag = "Engineering - Engine Room South-West" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "sZH" = ( /obj/machinery/door/airlock/maintenance_hatch{ name = "Public Garden Maintenance Hatch" @@ -56530,17 +56631,19 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/hallway/primary/tram/left) +"taU" = ( +/obj/machinery/smartfridge/chemistry/preloaded, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Pharmacy Shutters"; + id = "pharmacy_shutters_2" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "taW" = ( /obj/machinery/telecomms/processor/preset_one, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"taX" = ( -/obj/modular_map_root/tramstation{ - name = "medsciupper"; - key = "medsciupper" - }, -/turf/open/floor/iron/smooth, -/area/station/hallway/primary/tram/center) "tbc" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/effect/turf_decal/trimline/yellow/corner, @@ -56637,6 +56740,15 @@ /obj/structure/rack, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"tcO" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Privacy Shutter"; + id = "ceprivacy" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/command/heads_quarters/ce) "tda" = ( /obj/structure/chair{ dir = 4 @@ -56658,6 +56770,20 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/break_room) +"tdu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = 24; + idSelf = "mostleft_upper_eva_airlock_control"; + idInterior = "mostleft_upper_eva_internal"; + idExterior = "mostleft_upper_eva_external" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/left) "tdx" = ( /turf/closed/wall, /area/station/maintenance/port/aft) @@ -56709,14 +56835,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) -"ten" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez1" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) "teo" = ( /obj/structure/chair{ dir = 8 @@ -56727,19 +56845,6 @@ "tes" = ( /turf/open/floor/glass/reinforced, /area/station/command/heads_quarters/rd) -"teE" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 4 - }, -/obj/machinery/portable_atmospherics/canister, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics East" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "teM" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/turf_decal/trimline/neutral/filled/corner{ @@ -56791,25 +56896,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"tfN" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "middleright_upper_eva_airlock_control"; - idInterior = "middleright_upper_eva_internal"; - idExterior = "middleright_upper_eva_external" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) "tfW" = ( /turf/open/floor/iron/chapel{ dir = 8 }, /area/station/service/chapel) +"tfX" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/preopen{ + name = "Bridge Blast Door"; + id = "bunkermodeactivated" + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/command/bridge) "tga" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -56849,6 +56955,18 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron/freezer, /area/station/security/prison) +"tgE" = ( +/obj/machinery/camera{ + dir = 10; + network = list("ss13","medbay"); + c_tag = "Medical - Central North-West" + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/tram/center) "tgN" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -56876,35 +56994,11 @@ /obj/structure/sink/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"thc" = ( -/obj/machinery/portable_atmospherics/scrubber, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/filled/warning{ - dir = 10 - }, -/obj/machinery/firealarm/directional/west, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - name = "Exfiltrate Port"; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction/engineering) "thi" = ( /obj/structure/curtain, /obj/machinery/shower/directional/south, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"thv" = ( -/mob/living/basic/pet/dog/corgi/ian, -/obj/structure/bed/dogbed/ian, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "thG" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/filled/corner{ @@ -56949,17 +57043,6 @@ /obj/effect/mapping_helpers/mail_sorting/supply/disposals, /turf/closed/wall, /area/station/maintenance/disposal) -"tiB" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/machinery/camera{ - dir = 10; - c_tag = "Hallway - Upper Right Command" - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) "tiG" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -56994,21 +57077,37 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/break_room) +"tiT" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 1 + }, +/obj/machinery/requests_console/directional/south{ + name = "Bridge Requests Console"; + pixel_y = 30; + department = "Bridge" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/command/bridge) "tjl" = ( /obj/machinery/light/directional/west, /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/right) -"tjy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/north{ - name = "Tunnel Access Shutters Toggle"; - id = "midtunnelleft" +"tjz" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + name = "killroom vent"; + dir = 4 }, -/turf/open/floor/plating, -/area/station/maintenance/tram/mid) +/turf/open/floor/circuit/telecomms, +/area/station/science/xenobiology) "tjA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -57041,6 +57140,22 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"tki" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "HoP Queue Shutters"; + id = "hopqueueendbottom" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/loading_area/white{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/hop) "tkj" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -57052,52 +57167,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/surgery/aft) -"tkl" = ( -/obj/structure/table, -/obj/machinery/fax{ - name = "Research Director's Fax Machine"; - fax_name = "Research Director's Office" +"tkp" = ( +/obj/machinery/door/airlock/centcom{ + name = "Syndicate Secure Airlock System"; + desc = "Truly, a marvel of modern engineering." }, -/obj/machinery/button/door/directional/south{ - name = "Science Lockdown Toggle"; - pixel_x = -6; - id = "Sciencelockdown"; - req_access = list("research") - }, -/obj/machinery/button/door/directional/south{ - name = "Research Lab Shutter Control"; - pixel_x = 6; - id = "rndlab1"; - req_access = list("research") - }, -/obj/machinery/button/door/directional/south{ - name = "Xenobiology Containmenr Blast Door"; - pixel_x = -6; - pixel_y = -34; - id = "xenobiomain"; - req_access = list("xenobiology") - }, -/obj/machinery/button/door/directional/south{ - name = "Test Chamber Blast Doors"; - pixel_x = 6; - pixel_y = -34; - id = "misclab"; - req_access = list("xenobiology") - }, -/turf/open/floor/iron/cafeteria, -/area/station/command/heads_quarters/rd) -"tko" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/structure/sign/poster/contraband/atmosia_independence/directional/north, -/obj/machinery/conveyor_switch/oneway{ - name = "Shipment Delivery Chute Activator"; - pixel_x = 10; - id = "hydrodropoff" - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/turf/open/floor/iron/showroomfloor, +/area/station/commons/vacant_room) "tkv" = ( /obj/structure/ladder, /obj/effect/decal/cleanable/dirt, @@ -57202,6 +57279,13 @@ /obj/effect/turf_decal/tile/purple/fourcorners, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"tms" = ( +/obj/machinery/power/smes{ + charge = 5e+06 + }, +/obj/structure/cable, +/turf/open/floor/circuit/telecomms/mainframe, +/area/station/tcommsat/server) "tmz" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -57212,53 +57296,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/commons/vacant_room/office) -"tna" = ( -/obj/structure/chair/office, -/obj/machinery/button/door/directional/south{ - name = "Privacy Shutters Control"; - pixel_x = 24; - pixel_y = -1; - id = "hop"; - req_access = list("kitchen") - }, -/obj/machinery/button/door/directional/south{ - name = "Arrival Checkpoint Enforcement Procedure"; - pixel_x = 35; - pixel_y = -10; - id = "papersplease"; - req_access = list("kitchen") - }, -/obj/machinery/button/ticket_machine{ - pixel_x = 24; - pixel_y = -10 - }, -/obj/machinery/button/door/directional/south{ - name = "Queue Shutters Entry Control"; - pixel_x = 24; - pixel_y = 8; - id = "hopqueuestart"; - req_access = list("kitchen") - }, -/obj/machinery/keycard_auth/directional/south{ - pixel_x = 26 - }, -/obj/machinery/button/door/directional/south{ - name = "Queue Shutters Upper Exit Control"; - pixel_x = 35; - pixel_y = 8; - id = "hopqueueend"; - req_access = list("kitchen") - }, -/obj/machinery/button/door/directional/south{ - name = "Queue Shutters Lower Exit Control"; - pixel_x = 35; - pixel_y = -1; - id = "hopqueueendbottom"; - req_access = list("kitchen") - }, -/obj/effect/landmark/start/head_of_personnel, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "tnj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, @@ -57271,6 +57308,25 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos) +"tnu" = ( +/obj/machinery/camera/directional/north{ + name = "holodeck camera"; + c_tag = "Civilian - Holodeck North" + }, +/turf/open/floor/engine{ + name = "Holodeck Projector Floor" + }, +/area/station/holodeck/rec_center) +"tnA" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Ordnance Storage Shutters"; + dir = 4; + id = "ordnancestorage" + }, +/turf/open/floor/plating, +/area/station/science/ordnance/office) "tnB" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 4 @@ -57296,11 +57352,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/office) -"toe" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood, -/area/station/command/meeting_room) "toh" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -57352,6 +57403,15 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/left) +"toY" = ( +/obj/structure/table/wood, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/machinery/fax{ + name = "Head of Security's Fax Machine"; + fax_name = "Head of Security's Office" + }, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/hos) "tpm" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57428,6 +57488,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/research) +"tqN" = ( +/obj/machinery/power/solar{ + name = "AI Core Solar Array"; + id = "aicore" + }, +/obj/structure/cable, +/turf/open/floor/iron/solarpanel/airless, +/area/space/nearstation) "tqT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel{ @@ -57638,6 +57706,18 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"tuf" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/table, +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/obj/machinery/button/door{ + name = "Cell Containment Toggle Button"; + id = "containdeez5" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "tug" = ( /obj/structure/lattice, /obj/machinery/atmospherics/components/unary/passive_vent{ @@ -57645,13 +57725,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"tuy" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - name = "server vent"; - dir = 8 - }, -/turf/open/floor/circuit/telecomms/server, -/area/station/science/server) "tuC" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering{ @@ -57668,24 +57741,6 @@ /obj/effect/mapping_helpers/airlock/access/any/command/general, /turf/open/floor/iron, /area/station/tcommsat/computer) -"tuE" = ( -/obj/machinery/atmospherics/components/unary/passive_vent{ - name = "killroom vent"; - dir = 8 - }, -/turf/open/floor/circuit/telecomms, -/area/station/science/xenobiology) -"tuN" = ( -/obj/machinery/button/door/directional/east{ - name = "Door Bolt Control"; - id = "miningdorm3"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet, -/area/station/cargo/miningdock) "tuS" = ( /obj/effect/turf_decal/trimline/white/filled/line{ dir = 1 @@ -57693,23 +57748,6 @@ /obj/machinery/light/dim/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"tvF" = ( -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "mostleft_upper_lower_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "mostleft_upper_lower_eva_airlock_control"; - idDoor = "mostleft_upper_lower_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/turf_decal/sand, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/left) "tvP" = ( /obj/structure/rack, /obj/item/storage/box/lights/tubes{ @@ -57746,27 +57784,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/main) -"twb" = ( -/obj/effect/landmark/transport/transport_id{ - specific_transport_id = "tram_cargo_lift" - }, -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 8 - }, -/obj/structure/transport/linear/public, -/obj/machinery/elevator_control_panel/directional/west{ - req_access = list("mining"); - linked_elevator_id = "tram_cargo_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") - }, -/obj/effect/abstract/elevator_music_zone{ - linked_elevator_id = "tram_cargo_lift" - }, -/obj/structure/railing{ - dir = 8 - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/cargo/miningdock) "twg" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -57821,21 +57838,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"twK" = ( -/obj/effect/turf_decal/trimline/red/filled/corner, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/button/flasher{ - pixel_x = 9; - pixel_y = 24; - id = "permafrontdoor"; - req_access = list("brig") - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "twO" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -57882,18 +57884,6 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"txu" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/button/door{ - name = "Cell Containment Toggle Button"; - id = "containdeez1" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "txD" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/table/glass, @@ -57923,6 +57913,43 @@ }, /turf/open/floor/iron/white, /area/station/science/research) +"txW" = ( +/obj/machinery/atmospherics/components/unary/outlet_injector/monitored/oxygen_input{ + dir = 4; + chamber_id = "o2ordance" + }, +/turf/open/floor/engine/o2, +/area/station/science/ordnance/storage) +"tyi" = ( +/obj/structure/table, +/obj/machinery/button/door{ + name = "Test Chamber Blast Doors"; + pixel_x = 4; + pixel_y = 2; + id = "testlab"; + req_access = list("xenobiology") + }, +/obj/machinery/button/ignition{ + pixel_x = -6; + pixel_y = 2; + id = "testigniter" + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) +"typ" = ( +/obj/structure/table/wood/fancy/green, +/obj/effect/spawner/random/aimodule/harmless, +/obj/item/ai_module/supplied/freeform{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/ai_module/reset, +/obj/item/radio/intercom/directional/east{ + name = "ai intercom"; + frequency = 1447 + }, +/turf/open/floor/circuit/green, +/area/station/ai_monitored/turret_protected/ai_upload) "tyx" = ( /obj/structure/closet{ name = "Evidence Closet 1" @@ -57948,23 +57975,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/security/processing) -"tyX" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleleft_lower_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleleft_lower_eva_airlock_control"; - idDoor = "middleleft_lower_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/plating, -/area/station/hallway/primary/tram/center) "tyZ" = ( /obj/effect/turf_decal/siding/thinplating, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -57976,16 +57986,6 @@ /obj/machinery/door/firedoor/border_only, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"tzp" = ( -/obj/machinery/door/airlock{ - name = "Room 1"; - id_tag = "miningdorm1" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/mining, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet, -/area/station/cargo/miningdock) "tzq" = ( /obj/structure/disposaloutlet{ dir = 4 @@ -58128,6 +58128,23 @@ /obj/item/electropack, /turf/open/floor/engine, /area/station/science/xenobiology) +"tBu" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "mostleft_lower_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = -24; + idSelf = "mostleft_lower_eva_airlock_control"; + idDoor = "mostleft_lower_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/left) "tBv" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -58180,28 +58197,6 @@ "tCi" = ( /turf/open/floor/iron/dark, /area/station/service/chapel/monastery) -"tCt" = ( -/obj/machinery/door/airlock/research{ - name = "Research Division Access" - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Research Lockdown Blastdoor"; - id = "Sciencelockdown" - }, -/obj/machinery/door/firedoor, -/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/science/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/iron/white, -/area/station/science/research) "tCw" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -58223,44 +58218,12 @@ /obj/machinery/light/small/built/directional/north, /turf/open/floor/carpet, /area/station/commons/vacant_room/office) -"tDa" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/shutters{ - name = "Mech Bay"; - dir = 4; - id = "mechbay" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/science/robotics/mechbay) "tDn" = ( /obj/structure/railing{ dir = 8 }, /turf/open/floor/glass/reinforced, /area/station/ai_monitored/turret_protected/aisat/hallway) -"tDs" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/camera/directional/east{ - network = list("ss13","Security"); - c_tag = "Security - Main East" - }, -/obj/structure/table, -/obj/item/storage/fancy/coffee_cart_rack{ - pixel_x = 8; - pixel_y = 2 - }, -/obj/item/food/donut/plain{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/security/brig) "tDz" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -58269,18 +58232,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"tDH" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Prison Dorm 1"; - id_tag = "prisondorm" - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/prison/safe) "tDP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -58301,16 +58252,6 @@ "tDT" = ( /turf/open/openspace, /area/station/commons/fitness/recreation) -"tDU" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "CMO Office Shutters"; - dir = 4; - id = "cmoshutter" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/command/heads_quarters/cmo) "tEa" = ( /obj/structure/table/wood, /obj/structure/mirror/directional/south, @@ -58343,6 +58284,16 @@ /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" + }, +/obj/machinery/atmospherics/components/unary/outlet_injector/on{ + dir = 4 + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "tED" = ( /obj/effect/turf_decal/tile/neutral/tram, /obj/effect/turf_decal/stripes/white/line, @@ -58371,16 +58322,6 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"tEQ" = ( -/obj/machinery/camera/directional/north{ - network = list("ss13","rd"); - c_tag = "Science - Monkey Pit" - }, -/obj/machinery/light/warm/directional/north, -/turf/open/misc/dirt/jungle{ - baseturfs = /turf/open/misc/dirt - }, -/area/station/science/explab) "tFb" = ( /obj/machinery/power/emitter/welded{ dir = 8 @@ -58407,19 +58348,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"tFh" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/clock/directional/north, -/obj/machinery/camera/directional/north{ - network = list("ss13","rd","Security"); - c_tag = "Medical - Security Checkpoint" - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/science) "tFk" = ( /turf/closed/wall/r_wall, /area/station/security/mechbay) @@ -58435,6 +58363,33 @@ "tFJ" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/security) +"tFK" = ( +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/machinery/camera/directional/south{ + network = list("ss13","Security"); + c_tag = "Security - Main South" + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/security/brig) +"tFP" = ( +/obj/machinery/chem_master/condimaster{ + name = "SapMaster XP"; + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments." + }, +/obj/machinery/requests_console/directional/north{ + name = "Hydroponics Requests Console"; + department = "Hydroponics" + }, +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/effect/turf_decal/tile/green/fourcorners, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "tFQ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -58469,13 +58424,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) -"tGO" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Pure to Port"; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "tHb" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -58517,6 +58465,13 @@ }, /turf/open/floor/iron, /area/station/command/teleporter) +"tIg" = ( +/obj/modular_map_root/tramstation{ + name = "arrivallibraryupper"; + key = "arrivallibraryupper" + }, +/turf/open/misc/asteroid, +/area/station/asteroid) "tIh" = ( /obj/structure/window/spawner/directional/north, /obj/structure/table/glass, @@ -58551,14 +58506,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"tIr" = ( -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics N2 Chamber" - }, -/turf/open/floor/engine/n2, -/area/station/engineering/atmos) "tID" = ( /obj/structure/transport/linear/public, /obj/effect/landmark/transport/transport_id{ @@ -58569,24 +58516,6 @@ }, /turf/open/floor/plating/elevatorshaft, /area/station/maintenance/tram/mid) -"tIG" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/machinery/button/door/directional/north{ - name = "Pharmacy Privacy Shutters Toggle"; - id = "pharmacy_shutters_2"; - req_access = list("pharmacy") - }, -/obj/structure/table/glass, -/obj/item/reagent_containers/dropper, -/obj/item/reagent_containers/cup/beaker/large{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/reagent_containers/syringe, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "tIT" = ( /obj/structure/table/wood, /obj/structure/mirror/directional/south, @@ -58657,6 +58586,18 @@ /obj/item/clothing/glasses/science, /turf/open/floor/iron/white, /area/station/science/lobby) +"tJB" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_x = 24; + pixel_y = -9; + id = "private_f"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/commons/dorms) "tJE" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -58692,19 +58633,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"tJY" = ( -/obj/machinery/computer/department_orders/security{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/obj/machinery/status_display/evac/directional/west, -/obj/effect/turf_decal/trimline/red/filled/warning{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/office) "tKa" = ( /obj/machinery/door/window/right/directional/south{ name = "Suit Storage" @@ -58730,17 +58658,15 @@ /obj/machinery/suit_storage_unit/captain, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) -"tKR" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = -9; - id = "private_g"; - specialfunctions = 4; - normaldoorcontrol = 1 +"tKK" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Privacy Shutters"; + id = "hop" }, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/wood, -/area/station/commons/dorms) +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/command/heads_quarters/hop) "tLg" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -58754,25 +58680,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/tcommsat/computer) -"tLw" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "outerbrigleft" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_left" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/brig) "tLz" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -58821,17 +58728,6 @@ /obj/effect/landmark/start/chemist, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"tMk" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/machinery/camera{ - dir = 6; - network = list("aicore"); - c_tag = "Secure - AI Upper Ring West" - }, -/turf/open/floor/glass/reinforced, -/area/station/ai_monitored/turret_protected/aisat/hallway) "tMw" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 1 @@ -58892,6 +58788,14 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"tNG" = ( +/obj/machinery/camera/motion/directional/south{ + network = list("aicore"); + c_tag = "Secure - AI Upper External North" + }, +/obj/structure/cable, +/turf/open/floor/engine/hull/reinforced, +/area/station/ai_monitored/turret_protected/aisat/hallway) "tNJ" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 4 @@ -58903,6 +58807,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"tNO" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 9 + }, +/obj/machinery/button/door/directional/west{ + name = "Cargo Warehouse Shutters"; + id = "cargowarehouse" + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/corner{ + dir = 8 + }, +/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "tNW" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -59015,6 +58936,19 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/engine_smes) +"tPZ" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Research and Development Shutter"; + id = "rndlab1" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/science/lab) "tQq" = ( /obj/machinery/recharge_station, /turf/open/floor/plating, @@ -59026,20 +58960,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) -"tQK" = ( -/obj/structure/table/wood/fancy/green, -/obj/effect/spawner/random/aimodule/harmless, -/obj/item/ai_module/supplied/freeform{ - pixel_x = 2; - pixel_y = 3 - }, -/obj/item/ai_module/reset, -/obj/item/radio/intercom/directional/east{ - name = "ai intercom"; - frequency = 1447 - }, -/turf/open/floor/circuit/green, -/area/station/ai_monitored/turret_protected/ai_upload) "tRf" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -59128,22 +59048,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/escapepodbay) -"tSk" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/trash{ - pixel_x = 24; - pixel_y = 8 - }, -/obj/effect/turf_decal/stripes/white/corner{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/directional/east{ - name = "Trash Disposal Toggle"; - pixel_y = -8; - id = "fortnitedoor" - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/disposal) "tSl" = ( /obj/structure/fluff/tram_rail/electric/anchor{ dir = 1 @@ -59172,28 +59076,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"tSB" = ( -/obj/effect/turf_decal/sand, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "middleleft_upper_lower_eva_airlock_control"; - idInterior = "middleleft_upper_lower_eva_internal"; - idExterior = "middleleft_upper_lower_eva_external" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/mid) -"tSF" = ( -/obj/machinery/requests_console/directional/south{ - name = "Law Office Requests Console"; - department = "Law Office" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "tTc" = ( /obj/effect/turf_decal/caution/stand_clear/white{ dir = 1 @@ -59286,17 +59168,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/science/lower) -"tUA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/lattice/catwalk, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/north{ - name = "Tunnel Access Shutters Toggle"; - id = "midtunnelright" - }, -/turf/open/floor/plating, -/area/station/maintenance/tram/mid) "tUL" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -59317,25 +59188,6 @@ /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) -"tUN" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/machinery/door/airlock/command/glass{ - name = "AI Core" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "AI Core Shutters"; - id = "AI Core shutters" - }, -/obj/machinery/flasher/directional/west{ - id = "AI" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/command/ai_upload, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "tUT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59458,10 +59310,33 @@ "tXz" = ( /turf/closed/wall, /area/station/commons/vacant_room/commissary) +"tXA" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 10 + }, +/obj/structure/table, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - AI Station Access Exterior" + }, +/turf/open/floor/iron/dark, +/area/station/science/lower) "tXI" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/office) +"tXK" = ( +/obj/machinery/conveyor_switch/oneway{ + name = "Unloading Conveyor"; + pixel_x = -13; + pixel_y = -4; + id = "QMLoad2" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "tXL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59471,6 +59346,22 @@ /obj/structure/lattice, /turf/open/openspace, /area/station/ai_monitored/turret_protected/aisat/hallway) +"tXW" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/east{ + name = "Containment Pen #6"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/west{ + name = "Containment Pen #6"; + req_access = list("xenobiology") + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez6" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "tXY" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -59539,26 +59430,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/central) -"tYM" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_y = -9; - id = "private_h"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/structure/chair/stool/directional/north, -/turf/open/floor/carpet, -/area/station/commons/dorms) -"tYN" = ( -/obj/effect/spawner/random/structure{ - name = "random snowman spawner"; - loot = list(/obj/structure/statue/snow/snowman); - spawn_loot_chance = 10 - }, -/obj/machinery/light_switch/directional/south, -/turf/open/misc/asteroid/snow/coldroom, -/area/station/service/kitchen/coldroom) "tYX" = ( /obj/structure/table, /obj/item/toy/cards/deck, @@ -59577,6 +59448,14 @@ /obj/item/clothing/glasses/meson, /turf/open/floor/iron/white, /area/station/medical/chemistry) +"tZM" = ( +/obj/effect/turf_decal/tile/neutral/tram, +/obj/effect/spawner/random{ + name = "funny slipper :)"; + loot = list(/obj/effect/decal/cleanable/oil/slippery=10, /obj/effect/decal/cleanable/oil=90) + }, +/turf/open/floor/tram/plate, +/area/station/hallway/primary/tram/right) "tZO" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/nitrous_input{ dir = 8 @@ -59595,16 +59474,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/lobby) -"uac" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - network = list("aicore"); - c_tag = "Secure - AI Upper Ring North" - }, -/turf/open/floor/glass/reinforced, -/area/station/ai_monitored/turret_protected/aisat/hallway) "uax" = ( /turf/open/floor/iron, /area/station/cargo/storage) @@ -59612,31 +59481,11 @@ /obj/machinery/computer/mechpad, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"uaK" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 9 - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/table, -/turf/open/floor/iron, -/area/station/hallway/secondary/service) "uaM" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"uaP" = ( -/obj/structure/filingcabinet, -/obj/structure/window/spawner/directional/north, -/obj/item/paper{ - name = "station layout"; - icon = 'icons/obj/scrolls.dmi'; - icon_state = "blueprints"; - default_raw_text = "A crude mapping of the station layout based on leaked internal documents and orbital snapshots taken during construction. I'm not sure how up-to-date this is anymore.."; - inhand_icon_state = "blueprints" - }, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room) "uba" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -59663,15 +59512,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/ai_monitored/security/armory) -"ubp" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters N"; - id_tag = "private_n" - }, -/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/dorms) "ubt" = ( /obj/structure/chair/office/light{ dir = 1 @@ -59703,6 +59543,19 @@ dir = 6 }, /area/station/service/chapel) +"ubR" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/status_display/door_timer{ + name = "Science Cell"; + pixel_y = 32; + id = "scicell" + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/science) "ubW" = ( /obj/effect/turf_decal/siding/thinplating{ dir = 8 @@ -59714,24 +59567,6 @@ /obj/structure/sink/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"ubZ" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "rightmost_lower_lower_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = -24; - idSelf = "rightmost_lower_lower_eva_airlock_control"; - idDoor = "rightmost_lower_lower_eva_internal" - }, -/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/tram/right) "uca" = ( /obj/item/stack/ore/glass, /obj/item/toy/basketball, @@ -59867,6 +59702,25 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"uel" = ( +/obj/structure/closet/crate/secure{ + name = "Firing Range Gear Crate"; + desc = "A secure crate containing various materials for building a customised test-site."; + req_access = list("science") + }, +/obj/item/target/syndicate, +/obj/item/target/syndicate, +/obj/item/target/clown, +/obj/item/target/clown, +/obj/item/target/alien, +/obj/item/target/alien, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/white, +/area/station/science/auxlab/firing_range) "uem" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -59874,15 +59728,6 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"ues" = ( -/obj/machinery/elevator_control_panel{ - layer = 3.1; - pixel_y = 2; - linked_elevator_id = "tram_xeno_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") - }, -/turf/closed/wall/r_wall, -/area/station/science/xenobiology) "uey" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -59978,17 +59823,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"uhc" = ( -/obj/structure/table, -/obj/item/radio/intercom/directional/east{ - name = "Common Channel"; - pixel_x = 0; - listening = 0; - freerange = 1 - }, -/obj/structure/sign/calendar/directional/south, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room) "uhf" = ( /obj/machinery/door/firedoor/border_only, /obj/structure/cable, @@ -60029,46 +59863,19 @@ /obj/structure/fluff/tram_rail/electric/anchor, /turf/open/openspace, /area/station/hallway/primary/tram/center) -"uhW" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/status_display/door_timer{ - name = "Science Cell"; - pixel_y = 32; - id = "scicell" - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/science) "uid" = ( /turf/open/floor/eighties, /area/station/commons/fitness/recreation/entertainment) -"uii" = ( -/obj/machinery/camera{ - dir = 9; - network = list("aicore"); - c_tag = "Secure - AI Upper Ring South" +"uip" = ( +/obj/structure/closet/secure_closet/brig{ + name = "Medical Cell Locker"; + id = "medcell" }, -/turf/open/floor/glass/reinforced, -/area/station/ai_monitored/turret_protected/aisat/hallway) -"uio" = ( -/obj/machinery/door/airlock/research{ - name = "Slime Euthanization Chamber"; - opacity = 0; - glass = 1 +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, -/obj/effect/mapping_helpers/airlock/access/all/science/xenobio, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) +/turf/open/floor/iron, +/area/station/security/checkpoint/medical) "uiA" = ( /obj/effect/turf_decal/trimline/dark_green/filled/line{ dir = 4 @@ -60134,6 +59941,25 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/cargo/miningfoundry) +"ujm" = ( +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "mostleft_upper_lower_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_x = 24; + idSelf = "mostleft_upper_lower_eva_airlock_control"; + idDoor = "mostleft_upper_lower_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/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/catwalk_floor, +/area/station/maintenance/tram/left) "ujn" = ( /obj/machinery/door/airlock{ name = "Unisex Restrooms" @@ -60150,6 +59976,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"ujt" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters/window{ + name = "External Operations Shutter Access"; + id = "offstationaccess" + }, +/turf/open/floor/iron, +/area/station/command/teleporter) +"ujv" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/machinery/shower/directional/west, +/obj/effect/turf_decal/box, +/obj/structure/fluff/shower_drain, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "ujw" = ( /obj/effect/landmark/start/hangover, /obj/structure/disposalpipe/segment, @@ -60192,6 +60035,21 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/prison) +"ukh" = ( +/mob/living/basic/mouse/gray{ + name = "Plaguebearer"; + dir = 4 + }, +/obj/item/reagent_containers/cup/bucket{ + pixel_x = 4; + pixel_y = -6 + }, +/obj/item/mop, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/cobweb, +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/plating, +/area/station/medical/virology) "ukj" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 6 @@ -60221,6 +60079,20 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"ukw" = ( +/obj/machinery/door/poddoor/shutters{ + name = "Armoury Shutter"; + id = "armory" + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/effect/turf_decal/delivery, +/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/ai_monitored/security/armory) "ukE" = ( /obj/machinery/computer/station_alert{ dir = 1 @@ -60231,23 +60103,16 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"ukF" = ( -/obj/machinery/door/airlock/command{ - name = "Head of Personnel" +"ukS" = ( +/obj/structure/table/reinforced, +/obj/item/surgical_drapes, +/obj/item/cautery, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Robotics Surgery" }, -/obj/effect/mapping_helpers/airlock/access/all/command/hop, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Privacy Shutters"; - id = "hop" - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) +/turf/open/floor/iron/white, +/area/station/science/robotics/lab) "ukY" = ( /obj/effect/turf_decal/bot, /obj/machinery/power/port_gen/pacman, @@ -60283,6 +60148,33 @@ /obj/item/radio/intercom/prison/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"ulm" = ( +/obj/machinery/navbeacon{ + name = "navigation beacon (Atmoshperics Delivery)"; + location = "Atmoshperics"; + codes_txt = "delivery;dir=8" + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/machinery/conveyor{ + dir = 8; + id = "atmosdropoff" + }, +/turf/open/floor/plating, +/area/station/maintenance/department/medical) +"ulz" = ( +/obj/structure/filingcabinet, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd"); + c_tag = "Science - Ordnance Lab" + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) "ulJ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/bed/maint, @@ -60310,6 +60202,29 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"ulT" = ( +/obj/structure/closet/crate/hydroponics, +/obj/item/paper/guides/jobs/hydroponics, +/obj/item/seeds/onion, +/obj/item/seeds/garlic, +/obj/item/seeds/potato, +/obj/item/seeds/tomato, +/obj/item/seeds/carrot, +/obj/item/seeds/grass, +/obj/item/seeds/ambrosia, +/obj/item/seeds/wheat, +/obj/item/seeds/pumpkin, +/obj/effect/spawner/random/contraband/prison, +/obj/item/radio/intercom/prison/directional/east, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Garden" + }, +/obj/item/seeds/tower, +/obj/machinery/light/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/prison/garden) "ulV" = ( /turf/closed/wall/r_wall, /area/station/engineering/break_room) @@ -60405,22 +60320,6 @@ "uno" = ( /turf/closed/wall/r_wall, /area/station/maintenance/radshelter/civil) -"unv" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/south{ - name = "Containment Pen #4"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/north{ - name = "Containment Pen #4"; - req_access = list("xenobiology") - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez4" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "unx" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 5 @@ -60450,19 +60349,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/wood, /area/station/commons/dorms) -"uoh" = ( -/obj/machinery/button/door/directional/west{ - name = "Privacy Bolts"; - pixel_x = 24; - pixel_y = 9; - id = "private_a"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/carpet, -/area/station/commons/dorms) "uon" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -60479,21 +60365,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/tram/mid) -"uoH" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","cargo"); - c_tag = "Cargo - Warehouse East" - }, -/obj/structure/extinguisher_cabinet/directional/east, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "uoJ" = ( /obj/structure/closet/secure_closet/security/science, /obj/item/clothing/mask/whistle, @@ -60635,6 +60506,16 @@ /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron, /area/station/security/office) +"uqN" = ( +/obj/structure/table, +/obj/machinery/airalarm/directional/north, +/obj/machinery/fax{ + name = "Service Fax Machine"; + fax_name = "Service Hallway" + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron, +/area/station/hallway/secondary/service) "uqR" = ( /obj/effect/landmark/navigate_destination/dockarrival, /turf/open/floor/iron, @@ -60696,6 +60577,32 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/medical/morgue) +"urP" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/wooden_tv, +/obj/structure/extinguisher_cabinet/directional/south{ + pixel_x = -6 + }, +/obj/machinery/button/door/directional/south{ + name = "Privacy Shutters"; + pixel_x = 6; + id = "kanyewest" + }, +/obj/structure/sign/calendar/directional/east, +/turf/open/floor/carpet, +/area/station/security/detectives_office) +"urY" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/poddoor/shutters{ + name = "Mech Bay"; + dir = 4; + id = "mechbay" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/science/robotics/mechbay) "usm" = ( /obj/machinery/plumbing/synthesizer{ reagent_id = /datum/reagent/water @@ -60741,6 +60648,18 @@ "usY" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/cargo) +"utc" = ( +/obj/machinery/camera{ + dir = 9; + c_tag = "Arrivals - North Docking Wing" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "utj" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 @@ -60855,14 +60774,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/commons/fitness) -"uvc" = ( -/obj/machinery/button/flasher{ - pixel_x = 23; - pixel_y = -10; - id = "hopflash" - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "uvu" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -60891,6 +60802,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) +"uvU" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + name = "server vent"; + dir = 4 + }, +/turf/open/floor/circuit/telecomms/server, +/area/station/science/server) "uwb" = ( /obj/machinery/duct, /obj/structure/cable, @@ -60976,6 +60894,23 @@ /obj/machinery/light/directional/west, /turf/open/floor/iron, /area/station/cargo/drone_bay) +"uxj" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/machinery/requests_console/directional/north{ + name = "Telecomms Requests Console"; + department = "Telecomms Admin" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/tcommsat/computer) "uxn" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -61000,6 +60935,18 @@ /obj/machinery/meter, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"uxL" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south{ + name = "Private Channel"; + frequency = 1447; + listening = 0; + freerange = 1 + }, +/turf/open/floor/iron/grimy, +/area/station/ai_monitored/turret_protected/aisat/foyer) "uxM" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 10 @@ -61039,18 +60986,6 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/wood, /area/station/service/bar/backroom) -"uyi" = ( -/obj/effect/turf_decal/trimline/blue/filled/line, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Main South-West" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/central) "uyq" = ( /obj/structure/table/reinforced, /obj/machinery/light/warm/directional/west, @@ -61097,21 +61032,6 @@ /obj/item/pai_card, /turf/open/floor/iron/white, /area/station/science/lower) -"uzd" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 - }, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 8 - }, -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Lobby South" - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "uzl" = ( /obj/structure/fluff/tram_rail/electric, /obj/structure/transport/linear/tram, @@ -61203,23 +61123,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/storage/primary) -"uAE" = ( -/obj/structure/table, -/obj/item/razor, -/obj/item/reagent_containers/cup/rag{ - pixel_x = 8; - pixel_y = 15 +"uAF" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez5" }, -/obj/item/reagent_containers/cup/bottle{ - name = "Barber's Aid bottle"; - desc = "A small bottle of Barber's Aid."; - pixel_x = 10; - pixel_y = 3; - list_reagents = list(/datum/reagent/barbers_aid=30) - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/east, -/turf/open/floor/wood/large, -/area/station/service/barber) +/turf/open/floor/plating, +/area/station/science/xenobiology) "uAK" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /turf/open/floor/iron/dark, @@ -61274,6 +61185,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/checkpoint/engineering) +"uBA" = ( +/obj/structure/chair{ + name = "Judge"; + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/obj/machinery/camera/directional/west{ + c_tag = "Civilian - Courtroom" + }, +/turf/open/floor/iron, +/area/station/security/courtroom) "uBD" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -61452,19 +61374,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"uDH" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 6 - }, -/obj/machinery/atmospherics/components/binary/pump{ - name = "N2 to Pure"; - dir = 1 - }, -/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "uDI" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/warning{ @@ -61489,6 +61398,36 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"uEw" = ( +/obj/machinery/button/door/directional/east{ + name = "Door Bolt Control"; + id = "miningdorm3"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/carpet, +/area/station/cargo/miningdock) +"uEx" = ( +/obj/structure/table, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/clothing/gloves/color/yellow, +/obj/item/storage/box/lights/mixed, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/cell/emproof, +/obj/item/stock_parts/cell/emproof, +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engineering"); + c_tag = "Engineering - SMES Misc" + }, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "uEB" = ( /obj/structure/closet/secure_closet/freezer/fridge, /obj/effect/turf_decal/bot_white, @@ -61527,23 +61466,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"uFh" = ( -/obj/effect/turf_decal/sand, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleleft_upper_lower_eva_external"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "middleleft_upper_lower_eva_airlock_control"; - idDoor = "middleleft_upper_lower_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/mid) "uFo" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -61588,15 +61510,6 @@ /obj/effect/turf_decal/trimline/red/filled/line, /turf/open/floor/iron, /area/station/security/prison/garden) -"uFF" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters O"; - id_tag = "private_o" - }, -/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/dorms) "uFX" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -61637,6 +61550,34 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security/brig) +"uGo" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/south{ + name = "Research Lab Desk"; + req_access = list("science") + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Research and Development Shutter"; + id = "rndlab1" + }, +/obj/item/folder{ + pixel_x = 5 + }, +/obj/structure/desk_bell{ + pixel_x = -7 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white, +/area/station/science/lab) "uGq" = ( /turf/closed/wall, /area/station/science/ordnance/bomb) @@ -61644,6 +61585,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/engine_smes) +"uGJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/machinery/computer/security/telescreen{ + name = "Test Chamber Monitor"; + pixel_y = 2; + network = list("xeno") + }, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "uGL" = ( /obj/structure/bed/medical/emergency, /obj/effect/turf_decal/bot, @@ -61652,6 +61603,15 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"uGU" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ + name = "euthanization chamber freezer"; + dir = 8; + initialize_directions = 4 + }, +/obj/effect/turf_decal/trimline/purple/filled/line, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "uGW" = ( /turf/closed/wall, /area/station/cargo/miningdock) @@ -61715,6 +61675,39 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"uHA" = ( +/obj/machinery/elevator_control_panel/directional/north{ + name = "Dumbwaiter control Panel"; + desc = "A small control panel used to move the kitchen dumbwaiter up and down."; + linked_elevator_id = "dumbwaiter_lift"; + preset_destination_names = list("2"="Hydroponics", "3"="Kitchen") + }, +/obj/structure/disposalpipe/trunk, +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron/white/side, +/area/station/service/kitchen) +"uHB" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/structure/table/glass, +/obj/machinery/fax{ + name = "Medical Fax Machine"; + fax_name = "Medical" + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) +"uHD" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "uHF" = ( /obj/structure/railing{ dir = 4 @@ -61729,6 +61722,18 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/engineering/atmos) +"uHQ" = ( +/obj/item/paper{ + name = "initiation paperwork"; + default_raw_text = "Congradulations, agent 'INSERT NAME HERE'! You have been assigned reconnaissance duty among the orbiting rocks of Indecipheres! As this location was previously scouted as a potential build site for a Nanotrasen outpost, one of our benefactors has taken the oppertunity to pre-emptively construct a listening outpost within the region! You have been tasked with monitoring the potentially active future crew and logging all events onboard. If you are a Nanotrasen official who has stumbled upon this outpost before it could be properly established: Please ignore this entire paper." + }, +/obj/machinery/computer/records/medical/syndie{ + dir = 1; + req_access = list("syndicate") + }, +/obj/machinery/digital_clock/directional/south, +/turf/open/floor/iron/dark/small, +/area/station/commons/vacant_room) "uHT" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/neutral/filled/warning, @@ -61788,6 +61793,29 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/left) +"uJa" = ( +/obj/structure/railing{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 10; + network = list("aicore"); + c_tag = "Secure - AI Upper Ring East" + }, +/turf/open/floor/glass/reinforced, +/area/station/ai_monitored/turret_protected/aisat/hallway) +"uJf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = -24; + idSelf = "mostleft_upper_lower_eva_airlock_control"; + idInterior = "mostleft_upper_lower_eva_internal"; + idExterior = "mostleft_upper_lower_eva_external" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/left) "uJk" = ( /obj/structure/easel, /obj/item/canvas/nineteen_nineteen, @@ -61795,6 +61823,19 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) +"uJx" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 5 + }, +/obj/machinery/computer/department_orders/engineering{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/break_room) "uJH" = ( /turf/open/floor/iron/white, /area/station/science/robotics/lab) @@ -61873,6 +61914,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/execution/transfer) +"uLn" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters P"; + id_tag = "private_p" + }, +/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/dorms) "uLt" = ( /obj/structure/table/glass, /obj/item/reagent_containers/cup/beaker{ @@ -61902,14 +61952,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) -"uLR" = ( -/obj/machinery/camera/motion{ - dir = 10; - network = list("aicore"); - c_tag = "Secure - AI Upper External East" - }, -/turf/open/space/openspace, -/area/space/nearstation) "uLW" = ( /obj/machinery/prisongate, /obj/machinery/door/firedoor, @@ -61921,6 +61963,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison) +"uLX" = ( +/obj/effect/turf_decal/delivery, +/obj/machinery/door/window/left/directional/east{ + name = "Containment Pen #7"; + req_access = list("xenobiology") + }, +/obj/machinery/door/window/left/directional/west{ + name = "Containment Pen #7"; + req_access = list("xenobiology") + }, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez7" + }, +/turf/open/floor/engine, +/area/station/science/xenobiology) "uMg" = ( /obj/structure/table, /obj/item/radio/intercom, @@ -61938,6 +61996,26 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"uMu" = ( +/obj/structure/table/glass, +/obj/item/storage/box/petridish{ + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/storage/box/petridish{ + pixel_x = 5; + pixel_y = 3 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/obj/machinery/camera/directional/east{ + network = list("ss13","rd","xeno"); + c_tag = "Science - Cytology East" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "uME" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -61974,15 +62052,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"uNo" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/emp_proof{ - dir = 9; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics Test Room" - }, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "uNs" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -61992,6 +62061,16 @@ "uNB" = ( /turf/open/floor/iron, /area/station/command/teleporter) +"uNE" = ( +/obj/effect/turf_decal/sand/plating, +/obj/effect/turf_decal/sand/plating, +/obj/machinery/door/poddoor/shutters{ + name = "External Dock Access"; + id = "winkyface" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "uNI" = ( /obj/effect/turf_decal/trimline/red/filled/corner, /obj/effect/turf_decal/trimline/yellow/filled/corner{ @@ -62021,6 +62100,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) +"uNN" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/structure/closet/emcloset, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Virology Airlock" + }, +/turf/open/floor/iron/white, +/area/station/medical/virology) "uNT" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -62028,14 +62118,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"uOa" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Test Chamber Blast Door"; - id = "testlab" - }, -/turf/open/floor/plating, -/area/station/science/explab) "uOg" = ( /obj/machinery/computer/atmos_control/carbon_tank{ dir = 8 @@ -62102,6 +62184,17 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"uOZ" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "CO2 Outlet Pump"; + dir = 8 + }, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "uPi" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62172,14 +62265,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) -"uRj" = ( -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Cold Storage" - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/freezer, -/area/station/medical/coldroom) "uRv" = ( /obj/structure/lattice, /turf/open/space/openspace, @@ -62248,49 +62333,12 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"uTt" = ( -/obj/machinery/status_display/door_timer{ - name = "Engineering Cell"; - pixel_x = -32; - id = "engcell" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/requests_console/directional/south{ - name = "Security Requests Console"; - department = "Security" - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/engineering) "uTz" = ( /obj/structure/railing{ dir = 8 }, /turf/open/floor/iron/stairs/medium, /area/station/service/janitor) -"uTC" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/north{ - name = "Containment Pen #3"; - req_access = list("xenobiology") - }, -/obj/machinery/door/window/left/directional/south{ - name = "Containment Pen #3"; - req_access = list("xenobiology") - }, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez3" - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "uTL" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 9 @@ -62343,14 +62391,17 @@ /obj/structure/sign/clock/directional/north, /turf/open/floor/iron, /area/station/security/checkpoint/engineering) -"uUC" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Distro to Waste"; - dir = 8 +"uUB" = ( +/obj/docking_port/stationary{ + name = "port bay 2"; + dir = 8; + width = 5; + height = 13; + shuttle_id = "ferry_home"; + dwidth = 2 }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos/pumproom) +/turf/open/space/openspace, +/area/space) "uUD" = ( /obj/structure/chair/stool/bar/directional/north, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -62413,40 +62464,20 @@ "uVo" = ( /turf/open/floor/carpet, /area/station/command/meeting_room) -"uVv" = ( -/obj/machinery/power/smes{ - charge = 5e+06 - }, -/obj/machinery/airalarm/directional/east, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/gravity_generator) "uVO" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 }, /turf/open/floor/iron/dark, /area/station/security/courtroom) -"uVR" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "mostleft_upper_eva_external"; - autoclose = 0 +"uVW" = ( +/obj/machinery/camera/directional/west{ + network = list("ss13","medbay"); + c_tag = "Medical - Cryo Treatment" }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = 24; - idSelf = "mostleft_upper_eva_airlock_control"; - idDoor = "mostleft_upper_eva_external" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/left) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible, +/turf/open/floor/iron/dark, +/area/station/medical/treatment_center) "uWi" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -62454,37 +62485,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/office) -"uWk" = ( -/obj/structure/reagent_dispensers/watertank/high, -/obj/structure/railing{ - dir = 8 +"uWn" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Quartermaster's Privacy Shutters"; + dir = 8; + id = "greedygrinnersden" }, -/obj/effect/turf_decal/trimline/yellow/warning{ - dir = 8 - }, -/obj/machinery/elevator_control_panel/directional/south{ - name = "Dumbwaiter control Panel"; - desc = "A small control panel used to move the kitchen dumbwaiter up and down."; - linked_elevator_id = "dumbwaiter_lift"; - preset_destination_names = list("2"="Hydroponics", "3"="Kitchen") - }, -/obj/effect/turf_decal/tile/green/fourcorners, -/obj/item/reagent_containers/cup/watering_can, -/turf/open/floor/iron/dark, -/area/station/service/hydroponics) -"uWs" = ( -/obj/machinery/door/airlock/security/glass{ - name = "Prison Dorm 4"; - id_tag = "prisondorm" - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/security/prison/safe) +/turf/open/floor/plating, +/area/station/cargo/office) "uWy" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -62518,6 +62527,26 @@ /obj/item/pen, /turf/open/floor/iron/grimy, /area/station/service/library/lounge) +"uXn" = ( +/obj/machinery/atmospherics/components/unary/thermomachine/freezer{ + dir = 8 + }, +/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" + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "uXv" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -62624,22 +62653,6 @@ }, /turf/closed/wall, /area/station/maintenance/tram/mid) -"uYL" = ( -/obj/machinery/status_display/door_timer{ - name = "Medical Cell"; - pixel_y = 32; - id = "medcell" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/effect/landmark/start/depsec/medical, -/obj/machinery/camera/directional/north{ - network = list("ss13","medbay","Security"); - c_tag = "Medical - Security Checkpoint" - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/medical) "uYX" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -62737,6 +62750,25 @@ "vay" = ( /turf/open/floor/plating, /area/station/commons/dorms) +"vaK" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner{ + dir = 1 + }, +/obj/machinery/camera/emp_proof/directional/south{ + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics South-East" + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/yellow/filled/corner, +/obj/machinery/firealarm/directional/south, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/atmos) "vaR" = ( /obj/item/radio/intercom/directional/north, /obj/structure/easel, @@ -62767,20 +62799,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/checkpoint/medical) -"vbx" = ( -/obj/effect/turf_decal/trimline/green/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/green/filled/line, -/obj/effect/turf_decal/trimline/yellow/warning, -/obj/machinery/door/window/elevator/right/directional/south{ - name = "Dumbwaiter"; - req_access = null; - elevator_mode = 1; - transport_linked_id = "dumbwaiter_lift" +"vbt" = ( +/obj/machinery/computer/atmos_control/oxygen_tank{ + atmos_chambers = list(o2ordance="Oxygen Supply") }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, -/area/station/service/hydroponics) +/area/station/science/ordnance/storage) "vbA" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 8 @@ -62792,6 +62818,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/office) +"vbP" = ( +/obj/structure/toilet{ + dir = 4 + }, +/obj/machinery/button/door/directional/west{ + name = "Lock Control"; + id = "ToiletSci1"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/light/small/dim/directional/south, +/turf/open/floor/iron/freezer, +/area/station/science/lower) "vbT" = ( /obj/machinery/door/firedoor, /obj/structure/cable, @@ -62837,6 +62876,24 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/central) +"vcs" = ( +/obj/structure/reagent_dispensers/watertank/high, +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 8 + }, +/obj/machinery/elevator_control_panel/directional/south{ + name = "Dumbwaiter control Panel"; + desc = "A small control panel used to move the kitchen dumbwaiter up and down."; + linked_elevator_id = "dumbwaiter_lift"; + preset_destination_names = list("2"="Hydroponics", "3"="Kitchen") + }, +/obj/effect/turf_decal/tile/green/fourcorners, +/obj/item/reagent_containers/cup/watering_can, +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "vcv" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 10 @@ -62899,20 +62956,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit) -"veK" = ( -/obj/machinery/status_display/door_timer{ - name = "Cargo Cell"; - pixel_x = 32; - id = "crgcell" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "veV" = ( /turf/closed/wall, /area/station/commons/toilet) @@ -63117,6 +63160,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"vic" = ( +/obj/machinery/lift_indicator{ + pixel_x = -5; + pixel_y = -3; + linked_elevator_id = "tram_lower_center_lift" + }, +/obj/machinery/button/elevator{ + pixel_x = -7; + pixel_y = -1; + id = "tram_lower_center_lift" + }, +/turf/closed/wall, +/area/station/hallway/primary/tram/center) "viC" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63140,12 +63196,56 @@ /obj/machinery/light/small/dim/directional/north, /turf/open/floor/catwalk_floor, /area/station/maintenance/tram/mid) +"viW" = ( +/obj/effect/decal/remains/human, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 8; + pixel_y = -32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = 4; + pixel_y = -32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_y = -32 + }, +/obj/effect/decal/cleanable/crayon/i/orange{ + pixel_x = -4; + pixel_y = -32 + }, +/obj/effect/decal/cleanable/crayon/x{ + pixel_x = 4; + pixel_y = -32 + }, +/obj/item/clothing/shoes/clown_shoes, +/obj/item/clothing/mask/gas/clown_hat, +/turf/open/floor/plating, +/area/station/engineering/main) +"viZ" = ( +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Cold Storage" + }, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/freezer, +/area/station/medical/coldroom) "vjb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"vjo" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_y = -9; + id = "private_n"; + specialfunctions = 4; + normaldoorcontrol = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/carpet, +/area/station/commons/dorms) "vjq" = ( /obj/structure/table/wood, /obj/item/book/manual/wiki/security_space_law, @@ -63253,6 +63353,19 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron, /area/station/engineering/atmos) +"vkP" = ( +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/machinery/button/door/directional/south{ + name = "Kitchen Shutters Control"; + id = "playerscantreadthis" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/station/service/kitchen) "vkW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /obj/machinery/airlock_sensor/incinerator_atmos{ @@ -63260,9 +63373,34 @@ }, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"vlb" = ( +/obj/effect/turf_decal/trimline/neutral/filled/corner, +/obj/machinery/camera{ + dir = 6; + c_tag = "Hallway - Port Tram Platform South-East" + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/tram/left) "vle" = ( /turf/closed/wall, /area/station/maintenance/disposal) +"vlm" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/sign/clock/directional/north, +/obj/machinery/camera/directional/north{ + network = list("ss13","rd","Security"); + c_tag = "Medical - Security Checkpoint" + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/science) "vly" = ( /obj/effect/landmark/start/medical_doctor, /obj/machinery/duct, @@ -63272,6 +63410,22 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"vlF" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/button/elevator/directional/west{ + pixel_x = -26; + pixel_y = -1; + id = "tram_sci_lift" + }, +/obj/machinery/lift_indicator/directional/west{ + pixel_x = -27; + pixel_y = -2; + linked_elevator_id = "tram_sci_lift" + }, +/turf/open/floor/iron/white, +/area/station/science/research) "vlJ" = ( /obj/structure/chair/sofa/corp/corner{ dir = 4 @@ -63354,16 +63508,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/catwalk_floor, /area/station/solars/port) -"vnZ" = ( -/obj/machinery/door/firedoor/heavy, -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Mixing Site Shutters"; - dir = 4; - id = "mixingastew" - }, -/turf/open/floor/plating, -/area/station/science/ordnance) "vob" = ( /obj/structure/bookcase/random/religion, /turf/open/floor/iron/dark, @@ -63418,23 +63562,6 @@ }, /turf/open/floor/wood/large, /area/station/service/theater) -"voT" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "mostleft_lower_eva_internal"; - autoclose = 0 - }, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_y = -24; - idSelf = "mostleft_lower_eva_airlock_control"; - idDoor = "mostleft_lower_eva_internal" - }, -/obj/effect/mapping_helpers/airlock/locked, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/left) "vpa" = ( /obj/structure/sign/nanotrasen{ pixel_x = 32 @@ -63457,6 +63584,31 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/mid) +"vpp" = ( +/obj/effect/turf_decal/trimline/dark_green/filled/line{ + dir = 9 + }, +/obj/structure/table/glass, +/obj/machinery/requests_console/directional/west{ + name = "Genetics Requests Console"; + department = "Genetics" + }, +/turf/open/floor/iron/white, +/area/station/science/genetics) +"vpt" = ( +/obj/structure/railing{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/dark_red/warning{ + dir = 9 + }, +/obj/structure/transport/linear/public, +/obj/machinery/elevator_control_panel/directional/north{ + linked_elevator_id = "tram_upper_center_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/maintenance/tram/mid) "vpG" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -63469,6 +63621,14 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) +"vpP" = ( +/obj/machinery/door/poddoor/preopen{ + name = "Engineering Security Door"; + id = "Engineering" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/station/engineering/main) "vpS" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -63486,6 +63646,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/service/hydroponics/garden) +"vqa" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 9 + }, +/obj/machinery/button/door/directional/north{ + name = "Mixing Chamber Privacy Shutters"; + id = "mixingastew" + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance) "vqe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63496,6 +63669,18 @@ /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/catwalk_floor, /area/station/science/xenobiology) +"vqx" = ( +/obj/effect/turf_decal/sand, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = 24; + idSelf = "middleleft_upper_lower_eva_airlock_control"; + idInterior = "middleleft_upper_lower_eva_internal"; + idExterior = "middleleft_upper_lower_eva_external" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/tram/mid) "vqH" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -63519,6 +63704,25 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/white, /area/station/science/ordnance) +"vri" = ( +/obj/structure/table, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 3; + pixel_y = -2 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = -2; + pixel_y = 8 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 6 + }, +/obj/machinery/button/door/directional/south{ + name = "Ordance Storage Shutters"; + id = "ordnancestorage" + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/office) "vro" = ( /obj/structure/filingcabinet/filingcabinet, /obj/structure/window/reinforced/spawner/directional/east, @@ -63665,12 +63869,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/foyer) -"vsQ" = ( -/mob/living/carbon/human/species/monkey/punpun, -/obj/structure/cable, -/obj/machinery/holopad, -/turf/open/floor/iron/dark, -/area/station/service/bar) "vsU" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -63709,33 +63907,6 @@ /obj/structure/sink/directional/west, /turf/open/floor/iron/freezer, /area/station/science/lower) -"vtv" = ( -/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) -"vtF" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/camera/emp_proof/directional/south{ - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Engine Room South-West" - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "vua" = ( /turf/open/floor/carpet, /area/station/service/chapel/monastery) @@ -63743,25 +63914,20 @@ /obj/machinery/telecomms/processor/preset_two, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"vuo" = ( -/obj/docking_port/stationary{ - name = "Tramstation emergency evac bay"; - dir = 4; - width = 32; - height = 18; - shuttle_id = "emergency_home"; - dwidth = 12 +"vuC" = ( +/obj/effect/turf_decal/trimline/green/line{ + dir = 1 }, -/turf/open/space/openspace, -/area/space) -"vux" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez5" +/obj/effect/turf_decal/trimline/green/filled/line, +/obj/effect/turf_decal/trimline/yellow/warning, +/obj/machinery/door/window/elevator/right/directional/south{ + name = "Dumbwaiter"; + req_access = null; + elevator_mode = 1; + transport_linked_id = "dumbwaiter_lift" }, -/turf/open/floor/plating, -/area/station/science/xenobiology) +/turf/open/floor/iron/dark, +/area/station/service/hydroponics) "vuD" = ( /obj/machinery/duct, /obj/structure/railing/corner{ @@ -63786,6 +63952,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/construction/engineering) +"vvd" = ( +/obj/machinery/camera{ + dir = 10; + c_tag = "Hallway - Starboard Tram Platform South-West" + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/stripes/white/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/tram/right) "vvk" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 5 @@ -63814,18 +63994,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"vvJ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/corner, -/obj/machinery/camera{ - dir = 6; - c_tag = "Hallway - Port Tram Platform South-East" - }, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/stripes/white/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/left) "vvK" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -63864,17 +64032,6 @@ }, /turf/open/floor/iron, /area/station/science/lower) -"vwf" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/structure/closet/emcloset, -/obj/machinery/camera/directional/south{ - network = list("ss13","medbay"); - c_tag = "Medical - Virology Airlock" - }, -/turf/open/floor/iron/white, -/area/station/medical/virology) "vwq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -63932,6 +64089,11 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"vxv" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/wood, +/area/station/command/meeting_room) "vyo" = ( /obj/machinery/duct, /obj/structure/cable, @@ -63953,6 +64115,14 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/lobby) +"vyD" = ( +/obj/machinery/power/smes{ + charge = 5e+06 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/engineering/gravity_generator) "vyG" = ( /obj/machinery/door/airlock/command{ name = "Head of Security" @@ -64032,6 +64202,16 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/commons/lounge) +"vzx" = ( +/obj/machinery/atmospherics/components/binary/valve{ + name = "Output to Waste"; + dir = 4 + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "vzY" = ( /obj/machinery/duct, /obj/effect/decal/cleanable/dirt, @@ -64076,6 +64256,35 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/psychology) +"vBa" = ( +/obj/structure/chair{ + name = "Prosecution"; + dir = 1 + }, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/courtroom) +"vBk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleright_lower_upper_eva_internal"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_x = 24; + idSelf = "middleright_lower_upper_eva_airlock_control"; + idDoor = "middleright_lower_upper_eva_internal" + }, +/obj/effect/mapping_helpers/airlock/locked, +/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/tram/mid) "vBl" = ( /obj/structure/table/glass, /obj/item/storage/box/monkeycubes{ @@ -64112,6 +64321,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"vBB" = ( +/obj/machinery/power/terminal{ + dir = 1 + }, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/sign/warning/electric_shock/directional/east, +/obj/item/storage/toolbox/mechanical{ + name = "moderately suspicious looking toolbox"; + desc = "Danger. Kinda robust."; + icon_state = "syndicate"; + inhand_icon_state = "toolbox_syndi" + }, +/turf/open/floor/plating, +/area/station/commons/vacant_room) "vBM" = ( /obj/effect/landmark/start/hangover, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -64119,27 +64343,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"vBP" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "innerbrigright" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_right" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/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/iron, -/area/station/security/brig) "vBX" = ( /obj/machinery/conveyor{ dir = 4; @@ -64311,17 +64514,22 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"vET" = ( -/obj/modular_map_root/tramstation{ - name = "arrivallibraryupper"; - key = "arrivallibraryupper" - }, -/turf/open/misc/asteroid, -/area/station/asteroid) "vEV" = ( /obj/machinery/light/floor, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"vFb" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table, +/obj/effect/turf_decal/stripes/line{ + dir = 10 + }, +/obj/machinery/button/door{ + name = "Cell Containment Toggle Button"; + id = "containdeez3" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "vFe" = ( /obj/effect/mapping_helpers/burnt_floor, /obj/structure/sign/poster/official/midtown_slice/directional/north, @@ -64347,20 +64555,6 @@ "vFt" = ( /turf/closed/wall/rust, /area/station/hallway/primary/tram/left) -"vFB" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = 24; - idSelf = "rightmost_upper_eva_airlock_control"; - idInterior = "rightmost_upper_eva_internal"; - idExterior = "rightmost_upper_eva_external" - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/right) "vFC" = ( /obj/machinery/door/morgue{ name = "Adult Section" @@ -64380,6 +64574,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"vFR" = ( +/obj/machinery/camera/emp_proof{ + dir = 9; + network = list("ss13","engineering"); + c_tag = "Engineering - Atmospherics N2O Chamber" + }, +/turf/open/floor/engine/n2o, +/area/station/engineering/atmos) "vGc" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -64388,6 +64590,15 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/medical/surgery/fore) +"vGd" = ( +/obj/machinery/firealarm/directional/south, +/obj/machinery/conveyor_switch/oneway{ + name = "Shipment Delivery Chute Activator"; + pixel_x = 10; + id = "lawyerdropoff" + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "vGi" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/effect/turf_decal/trimline/neutral/filled/corner{ @@ -64398,6 +64609,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"vGk" = ( +/obj/structure/lattice, +/obj/machinery/camera/motion{ + dir = 9; + network = list("ss13","minisat"); + c_tag = "Secure - AI Lower External South" + }, +/turf/open/space/basic, +/area/space/nearstation) "vGs" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64496,13 +64716,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"vHS" = ( -/obj/machinery/camera/directional/west{ - network = list("ss13","Security"); - c_tag = "Security - Main West" - }, -/turf/open/openspace, -/area/station/security/brig) "vIa" = ( /obj/machinery/vending/cigarette, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -64596,35 +64809,6 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"vKx" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 9 - }, -/obj/machinery/newscaster/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/white, -/area/station/science/lab) -"vKA" = ( -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/door/airlock/security/glass{ - name = "Brig"; - id_tag = "innerbrigright" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "brig_right" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/turf/open/floor/iron, -/area/station/security/brig) "vKD" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -64666,6 +64850,13 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/miningdock) +"vMu" = ( +/obj/modular_map_root/tramstation{ + name = "secbarupper"; + key = "secbarupper" + }, +/turf/open/floor/catwalk_floor, +/area/station/maintenance/department/security) "vMx" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -64682,6 +64873,26 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"vMI" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock/external{ + name = "External Access"; + frequency = 1449; + id_tag = "middleleft_upper_eva_external"; + autoclose = 0 + }, +/obj/machinery/door_buttons/access_button{ + name = "External Access Button"; + pixel_y = 24; + idSelf = "middleleft_upper_eva_airlock_control"; + idDoor = "middleleft_upper_eva_external" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) "vMJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -64941,6 +65152,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/miningdock) +"vRN" = ( +/obj/machinery/duct, +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 1 + }, +/obj/machinery/door/window/elevator/left/directional/north{ + name = "Dumbwaiter"; + req_access = null; + elevator_mode = 1; + transport_linked_id = "dumbwaiter_lift" + }, +/turf/open/floor/iron/cafeteria, +/area/station/service/kitchen) "vRO" = ( /turf/closed/wall/r_wall, /area/station/security/prison/shower) @@ -64951,27 +65175,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"vRU" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/machinery/button/door{ - name = "Test Chamber Blast Doors"; - pixel_x = 4; - pixel_y = 9; - id = "Xenolab"; - req_access = list("xenobiology") - }, -/obj/machinery/button/ignition{ - pixel_x = -6; - pixel_y = 9; - id = "Xenobio" - }, -/obj/item/radio/intercom{ - pixel_y = -4 - }, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "vRV" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable, @@ -64980,6 +65183,13 @@ /obj/effect/landmark/start/bitrunner, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) +"vSa" = ( +/obj/machinery/atmospherics/components/unary/passive_vent{ + name = "server vent"; + dir = 8 + }, +/turf/open/floor/circuit/telecomms/server, +/area/station/science/server) "vSb" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/east, @@ -64990,6 +65200,19 @@ "vSI" = ( /turf/open/openspace, /area/station/cargo/storage) +"vSL" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/machinery/atmospherics/components/trinary/filter{ + dir = 1 + }, +/obj/machinery/requests_console/directional/west{ + name = "Atmospherics Requests Console"; + department = "Atmospherics" + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "vST" = ( /obj/machinery/duct, /obj/structure/disposalpipe/segment{ @@ -65062,6 +65285,22 @@ /obj/structure/stairs/north, /turf/open/floor/iron/stairs/left, /area/station/science/lower) +"vTx" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez6" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) +"vTB" = ( +/obj/effect/turf_decal/caution/stand_clear, +/obj/machinery/door/poddoor/shutters{ + name = "Auxillary Base Shutters"; + id = "aux_base_shutters" + }, +/turf/open/floor/plating, +/area/station/construction/mining/aux_base) "vTD" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/turf_decal/stripes/line{ @@ -65069,6 +65308,17 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"vTE" = ( +/obj/machinery/camera{ + dir = 9; + network = list("ss13","Security"); + c_tag = "Security - Detective's Office" + }, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/iron/grimy, +/area/station/security/detectives_office) "vTF" = ( /obj/structure/tank_dispenser{ pixel_x = -1 @@ -65151,6 +65401,21 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/service/lawoffice) +"vWk" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/window/left/directional/east{ + name = "Library Delivery Chute" + }, +/obj/machinery/navbeacon{ + name = "navigation beacon (Library Delivery)"; + location = "Library"; + codes_txt = "delivery;dir=4" + }, +/obj/effect/turf_decal/loading_area{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "vWu" = ( /obj/structure/toilet{ dir = 1 @@ -65253,6 +65518,22 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron/white, /area/station/science/ordnance) +"vYw" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/keycard_auth{ + pixel_x = -6; + pixel_y = 8 + }, +/obj/machinery/button/door{ + name = "Bridge Blast Door Toggle"; + pixel_x = -7; + pixel_y = -2; + id = "bunkermodeactivated"; + req_access = list("command") + }, +/turf/open/floor/carpet, +/area/station/command/bridge) "vYy" = ( /obj/structure/sign/warning/radiation/rad_area{ pixel_y = 32 @@ -65285,6 +65566,13 @@ }, /turf/open/floor/iron/white, /area/station/service/theater) +"vYX" = ( +/obj/machinery/atmospherics/components/trinary/mixer{ + name = "plasma mixer"; + dir = 1 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "vZB" = ( /obj/machinery/airalarm/directional/north, /turf/open/floor/wood/large, @@ -65403,6 +65691,18 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"wbW" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/turretid{ + name = "AI Hallway turret control"; + icon_state = "control_stun"; + pixel_x = 3; + pixel_y = 28 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/hallway) "wce" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -65443,6 +65743,17 @@ }, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"wcy" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 10 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Lower Hall South" + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/white, +/area/station/science/lower) "wcB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65487,32 +65798,21 @@ /obj/structure/sign/calendar/directional/east, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"wdw" = ( -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engine","engineering"); - c_tag = "Engineering - Emitter Room West" - }, -/turf/open/floor/iron/dark, -/area/station/engineering/supermatter/room) "wdC" = ( /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/security/processing) -"wdJ" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 1 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "HoP Queue Shutters"; - id = "hopqueueend" - }, -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/turf_decal/loading_area/white{ +"wdD" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/hop) +/obj/machinery/door/poddoor/preopen{ + name = "Xenobiology Containment Blast Door"; + id = "containdeez6" + }, +/turf/open/floor/plating, +/area/station/science/xenobiology) "wdU" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -65554,6 +65854,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) +"weS" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south{ + name = "Private Channel"; + frequency = 1447; + listening = 0; + freerange = 1 + }, +/obj/structure/cable, +/turf/open/floor/glass/reinforced, +/area/station/ai_monitored/turret_protected/aisat/hallway) "wfb" = ( /obj/structure/closet/crate/coffin, /turf/open/floor/plating, @@ -65588,23 +65901,6 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/tram, /area/station/hallway/primary/tram/left) -"wgi" = ( -/obj/effect/turf_decal/siding/thinplating{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/dark_red/warning{ - dir = 4 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/structure/transport/linear/public, -/obj/machinery/elevator_control_panel/directional/east{ - linked_elevator_id = "tram_lower_center_lift"; - preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") - }, -/turf/open/floor/plating/elevatorshaft, -/area/station/maintenance/tram/mid) "wgp" = ( /obj/item/pickaxe/mini, /turf/open/misc/asteroid, @@ -65615,6 +65911,24 @@ /obj/structure/thermoplastic/light, /turf/open/indestructible/tram/plate, /area/station/hallway/primary/tram/center) +"wgB" = ( +/obj/machinery/status_display/door_timer{ + name = "Engineering Cell"; + pixel_x = -32; + id = "engcell" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/structure/chair{ + dir = 1 + }, +/obj/machinery/requests_console/directional/south{ + name = "Security Requests Console"; + department = "Security" + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) "wgI" = ( /obj/structure/chair, /obj/effect/landmark/start/assistant, @@ -65622,6 +65936,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/commons/lounge) +"wgL" = ( +/obj/machinery/camera{ + dir = 9; + c_tag = "Arrivals - South Docking Wing" + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/machinery/light/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/entry) "wgM" = ( /obj/machinery/door/poddoor/massdriver_ordnance, /obj/structure/fans/tiny, @@ -65633,6 +65960,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/lobby) +"wgR" = ( +/obj/docking_port/stationary/random{ + name = "lavaland"; + dir = 8; + shuttle_id = "pod_3_lavaland" + }, +/turf/open/misc/asteroid/airless, +/area/station/asteroid) "whn" = ( /turf/open/floor/iron/white, /area/station/science/xenobiology) @@ -65724,6 +66059,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"wio" = ( +/obj/machinery/computer/department_orders/medical{ + dir = 1 + }, +/obj/effect/turf_decal/siding/white{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/medical/storage) "wip" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -65735,6 +66079,25 @@ /obj/effect/turf_decal/trimline/white/warning, /turf/open/floor/iron, /area/station/maintenance/tram/right) +"wiI" = ( +/obj/machinery/door/airlock/security/glass{ + name = "Brig"; + id_tag = "outerbrigleft" + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "brig_left" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig) "wiU" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65789,17 +66152,6 @@ }, /turf/open/floor/iron, /area/station/security/brig) -"wkd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "middleright_lower_eva_airlock_control"; - idInterior = "middleright_lower_eva_internal"; - idExterior = "middleright_lower_eva_external" - }, -/turf/open/floor/catwalk_floor, -/area/station/hallway/primary/tram/center) "wkg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65844,6 +66196,18 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"wkQ" = ( +/obj/machinery/door/airlock/hatch{ + name = "Vacant Commissary"; + id_tag = "vacant_space" + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "wkR" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -65889,6 +66253,24 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/carpet, /area/station/hallway/secondary/entry) +"wmy" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 5 + }, +/obj/machinery/button/door/directional/north{ + name = "Pharmacy Privacy Shutters Toggle"; + id = "pharmacy_shutters_2"; + req_access = list("pharmacy") + }, +/obj/structure/table/glass, +/obj/item/reagent_containers/dropper, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/reagent_containers/syringe, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "wmz" = ( /obj/structure/chair/stool/bar/directional/east, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -65933,15 +66315,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, /area/station/hallway/primary/tram/right) -"woy" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/shutters{ - name = "Mech Bay"; - dir = 4; - id = "mechbay" - }, -/turf/open/floor/plating, -/area/station/science/robotics/mechbay) "woB" = ( /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/iron/white/smooth_corner{ @@ -66039,26 +66412,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/courtroom) -"wqc" = ( -/obj/effect/turf_decal/trimline/neutral/filled/line, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/navbeacon{ - location = "TramLower16"; - codes_txt = "patrol;next_patrol=TramLower1" - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/white/warning{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/maintenance/tram/left) "wqf" = ( /obj/structure/table, /obj/structure/bedsheetbin, @@ -66094,18 +66447,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"wqB" = ( -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 8 - }, -/obj/machinery/camera{ - dir = 10; - c_tag = "Arrivals - Central Hall" - }, -/obj/machinery/vending/cigarette, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/hallway/secondary/entry) "wqY" = ( /obj/machinery/disposal/bin, /obj/effect/turf_decal/trimline/yellow/filled/line{ @@ -66135,16 +66476,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"wrF" = ( -/obj/structure/chair/comfy/brown{ - dir = 8; - color = "#c45c57"; - buildstackamount = 0 - }, -/obj/effect/landmark/start/detective, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/carpet, -/area/station/security/detectives_office) "wrJ" = ( /obj/structure/railing{ dir = 4; @@ -66153,24 +66484,6 @@ /obj/machinery/netpod, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) -"wrN" = ( -/obj/effect/turf_decal/trimline/green/filled/line{ - dir = 5 - }, -/obj/structure/table/glass, -/obj/machinery/requests_console/directional/east{ - name = "Virology Requests Console"; - department = "Virology" - }, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/item/storage/box/beakers{ - pixel_x = 2; - pixel_y = 2 - }, -/obj/item/storage/box/syringes, -/obj/structure/sign/clock/directional/north, -/turf/open/floor/iron/white, -/area/station/medical/virology) "wrT" = ( /obj/structure/table/glass, /obj/item/grenade/chem_grenade, @@ -66191,14 +66504,6 @@ /obj/effect/turf_decal/tile/yellow/fourcorners, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"wrW" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/button/door/directional/east{ - name = "Docking Access Control"; - id = "winkyface" - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "wsb" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/command_all, @@ -66207,18 +66512,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) -"wsh" = ( -/obj/effect/turf_decal/sand, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison"); - c_tag = "Security - Rec Room East" - }, -/turf/open/floor/iron, -/area/station/security/prison/workout) "wsq" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 1 @@ -66324,6 +66617,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/miningdock) +"wuC" = ( +/obj/structure/table, +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 8 + }, +/obj/structure/sign/calendar/directional/west, +/obj/machinery/fax{ + name = "Quartermaster's Fax Machine"; + fax_name = "Quartermaster's Office" + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "wuE" = ( /obj/structure/railing/corner{ dir = 4 @@ -66349,26 +66654,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/aisat_interior) -"wvf" = ( -/obj/structure/lattice/catwalk, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/button/door/directional/north{ - name = "Tunnel Access Shutters Toggle"; - id = "lefttunnel" - }, -/turf/open/floor/plating, -/area/station/maintenance/tram/left) -"wvB" = ( -/obj/machinery/power/solar_control{ - name = "Starboard Solar Control"; - id = "forestarboard" - }, -/obj/structure/cable, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/catwalk_floor, -/area/station/solars/starboard/fore) "wvG" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 1 @@ -66409,14 +66694,6 @@ /obj/item/gun/ballistic/shotgun/doublebarrel, /turf/open/floor/wood, /area/station/service/bar/backroom) -"wwh" = ( -/obj/machinery/camera/emp_proof{ - dir = 6; - network = list("ss13","engineering"); - c_tag = "Engineering - Atmospherics O2 Chamber" - }, -/turf/open/floor/engine/o2, -/area/station/engineering/atmos) "wwA" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/structure/closet/wardrobe/mixed, @@ -66590,6 +66867,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"wyT" = ( +/obj/modular_map_root/tramstation{ + name = "arrivalsecupper"; + key = "arrivalsecupper" + }, +/turf/open/misc/asteroid, +/area/station/asteroid) "wyX" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 @@ -66627,19 +66911,20 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron, /area/station/command/bridge) +"wzE" = ( +/obj/effect/turf_decal/trimline/yellow/warning{ + dir = 4 + }, +/obj/machinery/camera/directional/south{ + network = list("ss13","minisat"); + c_tag = "Secure - AI Minisat Chargebay" + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat/foyer) "wzJ" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, /area/station/maintenance/port/central) -"wzY" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - location = "QM #4"; - codes_txt = "delivery;dir=1" - }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/warehouse) "wAa" = ( /obj/effect/turf_decal/trimline/purple/filled/line{ dir = 4 @@ -66653,6 +66938,19 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"wAe" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/north{ + name = "Chemistry Desk"; + req_access = list("pharmacy") + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Pharmacy Shutters"; + id = "pharmacy_shutters_2" + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "wAh" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -66728,13 +67026,17 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, /area/station/commons/dorms) -"wBl" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/oxygen_output{ - dir = 8; - chamber_id = "o2ordance" +"wBp" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/lattice/catwalk, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + name = "Tunnel Access Shutters Toggle"; + id = "midtunnelright" }, -/turf/open/floor/engine/o2, -/area/station/science/ordnance/storage) +/turf/open/floor/plating, +/area/station/maintenance/tram/mid) "wBz" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/structure/cable, @@ -66841,18 +67143,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"wDH" = ( -/obj/machinery/conveyor_switch/oneway{ - name = "Unloading Conveyor"; - pixel_x = -13; - pixel_y = -4; - id = "QMLoad2" - }, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "wEl" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -66863,6 +67153,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"wEu" = ( +/obj/effect/turf_decal/trimline/blue/filled/line, +/obj/machinery/camera/directional/south{ + network = list("ss13","medbay"); + c_tag = "Medical - Main South-East" + }, +/obj/machinery/light/cold/directional/south, +/turf/open/floor/iron/white, +/area/station/medical/medbay/central) "wEx" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/structure/cable, @@ -66910,15 +67209,6 @@ }, /turf/open/floor/iron, /area/station/command/teleporter) -"wEW" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters K"; - id_tag = "private_k" - }, -/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/dorms) "wFf" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -66975,22 +67265,6 @@ }, /turf/open/floor/iron, /area/station/security/prison) -"wFY" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/keycard_auth{ - pixel_x = -6; - pixel_y = 8 - }, -/obj/machinery/button/door{ - name = "Bridge Blast Door Toggle"; - pixel_x = -7; - pixel_y = -2; - id = "bunkermodeactivated"; - req_access = list("command") - }, -/turf/open/floor/carpet, -/area/station/command/bridge) "wGg" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 1 @@ -67003,31 +67277,14 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"wGh" = ( -/obj/effect/decal/remains/human, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 8; - pixel_y = -32 +"wGk" = ( +/obj/machinery/camera/emp_proof{ + dir = 10; + network = list("ss13","engineering"); + c_tag = "Engineering - Chief Engineer's Office" }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = 4; - pixel_y = -32 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_y = -32 - }, -/obj/effect/decal/cleanable/crayon/i/orange{ - pixel_x = -4; - pixel_y = -32 - }, -/obj/effect/decal/cleanable/crayon/x{ - pixel_x = 4; - pixel_y = -32 - }, -/obj/item/clothing/shoes/clown_shoes, -/obj/item/clothing/mask/gas/clown_hat, -/turf/open/floor/plating, -/area/station/engineering/main) +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "wGy" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -67036,6 +67293,21 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/security/checkpoint/medical) +"wGA" = ( +/obj/machinery/door/poddoor/shutters/radiation/preopen{ + name = "Radiation Chamber Shutters"; + id = "engsm" + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable/layer1, +/obj/effect/turf_decal/trimline/yellow/arrow_cw{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/yellow/arrow_ccw, +/turf/open/floor/plating, +/area/station/engineering/supermatter) "wGE" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 @@ -67058,6 +67330,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"wGU" = ( +/obj/machinery/door/window/brigdoor/right/directional/east{ + name = "Medical Cell"; + id = "medcell"; + req_access = list("security") + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/medical) "wHr" = ( /obj/effect/turf_decal/trimline/dark_red/warning{ dir = 6 @@ -67156,6 +67443,14 @@ /obj/item/pillow/random, /turf/open/floor/wood, /area/station/commons/dorms) +"wJt" = ( +/obj/machinery/door/poddoor{ + name = "Secure Storage"; + id = "Secure Storage" + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "wJv" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -67169,24 +67464,6 @@ dir = 1 }, /area/station/command/bridge) -"wJE" = ( -/obj/structure/table/glass, -/obj/item/storage/backpack/duffelbag/sec/surgery{ - pixel_y = 5 - }, -/obj/item/clothing/mask/balaclava, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = 5 - }, -/obj/structure/sign/poster/official/do_not_question/directional/north, -/obj/machinery/button/flasher{ - pixel_x = -24; - pixel_y = -8; - id = "reeducation"; - req_access = list("brig") - }, -/turf/open/floor/iron/white, -/area/station/security/execution/education) "wJF" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67204,64 +67481,43 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/space/basic, /area/space/nearstation) -"wJZ" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 9 +"wJV" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 1 }, -/obj/machinery/newscaster/directional/north, -/obj/structure/disposalpipe/trunk{ - dir = 4 +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera/directional/north{ + network = list("ss13","Security"); + c_tag = "Departures - Security Outpost" }, -/obj/machinery/disposal/bin/tagger, +/obj/machinery/computer/records/security, /turf/open/floor/iron, -/area/station/engineering/main) +/area/station/security/checkpoint/escape) "wKf" = ( /obj/machinery/vending/cigarette, /obj/machinery/status_display/evac/directional/west, /turf/open/floor/wood, /area/station/command/meeting_room) +"wKk" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table/wood, +/obj/item/radio/intercom/directional/east, +/obj/machinery/fax{ + name = "Captain's Fax Machine"; + fax_name = "Captain's Office" + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/captain) "wKm" = ( /obj/item/radio/intercom/directional/east, /obj/effect/turf_decal/trimline/red/filled/corner, /turf/open/floor/iron/white, /area/station/security/execution/education) -"wKt" = ( -/obj/item/paper{ - name = "initiation paperwork"; - default_raw_text = "Congradulations, agent 'INSERT NAME HERE'! You have been assigned reconnaissance duty among the orbiting rocks of Indecipheres! As this location was previously scouted as a potential build site for a Nanotrasen outpost, one of our benefactors has taken the oppertunity to pre-emptively construct a listening outpost within the region! You have been tasked with monitoring the potentially active future crew and logging all events onboard. If you are a Nanotrasen official who has stumbled upon this outpost before it could be properly established: Please ignore this entire paper." - }, -/obj/machinery/computer/records/medical/syndie{ - dir = 1; - req_access = list("syndicate") - }, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room) -"wKN" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez6" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) "wKP" = ( /obj/machinery/holopad, /obj/effect/landmark/event_spawn, /turf/open/floor/carpet, /area/station/service/chapel) -"wKR" = ( -/obj/structure/rack, -/obj/machinery/camera/directional/north{ - network = list("ss13","Security"); - c_tag = "Security - Armory" - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/cable, -/obj/effect/spawner/random/armory/e_gun, -/turf/open/floor/iron, -/area/station/ai_monitored/security/armory) "wLd" = ( /obj/structure/chair/sofa/corp/right{ dir = 1 @@ -67286,32 +67542,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/checker, /area/station/commons/lounge) -"wLt" = ( -/obj/machinery/button/door/directional/east{ - pixel_y = -10; - id = "offstationaccess" - }, -/obj/effect/turf_decal/stripes/corner, -/obj/structure/table, -/obj/item/paper/pamphlet/gateway{ - pixel_x = -1; - pixel_y = 3 - }, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/item/paper/pamphlet/gateway{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/paper/pamphlet/gateway{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) "wLx" = ( /obj/machinery/computer/station_alert{ dir = 8 @@ -67348,16 +67578,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/left) -"wMp" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "External Waste Ports to Filter"; - dir = 4 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "wMt" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 1 @@ -67455,6 +67675,21 @@ /obj/effect/turf_decal/stripes/white/full, /turf/open/floor/iron/white/side, /area/station/science/lobby) +"wNY" = ( +/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) "wOb" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 9 @@ -67494,13 +67729,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/courtroom/holding) -"wOI" = ( -/obj/modular_map_root/tramstation{ - name = "cargoscilower"; - key = "cargoscilower" - }, -/turf/open/misc/asteroid, -/area/station/asteroid) "wOU" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/machinery/disposal/bin, @@ -67555,24 +67783,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) -"wPS" = ( -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "mostleft_lower_lower_eva_internal"; - autoclose = 0 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = 24; - idSelf = "mostleft_lower_lower_eva_airlock_control"; - idDoor = "mostleft_lower_lower_eva_internal" - }, -/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/tram/left) "wQm" = ( /turf/open/floor/iron, /area/station/engineering/atmos) @@ -67634,19 +67844,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"wRN" = ( -/obj/structure/table, -/obj/item/radio/intercom/prison/directional/east, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/machinery/camera{ - dir = 6; - network = list("ss13","Security","prison","pcell"); - c_tag = "Security - Prison Cell 4" - }, -/turf/open/floor/iron, -/area/station/security/prison/safe) "wRR" = ( /obj/structure/dresser, /turf/open/floor/iron/white, @@ -67687,23 +67884,6 @@ }, /turf/open/floor/iron/white, /area/station/commons/vacant_room) -"wSO" = ( -/obj/structure/table/reinforced, -/obj/structure/desk_bell{ - pixel_x = -7 - }, -/obj/machinery/door/poddoor/shutters/preopen{ - name = "Pharmacy Shutters"; - dir = 4; - id = "pharmacy_shutters_2" - }, -/obj/machinery/door/firedoor, -/obj/machinery/door/window/left/directional/east{ - name = "Chemistry Desk"; - req_access = list("pharmacy") - }, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "wSS" = ( /obj/structure/weightmachine, /turf/open/floor/iron, @@ -67721,18 +67901,16 @@ /obj/structure/sink/directional/south, /turf/open/floor/iron/white, /area/station/medical/virology) -"wTI" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door_buttons/airlock_controller{ - name = "External Access Console"; - pixel_y = -24; - idSelf = "rightmost_lower_upper_eva_airlock_control"; - idInterior = "rightmost_lower_upper_eva_internal"; - idExterior = "rightmost_lower_upper_eva_external" +"wTy" = ( +/obj/machinery/button/crematorium{ + pixel_y = -26; + id = "crematoriumChapel" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/tram/right) +/obj/machinery/camera/directional/south{ + c_tag = "Civilian - Chapel Crematorium" + }, +/turf/open/floor/iron/dark, +/area/station/service/chapel/office) "wTP" = ( /obj/structure/bodycontainer/morgue/beeper_off, /obj/structure/window/reinforced/spawner/directional/south, @@ -67766,30 +67944,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/tram, /area/station/hallway/primary/tram/center) -"wVE" = ( -/obj/structure/rack, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 6 +"wUL" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/fax{ + name = "Law Office Fax Machine"; + fax_name = "Law Office" }, -/obj/structure/rack, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/wallframe/camera, -/obj/item/wallframe/camera, -/obj/item/wallframe/camera, -/obj/item/wallframe/camera, -/obj/item/assault_pod/mining, -/obj/machinery/button/door/directional/south{ - name = "Public Shutters Control"; - id = "aux_base_shutters"; - req_access = list("aux_base") - }, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) +/obj/structure/table/wood, +/turf/open/floor/wood, +/area/station/service/lawoffice) "wVV" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 5 @@ -67803,6 +67966,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) +"wWe" = ( +/obj/structure/chair/comfy/black, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/wood, +/area/station/command/meeting_room) "wWh" = ( /obj/machinery/vending/cola/blue, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -67811,6 +67981,20 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit) +"wWn" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door_buttons/airlock_controller{ + name = "External Access Console"; + pixel_y = 24; + idSelf = "middleleft_upper_eva_airlock_control"; + idInterior = "middleleft_upper_eva_internal"; + idExterior = "middleleft_upper_eva_external" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/catwalk_floor, +/area/station/hallway/primary/tram/center) "wWu" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 5 @@ -67861,6 +68045,17 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"wXB" = ( +/obj/machinery/vending/assist, +/obj/machinery/requests_console/directional/east{ + name = "Tool Department Requests Console"; + department = "Tool Storage" + }, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "wXC" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -67880,12 +68075,38 @@ "wXM" = ( /turf/open/floor/carpet, /area/station/commons/vacant_room/office) +"wXO" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "N2 to Pure"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "wXP" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"wXQ" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 6 + }, +/obj/machinery/atmospherics/components/binary/pump{ + name = "O2 to Pure"; + dir = 1 + }, +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "wYw" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, @@ -67922,14 +68143,6 @@ }, /turf/open/floor/iron, /area/station/engineering/break_room) -"wYT" = ( -/mob/living/simple_animal/bot/floorbot, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat/maint) "wYX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -68041,15 +68254,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, /area/station/medical/virology) -"xbv" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 5 - }, -/obj/machinery/shower/directional/west, -/obj/effect/turf_decal/box, -/obj/structure/fluff/shower_drain, -/turf/open/floor/iron/white, -/area/station/medical/pharmacy) "xbw" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -68059,6 +68263,23 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/command/bridge) +"xbN" = ( +/obj/structure/table/reinforced, +/obj/structure/desk_bell{ + pixel_x = -7 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + name = "Pharmacy Shutters"; + dir = 4; + id = "pharmacy_shutters_2" + }, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/left/directional/east{ + name = "Chemistry Desk"; + req_access = list("pharmacy") + }, +/turf/open/floor/iron/white, +/area/station/medical/pharmacy) "xbT" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner{ dir = 8 @@ -68115,24 +68336,6 @@ /obj/structure/railing, /turf/open/floor/iron, /area/station/cargo/miningfoundry) -"xdn" = ( -/obj/machinery/camera{ - dir = 10; - c_tag = "Hallway - Port Tram Platform South-West" - }, -/obj/structure/extinguisher_cabinet/directional/west, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/white/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/tram/left) "xdw" = ( /obj/machinery/portable_atmospherics/scrubber, /turf/open/floor/iron/dark, @@ -68146,6 +68349,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"xdC" = ( +/obj/machinery/camera{ + dir = 10; + c_tag = "Secure - Gravity Generator" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/gravity_generator) "xdF" = ( /obj/effect/turf_decal/trimline/brown/filled/corner, /obj/effect/turf_decal/trimline/neutral/filled/line, @@ -68209,6 +68422,18 @@ }, /turf/open/floor/iron, /area/station/security/checkpoint/science) +"xeE" = ( +/obj/machinery/navbeacon{ + name = "navigation beacon (Security Delivery)"; + location = "Security"; + codes_txt = "delivery;dir=8" + }, +/obj/effect/turf_decal/loading_area{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/department/security) "xeG" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68235,6 +68460,17 @@ /obj/structure/cable, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"xfx" = ( +/obj/machinery/computer/atmos_alert{ + dir = 8 + }, +/obj/machinery/button/door/directional/east{ + name = "Atmospherics Lockdown"; + id = "atmos"; + req_access = list("atmospherics") + }, +/turf/open/floor/iron, +/area/station/engineering/atmos) "xfH" = ( /turf/open/floor/glass, /area/station/commons/lounge) @@ -68299,16 +68535,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"xgU" = ( -/obj/machinery/atmospherics/components/binary/valve{ - name = "Output to Waste"; - dir = 4 - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xgZ" = ( /obj/structure/table/reinforced, /obj/machinery/light/cold/directional/west, @@ -68416,14 +68642,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/engine_smes) -"xjv" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/machinery/door/poddoor/preopen{ - name = "Xenobiology Containment Blast Door"; - id = "containdeez7" - }, -/turf/open/floor/plating, -/area/station/science/xenobiology) "xjx" = ( /obj/structure/table, /obj/item/assembly/signaler{ @@ -68480,17 +68698,6 @@ /obj/machinery/light/dim/directional/west, /turf/open/floor/iron/dark, /area/station/science/lower) -"xkp" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/corner, -/obj/machinery/button/door/directional/east{ - name = "Cargo Warehouse Shutters"; - id = "cargowarehouse" - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "xks" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -68566,6 +68773,15 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) +"xlX" = ( +/obj/machinery/door/airlock{ + name = "Private Quarters K"; + id_tag = "private_k" + }, +/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/dorms) "xlZ" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/dim/directional/south, @@ -68627,16 +68843,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/security/prison) -"xmN" = ( -/obj/structure/table/reinforced, -/obj/item/surgical_drapes, -/obj/item/cautery, -/obj/machinery/camera/directional/south{ - network = list("ss13","rd"); - c_tag = "Science - Robotics Surgery" - }, -/turf/open/floor/iron/white, -/area/station/science/robotics/lab) "xmR" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -68656,17 +68862,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) -"xnh" = ( -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/obj/effect/turf_decal/arrows/white{ - dir = 4; - color = "#0000FF" - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/engineering/atmospherics_engine) "xnH" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/landmark/navigate_destination/dockaux, @@ -68676,35 +68871,6 @@ "xnI" = ( /turf/open/floor/iron, /area/station/maintenance/tram/left) -"xnK" = ( -/obj/structure/railing{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin/tagger, -/turf/open/floor/iron/dark, -/area/station/command/bridge) -"xnQ" = ( -/obj/machinery/door/airlock/maintenance_hatch{ - name = "Recreation Area Maintenance Hatch" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/unres, -/obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/modular_map_root/tramstation{ - name = "dormmedupper"; - key = "dormmedupper" - }, -/turf/open/floor/catwalk_floor, -/area/station/maintenance/department/crew_quarters/dorms) "xnS" = ( /obj/machinery/door/airlock/highsecurity{ name = "AI Upload Access" @@ -68776,24 +68942,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"xoZ" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay"; - id_tag = "MedbayFoyer" - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 8 - }, -/obj/effect/mapping_helpers/airlock/unres, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "xpb" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -68844,16 +68992,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"xqE" = ( -/obj/structure/showcase/cyborg/old{ - pixel_y = 20 - }, -/obj/machinery/camera/motion/directional/north{ - network = list("aicore"); - c_tag = "Secure - AI Core North" - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai) "xqO" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/chem_heater/withbuffer, @@ -68864,29 +69002,17 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"xqP" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 4 - }, -/obj/machinery/atmospherics/components/binary/pump/on{ - name = "Air to External Air Ports"; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "xqY" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) "xrf" = ( -/obj/vehicle/sealed/mecha/ripley/cargo, -/obj/machinery/requests_console/directional/north{ - name = "Cargo Bay Requests Console"; - department = "Cargo Bay" - }, -/turf/open/floor/iron, -/area/station/cargo/storage) +/obj/structure/fluff/shower_drain, +/obj/machinery/duct, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/freezer, +/area/station/commons/toilet) "xrl" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -68927,28 +69053,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) -"xrO" = ( -/obj/machinery/computer/security/qm{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 8 - }, -/obj/machinery/requests_console/directional/west{ - name = "Quartermaster's Requests Console"; - department = "Quartermaster's Desk" - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/ore_update, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/camera{ - dir = 10; - network = list("ss13","cargo"); - c_tag = "Cargo - Quartermaster's Office" - }, -/obj/machinery/light/warm/directional/west, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "xsg" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, @@ -69060,13 +69164,6 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/iron/dark, /area/station/commons/vacant_room/commissary) -"xtz" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Port to Filter"; - dir = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/atmos) "xtD" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/brown/filled/line{ @@ -69249,6 +69346,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/science/lower) +"xxv" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/machinery/camera{ + dir = 6; + network = list("ss13","Security","prison"); + c_tag = "Security - Prison Block South" + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/prison/safe) "xxW" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 9 @@ -69308,15 +69419,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"xzl" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters I"; - id_tag = "private_i" - }, -/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/dorms) "xzn" = ( /obj/structure/closet/secure_closet/security/engine, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -69361,6 +69463,17 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"xAc" = ( +/obj/machinery/door/airlock/centcom{ + name = "Syndicate Secure Airlock System"; + desc = "Truly, a marvel of modern engineering." + }, +/obj/effect/mapping_helpers/airlock/access/all/syndicate/general, +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/turf/open/floor/iron/herringbone, +/area/station/commons/vacant_room) "xAe" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 4 @@ -69428,6 +69541,15 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"xAM" = ( +/obj/machinery/elevator_control_panel{ + layer = 3.1; + pixel_y = 2; + linked_elevator_id = "tram_xeno_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/turf/closed/wall/r_wall, +/area/station/science/xenobiology) "xAR" = ( /obj/machinery/door/airlock/security{ name = "Prison Workshop" @@ -69463,6 +69585,20 @@ "xBk" = ( /turf/closed/wall, /area/station/medical/storage) +"xBA" = ( +/obj/structure/transport/linear/public, +/obj/machinery/elevator_control_panel/directional/west{ + linked_elevator_id = "tram_sci_lift"; + preset_destination_names = list("2"="Lower Deck", "3"="Upper Deck") + }, +/obj/effect/turf_decal/trimline/dark_red/warning{ + dir = 9 + }, +/obj/structure/railing{ + dir = 9 + }, +/turf/open/floor/plating/elevatorshaft, +/area/station/science/lower) "xBC" = ( /obj/structure/chair/office{ dir = 1 @@ -69574,18 +69710,6 @@ "xEo" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/captain) -"xEq" = ( -/obj/machinery/power/smes/engineering, -/obj/structure/sign/warning/electric_shock/directional/west, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - SMES" - }, -/obj/structure/cable, -/obj/machinery/light/directional/west, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) "xEv" = ( /obj/machinery/door/airlock/command/glass{ name = "Bridge" @@ -69664,33 +69788,6 @@ "xFx" = ( /turf/open/floor/iron, /area/station/commons/fitness) -"xFI" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/structure/railing{ - dir = 4 - }, -/obj/effect/landmark/start/depsec/supply, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 5 - }, -/obj/machinery/requests_console/directional/north{ - name = "Security Requests Console"; - department = "Security" - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) -"xGu" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/shower/directional/west, -/obj/effect/turf_decal/bot, -/obj/structure/fluff/shower_drain, -/obj/effect/turf_decal/tile/purple/fourcorners, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "xGw" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock" @@ -69701,18 +69798,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/brig, /turf/open/floor/plating, /area/station/security/processing) -"xGR" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/table, -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/button/door{ - name = "Cell Containment Toggle Button"; - id = "containdeez5" - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "xGX" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -69727,20 +69812,6 @@ /obj/structure/chair/office/tactical, /turf/open/floor/iron/dark, /area/station/medical/morgue) -"xHy" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/machinery/button/door/directional/west{ - name = "Lock Control"; - id = "Toilet4"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/effect/landmark/blobstart, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "xHB" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -69766,14 +69837,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood, /area/station/command/meeting_room) -"xIr" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/atmospherics/components/binary/pump{ - name = "External Gas to Loop"; - dir = 1 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "xIL" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -69877,16 +69940,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/closed/wall, /area/station/maintenance/disposal/incinerator) -"xKW" = ( -/obj/structure/table/reinforced, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/machinery/computer/security/telescreen{ - name = "Test Chamber Monitor"; - pixel_y = 2; - network = list("xeno") +"xKR" = ( +/obj/machinery/button/door/directional/west{ + name = "Privacy Bolts"; + pixel_y = 9; + id = "private_q"; + specialfunctions = 4; + normaldoorcontrol = 1 }, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/commons/dorms) "xLh" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 10 @@ -69938,6 +70002,19 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/security/brig) +"xMe" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/closet/l3closet/scientist, +/obj/machinery/camera/directional/west{ + network = list("ss13","rd"); + c_tag = "Science - Xenobiology Airlock" + }, +/obj/effect/turf_decal/tile/purple/fourcorners, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "xMg" = ( /obj/machinery/suit_storage_unit/standard_unit, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -70045,6 +70122,16 @@ }, /turf/open/floor/iron/white, /area/station/science/lower) +"xNl" = ( +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/table/wood, +/obj/machinery/fax{ + name = "Head of Personnel's Fax Machine"; + fax_name = "Head of Personnel's Office" + }, +/obj/machinery/light/warm/directional/north, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/hop) "xNm" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /turf/open/floor/iron, @@ -70150,19 +70237,6 @@ /obj/machinery/telecomms/bus/preset_four, /turf/open/floor/iron/dark/telecomms, /area/station/tcommsat/server) -"xPx" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/machinery/button/door/directional/west{ - name = "Lock Control"; - id = "Toilet5"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "xPB" = ( /obj/effect/turf_decal/siding/thinplating/corner{ dir = 8 @@ -70215,17 +70289,6 @@ }, /turf/open/floor/glass/reinforced, /area/station/command/heads_quarters/rd) -"xQu" = ( -/obj/machinery/button/door/directional/west{ - name = "Lock Control"; - id = "Toilet6"; - specialfunctions = 4; - normaldoorcontrol = 1 - }, -/obj/machinery/recharge_station, -/obj/machinery/light/small/dim/directional/east, -/turf/open/floor/iron/freezer, -/area/station/commons/toilet) "xQv" = ( /turf/closed/wall/r_wall, /area/station/construction/mining/aux_base) @@ -70328,6 +70391,16 @@ /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"xSz" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/structure/disposalpipe/trunk{ + dir = 2 + }, +/obj/machinery/disposal/bin/tagger, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "xSD" = ( /obj/structure/chair/office/light{ dir = 8 @@ -70445,23 +70518,6 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/iron, /area/station/maintenance/tram/mid) -"xVb" = ( -/obj/machinery/door/airlock/research{ - name = "Research Division Access" - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 8 - }, -/obj/machinery/door/poddoor/preopen{ - name = "Research Lockdown Blastdoor"; - id = "Sciencelockdown" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/iron/white/side, -/area/station/science/research) "xVp" = ( /obj/structure/cable, /turf/open/floor/wood, @@ -70481,21 +70537,20 @@ }, /turf/open/floor/iron/white, /area/station/science/ordnance) -"xVy" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/window/brigdoor/left/directional/east{ - name = "Medical Delivery Chute" +"xVE" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "N2O Outlet Pump"; + dir = 8 }, -/obj/machinery/navbeacon{ - name = "navigation beacon (Medical Delivery)"; - location = "Medical"; - codes_txt = "delivery;dir=4" +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 5 }, -/obj/effect/turf_decal/loading_area{ - dir = 4 +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 5 }, -/turf/open/floor/plating, -/area/station/medical/storage) +/obj/machinery/atmospherics/pipe/bridge_pipe/green/visible, +/turf/open/floor/iron, +/area/station/engineering/atmos) "xVF" = ( /obj/structure/table/glass, /obj/item/book/manual/wiki/cytology{ @@ -70561,15 +70616,6 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) -"xWp" = ( -/obj/machinery/door/airlock{ - name = "Private Quarters B"; - id_tag = "private_b" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/commons/dorms) "xWu" = ( /obj/machinery/status_display/shuttle, /turf/closed/wall, @@ -70599,40 +70645,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/prison/safe) -"xXw" = ( -/obj/machinery/camera{ - dir = 6; - c_tag = "Arrivals - Lounge" - }, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 2 - }, -/turf/open/floor/iron/grimy, -/area/station/hallway/secondary/entry) "xXC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"xXE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/door/airlock/external{ - name = "External Access"; - frequency = 1449; - id_tag = "middleright_lower_lower_eva_internal"; - autoclose = 0 - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/machinery/door_buttons/access_button{ - name = "External Access Button"; - pixel_x = 24; - idSelf = "middleright_lower_lower_eva_airlock_control"; - idDoor = "middleright_lower_lower_eva_internal" - }, -/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/tram/mid) "xXL" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -70682,16 +70698,15 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"xZa" = ( -/mob/living/simple_animal/bot/mulebot, -/obj/effect/turf_decal/delivery, -/obj/machinery/navbeacon{ - location = "QM #6"; - codes_txt = "delivery;dir=1" +"xYZ" = ( +/mob/living/basic/bot/cleanbot, +/obj/effect/turf_decal/stripes/line{ + dir = 8 }, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron, -/area/station/cargo/warehouse) +/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/ai_monitored/turret_protected/aisat/maint) "xZi" = ( /obj/structure/chair/comfy/beige{ dir = 8 @@ -70711,26 +70726,6 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, /area/station/science/ordnance) -"xZt" = ( -/obj/structure/table, -/obj/machinery/requests_console/directional/west{ - name = "Kitchen Requests Console"; - department = "Kitchen" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/machinery/reagentgrinder{ - pixel_x = -5; - pixel_y = 8 - }, -/obj/item/reagent_containers/cup/rag{ - pixel_x = 6; - pixel_y = 5 - }, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/service/kitchen) "xZx" = ( /obj/machinery/power/terminal{ dir = 1 @@ -70802,25 +70797,6 @@ /obj/effect/landmark/navigate_destination/minisat_access_ai, /turf/open/floor/iron/dark, /area/station/science/lower) -"yan" = ( -/obj/structure/table, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/clothing/gloves/color/yellow, -/obj/item/storage/box/lights/mixed, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/cell/emproof, -/obj/item/stock_parts/cell/emproof, -/obj/machinery/camera/emp_proof{ - dir = 10; - network = list("ss13","engineering"); - c_tag = "Engineering - SMES Misc" - }, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "yar" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -70839,15 +70815,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/command/heads_quarters/rd) -"yaI" = ( -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen{ - name = "Research Director's Shutters"; - id = "rdoffice" - }, -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/command/heads_quarters/rd) "ybc" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/delivery/white{ @@ -70961,10 +70928,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) -"ycO" = ( -/obj/effect/turf_decal/siding/wood/corner, -/turf/open/floor/wood, -/area/station/command/meeting_room) "ycV" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line, @@ -71027,6 +70990,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/commons/dorms) +"yeg" = ( +/obj/machinery/atmospherics/components/binary/pump{ + name = "Atmos to Loop"; + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "yei" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible/layer2{ dir = 8 @@ -71034,16 +71009,6 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"yeA" = ( -/obj/structure/closet/secure_closet/brig{ - name = "Medical Cell Locker"; - id = "medcell" - }, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 9 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/medical) "yeB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -71055,6 +71020,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"yeG" = ( +/obj/structure/filingcabinet/security, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 8 + }, +/obj/machinery/button/door/directional/west{ + name = "Outer Brig Left Door Access"; + pixel_y = -8; + id = "outerbrigleft"; + req_access = list("security"); + normaldoorcontrol = 1 + }, +/obj/machinery/button/door/directional/west{ + name = "Inner Brig Left Door Access"; + pixel_y = 8; + id = "innerbrigleft"; + req_access = list("security"); + normaldoorcontrol = 1 + }, +/turf/open/floor/iron, +/area/station/security/brig) "yeN" = ( /obj/structure/closet/secure_closet/medical3, /obj/item/clothing/glasses/hud/health, @@ -71110,19 +71096,26 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"yfJ" = ( -/obj/machinery/camera{ - dir = 6; - c_tag = "Arrivals - North Docking Hall" - }, -/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/tile/blue{ - dir = 4 +"yfU" = ( +/obj/item/kirbyplants/random, +/obj/machinery/camera/directional/south{ + network = list("ss13","rd"); + c_tag = "Science - Ordnance Storage" }, /turf/open/floor/iron, -/area/station/hallway/secondary/entry) +/area/station/science/ordnance/storage) +"yfY" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/table, +/obj/machinery/button/door{ + name = "Cell Containment Toggle Button"; + id = "containdeez6" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "ygi" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 8 @@ -71162,6 +71155,26 @@ }, /turf/open/floor/wood, /area/station/service/bar/backroom) +"ygP" = ( +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/button/door/directional/north{ + name = "Tram Maintenance Dock Access"; + pixel_x = -8; + id = "trammaintdock" + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/white/warning, +/obj/machinery/light/small/dim/directional/north, +/turf/open/floor/iron, +/area/station/maintenance/tram/left) "ygR" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -71241,15 +71254,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/checkpoint/arrivals) -"yiH" = ( -/obj/machinery/door/airlock/engineering/glass/critical{ - name = "Supermatter Chamber"; - heat_proof = 1 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/effect/mapping_helpers/airlock/access/all/engineering/general, -/turf/open/floor/engine, -/area/station/engineering/supermatter) "yiI" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 @@ -71342,14 +71346,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/crew_quarters/dorms) -"yjI" = ( -/obj/docking_port/stationary/random{ - name = "lavaland"; - dir = 8; - shuttle_id = "pod_3_lavaland" - }, -/turf/open/misc/asteroid/airless, -/area/station/asteroid) "yjN" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -71385,6 +71381,21 @@ /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 @@ -71402,14 +71413,6 @@ "ykP" = ( /turf/open/floor/noslip/tram, /area/station/hallway/primary/tram/center) -"ykQ" = ( -/obj/machinery/atmospherics/components/binary/pump{ - name = "Mix to Engine"; - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/engineering/atmos) "ykR" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71435,6 +71438,14 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/tram/right) +"ylt" = ( +/obj/machinery/camera/motion{ + dir = 10; + network = list("aicore"); + c_tag = "Secure - AI Upper External East" + }, +/turf/open/space/openspace, +/area/space/nearstation) "ylw" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 1 @@ -71455,17 +71466,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/security/execution/transfer) -"ylE" = ( -/obj/machinery/camera{ - dir = 9; - network = list("ss13","Security"); - c_tag = "Security - Detective's Office" - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/light/warm/directional/north, -/turf/open/floor/iron/grimy, -/area/station/security/detectives_office) "ylF" = ( /obj/structure/railing{ dir = 1 @@ -76063,7 +76063,7 @@ aaa aaa gcp gcp -lhC +tkp auz gcp gcp @@ -77095,7 +77095,7 @@ agF agz gNy auz -keE +xAc gcp gcp gcp @@ -77609,8 +77609,8 @@ knl nim vIM auz -jFU -qPD +rLB +vBB plz gcp aaa @@ -82396,25 +82396,25 @@ aac aac aac aac -rPT +iOo aac aac aac aac aac -mRc +kJy aac aac aac aac aac -yjI +wgR aac aac aac aac aac -qwe +rYO aac aac aac @@ -83395,7 +83395,7 @@ aaa aaa aaa gfK -wJE +niS woB fYf jkR @@ -84222,7 +84222,7 @@ apC abM apC thi -sUE +xrf alT amr alT @@ -84233,7 +84233,7 @@ kMD alT amr alT -sUE +xrf pAv apC abM @@ -84424,9 +84424,9 @@ jWs cuM uUD cWF -gfE +ldu ajM -jvD +hBs cWF udO lrq @@ -85195,9 +85195,9 @@ jWs cuM uUD cWF -kBX +dmT eTl -iJt +maI cWF udO lrq @@ -85251,16 +85251,16 @@ abM abM abM apC -aJl -lPd +nmk +ffE hAD hAD veV veV kMD hAD -eSB -xHy +rlX +oEl apC abM abM @@ -85765,16 +85765,16 @@ abM abM abM apC -oyo -njN +paH +iCe hAD hAD veV veV kMD hAD -rjO -xPx +qYx +rgT apC abM abM @@ -86274,21 +86274,21 @@ sOP sOP sOP sOP -gNU +kgw abM abM abM apC -nAb -bGa +lYZ +lMw hAD hAD hAD hAD hAD hAD -rdL -xQu +rdk +bYe apC abM abM @@ -86741,7 +86741,7 @@ jWs jvE eLB abU -aci +uHD acv acH sXc @@ -87003,7 +87003,7 @@ jWs lDo ucA crX -dFL +juY cEF jWs aaa @@ -87043,26 +87043,26 @@ cYe qCf pZW uof -lmz +tJB toy elr wSm -biD +rem bPz elr uof -oTm +nay toy elr bZi fGr elr bPz -ejI +bop oeP elr toy -sOb +nvo oir elr vyR @@ -87301,24 +87301,24 @@ jAk pZW elr elr -jWV +kFT elr elr elr -qDU +iaE elr elr elr -hFU +jYF elr bZi rnn elr -qTr +rOm elr elr elr -xWp +qTp elr elr elr @@ -87514,7 +87514,7 @@ mXD jiF fea jWs -twK +qnU amU amM jWs @@ -87579,21 +87579,21 @@ mYn sbD wbS why -kty -uoh +lEW +kkn jiz apC abM aaa aac aac -kKU +aek jcT jcT jcT jcT ncE -kKU +aek pHM pHM pHM @@ -87799,7 +87799,7 @@ abM abM abM aaa -dfN +nDm xRl uzX qQq @@ -88014,7 +88014,7 @@ lFk lFk lFk mAB -gtg +mbk nQB qDd xcd @@ -88026,12 +88026,12 @@ iqg fZX vWu oEN -bUN +atV sAI uqj abo foy -gZA +lvg dSe llf jPP @@ -88058,7 +88058,7 @@ abM abM pZW ncF -iUA +eye fwJ qQq qQq @@ -88102,11 +88102,11 @@ aaa aac aac aac -kKU +aek ncE jcT jcT -kKU +aek aac aac vXM @@ -88293,7 +88293,7 @@ cQD mgS bLk edg -bLC +smV oVM aaa aaa @@ -88564,13 +88564,13 @@ pZW abM abM pZW -puG +eYZ sbV uDI nUt kRW kau -cQm +ahR pZW spq qQq @@ -88582,19 +88582,19 @@ twF ncF elr elr -xzl +aql elr elr elr -gwJ +eCR elr elr elr -jfO +fFi apC fii apC -fhe +awh wBc nhL npe @@ -88615,13 +88615,13 @@ aaa aaa aac aac -kKU +aek jcT jcT jcT jcT jcT -kKU +aek aac aac vXM @@ -88838,15 +88838,15 @@ dlZ oRE ncF fOs -qSy +ajc toy elr pKZ -tYM +ajy bPz elr fOs -tKR +ala toy apC eAE @@ -89304,11 +89304,11 @@ lFk lFk jZM fls -mFR +oWB gvI eBy fqn -buZ +jAF gvI pAR hst @@ -89387,13 +89387,13 @@ aaa aaa aac aac -kKU +aek ncE ncE ncE jcT jcT -kKU +aek pHM pHM pHM @@ -89902,11 +89902,11 @@ aaa aaa aac aac -kKU +aek ncE ncE ncE -kKU +aek aac aac vXM @@ -90093,14 +90093,14 @@ tgN uld hPW rUR -rNi +aeT xtZ wsA ptg mdq jYf rUR -pcd +jll byn jFR lQM @@ -90415,13 +90415,13 @@ aaa aaa aac aac -kKU +aek jcT jcT jcT jcT ncE -kKU +aek aac vXM vXM @@ -90615,7 +90615,7 @@ rUR aaa rUR pnp -lyG +oQO lQM abM abM @@ -90894,15 +90894,15 @@ dlZ lyV ncF fOs -ioA +aje toy elr pKZ -dna +ajz bPz elr fOs -egI +alb toy apC lgu @@ -91119,7 +91119,7 @@ ptU dhL lDW fAY -hzd +cgD rhP kLz aaa @@ -91139,10 +91139,10 @@ sUf sUf sUf aqf -jBF +cOe ahV pZW -gfJ +ygP qQq qQq hvm @@ -91152,15 +91152,15 @@ lyV ncF elr elr -bnX +dhg elr elr elr -wEW +xlX elr elr elr -jEE +kXZ apC pbL apC @@ -91187,13 +91187,13 @@ aaa aac aac aac -kKU +aek jcT jcT jcT jcT ncE -kKU +aek aac vXM vXM @@ -91393,13 +91393,13 @@ abM pZW pZW pZW -qqT +mBo uss xir uwf pyW jHd -bQS +acC qQq qQq hvm @@ -91612,7 +91612,7 @@ lFk lFk lFk lFk -wsh +hiG kre kUu aaK @@ -91629,7 +91629,7 @@ rmm fdr ubC pJG -jrm +eBI oEN aaa aaa @@ -91662,7 +91662,7 @@ qQq hvm qQq fid -wqc +dmR ncF ncF tgj @@ -91702,11 +91702,11 @@ aac aac aac aac -kKU +aek jcT jcT jcT -kKU +aek aac aac vXM @@ -91914,7 +91914,7 @@ pZW ncF ncF ncF -wvf +cjS teQ hvm teQ @@ -92127,15 +92127,15 @@ bhr kPC bhr isW -ibP +sfX iUv gah isW -bRF +szd qvl aaL isW -hZj +jmY qvl aaL isW @@ -92170,13 +92170,13 @@ aaa ncF ncF aRx -qyT +ujm xAi kbF kIE kbF eYM -wPS +kUN aRx ncF ncF @@ -92205,8 +92205,8 @@ tVv azd aSM fLO -dGt -jrC +cbn +blN jiz apC abM @@ -92215,13 +92215,13 @@ aaa aac aac aac -kKU +aek jcT jcT jcT jcT ncE -kKU +aek pHM pHM pHM @@ -92445,20 +92445,20 @@ vay elr elr elr -ubp +gFI elr elr elr -uFF +mHP elr mJi glY elr -msK +uLn elr elr elr -mXF +mkq elr elr elr @@ -92642,20 +92642,20 @@ xwf xwf pxW isW -nGQ +bWD isW isW isW -bwa +hLx isW isW isW -tDH +hss isW isW ydu pDu -hWo +adn nhm eHG ohr @@ -92683,7 +92683,7 @@ aaa aaa ncF ewh -egw +uJf ncF acP acP @@ -92691,7 +92691,7 @@ acZ acP acP ncF -jrd +mdI ewh ncF nJr @@ -92701,22 +92701,22 @@ elr vay elr wSm -hKU +vjo bPz elr uof -sTe +jwq toy elr wsZ glY elr bPz -knx +oar oeP elr toy -fUA +xKR oir elr vyR @@ -92995,11 +92995,11 @@ jcT jcT jcT aac -kKU +aek pHM pHM pHM -fkO +rWa vXM vXM vXM @@ -93154,7 +93154,7 @@ bMV nMu vzY xwf -fsk +jdt aaz xfd uFB @@ -93165,7 +93165,7 @@ aaz aaz uFB xfd -gbo +xxv cNl epF wkp @@ -93197,7 +93197,7 @@ aaa aaa ncF ncF -tvF +qfD ncF abM abM @@ -93205,12 +93205,12 @@ ada abM abM ncF -ejM +hUY ncF ncF tit uyL -dab +bET elr elr elr @@ -93254,16 +93254,16 @@ jcT aac jcT vXM -fkO +rWa vXM qdd pHM pHM -fkO +rWa pHM pHM pHM -fkO +rWa vXM vXM vXM @@ -93413,15 +93413,15 @@ vzY xwf pxW isW -iUB +eam isW isW isW -uWs +rSp isW isW isW -cgo +drE isW isW abV @@ -93518,16 +93518,16 @@ vXM vXM oQf vXM -fkO +rWa vXM qdd pHM pHM -fkO +rWa pHM pHM pHM -fkO +rWa pHM pHM pHM @@ -93760,7 +93760,7 @@ mKe ppQ gAC eqJ -puA +muV lst dMv aST @@ -93782,7 +93782,7 @@ vXM vXM oQf vXM -fkO +rWa vXM oQf vXM @@ -93926,15 +93926,15 @@ abM abM abM xwf -bkU +gSa iVt aaM isW -wRN +lTm iVt aaM isW -fSD +hOS giZ aaM isW @@ -94282,7 +94282,7 @@ ncE aac jcT vXM -fkO +rWa vXM oQf vXM @@ -94537,16 +94537,16 @@ ncE ncE ncE aac -kKU +aek pHM pHM pHM -fkO +rWa pHM pHM qdd vXM -fkO +rWa vXM oQf vXM @@ -94801,16 +94801,16 @@ vXM pHM vXM vXM -fkO +rWa pHM pHM pHM -fkO +rWa pHM pHM qdd vXM -fkO +rWa vXM qdd vXM @@ -95065,11 +95065,11 @@ vXM pHM vXM vXM -fkO +rWa pHM pHM pHM -fkO +rWa pHM pHM pHM @@ -95481,7 +95481,7 @@ aaa duB duB cIn -sab +ulT tWy duB duB @@ -98369,7 +98369,7 @@ abM abM abM jIG -nJX +apP lOV jXc rpJ @@ -98380,7 +98380,7 @@ sMr sMr drH ney -esh +tms etf vNH aaa @@ -99078,9 +99078,9 @@ hFr uVO sqw huD -rNn -ieZ -dVi +bSr +uBA +adr adx qcu htb @@ -99124,7 +99124,7 @@ abM jIG pDz tuS -hNM +klI wsb jIG abM @@ -99134,13 +99134,13 @@ jIG jHb tPW tPW -yan +uEx jIG abM abM abM jIG -nsC +uxj wnh wnh wnh @@ -99615,7 +99615,7 @@ gjb eco eZE iNR -bCy +neh ekB qjU qjU @@ -99853,7 +99853,7 @@ nCe hYV nCe jyQ -qLw +vBa vrG iTz fEZ @@ -99874,7 +99874,7 @@ sHm foY cYX ekB -oxw +vpt pWP gAJ qjU @@ -99906,7 +99906,7 @@ pkp anr anH nkF -xEq +cPg uQm uYH nPN @@ -99917,11 +99917,11 @@ bBu aYF bXb uTq -aNh +jJE dLt lax naC -nyi +bqY cPS siu igy @@ -100110,7 +100110,7 @@ qyt oop iAd gtz -dxj +fHg dVC kKB pxs @@ -100136,7 +100136,7 @@ tID gPT qjU qjU -uFh +kfD qjU abM abM @@ -100144,7 +100144,7 @@ ada abM abM qjU -aQG +rBS qjU jnq abM @@ -100159,7 +100159,7 @@ pkp fVh cIX tbe -jbE +wJt ans geA iIH @@ -100176,7 +100176,7 @@ pwX hJd aYn hJd -jGu +sLZ qHs qHs qHs @@ -100386,7 +100386,7 @@ ekB aAz fCP kzC -iul +bLS ekB mrT nHA @@ -100416,7 +100416,7 @@ pkp iTL ifX iRe -jbE +wJt ans nOq vyq @@ -100441,17 +100441,17 @@ xmJ fdz xmJ xmJ -syA +pQO xmJ xmJ -kqG +iGh xmJ xmJ iFY qHs hFq rEV -wdw +qTI tcD qHs aaa @@ -100610,7 +100610,7 @@ aac aac aac aac -jmP +uNE agA piH eQN @@ -100627,10 +100627,10 @@ iZc bVL aSB iTz -lAV +wUL izL ljC -tSF +bZh hFr abM abM @@ -100649,7 +100649,7 @@ qjU qtV ceb qjU -tSB +vqx ecX qjU acQ @@ -100659,7 +100659,7 @@ acQ acQ qjU nNs -pTV +gTY jnq abM jnq @@ -100670,10 +100670,10 @@ hkF kdb gSf pkp -aqM +lNp bTm gLd -jbE +wJt ans eNW vyq @@ -100692,7 +100692,7 @@ oEz hJd tia qHs -aNg +ldf dJM saC cIw @@ -100704,7 +100704,7 @@ kWr gIO qrg aqm -vtF +sZA daJ gqp gqp @@ -100867,7 +100867,7 @@ aac aac aak aak -jmP +uNE agA aaZ aag @@ -100887,7 +100887,7 @@ iTz bnh xgh fKv -pdm +vGd hFr hFr hFr @@ -100955,9 +100955,9 @@ fQI nKg xXZ eIk -oeq -sKY -oeq +rNG +pOy +rNG eIk sTg wkg @@ -101124,9 +101124,9 @@ aac aac aac aak -jmP +uNE agA -wrW +inN gmu hFr nMu @@ -101146,7 +101146,7 @@ jmk pYt lSI lWF -pLB +iMC vVq hFr aaa @@ -101165,13 +101165,13 @@ qXv qjU qjU nag -oii +noi nHi lMJ mSi lMJ cuR -bFx +qBX dTE jnq jnq @@ -101423,7 +101423,7 @@ mxR qjU qjU qjU -tjy +kKZ ugp ycV kFp @@ -101449,14 +101449,14 @@ pkp pkp pkp pLH -wJZ +gxO sqV lku -rQM +osj pXZ lku oxs -kLh +sna gRQ tbC cuQ @@ -101696,15 +101696,15 @@ kbi kbi qIC nQo -sFV +fhA cAz cjy dAR -heu +pkG lWZ vNB vNB -blV +vpP aYF puZ cQK @@ -101724,7 +101724,7 @@ ltq bWN qCG hiB -cbh +rZx lEf jyF jyF @@ -101961,7 +101961,7 @@ rmI nog aqz aqz -jNP +sOr frd kHn vgR @@ -101979,10 +101979,10 @@ cUE cYx iFc pjK -oHB -yiH +svA +jBn bKt -kFd +gqf asT dQn bKt @@ -102218,7 +102218,7 @@ kuX kac kUs kUs -blV +vpP roB uBy fXQ @@ -102236,7 +102236,7 @@ arV lfB vqH fuj -rcH +pUZ xXC hiD lEf @@ -102478,7 +102478,7 @@ bbj bbj roB kCB -sHk +lED roB jHP kaJ @@ -102689,10 +102689,10 @@ apl iRL snQ iRL -rNA +uqN tbm nNZ -sMi +eTv cWZ klk kNo @@ -102739,9 +102739,9 @@ ict roB roB sHH -oxJ -lVq -oxJ +tcO +obz +tcO sHH sHH ccX @@ -102751,7 +102751,7 @@ qHs hZe fuj fnO -xIr +miU rMZ hDI bKt @@ -102975,7 +102975,7 @@ pcu bVW bKu bVW -cGC +xdC uKK nFu qeq @@ -102983,7 +102983,7 @@ fal akJ tbc ulV -rZi +jhV ezd dQO sZe @@ -102992,10 +102992,10 @@ eor jdN roB fXQ -pXu +srY roB roB -phe +kHR tga rnf xBD @@ -103008,16 +103008,16 @@ qHs jyU fuj xEy -xIr +miU rMZ hDI -gSR -pss -csF +cNU +wGA +pgV hDI qqc qgB -xgU +vzx lnU lRP ssV @@ -103198,12 +103198,12 @@ dyC kUg nUP gvC -hWN -tYN +cay +bje iRL snQ iRL -uaK +dtM twg dWn cWZ @@ -103243,26 +103243,26 @@ gYI wlQ gul lxH -rzC +amT wYO iXQ foi fXQ flV sjm -uTt +wgB roB llK kIG pTl ozd eOP -cvH -peY +wGk +pYU sHH ydk qHs -hMo +aDm fuj lDy cyN @@ -103274,7 +103274,7 @@ wPj qIq gyC qgB -hKe +jDx daJ gqp gqp @@ -103445,13 +103445,13 @@ lzo bKb kTR nUP -qkk +tFP ale moV tto flP feC -vbx +vuC bud nUP vLB @@ -103517,11 +103517,11 @@ bDf ubt xyd sHH -wGh +viW qHs jPt sHh -aLF +yeg sHh sHh sHh @@ -103531,11 +103531,11 @@ sHh sHh sHh sHh -iQo +poT qHs qRK gqp -lNT +szq iDb qHs aaa @@ -103709,7 +103709,7 @@ adg ykN qMf mCR -uWk +vcs nUP cQY aer @@ -103721,7 +103721,7 @@ dNp ptn xyu cWZ -olk +hCA jxV iAb iLv @@ -103756,7 +103756,7 @@ ixT gYI cgR ial -qAk +uJx amV mvy iXQ @@ -103771,10 +103771,10 @@ iHK bAK jsW vTc -rGt +qzf qcw sHH -gHd +bXp qHs qHs qHs @@ -103974,7 +103974,7 @@ aeF iRL quF iRL -ssN +lbK sWF iog cWZ @@ -103989,7 +103989,7 @@ lIe qjU kFp hFf -rqM +hZA wAr qjU npX @@ -104017,9 +104017,9 @@ sjM unn rGm smo -uzd +dgx roB -dEq +pdf chj niG roB @@ -104027,7 +104027,7 @@ wqY tMP cHW qoX -ciX +suM sHH sHH sHH @@ -104214,7 +104214,7 @@ nUP nUP nUP gcE -jIQ +mDy nUP wsq dXA @@ -104245,7 +104245,7 @@ jra lIe qjU pri -rqM +hZA uxq kFp qjU @@ -104262,7 +104262,7 @@ fal fal eSU wSh -uVv +vyD joq fal akI @@ -104276,14 +104276,14 @@ vOE pmO bbj roB -hrs +lbz ohY roB roB sHH -oxJ -csn -oxJ +tcO +bUh +tcO sHH sHH rvh @@ -104470,7 +104470,7 @@ aaa aaa aaa nUP -amE +sTz nUP nUP ePd @@ -104503,7 +104503,7 @@ rxy qjU muP vpo -ipy +acn kFp qjU npX @@ -104537,7 +104537,7 @@ uUs xzn roB lUe -cIR +vSL nUR cxr tAH @@ -104551,7 +104551,7 @@ rlU wAb qGE uNI -qod +jCT dLQ tug fjQ @@ -104781,14 +104781,14 @@ ceb lns cgd vIC -thc -bmg +pOZ +hoT wWv amA pvC qsP tTe -qJF +aog roB fXQ fXQ @@ -105027,7 +105027,7 @@ eYs kFp kFp dcq -aUo +kxC qjU aaa qjU @@ -105045,7 +105045,7 @@ gIu ifk qkG qkG -qOU +rif qKk jXl sGO @@ -105058,7 +105058,7 @@ tBK mfB mfB mfB -qZN +kcp mfB jKV nrQ @@ -105289,20 +105289,20 @@ qjU aaa qjU crU -wgi +kbG hQK ceb pcx vuT vuT -oBZ -dUM +nku +pso hZr amC cmM any anO -hgx +omN kpq rDj tTW @@ -105313,7 +105313,7 @@ bZW qkN cPM dsH -rIb +nFL dsH cPM ket @@ -105322,13 +105322,13 @@ bZW wQm kdw aOV -uDH +wXO doa amS tLz xTM awE -tIr +rAf fjQ vXM aac @@ -105518,7 +105518,7 @@ jHE alg iRL iRL -acz +ssH iRL iRL iRL @@ -105535,7 +105535,7 @@ aPM qjU qjU qjU -tUA +wBp ugp ycV kFp @@ -105551,19 +105551,19 @@ hZr hZr saJ oNq -lbT +kcP hNE ovi hIt -sjZ +fvn lJm rfW mwK mwK mwK fKk -xqP -wMp +jUO +hOE oLv wNs rRc @@ -105579,7 +105579,7 @@ ici wQm oaX tsp -jKN +akv gRl gas fjQ @@ -105791,13 +105791,13 @@ mGw mGw qjU nag -bhT +vBk pwh mDx xOO mDx pwh -xXE +fNX nag qjU qjU @@ -105824,10 +105824,10 @@ usQ nNQ nNQ toq -ykQ +hpf cPM lrX -teE +hAW lrX cPM qYs @@ -106039,8 +106039,8 @@ abM mGw bcs kGH -bFS -bFS +rcU +rcU qWy mGw dau @@ -106304,7 +106304,7 @@ eep eep mGw cpR -hKz +aGi qjU acP acP @@ -106313,7 +106313,7 @@ acP acP qjU ecX -mdw +bXs qjU aaa hZr @@ -106332,9 +106332,9 @@ gRj mwK pgS mwK -uUC +mpz tXs -kwI +pAD apG nNQ wQm @@ -106344,19 +106344,19 @@ vkO wAG wQm vkO -xtz +sjc wQm xUC wQm lXH riD -duY +wXQ doa amS tLz ljZ nBA -wwh +lrw fjQ vXM aac @@ -106578,19 +106578,19 @@ vNu eAN ake twr -vtv -alp +wNY +xfx xaT shQ hZr -tko +gdJ hRj anB mwK pgS beG eEl -rDu +naD uxG apH hYK @@ -106607,7 +106607,7 @@ fTi wQm oaX vwz -ibe +kcm gRl gas fjQ @@ -106791,7 +106791,7 @@ sNs eaZ pFw eHj -jri +wXB gms sNs sNs @@ -106818,7 +106818,7 @@ mGw mGw mGw qjU -img +dmx qjU abM abM @@ -106826,7 +106826,7 @@ ade abM abM qjU -mJe +qWI qjU qjU aaa @@ -106846,13 +106846,13 @@ hZr mwK pgS mwK -iQA +hjv apr oYK dsP nNQ wQm -tGO +kSA wQm ora ora @@ -107065,11 +107065,11 @@ aaa abM abM mGw -uAE +cAJ sYl mYc sYl -eKb +hqp mGw aaa aaa @@ -107098,7 +107098,7 @@ aaa aaa aaa hZr -oxI +cZN hZr mwK xhX @@ -107106,13 +107106,13 @@ mwK ulS kqD ipe -pOG +apJ rnY qJY cev taw taw -mbE +vYX taw taw taw @@ -107282,13 +107282,13 @@ pHM pHM pHM aac -ewl +aam hlS hlS pcZ hlS hlS -ewl +aam aac aac aaa @@ -107378,13 +107378,13 @@ mZc qXA nvA nmK -mlJ +dys rpd uFX aNd mUd jqS -diA +fHz fjQ vXM aaa @@ -107618,24 +107618,24 @@ mwK xhX mwK sPw -oAE +cRA gkQ -fkJ +rfQ nUW -eXj +xVE xuS nPM gjH -dYC +fkL sgN oTO lNl -eQx +uOZ uOg jEd wIY pKo -nqt +vaK hZr pHM fjQ @@ -107797,11 +107797,11 @@ vXM vXM aac aac -ewl +aam hlS hlS hlS -ewl +aam aac aac aac @@ -107872,7 +107872,7 @@ cPM aef vCS abM -qJQ +itE mwK lml eXB @@ -108310,14 +108310,14 @@ vXM vXM vXM aac -ewl +aam nkU nkU nkU nkU nkU nkU -ewl +aam aac aac aaa @@ -108662,7 +108662,7 @@ qTR mDC tnq hZr -eAm +ykm gWu hZr aaa @@ -108826,11 +108826,11 @@ vXM vXM aac aac -ewl +aam hlS hlS nkU -ewl +aam aac aac aac @@ -109160,19 +109160,19 @@ abM abM abM mwK -sRB +dKv spF spF fjQ -bVV +vFR piX piX fjQ -sOw +lwV qBg qBg fjQ -qix +dWj fjb fjb hZr @@ -109339,14 +109339,14 @@ pHM pHM pHM aac -ewl +aam hlS nkU nkU nkU nkU hlS -ewl +aam aac aaa aaa @@ -109855,11 +109855,11 @@ vXM vXM aac aac -ewl +aam hlS hlS nkU -ewl +aam aac aac aac @@ -110196,15 +110196,15 @@ aaa aaa aaa bNz -uNo +rRi bHy -xnh +iVs ixc eqY wJv xoW rCd -exp +hUf lEI saj shF @@ -110368,14 +110368,14 @@ vXM vXM aac aac -ewl +aam nkU nkU aau nkU nkU hlS -ewl +aam aac aaa aaa @@ -110712,7 +110712,7 @@ abM mwK eqY ixc -aVH +rPj bHy eqY asC @@ -111232,11 +111232,11 @@ ibY hiT gjj rCd -dXX +pts gEs nXQ rnA -eEI +hBY atX wAQ qWU @@ -111642,13 +111642,13 @@ pHM pHM pHM pHM -gGf +bwp pHM pHM pHM pHM pHM -gGf +bwp pHM aai aac @@ -111902,7 +111902,7 @@ vXM aev vXM vXM -gGf +bwp vXM vXM pZH @@ -112428,7 +112428,7 @@ hlS plk vTh cCk -wvB +oAg pKX xDy bsU @@ -112930,7 +112930,7 @@ vXM pZH vXM vXM -nyZ +qCU vXM vXM aev @@ -113184,13 +113184,13 @@ pHM pHM pHM pHM -gGf +bwp pHM pHM pHM pHM pHM -gGf +bwp pHM pHM pHM @@ -113757,7 +113757,7 @@ aaa aaa mbJ mbJ -dTp +btf mbJ abM abM @@ -113765,7 +113765,7 @@ ade abM abM mbJ -oCF +ejR mbJ mbJ aaa @@ -114039,7 +114039,7 @@ abM abM abM abM -wOI +pGg abM abM aaa @@ -114253,7 +114253,7 @@ aaa aaa uGW hLd -twb +ioI lkw uGW aaa @@ -114271,7 +114271,7 @@ aaa aaa mbJ osG -wTI +pqU mbJ acQ acQ @@ -114279,7 +114279,7 @@ adk acQ acQ mbJ -opH +fLJ osG mbJ aaa @@ -114481,14 +114481,14 @@ vXM vXM aac aac -ewl +aam hlS hlS hlS aas nkU hlS -ewl +aam aac aac aac @@ -114551,7 +114551,7 @@ abM abM abM iix -iVF +xBA ikT iix abM @@ -114786,13 +114786,13 @@ aaa mbJ mbJ aCe -cCL +kDh tSa gGv tYc gGv tSa -ubZ +nlm aCe mbJ mbJ @@ -114997,11 +114997,11 @@ vXM aac aac aac -ewl +aam nkU nkU nkU -ewl +aam aac aac aac @@ -115044,7 +115044,7 @@ aaa mbJ mbJ mbJ -mHJ +nMb hFC dBM hFC @@ -115334,9 +115334,9 @@ iON oWA oUg dUT -ryC +vbP dUT -mfE +lBb qVr wxE gwK @@ -115344,9 +115344,9 @@ hdA qVr qVr fUz -ocq -mdW -czo +rkI +fFu +jQE qVr qVr qVr @@ -115510,14 +115510,14 @@ pHM pHM aac aac -ewl +aam hlS hlS hlS nkU nkU nkU -ewl +aam aac aac aac @@ -115535,13 +115535,13 @@ aaa aaa uGW qde -tuN -mPE +uEw +plr mns djI vTZ -tzp -pZv +coI +sGk dUK iRL abM @@ -115591,24 +115591,24 @@ nrX cDq rin dUT -iRp +oNT dUT -piL +gdC qVr bfH -aJT +aoW ahk hdA -ten -jxR -kwF +mBm +kQM +lxX dne keb hik -kAv +sml bfH bfH -aJT +aoW jTC qVr aaa @@ -115855,15 +115855,15 @@ qVr bfH bfH asv -cdU +cSj lox rTt whn whn whn tjP -flT -lLk +vFb +muf asv kkx txM @@ -116026,11 +116026,11 @@ aac aac aac aac -ewl +aam nkU hlS hlS -ewl +aam aac aac aac @@ -116111,7 +116111,7 @@ uKt qVr qVr bfH -cNz +fPv uyb xuI njf @@ -116121,7 +116121,7 @@ njf njf tfL hPB -uTC +lhS txM qVr qVr @@ -116346,7 +116346,7 @@ aaa abM abM ePG -pvY +gex eHR gDU ePG @@ -116367,8 +116367,8 @@ fVH vtq xHw qVr -ten -txu +mBm +dHc pYZ aqB vBl @@ -116379,7 +116379,7 @@ aet whn tjP cyR -kAv +sml qVr aaa aaa @@ -116539,14 +116539,14 @@ vXM vXM aac aac -ewl +aam nkU nkU hlS nkU nkU nkU -ewl +aam aac aac aac @@ -116616,7 +116616,7 @@ fip fip fip dUT -gEu +eBo qya dUT qVr @@ -116624,7 +116624,7 @@ qVr qVr qVr qVr -lXa +lTS inn xcM ptL @@ -116636,7 +116636,7 @@ iQG uHF hjM tjP -rZJ +roQ qVr qVr qVr @@ -116878,7 +116878,7 @@ wkR hOf qVr xPQ -qyo +xMe tml qVr qCW @@ -116887,14 +116887,14 @@ xcM lyQ asv mln -sZs +tjz asv dfe jYU gCY whn -krU -noo +exH +ahl bfH bfH bfH @@ -117055,11 +117055,11 @@ aac aac aac aac -ewl +aam hlS hlS nkU -ewl +aam aac aac aac @@ -117074,7 +117074,7 @@ meg nxN pzb unl -pWl +ikc bvk aeu pzd @@ -117099,7 +117099,7 @@ vWx aaa aaa mbJ -nOh +iSC hFC hFC qeo @@ -117142,16 +117142,16 @@ rdU uon ilj hDT -uio +keT iEF fof -amc +aoN knb hQk aHT rTZ eGt -unv +bql bfH bfH rPv @@ -117375,7 +117375,7 @@ abM abM ePG rEd -lgp +uel pNv hvJ vOx @@ -117392,23 +117392,23 @@ puT awT qVr kXg -xGu +kHd dGk qVr -ePl +kkL whn dQK -rHi +uGU asv mln -tuE +pEa asv taa kXy gCY whn wCv -hUm +cyY fAm fAm fqM @@ -117568,13 +117568,13 @@ pHM aac aac aac -ewl +aam nkU nkU aau nkU nkU -ewl +aam aac aac aac @@ -117606,7 +117606,7 @@ qxm iLu oys wLR -qqp +jcQ qwU oys oys @@ -117635,7 +117635,7 @@ sQZ sQZ sQZ sQZ -sqb +pOg rwN fWT dUT @@ -117700,7 +117700,7 @@ vXM vXM vXM vXM -axj +jjG vXM vXM vXM @@ -117909,7 +117909,7 @@ bjQ igS uNT qVr -xjv +nbI yfH cue qlf @@ -117920,8 +117920,8 @@ nho scO whn bgH -xGR -vux +tuf +uAF qVr aaa aaa @@ -118143,8 +118143,8 @@ bOV hde owO owO -uOa -rGs +cJS +tyi qnA oRz fQX @@ -118163,11 +118163,11 @@ xNk pnn hCv grh -fFH +okh qVr qVr kkx -mkZ +cJP qXs mLE dGs @@ -118177,7 +118177,7 @@ dGs dGs ahp qvF -grt +fQo bfH qVr qVr @@ -118400,7 +118400,7 @@ owO owO owO nhj -uOa +cJS nhj hYg oRz @@ -118425,15 +118425,15 @@ qVr kkx txM asv -aAP -bjH +uLX +dPP qNF whn whn whn bgH esC -rTs +jDF asv bfH bfH @@ -118615,7 +118615,7 @@ ddY kxV nXb wAB -hHu +nzF wNv xdZ dci @@ -118657,7 +118657,7 @@ osN aFj osN dpv -dyJ +epJ dpv hYg myK @@ -118680,19 +118680,19 @@ hFH tYB qVr jTC -aJT +aoW bfH bfH -xjv +nbI deh tBc vHi -ceq -lXS -vux +yfY +rbU +uAF ahk hdA -aJT +aoW bfH qVr aaa @@ -118904,21 +118904,21 @@ hFC hFC hFC hFC -lFC +adD qxm qxm abM sQZ sQZ -feR +nsv owO owO nhj -uOa +cJS nhj cVU oRz -ehH +ipP sQZ nhj prI @@ -118942,9 +118942,9 @@ bfH qVr qVr qVr -cTY -ieR -wKN +wdD +tXW +vTx qVr qVr qVr @@ -118989,7 +118989,7 @@ nNk nNk nNk nNk -jay +esi dKV dKV oqp @@ -119171,7 +119171,7 @@ owO owO owO owO -uOa +cJS iih cVU cFW @@ -119186,7 +119186,7 @@ gzw gzw gzw gzw -dlP +aTa rin roR roR @@ -119233,7 +119233,7 @@ vXM xvl cXe bMz -kyl +egJ xvl xJB sXL @@ -119242,7 +119242,7 @@ nNk bcO xJB xJB -qkq +mGO xJB sXL nNk @@ -119402,7 +119402,7 @@ sCa wWu dEj kcB -tSk +jht sav vle aaa @@ -119429,7 +119429,7 @@ sQZ sQZ sQZ sQZ -prl +kYl hIY tVK vIF @@ -119490,7 +119490,7 @@ xvl xvl xvl iee -pDG +oXq xvl xvl xhB @@ -119687,7 +119687,7 @@ aaa aaa sQZ mtI -rBa +fGK bwU vEl wtR @@ -119741,14 +119741,14 @@ vXM vXM vXM vXM -rav +mbe xvl fLB xly xvl odF bya -hlP +hdG xvl xhB nNk @@ -119916,7 +119916,7 @@ ujx azp azp azp -iNJ +oqy mUu vle aaa @@ -119963,10 +119963,10 @@ bXI jwZ szb gbn -dpQ +byw uyZ otC -fzt +wcy iix iix qVr @@ -120005,19 +120005,19 @@ jqs dBj wOw aur -ktn +uxL xvl sRL nNk tsc waj -qxi +rIt bKK -epH +xYZ pIp lnk waj -rPg +nss dKV jrR oqp @@ -120227,10 +120227,10 @@ lxW iix qQa vtd -bIY +hqx iGF xkg -rBo +tXA iix evd pPn @@ -120265,8 +120265,8 @@ dKU szZ kZw mxm -nlI -iXI +gWx +byF waj iJY xeO @@ -120283,7 +120283,7 @@ pMG pAC bdT oqp -iwU +vGk rxw vXM vXM @@ -120458,7 +120458,7 @@ aaa oyR sQZ sQZ -tEQ +aML kRR mmy nNh @@ -120467,11 +120467,11 @@ nRd ojU gzw gzw -iQn +ulz eyD ftM gzw -ibR +feP nWW gpi nWW @@ -120483,7 +120483,7 @@ kYP wSj lXK wxX -oXd +etG pKC cPE qah @@ -120519,7 +120519,7 @@ fMK dBj uBo wOw -aJw +lHa xvl kbc mwL @@ -120527,15 +120527,15 @@ bcO waj wkY fhL -wYT +oKZ fhL hUK waj wuU dKV -sYG +hZB oqp -iqw +gui iHH iWL bAW @@ -120726,14 +120726,14 @@ gzw cbj iSF nJJ -jMZ +vri gzw vrS moE iix -vnZ -vnZ -vnZ +sNS +sNS +sNS wBV dIK dIK @@ -120980,15 +120980,15 @@ mRD asu oyR gzw -krC -krC +tnA +tnA cgc -krC +tnA gzw dfz dfz dfz -mPC +vqa uIk uIk lBF @@ -121289,7 +121289,7 @@ vXM xvl bzA mdr -rTr +wzE xvl uiI vMX @@ -121298,7 +121298,7 @@ mwL tsc uiI uiI -gqm +kZK uiI qqE mwL @@ -121752,12 +121752,12 @@ kkK jXE lwF dfz -dng +vbt qCP urA ygC pfh -ccZ +yfU dfz vYo foS @@ -121769,7 +121769,7 @@ dIK hJl hJl fYw -tQK +typ gfV ixC hJl @@ -122005,7 +122005,7 @@ aaa aaa dfz mpd -wBl +lEt glc pHM pAT @@ -122261,12 +122261,12 @@ aaa aaa aaa dfz -duz +txW iMt glc pHM hkN -nNG +gIj loa ygC ygC @@ -122533,7 +122533,7 @@ dfz vqO edP edP -cQB +uXn hBl hBl gkD @@ -122840,7 +122840,7 @@ vXM vXM vXM vXM -jlZ +iEz vXM vXM vXM @@ -123296,7 +123296,7 @@ frV fni qCz mzQ -lZf +ckr bZp vzi lkK @@ -131518,11 +131518,11 @@ aaa aaa aaa aaa -iUa +gGb uGq vQT uGq -iUa +gGb aaa aaa aaa @@ -133060,11 +133060,11 @@ aaa aaa aaa aaa -iUa +gGb uGq -kEK +mpF uGq -iUa +gGb aaa aaa aaa @@ -142372,9 +142372,9 @@ gcp qBq exv gNy -uaP +oiL aBI -dli +isP gcp aaa aaa @@ -142631,7 +142631,7 @@ exv gNy ydj jap -wKt +uHQ gcp aaa aaa @@ -142888,7 +142888,7 @@ gNy gNy mVj agt -uhc +bxd gcp aaa aaa @@ -143142,7 +143142,7 @@ aaa gcp gcp gcp -oXV +bhG auz gcp gcp @@ -145134,7 +145134,7 @@ vcI gYz tCT oTC -jRQ +pEB pMW pMW pMW @@ -146129,7 +146129,7 @@ qnW hKX mxE iyc -sso +utc jEu jEu vcI @@ -146157,7 +146157,7 @@ pMW pMW pMW tPE -fyZ +wgL vcI nmY pMW @@ -146637,7 +146637,7 @@ aaa aaa aaa iyc -aAu +qpY udk uSR oXe @@ -146922,7 +146922,7 @@ pMW pMW pMW pMW -gCP +uUB pMW pMW pMW @@ -147422,7 +147422,7 @@ pMW pMW pMW pMW -jRO +eYn pMW pMW pMW @@ -148193,7 +148193,7 @@ kIZ kZB kIZ kIZ -yfJ +qND rDt sYk kDm @@ -148210,7 +148210,7 @@ quL quL pNc quL -med +iOG quL reg ajv @@ -148730,7 +148730,7 @@ mQa aju aju aju -vET +tIg abM abM aaa @@ -148965,7 +148965,7 @@ sXa eVQ cII oQF -dLu +vTB aSG qgR aFh @@ -149205,7 +149205,7 @@ abM abM abM abM -oBR +wyT abM abM osk @@ -149222,7 +149222,7 @@ sXa xyk smA oQF -dLu +vTB lyz fNV aFh @@ -149476,7 +149476,7 @@ rlv rlv rlv sXa -cfM +rPt ssn vXL sXa @@ -149503,7 +149503,7 @@ aJN fmu mfF tdx -rLU +vWk tdx tdx tdx @@ -149727,7 +149727,7 @@ rlv rlv rlv rlv -cbx +cYA rlv rlv rlv @@ -149758,7 +149758,7 @@ mQa tdx gmH can -nCo +rOV cSr fxP xVV @@ -150250,7 +150250,7 @@ sXa fvc okt oQF -dLu +vTB lyz xIL eVh @@ -150507,13 +150507,13 @@ sXa jSJ tnV oQF -dLu +vTB lyz xIL eVh rIT tBA -xXw +dHF xZi jTf pyT @@ -150731,12 +150731,12 @@ aaa aaa yji tFk -fRB -qWO +dFN +fLY tFk -hwp +kcV xNL -kpM +qXK tFk aaa aaa @@ -150763,7 +150763,7 @@ rlv oca kaD qYj -wVE +ceW oca pAw dDi @@ -151005,7 +151005,7 @@ hzN hzN hzN exq -eTg +fTM rcx hzN xQv @@ -151027,7 +151027,7 @@ cta dfw tPE cpG -wqB +huT tGo tPE fLN @@ -151252,7 +151252,7 @@ mjM wNj tBO gtH -ezC +qZy run ayR gKX @@ -151290,7 +151290,7 @@ cxs vPg geX nbm -fJi +kVs oFo hFb laT @@ -151547,7 +151547,7 @@ fNV fNV fbs fwn -lrT +ald fpg eFN njX @@ -151788,7 +151788,7 @@ jAi mSx tHv wHT -qGi +xNl dqm bZZ wHT @@ -151804,7 +151804,7 @@ sEY xhk mhz uEV -czf +czP wMt vwT uyd @@ -152006,7 +152006,7 @@ aac aac aac aac -nlO +aeW tyV wdC eUH @@ -152047,17 +152047,17 @@ aou wHT jjB cyW -thv +agp wHT wHT wHT -gbL +sNr wHT fKO fKO jvf fKO -eiW +qkV jvf tPE tPE @@ -152307,7 +152307,7 @@ xSr umf qjW dCk -dEx +iDR tDR wHT omH @@ -152534,7 +152534,7 @@ pWO iGJ gki nca -vHS +qkr wjT stL kdr @@ -152549,7 +152549,7 @@ qpb hAv dxC bsP -wLt +fQV xMK xMK xQw @@ -152566,7 +152566,7 @@ uVb iaT gQz nAP -gbL +sNr jmR oxf qit @@ -152597,11 +152597,11 @@ cSr rAS xzI uYa -mHZ +kPS ppK rAS rAS -ocF +pKr bLA cxA jDN @@ -152784,11 +152784,11 @@ xSX rdo avq avB -eAT +jPx xDQ rOh jwV -jMV +pNI gki nca nca @@ -152807,8 +152807,8 @@ dxC dxC ief ief -gVn -gVn +ujt +ujt ief xzA ief @@ -152821,9 +152821,9 @@ yhe vBn tRV sik -uvc -tna -hiQ +iOm +ofA +lcS vhG jSd nXI @@ -153073,19 +153073,19 @@ ief ief ief wHT -myQ -gbL -ukF +tKK +sNr +mki wHT wHT wHT wHT wHT -wdJ +lUK fKO jvf fKO -kPc +tki jvf loc syX @@ -153311,10 +153311,10 @@ wEC pPP qKd jGL -rDa +jed oIz gnW -tLw +wiI mcD pDy tWn @@ -153343,7 +153343,7 @@ uUc wHH uUc wid -xdn +kqY szw cEg yiM @@ -153556,7 +153556,7 @@ hdL hdD hdD woX -fyC +rao kFl xay foz @@ -153575,7 +153575,7 @@ dSo rMS psv hTn -jWK +miR maN kPo plW @@ -153589,7 +153589,7 @@ uoO fss lVh lVh -iRW +nYr rEq bSS eKy @@ -153635,7 +153635,7 @@ pUw rYd vne qCZ -eFc +wTy jFJ pMW pMW @@ -153825,10 +153825,10 @@ nca nca neC iUE -eVI +rxE jyR lMR -dsk +ktX pqd kdV acr @@ -154091,12 +154091,12 @@ qyZ qyZ qyZ uVo -aEq +cGN uVo eVC qyZ -eTp -oZI +htr +sWQ aQO aQO aQO @@ -154339,7 +154339,7 @@ nca nca neC niZ -jmE +yeG oZA wky qyZ @@ -154362,7 +154362,7 @@ xyn eSH wJy xgZ -bse +lPY esd kiU kTz @@ -154585,7 +154585,7 @@ mKP sqc dEv avP -hkh +rZA hwv udq awz @@ -154619,7 +154619,7 @@ aNp pfD hhc lEl -bse +lPY eaT kiU aQm @@ -154857,8 +154857,8 @@ eOh pJJ fWM qyZ -kWU -toe +pGr +ptq lmG hHI gIG @@ -154876,7 +154876,7 @@ nlF boU rQG xCm -bse +lPY eaT vfr aQm @@ -155114,8 +155114,8 @@ phB qdY xNj qyZ -ycO -hPu +ouQ +wWe imr iue hyE @@ -155133,7 +155133,7 @@ yfE aCR wIi pkP -bse +lPY eaT kiU aQm @@ -155351,14 +155351,14 @@ yjm hPs juT lAC -wKR -jWQ +pbo +aeX yjm oby etH -nam +bLT hvZ -ekM +mGN gNK rOh gAO @@ -155369,13 +155369,13 @@ pBZ lSo lSo azy -olL +tFK qyZ -drd +vxv hHI nfR hHI -rUq +lrZ hHI nUM bNF @@ -155390,7 +155390,7 @@ mJm sTH irN jfp -bse +lPY xFl hLi yiM @@ -155405,7 +155405,7 @@ cbe aEa gbl lZz -oCy +jMe fSr rVp qOF @@ -155638,16 +155638,16 @@ pRB kVV mIp hZP -xnK +pGO cMb qiq crR mer gtj lqy -wFY +vYw cWl -bse +lPY eaT kiU aQm @@ -155869,7 +155869,7 @@ avg hgn kkV dEv -rmR +mKq ahc pLO nzz @@ -155894,7 +155894,7 @@ aAr tkU qyZ qyZ -fwR +tiT fli asY pUG @@ -155904,7 +155904,7 @@ far yjf czX vrN -bse +lPY eaT kiU aQm @@ -156161,7 +156161,7 @@ aCC ukE hhc esf -bse +lPY eaT kiU aQm @@ -156377,7 +156377,7 @@ rmB rmB dEv dEv -szg +irf mcU eka dEv @@ -156395,7 +156395,7 @@ nca nca neC iBO -fFd +blo fxK lpg qyZ @@ -156414,11 +156414,11 @@ aQO rup wzm rAh -qAd +qgy eUy mgq nhV -bse +lPY gBN kiU nlS @@ -156427,7 +156427,7 @@ nVr gbe jGG cFs -ahH +cPI pow kll fSr @@ -156630,15 +156630,15 @@ aaa aaa rmB hlb -hFh +dFI wwc rmB dEv dEv -lSL +ukw pyF dEv -tJY +oVo rWT gYd isV @@ -156665,8 +156665,8 @@ dEU uVo eVC qyZ -rIX -eTp +tfX +htr aQO aQO aQO @@ -156723,13 +156723,13 @@ vCZ vCZ avE avE -sbz +esT mAG tMW byH tMW tMW -sbz +esT avE avE avE @@ -156886,11 +156886,11 @@ aaa aaa aaa rmB -pfb +sNa gJI ptu qUY -eBT +auP qxT jkQ tod @@ -156909,10 +156909,10 @@ nca nca neC fph -vKA +sHw kil axp -ajD +rUd njR joB lTV @@ -157173,7 +157173,7 @@ dSo rMS bPV ubd -tiB +erx idG ayM eON @@ -157228,7 +157228,7 @@ apC apC apC apC -hwL +aqg apC vkd wfb @@ -157238,11 +157238,11 @@ vCZ pMW pMW sdb -sbz +esT tMW pIS tMW -sbz +esT sdb pMW pMW @@ -157423,10 +157423,10 @@ kWd fpQ pSG aBN -vBP +sDO jFh msW -huL +pLg nSV aPk sGG @@ -157455,7 +157455,7 @@ qWY dii jEc jva -vvJ +vlb uFD onf yiM @@ -157670,7 +157670,7 @@ wbH bYA kyF kMI -mvE +bFo iZb gki ylw @@ -157684,7 +157684,7 @@ tFJ tFJ tFJ tFJ -qoU +vMu tFJ pyn maN @@ -157699,8 +157699,8 @@ xEo kRm xEo xEo -qQV -qQV +oTq +oTq tlg kOE yiM @@ -157734,7 +157734,7 @@ nqH hGI uMk vGi -xnQ +nZm abM abM abM @@ -157751,13 +157751,13 @@ aaa aai avE avE -sbz +esT tMW tMW sOg mAG mAG -sbz +esT avE avE avE @@ -157916,9 +157916,9 @@ aaa rmB pxf bWb -phW +toY wpM -eBT +auP auY uYd avl @@ -158176,7 +158176,7 @@ mAT mAT mAT mAT -kYZ +auZ uYd avm fBk @@ -158184,12 +158184,12 @@ wbH wbH qPI cQM -rfK +gRO ppr gki cGg hhO -tDs +opT gQk txJ tFJ @@ -158216,7 +158216,7 @@ xEo waE hBf pkk -lHm +sDe yiM tkv qUg @@ -158435,7 +158435,7 @@ hHf auR auW uYd -jhA +avn fAg oUx wbH @@ -158476,7 +158476,7 @@ pIl gdF yiM yiM -qKO +lIQ yiM cFs nVr @@ -158484,7 +158484,7 @@ laU jGG cFs yiM -voT +aGL yiM yiM cFs @@ -158531,11 +158531,11 @@ mAG mAG mAG sdb -sbz +esT sdb sdb sdb -sbz +esT pMW pMW pMW @@ -158727,7 +158727,7 @@ aBt crE tEl xEo -ylE +vTE kyq pIl dUl @@ -158790,16 +158790,16 @@ mAG mAG mAG pMW -sbz +esT pMW tMW sdb sdb -sbz +esT sdb sdb sdb -sbz +esT pMW pMW pMW @@ -158947,7 +158947,7 @@ bcq idF dYe auR -nxI +bLr mld nPw lMQ @@ -158989,7 +158989,7 @@ xNt bVs rPH yiM -nvv +tdu ojT iPy cFs @@ -158999,7 +158999,7 @@ jGG cFs iPy ojT -mqH +aHe yiM cFs cFs @@ -159054,16 +159054,16 @@ pMW pMW tMW pMW -sbz +esT pMW mAG sdb sdb -sbz +esT sdb sdb sdb -sbz +esT avE avE avE @@ -159198,14 +159198,14 @@ aaa aaa aaa tag -iOd +auG idF idF idF gOA tag tFJ -aih +xeE tFJ nle uIt @@ -159235,18 +159235,18 @@ tKH tgh ltw sWY -cut -dzX +hhJ +wKk phl sSx xJH xEo oMh -wrF -ehA +ixO +urP kOE yiM -uVR +aEh iPy yiM cFs @@ -159256,7 +159256,7 @@ jGG cFs yiM iPy -kwE +tBu yiM yiM yiM @@ -159318,7 +159318,7 @@ pMW pMW tMW pMW -sbz +esT pMW tMW pMW @@ -159496,7 +159496,7 @@ xEo xEo nFZ jXU -lsz +hdT xEo aaS aaS @@ -159519,7 +159519,7 @@ afg abW aaa fsC -gDP +tnu ndb ndb ndb @@ -159528,7 +159528,7 @@ ndb ndb ndb ndb -idQ +qUy fsC aaa aaa @@ -159818,7 +159818,7 @@ tMW tMW tMW pMW -sbz +esT pMW mAG pMW @@ -159983,14 +159983,14 @@ fsQ jil fsQ jKq -eDJ +rMp awc udr oWy jKq uAK oGN -rOE +pzc tFJ abM abM @@ -160073,16 +160073,16 @@ tMW tMW tMW sdb -sbz +esT sdb sdb sdb -sbz +esT sdb sdb tMW pMW -sbz +esT pMW tMW pMW @@ -160337,16 +160337,16 @@ pMW sdb pMW pMW -sbz +esT sdb sdb sdb -sbz +esT sdb sdb tMW pMW -sbz +esT pMW mAG pMW @@ -160601,11 +160601,11 @@ pMW sdb pMW pMW -sbz +esT sdb sdb sdb -sbz +esT avE avE avE @@ -161307,7 +161307,7 @@ vFt oNG cFs tcr -iYn +lpo usE cFs lgK @@ -162043,8 +162043,8 @@ omm oXb oXb oXb -nGL -rcT +rNk +drh uMg rPd omm @@ -164407,7 +164407,7 @@ aaa aaa xBk xBk -xVy +jwU xBk kRL dJG @@ -164415,7 +164415,7 @@ xMU elM cTw eyg -uRj +viZ apC abM abM @@ -165157,7 +165157,7 @@ izU izU izU izU -aTb +vMI nEl izU eSz @@ -165167,7 +165167,7 @@ lwN eSz izU nEl -tyX +dnp izU aaa aaa @@ -165414,7 +165414,7 @@ eSz eSz eSz izU -sMv +wWn wYw nEl eSz @@ -165424,7 +165424,7 @@ lwN eSz nEl wYw -eWI +aHf izU aaa aaa @@ -165436,9 +165436,9 @@ rSa kiC mrf aKM -rMm +qUS xRx -jme +oJx hoE dyB xRx @@ -165928,7 +165928,7 @@ eSz eSz eSz izU -joZ +dEH izU izU eSz @@ -165938,16 +165938,16 @@ lwN eSz izU izU -ifv +nAT jyH lCA jRS -gif +csg dVj wrT xqO -alr -sOd +suG +taU ryy aKM jaQ @@ -165964,7 +165964,7 @@ abM mBq fYo bEM -iTx +nkl wdj wdj wdj @@ -166204,10 +166204,10 @@ tzv gby pLR kZD -eOG +wAe glU jSc -pza +wio xRx aLw pVk @@ -166219,10 +166219,10 @@ aNr apC abM mBq -rAE +rsk ojQ iTS -iMo +eUJ aQf wdj wdj @@ -166461,7 +166461,7 @@ oog lkj ufC qkP -kKf +bqg glU aKM oDd @@ -166470,7 +166470,7 @@ lWu tTN net xRx -pEw +siE hsh gnM apC @@ -166711,10 +166711,10 @@ izU izU dMw jyH -tIG +wmy iYv kFf -xbv +ujv mOM ssF kTS @@ -166733,9 +166733,9 @@ lBQ apC kZC mBq -qjB +dsw aOJ -deu +aPm wWa qIc dQI @@ -166964,13 +166964,13 @@ brr mNB fbk kNT -rwm +tgE uqa fYl jyH -boT -wSO -ahQ +pob +xbN +lqu jyH jyH jyH @@ -166982,7 +166982,7 @@ dWg ktw aLx uwb -jZy +cwr gNk mIZ hFJ @@ -166990,8 +166990,8 @@ vGB gNk qHN wdj -tDU -tDU +aOF +aOF wdj wao cHU @@ -167232,7 +167232,7 @@ jAc kkd qNI mrC -rCZ +qOB tOw kGa djz @@ -167505,7 +167505,7 @@ eCu mDS iCc oGo -uyi +lsJ wdj wdj wdj @@ -167705,7 +167705,7 @@ aaa eSx eSx bgL -xZt +mgZ fqU uGa nrV @@ -167966,7 +167966,7 @@ rDT rDT rDT rDT -kYh +vkP eSx mrS ekU @@ -168224,7 +168224,7 @@ jnY mdp gtN mUL -dJn +ibg lZm mHc uqA @@ -168263,7 +168263,7 @@ dyI tDP txD jtr -eCW +rNl dkM pIk pIk @@ -168272,7 +168272,7 @@ oIU aMG xdx gBt -lHs +uVW gBt jtr dSZ @@ -168481,7 +168481,7 @@ omc shV omc mUL -pJu +fhg mJG mHc hkB @@ -168515,7 +168515,7 @@ lNF wAI wAI enB -baa +qZa bbD uck gBz @@ -168738,7 +168738,7 @@ fKn guL bYW mUL -pgY +rBy vJt mHc uyS @@ -168780,7 +168780,7 @@ xSZ yfw oIU aLA -kbR +gWt wbT dvQ uZQ @@ -168790,10 +168790,10 @@ gHp iTm xSZ tLE -rux +aOQ jYS kkr -ojN +gGx jYS kZI fzs @@ -168989,13 +168989,13 @@ aaa eSx pSJ naB -kGK +vRN fad llE vaq mdp mUL -pJu +fhg vJt mHc wwK @@ -169004,7 +169004,7 @@ nKz tOB qid vnI -vsQ +jPK nKz crT wcv @@ -169022,13 +169022,13 @@ qfF pLs izU yhN -nyL +dWi bPh sSt jEK eoE xck -gng +ols wyd enF aHP @@ -169252,7 +169252,7 @@ fKn lJA mdp mUL -dXf +oCx vJt mHc wwK @@ -169260,7 +169260,7 @@ crT kcu nBy ahq -qhc +bKF tXL hOh crT @@ -169294,7 +169294,7 @@ xSZ aLd oIU aLA -sDW +cVk krE bvK eGn @@ -169309,7 +169309,7 @@ jYS cPx dCG jYS -nnP +pXL wsr cjT jQJ @@ -169502,14 +169502,14 @@ aaa aaa eSx eSx -hXf +uHA drr kEO kEO ddf kEO mUL -fFE +ejK lgD wWH hjx @@ -169543,10 +169543,10 @@ foh gxq gxq rjx -xoZ +nhc eYP tIX -dMs +iOS jtr vWR oIU @@ -169766,7 +169766,7 @@ uuB mdp mdp mUL -rmP +spp ngC mHc jbx @@ -169820,7 +169820,7 @@ jtr dSZ aOO adM -iPm +qcU aQk jYS kda @@ -170048,7 +170048,7 @@ uzl xBS mar mXi -hDK +dhI lej fxs wyd @@ -170060,16 +170060,16 @@ wyd wyd qrW gMT -fcG +uHB jtr jtr jKi -cng +xSz qDF uwk oXz gNE -iOj +rdJ jtr jtr jtr @@ -170332,7 +170332,7 @@ qIM cxt aka fxy -ldQ +wEu adM lVJ kZM @@ -170531,7 +170531,7 @@ abM abM abM lZW -lWP +lUZ lZW lZW lZW @@ -171076,10 +171076,10 @@ brr xFj fbk kNT -riT +krM keN csl -qzH +vic izU izU clT @@ -171094,7 +171094,7 @@ iug xuq knO caR -qsQ +gov ojj xav qdK @@ -171345,7 +171345,7 @@ exT cuP iFP qPd -sEf +cMa bFq bFq bFq @@ -171355,16 +171355,16 @@ bFq bFq ugt ugt -dJr +jvV ugt ugt ugt ugt kjf -gFP +cqn ugt lul -gnP +iMd ugt oGJ oGJ @@ -171593,7 +171593,7 @@ vfk auq ltd qtS -taX +gnj wza izU aIp @@ -171605,7 +171605,7 @@ qPd hrS bFq jzt -clw +sZb dgi uwt uYe @@ -171613,9 +171613,9 @@ dUm ugt jNz hOu -vwf +uNN ugt -aRQ +ukh ugt cBw dbu @@ -171834,7 +171834,7 @@ uDB uDB eSO pvg -dGD +dcz aaa aaa aaa @@ -172077,7 +172077,7 @@ aaa aaa abM abM -dtZ +jSK atr siv cRF @@ -172096,7 +172096,7 @@ aaa aaa aaa izU -cQh +krh izU izU eSz @@ -172106,11 +172106,11 @@ lwN eSz izU izU -gPZ +roH izU wza izU -uYL +aIq oXP xOM oIa @@ -172123,10 +172123,10 @@ fEp vab mEu uOl -gAL +eIA ugt ugt -sil +fsN ugt ugt cdi @@ -172368,7 +172368,7 @@ izU wza izU xCc -eUM +wGU xCc oIa jYb @@ -172383,11 +172383,11 @@ nPe msF ugt aNa -kiA +gCI tzQ bzt aOz -kvW +aOG iKg aPs lwB @@ -172610,7 +172610,7 @@ aaa aaa aaa izU -tfN +gEC wYw nEl eSz @@ -172620,11 +172620,11 @@ lwN eSz nEl wYw -wkd +aHl izU wza izU -yeA +uip aIH jXH oIa @@ -172818,13 +172818,13 @@ avE avE avE avE -qdI +aTY iCA fZL bKy fZL fZL -qdI +aTY uRv uRv uRv @@ -172856,7 +172856,7 @@ lZW lZW lZW lZW -qaq +bFT lZW lZW lZW @@ -172867,7 +172867,7 @@ aaa aaa aaa izU -jjO +eqK nEl izU eSz @@ -172877,7 +172877,7 @@ lwN eSz izU nEl -boz +mhE izU wza izU @@ -172901,7 +172901,7 @@ nIr ugt ugt ugt -wrN +nlf ihB eNH buW @@ -173142,7 +173142,7 @@ clT clT clT oIa -oIl +dPo skC oZq vrU @@ -173333,11 +173333,11 @@ pMW pMW pMW pMW -qdI +aTY iCA cfp fZL -qdI +aTY pMW pMW pMW @@ -173405,7 +173405,7 @@ mHm qfS gNN whz -pCO +ulm whz aaa aaa @@ -173667,8 +173667,8 @@ whz aaa aaa ugt -aPQ -rEk +bGV +min oKh rNt ugt @@ -173846,14 +173846,14 @@ pMW pMW pMW pMW -qdI +aTY fZL fZL tCw kUF iCA iCA -qdI +aTY pMW pMW pMW @@ -173932,7 +173932,7 @@ ugt fpf uWO cHn -aEN +krB dyl cHn ugt @@ -174362,11 +174362,11 @@ pMW pMW pMW pMW -qdI +aTY fZL cfp fZL -qdI +aTY uRv uRv uRv @@ -174875,14 +174875,14 @@ avE avE avE avE -qdI +aTY iCA iCA tCw bKy fZL fZL -qdI +aTY pMW pMW aac @@ -175391,11 +175391,11 @@ pMW pMW pMW pMW -qdI +aTY iCA upS fZL -qdI +aTY pMW pMW pMW @@ -175904,14 +175904,14 @@ pMW pMW pMW pMW -qdI +aTY fZL fZL tCw vwN iCA iCA -qdI +aTY uRv aai aac @@ -177178,13 +177178,13 @@ avE avE avE avE -qdI +aTY uRv uRv uRv uRv uRv -qdI +aTY uRv uRv uRv @@ -177241,7 +177241,7 @@ afy afy brm gay -iGb +tZM jwH brm afy @@ -177438,7 +177438,7 @@ pMW iCA pMW pMW -qdI +aTY pMW pMW iCA @@ -178466,7 +178466,7 @@ pMW iCA pMW pMW -qdI +aTY pMW pMW fZL @@ -178541,7 +178541,7 @@ cIv gyP dZu xgO -oNd +hwM dzu kcF soq @@ -178720,13 +178720,13 @@ avE avE avE avE -qdI +aTY uRv uRv uRv uRv uRv -qdI +aTY uRv uRv uRv @@ -178778,7 +178778,7 @@ aaa aaa aaa bMb -rkL +lyt ghV bMb brm @@ -178788,7 +178788,7 @@ jwH brm bMb ghV -lWt +bXG lVi abM soq @@ -179035,7 +179035,7 @@ abM abM abM lZW -vFB +kYk rxO ghV brm @@ -179045,7 +179045,7 @@ jwH brm ghV rxO -gWL +aHn lVi abM soq @@ -179318,7 +179318,7 @@ doK uJH uJH uJH -xmN +ukS soq abM abM @@ -179550,7 +179550,7 @@ usY abM lZW bMb -qUx +qHo bMb brm gay @@ -179558,12 +179558,12 @@ lZj jwH brm bMb -huc +aHo bMb lVi abM soq -gDt +gxV gFu vgD gyP @@ -179801,7 +179801,7 @@ abM abM abM usY -bXj +fSY tJR usY abM @@ -180017,14 +180017,14 @@ pMW pMW pMW pMW -qdI +aTY fZL fZL jGl bKy fZL fZL -qdI +aTY uRv uRv uRv @@ -180058,7 +180058,7 @@ abM abM abM usY -xFI +kiT iYa usY usY @@ -180081,7 +180081,7 @@ gYp mlC wjQ gyP -hkZ +ixu eeE muZ gSF @@ -180317,7 +180317,7 @@ lZW usY mgh uYZ -jjV +oSB nVd vUE bMb @@ -180334,7 +180334,7 @@ bMb lVi abM soq -krK +ibs rJV unS gyP @@ -180533,11 +180533,11 @@ pMW pMW pMW pMW -qdI +aTY iCA cfp fZL -qdI +aTY pMW pMW pMW @@ -180562,20 +180562,20 @@ exr pZA uax aZQ -nKa +drC kMn qza ePw dAx -xrO +oum nAH -klv +wuC qmH whL eKt btV sYz -veK +ldp wkz hsN psy @@ -180585,17 +180585,17 @@ kTK eFJ gOF seR -ejG +vvd xbT rmH lVi jxi soq -woy -tDa -woy +iws +urY +iws dKM -doi +syE jgs vfi uje @@ -180604,7 +180604,7 @@ uje lqV gAm soq -mJO +gjP soq jmb soq @@ -180815,7 +180815,7 @@ sgb vRV uwy cTU -xrf +lan pZA uax uax @@ -180830,7 +180830,7 @@ qqw byL whL ged -opy +jnJ ged whL vUE @@ -180851,16 +180851,16 @@ jHX ayb meu jxK -pVQ +ccO jKQ rlu hBK -pVQ +ccO oVd mJh jpV jpV -qEt +vlF jpV iRn eNX @@ -181046,14 +181046,14 @@ avE avE avE avE -qdI +aTY iCA iCA qKh bKy fZL fZL -qdI +aTY pMW pMW pMW @@ -181108,7 +181108,7 @@ aHQ tFB vnu nUy -mdx +fhy ydr goK gal @@ -181337,7 +181337,7 @@ ufh tEF qza aIU -cbp +bXv kOl jAU psU @@ -181345,7 +181345,7 @@ vXX whL nqh dgt -iNa +kNf whL esQ rEB @@ -181365,17 +181365,17 @@ aHQ bVE kmX nUy -pVQ +ccO sPI piv ecV -pVQ +ccO qUA uCQ jUa iQC kOu -dnb +kGf fxV wZY dLO @@ -181394,7 +181394,7 @@ aaa qVr qVr jfU -sYv +glp soq soq soq @@ -181562,11 +181562,11 @@ pMW pMW pMW pMW -qdI +aTY fZL cfp iCA -qdI +aTY uRv uRv uRv @@ -181591,17 +181591,17 @@ dzw dVD cNy dzw -hLE +msn qza oAV oAV -kAo +uWn vSX -kAo +uWn oAV whL ged -qTl +gNc ged whL bMb @@ -181624,7 +181624,7 @@ vnu sRZ oxL wwP -fSS +sva wwP wwP wwP @@ -181633,9 +181633,9 @@ auc fDm aXE tYp -yaI -fVS -fVS +emP +mdf +mdf tYp tYp tYp @@ -181649,10 +181649,10 @@ qVr qVr qVr qVr -axW +jMs tsg rzt -qQe +pZM wXi soq vqe @@ -181839,7 +181839,7 @@ akr akr akr vBX -rvN +kKe uax uax uax @@ -181849,9 +181849,9 @@ jcv rpr dzw sxR -nnp +skb oAV -ihT +ccF uWi rpY ivy @@ -181880,16 +181880,16 @@ sUb amL qQc oxL -vKx +fJQ mlM bxG nDR fFR -rQo +tPZ pqV dzx hwn -sdt +qLR iiM izy tPu @@ -181897,7 +181897,7 @@ csh pof cSC pbH -ppB +uvU umu qVr qVr @@ -182075,14 +182075,14 @@ pMW pMW pMW pMW -qdI +aTY fZL fZL tCw bKy fZL fZL -qdI +aTY pMW pMW pMW @@ -182092,9 +182092,9 @@ aac aac aac aac -kQN +cew ekL -kQN +cew sLz wjP uax @@ -182135,35 +182135,35 @@ bYP cyu wxu yjY -hVp +eYS oxL -soF +qnO oGO xQN mEt vNk -noq +kTU xyt -srx +ovu ovC -lPr +dCq uiV rGj tes rGj wcB -tkl +jXF pbH mAL nKU qVr -izq +tEx bfH bfH bfH qVr -aRt -xKW +pNa +uGJ pTP qyQ qyQ @@ -182348,7 +182348,7 @@ aac aac aac aac -btk +aff jxz cdy iWz @@ -182393,7 +182393,7 @@ tSr aIt slI nUy -awN +rHj rcA doC aKy @@ -182403,31 +182403,31 @@ wwP mGo dLO jwe -lPr +dCq mlW tes uIq vkE wcB -qQk +keh pbH bmz -mfw +pIx qVr ttj bfH bfH bfH bfH -aRt -vRU +pNa +qNk xmY xVF eJQ bNx aSt aSt -ues +xAM aaa aaa aaa @@ -182591,11 +182591,11 @@ pMW pMW pMW pMW -qdI +aTY fZL cfp iCA -qdI +aTY pMW pMW pMW @@ -182609,7 +182609,7 @@ aac akr akr cTU -szH +ett uax uax uax @@ -182650,7 +182650,7 @@ hlD vyy vyy raP -bOC +uGo lEU ios aKz @@ -182676,7 +182676,7 @@ ttj bhf ttj ttj -gcl +nzg cwj ksk bsh @@ -182907,7 +182907,7 @@ aHQ aIv aHQ nUy -awN +rHj aJG uOx aKA @@ -182917,13 +182917,13 @@ wwP mGo dLO jwe -mjf +rBb kxF tes -sQR +lWv xPR kye -pYF +moQ pbH kBo kJA @@ -182933,7 +182933,7 @@ bfH bfH bfH kGv -axn +qSS cFQ xmY uLt @@ -183104,13 +183104,13 @@ avE avE avE avE -qdI +aTY iCA fZL tCw fZL fZL -qdI +aTY uRv uRv uRv @@ -183120,9 +183120,9 @@ aac aac aac aac -oyH +ggw rIx -oyH +ggw jlo wjP lPl @@ -183165,16 +183165,16 @@ aIv aHQ tJz oxL -aJI +myW lpC vTb vTb rbn -dJx +crj wWT -fDB +pWK uvB -mjf +rBb tbK kye tes @@ -183190,7 +183190,7 @@ bfH bfH bfH qVr -hew +jqK ijR ecg rUh @@ -183236,7 +183236,7 @@ avE pMW pMW pMW -cuv +bGh pMW pMW avE @@ -183381,19 +183381,19 @@ akr akr akr xAJ -wDH +tXK dZY ekQ -xkp +hHM njx ftQ sTQ lBW wex -uoH +jzW fhv oAV -hko +lvK ryS dkf xtD @@ -183402,7 +183402,7 @@ vYl vhn lSM aDv -fRE +bKY fgi cXX eOw @@ -183422,16 +183422,16 @@ sPQ ezL kBi oxL -iaN +hMG pmu mhl cli oPf -mGG +jRy odC dzx tqA -mjf +rBb rrL kye kye @@ -183439,7 +183439,7 @@ rKL jst vDu pbH -tuy +vSa cJR qVr qVr @@ -183669,7 +183669,7 @@ gay fXl jwH brm -cTR +idI xZQ stt wpK @@ -183689,9 +183689,9 @@ xiL gEU uHk tYp -fVS -fVS -fVS +mdf +mdf +mdf tYp tYp tYp @@ -183705,10 +183705,10 @@ qVr qVr qVr qVr -lsq +kvO cZH pWw -eJW +uMu mLO qVr qVr @@ -183898,7 +183898,7 @@ oTc vsg jJR udQ -kva +tNO tKh eVn eVn @@ -183935,17 +183935,17 @@ llk sWM sSr sSr -xVb +pFe dPe -sEB +ggQ xti -knA +bNa jpV gSJ sql aao jqA -hQM +fbj xti gBX dLO @@ -183964,7 +183964,7 @@ aaa qVr qVr jfU -oZN +qtB qVr qVr qVr @@ -184192,11 +184192,11 @@ mal cVG tBv feU -eIu +gOG okK xjV oIc -tCt +pAJ oMz oOZ qFx @@ -184252,9 +184252,9 @@ pMW pMW pMW pMW -nnE -nnE -nnE +tqN +tqN +tqN gFf gFf gFf @@ -184264,7 +184264,7 @@ oMI oTa tDn tDn -tMk +hfs tDn tDn bJP @@ -184408,9 +184408,9 @@ aac aac aac udQ -xZa -lHj -wzY +nIC +fQH +fPJ udQ fBJ pxD @@ -184450,9 +184450,9 @@ sNQ sPK gYO pMk -nRP +ePS pmM -nRP +ePS pMk dfE gvm @@ -184697,7 +184697,7 @@ ljn ujw ljn ljn -aBk +eRQ qTv vrW tXz @@ -184766,9 +184766,9 @@ pMW pMW pMW pMW -nnE -nnE -nnE +tqN +tqN +tqN gFf gFf oMI @@ -184778,7 +184778,7 @@ dVM dVM dVM dVM -ebK +eVl dVM dVM dVM @@ -184922,9 +184922,9 @@ aac aac aac udQ -jPl -cAj -etK +lQz +pXq +rCs udQ kSa cDP @@ -184937,7 +184937,7 @@ pRM nky jJd aBg -dDN +gba pRM pRM pRM @@ -184956,7 +184956,7 @@ ftZ vUE nSI tXz -gBu +wkQ tXz oBc tXz @@ -184964,10 +184964,10 @@ hmd bHb sed dpB -rgW +vpp gel tIh -qLg +hRa qab lWJ aBL @@ -185031,11 +185031,11 @@ gFf oMI sDY dVM -beP +pcY jkc cOc jYn -iGo +jus cVr cTV jJv @@ -185214,9 +185214,9 @@ fiW nSI hPQ vDI -lYn +nSd rMB -hbr +gAQ eoX geG ruD @@ -185232,7 +185232,7 @@ niF rQt kvt syv -ixi +qHW ybW eah syv @@ -185278,17 +185278,17 @@ pMW pMW pMW pMW -nnE -nnE -nnE -nnE +tqN +tqN +tqN +tqN vUu gFf gFf oMI sDY dVM -qEZ +lrx uaM pUz xWo @@ -185473,7 +185473,7 @@ axt eRb nWi rMB -hbr +gAQ eoX fyc vwD @@ -185543,21 +185543,21 @@ vUu gFf gFf tXU -uac +gVd dVM iqO aoh -ixm +dLS dVM dVM dVM -gLK +rOT rSB dVM fho cEb gFf -lzY +wbW pnT uqS uqS @@ -185746,7 +185746,7 @@ iqZ ptQ ptQ syv -tFh +vlm gYK bde syv @@ -185794,24 +185794,24 @@ avE avE xSS lwj -nnE -nnE -cdH +tqN +tqN +tNG jfu jfu rIa sVz -tUN +bNr aoh jLx -hnL -kZo +ffe +mgi pIQ -cnF +hhf xZx rSB dVM -uii +hBJ uqS kzR rsZ @@ -185960,7 +185960,7 @@ uNl wxv wxv uNl -kZl +hmR pRM pRM pRM @@ -186003,7 +186003,7 @@ otP aso syv syv -uhW +ubR sVG moH syv @@ -186057,9 +186057,9 @@ vUu gFf gFf tXU -rho +weS dVM -xqE +sRh njC ndt dVM @@ -186071,7 +186071,7 @@ dVM jgq xWe gFf -oAK +mrF dNi uqS uqS @@ -186225,7 +186225,7 @@ uno qUX dJm ofv -lmF +aCy lCy vPB omh @@ -186306,10 +186306,10 @@ pMW pMW pMW pMW -nnE -nnE -nnE -nnE +tqN +tqN +tqN +tqN vUu gFf gFf @@ -186518,7 +186518,7 @@ aaa syv syv kpw -iFE +lOC kpw syv aaa @@ -186577,7 +186577,7 @@ uUG lSG xsW jJv -efw +dtz jJv bcx jJv @@ -186762,7 +186762,7 @@ qbp geG rls twO -ooT +eBd nQr kro nQr @@ -186774,7 +186774,7 @@ aaa aaa aaa syv -rOX +loG xrl nKb syv @@ -186822,9 +186822,9 @@ pMW pMW pMW pMW -nnE -nnE -nnE +tqN +tqN +tqN gFf gFf oMI @@ -186834,7 +186834,7 @@ dVM dVM dVM dVM -ruw +fHR dVM dVM dVM @@ -187336,9 +187336,9 @@ pMW pMW pMW pMW -nnE -nnE -nnE +tqN +tqN +tqN gFf gFf gFf @@ -187348,7 +187348,7 @@ oMI uCh hic hic -ded +uJa hic hic vWw @@ -188026,7 +188026,7 @@ pMW pMW aac pSV -nYD +wJV wXP loQ wAh @@ -188376,7 +188376,7 @@ avE pMW pMW pMW -uLR +ylt pMW pMW avE @@ -189056,7 +189056,7 @@ pMW aac aac fmy -rub +ifU kLI kFu uCy @@ -191630,7 +191630,7 @@ pMW pMW pMW pMW -vuo +kyU pMW pMW pMW diff --git a/_maps/shuttles/emergency_medisim.dmm b/_maps/shuttles/emergency_medisim.dmm index 0780ea89d20..4e62c20d74b 100644 --- a/_maps/shuttles/emergency_medisim.dmm +++ b/_maps/shuttles/emergency_medisim.dmm @@ -701,7 +701,7 @@ iron_cost = 0; maximum_idle = 1; name = "binoculars fabricator"; - power_used = 0; + energy_used = 0; starting_amount = 25000 }, /turf/open/floor/mineral/titanium/yellow, diff --git a/_maps/shuttles/emergency_monastery.dmm b/_maps/shuttles/emergency_monastery.dmm index 960b43ad806..b68f934ca9c 100644 --- a/_maps/shuttles/emergency_monastery.dmm +++ b/_maps/shuttles/emergency_monastery.dmm @@ -189,6 +189,11 @@ /obj/structure/lattice, /turf/open/space, /area/shuttle/escape) +"cb" = ( +/obj/machinery/power/smes/full, +/obj/structure/cable, +/turf/open/floor/plating, +/area/shuttle/escape) "cu" = ( /obj/structure/table/wood, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -2401,11 +2406,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/shuttle/escape) -"Jf" = ( -/obj/machinery/power/smes/full, -/obj/structure/cable, -/turf/open/floor/plating, -/area/shuttle/escape) "Jg" = ( /obj/structure/closet/emcloset, /obj/effect/decal/cleanable/cobweb, @@ -5197,7 +5197,7 @@ JA yc yc yc -Jf +cb sf nr VN @@ -5279,7 +5279,7 @@ Tk bI vj yc -Jf +cb sf Tt dn diff --git a/_maps/shuttles/pirate_ex_interdyne.dmm b/_maps/shuttles/pirate_ex_interdyne.dmm index 17d6665bc46..9700a3808c0 100644 --- a/_maps/shuttles/pirate_ex_interdyne.dmm +++ b/_maps/shuttles/pirate_ex_interdyne.dmm @@ -62,14 +62,6 @@ "aj" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/shuttle/pirate) -"ak" = ( -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ - dir = 8 - }, -/obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/reagentgrinder/constructed, -/turf/open/floor/iron/dark, -/area/shuttle/pirate) "al" = ( /obj/machinery/loot_locator{ dir = 8 @@ -152,20 +144,6 @@ }, /turf/open/floor/iron/dark, /area/shuttle/pirate) -"aD" = ( -/obj/machinery/power/apc/auto_name/directional/north{ - cell_type = /obj/item/stock_parts/cell/bluespace; - start_charge = 100 - }, -/obj/effect/mapping_helpers/apc/cut_AI_wire, -/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, -/obj/machinery/power/smes/magical, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/shuttle/pirate) "aF" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ dir = 4; @@ -580,6 +558,20 @@ }, /turf/open/floor/plating/airless, /area/shuttle/pirate) +"rV" = ( +/obj/machinery/power/apc/auto_name/directional/north{ + cell_type = /obj/item/stock_parts/cell/bluespace; + start_charge = 100 + }, +/obj/effect/mapping_helpers/apc/cut_AI_wire, +/obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, +/obj/machinery/power/smes/magical, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/shuttle/pirate) "sP" = ( /obj/effect/turf_decal/tile/dark_blue/opposingcorners, /obj/structure/table/optable, @@ -617,63 +609,6 @@ /obj/item/surgical_drapes, /turf/open/floor/iron/dark, /area/shuttle/pirate) -"wf" = ( -/obj/effect/turf_decal/tile/dark_blue/half/contrasted, -/obj/structure/table/reinforced/plastitaniumglass, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma, -/obj/item/stack/sheet/mineral/plasma, -/obj/machinery/reagentgrinder/constructed, -/obj/item/storage/box/monkeycubes/syndicate, -/obj/item/storage/box/monkeycubes/syndicate, -/obj/item/reagent_containers/cup/bottle, -/obj/item/reagent_containers/cup/bottle, -/obj/item/reagent_containers/cup/bottle, -/obj/item/reagent_containers/cup/beaker/meta, -/obj/item/stack/sheet/mineral/plasma/thirty, -/obj/item/stack/sheet/mineral/uranium/five, -/obj/item/stack/sheet/mineral/uranium/five, -/obj/item/stack/sheet/mineral/uranium/five, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/silver, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/stack/sheet/mineral/gold, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/milk, -/obj/item/reagent_containers/condiment/milk, -/turf/open/floor/iron/dark, -/area/shuttle/pirate) "yi" = ( /obj/machinery/door/airlock/hatch{ id_tag = "piratebridgebolt"; @@ -766,6 +701,71 @@ }, /turf/open/floor/plating, /area/shuttle/pirate) +"Lv" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 8 + }, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/machinery/reagentgrinder, +/turf/open/floor/iron/dark, +/area/shuttle/pirate) +"MH" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/item/stack/sheet/mineral/plasma, +/obj/machinery/reagentgrinder, +/obj/item/storage/box/monkeycubes/syndicate, +/obj/item/storage/box/monkeycubes/syndicate, +/obj/item/reagent_containers/cup/bottle, +/obj/item/reagent_containers/cup/bottle, +/obj/item/reagent_containers/cup/bottle, +/obj/item/reagent_containers/cup/beaker/meta, +/obj/item/stack/sheet/mineral/plasma/thirty, +/obj/item/stack/sheet/mineral/uranium/five, +/obj/item/stack/sheet/mineral/uranium/five, +/obj/item/stack/sheet/mineral/uranium/five, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/silver, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/stack/sheet/mineral/gold, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/turf/open/floor/iron/dark, +/area/shuttle/pirate) "Oe" = ( /obj/effect/turf_decal/tile/dark_blue{ dir = 4 @@ -871,7 +871,7 @@ af aj ap aw -ak +Lv bF aj af @@ -983,7 +983,7 @@ fY bX iD aj -aD +rV aG ep aj @@ -1106,7 +1106,7 @@ aj Rq bu VF -wf +MH aj af af diff --git a/code/__DEFINES/apc_defines.dm b/code/__DEFINES/apc_defines.dm index 4cc5e31cb10..ee6c2bb67d6 100644 --- a/code/__DEFINES/apc_defines.dm +++ b/code/__DEFINES/apc_defines.dm @@ -58,7 +58,7 @@ /// How long it takes an ethereal to drain or charge APCs. Also used as a spam limiter. #define APC_DRAIN_TIME (7.5 SECONDS) /// How much power ethereals gain/drain from APCs. -#define APC_POWER_GAIN 200 +#define APC_POWER_GAIN (0.2 * STANDARD_CELL_CHARGE) // Wires & EMPs: /// The wire value used to reset the APCs wires after one's EMPed. diff --git a/code/__DEFINES/combat.dm b/code/__DEFINES/combat.dm index e9b6d0ce314..847fd52cc22 100644 --- a/code/__DEFINES/combat.dm +++ b/code/__DEFINES/combat.dm @@ -389,3 +389,8 @@ GLOBAL_LIST_INIT(arm_zones, list(BODY_ZONE_L_ARM, BODY_ZONE_R_ARM)) #define DEATHMATCH_NOT_PLAYING 0 #define DEATHMATCH_PRE_PLAYING 1 #define DEATHMATCH_PLAYING 2 + +/// The amount of energy needed to increase the burn force by 1 damage during electrocution. +#define JOULES_PER_DAMAGE (25 KILO JOULES) +/// Calculates the amount of burn force when applying this much energy to a mob via electrocution from an energy source. +#define ELECTROCUTE_DAMAGE(energy) (energy >= 1 KILO JOULES ? clamp(20 + round(energy / JOULES_PER_DAMAGE), 20, 195) + rand(-5,5) : 0) diff --git a/code/__DEFINES/devices.dm b/code/__DEFINES/devices.dm index 5e63d9bd6d3..8f98f040dbc 100644 --- a/code/__DEFINES/devices.dm +++ b/code/__DEFINES/devices.dm @@ -8,8 +8,8 @@ #define INSPECTOR_PRINT_SOUND_MODE_FAFAFOGGY 4 #define BANANIUM_CLOWN_INSPECTOR_PRINT_SOUND_MODE_LAST 4 #define CLOWN_INSPECTOR_PRINT_SOUND_MODE_LAST 4 -#define INSPECTOR_POWER_USAGE_HONK 15 -#define INSPECTOR_POWER_USAGE_NORMAL 5 +#define INSPECTOR_ENERGY_USAGE_HONK (15 KILO JOULES) +#define INSPECTOR_ENERGY_USAGE_NORMAL (5 KILO JOULES) #define INSPECTOR_TIME_MODE_SLOW 1 #define INSPECTOR_TIME_MODE_FAST 2 #define INSPECTOR_TIME_MODE_HONK 3 diff --git a/code/__DEFINES/lights.dm b/code/__DEFINES/lights.dm index e137744195c..8830f919472 100644 --- a/code/__DEFINES/lights.dm +++ b/code/__DEFINES/lights.dm @@ -1,5 +1,5 @@ ///How much power emergency lights will consume per tick -#define LIGHT_EMERGENCY_POWER_USE 0.2 +#define LIGHT_EMERGENCY_POWER_USE (0.1 KILO WATTS) // status values shared between lighting fixtures and items #define LIGHT_OK 0 #define LIGHT_EMPTY 1 @@ -14,7 +14,7 @@ ///Amount of time that takes an ethereal to take energy from the lights #define LIGHT_DRAIN_TIME (2.5 SECONDS) ///Amount of charge the ethereal gain after the drain -#define LIGHT_POWER_GAIN 35 +#define LIGHT_POWER_GAIN (0.035 * STANDARD_CELL_CHARGE) ///How many reagents the lights can hold #define LIGHT_REAGENT_CAPACITY 20 diff --git a/code/__DEFINES/machines.dm b/code/__DEFINES/machines.dm index 1e0dd23078d..4c44ce03ed3 100644 --- a/code/__DEFINES/machines.dm +++ b/code/__DEFINES/machines.dm @@ -6,7 +6,8 @@ #define AREA_USAGE_STATIC_EQUIP 4 #define AREA_USAGE_STATIC_LIGHT 5 #define AREA_USAGE_STATIC_ENVIRON 6 -#define AREA_USAGE_LEN AREA_USAGE_STATIC_ENVIRON // largest idx +#define AREA_USAGE_APC_CHARGE 7 +#define AREA_USAGE_LEN AREA_USAGE_APC_CHARGE // largest idx /// Index of the first dynamic usage channel #define AREA_USAGE_DYNAMIC_START AREA_USAGE_EQUIP @@ -27,8 +28,8 @@ #define ACTIVE_POWER_USE 2 ///Base global power consumption for idling machines -#define BASE_MACHINE_IDLE_CONSUMPTION 100 -///Base global power consumption for active machines +#define BASE_MACHINE_IDLE_CONSUMPTION (100 WATTS) +///Base global power consumption for active machines. The unit is ambiguous (joules or watts) depending on the use case for dynamic users. #define BASE_MACHINE_ACTIVE_CONSUMPTION (BASE_MACHINE_IDLE_CONSUMPTION * 10) /// Bitflags for a machine's preferences on when it should start processing. For use with machinery's `processing_flags` var. diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index 82829c58c7d..a14e781ea8b 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -294,14 +294,14 @@ //Used as an upper limit for species that continuously gain nutriment #define NUTRITION_LEVEL_ALMOST_FULL 535 -//Charge levels for Ethereals +//Charge levels for Ethereals, in joules. #define ETHEREAL_CHARGE_NONE 0 -#define ETHEREAL_CHARGE_LOWPOWER 400 -#define ETHEREAL_CHARGE_NORMAL 1000 -#define ETHEREAL_CHARGE_ALMOSTFULL 1500 -#define ETHEREAL_CHARGE_FULL 2000 -#define ETHEREAL_CHARGE_OVERLOAD 2500 -#define ETHEREAL_CHARGE_DANGEROUS 3000 +#define ETHEREAL_CHARGE_LOWPOWER (0.4 * STANDARD_CELL_CHARGE) +#define ETHEREAL_CHARGE_NORMAL (1 * STANDARD_CELL_CHARGE) +#define ETHEREAL_CHARGE_ALMOSTFULL (1.5 * STANDARD_CELL_CHARGE) +#define ETHEREAL_CHARGE_FULL (2 * STANDARD_CELL_CHARGE) +#define ETHEREAL_CHARGE_OVERLOAD (2.5 * STANDARD_CELL_CHARGE) +#define ETHEREAL_CHARGE_DANGEROUS (3 * STANDARD_CELL_CHARGE) #define CRYSTALIZE_COOLDOWN_LENGTH (120 SECONDS) @@ -447,7 +447,7 @@ #define DOOR_CRUSH_DAMAGE 15 //the amount of damage that airlocks deal when they crush you #define HUNGER_FACTOR 0.05 //factor at which mob nutrition decreases -#define ETHEREAL_CHARGE_FACTOR 0.8 //factor at which ethereal's charge decreases per second +#define ETHEREAL_DISCHARGE_RATE (8e-4 * STANDARD_CELL_CHARGE) // Rate at which ethereal stomach charge decreases /// How much nutrition eating clothes as moth gives and drains #define CLOTHING_NUTRITION_GAIN 15 #define REAGENTS_METABOLISM 0.2 //How many units of reagent are consumed per second, by default. diff --git a/code/__DEFINES/mod.dm b/code/__DEFINES/mod.dm index e0b7d6ff4a3..be59793927f 100644 --- a/code/__DEFINES/mod.dm +++ b/code/__DEFINES/mod.dm @@ -1,8 +1,8 @@ /// Default value for the max_complexity var on MODsuits #define DEFAULT_MAX_COMPLEXITY 15 -/// Default cell drain per process on MODsuits -#define DEFAULT_CHARGE_DRAIN 5 +/// The default cell drain of a modsuit. The standard modsuit active power usage drains this much energy per modsuit second. +#define DEFAULT_CHARGE_DRAIN (0.005 * STANDARD_CELL_CHARGE) // A standard cell lasts 200 seconds with this on active power usage, while a high power one lasts 2,000 seconds. /// Default time for a part to seal #define MOD_ACTIVATION_STEP_TIME (2 SECONDS) diff --git a/code/__DEFINES/power.dm b/code/__DEFINES/power.dm index 65c83dd6545..0eda3669a71 100644 --- a/code/__DEFINES/power.dm +++ b/code/__DEFINES/power.dm @@ -10,12 +10,19 @@ #define SOLAR_TRACK_TIMED 1 #define SOLAR_TRACK_AUTO 2 -///conversion ratio from joules to watts -#define WATTS / 0.002 -///conversion ratio from watts to joules -#define JOULES * 0.002 +///The watt is the standard unit of power for this codebase. Do not change this. +#define WATT 1 +///The joule is the standard unit of energy for this codebase. Do not change this. +#define JOULE 1 +///The watt is the standard unit of power for this codebase. You can use this with other defines to clarify that it will be multiplied by time. +#define WATTS * WATT +///The joule is the standard unit of energy for this codebase. You can use this with other defines to clarify that it will not be multiplied by time. +#define JOULES * JOULE -GLOBAL_VAR_INIT(CHARGELEVEL, 0.001) // Cap for how fast cells charge, as a percentage-per-tick (.001 means cellcharge is capped to 1% per second) +///The amount of energy, in joules, a standard powercell has. +#define STANDARD_CELL_CHARGE (1 MEGA JOULES) // 1 MJ. + +GLOBAL_VAR_INIT(CHARGELEVEL, 0.01) // Cap for how fast cells charge, as a percentage per second (.01 means cellcharge is capped to 1% per second) // Converts cable layer to its human readable name GLOBAL_LIST_INIT(cable_layer_to_name, list( diff --git a/code/__DEFINES/projectiles.dm b/code/__DEFINES/projectiles.dm index 58f25ac39f1..e471fe2324d 100644 --- a/code/__DEFINES/projectiles.dm +++ b/code/__DEFINES/projectiles.dm @@ -82,8 +82,9 @@ #define RETURN_POINT_VECTOR(ATOM, ANGLE, SPEED) (new /datum/point/vector(ATOM, null, null, null, null, ANGLE, SPEED)) #define RETURN_POINT_VECTOR_INCREMENT(ATOM, ANGLE, SPEED, AMT) (new /datum/point/vector(ATOM, null, null, null, null, ANGLE, SPEED, AMT)) -/// The amount of energy that a standard energy weapon cell can hold -#define STANDARD_CELL_CHARGE 1000 +///The self charging rate of energy guns that magically recharge themselves, in watts. +#define STANDARD_ENERGY_GUN_SELF_CHARGE_RATE (0.05 * STANDARD_CELL_CHARGE) + /// Macro to turn a number of laser shots into an energy cost, based on the above define /// e.g. LASER_SHOTS(12, STANDARD_CELL_CHARGE) means 12 shots #define LASER_SHOTS(X, MAX_CHARGE) (((100 * MAX_CHARGE) - ((100 * MAX_CHARGE) % X)) / (100 * X)) // I wish I could just use round, but it can't be used in datum members diff --git a/code/__DEFINES/robots.dm b/code/__DEFINES/robots.dm index c9d903aac2b..a31a2c1b77e 100644 --- a/code/__DEFINES/robots.dm +++ b/code/__DEFINES/robots.dm @@ -34,6 +34,10 @@ /// Special value to reset cyborg's lamp_cooldown #define BORG_LAMP_CD_RESET -1 +/// How many watts per lamp power is consumed while the lamp is on. +#define BORG_LAMP_POWER_CONSUMPTION (1000 WATTS) +/// The minimum power consumption of a cyborg. +#define BORG_MINIMUM_POWER_CONSUMPTION (500 WATTS) //Module slot define ///The third module slots is disabed. diff --git a/code/__DEFINES/si.dm b/code/__DEFINES/si.dm new file mode 100644 index 00000000000..b63f048e0b3 --- /dev/null +++ b/code/__DEFINES/si.dm @@ -0,0 +1,21 @@ +// Prefix values. +#define QUECTO * 1e-30 +#define RONTO * 1e-27 +#define YOCTO * 1e-24 +#define ZEPTO * 1e-21 +#define ATTO * 1e-18 +#define FEMPTO * 1e-15 +#define PICO * 1e-12 +#define NANO * 1e-9 +#define MICRO * 1e-6 +#define MILLI * 1e-3 +#define KILO * 1e3 +#define MEGA * 1e6 +#define GIGA * 1e9 +#define TERA * 1e12 +#define PETA * 1e15 +#define EXA * 1e18 +#define ZETTA * 1e21 +#define YOTTA * 1e24 +#define RONNA * 1e27 +#define QUETTA * 1e30 diff --git a/code/__DEFINES/subsystems.dm b/code/__DEFINES/subsystems.dm index 2002e899a61..36a0e8b411c 100644 --- a/code/__DEFINES/subsystems.dm +++ b/code/__DEFINES/subsystems.dm @@ -303,6 +303,11 @@ #define SSEXPLOSIONS_MOVABLES 2 #define SSEXPLOSIONS_THROWS 3 +// Machines subsystem subtasks. +#define SSMACHINES_APCS_EARLY 1 +#define SSMACHINES_MACHINES 2 +#define SSMACHINES_APCS_LATE 3 + // Wardrobe subsystem tasks #define SSWARDROBE_STOCK 1 #define SSWARDROBE_INSPECT 2 diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index f9a17a3e235..473f62ae6b1 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -804,9 +804,6 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_VENTCRAWLER_ALWAYS "ventcrawler_always" #define TRAIT_VENTCRAWLER_NUDE "ventcrawler_nude" -/// Minor trait used for beakers, or beaker-ishes. [/obj/item/reagent_containers], to show that they've been used in a reagent grinder. -#define TRAIT_MAY_CONTAIN_BLENDED_DUST "may_contain_blended_dust" - /// Trait put on [/mob/living/carbon/human]. If that mob has a crystal core, also known as an ethereal heart, it will not try to revive them if the mob dies. #define TRAIT_CANNOT_CRYSTALIZE "cannot_crystalize" diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index ead9d54ebaa..0271b2e4601 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -154,27 +154,46 @@ var/prefix = prefixes[prefix_index] . = list(SI_COEFFICIENT = coefficient, SI_UNIT = " [prefix][unit]") -///Format a power value in prefixed watts. -/proc/display_power(powerused) - return siunit(powerused, "W", 3) +/**Format a power value in prefixed watts. + * Converts from energy if convert is true. + * Args: + * - power: The value of power to format. + * - convert: Whether to convert this from joules. + * - datum/controller/subsystem/scheduler: used in the conversion + * Returns: The string containing the formatted power. + */ +/proc/display_power(power, convert = TRUE, datum/controller/subsystem/scheduler = SSmachines) + power = convert ? energy_to_power(power, scheduler) : power + return siunit(power, "W", 3) -///Format an energy value in prefixed joules. -/proc/display_joules(units) +/** + * Format an energy value in prefixed joules. + * Arguments + * + * * units - the value t convert + */ +/proc/display_energy(units) return siunit(units, "J", 3) -/proc/joules_to_energy(joules) - return joules * (1 SECONDS) / SSmachines.wait +/** + * Converts the joule to the watt, assuming SSmachines tick rate. + * Arguments + * + * * joules - the value in joules to convert + * * datum/controller/subsystem/scheduler - the subsystem whos wait time is used in the conversion + */ +/proc/energy_to_power(joules, datum/controller/subsystem/scheduler = SSmachines) + return joules * (1 SECONDS) / scheduler.wait -/proc/energy_to_joules(energy_units) - return energy_units * SSmachines.wait / (1 SECONDS) - -///Format an energy value measured in Power Cell units. -/proc/display_energy(units) - // APCs process every (SSmachines.wait * 0.1) seconds, and turn 1 W of - // excess power into watts when charging cells. - // With the current configuration of wait=20 and CELLRATE=0.002, this - // means that one unit is 1 kJ. - return display_joules(energy_to_joules(units) WATTS) +/** + * Converts the watt to the joule, assuming SSmachines tick rate. + * * Arguments + * + * * joules - the value in joules to convert + * * datum/controller/subsystem/scheduler - the subsystem whos wait time is used in the conversion + */ +/proc/power_to_energy(watts, datum/controller/subsystem/scheduler = SSmachines) + return watts * scheduler.wait / (1 SECONDS) ///chances are 1:value. anyprob(1) will always return true /proc/anyprob(value) diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 46640c05f2f..da2abb41739 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -583,9 +583,6 @@ GLOBAL_LIST_INIT(traits_by_type, list( /obj/item/organ/internal/lungs = list( "TRAIT_SPACEBREATHING" = TRAIT_SPACEBREATHING, ), - /obj/item/reagent_containers = list( - "TRAIT_MAY_CONTAIN_BLENDED_DUST" = TRAIT_MAY_CONTAIN_BLENDED_DUST, - ), /obj/machinery/modular_computer = list( "TRAIT_MODPC_INTERACTING_WITH_FRAME" = TRAIT_MODPC_INTERACTING_WITH_FRAME, ), diff --git a/code/controllers/subsystem/machines.dm b/code/controllers/subsystem/machines.dm index 8a0b17f195b..3e07eca8a2e 100644 --- a/code/controllers/subsystem/machines.dm +++ b/code/controllers/subsystem/machines.dm @@ -12,6 +12,9 @@ SUBSYSTEM_DEF(machines) var/list/processing = list() var/list/currentrun = list() + var/list/apc_early_processing = list() + var/list/apc_late_processing = list() + var/current_part = SSMACHINES_APCS_EARLY ///List of all powernets on the server. var/list/datum/powernet/powernets = list() @@ -43,7 +46,7 @@ SUBSYSTEM_DEF(machines) for(var/next_type in typesof(machine_type)) var/list/found_machines = machines_by_type[next_type] if(found_machines) - machines += found_machines + machines += found_machines return machines @@ -79,19 +82,52 @@ SUBSYSTEM_DEF(machines) if (!resumed) for(var/datum/powernet/powernet as anything in powernets) powernet.reset() //reset the power state. + current_part = SSMACHINES_APCS_EARLY + src.currentrun = apc_early_processing.Copy() + + //APC early processing. Draws static power usages from their grids. + if(current_part == SSMACHINES_APCS_EARLY) + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(currentrun.len) + var/obj/machinery/power/apc/apc = currentrun[currentrun.len] + currentrun.len-- + if(QDELETED(apc) || apc.early_process(wait * 0.1) == PROCESS_KILL) + apc_early_processing -= apc + apc.datum_flags &= ~DF_ISPROCESSING + if(MC_TICK_CHECK) + return + current_part = SSMACHINES_MACHINES src.currentrun = processing.Copy() - //cache for sanic speed (lists are references anyways) - var/list/currentrun = src.currentrun + //General machine processing. Their power usage can be dynamic and based on surplus power, so they come after static power usage have been applied. + if(current_part == SSMACHINES_MACHINES) + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(currentrun.len) + var/obj/machinery/thing = currentrun[currentrun.len] + currentrun.len-- + if(QDELETED(thing) || thing.process(wait * 0.1) == PROCESS_KILL) + processing -= thing + thing.datum_flags &= ~DF_ISPROCESSING + if (MC_TICK_CHECK) + return + current_part = SSMACHINES_APCS_LATE + src.currentrun = apc_late_processing.Copy() - while(currentrun.len) - var/obj/machinery/thing = currentrun[currentrun.len] - currentrun.len-- - if(QDELETED(thing) || thing.process(wait * 0.1) == PROCESS_KILL) - processing -= thing - thing.datum_flags &= ~DF_ISPROCESSING - if (MC_TICK_CHECK) - return + //APC late processing. APCs will use the remaining power on the grid to charge their cells if needed. + //This is applied at the end so charging APCs don't cause others to discharge by taking all the power from the grid before machines use power. + if(current_part == SSMACHINES_APCS_LATE) + //cache for sanic speed (lists are references anyways) + var/list/currentrun = src.currentrun + while(currentrun.len) + var/obj/machinery/power/apc/apc = currentrun[currentrun.len] + currentrun.len-- + if(QDELETED(apc) || apc.late_process(wait * 0.1) == PROCESS_KILL) + apc_late_processing -= apc + apc.datum_flags &= ~DF_ISPROCESSING + if(MC_TICK_CHECK) + return /datum/controller/subsystem/machines/proc/setup_template_powernets(list/cables) var/obj/structure/cable/PC diff --git a/code/datums/actions/mobs/charge_apc.dm b/code/datums/actions/mobs/charge_apc.dm index 74ffda6a603..47436beab76 100644 --- a/code/datums/actions/mobs/charge_apc.dm +++ b/code/datums/actions/mobs/charge_apc.dm @@ -1,11 +1,12 @@ +///how much charge are we giving off to an APC? +#define CHARGE_AMOUNT (80 KILO JOULES) + /datum/action/cooldown/mob_cooldown/charge_apc name = "Charge APCs" button_icon = 'icons/obj/machines/wallmounts.dmi' button_icon_state = "apc0" desc = "Give off charge to an APC." cooldown_time = 5 SECONDS - ///how much charge are we giving off to an APC? - var/given_charge = 80 /datum/action/cooldown/mob_cooldown/charge_apc/Activate(atom/target_atom) if(!istype(target_atom,/obj/machinery/power/apc)) @@ -14,6 +15,8 @@ if(!target_apc.cell) return new /obj/effect/particle_effect/sparks(target_apc.loc) - target_apc.cell.give(given_charge) + target_apc.cell.give(CHARGE_AMOUNT) StartCooldown() return TRUE + +#undef CHARGE_AMOUNT diff --git a/code/datums/components/riding/riding_vehicle.dm b/code/datums/components/riding/riding_vehicle.dm index d6c5a665d15..efe0becd9fb 100644 --- a/code/datums/components/riding/riding_vehicle.dm +++ b/code/datums/components/riding/riding_vehicle.dm @@ -349,4 +349,4 @@ . = ..() var/obj/vehicle/ridden/wheelchair/motorized/our_chair = parent if(istype(our_chair) && our_chair.power_cell) - our_chair.power_cell.use(our_chair.power_usage / max(our_chair.power_efficiency, 1) * 0.05) + our_chair.power_cell.use(our_chair.energy_usage / max(our_chair.power_efficiency, 1) * 0.05) diff --git a/code/datums/components/shell.dm b/code/datums/components/shell.dm index 4646d30fc31..5b6361b9ee6 100644 --- a/code/datums/components/shell.dm +++ b/code/datums/components/shell.dm @@ -25,7 +25,7 @@ COOLDOWN_DECLARE(power_used_cooldown) /// The maximum power that the shell can use in a minute before entering overheating and destroying itself. - var/max_power_use_in_minute = 20000 + var/max_power_use_in_minute = 20 * STANDARD_CELL_CHARGE /datum/component/shell/Initialize(unremovable_circuit_components, capacity, shell_flags, starting_circuit) . = ..() @@ -294,7 +294,7 @@ if(attached_circuit) remove_circuit() return - location.use_power(power_to_use, AREA_USAGE_EQUIP) + location.apc?.terminal?.use_energy(power_to_use, channel = AREA_USAGE_EQUIP) power_used_in_minute += power_to_use COOLDOWN_START(src, power_used_cooldown, 1 MINUTES) return COMPONENT_OVERRIDE_POWER_USAGE @@ -327,7 +327,7 @@ else if(circuitboard.loc != parent_atom) circuitboard.forceMove(parent_atom) attached_circuit.set_shell(parent_atom) - + // call after set_shell() sets on to true if(shell_flags & SHELL_FLAG_REQUIRE_ANCHOR) attached_circuit.set_on(parent_atom.anchored) diff --git a/code/datums/mutations/touch.dm b/code/datums/mutations/touch.dm index 743f2b3fbf8..ca94f109ac6 100644 --- a/code/datums/mutations/touch.dm +++ b/code/datums/mutations/touch.dm @@ -38,7 +38,7 @@ ///This var decides if the spell should chain, dictated by presence of power chromosome var/chain = FALSE ///Affects damage, should do about 1 per limb - var/zap_power = 7500 + var/zap_power = 7.5 KILO JOULES ///Range of tesla shock bounces var/zap_range = 7 ///flags that dictate what the tesla shock can interact with, Can only damage mobs, Cannot damage machines or generate energy @@ -60,7 +60,7 @@ span_userdanger("[caster] electrocutes you!"), ) if(chain) - tesla_zap(source = victim, zap_range = zap_range, power = zap_power, cutoff = 1e3, zap_flags = zap_flags) + tesla_zap(source = victim, zap_range = zap_range, power = zap_power, cutoff = 1 KILO JOULES, zap_flags = zap_flags) carbon_victim.visible_message(span_danger("An arc of electricity explodes out of [victim]!")) return TRUE @@ -72,7 +72,7 @@ span_userdanger("[caster] electrocutes you!"), ) if(chain) - tesla_zap(source = victim, zap_range = zap_range, power = zap_power, cutoff = 1e3, zap_flags = zap_flags) + tesla_zap(source = victim, zap_range = zap_range, power = zap_power, cutoff = 1 KILO JOULES, zap_flags = zap_flags) living_victim.visible_message(span_danger("An arc of electricity explodes out of [victim]!")) return TRUE diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 64b4ee9bca4..8d8977a6451 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -79,6 +79,7 @@ var/power_equip = TRUE var/power_light = TRUE var/power_environ = TRUE + var/power_apc_charge = TRUE var/has_gravity = FALSE @@ -105,7 +106,8 @@ ///Typepath to limit the areas (subtypes included) that atoms in this area can smooth with. Used for shuttles. var/area/area_limited_icon_smoothing - var/list/power_usage + /// The energy usage of the area in the last machines SS tick. + var/list/energy_usage /// Wire assignment for airlocks in this area var/airlock_wires = /datum/wires/airlock @@ -161,7 +163,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) if (area_flags & UNIQUE_AREA) GLOB.areas_by_type[type] = src GLOB.areas += src - power_usage = new /list(AREA_USAGE_LEN) // Some atoms would like to use power in Initialize() + energy_usage = new /list(AREA_USAGE_LEN) // Some atoms would like to use power in Initialize() alarm_manager = new(src) // just in case return ..() @@ -473,7 +475,7 @@ GLOBAL_LIST_EMPTY(teleportlocs) /** - * Add a static amount of power load to an area + * Add a static amount of power load to an area. The value is assumed as the watt. * * Possible channels * *AREA_USAGE_STATIC_EQUIP @@ -481,12 +483,13 @@ GLOBAL_LIST_EMPTY(teleportlocs) * *AREA_USAGE_STATIC_ENVIRON */ /area/proc/addStaticPower(value, powerchannel) + value = power_to_energy(value) switch(powerchannel) if(AREA_USAGE_STATIC_START to AREA_USAGE_STATIC_END) - power_usage[powerchannel] += value + energy_usage[powerchannel] += value /** - * Remove a static amount of power load to an area + * Remove a static amount of power load to an area. The value is assumed as the watt. * * Possible channels * *AREA_USAGE_STATIC_EQUIP @@ -494,9 +497,10 @@ GLOBAL_LIST_EMPTY(teleportlocs) * *AREA_USAGE_STATIC_ENVIRON */ /area/proc/removeStaticPower(value, powerchannel) + value = power_to_energy(value) switch(powerchannel) if(AREA_USAGE_STATIC_START to AREA_USAGE_STATIC_END) - power_usage[powerchannel] -= value + energy_usage[powerchannel] -= value /** * Clear all non-static power usage in area @@ -504,18 +508,21 @@ GLOBAL_LIST_EMPTY(teleportlocs) * Clears all power used for the dynamic equipment, light and environment channels */ /area/proc/clear_usage() - power_usage[AREA_USAGE_EQUIP] = 0 - power_usage[AREA_USAGE_LIGHT] = 0 - power_usage[AREA_USAGE_ENVIRON] = 0 + energy_usage[AREA_USAGE_EQUIP] = 0 + energy_usage[AREA_USAGE_LIGHT] = 0 + energy_usage[AREA_USAGE_ENVIRON] = 0 + energy_usage[AREA_USAGE_APC_CHARGE] = 0 /** * Add a power value amount to the stored used_x variables */ -/area/proc/use_power(amount, chan) +/area/proc/use_energy(amount, chan) switch(chan) - if(AREA_USAGE_DYNAMIC_START to AREA_USAGE_DYNAMIC_END) - power_usage[chan] += amount + if(AREA_USAGE_STATIC_START to AREA_USAGE_STATIC_END) + return + else + energy_usage[chan] += amount /** * Call back when an atom enters an area diff --git a/code/game/area/areas/holodeck.dm b/code/game/area/areas/holodeck.dm index b0691803bb7..9a0ef3711e4 100644 --- a/code/game/area/areas/holodeck.dm +++ b/code/game/area/areas/holodeck.dm @@ -33,7 +33,7 @@ ASSERT(!istype(A, /area/station/holodeck)) return ..() -/area/station/holodeck/use_power(amount, chan) +/area/station/holodeck/use_energy(amount, chan) if(!linked) return FALSE var/area/A = get_area(linked) diff --git a/code/game/machinery/_machinery.dm b/code/game/machinery/_machinery.dm index 416dbef2103..6d89142e414 100644 --- a/code/game/machinery/_machinery.dm +++ b/code/game/machinery/_machinery.dm @@ -57,13 +57,13 @@ * * * Default definition uses 'use_power', 'power_channel', 'active_power_usage', - * 'idle_power_usage', 'powered()', and 'use_power()' implement behavior. + * 'idle_power_usage', 'powered()', and 'use_energy()' implement behavior. * * powered(chan = -1) 'modules/power/power.dm' * Checks to see if area that contains the object has power available for power * channel given in 'chan'. -1 defaults to power_channel * - * use_power(amount, chan=-1) 'modules/power/power.dm' + * use_energy(amount, chan=-1) 'modules/power/power.dm' * Deducts 'amount' from the power channel 'chan' of the area that contains the object. * * power_change() 'modules/power/power.dm' @@ -304,7 +304,7 @@ . = ..() if(!use_power || machine_stat || (. & EMP_PROTECT_SELF)) return - use_power(7500/severity) + use_energy(7.5 KILO JOULES / severity) new /obj/effect/temp_visual/emp(loc) if(!prob(70/severity)) diff --git a/code/game/machinery/announcement_system.dm b/code/game/machinery/announcement_system.dm index df3e402525d..edb945f483e 100644 --- a/code/game/machinery/announcement_system.dm +++ b/code/game/machinery/announcement_system.dm @@ -99,7 +99,7 @@ GLOBAL_LIST_EMPTY(announcement_systems) /// Sends a message to the appropriate channels. /obj/machinery/announcement_system/proc/broadcast(message, list/channels) - use_power(active_power_usage) + use_energy(active_power_usage) if(channels.len == 0) radio.talk_into(src, message, null) else diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index 4649d5ac20c..4fbfe2d37bf 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -4,7 +4,8 @@ icon = 'icons/obj/machines/lathes.dmi' icon_state = "autolathe" density = TRUE - active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 0.5 + //Energy cost per full stack of sheets worth of materials used. Material insertion is 40% of this. + active_power_usage = 25 * BASE_MACHINE_ACTIVE_CONSUMPTION circuit = /obj/item/circuitboard/machine/autolathe layer = BELOW_OBJ_LAYER processing_flags = NONE @@ -96,7 +97,7 @@ SIGNAL_HANDLER //we use initial(active_power_usage) because higher tier parts will have higher active usage but we have no benifit from it - if(directly_use_power(ROUND_UP((amount_inserted / (MAX_STACK_SIZE * SHEET_MATERIAL_AMOUNT)) * 0.02 * initial(active_power_usage)))) + if(directly_use_energy(ROUND_UP((amount_inserted / (MAX_STACK_SIZE * SHEET_MATERIAL_AMOUNT)) * 0.4 * initial(active_power_usage)))) flick_overlay_view(mutable_appearance('icons/obj/machines/lathes.dmi', "autolathe_mat"), 1 SECONDS) var/datum/material/highest_mat_ref @@ -283,7 +284,7 @@ var/charge_per_item = 0 for(var/material in design.materials) charge_per_item += design.materials[material] - charge_per_item = ROUND_UP((charge_per_item / (MAX_STACK_SIZE * SHEET_MATERIAL_AMOUNT)) * material_cost_coefficient * 0.05 * active_power_usage) + charge_per_item = ROUND_UP((charge_per_item / (MAX_STACK_SIZE * SHEET_MATERIAL_AMOUNT)) * material_cost_coefficient * active_power_usage) var/build_time_per_item = (design.construction_time * design.lathe_time_factor) ** 0.8 //do the printing sequentially @@ -320,11 +321,22 @@ finalize_build() return - if(!is_operational || !directly_use_power(charge_per_item)) + if(!is_operational) say("Unable to continue production, power failure.") finalize_build() return + if(!directly_use_energy(charge_per_item)) // provide the wait time until lathe is ready + var/area/my_area = get_area(src) + var/obj/machinery/power/apc/my_apc = my_area.apc + var/charging_wait = my_apc.time_to_charge(charge_per_item) + if(!isnull(charging_wait)) + say("Unable to continue production, APC overload. Wait [DisplayTimeText(charging_wait, round_seconds_to = 1)] and try again.") + else + say("Unable to continue production, power grid overload.") + finalize_build() + return + var/is_stack = ispath(design.build_path, /obj/item/stack) if(!materials.has_materials(materials_needed, material_cost_coefficient, is_stack ? items_remaining : 1)) say("Unable to continue production, missing materials.") diff --git a/code/game/machinery/botlaunchpad.dm b/code/game/machinery/botlaunchpad.dm index 0744954257a..c8004af84ba 100644 --- a/code/game/machinery/botlaunchpad.dm +++ b/code/game/machinery/botlaunchpad.dm @@ -44,6 +44,10 @@ user.balloon_alert(user, "too many bots on the pad!") return possible_bot = robot // We don't change the launched_bot var here because we are not sure if there is another bot on the pad. + + if(!use_energy(active_power_usage, force = FALSE)) + balloon_alert(user, "not enough energy!") + return launched_bot = WEAKREF(possible_bot) podspawn(list( "target" = get_turf(src), @@ -51,7 +55,6 @@ "style" = STYLE_SEETHROUGH, "reverse_dropoff_coords" = list(reverse_turf.x, reverse_turf.y, reverse_turf.z) )) - use_power(active_power_usage) /obj/machinery/botpad/proc/recall(mob/living/user) var/atom/our_bot = launched_bot?.resolve() diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index ccb21be468c..552afbb4ed8 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -228,7 +228,7 @@ flick_overlay_view("[base_icon_state]-overlay-error", 1 SECONDS) return - use_power(5) + use_energy(5 JOULES) flick_overlay_view("[base_icon_state]-overlay-success", 1 SECONDS) if(device) diff --git a/code/game/machinery/cell_charger.dm b/code/game/machinery/cell_charger.dm index 89b092bf367..ae3ae36e51b 100644 --- a/code/game/machinery/cell_charger.dm +++ b/code/game/machinery/cell_charger.dm @@ -7,7 +7,7 @@ circuit = /obj/item/circuitboard/machine/cell_charger pass_flags = PASSTABLE var/obj/item/stock_parts/cell/charging = null - var/charge_rate = 250 + var/charge_rate = 250 KILO WATTS /* OVERWRITTEN IN modular_skyrat\modules\aesthetics\cells\cell.dm /obj/machinery/cell_charger/update_overlays() @@ -33,7 +33,7 @@ if(charging) . += "Current charge: [round(charging.percent(), 1)]%." if(in_range(user, src) || isobserver(user)) - . += span_notice("The status display reads: Charging power: [charge_rate]W.") + . += span_notice("The status display reads: Charging power: [display_power(charge_rate, convert = FALSE)].") /obj/machinery/cell_charger/wrench_act(mob/living/user, obj/item/tool) . = ..() @@ -133,7 +133,7 @@ /obj/machinery/cell_charger/RefreshParts() . = ..() - charge_rate = 250 + charge_rate = 250 KILO WATTS for(var/datum/stock_part/capacitor/capacitor in component_parts) charge_rate *= capacitor.tier @@ -143,10 +143,11 @@ if(charging.percent() >= 100) return - var/main_draw = use_power_from_net(charge_rate * seconds_per_tick, take_any = TRUE) //Pulls directly from the Powernet to dump into the cell + var/main_draw = charge_rate * seconds_per_tick if(!main_draw) return - charging.give(main_draw) - use_power(charge_rate / 100) //use a small bit for the charger itself, but power usage scales up with the part tier + + use_energy(main_draw * 0.01) //use a small bit for the charger itself, but power usage scales up with the part tier + charge_cell(main_draw, charging, grid_only = TRUE) update_appearance() diff --git a/code/game/machinery/computer/aifixer.dm b/code/game/machinery/computer/aifixer.dm index 74632b926b1..ba3041cc484 100644 --- a/code/game/machinery/computer/aifixer.dm +++ b/code/game/machinery/computer/aifixer.dm @@ -64,7 +64,9 @@ . = TRUE /obj/machinery/computer/aifixer/proc/Fix() - use_power(1000) + if(!use_energy(active_power_usage, force = TRUE)) + say("Not enough energy. Restoration cancelled.") + return FALSE var/need_mob_update = FALSE need_mob_update += occupier.adjustOxyLoss(-5, updating_health = FALSE) need_mob_update += occupier.adjustFireLoss(-5, updating_health = FALSE) diff --git a/code/game/machinery/computer/atmos_computers/_air_sensor.dm b/code/game/machinery/computer/atmos_computers/_air_sensor.dm index 3a8cd36de89..d9d461149bc 100644 --- a/code/game/machinery/computer/atmos_computers/_air_sensor.dm +++ b/code/game/machinery/computer/atmos_computers/_air_sensor.dm @@ -43,7 +43,7 @@ if(!on) return . = ..() - use_power(active_power_usage) //use power for analyzing gases + use_energy(active_power_usage) //use power for analyzing gases /obj/machinery/air_sensor/process() //update appearance according to power state diff --git a/code/game/machinery/computer/camera.dm b/code/game/machinery/computer/camera.dm index 58bf0c75b1f..a47296ab13d 100644 --- a/code/game/machinery/computer/camera.dm +++ b/code/game/machinery/computer/camera.dm @@ -68,7 +68,7 @@ // Turn on the console if(length(concurrent_users) == 1 && is_living) playsound(src, 'sound/machines/terminal_on.ogg', 25, FALSE) - use_power(active_power_usage) + use_energy(active_power_usage) // Register map objects cam_screen.display_to(user) user.client.register_map_obj(cam_background) @@ -173,7 +173,6 @@ active_camera = null last_camera_turf = null playsound(src, 'sound/machines/terminal_off.ogg', 25, FALSE) - use_power(0) /obj/machinery/computer/security/proc/show_camera_static() cam_screen.vis_contents.Cut() diff --git a/code/game/machinery/computer/dna_console.dm b/code/game/machinery/computer/dna_console.dm index c9cae83504e..f9e06ab58b3 100644 --- a/code/game/machinery/computer/dna_console.dm +++ b/code/game/machinery/computer/dna_console.dm @@ -440,9 +440,9 @@ to_chat(usr,span_notice("DNA scrambled.")) scanner_occupant.apply_status_effect(/datum/status_effect/genetic_damage, GENETIC_DAMAGE_STRENGTH_MULTIPLIER*50/(connected_scanner.damage_coeff ** 2)) if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Check whether a specific mutation is eligible for discovery within the @@ -578,9 +578,9 @@ // Check if we cracked a mutation check_discovery(alias) if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Apply a chromosome to a specific mutation. @@ -615,9 +615,9 @@ stored_chromosomes -= CM CM.apply(HM) if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Attempt overwriting Base DNA : The pairs are instead the top row vs the top row of the new code. @@ -759,9 +759,9 @@ scanner_occupant.domutcheck() if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return @@ -843,9 +843,9 @@ else injector_ready = world.time + INJECTOR_TIMEOUT * 5 if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Save a mutation to the console's storage buffer. @@ -1057,9 +1057,9 @@ stored_research.discovered_mutations += result_path say("Successfully mutated [HM.name].") if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Combines two mutations from the disk to try and create a new mutation @@ -1123,9 +1123,9 @@ stored_research.discovered_mutations += result_path say("Successfully mutated [HM.name].") if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Sets the Genetic Makeup pulse strength. @@ -1362,9 +1362,9 @@ if(I) injector_ready = world.time + INJECTOR_TIMEOUT if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Applies a genetic makeup buffer to the scanner occupant @@ -1402,9 +1402,9 @@ apply_genetic_makeup(type, buffer_slot) if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Applies a genetic makeup buffer to the next scanner occupant. This sets @@ -1471,9 +1471,9 @@ genetic_damage_pulse_index = WRAP(text2num(params["index"]), 1, len+1) begin_processing() if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Cancels the delayed action - In this context it is not the genetic damage @@ -1633,9 +1633,9 @@ injector_selection[adv_inj] += A to_chat(usr,span_notice("Mutation successfully added to advanced injector.")) if(connected_scanner) - connected_scanner.use_power(connected_scanner.active_power_usage) + connected_scanner.use_energy(connected_scanner.active_power_usage) else - use_power(active_power_usage) + use_energy(active_power_usage) return // Deletes a mutation from an advanced injector diff --git a/code/game/machinery/defibrillator_mount.dm b/code/game/machinery/defibrillator_mount.dm index cb12a399260..4e6e45bb204 100644 --- a/code/game/machinery/defibrillator_mount.dm +++ b/code/game/machinery/defibrillator_mount.dm @@ -8,6 +8,7 @@ icon_state = "defibrillator_mount" density = FALSE use_power = NO_POWER_USE + active_power_usage = 40 * BASE_MACHINE_ACTIVE_CONSUMPTION power_channel = AREA_USAGE_EQUIP req_one_access = list(ACCESS_MEDICAL, ACCESS_COMMAND, ACCESS_SECURITY) //used to control clamps processing_flags = NONE @@ -196,12 +197,11 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/defibrillator_mount, 28) /obj/machinery/defibrillator_mount/charging/process(seconds_per_tick) - var/obj/item/stock_parts/cell/C = get_cell() - if(!C || !is_operational) + var/obj/item/stock_parts/cell/cell = get_cell() + if(!cell || !is_operational) return PROCESS_KILL - if(C.charge < C.maxcharge) - use_power(active_power_usage * seconds_per_tick) - C.give(40 * seconds_per_tick) + if(cell.charge < cell.maxcharge) + charge_cell(active_power_usage * seconds_per_tick, cell) defib.update_power() //wallframe, for attaching the mounts easily diff --git a/code/game/machinery/dish_drive.dm b/code/game/machinery/dish_drive.dm index 1cd8b3c7bf0..81961ce7187 100644 --- a/code/game/machinery/dish_drive.dm +++ b/code/game/machinery/dish_drive.dm @@ -161,9 +161,11 @@ var/disposed = 0 for(var/obj/item/dish in dish_drive_contents) if(is_type_in_list(dish, disposable_items)) + if(!use_energy(active_power_usage, force = FALSE)) + say("Not enough energy to continue!") + break LAZYREMOVE(dish_drive_contents, dish) dish.forceMove(bin) - use_power(active_power_usage) disposed++ if (disposed) visible_message(span_notice("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and beams [disposed] stored item\s into the nearby [bin.name].")) diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index c8c90529dcb..917255e50b4 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -1268,14 +1268,14 @@ if(DEFAULT_DOOR_CHECKS) // Regular behavior. if(!hasPower() || wires.is_cut(WIRE_OPEN) || (obj_flags & EMAGGED)) return FALSE - use_power(50) + use_energy(50 JOULES) playsound(src, doorOpen, 30, TRUE) return TRUE if(FORCING_DOOR_CHECKS) // Only one check. if(obj_flags & EMAGGED) return FALSE - use_power(50) + use_energy(50 JOULES) playsound(src, doorOpen, 30, TRUE) return TRUE @@ -1351,7 +1351,7 @@ if(DEFAULT_DOOR_CHECKS to FORCING_DOOR_CHECKS) if(obj_flags & EMAGGED) return FALSE - use_power(50) + use_energy(50 JOULES) playsound(src, doorClose, 30, TRUE) return TRUE diff --git a/code/game/machinery/doors/door.dm b/code/game/machinery/doors/door.dm index b4d44a51e19..adbf99aa40e 100644 --- a/code/game/machinery/doors/door.dm +++ b/code/game/machinery/doors/door.dm @@ -437,7 +437,7 @@ if(operating) return FALSE operating = TRUE - use_power(active_power_usage) + use_energy(active_power_usage) do_animate("opening") set_opacity(0) SLEEP_NOT_DEL(0.5 SECONDS) diff --git a/code/game/machinery/doors/firedoor.dm b/code/game/machinery/doors/firedoor.dm index 62588aad8e5..f395a58bab8 100644 --- a/code/game/machinery/doors/firedoor.dm +++ b/code/game/machinery/doors/firedoor.dm @@ -884,7 +884,7 @@ return if(istype(attacking_object, /obj/item/electroadaptive_pseudocircuit)) var/obj/item/electroadaptive_pseudocircuit/raspberrypi = attacking_object - if(!raspberrypi.adapt_circuit(user, DEFAULT_STEP_TIME * 0.5)) + if(!raspberrypi.adapt_circuit(user, circuit_cost = DEFAULT_STEP_TIME * 0.5 KILO JOULES)) return user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ span_notice("You adapt a firelock circuit and slot it into the assembly.")) diff --git a/code/game/machinery/droneDispenser.dm b/code/game/machinery/droneDispenser.dm index 91e7d1a3d48..5495033651a 100644 --- a/code/game/machinery/droneDispenser.dm +++ b/code/game/machinery/droneDispenser.dm @@ -23,7 +23,7 @@ var/starting_amount = 0 var/iron_cost = HALF_SHEET_MATERIAL_AMOUNT var/glass_cost = HALF_SHEET_MATERIAL_AMOUNT - var/power_used = 1000 + var/energy_used = 1 KILO JOULES var/mode = DRONE_READY var/timer @@ -95,7 +95,7 @@ // Those holoprojectors aren't cheap iron_cost = SHEET_MATERIAL_AMOUNT glass_cost = SHEET_MATERIAL_AMOUNT - power_used = 2000 + energy_used = 2 KILO JOULES starting_amount = SHEET_MATERIAL_AMOUNT * 5 // If the derelict gets lonely, make more friends. @@ -128,7 +128,7 @@ icon_creating = "hivebot_fab_on" iron_cost = 0 glass_cost = 0 - power_used = 0 + energy_used = 0 cooldownTime = 10 //Only 1 second - hivebots are extremely weak dispense_type = /mob/living/basic/hivebot begin_create_message = "closes and begins fabricating something within." @@ -177,8 +177,8 @@ if(DRONE_PRODUCTION) materials.use_materials(using_materials) - if(power_used) - use_power(power_used) + if(energy_used) + use_energy(energy_used) var/atom/A = new dispense_type(loc) A.flags_1 |= (flags_1 & ADMIN_SPAWNED_1) diff --git a/code/game/machinery/ecto_sniffer.dm b/code/game/machinery/ecto_sniffer.dm index 54d2b5e6f1e..7f94df42b72 100644 --- a/code/game/machinery/ecto_sniffer.dm +++ b/code/game/machinery/ecto_sniffer.dm @@ -29,9 +29,10 @@ activate(user) /obj/machinery/ecto_sniffer/proc/activate(mob/activator) + if(!use_energy(active_power_usage, force = FALSE)) + return flick("ecto_sniffer_flick", src) playsound(loc, 'sound/machines/ectoscope_beep.ogg', 75) - use_power(active_power_usage) say("Reporting [pick(world.file2list("strings/spook_levels.txt"))] levels of paranormal activity!") if(activator?.ckey) ectoplasmic_residues += activator.ckey diff --git a/code/game/machinery/embedded_controller/access_controller.dm b/code/game/machinery/embedded_controller/access_controller.dm index 98d0ac1a02f..70da443872d 100644 --- a/code/game/machinery/embedded_controller/access_controller.dm +++ b/code/game/machinery/embedded_controller/access_controller.dm @@ -73,7 +73,7 @@ controller.cycle_close(door) else controller.only_close(door) - use_power(active_power_usage) + use_energy(active_power_usage) addtimer(CALLBACK(src, PROC_REF(not_busy)), 2 SECONDS) /obj/machinery/door_buttons/access_button/proc/not_busy() diff --git a/code/game/machinery/fat_sucker.dm b/code/game/machinery/fat_sucker.dm index 6e1f745772e..279e83ecbe9 100644 --- a/code/game/machinery/fat_sucker.dm +++ b/code/game/machinery/fat_sucker.dm @@ -153,7 +153,7 @@ playsound(loc, 'sound/machines/chime.ogg', 30, FALSE) else next_fact-- - use_power(active_power_usage) + use_energy(active_power_usage * seconds_per_tick) /obj/machinery/fat_sucker/proc/start_extracting() if(state_open || !occupant || processing || !powered()) diff --git a/code/game/machinery/firealarm.dm b/code/game/machinery/firealarm.dm index 077bb3683aa..21494d17b99 100644 --- a/code/game/machinery/firealarm.dm +++ b/code/game/machinery/firealarm.dm @@ -406,7 +406,7 @@ else if(istype(tool, /obj/item/electroadaptive_pseudocircuit)) var/obj/item/electroadaptive_pseudocircuit/pseudoc = tool - if(!pseudoc.adapt_circuit(user, 15)) + if(!pseudoc.adapt_circuit(user, circuit_cost = 15 KILO JOULES)) return user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ span_notice("You adapt a fire alarm circuit and slot it into the assembly.")) diff --git a/code/game/machinery/flasher.dm b/code/game/machinery/flasher.dm index 678b2c65509..94612b8c9db 100644 --- a/code/game/machinery/flasher.dm +++ b/code/game/machinery/flasher.dm @@ -113,7 +113,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/flasher, 26) flash_lighting_fx() COOLDOWN_START(src, flash_cooldown, flash_cooldown_duration) - use_power(1000) + use_energy(1 KILO JOULES) var/flashed = FALSE for(var/mob/living/living_mob in viewers(src, null)) diff --git a/code/game/machinery/gulag_item_reclaimer.dm b/code/game/machinery/gulag_item_reclaimer.dm index e1c2c8c73d6..72ac0e746f4 100644 --- a/code/game/machinery/gulag_item_reclaimer.dm +++ b/code/game/machinery/gulag_item_reclaimer.dm @@ -99,6 +99,9 @@ /obj/machinery/gulag_item_reclaimer/proc/drop_items(mob/user) if(!stored_items[user]) return + if(!use_energy(active_power_usage, force = FALSE)) + balloon_alert(user, "not enough energy!") + return var/drop_location = drop_location() for(var/i in stored_items[user]) var/obj/item/W = i @@ -106,4 +109,3 @@ W.forceMove(drop_location) stored_items -= user user.log_message("has reclaimed their items from the gulag item reclaimer.", LOG_GAME) - use_power(active_power_usage) diff --git a/code/game/machinery/gulag_teleporter.dm b/code/game/machinery/gulag_teleporter.dm index 1a9194fc927..1799e51564b 100644 --- a/code/game/machinery/gulag_teleporter.dm +++ b/code/game/machinery/gulag_teleporter.dm @@ -172,7 +172,7 @@ The console is located at computer/gulag_teleporter.dm if(target) target.wanted_status = WANTED_PRISONER - use_power(active_power_usage) + use_energy(active_power_usage) /obj/item/circuitboard/machine/gulag_teleporter name = "labor camp teleporter (Machine Board)" diff --git a/code/game/machinery/harvester.dm b/code/game/machinery/harvester.dm index 612277d5784..33d08def9d2 100644 --- a/code/game/machinery/harvester.dm +++ b/code/game/machinery/harvester.dm @@ -136,7 +136,7 @@ organ_to_remove.forceMove(target) //Some organs, like chest ones, are different so we need to manually move them operation_order.Remove(limb_to_remove) break - use_power(active_power_usage) + use_energy(active_power_usage) addtimer(CALLBACK(src, PROC_REF(harvest)), interval) /obj/machinery/harvester/proc/end_harvesting(success = TRUE) diff --git a/code/game/machinery/hypnochair.dm b/code/game/machinery/hypnochair.dm index ecf47b39633..4594e09a9af 100644 --- a/code/game/machinery/hypnochair.dm +++ b/code/game/machinery/hypnochair.dm @@ -115,7 +115,7 @@ "...an annoying buzz in your ears..."\ )]") - use_power(active_power_usage * seconds_per_tick) + use_energy(active_power_usage * seconds_per_tick) /obj/machinery/hypnochair/proc/finish_interrogation() interrogating = FALSE diff --git a/code/game/machinery/igniter.dm b/code/game/machinery/igniter.dm index 75d0566e42c..9ad6bcac58d 100644 --- a/code/game/machinery/igniter.dm +++ b/code/game/machinery/igniter.dm @@ -113,12 +113,13 @@ on = FALSE if(machine_stat & NOPOWER) on = FALSE + if(!use_energy(active_power_usage, force = FALSE)) // Use energy to keep the turf hot. Doesn't necessarily use the correct amount of energy though (this should be changed). + on = FALSE if(!on) update_appearance() return PROCESS_KILL location.hotspot_expose(1000, 500, 1) - use_power(active_power_usage) //use power to keep the turf hot /obj/machinery/igniter/update_icon_state() icon_state = "[base_icon_state][on]" @@ -250,11 +251,13 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/sparker, 26) if(!isturf(location) || !isopenturf(location)) return FALSE + if(!use_energy(active_power_usage, force = FALSE)) + return FALSE + flick("[initial(icon_state)]-spark", src) spark_system.start() last_spark = world.time location.hotspot_expose(1000, 2500, 1) - use_power(active_power_usage) return TRUE diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index a950750f4d8..0c95d3aa5c1 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -203,7 +203,7 @@ playsound(target, 'sound/weapons/emitter2.ogg', 25, TRUE) // use a lot of power - use_power(active_power_usage) + use_energy(active_power_usage) var/turf/source = target var/list/log_msg = list() diff --git a/code/game/machinery/limbgrower.dm b/code/game/machinery/limbgrower.dm index 197feb4118d..1fe2f542ba2 100644 --- a/code/game/machinery/limbgrower.dm +++ b/code/game/machinery/limbgrower.dm @@ -184,7 +184,7 @@ power = max(active_power_usage, (power + consumed_reagents_list[reagent_id])) busy = TRUE - use_power(power) + use_energy(power) flick("limbgrower_fill", src) icon_state = "limbgrower_idleon" var/temp_category = params["active_tab"] diff --git a/code/game/machinery/mass_driver.dm b/code/game/machinery/mass_driver.dm index e3922415a66..6963b23afb0 100644 --- a/code/game/machinery/mass_driver.dm +++ b/code/game/machinery/mass_driver.dm @@ -43,7 +43,7 @@ /obj/machinery/mass_driver/proc/drive(amount) if(machine_stat & (BROKEN|NOPOWER) || panel_open) return - use_power(power_per_obj) + use_energy(power_per_obj) var/O_limit var/atom/target = get_edge_target_turf(src, dir) for(var/atom/movable/O in loc) @@ -54,7 +54,7 @@ if(O_limit >= 20) audible_message(span_notice("[src] lets out a screech, it doesn't seem to be able to handle the load.")) break - use_power(power_per_obj) + use_energy(power_per_obj) O.throw_at(target, drive_range * power, power) flick("mass_driver1", src) diff --git a/code/game/machinery/mechlaunchpad.dm b/code/game/machinery/mechlaunchpad.dm index 254467fc217..b8c282ae22c 100644 --- a/code/game/machinery/mechlaunchpad.dm +++ b/code/game/machinery/mechlaunchpad.dm @@ -60,7 +60,7 @@ "style" = STYLE_SEETHROUGH, "reverse_dropoff_coords" = list(reverse_turf.x, reverse_turf.y, reverse_turf.z) )) - use_power(active_power_usage) + use_energy(active_power_usage) /obj/structure/closet/supplypod/mechpod style = STYLE_SEETHROUGH diff --git a/code/game/machinery/medical_kiosk.dm b/code/game/machinery/medical_kiosk.dm index 298d31905de..3041423ea53 100644 --- a/code/game/machinery/medical_kiosk.dm +++ b/code/game/machinery/medical_kiosk.dm @@ -75,7 +75,7 @@ var/obj/item/card/id/card = paying.get_idcard(TRUE) if(card?.registered_account?.account_job?.paycheck_department == payment_department) - use_power(active_power_usage) + use_energy(active_power_usage) paying_customer = TRUE say("Hello, esteemed medical staff!") RefreshParts() @@ -83,7 +83,7 @@ var/bonus_fee = pandemonium ? rand(10,30) : 0 if(attempt_charge(src, paying, bonus_fee) & COMPONENT_OBJ_CANCEL_CHARGE ) return - use_power(active_power_usage) + use_energy(active_power_usage) paying_customer = TRUE icon_state = "[base_icon_state]_active" say("Thank you for your patronage!") diff --git a/code/game/machinery/medipen_refiller.dm b/code/game/machinery/medipen_refiller.dm index 5563000183c..241b43d93da 100644 --- a/code/game/machinery/medipen_refiller.dm +++ b/code/game/machinery/medipen_refiller.dm @@ -80,7 +80,7 @@ medipen.add_initial_reagents() reagents.remove_reagent(allowed_pens[medipen.type], 10) balloon_alert(user, "refilled") - use_power(active_power_usage) + use_energy(active_power_usage) cut_overlays() return return ..() diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 7fccffdbd10..f318d93ecbd 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -638,11 +638,11 @@ DEFINE_BITFIELD(turret_flags, list( var/obj/projectile/A //any emagged turrets drains 2x power and uses a different projectile? if(mode == TURRET_STUN) - use_power(reqpower) + use_energy(reqpower) A = new stun_projectile(T) playsound(loc, stun_projectile_sound, 75, TRUE) else - use_power(reqpower * 2) + use_energy(reqpower * 2) A = new lethal_projectile(T) playsound(loc, lethal_projectile_sound, 75, TRUE) diff --git a/code/game/machinery/prisonlabor.dm b/code/game/machinery/prisonlabor.dm index 2144b957326..116edc2430e 100644 --- a/code/game/machinery/prisonlabor.dm +++ b/code/game/machinery/prisonlabor.dm @@ -58,7 +58,7 @@ update_appearance() return FALSE - use_power(active_power_usage) + use_energy(active_power_usage) to_chat(user, span_notice("You finish pressing a new license plate!")) pressing = FALSE diff --git a/code/game/machinery/quantum_pad.dm b/code/game/machinery/quantum_pad.dm index 037b4692fc7..65599ada845 100644 --- a/code/game/machinery/quantum_pad.dm +++ b/code/game/machinery/quantum_pad.dm @@ -164,7 +164,7 @@ last_teleport = world.time // use a lot of power - use_power(active_power_usage / power_efficiency) + use_energy(active_power_usage / power_efficiency) sparks() target_pad.sparks() diff --git a/code/game/machinery/recharger.dm b/code/game/machinery/recharger.dm index 1a20bf90e18..4e7f1483c84 100755 --- a/code/game/machinery/recharger.dm +++ b/code/game/machinery/recharger.dm @@ -42,7 +42,7 @@ if(using_power) status_display_message_shown = TRUE . += span_notice("The status display reads:") - . += span_notice("- Recharging [recharge_coeff*10]% cell charge per cycle.") + . += span_notice("- Recharging efficiency: [recharge_coeff*100]%.") if(isnull(charging)) return @@ -163,8 +163,7 @@ var/obj/item/stock_parts/cell/charging_cell = charging.get_cell() if(charging_cell) if(charging_cell.charge < charging_cell.maxcharge) - charging_cell.give(charging_cell.chargerate * recharge_coeff * seconds_per_tick / 2) - use_power(active_power_usage * recharge_coeff * seconds_per_tick) + charge_cell(charging_cell.chargerate * recharge_coeff * seconds_per_tick, charging_cell) using_power = TRUE update_appearance() @@ -172,7 +171,7 @@ var/obj/item/ammo_box/magazine/recharge/power_pack = charging if(power_pack.stored_ammo.len < power_pack.max_ammo) power_pack.stored_ammo += new power_pack.ammo_type(power_pack) - use_power(active_power_usage * recharge_coeff * seconds_per_tick) + use_energy(active_power_usage * recharge_coeff * seconds_per_tick) using_power = TRUE update_appearance() return diff --git a/code/game/machinery/rechargestation.dm b/code/game/machinery/rechargestation.dm index f875617bd40..d067c3e8cbb 100644 --- a/code/game/machinery/rechargestation.dm +++ b/code/game/machinery/rechargestation.dm @@ -3,6 +3,7 @@ desc = "This device recharges energy dependent lifeforms, like cyborgs, ethereals and MODsuit users." icon = 'icons/obj/machines/borg_charger.dmi' icon_state = "borgcharger0" + active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 0.1 density = FALSE req_access = list(ACCESS_ROBOTICS) state_open = TRUE @@ -11,6 +12,8 @@ processing_flags = NONE var/recharge_speed var/repairs + ///Callback for borgs & modsuits to provide their cell to us for charging + var/datum/callback/charge_cell ///Whether we're sending iron and glass to a cyborg. Requires Silo connection. var/sendmats = FALSE var/datum/component/remote_materials/materials @@ -24,6 +27,7 @@ mapload, \ mat_container_flags = MATCONTAINER_NO_INSERT, \ ) + charge_cell = CALLBACK(src, PROC_REF(charge_target_cell)) update_appearance() if(is_operational) @@ -41,21 +45,38 @@ return GLOB.roundstart_station_borgcharger_areas += area_name +/obj/machinery/recharge_station/Destroy() + materials = null + charge_cell = null + return ..() + +/** + * Mobs & borgs invoke this through a callback to recharge their cells + * Arguments + * + * * obj/item/stock_parts/cell/target - the cell to charge, optional if provided else will draw power used directly + * * seconds_per_tick - supplied from process() + */ +/obj/machinery/recharge_station/proc/charge_target_cell(obj/item/stock_parts/cell/target, seconds_per_tick) + PRIVATE_PROC(TRUE) + + return charge_cell(recharge_speed * seconds_per_tick, target, grid_only = TRUE) + /obj/machinery/recharge_station/RefreshParts() . = ..() recharge_speed = 0 repairs = 0 for(var/datum/stock_part/capacitor/capacitor in component_parts) - recharge_speed += capacitor.tier * 100 + recharge_speed += (capacitor.tier * STANDARD_CELL_CHARGE * 0.1) for(var/datum/stock_part/servo/servo in component_parts) repairs += servo.tier - 1 for(var/obj/item/stock_parts/cell/cell in component_parts) - recharge_speed *= cell.maxcharge / 10000 + recharge_speed *= cell.maxcharge /obj/machinery/recharge_station/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += span_notice("The status display reads: Recharging [recharge_speed]J per cycle.") + . += span_notice("The status display reads: Recharging: [display_power(recharge_speed, convert = FALSE)].") if(materials.silo) . += span_notice("The ore silo link indicator is lit, and cyborg restocking can be toggled by Right-Clicking [src].") if(repairs) @@ -156,7 +177,8 @@ /obj/machinery/recharge_station/proc/process_occupant(seconds_per_tick) if(!occupant) return - var/main_draw = use_power_from_net(recharge_speed * seconds_per_tick, take_any = TRUE) //Pulls directly from the Powernet to dump into the cell - if(!main_draw) + + if(!use_energy(active_power_usage * seconds_per_tick)) return - SEND_SIGNAL(occupant, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, main_draw, repairs, sendmats) + + SEND_SIGNAL(occupant, COMSIG_PROCESS_BORGCHARGER_OCCUPANT, charge_cell, seconds_per_tick, repairs, sendmats) diff --git a/code/game/machinery/recycler.dm b/code/game/machinery/recycler.dm index 5d4fd671c96..405a38e4167 100644 --- a/code/game/machinery/recycler.dm +++ b/code/game/machinery/recycler.dm @@ -167,7 +167,7 @@ if(!is_operational) //we ran out of power after recycling a large amount to living stuff, time to stop break crush_living(CRUNCH) - use_power(active_power_usage) + use_energy(active_power_usage) else // Stop processing right now without eating anything. emergency_stop() return @@ -180,7 +180,7 @@ for(var/i = length(nom); i >= 1; i--) if(!is_operational) //we ran out of power after recycling a large amount to items, time to stop break - use_power(active_power_usage / (recycle_item(nom[i]) ? 1 : 2)) //recycling stuff that produces no material takes just half the power + use_energy(active_power_usage / (recycle_item(nom[i]) ? 1 : 2)) //recycling stuff that produces no material takes just half the power if(nom.len && sound) playsound(src, item_recycle_sound, (50 + nom.len * 5), TRUE, nom.len, ignore_walls = (nom.len - 10)) // As a substitute for playing 50 sounds at once. if(not_eaten) diff --git a/code/game/machinery/roulette_machine.dm b/code/game/machinery/roulette_machine.dm index 45a69e0b41a..f2e6ddd8195 100644 --- a/code/game/machinery/roulette_machine.dm +++ b/code/game/machinery/roulette_machine.dm @@ -226,7 +226,7 @@ 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_animation)), 30) - use_power(active_power_usage) + use_energy(active_power_usage) /obj/machinery/roulette/proc/finish_play_animation() icon_state = "idle" diff --git a/code/game/machinery/scan_gate.dm b/code/game/machinery/scan_gate.dm index 4c1c8590157..4ff8161de1b 100644 --- a/code/game/machinery/scan_gate.dm +++ b/code/game/machinery/scan_gate.dm @@ -244,7 +244,7 @@ assembly?.activate() set_scanline("scanning", 10) - use_power(active_power_usage) + use_energy(active_power_usage) /obj/machinery/scanner_gate/proc/alarm_beep() if(next_beep <= world.time) diff --git a/code/game/machinery/sheetifier.dm b/code/game/machinery/sheetifier.dm index 69bebfca69e..d9619092af6 100644 --- a/code/game/machinery/sheetifier.dm +++ b/code/game/machinery/sheetifier.dm @@ -56,7 +56,7 @@ busy_processing = FALSE update_appearance() materials.retrieve_all() //Returns all as sheets - use_power(active_power_usage) + use_energy(active_power_usage) /obj/machinery/sheetifier/wrench_act(mob/living/user, obj/item/tool) . = ..() diff --git a/code/game/machinery/sleepers.dm b/code/game/machinery/sleepers.dm index daa474029f6..68b4026b744 100644 --- a/code/game/machinery/sleepers.dm +++ b/code/game/machinery/sleepers.dm @@ -178,7 +178,7 @@ . += span_notice("Alt-click [src] to [state_open ? "close" : "open"] it.") /obj/machinery/sleeper/process() - use_power(idle_power_usage) + use_energy(idle_power_usage) /obj/machinery/sleeper/nap_violation(mob/violator) . = ..() diff --git a/code/game/machinery/slotmachine.dm b/code/game/machinery/slotmachine.dm index b7eec3994b8..842f01ae754 100644 --- a/code/game/machinery/slotmachine.dm +++ b/code/game/machinery/slotmachine.dm @@ -238,8 +238,10 @@ //WARNING: no sanity checking for user since it's not needed and would complicate things (machine should still spin even if user is gone), be wary of this if you're changing this code. /obj/machinery/computer/slot_machine/proc/do_spin() + if(!use_energy(active_power_usage, force = FALSE)) + say("Not enough energy!") + return randomize_reels() - use_power(active_power_usage) /obj/machinery/computer/slot_machine/proc/finish_spinning(spin_loop, mob/user, the_name) toggle_reel_spin(0, REEL_DEACTIVATE_DELAY) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 844abeabf2f..b8afa4d57d4 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -2,6 +2,7 @@ #define HEATER_MODE_HEAT "heat" #define HEATER_MODE_COOL "cool" #define HEATER_MODE_AUTO "auto" +#define BASE_HEATING_ENERGY (40 KILO JOULES) /obj/machinery/space_heater anchored = FALSE @@ -28,9 +29,9 @@ ///The temperature we trying to get to var/target_temperature = T20C ///How much heat/cold we can deliver - var/heating_power = 40000 + var/heating_energy = 40 KILO JOULES ///How efficiently we can deliver that heat/cold (higher indicates less cell consumption) - var/efficiency = 20000 + var/efficiency = 20 ///The amount of degrees above and below the target temperature for us to change mode to heater or cooler var/temperature_tolerance = 1 ///What's the middle point of our settable temperature (30 °C) @@ -93,11 +94,18 @@ if(cell) . += "The charge meter reads [cell ? round(cell.percent(), 1) : 0]%." else - . += "There is no power cell installed." + . += span_warning("There is no power cell installed.") if(in_range(user, src) || isobserver(user)) - . += span_notice("The status display reads: Temperature range at [settable_temperature_range]°C.
Heating power at [siunit(heating_power, "W", 1)].
Power consumption at [(efficiency*-0.0025)+150]%.") //100%, 75%, 50%, 25% + . += heating_examine() . += span_notice("Right-click to toggle [on ? "off" : "on"].") +///Returns the heating power of this machine as an examine +/obj/machinery/space_heater/proc/heating_examine() + var/target_temp = round(target_temperature - T0C, 1) + var/min_temp = max(settable_temperature_median - settable_temperature_range, TCMB) - T0C + var/max_temp = settable_temperature_median + settable_temperature_range - T0C + return span_notice("The status display reads:
Heating power: [display_power(heating_energy, convert = TRUE, scheduler = SSair)] at [(efficiency / 20) * 100]% efficiency.
Target temperature: [target_temp]°C [min_temp]°C - [max_temp]°C]\n") + /obj/machinery/space_heater/update_icon_state() . = ..() icon_state = "[base_icon_state]-[on ? mode : "off"]" @@ -112,14 +120,10 @@ return ..() /obj/machinery/space_heater/process_atmos() - if(!on || !is_operational) + if(!on || !is_operational || QDELETED(cell) || cell.charge <= 1) if (on) // If it's broken, turn it off too on = FALSE - return PROCESS_KILL - - if(!cell || cell.charge <= 1) - on = FALSE - update_appearance() + update_appearance() return PROCESS_KILL var/turf/local_turf = loc @@ -144,22 +148,23 @@ if(mode == HEATER_MODE_STANDBY) return - var/heat_capacity = enviroment.heat_capacity() - var/required_energy = abs(enviroment.temperature - target_temperature) * heat_capacity - required_energy = min(required_energy, heating_power) - + var/list/turfs = (local_turf.atmos_adjacent_turfs || list()) + local_turf + var/required_energy = abs(enviroment.temperature - target_temperature) * enviroment.heat_capacity() + required_energy = min(required_energy, heating_energy, (cell.charge * efficiency) / length(turfs)) if(required_energy < 1) return - var/delta_temperature = required_energy / heat_capacity + var/delta_energy = required_energy if(mode == HEATER_MODE_COOL) - delta_temperature *= -1 - if(delta_temperature) - for (var/turf/open/turf in ((local_turf.atmos_adjacent_turfs || list()) + local_turf)) - var/datum/gas_mixture/turf_gasmix = turf.return_air() - turf_gasmix.temperature += delta_temperature - air_update_turf(FALSE, FALSE) - cell.use(required_energy / efficiency) + delta_energy *= -1 + if(delta_energy == 0) + return + + for(var/turf/open/turf in turfs) + var/datum/gas_mixture/turf_gasmix = turf.return_air() + turf_gasmix.temperature += delta_energy / turf_gasmix.heat_capacity() + air_update_turf(FALSE, FALSE) + cell.use((required_energy * length(turfs)) / efficiency, force = TRUE) /obj/machinery/space_heater/RefreshParts() . = ..() @@ -170,10 +175,10 @@ for(var/datum/stock_part/capacitor/capacitor in component_parts) cap += capacitor.tier - heating_power = laser * 40000 + heating_energy = laser * BASE_HEATING_ENERGY settable_temperature_range = cap * 30 - efficiency = (cap + 1) * 10000 + efficiency = (cap + 1) * 10 target_temperature = clamp(target_temperature, max(settable_temperature_median - settable_temperature_range, TCMB), @@ -313,38 +318,52 @@ . = ..() QDEL_NULL(beaker) +/obj/machinery/space_heater/improvised_chem_heater/heating_examine() + . = ..() + + var/power_mod = 0.1 * chem_heating_power + if(set_mode == HEATER_MODE_AUTO) + power_mod *= 0.5 + . += span_notice("Heating power for beaker: [display_power(heating_energy * power_mod, convert = TRUE)]") + +/obj/machinery/space_heater/improvised_chem_heater/toggle_power(user) + . = ..() + if(on) + begin_processing() + /obj/machinery/space_heater/improvised_chem_heater/process(seconds_per_tick) - if(!on) - update_appearance() + if(!on || !is_operational || QDELETED(cell) || cell.charge <= 1 || QDELETED(beaker)) + if (on) // If it's broken, turn it off too + on = FALSE + update_appearance() return PROCESS_KILL - if(!is_operational || !cell || cell.charge <= 0) - on = FALSE - update_appearance() - return PROCESS_KILL - - if(!beaker)//No beaker to heat - update_appearance() - return - if(beaker.reagents.total_volume) var/power_mod = 0.1 * chem_heating_power switch(set_mode) if(HEATER_MODE_AUTO) power_mod *= 0.5 - beaker.reagents.adjust_thermal_energy((target_temperature - beaker.reagents.chem_temp) * power_mod * seconds_per_tick * SPECIFIC_HEAT_DEFAULT * beaker.reagents.total_volume) - beaker.reagents.handle_reactions() if(HEATER_MODE_HEAT) if(target_temperature < beaker.reagents.chem_temp) return - beaker.reagents.adjust_thermal_energy((target_temperature - beaker.reagents.chem_temp) * power_mod * seconds_per_tick * SPECIFIC_HEAT_DEFAULT * beaker.reagents.total_volume) if(HEATER_MODE_COOL) if(target_temperature > beaker.reagents.chem_temp) return - beaker.reagents.adjust_thermal_energy((target_temperature - beaker.reagents.chem_temp) * power_mod * seconds_per_tick * SPECIFIC_HEAT_DEFAULT * beaker.reagents.total_volume) - var/required_energy = heating_power * seconds_per_tick * (power_mod * 4) - cell.use(required_energy / efficiency) + + var/required_energy = abs(target_temperature - beaker.reagents.chem_temp) * power_mod * seconds_per_tick * beaker.reagents.heat_capacity() + required_energy = min(required_energy, heating_energy, cell.charge * efficiency) + if(required_energy < 1) + return + + var/delta_energy = required_energy + if(mode == HEATER_MODE_COOL) + delta_energy *= -1 + if(delta_energy == 0) + return + + beaker.reagents.adjust_thermal_energy(delta_energy) beaker.reagents.handle_reactions() + cell.use(required_energy / efficiency, force = TRUE) update_appearance() /obj/machinery/space_heater/improvised_chem_heater/ui_data() @@ -395,7 +414,6 @@ item.afterattack(beaker, user, 1) return - /obj/machinery/space_heater/improvised_chem_heater/on_deconstruction(disassembled = TRUE) . = ..() if(disassembled) @@ -450,18 +468,19 @@ for(var/datum/stock_part/capacitor/capacitor in component_parts) capacitors_rating += capacitor.tier - heating_power = lasers_rating * 20000 + heating_energy = lasers_rating * 20000 settable_temperature_range = capacitors_rating * 50 //-20 - 80 at base - efficiency = (capacitors_rating + 1) * 10000 + efficiency = (capacitors_rating + 1) * 10 target_temperature = clamp(target_temperature, max(settable_temperature_median - settable_temperature_range, TCMB), settable_temperature_median + settable_temperature_range) - chem_heating_power = efficiency/20000 //1-2.5 + chem_heating_power = efficiency / 20 #undef HEATER_MODE_STANDBY #undef HEATER_MODE_HEAT #undef HEATER_MODE_COOL #undef HEATER_MODE_AUTO +#undef BASE_HEATING_ENERGY diff --git a/code/game/machinery/suit_storage_unit.dm b/code/game/machinery/suit_storage_unit.dm index f96e1c1199b..6c6c3aa6cf5 100644 --- a/code/game/machinery/suit_storage_unit.dm +++ b/code/game/machinery/suit_storage_unit.dm @@ -53,11 +53,11 @@ /// Cooldown for occupant breakout messages via relaymove() var/message_cooldown /// How long it takes to break out of the SSU. - var/breakout_time = 300 + var/breakout_time = 30 SECONDS /// Power contributed by this machine to charge the mod suits cell without any capacitors - var/base_charge_rate = 200 + var/base_charge_rate = 200 KILO WATTS /// Final charge rate which is base_charge_rate + contribution by capacitors - var/final_charge_rate = 250 + var/final_charge_rate = 250 KILO WATTS /// is the card reader installed in this machine var/card_reader_installed = FALSE /// physical reference of the players id card to check for PERSONAL access level @@ -287,7 +287,7 @@ . = ..() for(var/datum/stock_part/capacitor/capacitor in component_parts) - final_charge_rate = base_charge_rate + (capacitor.tier * 50) + final_charge_rate = base_charge_rate + (capacitor.tier * 50 KILO WATTS) set_access() @@ -553,17 +553,21 @@ dump_inventory_contents() /obj/machinery/suit_storage_unit/process(seconds_per_tick) - var/obj/item/stock_parts/cell/cell - if(suit && istype(suit)) - cell = suit.cell - if(mod) - cell = mod.get_cell() - if(!cell || cell.charge == cell.maxcharge) + var/list/cells_to_charge = list() + for(var/obj/item/charging in list(mod, suit, helmet, mask, storage)) + var/obj/item/stock_parts/cell/cell_charging = charging.get_cell() + if(!istype(cell_charging) || cell_charging.charge == cell_charging.maxcharge) + continue + + cells_to_charge += cell_charging + + var/cell_count = length(cells_to_charge) + if(cell_count <= 0) return - var/cell_charged = cell.give(final_charge_rate * seconds_per_tick) - if(cell_charged) - use_power((active_power_usage + final_charge_rate) * seconds_per_tick) + var/charge_per_item = (final_charge_rate * seconds_per_tick) / cell_count + for(var/obj/item/stock_parts/cell/cell as anything in cells_to_charge) + charge_cell(charge_per_item, cell, grid_only = TRUE) /obj/machinery/suit_storage_unit/proc/shock(mob/user, prb) if(!prob(prb)) diff --git a/code/game/machinery/telecomms/machines/broadcaster.dm b/code/game/machinery/telecomms/machines/broadcaster.dm index a3b4caecf39..1ad464b3b68 100644 --- a/code/game/machinery/telecomms/machines/broadcaster.dm +++ b/code/game/machinery/telecomms/machines/broadcaster.dm @@ -56,7 +56,7 @@ GLOBAL_VAR_INIT(message_delay, FALSE) /* --- Do a snazzy animation! --- */ flick("broadcaster_send", src) - use_power(idle_power_usage) + use_energy(idle_power_usage) /** * Simply resets the message delay and the recent messages list, to ensure that diff --git a/code/game/machinery/telecomms/machines/bus.dm b/code/game/machinery/telecomms/machines/bus.dm index 8ac8297b612..15d20b3d1eb 100644 --- a/code/game/machinery/telecomms/machines/bus.dm +++ b/code/game/machinery/telecomms/machines/bus.dm @@ -47,7 +47,7 @@ if(relay_information(signal, send)) break - use_power(idle_power_usage) + use_energy(idle_power_usage) // Preset Buses diff --git a/code/game/machinery/telecomms/machines/hub.dm b/code/game/machinery/telecomms/machines/hub.dm index 094180a6e70..83d0f6e3209 100644 --- a/code/game/machinery/telecomms/machines/hub.dm +++ b/code/game/machinery/telecomms/machines/hub.dm @@ -31,7 +31,7 @@ // Then broadcast that signal to relay_information(signal, /obj/machinery/telecomms/broadcaster) - use_power(idle_power_usage) + use_energy(idle_power_usage) /obj/machinery/telecomms/hub/update_power() var/old_on = on diff --git a/code/game/machinery/telecomms/machines/receiver.dm b/code/game/machinery/telecomms/machines/receiver.dm index ff3064e73c7..8d6f8c85f43 100644 --- a/code/game/machinery/telecomms/machines/receiver.dm +++ b/code/game/machinery/telecomms/machines/receiver.dm @@ -30,7 +30,7 @@ if(!relay_information(signal_copy, /obj/machinery/telecomms/hub)) relay_information(signal_copy, /obj/machinery/telecomms/bus) - use_power(idle_power_usage) + use_energy(idle_power_usage) /** * Checks whether the signal can be received by this receiver or not, based on diff --git a/code/game/machinery/telecomms/machines/relay.dm b/code/game/machinery/telecomms/machines/relay.dm index 2173a519be4..504702e3176 100644 --- a/code/game/machinery/telecomms/machines/relay.dm +++ b/code/game/machinery/telecomms/machines/relay.dm @@ -32,7 +32,7 @@ else signal.levels |= SSmapping.get_connected_levels(relay_turf) - use_power(idle_power_usage) + use_energy(idle_power_usage) /** * Checks to see if the relay can send/receive the signal, by checking if it's diff --git a/code/game/machinery/telecomms/machines/server.dm b/code/game/machinery/telecomms/machines/server.dm index fedcf519ff2..0c87a6101d1 100644 --- a/code/game/machinery/telecomms/machines/server.dm +++ b/code/game/machinery/telecomms/machines/server.dm @@ -61,7 +61,7 @@ if(!can_send) relay_information(signal, /obj/machinery/telecomms/broadcaster) - use_power(idle_power_usage) + use_energy(idle_power_usage) #undef MAX_LOG_ENTRIES diff --git a/code/game/machinery/teleporter.dm b/code/game/machinery/teleporter.dm index 8b6601dd471..00e27ec23a4 100644 --- a/code/game/machinery/teleporter.dm +++ b/code/game/machinery/teleporter.dm @@ -75,7 +75,7 @@ return if (ismovable(M)) if(do_teleport(M, target, channel = TELEPORT_CHANNEL_BLUESPACE)) - use_power(active_power_usage) + use_energy(active_power_usage) if(!calibrated && prob(30 - ((accuracy) * 10))) //oh dear a problem if(ishuman(M))//don't remove people from the round randomly you jerks var/mob/living/carbon/human/human = M @@ -216,7 +216,7 @@ to_chat(user, span_alert("The teleporter hub isn't responding.")) else engaged = !engaged - use_power(active_power_usage) + use_energy(active_power_usage) to_chat(user, span_notice("Teleporter [engaged ? "" : "dis"]engaged!")) else teleporter_console.target_ref = null diff --git a/code/game/machinery/transformer.dm b/code/game/machinery/transformer.dm index d60cc70a451..ecb7ef941aa 100644 --- a/code/game/machinery/transformer.dm +++ b/code/game/machinery/transformer.dm @@ -20,7 +20,7 @@ /// How long until the next mob can be processed var/cooldown_timer /// The created cyborg's cell chage - var/robot_cell_charge = 5000 + var/robot_cell_charge = STANDARD_CELL_CHARGE * 5 /// The visual countdown effect var/obj/effect/countdown/transformer/countdown /// Who the master AI is that created this factory @@ -99,7 +99,7 @@ // Sleep for a couple of ticks to allow the human to see the pain sleep(0.5 SECONDS) - use_power(active_power_usage) // Use a lot of power. + use_energy(active_power_usage) // Use a lot of power. var/mob/living/silicon/robot/new_borg = victim.Robotize() new_borg.cell = new /obj/item/stock_parts/cell/upgraded/plus(new_borg, robot_cell_charge) diff --git a/code/game/machinery/washing_machine.dm b/code/game/machinery/washing_machine.dm index 21e3f396f8d..483a1bd563b 100644 --- a/code/game/machinery/washing_machine.dm +++ b/code/game/machinery/washing_machine.dm @@ -227,7 +227,7 @@ GLOBAL_LIST_INIT(dye_registry, list( qdel(color_source) color_source = null update_appearance() - use_power(active_power_usage) + 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 diff --git a/code/game/objects/items/apc_frame.dm b/code/game/objects/items/apc_frame.dm index eb3586bc917..39388da561b 100644 --- a/code/game/objects/items/apc_frame.dm +++ b/code/game/objects/items/apc_frame.dm @@ -29,11 +29,11 @@ /obj/item/wallframe/apc/screwdriver_act(mob/living/user, obj/item/tool) //overriding the wallframe parent screwdriver act with this one which allows applying to existing apc frames. - var/turf/T = get_step(get_turf(user), user.dir) - if(iswallturf(T)) + var/turf/turf = get_step(get_turf(user), user.dir) + if(iswallturf(turf)) if(locate(/obj/machinery/power/apc) in get_turf(user)) var/obj/machinery/power/apc/mounted_apc = locate(/obj/machinery/power/apc) in get_turf(user) - mounted_apc.attackby(src, user) + mounted_apc.wallframe_act(user, src) return ITEM_INTERACT_SUCCESS - T.attackby(src, user) + turf.attackby(src, user) return ITEM_INTERACT_SUCCESS diff --git a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm index 3963fe21b2a..b7fb64362d4 100644 --- a/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm +++ b/code/game/objects/items/circuitboards/machines/machine_circuitboards.dm @@ -525,9 +525,11 @@ /obj/item/circuitboard/machine/reagentgrinder name = "All-In-One Grinder" greyscale_colors = CIRCUIT_COLOR_GENERIC - build_path = /obj/machinery/reagentgrinder/constructed + build_path = /obj/machinery/reagentgrinder req_components = list( - /datum/stock_part/servo = 1) + /datum/stock_part/servo = 1, + /datum/stock_part/matter_bin = 1, + ) needs_anchored = FALSE /obj/item/circuitboard/machine/smartfridge diff --git a/code/game/objects/items/defib.dm b/code/game/objects/items/defib.dm index bfcb42a94b2..80fc38e624d 100644 --- a/code/game/objects/items/defib.dm +++ b/code/game/objects/items/defib.dm @@ -28,7 +28,7 @@ /// If the cell can be removed via screwdriver var/cell_removable = TRUE var/obj/item/shockpaddles/paddles - var/obj/item/stock_parts/cell/high/cell + var/obj/item/stock_parts/cell/cell /// If true, revive through space suits, allow for combat shocking var/combat = FALSE /// How long does it take to recharge @@ -187,7 +187,7 @@ /obj/item/defibrillator/emp_act(severity) . = ..() if(cell && !(. & EMP_PROTECT_CONTENTS)) - deductcharge(1000 / severity) + deductcharge(STANDARD_CELL_CHARGE / severity) if (. & EMP_PROTECT_SELF) return @@ -239,15 +239,15 @@ return ..() /obj/item/defibrillator/proc/deductcharge(chrgdeductamt) - if(cell) - if(cell.charge < (paddles.revivecost+chrgdeductamt)) - powered = FALSE - update_power() - if(cell.use(chrgdeductamt)) - update_power() - return TRUE - else - return FALSE + if(QDELETED(cell)) + return + + if(cell.charge < (paddles.revivecost + chrgdeductamt)) + powered = FALSE + if(!cell.use(chrgdeductamt)) + powered = FALSE + + update_power() /obj/item/defibrillator/proc/cooldowncheck() addtimer(CALLBACK(src, PROC_REF(finish_charging)), cooldown_duration) @@ -346,7 +346,7 @@ resistance_flags = INDESTRUCTIBLE base_icon_state = "defibpaddles" - var/revivecost = 1000 + var/revivecost = STANDARD_CELL_CHARGE * 0.1 var/cooldown = FALSE var/busy = FALSE var/obj/item/defibrillator/defib diff --git a/code/game/objects/items/devices/powersink.dm b/code/game/objects/items/devices/powersink.dm index 2a0a78c626a..1b000ea2f91 100644 --- a/code/game/objects/items/devices/powersink.dm +++ b/code/game/objects/items/devices/powersink.dm @@ -158,7 +158,7 @@ /// Drains power from the connected powernet, if any. /obj/item/powersink/proc/drain_power() - var/datum/powernet/PN = attached.powernet + var/datum/powernet/powernet = attached.powernet var/drained = 0 set_light(5) @@ -167,14 +167,11 @@ attached.add_delayedload(drained) // If tried to drain more than available on powernet, now look for APCs and drain their cells - for(var/obj/machinery/power/terminal/T in PN.nodes) - if(istype(T.master, /obj/machinery/power/apc)) - var/obj/machinery/power/apc/A = T.master - if(A.operating && A.cell) - A.cell.charge = max(0, A.cell.charge - 50) - drained += 50 - if(A.charging == 2) // If the cell was full - A.charging = 1 // It's no longer full + for(var/obj/machinery/power/terminal/terminal in powernet.nodes) + if(istype(terminal.master, /obj/machinery/power/apc)) + var/obj/machinery/power/apc/apc = terminal.master + if(apc.operating && apc.cell) + drained += 0.001 * apc.cell.use(50 KILO JOULES, force = TRUE) internal_heat += drained /obj/item/powersink/process() diff --git a/code/game/objects/items/devices/scanners/gas_analyzer.dm b/code/game/objects/items/devices/scanners/gas_analyzer.dm index 72383cabc8a..2b4d09fb308 100644 --- a/code/game/objects/items/devices/scanners/gas_analyzer.dm +++ b/code/game/objects/items/devices/scanners/gas_analyzer.dm @@ -207,8 +207,8 @@ message += span_notice("Temperature: [round(temperature - T0C,0.01)] °C ([round(temperature, 0.01)] K)") message += span_notice("Volume: [volume] L") message += span_notice("Pressure: [round(pressure, 0.01)] kPa") - message += span_notice("Heat Capacity: [display_joules(heat_capacity)] / K") - message += span_notice("Thermal Energy: [display_joules(thermal_energy)]") + message += span_notice("Heat Capacity: [display_energy(heat_capacity)] / K") + message += span_notice("Thermal Energy: [display_energy(thermal_energy)]") else message += airs.len > 1 ? span_notice("This node is empty!") : span_notice("[target] is empty!") message += span_notice("Volume: [volume] L") // don't want to change the order volume appears in, suck it diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index cd5742ba35d..9ca5a31241c 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -7,7 +7,7 @@ lefthand_file = 'icons/mob/inhands/equipment/tools_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/tools_righthand.dmi' force = 7 - var/powertransfer = 1000 + var/powertransfer = STANDARD_CELL_CHARGE var/opened = FALSE var/cell_type = /obj/item/stock_parts/cell/high var/obj/item/stock_parts/cell/cell @@ -106,7 +106,7 @@ return FALSE if(recharging) return TRUE - + recharging = TRUE var/obj/item/stock_parts/cell/our_cell = get_cell() var/obj/item/stock_parts/cell/target_cell = target.get_cell() diff --git a/code/game/objects/items/inspector.dm b/code/game/objects/items/inspector.dm index c0b6a5dd145..2f25e53c1fb 100644 --- a/code/game/objects/items/inspector.dm +++ b/code/game/objects/items/inspector.dm @@ -26,10 +26,10 @@ var/obj/item/stock_parts/cell/cell = /obj/item/stock_parts/cell/crap ///Cell cover status var/cell_cover_open = FALSE - ///Power used per print in cell units - var/power_per_print = INSPECTOR_POWER_USAGE_NORMAL - ///Power used to say an error message - var/power_to_speak = 1 + ///Energy used per print. + var/energy_per_print = INSPECTOR_ENERGY_USAGE_NORMAL + ///Energy used to say an error message. + var/energy_to_speak = 1 KILO JOULES /obj/item/inspector/Initialize(mapload) . = ..() @@ -111,8 +111,8 @@ if(cell.charge == 0) to_chat(user, "\The [src] doesn't seem to be on... Perhaps it ran out of power?") return - if(!cell.use(power_per_print)) - if(cell.use(power_to_speak)) + if(!cell.use(energy_per_print)) + if(cell.use(energy_to_speak)) say("ERROR! POWER CELL CHARGE LEVEL TOO LOW TO PRINT REPORT!") return @@ -238,8 +238,8 @@ * * Can print things way faster, at full power the reports printed by this will destroy * themselves and leave water behind when folding is attempted by someone who isn't an - * origami master. Printing at full power costs INSPECTOR_POWER_USAGE_HONK cell units - * instead of INSPECTOR_POWER_USAGE_NORMAL cell units. + * origami master. Printing at full power costs INSPECTOR_ENERGY_USAGE_HONK cell units + * instead of INSPECTOR_ENERGY_USAGE_NORMAL cell units. */ /obj/item/inspector/clown/bananium name = "\improper Bananium HONK-spect scanner" @@ -258,11 +258,11 @@ /obj/item/inspector/clown/bananium/proc/check_settings_legality() if(print_sound_mode == INSPECTOR_PRINT_SOUND_MODE_NORMAL && time_mode == INSPECTOR_TIME_MODE_HONK) - if(cell.use(power_to_speak)) + if(cell.use(energy_to_speak)) say("Setting combination forbidden by Geneva convention revision CCXXIII selected, reverting to defaults") time_mode = INSPECTOR_TIME_MODE_SLOW print_sound_mode = INSPECTOR_PRINT_SOUND_MODE_NORMAL - power_per_print = INSPECTOR_POWER_USAGE_NORMAL + energy_per_print = INSPECTOR_ENERGY_USAGE_NORMAL /obj/item/inspector/clown/bananium/screwdriver_act(mob/living/user, obj/item/tool) . = ..() @@ -296,7 +296,7 @@ if(time_mode != INSPECTOR_TIME_MODE_HONK) return ..() if(paper_charges == 0) - if(cell.use(power_to_speak)) + if(cell.use(energy_to_speak)) say("ERROR! OUT OF PAPER! MAXIMUM PRINTING SPEED UNAVAIBLE! SWITCH TO A SLOWER SPEED TO OR PROVIDE PAPER!") else to_chat(user, "\The [src] doesn't seem to be on... Perhaps it ran out of power?") @@ -308,7 +308,7 @@ var/message switch(time_mode) if(INSPECTOR_TIME_MODE_HONK) - power_per_print = INSPECTOR_POWER_USAGE_NORMAL + energy_per_print = INSPECTOR_ENERGY_USAGE_NORMAL time_mode = INSPECTOR_TIME_MODE_SLOW message = "SLOW." if(INSPECTOR_TIME_MODE_SLOW) @@ -316,7 +316,7 @@ message = "LIGHTNING FAST." else time_mode = INSPECTOR_TIME_MODE_HONK - power_per_print = INSPECTOR_POWER_USAGE_HONK + energy_per_print = INSPECTOR_ENERGY_USAGE_HONK message = "HONK!" balloon_alert(user, "scanning speed set to [message]") diff --git a/code/game/objects/items/maintenance_loot.dm b/code/game/objects/items/maintenance_loot.dm index 538e4cac93d..52ed1880081 100644 --- a/code/game/objects/items/maintenance_loot.dm +++ b/code/game/objects/items/maintenance_loot.dm @@ -29,8 +29,8 @@ icon = 'icons/obj/maintenance_loot.dmi' icon_state = "lead_battery" throwforce = 10 - maxcharge = 20000 //decent max charge - chargerate = 1400 //charging is about 30% less efficient than lithium batteries. + maxcharge = STANDARD_CELL_CHARGE * 20 //decent max charge + chargerate = STANDARD_CELL_CHARGE * 0.7 //charging is about 30% less efficient than lithium batteries. charge_light_type = null connector_type = "leadacid" rating = 2 //Kind of a mid-tier battery diff --git a/code/game/objects/items/melee/baton.dm b/code/game/objects/items/melee/baton.dm index 295a2c32945..af4ac798fe3 100644 --- a/code/game/objects/items/melee/baton.dm +++ b/code/game/objects/items/melee/baton.dm @@ -660,7 +660,7 @@ if (!cell) return if (!(. & EMP_PROTECT_SELF)) - deductcharge(1000 / severity) + deductcharge(STANDARD_CELL_CHARGE / severity) if (cell.charge >= cell_hit_cost) var/scramble_time scramble_mode() diff --git a/code/game/objects/items/melee/energy.dm b/code/game/objects/items/melee/energy.dm index 9c6da93717a..2dc637b1361 100644 --- a/code/game/objects/items/melee/energy.dm +++ b/code/game/objects/items/melee/energy.dm @@ -213,7 +213,7 @@ name = "cyborg energy sword" sword_color_icon = "red" /// The cell cost of hitting something. - var/hitcost = 50 + var/hitcost = 0.05 * STANDARD_CELL_CHARGE /obj/item/melee/energy/sword/cyborg/attack(mob/target, mob/living/silicon/robot/user) if(!user.cell) @@ -238,7 +238,7 @@ icon_state = "esaw" hitsound = 'sound/weapons/circsawhit.ogg' force = 18 - hitcost = 75 // Costs more than a standard cyborg esword. + hitcost = 0.075 * STANDARD_CELL_CHARGE // Costs more than a standard cyborg esword. w_class = WEIGHT_CLASS_NORMAL sharpness = SHARP_EDGED light_color = LIGHT_COLOR_LIGHT_CYAN diff --git a/code/game/objects/items/rcd/RCD.dm b/code/game/objects/items/rcd/RCD.dm index a75091e47aa..d050da4fa5e 100644 --- a/code/game/objects/items/rcd/RCD.dm +++ b/code/game/objects/items/rcd/RCD.dm @@ -422,7 +422,8 @@ /obj/item/construction/rcd/borg desc = "A device used to rapidly build walls and floors." banned_upgrades = RCD_UPGRADE_SILO_LINK - var/energyfactor = 72 + /// enery usage + var/energyfactor = 72 KILO JOULES /obj/item/construction/rcd/borg/get_matter(mob/user) if(!iscyborg(user)) @@ -464,7 +465,7 @@ desc = "A reverse-engineered RCD with black market upgrades that allow this device to deconstruct reinforced walls. Property of Donk Co." icon_state = "ircd" inhand_icon_state = "ircd" - energyfactor = 66 + energyfactor = 66 KILO JOULES canRturf = TRUE /obj/item/construction/rcd/loaded @@ -515,6 +516,9 @@ has_ammobar = FALSE upgrade = RCD_ALL_UPGRADES & ~RCD_UPGRADE_SILO_LINK +///How much charge is used up for each matter unit. +#define MASS_TO_ENERGY (16 KILO JOULES) + /obj/item/construction/rcd/exosuit name = "mounted RCD" desc = "An exosuit-mounted Rapid Construction Device." @@ -525,8 +529,6 @@ resistance_flags = FIRE_PROOF | INDESTRUCTIBLE // should NOT be destroyed unless the equipment is destroyed item_flags = NO_MAT_REDEMPTION | NOBLUDGEON | DROPDEL // already qdeleted in the equipment's Destroy() but you can never be too sure delay_mod = 0.5 - ///How much charge is used up for each matter unit. - var/mass_to_energy = 16 /obj/item/construction/rcd/exosuit/ui_status(mob/user, datum/ui_state/state) if(ismecha(owner)) @@ -539,7 +541,7 @@ if(!ismecha(owner)) return 0 var/obj/vehicle/sealed/mecha/gundam = owner - return round(gundam.get_charge() / mass_to_energy) + return round(gundam.get_charge() / MASS_TO_ENERGY) /obj/item/construction/rcd/exosuit/useResource(amount, mob/user) if(silo_link) @@ -547,7 +549,7 @@ if(!ismecha(owner)) return 0 var/obj/vehicle/sealed/mecha/gundam = owner - if(!gundam.use_power(amount * mass_to_energy)) + if(!gundam.use_energy(amount * MASS_TO_ENERGY)) gundam.balloon_alert(user, "insufficient charge!") return FALSE return TRUE @@ -558,11 +560,13 @@ if(!ismecha(owner)) return 0 var/obj/vehicle/sealed/mecha/gundam = owner - if(!gundam.has_charge(amount * mass_to_energy)) + if(!gundam.has_charge(amount * MASS_TO_ENERGY)) gundam.balloon_alert(user, "insufficient charge!") return FALSE return TRUE +#undef MASS_TO_ENERGY + #undef FREQUENT_USE_DEBUFF_MULTIPLIER /obj/item/rcd_ammo diff --git a/code/game/objects/items/robot/items/food.dm b/code/game/objects/items/robot/items/food.dm index 0ecfefa589d..1878b0c1e00 100644 --- a/code/game/objects/items/robot/items/food.dm +++ b/code/game/objects/items/robot/items/food.dm @@ -121,7 +121,7 @@ check_amount() if(iscyborg(user)) var/mob/living/silicon/robot/robot_user = user - if(!robot_user.cell.use(12)) + if(!robot_user.cell.use(12 KILO JOULES)) to_chat(user, span_warning("Not enough power.")) return AFTERATTACK_PROCESSED_ITEM switch(mode) diff --git a/code/game/objects/items/robot/items/generic.dm b/code/game/objects/items/robot/items/generic.dm index 7ebd87408f6..f1f7f379ffb 100644 --- a/code/game/objects/items/robot/items/generic.dm +++ b/code/game/objects/items/robot/items/generic.dm @@ -12,12 +12,13 @@ /obj/item/borg icon = 'icons/mob/silicon/robot_items.dmi' +/// Cost to use the stun arm +#define CYBORG_STUN_CHARGE_COST (0.2 * STANDARD_CELL_CHARGE) + /obj/item/borg/stun name = "electrically-charged arm" icon_state = "elecarm" var/stamina_damage = 60 //Same as normal batong - /// Cost to use the stun arm - var/charge_cost = 200 var/cooldown_check = 0 /// cooldown between attacks var/cooldown = 4 SECONDS // same as baton @@ -33,7 +34,7 @@ return FALSE if(iscyborg(user)) var/mob/living/silicon/robot/robot_user = user - if(!robot_user.cell.use(charge_cost)) + if(!robot_user.cell.use(CYBORG_STUN_CHARGE_COST)) return user.do_attack_animation(attacked_mob) @@ -57,6 +58,8 @@ cooldown_check = world.time + cooldown log_combat(user, attacked_mob, "stunned", src, "(Combat mode: [user.combat_mode ? "On" : "Off"])") +#undef CYBORG_STUN_CHARGE_COST + /obj/item/borg/cyborghug name = "hugging module" icon_state = "hugmodule" @@ -182,7 +185,7 @@ span_danger("You shock [attacked_mob] to no effect."), ) playsound(loc, 'sound/effects/sparks2.ogg', 50, TRUE, -1) - user.cell.charge -= 500 + user.cell.use(0.5 * STANDARD_CELL_CHARGE, force = TRUE) COOLDOWN_START(src, shock_cooldown, HUG_SHOCK_COOLDOWN) if(HUG_MODE_CRUSH) if (!COOLDOWN_FINISHED(src, crush_cooldown)) @@ -199,7 +202,7 @@ ) playsound(loc, 'sound/weapons/smash.ogg', 50, TRUE, -1) attacked_mob.adjustBruteLoss(15) - user.cell.charge -= 300 + user.cell.use(0.3 * STANDARD_CELL_CHARGE, force = TRUE) COOLDOWN_START(src, crush_cooldown, HUG_CRUSH_COOLDOWN) /obj/item/borg/cyborghug/peacekeeper @@ -251,10 +254,7 @@ if((target_machine.machine_stat & (NOPOWER|BROKEN)) || !target_machine.anchored) break - if(!user.cell.give(150)) - break - - target_machine.use_power(200) + target_machine.charge_cell(0.15 * STANDARD_CELL_CHARGE, user.cell) to_chat(user, span_notice("You stop charging yourself.")) diff --git a/code/game/objects/items/robot/items/hypo.dm b/code/game/objects/items/robot/items/hypo.dm index f91e6275f82..9cfdce50fe3 100644 --- a/code/game/objects/items/robot/items/hypo.dm +++ b/code/game/objects/items/robot/items/hypo.dm @@ -109,7 +109,7 @@ */ var/max_volume_per_reagent = 30 /// Cell cost for charging a reagent - var/charge_cost = 50 + var/charge_cost = 50 KILO JOULES /// Counts up to the next time we charge var/charge_timer = 0 /// Time it takes for shots to recharge (in seconds) @@ -311,7 +311,7 @@ Also metabolizes potassium iodide for radiation poisoning, inacusiate for ear damage and morphine for offense." icon_state = "borghypo_s" tgui_theme = "syndicate" - charge_cost = 20 + charge_cost = 20 KILO JOULES recharge_time = 2 default_reagent_types = BASE_SYNDICATE_REAGENTS bypass_protection = TRUE @@ -324,7 +324,7 @@ icon_state = "shaker" possible_transfer_amounts = list(5,10,20,1) // Lots of reagents all regenerating at once, so the charge cost is lower. They also regenerate faster. - charge_cost = 20 + charge_cost = 20 KILO JOULES recharge_time = 3 dispensed_temperature = WATER_MATTERSTATE_CHANGE_TEMP //Water stays wet, ice stays ice default_reagent_types = BASE_SERVICE_REAGENTS @@ -396,7 +396,7 @@ icon_state = "flour" possible_transfer_amounts = list(5,10,20,1) // Lots of reagents all regenerating at once, so the charge cost is lower. They also regenerate faster. - charge_cost = 40 //Costs double the power of the borgshaker due to synthesizing solids + charge_cost = 40 KILO JOULES //Costs double the power of the borgshaker due to synthesizing solids recharge_time = 6 //Double the recharge time too, for the same reason. dispensed_temperature = WATER_MATTERSTATE_CHANGE_TEMP default_reagent_types = EXPANDED_SERVICE_REAGENTS diff --git a/code/game/objects/items/robot/items/tools.dm b/code/game/objects/items/robot/items/tools.dm index 773458964f7..538fd1b7ca1 100644 --- a/code/game/objects/items/robot/items/tools.dm +++ b/code/game/objects/items/robot/items/tools.dm @@ -1,4 +1,5 @@ #define PKBORG_DAMPEN_CYCLE_DELAY (2 SECONDS) +#define POWER_RECHARGE_CYBORG_DRAIN_MULTIPLIER (0.4 KILO WATTS) /obj/item/cautery/prt //it's a subtype of cauteries so that it inherits the cautery sprites and behavior and stuff, because I'm too lazy to make sprites for this thing name = "plating repair tool" @@ -24,8 +25,6 @@ var/energy = 1500 /// Recharging rate in energy per second var/energy_recharge = 37.5 - /// Charge draining right - var/energy_recharge_cyborg_drain_coefficient = 0.4 /// Critical power level percentage var/cyborg_cell_critical_percentage = 0.05 /// The owner of the dampener @@ -156,7 +155,7 @@ energy = clamp(energy + energy_recharge * seconds_per_tick, 0, maxenergy) return if(host.cell && (host.cell.charge >= (host.cell.maxcharge * cyborg_cell_critical_percentage)) && (energy < maxenergy)) - host.cell.use(energy_recharge * seconds_per_tick * energy_recharge_cyborg_drain_coefficient) + host.cell.use(energy_recharge * seconds_per_tick * POWER_RECHARGE_CYBORG_DRAIN_MULTIPLIER) energy += energy_recharge * seconds_per_tick /obj/item/borg/projectile_dampen/proc/dampen_projectile(datum/source, obj/projectile/projectile) @@ -176,3 +175,4 @@ projectile.cut_overlay(projectile_effect) #undef PKBORG_DAMPEN_CYCLE_DELAY +#undef POWER_RECHARGE_CYBORG_DRAIN_MULTIPLIER diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index aeefc5dd94b..56804d0c550 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -295,7 +295,7 @@ /// Minimum time between repairs in seconds var/repair_cooldown = 4 var/on = FALSE - var/powercost = 10 + var/energy_cost = 10 KILO JOULES var/datum/action/toggle_action /obj/item/borg/upgrade/selfrepair/action(mob/living/silicon/robot/R, user = usr) @@ -355,7 +355,7 @@ deactivate_sr() return - if(cyborg.cell.charge < powercost * 2) + if(cyborg.cell.charge < energy_cost * 2) to_chat(cyborg, span_alert("Self-repair module deactivated. Please recharge.")) deactivate_sr() return @@ -363,16 +363,16 @@ if(cyborg.health < cyborg.maxHealth) if(cyborg.health < 0) repair_amount = -2.5 - powercost = 30 + energy_cost = 30 KILO JOULES else repair_amount = -1 - powercost = 10 + energy_cost = 10 KILO JOULES cyborg.adjustBruteLoss(repair_amount) cyborg.adjustFireLoss(repair_amount) cyborg.updatehealth() - cyborg.cell.use(powercost) + cyborg.cell.use(energy_cost) else - cyborg.cell.use(5) + cyborg.cell.use(5 KILO JOULES) next_repair = world.time + repair_cooldown * 10 // Multiply by 10 since world.time is in deciseconds if(TIMER_COOLDOWN_FINISHED(src, COOLDOWN_BORG_SELF_REPAIR)) 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 43cd135904f..c55a39c20f7 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 @@ -168,7 +168,7 @@ alert_icon_state = "sheet-plasma" alert_desc = "You are protected from high pressure and can convert heat damage into power." /// What do we multiply our damage by to convert it into power? - var/power_multiplier = 5 + var/energy_per_damage = 5 KILO JOULES /// Multiplier to apply to burn damage, not 0 so that we can reverse it more easily var/burn_multiplier = 0.05 @@ -195,7 +195,7 @@ if(damagetype != BURN) return - var/power = damage * power_multiplier + var/power = damage * energy_per_damage var/obj/machinery/power/energy_accumulator/ground = get_closest_atom(/obj/machinery/power/energy_accumulator, view(4, owner), owner) if (ground) zap_effect(ground) diff --git a/code/modules/antagonists/fugitive/hunters/hunter_gear.dm b/code/modules/antagonists/fugitive/hunters/hunter_gear.dm index 7ba0401829a..54f2ef351a7 100644 --- a/code/modules/antagonists/fugitive/hunters/hunter_gear.dm +++ b/code/modules/antagonists/fugitive/hunters/hunter_gear.dm @@ -31,7 +31,7 @@ antag.is_captured = TRUE to_chat(fugitive, span_userdanger("You are thrown into a vast void of bluespace, and as you fall further into oblivion the comparatively small entrance to reality gets smaller and smaller until you cannot see it anymore. You have failed to avoid capture.")) fugitive.ghostize(TRUE) //so they cannot suicide, round end stuff. - use_power(active_power_usage) + use_energy(active_power_usage) /obj/machinery/computer/shuttle/hunter name = "shuttle console" diff --git a/code/modules/antagonists/ninja/ninjaDrainAct.dm b/code/modules/antagonists/ninja/ninjaDrainAct.dm index ac5b960e3f0..68ee227d6cd 100644 --- a/code/modules/antagonists/ninja/ninjaDrainAct.dm +++ b/code/modules/antagonists/ninja/ninjaDrainAct.dm @@ -324,7 +324,7 @@ /mob/living/carbon/ninjadrain_act(mob/living/carbon/human/ninja, obj/item/mod/module/hacker/hacking_module) if(!ninja || !hacking_module) return NONE - //Default cell = 10,000 charge, 10,000/1000 = 10 uses without charging/upgrading + //20 uses for a standard cell. 200 for high capacity cells. if(hacking_module.mod.subtract_charge(DEFAULT_CHARGE_DRAIN*10)) //Got that electric touch var/datum/effect_system/spark_spread/spark_system = new /datum/effect_system/spark_spread() diff --git a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm index 27909606643..e5a5d2cfb35 100644 --- a/code/modules/antagonists/nukeop/equipment/borgchameleon.dm +++ b/code/modules/antagonists/nukeop/equipment/borgchameleon.dm @@ -1,3 +1,6 @@ +#define ACTIVATION_COST (300 KILO JOULES) +#define ACTIVATION_UP_KEEP (25 KILO WATTS) + /obj/item/borg_chameleon name = "cyborg chameleon projector" icon = 'icons/obj/devices/syndie_gadget.dmi' @@ -11,8 +14,6 @@ var/friendlyName var/savedName var/active = FALSE - var/activationCost = 300 - var/activationUpkeep = 50 var/disguise = "engineer" var/mob/listeningTo var/static/list/signalCache = list( // list here all signals that should break the camouflage @@ -44,13 +45,13 @@ disrupt(user) /obj/item/borg_chameleon/attack_self(mob/living/silicon/robot/user) - if (user && user.cell && user.cell.charge > activationCost) + if (user && user.cell && user.cell.charge > ACTIVATION_COST) if (isturf(user.loc)) toggle(user) else to_chat(user, span_warning("You can't use [src] while inside something!")) else - to_chat(user, span_warning("You need at least [activationCost] charge in your cell to use [src]!")) + to_chat(user, span_warning("You need at least [display_energy(ACTIVATION_COST)] of charge in your cell to use [src]!")) /obj/item/borg_chameleon/proc/toggle(mob/living/silicon/robot/user) if(active) @@ -65,7 +66,7 @@ to_chat(user, span_notice("You activate \the [src].")) playsound(src, 'sound/effects/seedling_chargeup.ogg', 100, TRUE, -6) apply_wibbly_filters(user) - if (do_after(user, 50, target=user) && user.cell.use(activationCost)) + if (do_after(user, 50, target=user) && user.cell.use(ACTIVATION_COST)) playsound(src, 'sound/effects/bamf.ogg', 100, TRUE, -6) to_chat(user, span_notice("You are now disguised as the Nanotrasen engineering borg \"[friendlyName]\".")) activate(user) @@ -75,9 +76,9 @@ remove_wibbly_filters(user) animation_playing = FALSE -/obj/item/borg_chameleon/process() +/obj/item/borg_chameleon/process(seconds_per_tick) if (user) - if (!user.cell || !user.cell.use(activationUpkeep)) + if (!user.cell || !user.cell.use(ACTIVATION_UP_KEEP * seconds_per_tick)) disrupt(user) else return PROCESS_KILL @@ -119,3 +120,6 @@ if(active) to_chat(user, span_danger("Your chameleon field deactivates.")) deactivate(user) + +#undef ACTIVATION_COST +#undef ACTIVATION_UP_KEEP diff --git a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm index f39b2a780d1..7b21309e4e5 100644 --- a/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm +++ b/code/modules/atmospherics/machinery/air_alarm/air_alarm_interact.dm @@ -140,7 +140,7 @@ if(istype(W, /obj/item/electroadaptive_pseudocircuit)) var/obj/item/electroadaptive_pseudocircuit/P = W - if(!P.adapt_circuit(user, 25)) + if(!P.adapt_circuit(user, circuit_cost = 25 KILO JOULES)) return user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ span_notice("You adapt an air alarm circuit and slot it into the assembly.")) diff --git a/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm b/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm index 2db9207a82d..0fdb5aca6a3 100644 --- a/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm +++ b/code/modules/atmospherics/machinery/components/binary_devices/temperature_pump.dm @@ -70,7 +70,7 @@ air_output.merge(remove_output) if(power_usage) - use_power(power_usage) + use_energy(power_usage) /obj/machinery/atmospherics/components/binary/temperature_pump/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm b/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm index 7cee01e0cf7..0ab8427c0ae 100644 --- a/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm +++ b/code/modules/atmospherics/machinery/components/electrolyzer/electrolyzer.dm @@ -125,9 +125,9 @@ var/power_to_use = (5 * (3 * working_power) * working_power) / (efficiency + working_power) if(anchored) - use_power(power_to_use) + use_energy(power_to_use) else - cell.use(power_to_use) + cell.use(power_to_use KILO JOULES) /obj/machinery/electrolyzer/proc/call_reactions(datum/gas_mixture/env) for(var/reaction in GLOB.electrolyzer_reactions) diff --git a/code/modules/atmospherics/machinery/components/fusion/_hfr_defines.dm b/code/modules/atmospherics/machinery/components/fusion/_hfr_defines.dm index 46a64a7e10a..d113f3d7f05 100644 --- a/code/modules/atmospherics/machinery/components/fusion/_hfr_defines.dm +++ b/code/modules/atmospherics/machinery/components/fusion/_hfr_defines.dm @@ -21,7 +21,7 @@ ///Conduction of heat near the external cooling loop #define HIGH_EFFICIENCY_CONDUCTIVITY 0.975 ///Sets the minimum amount of power the machine uses -#define MIN_POWER_USAGE 50000 +#define MIN_POWER_USAGE (50 KILO WATTS) ///Sets the multiplier for the damage #define DAMAGE_CAP_MULTIPLIER 0.005 ///Sets the range of the hallucinations diff --git a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm index aa890b0b574..0af962ac0f3 100644 --- a/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm +++ b/code/modules/atmospherics/machinery/components/unary_devices/thermomachine.dm @@ -196,7 +196,7 @@ // This produces a nice curve that scales decently well for really hot stuff, and is nice to not fusion. It'll do var/power_usage = idle_power_usage + (heat_amount * 0.05) ** (1.05 - (5e7 * 0.16 / max(heat_amount, 5e7))) - use_power(power_usage) + use_energy(power_usage) update_parents() /obj/machinery/atmospherics/components/unary/thermomachine/screwdriver_act(mob/living/user, obj/item/tool) diff --git a/code/modules/atmospherics/machinery/other/miner.dm b/code/modules/atmospherics/machinery/other/miner.dm index 823ce906617..ebab8af4ea7 100644 --- a/code/modules/atmospherics/machinery/other/miner.dm +++ b/code/modules/atmospherics/machinery/other/miner.dm @@ -97,7 +97,7 @@ if(GASMINER_POWER_FULLSCALE) update_use_power(ACTIVE_POWER_USE, (spawn_mol * power_draw_dynamic_mol_coeff) + (P * power_draw_dynamic_kpa_coeff)) -/obj/machinery/atmospherics/miner/proc/do_use_power(amount) +/obj/machinery/atmospherics/miner/proc/do_use_energy(amount) var/turf/T = get_turf(src) if(T && istype(T)) var/obj/structure/cable/C = T.get_cable_node() //check if we have a node cable on the machine turf, the first found is picked @@ -105,7 +105,7 @@ C.powernet.load += amount return TRUE if(powered()) - use_power(amount) + use_energy(amount) return TRUE return FALSE @@ -126,7 +126,7 @@ if(active && !broken) if(isnull(spawn_id)) return FALSE - if(do_use_power(active_power_usage)) + if(do_use_energy(active_power_usage)) mine_gas(seconds_per_tick) /obj/machinery/atmospherics/miner/proc/mine_gas(seconds_per_tick = 2) diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 8c3a3301b68..75152798bba 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -479,11 +479,11 @@ var/our_temperature = air_contents.return_temperature() if(shielding_powered) - var/power_factor = round(log(10, max(our_pressure - pressure_limit, 1)) + log(10, max(our_temperature - temp_limit, 1))) - var/power_consumed = power_factor * 250 * seconds_per_tick + var/energy_factor = round(log(10, max(our_pressure - pressure_limit, 1)) + log(10, max(our_temperature - temp_limit, 1))) + var/energy_consumed = energy_factor * 250 * seconds_per_tick if(powered(AREA_USAGE_EQUIP, ignore_use_power = TRUE)) - use_power(power_consumed, AREA_USAGE_EQUIP) - else if(!internal_cell?.use(power_consumed * 0.025)) + use_energy(energy_consumed, channel = AREA_USAGE_EQUIP) + else if(!internal_cell?.use(energy_consumed * 0.025 KILO JOULES)) shielding_powered = FALSE SSair.start_processing_machine(src) investigate_log("shielding turned off due to power loss") diff --git a/code/modules/cargo/markets/market_telepad.dm b/code/modules/cargo/markets/market_telepad.dm index 3738a314afd..4545b07e487 100644 --- a/code/modules/cargo/markets/market_telepad.dm +++ b/code/modules/cargo/markets/market_telepad.dm @@ -19,10 +19,10 @@ idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 2 - /// Divider for power_usage_per_teleport. + /// Divider for energy_usage_per_teleport. var/power_efficiency = 1 /// Power used per teleported which gets divided by power_efficiency. - var/power_usage_per_teleport = 10000 + var/energy_usage_per_teleport = 10 KILO JOULES /// The time it takes for the machine to recharge before being able to send or receive items. var/recharge_time = 0 /// Current recharge progress. @@ -92,7 +92,7 @@ receiving.item = receiving.entry.spawn_item(turf, receiving) - use_power(power_usage_per_teleport / power_efficiency) + use_energy(energy_usage_per_teleport / power_efficiency) var/datum/effect_system/spark_spread/sparks = new sparks.set_up(5, 1, get_turf(src)) sparks.attach(receiving.item) @@ -106,7 +106,7 @@ if(transmitting) if(transmitting.item.loc == turf) do_teleport(transmitting.item, get_turf(transmitting.uplink)) - use_power(power_usage_per_teleport / power_efficiency) + use_energy(energy_usage_per_teleport / power_efficiency) QDEL_NULL(transmitting) return diff --git a/code/modules/clothing/spacesuits/_spacesuits.dm b/code/modules/clothing/spacesuits/_spacesuits.dm index a1fab1f591d..58cbf7e88e5 100644 --- a/code/modules/clothing/spacesuits/_spacesuits.dm +++ b/code/modules/clothing/spacesuits/_spacesuits.dm @@ -1,4 +1,5 @@ -#define THERMAL_REGULATOR_COST 18 // the cost per tick for the thermal regulator +/// Charge per tick consumed by the thermal regulator +#define THERMAL_REGULATOR_COST (18 KILO JOULES) //Note: Everything in modules/clothing/spacesuits should have the entire suit grouped together. // Meaning the the suit is defined directly after the corrisponding helmet. Just like below! diff --git a/code/modules/experisci/destructive_scanner.dm b/code/modules/experisci/destructive_scanner.dm index de0b03b0f09..5740b715bd4 100644 --- a/code/modules/experisci/destructive_scanner.dm +++ b/code/modules/experisci/destructive_scanner.dm @@ -42,7 +42,7 @@ return aggressive = TRUE start_closing(aggressive) - use_power(idle_power_usage) + use_energy(idle_power_usage) ///Closes the machine to kidnap everything in the turf into it. /obj/machinery/destructive_scanner/proc/start_closing(aggressive) @@ -55,7 +55,7 @@ scanning = TRUE update_icon() playsound(src, 'sound/machines/destructive_scanner/TubeDown.ogg', 100) - use_power(idle_power_usage) + use_energy(idle_power_usage) addtimer(CALLBACK(src, PROC_REF(start_scanning), aggressive), 1.2 SECONDS) ///Starts scanning the fancy scanning effects @@ -64,7 +64,7 @@ playsound(src, 'sound/machines/destructive_scanner/ScanDangerous.ogg', 100, extrarange = 5) else playsound(src, 'sound/machines/destructive_scanner/ScanSafe.ogg', 100) - use_power(active_power_usage) + use_energy(active_power_usage) addtimer(CALLBACK(src, PROC_REF(finish_scanning), aggressive), 6 SECONDS) diff --git a/code/modules/explorer_drone/loot.dm b/code/modules/explorer_drone/loot.dm index 3f3d6f6c520..88cd5f38275 100644 --- a/code/modules/explorer_drone/loot.dm +++ b/code/modules/explorer_drone/loot.dm @@ -152,7 +152,6 @@ GLOBAL_LIST_INIT(adventure_loot_generator_index,generate_generator_index()) lefthand_file = 'icons/mob/inhands/items/firelance_lefthand.dmi' var/windup_time = 10 SECONDS var/melt_range = 3 - var/charge_per_use = 200 var/obj/item/stock_parts/cell/cell /obj/item/firelance/Initialize(mapload) @@ -176,7 +175,7 @@ GLOBAL_LIST_INIT(adventure_loot_generator_index,generate_generator_index()) return if(LAZYACCESS(user.do_afters, "firelance")) return - if(!cell.use(charge_per_use)) + if(!cell.use(200 KILO JOULES)) to_chat(user,span_warning("[src] battery ran dry!")) return ADD_TRAIT(user, TRAIT_IMMOBILIZED, REF(src)) diff --git a/code/modules/food_and_drinks/machinery/coffeemaker.dm b/code/modules/food_and_drinks/machinery/coffeemaker.dm index de751979ca8..d79eebc993a 100644 --- a/code/modules/food_and_drinks/machinery/coffeemaker.dm +++ b/code/modules/food_and_drinks/machinery/coffeemaker.dm @@ -401,7 +401,7 @@ if(!silent) playsound(src, 'sound/machines/coffeemaker_brew.ogg', 20, vary = TRUE) toggle_steam() - use_power(active_power_usage * time * 0.1) // .1 needed here to convert time (in deciseconds) to seconds such that watts * seconds = joules + use_energy(active_power_usage * time / (1 SECONDS)) // .1 needed here to convert time (in deciseconds) to seconds such that watts * seconds = joules addtimer(CALLBACK(src, PROC_REF(stop_operating)), time / speed) /obj/machinery/coffeemaker/proc/stop_operating() diff --git a/code/modules/food_and_drinks/machinery/deep_fryer.dm b/code/modules/food_and_drinks/machinery/deep_fryer.dm index 3f1e3fd4c97..ff4e163eccb 100644 --- a/code/modules/food_and_drinks/machinery/deep_fryer.dm +++ b/code/modules/food_and_drinks/machinery/deep_fryer.dm @@ -148,7 +148,7 @@ GLOBAL_LIST_INIT(oilfry_blacklisted_items, typecacheof(list( frying_burnt = TRUE visible_message(span_warning("[src] emits an acrid smell!")) - use_power(active_power_usage) + use_energy(active_power_usage) /obj/machinery/deepfryer/Exited(atom/movable/gone, direction) . = ..() diff --git a/code/modules/food_and_drinks/machinery/gibber.dm b/code/modules/food_and_drinks/machinery/gibber.dm index eeed4732537..c8ddefc43b9 100644 --- a/code/modules/food_and_drinks/machinery/gibber.dm +++ b/code/modules/food_and_drinks/machinery/gibber.dm @@ -154,7 +154,7 @@ set_occupant(null) return - use_power(active_power_usage) + use_energy(active_power_usage) audible_message(span_hear("You hear a loud squelchy grinding sound.")) playsound(loc, 'sound/machines/juicer.ogg', 50, TRUE) operating = TRUE diff --git a/code/modules/food_and_drinks/machinery/griddle.dm b/code/modules/food_and_drinks/machinery/griddle.dm index 80646a8ab09..f997b049feb 100644 --- a/code/modules/food_and_drinks/machinery/griddle.dm +++ b/code/modules/food_and_drinks/machinery/griddle.dm @@ -176,7 +176,7 @@ if(prob(10)) visible_message(span_danger("[griddled_item] doesn't seem to be doing too great on the [src]!")) - use_power(active_power_usage) + use_energy(active_power_usage) var/turf/griddle_loc = loc if(isturf(griddle_loc)) diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm index abc22bcab45..dfb6ac9b2de 100644 --- a/code/modules/food_and_drinks/machinery/microwave.dm +++ b/code/modules/food_and_drinks/machinery/microwave.dm @@ -15,7 +15,7 @@ #define MAX_MICROWAVE_DIRTINESS 100 /// For the wireless version, and display fluff -#define TIER_1_CELL_CHARGE_RATE 250 +#define TIER_1_CELL_CHARGE_RATE (250 KILO JOULES) /obj/machinery/microwave name = "microwave oven" @@ -675,7 +675,7 @@ pre_success(cooker) return cycles-- - use_power(active_power_usage) + use_energy(active_power_usage) addtimer(CALLBACK(src, PROC_REF(cook_loop), type, cycles, wait, cooker), wait) /obj/machinery/microwave/power_change() @@ -831,8 +831,9 @@ if(cell_powered && !cell.use(charge_rate)) charge_loop_finish(cooker) - vampire_cell.give(charge_rate * (0.85 + (efficiency * 0.5))) // we lose a tiny bit of power in the transfer as heat - use_power(charge_rate) + use_energy(charge_rate * (0.5 - efficiency * 0.12)) //Some of the power gets lost as heat. + charge_cell(charge_rate * (0.5 + efficiency * 0.12), vampire_cell) //Cell gets charged, which further uses power. + vampire_charge_amount = vampire_cell.maxcharge - vampire_cell.charge diff --git a/code/modules/food_and_drinks/machinery/monkeyrecycler.dm b/code/modules/food_and_drinks/machinery/monkeyrecycler.dm index afbbf6da0c4..decfa33499c 100644 --- a/code/modules/food_and_drinks/machinery/monkeyrecycler.dm +++ b/code/modules/food_and_drinks/machinery/monkeyrecycler.dm @@ -79,7 +79,7 @@ GLOBAL_LIST_EMPTY(monkey_recyclers) playsound(src.loc, 'sound/machines/juicer.ogg', 50, TRUE) var/offset = prob(50) ? -2 : 2 animate(src, pixel_x = pixel_x + offset, time = 0.2, loop = 200) //start shaking - use_power(active_power_usage) + use_energy(active_power_usage) stored_matter += cube_production addtimer(VARSET_CALLBACK(src, pixel_x, base_pixel_x)) addtimer(CALLBACK(GLOBAL_PROC, GLOBAL_PROC_REF(to_chat), user, span_notice("The machine now has [stored_matter] monkey\s worth of material stored."))) diff --git a/code/modules/food_and_drinks/machinery/oven.dm b/code/modules/food_and_drinks/machinery/oven.dm index 87cffebc8ae..517e25c6dcb 100644 --- a/code/modules/food_and_drinks/machinery/oven.dm +++ b/code/modules/food_and_drinks/machinery/oven.dm @@ -93,7 +93,7 @@ visible_message(span_danger("You smell a burnt smell coming from [src]!")) set_smoke_state(worst_cooked_food_state) update_appearance() - use_power(active_power_usage) + use_energy(active_power_usage) /obj/machinery/oven/attackby(obj/item/I, mob/user, params) diff --git a/code/modules/food_and_drinks/machinery/processor.dm b/code/modules/food_and_drinks/machinery/processor.dm index 27444c537ba..1e75d02ba28 100644 --- a/code/modules/food_and_drinks/machinery/processor.dm +++ b/code/modules/food_and_drinks/machinery/processor.dm @@ -147,7 +147,7 @@ span_notice("You turn on [src]."), \ span_hear("You hear a food processor.")) playsound(src.loc, 'sound/machines/blender.ogg', 50, TRUE) - use_power(active_power_usage) + use_energy(active_power_usage) var/total_time = 0 for(var/atom/movable/movable_input as anything in processor_contents) var/datum/food_processor_process/recipe = PROCESSOR_SELECT_RECIPE(movable_input) diff --git a/code/modules/food_and_drinks/machinery/smartfridge.dm b/code/modules/food_and_drinks/machinery/smartfridge.dm index 97465eca40f..3461c7c894b 100644 --- a/code/modules/food_and_drinks/machinery/smartfridge.dm +++ b/code/modules/food_and_drinks/machinery/smartfridge.dm @@ -411,7 +411,7 @@ if(!living_mob.put_in_hands(dispensed_item)) dispensed_item.forceMove(drop_location()) adjust_item_drop_location(dispensed_item) - use_power(active_power_usage) + use_energy(active_power_usage) desired-- if (visible_contents) @@ -546,7 +546,7 @@ SStgui.update_uis(src) update_appearance() - use_power(active_power_usage) + use_energy(active_power_usage) /obj/machinery/smartfridge/drying_rack/accept_check(obj/item/O) return HAS_TRAIT(O, TRAIT_DRYABLE) diff --git a/code/modules/food_and_drinks/machinery/stove_component.dm b/code/modules/food_and_drinks/machinery/stove_component.dm index 697e27f5849..1a39c3b2057 100644 --- a/code/modules/food_and_drinks/machinery/stove_component.dm +++ b/code/modules/food_and_drinks/machinery/stove_component.dm @@ -75,7 +75,7 @@ return container?.reagents.expose_temperature(SOUP_BURN_TEMP + 80, heat_coefficient) - real_parent.use_power(real_parent.active_power_usage) + real_parent.use_energy(real_parent.active_power_usage) var/turf/stove_spot = real_parent.loc if(isturf(stove_spot)) diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index c346d1b31d0..f75a1329246 100644 --- a/code/modules/holodeck/computer.dm +++ b/code/modules/holodeck/computer.dm @@ -116,9 +116,9 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf linked.linked = src var/area/my_area = get_area(src) if(my_area) - linked.power_usage = my_area.power_usage + linked.energy_usage = my_area.energy_usage else - linked.power_usage = list(AREA_USAGE_LEN) + linked.energy_usage = list(AREA_USAGE_LEN) COOLDOWN_START(src, holodeck_cooldown, HOLODECK_CD) generate_program_list() @@ -446,7 +446,7 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf reset_to_default() if(linked) linked.linked = null - linked.power_usage = list(AREA_USAGE_LEN) + linked.energy_usage = list(AREA_USAGE_LEN) return ..() /obj/machinery/computer/holodeck/blob_act(obj/structure/blob/B) diff --git a/code/modules/hydroponics/biogenerator.dm b/code/modules/hydroponics/biogenerator.dm index 5b8ce2a9309..260c4042a0a 100644 --- a/code/modules/hydroponics/biogenerator.dm +++ b/code/modules/hydroponics/biogenerator.dm @@ -322,7 +322,7 @@ convert_to_biomass(food_to_convert) - use_power(active_power_usage * seconds_per_tick) + use_energy(active_power_usage * seconds_per_tick) if(!current_item_count) stop_process(FALSE) diff --git a/code/modules/hydroponics/plant_genes.dm b/code/modules/hydroponics/plant_genes.dm index be8637c6c6e..bf52eb315d8 100644 --- a/code/modules/hydroponics/plant_genes.dm +++ b/code/modules/hydroponics/plant_genes.dm @@ -589,7 +589,7 @@ var/obj/item/stock_parts/cell/potato/pocell = new /obj/item/stock_parts/cell/potato(user.loc) pocell.icon = our_plant.icon // Just in case the plant icons get spread out in different files eventually, this trait won't cause error sprites (also yay downstreams) pocell.icon_state = our_plant.icon_state - pocell.maxcharge = our_seed.potency * 20 + pocell.maxcharge = our_seed.potency * 20 KILO JOULES // The secret of potato supercells! var/datum/plant_gene/trait/cell_charge/electrical_gene = our_seed.get_gene(/datum/plant_gene/trait/cell_charge) diff --git a/code/modules/mining/boulder_processing/_boulder_processing.dm b/code/modules/mining/boulder_processing/_boulder_processing.dm index b79bfe36dc6..0dfc43cf7f7 100644 --- a/code/modules/mining/boulder_processing/_boulder_processing.dm +++ b/code/modules/mining/boulder_processing/_boulder_processing.dm @@ -195,8 +195,11 @@ if(!can_process_golem(rockman)) return + if(!use_energy(active_power_usage * 1.5, force = FALSE)) + say("Not enough energy!") + return + maim_golem(rockman) - use_power(active_power_usage * 1.5) playsound(src, usage_sound, 50, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) COOLDOWN_START(src, accept_cooldown, 3 SECONDS) @@ -332,6 +335,9 @@ return if(chosen_boulder.loc != src) return + if(!use_energy(active_power_usage, force = FALSE)) + say("Not enough energy!") + return //if boulders are kept inside because there is no space to eject them, then they could be reprocessed, lets avoid that if(!chosen_boulder.processed_by) @@ -347,7 +353,6 @@ points_held = round(points_held + (quantity * possible_mat.points_per_unit * MINING_POINT_MACHINE_MULTIPLIER)) // put point total here into machine if(!silo_materials.mat_container.insert_amount_mat(quantity, possible_mat)) rejected_mats[possible_mat] = quantity - use_power(active_power_usage) //puts back materials that couldn't be processed chosen_boulder.set_custom_materials(rejected_mats, refining_efficiency) diff --git a/code/modules/mining/boulder_processing/brm.dm b/code/modules/mining/boulder_processing/brm.dm index 592ade5b757..259c3eed5f6 100644 --- a/code/modules/mining/boulder_processing/brm.dm +++ b/code/modules/mining/boulder_processing/brm.dm @@ -268,7 +268,7 @@ random_boulder.pixel_x = rand(-2, 2) random_boulder.pixel_y = rand(-2, 2) balloon_alert_to_viewers("boulder appears!") - use_power(active_power_usage) + use_energy(active_power_usage) //try again if we have more boulders to work with boulders_remaining -= 1 diff --git a/code/modules/mob/living/basic/festivus_pole.dm b/code/modules/mob/living/basic/festivus_pole.dm index aec6de74e1e..90eca4b272d 100644 --- a/code/modules/mob/living/basic/festivus_pole.dm +++ b/code/modules/mob/living/basic/festivus_pole.dm @@ -38,7 +38,7 @@ ai_controller = /datum/ai_controller/basic_controller/festivus_pole ///how much charge we give off to cells around us when rubbed - var/recharge_value = 75 + var/recharge_value = 75 KILO JOULES /mob/living/basic/festivus/Initialize(mapload) diff --git a/code/modules/mob/living/silicon/ai/life.dm b/code/modules/mob/living/silicon/ai/life.dm index 966db2b7697..331291db4ea 100644 --- a/code/modules/mob/living/silicon/ai/life.dm +++ b/code/modules/mob/living/silicon/ai/life.dm @@ -31,7 +31,7 @@ if(!lacks_power()) var/area/home = get_area(src) if(home.powered(AREA_USAGE_EQUIP)) - home.use_power(500 * seconds_per_tick, AREA_USAGE_EQUIP) + home.apc?.terminal?.use_energy(500 WATTS * seconds_per_tick, channel = AREA_USAGE_EQUIP) if(aiRestorePowerRoutine >= POWER_RESTORATION_SEARCH_APC) ai_restore_power() diff --git a/code/modules/mob/living/silicon/robot/life.dm b/code/modules/mob/living/silicon/robot/life.dm index ae56f65b0cd..2a9631339fc 100644 --- a/code/modules/mob/living/silicon/robot/life.dm +++ b/code/modules/mob/living/silicon/robot/life.dm @@ -14,14 +14,14 @@ if(cell?.charge) low_power_mode = FALSE else if(stat == CONSCIOUS) - use_power(seconds_per_tick, times_fired) + use_energy(seconds_per_tick, times_fired) -/mob/living/silicon/robot/proc/use_power(seconds_per_tick, times_fired) +/mob/living/silicon/robot/proc/use_energy(seconds_per_tick, times_fired) if(cell?.charge) - if(cell.charge <= 100) + if(cell.charge <= (10 KILO JOULES)) drop_all_held_items() - var/amt = clamp(lamp_enabled * lamp_intensity * seconds_per_tick, 0.5 * seconds_per_tick, cell.charge) //Lamp will use a max of 5 charge, depending on brightness of lamp. If lamp is off, borg systems consume 1 point of charge, or the rest of the cell if it's lower than that. - cell.use(amt) //Usage table: 0.5/second if off/lowest setting, 4 = 2/second, 6 = 4/second, 8 = 6/second, 10 = 8/second + var/energy_consumption = max(lamp_power_consumption * lamp_enabled * lamp_intensity * seconds_per_tick, BORG_MINIMUM_POWER_CONSUMPTION * seconds_per_tick) //Lamp will use a max of 5 * [BORG_LAMP_POWER_CONSUMPTION], depending on brightness of lamp. If lamp is off, borg systems consume [BORG_MINIMUM_POWER_CONSUMPTION], or the rest of the cell if it's lower than that. + cell.use(energy_consumption, force = TRUE) else drop_all_held_items() low_power_mode = TRUE diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index f984e82790e..2d7c23be506 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -234,11 +234,9 @@ if(!ionpulse_on) return - if(cell.charge <= 10) + if(!cell.use(10 KILO JOULES)) toggle_ionpulse() return - - cell.charge -= 10 return TRUE /mob/living/silicon/robot/proc/toggle_ionpulse() @@ -260,7 +258,7 @@ /mob/living/silicon/robot/get_status_tab_items() . = ..() if(cell) - . += "Charge Left: [cell.charge]/[cell.maxcharge]" + . += "Charge Left: [display_energy(cell.charge)]/[display_energy(cell.maxcharge)]" else . += "No Cell Inserted!" @@ -967,14 +965,13 @@ for(var/i in connected_ai.aicamera.stored) aicamera.stored[i] = TRUE -/mob/living/silicon/robot/proc/charge(datum/source, amount, repairs, sendmats) +/mob/living/silicon/robot/proc/charge(datum/source, datum/callback/charge_cell, seconds_per_tick, repairs, sendmats) SIGNAL_HANDLER + charge_cell.Invoke(cell, seconds_per_tick) if(model) - model.respawn_consumable(src, amount * 0.005) + model.respawn_consumable(src, cell.use(cell.chargerate * 0.005)) if(sendmats) model.restock_consumable() - if(cell) - cell.charge = min(cell.charge + amount, cell.maxcharge) if(repairs) heal_bodypart_damage(repairs, repairs) diff --git a/code/modules/mob/living/silicon/robot/robot_defines.dm b/code/modules/mob/living/silicon/robot/robot_defines.dm index af41813f88e..fa82f0c3395 100644 --- a/code/modules/mob/living/silicon/robot/robot_defines.dm +++ b/code/modules/mob/living/silicon/robot/robot_defines.dm @@ -52,6 +52,8 @@ var/lamp_doom = FALSE ///Lamp brightness. Starts at 3, but can be 1 - 5. var/lamp_intensity = 3 + ////Power consumption of the light per lamp_intensity. + var/lamp_power_consumption = BORG_LAMP_POWER_CONSUMPTION var/mutable_appearance/eye_lights diff --git a/code/modules/mod/adding_new_mod.md b/code/modules/mod/adding_new_mod.md index 5dbd10cc5b1..b0bf12486c1 100644 --- a/code/modules/mod/adding_new_mod.md +++ b/code/modules/mod/adding_new_mod.md @@ -217,7 +217,7 @@ As we have an usable module, we want to set a cooldown time. All modules are als icon_state = "neuron_healer" module_type = MODULE_USABLE complexity = 3 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/neuron_healer) cooldown_time = 15 SECONDS var/brain_damage_healed = 25 @@ -245,7 +245,7 @@ After this, we want to put our special code, a basic effect of healing all mobs carbon_mob.adjustOrganLoss(ORGAN_SLOT_BRAIN, -brain_damage_healed) mod.wearer.Beam(carbon_mob, icon_state = "plasmabeam", time = 1.5 SECONDS) playsound(src, 'sound/effects/magic.ogg', 100, TRUE) - drain_power(use_power_cost) + drain_power(use_energy_cost) ``` We now have a basic module, we can add it to the techwebs to make it printable ingame, and we can add an inbuilt, advanced version of it for our psychological suit. We'll give it more healing power, no complexity and make it unremovable. diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 579167453a1..24bae497cab 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -236,7 +236,7 @@ if(seconds_electrified > MACHINE_NOT_ELECTRIFIED) seconds_electrified-- if(mod_link.link_call) - subtract_charge((DEFAULT_CHARGE_DRAIN * 0.25) * seconds_per_tick) + subtract_charge(0.25 * DEFAULT_CHARGE_DRAIN * seconds_per_tick) if(!active) return if(!get_charge() && active && !activating) @@ -244,7 +244,7 @@ return var/malfunctioning_charge_drain = 0 if(malfunctioning) - malfunctioning_charge_drain = rand(1,20) + malfunctioning_charge_drain = rand(0.2 * DEFAULT_CHARGE_DRAIN, 4 * DEFAULT_CHARGE_DRAIN) // About triple power usage on average. subtract_charge((charge_drain + malfunctioning_charge_drain) * seconds_per_tick) for(var/obj/item/mod/module/module as anything in modules) if(malfunctioning && module.active && SPT_PROB(5, seconds_per_tick)) @@ -423,11 +423,9 @@ return ..() /obj/item/mod/control/get_cell() - if(!open) - return var/obj/item/stock_parts/cell/cell = get_charge_source() if(!istype(cell)) - return + return null return cell /obj/item/mod/control/GetAccess() diff --git a/code/modules/mod/mod_core.dm b/code/modules/mod/mod_core.dm index 5e7183e2563..0d71db68aac 100644 --- a/code/modules/mod/mod_core.dm +++ b/code/modules/mod/mod_core.dm @@ -68,7 +68,7 @@ return TRUE /obj/item/mod/core/infinite/subtract_charge(amount) - return TRUE + return amount /obj/item/mod/core/infinite/check_charge(amount) return TRUE @@ -236,10 +236,15 @@ UnregisterSignal(mod.wearer, COMSIG_PROCESS_BORGCHARGER_OCCUPANT) UnregisterSignal(mod, COMSIG_MOD_WEARER_UNSET) -/obj/item/mod/core/standard/proc/on_borg_charge(datum/source, amount) +/obj/item/mod/core/standard/proc/on_borg_charge(datum/source, datum/callback/charge_cell, seconds_per_tick) SIGNAL_HANDLER - add_charge(amount) + var/obj/item/stock_parts/cell/target_cell = charge_source() + if(isnull(target_cell)) + return + + if(charge_cell.Invoke(target_cell, seconds_per_tick)) + mod.update_charge_alert() /obj/item/mod/core/ethereal name = "MOD ethereal core" @@ -257,7 +262,7 @@ /obj/item/mod/core/ethereal/charge_amount() var/obj/item/organ/internal/stomach/ethereal/charge_source = charge_source() - return charge_source?.crystal_charge || ETHEREAL_CHARGE_NONE + return charge_source?.cell.charge() || ETHEREAL_CHARGE_NONE /obj/item/mod/core/ethereal/max_charge_amount() return ETHEREAL_CHARGE_FULL @@ -273,8 +278,7 @@ var/obj/item/organ/internal/stomach/ethereal/charge_source = charge_source() if(!charge_source) return FALSE - charge_source.adjust_charge(-amount*charge_modifier) - return TRUE + return -charge_source.adjust_charge(-amount*charge_modifier) /obj/item/mod/core/ethereal/check_charge(amount) return charge_amount() >= amount*charge_modifier @@ -282,8 +286,8 @@ /obj/item/mod/core/ethereal/get_charge_icon_state() return charge_source() ? "0" : "missing" -#define PLASMA_CORE_ORE_CHARGE 1500 -#define PLASMA_CORE_SHEET_CHARGE 2000 +#define PLASMA_CORE_ORE_CHARGE (1.5 * STANDARD_CELL_CHARGE) +#define PLASMA_CORE_SHEET_CHARGE (2 * STANDARD_CELL_CHARGE) /obj/item/mod/core/plasma name = "MOD plasma core" @@ -291,9 +295,9 @@ desc = "Nanotrasen's attempt at capitalizing on their plasma research. These plasma cores are refueled \ through plasma fuel, allowing for easy continued use by their mining squads." /// How much charge we can store. - var/maxcharge = 10000 + var/maxcharge = 10 * STANDARD_CELL_CHARGE /// How much charge we are currently storing. - var/charge = 10000 + var/charge = 10 * STANDARD_CELL_CHARGE /// Associated list of charge sources and how much they charge, only stacks allowed. var/list/charger_list = list(/obj/item/stack/ore/plasma = PLASMA_CORE_ORE_CHARGE, /obj/item/stack/sheet/mineral/plasma = PLASMA_CORE_SHEET_CHARGE) @@ -325,9 +329,10 @@ return TRUE /obj/item/mod/core/plasma/subtract_charge(amount) - charge = max(0, charge - amount) + amount = min(amount, charge) + charge -= amount mod.update_charge_alert() - return TRUE + return amount /obj/item/mod/core/plasma/check_charge(amount) return charge_amount() >= amount diff --git a/code/modules/mod/mod_link.dm b/code/modules/mod/mod_link.dm index 5781a040092..634b1dd648f 100644 --- a/code/modules/mod/mod_link.dm +++ b/code/modules/mod/mod_link.dm @@ -201,7 +201,7 @@ /obj/item/clothing/neck/link_scryer/process(seconds_per_tick) if(!mod_link.link_call) return - cell.use(min(20 * seconds_per_tick, cell.charge)) + cell.use(20 KILO WATTS * seconds_per_tick, force = TRUE) /obj/item/clothing/neck/link_scryer/attackby(obj/item/attacked_by, mob/user, params) . = ..() diff --git a/code/modules/mod/mod_ui.dm b/code/modules/mod/mod_ui.dm index ec3f393ed50..2f1e6faa0f4 100644 --- a/code/modules/mod/mod_ui.dm +++ b/code/modules/mod/mod_ui.dm @@ -47,7 +47,7 @@ "pinned" = module.pinned_to[REF(user)], "idle_power" = module.idle_power_cost, "active_power" = module.active_power_cost, - "use_power" = module.use_power_cost, + "use_energy" = module.use_energy_cost, "module_complexity" = module.complexity, "cooldown_time" = module.cooldown_time, "cooldown" = round(COOLDOWN_TIMELEFT(module, cooldown_timer), 1 SECONDS), diff --git a/code/modules/mod/modules/_module.dm b/code/modules/mod/modules/_module.dm index 10a7ea074c3..aeab9fbb43c 100644 --- a/code/modules/mod/modules/_module.dm +++ b/code/modules/mod/modules/_module.dm @@ -16,7 +16,7 @@ /// Power use when active var/active_power_cost = DEFAULT_CHARGE_DRAIN * 0 /// Power use when used, we call it manually - var/use_power_cost = DEFAULT_CHARGE_DRAIN * 0 + var/use_energy_cost = DEFAULT_CHARGE_DRAIN * 0 /// ID used by their TGUI var/tgui_id /// Linked MODsuit @@ -164,7 +164,7 @@ if(!COOLDOWN_FINISHED(src, cooldown_timer)) balloon_alert(mod.wearer, "on cooldown!") return FALSE - if(!check_power(use_power_cost)) + if(!check_power(use_energy_cost)) balloon_alert(mod.wearer, "not enough charge!") return FALSE if(!(allow_flags & MODULE_ALLOW_PHASEOUT) && istype(mod.wearer.loc, /obj/effect/dummy/phased_mob)) diff --git a/code/modules/mod/modules/module_kinesis.dm b/code/modules/mod/modules/module_kinesis.dm index bf26337af3a..4f4fa44ff96 100644 --- a/code/modules/mod/modules/module_kinesis.dm +++ b/code/modules/mod/modules/module_kinesis.dm @@ -9,7 +9,7 @@ icon_state = "kinesis" module_type = MODULE_ACTIVE complexity = 3 - use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 3 incompatible_modules = list(/obj/item/mod/module/anomaly_locked/kinesis) cooldown_time = 0.5 SECONDS overlay_state_inactive = "module_kinesis" @@ -59,7 +59,7 @@ if(!can_grab(target)) balloon_alert(mod.wearer, "can't grab!") return - drain_power(use_power_cost) + drain_power(use_energy_cost) grab_atom(target) /obj/item/mod/module/anomaly_locked/kinesis/on_deactivation(display_message = TRUE, deleting = FALSE) @@ -76,7 +76,7 @@ balloon_alert(mod.wearer, "out of range!") clear_grab() return - drain_power(use_power_cost/10) + drain_power(use_energy_cost/10) if(kinesis_catcher.mouse_params) kinesis_catcher.calculate_params() if(!kinesis_catcher.given_turf) @@ -259,7 +259,7 @@ name = "MOD prototype kinesis module" prebuilt = TRUE complexity = 0 - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 removable = FALSE core_removable = FALSE @@ -280,7 +280,7 @@ This one can force some of the grasped objects to phase through walls. Oh no." complexity = 0 grab_range = INFINITY - use_power_cost = DEFAULT_CHARGE_DRAIN * 0 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 0 prebuilt = TRUE stat_required = CONSCIOUS /// Does our object phase through stuff? diff --git a/code/modules/mod/modules/module_pathfinder.dm b/code/modules/mod/modules/module_pathfinder.dm index 087718d14b3..16814960368 100644 --- a/code/modules/mod/modules/module_pathfinder.dm +++ b/code/modules/mod/modules/module_pathfinder.dm @@ -11,7 +11,7 @@ Nakamura Engineering swears up and down there's airbrakes." icon_state = "pathfinder" complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 10 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 10 incompatible_modules = list(/obj/item/mod/module/pathfinder) /// The pathfinding implant. var/obj/item/implant/mod/implant @@ -68,7 +68,7 @@ human_user.update_action_buttons(TRUE) balloon_alert(human_user, "[mod] attached") playsound(mod, 'sound/machines/ping.ogg', 50, TRUE) - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/item/implant/mod name = "MOD pathfinder implant" diff --git a/code/modules/mod/modules/modules_antag.dm b/code/modules/mod/modules/modules_antag.dm index 2e53e380fd0..5e335d4955f 100644 --- a/code/modules/mod/modules/modules_antag.dm +++ b/code/modules/mod/modules/modules_antag.dm @@ -101,7 +101,7 @@ icon_state = "energy_shield" complexity = 3 idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 - use_power_cost = DEFAULT_CHARGE_DRAIN * 2 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 2 incompatible_modules = list(/obj/item/mod/module/energy_shield) /// Max charges of the shield. var/max_charges = 1 @@ -148,7 +148,7 @@ SIGNAL_HANDLER if(SEND_SIGNAL(mod, COMSIG_ITEM_HIT_REACT, owner, hitby, attack_text, 0, damage, attack_type, damage_type) & COMPONENT_HIT_REACTION_BLOCK) - drain_power(use_power_cost) + drain_power(use_energy_cost) return SUCCESSFUL_BLOCK return NONE @@ -159,8 +159,8 @@ This shield can perfectly nullify attacks ranging from high-caliber rifles to magic missiles, \ though can also be drained by more mundane attacks. It will not protect the caster from social ridicule." icon_state = "battlemage_shield" - idle_power_cost = DEFAULT_CHARGE_DRAIN * 0 //magic - use_power_cost = DEFAULT_CHARGE_DRAIN * 0 //magic too + idle_power_cost = 0 //magic + use_energy_cost = 0 //magic too max_charges = 15 recharge_start_delay = 0 SECONDS charge_recovery = 8 @@ -271,7 +271,7 @@ desc = initial(the_dna_lock_behind_the_slaughter.desc) icon_state = initial(the_dna_lock_behind_the_slaughter.icon_state) complexity = initial(the_dna_lock_behind_the_slaughter.complexity) - use_power_cost = initial(the_dna_lock_behind_the_slaughter.use_power_cost) + use_energy_cost = initial(the_dna_lock_behind_the_slaughter.use_energy_cost) /obj/item/mod/module/springlock/bite_of_87/on_install() mod.activation_step_time *= 0.1 @@ -293,7 +293,7 @@ icon_state = "flamethrower" module_type = MODULE_ACTIVE complexity = 3 - use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 3 incompatible_modules = list(/obj/item/mod/module/flamethrower) cooldown_time = 2.5 SECONDS overlay_state_inactive = "module_flamethrower" @@ -308,7 +308,7 @@ flame.firer = mod.wearer playsound(src, 'sound/items/modsuit/flamethrower.ogg', 75, TRUE) INVOKE_ASYNC(flame, TYPE_PROC_REF(/obj/projectile, fire)) - drain_power(use_power_cost) + drain_power(use_energy_cost) ///Power kick - Lets the user launch themselves at someone to kick them. /obj/item/mod/module/power_kick @@ -317,7 +317,7 @@ icon_state = "power_kick" module_type = MODULE_ACTIVE removable = FALSE - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/power_kick) cooldown_time = 5 SECONDS /// Damage on kick. @@ -341,7 +341,7 @@ animate(mod.wearer, 0.2 SECONDS, pixel_z = -16, flags = ANIMATION_RELATIVE, easing = SINE_EASING|EASE_IN) return animate(mod.wearer) - drain_power(use_power_cost) + drain_power(use_energy_cost) playsound(src, 'sound/items/modsuit/loader_launch.ogg', 75, TRUE) var/angle = get_angle(mod.wearer, target) + 180 mod.wearer.transform = mod.wearer.transform.Turn(angle) diff --git a/code/modules/mod/modules/modules_engineering.dm b/code/modules/mod/modules/modules_engineering.dm index fa746048e82..1ddcab08180 100644 --- a/code/modules/mod/modules/modules_engineering.dm +++ b/code/modules/mod/modules/modules_engineering.dm @@ -86,7 +86,7 @@ icon_state = "tether" module_type = MODULE_ACTIVE complexity = 2 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/tether) cooldown_time = 1.5 SECONDS @@ -106,7 +106,7 @@ tether.firer = mod.wearer playsound(src, 'sound/weapons/batonextend.ogg', 25, TRUE) INVOKE_ASYNC(tether, TYPE_PROC_REF(/obj/projectile, fire)) - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/projectile/tether name = "tether" @@ -187,7 +187,7 @@ module_type = MODULE_USABLE complexity = 2 idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 - use_power_cost = DEFAULT_CHARGE_DRAIN * 2 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 2 incompatible_modules = list(/obj/item/mod/module/constructor, /obj/item/mod/module/quick_carry) cooldown_time = 11 SECONDS @@ -202,7 +202,7 @@ if(!.) return rcd_scan(src, fade_time = 10 SECONDS) - drain_power(use_power_cost) + drain_power(use_energy_cost) ///Safety-First Head Protection - Protects your brain matter from sudden impacts. /obj/item/mod/module/headprotector diff --git a/code/modules/mod/modules/modules_general.dm b/code/modules/mod/modules/modules_general.dm index 041e671ccdf..f80fd952cef 100644 --- a/code/modules/mod/modules/modules_general.dm +++ b/code/modules/mod/modules/modules_general.dm @@ -97,7 +97,7 @@ module_type = MODULE_TOGGLE complexity = 3 active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/jetpack) cooldown_time = 0.5 SECONDS overlay_state_inactive = "module_jetpack" @@ -160,8 +160,8 @@ /obj/item/mod/module/jetpack/proc/allow_thrust(use_fuel = TRUE) if(!use_fuel) - return check_power(use_power_cost) - if(!drain_power(use_power_cost)) + return check_power(use_energy_cost) + if(!drain_power(use_energy_cost)) return FALSE return TRUE @@ -186,7 +186,7 @@ module_type = MODULE_USABLE complexity = 3 cooldown_time = 30 SECONDS - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/jump_jet) /obj/item/mod/module/jump_jet/on_use() @@ -225,7 +225,7 @@ to alert anyone nearby that someone has, in fact, died." icon_state = "status" complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 0.1 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.1 incompatible_modules = list(/obj/item/mod/module/status_readout) tgui_id = "status_readout" /// Does this show damage types, body temp, satiety @@ -461,7 +461,7 @@ icon_state = "dispenser" module_type = MODULE_USABLE complexity = 3 - use_power_cost = DEFAULT_CHARGE_DRAIN * 2 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 2 incompatible_modules = list(/obj/item/mod/module/dispenser) cooldown_time = 5 SECONDS /// Path we dispense. @@ -480,7 +480,7 @@ mod.wearer.put_in_hands(dispensed) balloon_alert(mod.wearer, "[dispensed] dispensed") playsound(src, 'sound/machines/click.ogg', 100, TRUE) - drain_power(use_power_cost) + drain_power(use_energy_cost) return dispensed ///Longfall - Nullifies fall damage, removing charge instead. @@ -492,7 +492,7 @@ Useful for mining, monorail tracks, or even skydiving!" icon_state = "longfall" complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/longfall) /obj/item/mod/module/longfall/on_suit_activation() @@ -503,7 +503,7 @@ /obj/item/mod/module/longfall/proc/z_impact_react(datum/source, levels, turf/fell_on) SIGNAL_HANDLER - if(!drain_power(use_power_cost * levels)) + if(!drain_power(use_energy_cost * levels)) return NONE new /obj/effect/temp_visual/mook_dust(fell_on) mod.wearer.Stun(levels * 1 SECONDS) @@ -553,7 +553,7 @@ icon_state = "dnalock" module_type = MODULE_USABLE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 3 incompatible_modules = list(/obj/item/mod/module/dna_lock, /obj/item/mod/module/eradication_lock) cooldown_time = 0.5 SECONDS /// The DNA we lock with. @@ -577,7 +577,7 @@ return dna = mod.wearer.dna.unique_enzymes balloon_alert(mod.wearer, "dna updated") - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/item/mod/module/dna_lock/emp_act(severity) . = ..() diff --git a/code/modules/mod/modules/modules_maint.dm b/code/modules/mod/modules/modules_maint.dm index 6a77158ea09..45b77bb7bd9 100644 --- a/code/modules/mod/modules/modules_maint.dm +++ b/code/modules/mod/modules/modules_maint.dm @@ -148,7 +148,7 @@ SKYRAT EDIT END */ icon_state = "tanning" module_type = MODULE_USABLE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/tanner) cooldown_time = 30 SECONDS @@ -162,7 +162,7 @@ SKYRAT EDIT END */ holder.trans_to(mod.wearer, 10, methods = VAPOR) if(prob(5)) SSradiation.irradiate(mod.wearer) - drain_power(use_power_cost) + drain_power(use_energy_cost) ///Balloon Blower - Blows a balloon. /obj/item/mod/module/balloon @@ -171,7 +171,7 @@ SKYRAT EDIT END */ icon_state = "bloon" module_type = MODULE_USABLE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/balloon) cooldown_time = 15 SECONDS @@ -185,7 +185,7 @@ SKYRAT EDIT END */ playsound(src, 'sound/items/modsuit/inflate_bloon.ogg', 50, TRUE) var/obj/item/toy/balloon/balloon = new(get_turf(src)) mod.wearer.put_in_hands(balloon) - drain_power(use_power_cost) + drain_power(use_energy_cost) ///Paper Dispenser - Dispenses (sometimes burning) paper sheets. /obj/item/mod/module/paper_dispenser @@ -195,7 +195,7 @@ SKYRAT EDIT END */ icon_state = "paper_maker" module_type = MODULE_USABLE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/paper_dispenser) cooldown_time = 5 SECONDS /// The total number of sheets created by this MOD. The more sheets, them more likely they set on fire. @@ -227,7 +227,7 @@ SKYRAT EDIT END */ crisp_paper.visible_message(span_warning("[crisp_paper] bursts into flames, it's too crisp!")) crisp_paper.fire_act(1000, 100) - drain_power(use_power_cost) + drain_power(use_energy_cost) num_sheets_dispensed++ diff --git a/code/modules/mod/modules/modules_medical.dm b/code/modules/mod/modules/modules_medical.dm index 2346d8f9305..6068b18fe10 100644 --- a/code/modules/mod/modules/modules_medical.dm +++ b/code/modules/mod/modules/modules_medical.dm @@ -14,7 +14,7 @@ icon_state = "health" module_type = MODULE_ACTIVE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/health_analyzer) cooldown_time = 0.5 SECONDS tgui_id = "health_analyzer" @@ -48,7 +48,7 @@ woundscan(mod.wearer, target) if(CHEM_SCAN) chemscan(mod.wearer, target) - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/item/mod/module/health_analyzer/get_configuration() . = ..() @@ -128,7 +128,7 @@ icon_state = "organ_thrower" module_type = MODULE_ACTIVE complexity = 2 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/organ_thrower, /obj/item/mod/module/microwave_beam) cooldown_time = 0.5 SECONDS /// How many organs the module can hold. @@ -152,7 +152,7 @@ organ.forceMove(src) balloon_alert(mod.wearer, "picked up [organ]") playsound(src, 'sound/mecha/hydraulic.ogg', 25, TRUE) - drain_power(use_power_cost) + drain_power(use_energy_cost) return if(!length(organ_list)) return @@ -162,7 +162,7 @@ projectile.firer = mod.wearer playsound(src, 'sound/mecha/hydraulic.ogg', 25, TRUE) INVOKE_ASYNC(projectile, TYPE_PROC_REF(/obj/projectile, fire)) - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/projectile/organ name = "organ" @@ -241,7 +241,7 @@ icon_state = "defibrillator" module_type = MODULE_ACTIVE complexity = 2 - use_power_cost = DEFAULT_CHARGE_DRAIN * 25 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 25 device = /obj/item/shockpaddles/mod overlay_state_inactive = "module_defibrillator" overlay_state_active = "module_defibrillator_active" @@ -254,7 +254,7 @@ RegisterSignal(device, COMSIG_DEFIBRILLATOR_SUCCESS, PROC_REF(on_defib_success)) /obj/item/mod/module/defibrillator/proc/on_defib_success(obj/item/shockpaddles/source) - drain_power(use_power_cost) + drain_power(use_energy_cost) source.recharge(defib_cooldown) return COMPONENT_DEFIB_STOP @@ -304,7 +304,7 @@ icon_state = "thread_ripper" module_type = MODULE_ACTIVE complexity = 2 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/thread_ripper) cooldown_time = 1.5 SECONDS overlay_state_inactive = "module_threadripper" diff --git a/code/modules/mod/modules/modules_ninja.dm b/code/modules/mod/modules/modules_ninja.dm index f175dda0317..868b4a79500 100644 --- a/code/modules/mod/modules/modules_ninja.dm +++ b/code/modules/mod/modules/modules_ninja.dm @@ -10,7 +10,7 @@ module_type = MODULE_TOGGLE complexity = 4 active_power_cost = DEFAULT_CHARGE_DRAIN * 2 - use_power_cost = DEFAULT_CHARGE_DRAIN * 10 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 10 incompatible_modules = list(/obj/item/mod/module/stealth) cooldown_time = 5 SECONDS /// Whether or not the cloak turns off on bumping. @@ -28,7 +28,7 @@ RegisterSignal(mod.wearer, COMSIG_ATOM_BULLET_ACT, PROC_REF(on_bullet_act)) RegisterSignals(mod.wearer, list(COMSIG_MOB_ITEM_ATTACK, COMSIG_ATOM_ATTACKBY, COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_HITBY, COMSIG_ATOM_HULK_ATTACK, COMSIG_ATOM_ATTACK_PAW, COMSIG_CARBON_CUFF_ATTEMPTED), PROC_REF(unstealth)) animate(mod.wearer, alpha = stealth_alpha, time = 1.5 SECONDS) - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/item/mod/module/stealth/on_deactivation(display_message = TRUE, deleting = FALSE) . = ..() @@ -44,7 +44,7 @@ to_chat(mod.wearer, span_warning("[src] gets discharged from contact!")) do_sparks(2, TRUE, src) - drain_power(use_power_cost) + drain_power(use_energy_cost) on_deactivation(display_message = TRUE, deleting = FALSE) /obj/item/mod/module/stealth/proc/on_unarmed_attack(datum/source, atom/target) @@ -73,7 +73,7 @@ bumpoff = FALSE stealth_alpha = 20 active_power_cost = DEFAULT_CHARGE_DRAIN - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 cooldown_time = 3 SECONDS /obj/item/mod/module/stealth/ninja/on_activation() @@ -133,10 +133,10 @@ icon_state = "hacker" removable = FALSE incompatible_modules = list(/obj/item/mod/module/hacker) - /// Minimum amount of power we can drain in a single drain action - var/mindrain = 200 - /// Maximum amount of power we can drain in a single drain action - var/maxdrain = 400 + /// Minimum amount of energy we can drain in a single drain action + var/mindrain = 200 KILO JOULES + /// Maximum amount of energy we can drain in a single drain action + var/maxdrain = 400 KILO JOULES /// Whether or not the communication console hack was used to summon another antagonist. var/communication_console_hack_success = FALSE /// How many times the module has been used to force open doors. @@ -174,7 +174,7 @@ icon_state = "recall" removable = FALSE module_type = MODULE_USABLE - use_power_cost = DEFAULT_CHARGE_DRAIN * 2 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 2 incompatible_modules = list(/obj/item/mod/module/weapon_recall) cooldown_time = 0.5 SECONDS /// The item linked to the module that will get recalled. @@ -205,7 +205,7 @@ return var/distance = get_dist(mod.wearer, linked_weapon) var/in_view = (linked_weapon in view(mod.wearer)) - if(!in_view && !drain_power(use_power_cost * distance)) + if(!in_view && !drain_power(use_energy_cost * distance)) balloon_alert(mod.wearer, "not enough charge!") return linked_weapon.forceMove(linked_weapon.drop_location()) @@ -263,7 +263,7 @@ Due to utilizing a skintight dampening shield, this one is entirely sealed against electromagnetic interference; \ it also dutifully protects the secrets of the Spider Clan from unknowing outsiders." icon_state = "dnalock_ninja" - use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 /obj/item/mod/module/dna_lock/reinforced/on_mod_activation(datum/source, mob/user) . = ..() @@ -288,7 +288,7 @@ it will piss off everyone around them." icon_state = "emp_pulse" module_type = MODULE_USABLE - use_power_cost = DEFAULT_CHARGE_DRAIN * 10 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 10 cooldown_time = 8 SECONDS /obj/item/mod/module/emp_shield/pulse/on_use() @@ -297,7 +297,7 @@ return playsound(src, 'sound/effects/empulse.ogg', 60, TRUE) empulse(src, heavy_range = 4, light_range = 6) - drain_power(use_power_cost) + drain_power(use_energy_cost) /// Ninja Status Readout - Like the normal status display (see the base type), but with a clock. /obj/item/mod/module/status_readout/ninja @@ -321,7 +321,7 @@ icon_state = "energy_net" removable = FALSE module_type = MODULE_ACTIVE - use_power_cost = DEFAULT_CHARGE_DRAIN * 6 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 6 incompatible_modules = list(/obj/item/mod/module/energy_net) cooldown_time = 5 SECONDS /// List of all energy nets this module made. @@ -342,7 +342,7 @@ net.firer = mod.wearer playsound(src, 'sound/weapons/punchmiss.ogg', 25, TRUE) INVOKE_ASYNC(net, TYPE_PROC_REF(/obj/projectile, fire)) - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/item/mod/module/energy_net/proc/add_net(obj/structure/energy_net/net) energy_nets += net diff --git a/code/modules/mod/modules/modules_science.dm b/code/modules/mod/modules/modules_science.dm index c8d3cef027a..a5a56975f6c 100644 --- a/code/modules/mod/modules/modules_science.dm +++ b/code/modules/mod/modules/modules_science.dm @@ -100,7 +100,7 @@ icon_state = "teleporter" module_type = MODULE_ACTIVE complexity = 3 - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 cooldown_time = 5 SECONDS accepted_anomalies = list(/obj/item/assembly/signaler/anomaly/bluespace) /// Time it takes to teleport @@ -127,7 +127,7 @@ animate(mod.wearer, teleport_time*0.1, color = null, transform = post_matrix.Multiply(mod.wearer.transform), easing = SINE_EASING|EASE_IN) if(!do_teleport(mod.wearer, target_turf, asoundin = 'sound/effects/phasein.ogg')) return - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/item/mod/module/anomaly_locked/teleporter/prebuilt prebuilt = TRUE diff --git a/code/modules/mod/modules/modules_security.dm b/code/modules/mod/modules/modules_security.dm index be271ae61e6..e35db603f5e 100644 --- a/code/modules/mod/modules/modules_security.dm +++ b/code/modules/mod/modules/modules_security.dm @@ -6,7 +6,7 @@ desc = "Based off old TerraGov harness kits, this magnetic harness automatically attaches dropped guns back to the wearer." icon_state = "mag_harness" complexity = 2 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/magnetic_harness) /// Time before we activate the magnet. var/magnet_delay = 0.8 SECONDS @@ -51,7 +51,7 @@ return playsound(src, 'sound/items/modsuit/magnetic_harness.ogg', 50, TRUE) balloon_alert(mod.wearer, "[item] reattached") - drain_power(use_power_cost) + drain_power(use_energy_cost) ///Pepper Shoulders - When hit, reacts with a spray of pepper spray around the user. /obj/item/mod/module/pepper_shoulders @@ -60,7 +60,7 @@ icon_state = "pepper_shoulder" module_type = MODULE_USABLE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/pepper_shoulders) cooldown_time = 5 SECONDS overlay_state_inactive = "module_pepper" @@ -89,7 +89,7 @@ if(!COOLDOWN_FINISHED(src, cooldown_timer)) return - if(!check_power(use_power_cost)) + if(!check_power(use_energy_cost)) return mod.wearer.visible_message(span_warning("[src] reacts to the attack with a smoke of pepper spray!"), span_notice("Your [src] releases a cloud of pepper spray!")) on_use() @@ -152,7 +152,7 @@ icon_state = "megaphone" module_type = MODULE_TOGGLE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/megaphone) cooldown_time = 0.5 SECONDS /// List of spans we add to the speaker. @@ -174,7 +174,7 @@ SIGNAL_HANDLER speech_args[SPEECH_SPANS] |= voicespan - drain_power(use_power_cost) + drain_power(use_energy_cost) ///Criminal Capture - Generates hardlight bags you can put people in and sinch. /obj/item/mod/module/criminalcapture @@ -187,7 +187,7 @@ icon_state = "criminal_capture" module_type = MODULE_ACTIVE complexity = 2 - use_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.5 incompatible_modules = list(/obj/item/mod/module/criminalcapture) cooldown_time = 0.5 SECONDS /// Time to capture a prisoner. @@ -366,7 +366,7 @@ icon_state = "active_sonar" module_type = MODULE_USABLE idle_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 - use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 3 complexity = 2 incompatible_modules = list(/obj/item/mod/module/active_sonar) cooldown_time = 15 SECONDS diff --git a/code/modules/mod/modules/modules_service.dm b/code/modules/mod/modules/modules_service.dm index e6e4a01c664..b4870a84ec5 100644 --- a/code/modules/mod/modules/modules_service.dm +++ b/code/modules/mod/modules/modules_service.dm @@ -8,7 +8,7 @@ icon_state = "bikehorn" module_type = MODULE_USABLE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/bikehorn) cooldown_time = 1 SECONDS @@ -17,7 +17,7 @@ if(!.) return playsound(src, 'sound/items/bikehorn.ogg', 100, FALSE) - drain_power(use_power_cost) + drain_power(use_energy_cost) ///Microwave Beam - Microwaves items instantly. /obj/item/mod/module/microwave_beam @@ -28,7 +28,7 @@ icon_state = "microwave_beam" module_type = MODULE_ACTIVE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/microwave_beam, /obj/item/mod/module/organ_thrower) cooldown_time = 10 SECONDS @@ -53,7 +53,7 @@ var/datum/effect_system/spark_spread/spark_effect_two = new() spark_effect_two.set_up(2, 1, microwave_target) spark_effect_two.start() - drain_power(use_power_cost) + drain_power(use_energy_cost) //Waddle - Makes you waddle and squeak. /obj/item/mod/module/waddle diff --git a/code/modules/mod/modules/modules_supply.dm b/code/modules/mod/modules/modules_supply.dm index 7fd9db2ce3b..e57a4c9e65c 100644 --- a/code/modules/mod/modules/modules_supply.dm +++ b/code/modules/mod/modules/modules_supply.dm @@ -9,7 +9,7 @@ icon_state = "gps" module_type = MODULE_USABLE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.2 incompatible_modules = list(/obj/item/mod/module/gps) cooldown_time = 0.5 SECONDS allow_flags = MODULE_ALLOW_INACTIVE @@ -33,7 +33,7 @@ icon_state = "clamp" module_type = MODULE_ACTIVE complexity = 3 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/clamp) cooldown_time = 0.5 SECONDS overlay_state_inactive = "module_clamp" @@ -64,7 +64,7 @@ stored_crates += picked_crate picked_crate.forceMove(src) balloon_alert(mod.wearer, "picked up [picked_crate]") - drain_power(use_power_cost) + drain_power(use_energy_cost) else if(length(stored_crates)) var/turf/target_turf = get_turf(target) if(target_turf.is_blocked_turf()) @@ -78,7 +78,7 @@ var/atom/movable/dropped_crate = pop(stored_crates) dropped_crate.forceMove(target_turf) balloon_alert(mod.wearer, "dropped [dropped_crate]") - drain_power(use_power_cost) + drain_power(use_energy_cost) else balloon_alert(mod.wearer, "invalid target!") @@ -119,7 +119,7 @@ icon_state = "drill" module_type = MODULE_ACTIVE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN + use_energy_cost = DEFAULT_CHARGE_DRAIN incompatible_modules = list(/obj/item/mod/module/drill) cooldown_time = 0.5 SECONDS overlay_state_active = "module_drill" @@ -145,17 +145,17 @@ if(ismineralturf(target)) var/turf/closed/mineral/mineral_turf = target mineral_turf.gets_drilled(mod.wearer) - drain_power(use_power_cost) + 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_power_cost) + drain_power(use_energy_cost) /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_power_cost)) + 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 @@ -176,7 +176,7 @@ icon_state = "ore" module_type = MODULE_USABLE complexity = 1 - use_power_cost = DEFAULT_CHARGE_DRAIN * 0.2 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 0.2 incompatible_modules = list(/obj/item/mod/module/orebag) cooldown_time = 0.5 SECONDS allow_flags = MODULE_ALLOW_INACTIVE @@ -214,7 +214,7 @@ for(var/obj/item/ore as anything in ores) ore.forceMove(drop_location()) ores -= ore - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/item/mod/module/hydraulic name = "MOD loader hydraulic arms module" @@ -222,7 +222,7 @@ icon_state = "launch_loader" module_type = MODULE_ACTIVE removable = FALSE - use_power_cost = DEFAULT_CHARGE_DRAIN*10 + use_energy_cost = DEFAULT_CHARGE_DRAIN*10 incompatible_modules = list(/obj/item/mod/module/hydraulic) cooldown_time = 4 SECONDS overlay_state_inactive = "module_hydraulic" @@ -252,7 +252,7 @@ if(!do_after(mod.wearer, launch_time, target = mod)) power = world.time - current_time animate(game_renderer) - drain_power(use_power_cost) + drain_power(use_energy_cost) new /obj/effect/temp_visual/mook_dust(get_turf(src)) playsound(src, 'sound/items/modsuit/loader_launch.ogg', 75, TRUE) game_renderer.transform = game_renderer.transform.Scale(0.8, 0.8) @@ -311,7 +311,7 @@ icon_state = "magnet_loader" module_type = MODULE_ACTIVE removable = FALSE - use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 3 incompatible_modules = list(/obj/item/mod/module/magnet) cooldown_time = 1.5 SECONDS overlay_state_active = "module_magnet" @@ -479,7 +479,7 @@ module_type = MODULE_ACTIVE removable = FALSE active_power_cost = DEFAULT_CHARGE_DRAIN * 0.5 - use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 3 incompatible_modules = list(/obj/item/mod/module/sphere_transform) cooldown_time = 1.25 SECONDS /// Time it takes us to complete the animation. @@ -544,7 +544,7 @@ bomb.firer = mod.wearer playsound(src, 'sound/weapons/gun/general/grenade_launch.ogg', 75, TRUE) INVOKE_ASYNC(bomb, TYPE_PROC_REF(/obj/projectile, fire)) - drain_power(use_power_cost) + drain_power(use_energy_cost) /obj/item/mod/module/sphere_transform/on_active_process(seconds_per_tick) animate(mod.wearer) //stop the animation diff --git a/code/modules/mod/modules/modules_timeline.dm b/code/modules/mod/modules/modules_timeline.dm index 7adf7b13cd9..4e4d751065c 100644 --- a/code/modules/mod/modules/modules_timeline.dm +++ b/code/modules/mod/modules/modules_timeline.dm @@ -13,7 +13,7 @@ icon_state = "eradicationlock" module_type = MODULE_USABLE removable = FALSE - use_power_cost = DEFAULT_CHARGE_DRAIN * 3 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 3 incompatible_modules = list(/obj/item/mod/module/eradication_lock, /obj/item/mod/module/dna_lock) cooldown_time = 0.5 SECONDS /// The ckey we lock with, to allow all alternate versions of the user. @@ -33,7 +33,7 @@ return true_owner_ckey = mod.wearer.ckey balloon_alert(mod.wearer, "user remembered") - drain_power(use_power_cost) + drain_power(use_energy_cost) ///Signal fired when the modsuit tries activating /obj/item/mod/module/eradication_lock/proc/on_mod_activation(datum/source, mob/user) @@ -62,7 +62,7 @@ icon_state = "rewinder" module_type = MODULE_USABLE removable = FALSE - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/rewinder) cooldown_time = 20 SECONDS @@ -106,7 +106,7 @@ icon_state = "timestop" module_type = MODULE_USABLE removable = FALSE - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/timestopper) cooldown_time = 60 SECONDS ///The current timestop in progress. @@ -153,7 +153,7 @@ icon_state = "timeline_jumper" module_type = MODULE_USABLE removable = FALSE - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/timeline_jumper) cooldown_time = 5 SECONDS allow_flags = MODULE_ALLOW_PHASEOUT @@ -207,7 +207,7 @@ icon_state = "chronogun" module_type = MODULE_ACTIVE removable = FALSE - use_power_cost = DEFAULT_CHARGE_DRAIN * 5 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 5 incompatible_modules = list(/obj/item/mod/module/tem) cooldown_time = 0.5 SECONDS ///Reference to the chrono field being controlled by this module diff --git a/code/modules/modular_computers/computers/item/computer.dm b/code/modules/modular_computers/computers/item/computer.dm index 80b54984aec..8c652b5b55c 100644 --- a/code/modules/modular_computers/computers/item/computer.dm +++ b/code/modules/modular_computers/computers/item/computer.dm @@ -156,12 +156,12 @@ /obj/item/modular_computer/proc/on_circuit_attached(datum/source) SIGNAL_HANDLER - RegisterSignal(shell.attached_circuit, COMSIG_CIRCUIT_PRE_POWER_USAGE, PROC_REF(use_power_for_circuits)) + RegisterSignal(shell.attached_circuit, COMSIG_CIRCUIT_PRE_POWER_USAGE, PROC_REF(use_energy_for_circuits)) ///Try to draw power from our internal cell first, before switching to that of the circuit. -/obj/item/modular_computer/proc/use_power_for_circuits(datum/source, power_usage_per_input) +/obj/item/modular_computer/proc/use_energy_for_circuits(datum/source, energy_usage_per_input) SIGNAL_HANDLER - if(use_power(power_usage_per_input, check_programs = FALSE)) + if(use_energy(energy_usage_per_input, check_programs = FALSE)) return COMPONENT_OVERRIDE_POWER_USAGE /obj/item/modular_computer/proc/on_circuit_removed(datum/source) @@ -456,7 +456,7 @@ /obj/item/modular_computer/Exited(atom/movable/gone, direction) if(internal_cell == gone) internal_cell = null - if(enabled && !use_power()) + if(enabled && !use_energy()) shutdown_computer() if(computer_id_slot == gone) computer_id_slot = null @@ -491,7 +491,7 @@ to_chat(user, span_warning("You press the power button, but the computer fails to boot up, displaying variety of errors before shutting down again.")) return FALSE - if(use_power()) // checks if the PC is powered + if(use_energy(base_active_power_usage)) // checks if the PC is powered if(looping_sound) soundloop.start() enabled = TRUE @@ -556,7 +556,7 @@ physical.loc.visible_message(span_notice("[icon2html(physical, viewers(physical.loc))] \The [src] displays a [caller.filedesc] notification: [alerttext]")) /obj/item/modular_computer/proc/ring(ringtone) // bring bring - if(!use_power()) + if(!use_energy()) return if(HAS_TRAIT(SSstation, STATION_TRAIT_PDA_GLITCHED)) playsound(src, pick('sound/machines/twobeep_voice1.ogg', 'sound/machines/twobeep_voice2.ogg'), 50, TRUE) diff --git a/code/modules/modular_computers/computers/item/computer_power.dm b/code/modules/modular_computers/computers/item/computer_power.dm index db3ecdb7747..edce55c17a6 100644 --- a/code/modules/modular_computers/computers/item/computer_power.dm +++ b/code/modules/modular_computers/computers/item/computer_power.dm @@ -3,17 +3,17 @@ ///Draws power from its rightful source (area if its a computer, the cell otherwise) ///Takes into account special cases, like silicon PDAs through override, and nopower apps. -/obj/item/modular_computer/proc/use_power(amount = 0, check_programs = TRUE) +/obj/item/modular_computer/proc/use_energy(amount = 0, check_programs = TRUE) if(check_power_override(amount)) return TRUE if(!internal_cell) return FALSE - if(internal_cell.use(amount JOULES)) + if(internal_cell.use(amount)) return TRUE if(!check_programs) return FALSE - internal_cell.use(min(amount JOULES, internal_cell.charge)) //drain it anyways. + internal_cell.use(min(amount, internal_cell.charge)) //drain it anyways. if(active_program?.program_flags & PROGRAM_RUNS_WITHOUT_POWER) return TRUE INVOKE_ASYNC(src, PROC_REF(close_all_programs)) @@ -54,7 +54,7 @@ if(open_programs in idle_threads) power_usage += (open_programs.power_cell_use / 2) - if(use_power(power_usage * seconds_per_tick)) + if(use_energy(power_usage * seconds_per_tick)) return TRUE power_failure() return FALSE diff --git a/code/modules/modular_computers/computers/item/processor.dm b/code/modules/modular_computers/computers/item/processor.dm index 1d947a5574b..3a8f58576c9 100644 --- a/code/modules/modular_computers/computers/item/processor.dm +++ b/code/modules/modular_computers/computers/item/processor.dm @@ -44,10 +44,10 @@ machinery_computer = null return ..() -/obj/item/modular_computer/processor/use_power(amount = 0, check_programs = TRUE) +/obj/item/modular_computer/processor/use_energy(amount = 0, check_programs = TRUE) var/obj/machinery/machine_holder = physical if(machine_holder.powered()) - machine_holder.use_power(amount) + machine_holder.use_energy(amount) return TRUE return ..() diff --git a/code/modules/modular_computers/computers/machinery/modular_computer.dm b/code/modules/modular_computers/computers/machinery/modular_computer.dm index 8fb32244e1d..0e17f012453 100644 --- a/code/modules/modular_computers/computers/machinery/modular_computer.dm +++ b/code/modules/modular_computers/computers/machinery/modular_computer.dm @@ -6,7 +6,7 @@ desc = "You shouldn't see this. If you do, report it." //they should be examining the processor instead icon = 'icons/obj/machines/modular_console.dmi' icon_state = "console" - idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 0.05 + idle_power_usage = BASE_MACHINE_IDLE_CONSUMPTION * 0.025 density = TRUE max_integrity = 300 integrity_failure = 0.5 @@ -129,7 +129,7 @@ // Modular computers can have battery in them, we handle power in previous proc, so prevent this from messing it up for us. /obj/machinery/modular_computer/power_change() - if(cpu?.use_power()) // If it still has a power source, PC wouldn't go offline. + if(cpu?.use_energy()) // If it still has a power source, PC wouldn't go offline. set_machine_stat(machine_stat & ~NOPOWER) update_appearance() return @@ -140,10 +140,7 @@ var/obj/item/stock_parts/cell/cell = get_cell() if(isnull(cell) || cell.percent() >= 100) return - var/power_to_draw = idle_power_usage * seconds_per_tick * 0.5 - if(!use_power_from_net(power_to_draw)) - return - cell.give(power_to_draw) + charge_cell(idle_power_usage * seconds_per_tick, cell) /obj/machinery/modular_computer/get_cell() return cpu?.internal_cell diff --git a/code/modules/modular_computers/file_system/programs/powermonitor.dm b/code/modules/modular_computers/file_system/programs/powermonitor.dm index c5a8eba952b..817cad275cd 100644 --- a/code/modules/modular_computers/file_system/programs/powermonitor.dm +++ b/code/modules/modular_computers/file_system/programs/powermonitor.dm @@ -67,13 +67,13 @@ var/list/supply = history["supply"] if(connected_powernet) - supply += connected_powernet.viewavail + supply += energy_to_power(connected_powernet.avail) if(supply.len > record_size) supply.Cut(1, 2) var/list/demand = history["demand"] if(connected_powernet) - demand += connected_powernet.viewload + demand += energy_to_power(connected_powernet.load) if(demand.len > record_size) demand.Cut(1, 2) @@ -84,8 +84,8 @@ data["interval"] = record_interval / 10 data["attached"] = connected_powernet ? TRUE : FALSE if(connected_powernet) - data["supply"] = display_power(connected_powernet.viewavail) - data["demand"] = display_power(connected_powernet.viewload) + data["supply"] = display_power(connected_powernet.avail) + data["demand"] = display_power(connected_powernet.load) data["history"] = history data["areas"] = list() diff --git a/code/modules/modular_computers/file_system/programs/robotact.dm b/code/modules/modular_computers/file_system/programs/robotact.dm index 8a2a824d004..1738943b533 100644 --- a/code/modules/modular_computers/file_system/programs/robotact.dm +++ b/code/modules/modular_computers/file_system/programs/robotact.dm @@ -47,6 +47,7 @@ data["maxcharge"] = maxcharge //Cell max charge data["integrity"] = ((cyborg.health + 100) / 2) //health, as percentage data["lampIntensity"] = cyborg.lamp_intensity //lamp power setting + data["lampConsumption"] = cyborg.lamp_power_consumption //Power consumption of the lamp per lamp intensity. data["sensors"] = "[cyborg.sensors_on?"ACTIVE":"DISABLED"]" data["printerPictures"] = cyborg.connected_ai? cyborg.connected_ai.aicamera.stored.len : cyborg.aicamera.stored.len //Number of pictures taken, synced to AI if available data["printerToner"] = cyborg.toner //amount of toner diff --git a/code/modules/plumbing/plumbers/acclimator.dm b/code/modules/plumbing/plumbers/acclimator.dm index 850ebaaa3ed..79b525d3504 100644 --- a/code/modules/plumbing/plumbers/acclimator.dm +++ b/code/modules/plumbing/plumbers/acclimator.dm @@ -55,7 +55,7 @@ if(!emptying) //suspend heating/cooling during emptying phase reagents.adjust_thermal_energy((target_temperature - reagents.chem_temp) * HEATER_COEFFICIENT * seconds_per_tick * SPECIFIC_HEAT_DEFAULT * reagents.total_volume) //keep constant with chem heater reagents.handle_reactions() - use_power(active_power_usage * seconds_per_tick) + use_energy(active_power_usage * seconds_per_tick) else if(acclimate_state != NEUTRAL) acclimate_state = NEUTRAL update_appearance() diff --git a/code/modules/plumbing/plumbers/bottler.dm b/code/modules/plumbing/plumbers/bottler.dm index 8e0158b61da..1acbed37a74 100644 --- a/code/modules/plumbing/plumbers/bottler.dm +++ b/code/modules/plumbing/plumbers/bottler.dm @@ -80,7 +80,7 @@ ///see if machine has enough to fill, is anchored down and has any inputspot objects to pick from if(reagents.total_volume >= wanted_amount && anchored && length(inputspot.contents)) - use_power(active_power_usage * seconds_per_tick) + use_energy(active_power_usage * seconds_per_tick) var/obj/AM = pick(inputspot.contents)///pick a reagent_container that could be used //allowed containers var/static/list/allowed_containers = list( diff --git a/code/modules/plumbing/plumbers/destroyer.dm b/code/modules/plumbing/plumbers/destroyer.dm index 9ba669818cf..5f81e24eaf2 100644 --- a/code/modules/plumbing/plumbers/destroyer.dm +++ b/code/modules/plumbing/plumbers/destroyer.dm @@ -19,7 +19,7 @@ if(icon_state != initial(icon_state) + "_working") //threw it here instead of update icon since it only has two states icon_state = initial(icon_state) + "_working" reagents.remove_all(disposal_rate * seconds_per_tick) - use_power(active_power_usage * seconds_per_tick) + use_energy(active_power_usage * seconds_per_tick) else if(icon_state != initial(icon_state)) icon_state = initial(icon_state) diff --git a/code/modules/plumbing/plumbers/fermenter.dm b/code/modules/plumbing/plumbers/fermenter.dm index 0fd631ca457..8800029779d 100644 --- a/code/modules/plumbing/plumbers/fermenter.dm +++ b/code/modules/plumbing/plumbers/fermenter.dm @@ -47,5 +47,5 @@ if(G.distill_reagent) var/amount = G.seed.potency * 0.25 reagents.add_reagent(G.distill_reagent, amount) - use_power(active_power_usage * amount) + use_energy(active_power_usage * amount) qdel(G) diff --git a/code/modules/plumbing/plumbers/grinder_chemical.dm b/code/modules/plumbing/plumbers/grinder_chemical.dm index e70977bc1f4..ae356fef089 100644 --- a/code/modules/plumbing/plumbers/grinder_chemical.dm +++ b/code/modules/plumbing/plumbers/grinder_chemical.dm @@ -57,7 +57,7 @@ var/obj/item/I = AM var/result if(I.grind_results || I.juice_typepath) - use_power(active_power_usage) + use_energy(active_power_usage) if(I.grind_results) result = I.grind(reagents, usr) else if (I.juice_typepath) diff --git a/code/modules/plumbing/plumbers/pill_press.dm b/code/modules/plumbing/plumbers/pill_press.dm index 6c309b525b9..5761474a959 100644 --- a/code/modules/plumbing/plumbers/pill_press.dm +++ b/code/modules/plumbing/plumbers/pill_press.dm @@ -115,7 +115,7 @@ stored_products -= AM AM.forceMove(drop_location()) - use_power(active_power_usage * seconds_per_tick) + use_energy(active_power_usage * seconds_per_tick) /obj/machinery/plumbing/pill_press/ui_assets(mob/user) return list( diff --git a/code/modules/plumbing/plumbers/reaction_chamber.dm b/code/modules/plumbing/plumbers/reaction_chamber.dm index 2b56bfb4ae6..72caa603767 100644 --- a/code/modules/plumbing/plumbers/reaction_chamber.dm +++ b/code/modules/plumbing/plumbers/reaction_chamber.dm @@ -64,7 +64,7 @@ //full power for doing reactions power_usage *= 2 - use_power(power_usage * seconds_per_tick) + use_energy(power_usage * seconds_per_tick) ///For subtypes that want to do additional reagent handling /obj/machinery/plumbing/reaction_chamber/proc/handle_reagents(seconds_per_tick) @@ -198,7 +198,7 @@ return //some power for accurate ph balancing & keep track of attempts made - use_power(active_power_usage * 0.03 * buffer_amount) + use_energy(active_power_usage * 0.03 * buffer_amount) /obj/machinery/plumbing/reaction_chamber/chem/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/plumbing/plumbers/synthesizer.dm b/code/modules/plumbing/plumbers/synthesizer.dm index 8f5b46abaa1..d7a5d83a251 100644 --- a/code/modules/plumbing/plumbers/synthesizer.dm +++ b/code/modules/plumbing/plumbers/synthesizer.dm @@ -57,7 +57,7 @@ return reagents.add_reagent(reagent_id, amount) - use_power(active_power_usage) + use_energy(active_power_usage) /obj/machinery/plumbing/synthesizer/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) diff --git a/code/modules/plumbing/plumbers/teleporter.dm b/code/modules/plumbing/plumbers/teleporter.dm index 7bb098eae4e..e1aa26532dc 100644 --- a/code/modules/plumbing/plumbers/teleporter.dm +++ b/code/modules/plumbing/plumbers/teleporter.dm @@ -95,7 +95,7 @@ next_index++ - use_power(active_power_usage * seconds_per_tick) + use_energy(active_power_usage * seconds_per_tick) ///Notify all senders to forget us /obj/machinery/plumbing/receiver/proc/lose_senders() diff --git a/code/modules/power/apc/apc_attack.dm b/code/modules/power/apc/apc_attack.dm index 88271a6b1fc..b57f3465f0d 100644 --- a/code/modules/power/apc/apc_attack.dm +++ b/code/modules/power/apc/apc_attack.dm @@ -1,184 +1,3 @@ -/obj/machinery/power/apc/attackby(obj/item/attacking_object, mob/living/user, params) - if(HAS_TRAIT(attacking_object, TRAIT_APC_SHOCKING)) - var/metal = 0 - var/shock_source = null - metal += LAZYACCESS(attacking_object.custom_materials, GET_MATERIAL_REF(/datum/material/iron))//This prevents wooden rolling pins from shocking the user - - if(cell || terminal) //The mob gets shocked by whichever powersource has the most electricity - if(cell && terminal) - shock_source = cell.charge > terminal.powernet.avail ? cell : terminal.powernet - else - shock_source = terminal?.powernet || cell - - if(shock_source && metal && (panel_open || opened)) //Now you're cooking with electricity - if(!electrocute_mob(user, shock_source, src, siemens_coeff = 1, dist_check = TRUE))//People with insulated gloves just attack the APC normally. They're just short of magical anyway - return - do_sparks(5, TRUE, src) - user.visible_message(span_notice("[user.name] shoves [attacking_object] into the internal components of [src], erupting into a cascade of sparks!")) - if(shock_source == cell)//If the shock is coming from the cell just fully discharge it, because it's funny - cell.use(cell.charge) - return - - if(issilicon(user) && get_dist(src,user) > 1) - return attack_hand(user) - - if(istype(attacking_object, /obj/item/stock_parts/cell) && opened) - if(cell) - balloon_alert(user, "cell already installed!") - return - if(machine_stat & MAINT) - balloon_alert(user, "no connector for a cell!") - return - if(!user.transferItemToLoc(attacking_object, src)) - return - cell = attacking_object - user.visible_message(span_notice("[user.name] inserts the power cell to [src.name]!")) - balloon_alert(user, "cell inserted") - chargecount = 0 - update_appearance() - return - - if(attacking_object.GetID()) - togglelock(user) - return - - if(istype(attacking_object, /obj/item/stack/cable_coil) && opened) - var/turf/host_turf = get_turf(src) - if(!host_turf) - CRASH("attackby on APC when it's not on a turf") - if(host_turf.underfloor_accessibility < UNDERFLOOR_INTERACTABLE) - balloon_alert(user, "remove the floor plating!") - return - if(terminal) - balloon_alert(user, "already wired!") - return - if(!has_electronics) - balloon_alert(user, "no board to wire!") - return - - var/obj/item/stack/cable_coil/installing_cable = attacking_object - if(installing_cable.get_amount() < 10) - balloon_alert(user, "need ten lengths of cable!") - return - - var/terminal_cable_layer = cable_layer // Default to machine's cable layer - if(LAZYACCESS(params2list(params), RIGHT_CLICK)) - var/choice = tgui_input_list(user, "Select Power Input Cable Layer", "Select Cable Layer", GLOB.cable_name_to_layer) - if(isnull(choice)) - return - terminal_cable_layer = GLOB.cable_name_to_layer[choice] - - user.visible_message(span_notice("[user.name] adds cables to the APC frame.")) - balloon_alert(user, "adding cables to the frame...") - playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) - - if(!do_after(user, 20, target = src)) - return - if(installing_cable.get_amount() < 10 || !installing_cable) - return - if(terminal || !opened || !has_electronics) - return - var/turf/our_turf = get_turf(src) - var/obj/structure/cable/cable_node = our_turf.get_cable_node(terminal_cable_layer) - if(prob(50) && electrocute_mob(usr, cable_node, cable_node, 1, TRUE)) - do_sparks(5, TRUE, src) - return - installing_cable.use(10) - balloon_alert(user, "cables added to the frame") - make_terminal(terminal_cable_layer) - terminal.connect_to_network() - return - - if(istype(attacking_object, /obj/item/electronics/apc) && opened) - if(has_electronics) - balloon_alert(user, "there is already a board!") - return - - if(machine_stat & BROKEN) - balloon_alert(user, "the frame is damaged!") - return - - user.visible_message(span_notice("[user.name] inserts the power control board into [src].")) - balloon_alert(user, "you start to insert the board...") - playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) - - if(!do_after(user, 10, target = src) || has_electronics) - return - - has_electronics = APC_ELECTRONICS_INSTALLED - locked = FALSE - balloon_alert(user, "board installed") - qdel(attacking_object) - return - - if(istype(attacking_object, /obj/item/electroadaptive_pseudocircuit) && opened) - var/obj/item/electroadaptive_pseudocircuit/pseudocircuit = attacking_object - if(!has_electronics) - if(machine_stat & BROKEN) - balloon_alert(user, "frame is too damaged!") - return - if(!pseudocircuit.adapt_circuit(user, 50)) - return - user.visible_message(span_notice("[user] fabricates a circuit and places it into [src]."), \ - span_notice("You adapt a power control board and click it into place in [src]'s guts.")) - has_electronics = APC_ELECTRONICS_INSTALLED - locked = FALSE - return - - if(!cell) - if(machine_stat & MAINT) - balloon_alert(user, "no board for a cell!") - return - if(!pseudocircuit.adapt_circuit(user, 500)) - return - var/obj/item/stock_parts/cell/crap/empty/bad_cell = new(src) - bad_cell.forceMove(src) - cell = bad_cell - chargecount = 0 - user.visible_message(span_notice("[user] fabricates a weak power cell and places it into [src]."), \ - span_warning("Your [pseudocircuit.name] whirrs with strain as you create a weak power cell and place it into [src]!")) - update_appearance() - return - - balloon_alert(user, "has both board and cell!") - return - - if(istype(attacking_object, /obj/item/wallframe/apc) && opened) - if(!(machine_stat & BROKEN || opened == APC_COVER_REMOVED || atom_integrity < max_integrity)) // There is nothing to repair - balloon_alert(user, "no reason for repairs!") - return - if((machine_stat & BROKEN) && opened == APC_COVER_REMOVED && has_electronics && terminal) // Cover is the only thing broken, we do not need to remove elctronicks to replace cover - user.visible_message(span_notice("[user.name] replaces missing APC's cover.")) - balloon_alert(user, "replacing APC's cover...") - if(do_after(user, 20, target = src)) // replacing cover is quicker than replacing whole frame - balloon_alert(user, "cover replaced") - qdel(attacking_object) - update_integrity(30) //needs to be welded to fully repair but can work without - set_machine_stat(machine_stat & ~(BROKEN|MAINT)) - opened = APC_COVER_OPENED - update_appearance() - return - if(has_electronics) - balloon_alert(user, "remove the board inside!") - return - user.visible_message(span_notice("[user.name] replaces the damaged APC frame with a new one.")) - balloon_alert(user, "replacing damaged frame...") - if(do_after(user, 50, target = src)) - balloon_alert(user, "replaced frame") - qdel(attacking_object) - set_machine_stat(machine_stat & ~BROKEN) - atom_integrity = max_integrity - if(opened == APC_COVER_REMOVED) - opened = APC_COVER_OPENED - update_appearance() - return - - if(panel_open && !opened && is_wire_tool(attacking_object)) - wires.interact(user) - return - - return ..() - /obj/machinery/power/apc/attack_hand_secondary(mob/user, list/modifiers) . = ..() if(!can_interact(user)) @@ -192,7 +11,7 @@ if(!istype(maybe_ethereal_stomach)) togglelock(user) else - if(maybe_ethereal_stomach.crystal_charge >= ETHEREAL_CHARGE_NORMAL) + if(maybe_ethereal_stomach.cell.charge() >= ETHEREAL_CHARGE_NORMAL) togglelock(user) ethereal_interact(user, modifiers) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN @@ -210,19 +29,20 @@ return var/charge_limit = ETHEREAL_CHARGE_DANGEROUS - APC_POWER_GAIN var/obj/item/organ/internal/stomach/ethereal/stomach = maybe_stomach + var/obj/item/stock_parts/cell/stomach_cell = stomach.cell if(!((stomach?.drain_time < world.time) && LAZYACCESS(modifiers, RIGHT_CLICK))) return if(ethereal.combat_mode) if(cell.charge <= (cell.maxcharge / 2)) // ethereals can't drain APCs under half charge, this is so that they are forced to look to alternative power sources if the station is running low addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, balloon_alert), ethereal, "safeties prevent draining!"), alert_timer_duration) return - if(stomach.crystal_charge > charge_limit) + if(stomach_cell.charge() > charge_limit) addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, balloon_alert), ethereal, "charge is full!"), alert_timer_duration) return stomach.drain_time = world.time + APC_DRAIN_TIME addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, balloon_alert), ethereal, "draining power"), alert_timer_duration) while(do_after(user, APC_DRAIN_TIME, target = src)) - if(cell.charge <= (cell.maxcharge / 2) || (stomach.crystal_charge > charge_limit)) + if(cell.charge <= (cell.maxcharge / 2) || (stomach_cell.charge() > charge_limit)) return balloon_alert(ethereal, "received charge") stomach.adjust_charge(APC_POWER_GAIN) @@ -232,21 +52,20 @@ if(cell.charge >= cell.maxcharge - APC_POWER_GAIN) addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, balloon_alert), ethereal, "APC can't receive more power!"), alert_timer_duration) return - if(stomach.crystal_charge < APC_POWER_GAIN) + if(stomach_cell.charge() < APC_POWER_GAIN) addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, balloon_alert), ethereal, "charge is too low!"), alert_timer_duration) return stomach.drain_time = world.time + APC_DRAIN_TIME addtimer(CALLBACK(src, TYPE_PROC_REF(/atom, balloon_alert), ethereal, "transfering power"), alert_timer_duration) if(!do_after(user, APC_DRAIN_TIME, target = src)) return - if((cell.charge >= (cell.maxcharge - APC_POWER_GAIN)) || (stomach.crystal_charge < APC_POWER_GAIN)) + if((cell.charge >= (cell.maxcharge - APC_POWER_GAIN)) || (stomach_cell.charge() < APC_POWER_GAIN)) balloon_alert(ethereal, "can't transfer power!") return if(istype(stomach)) while(do_after(user, APC_DRAIN_TIME, target = src)) balloon_alert(ethereal, "transferred power") - stomach.adjust_charge(-APC_POWER_GAIN) - cell.give(APC_POWER_GAIN) + cell.give(-stomach.adjust_charge(-APC_POWER_GAIN)) else balloon_alert(ethereal, "can't transfer power!") diff --git a/code/modules/power/apc/apc_main.dm b/code/modules/power/apc/apc_main.dm index ed49a8ebde3..42ab3692d14 100644 --- a/code/modules/power/apc/apc_main.dm +++ b/code/modules/power/apc/apc_main.dm @@ -17,6 +17,7 @@ damage_deflection = 10 resistance_flags = FIRE_PROOF interaction_flags_machine = INTERACT_MACHINE_WIRES_IF_OPEN | INTERACT_MACHINE_ALLOW_SILICON | INTERACT_MACHINE_OPEN_SILICON + processing_flags = START_PROCESSING_MANUALLY ///Range of the light emitted when on var/light_on_range = 1.5 @@ -46,8 +47,6 @@ var/charging = APC_NOT_CHARGING ///Can the APC charge? var/chargemode = TRUE - ///Number of ticks where the apc is trying to recharge - var/chargecount = 0 ///Is the apc interface locked? var/locked = TRUE ///Is the apc cover locked? @@ -140,6 +139,12 @@ /obj/machinery/power/apc/Initialize(mapload, ndir) . = ..() + //APCs get added to their own processing tasks for the machines subsystem. + if (!(datum_flags & DF_ISPROCESSING)) + datum_flags |= DF_ISPROCESSING + SSmachines.apc_early_processing += src + SSmachines.apc_late_processing += src + //Pixel offset its appearance based on its direction dir = ndir switch(dir) @@ -329,6 +334,7 @@ "powerCellStatus" = cell ? cell.percent() : null, "chargeMode" = chargemode, "chargingStatus" = charging, + "chargingPowerDisplay" = display_power(area.energy_usage[AREA_USAGE_APC_CHARGE]), "totalLoad" = display_power(lastused_total), "coverLocked" = coverlocked, "remoteAccess" = (user == remote_control_user), @@ -481,7 +487,20 @@ if(user == remote_control_user) disconnect_remote_access() -/obj/machinery/power/apc/process() +/** + * APC early processing. This gets processed before any other machine does. + * This adds up the total static power usage for the apc's area, then draw that power usage from the grid or APC cell. + * This is done early so machines that use dynamic power get a more truthful surplus when accessing available energy. + */ +/obj/machinery/power/apc/proc/early_process() + var/total_static_energy_usage = 0 + total_static_energy_usage += APC_CHANNEL_IS_ON(lighting) * area.energy_usage[AREA_USAGE_STATIC_LIGHT] + total_static_energy_usage += APC_CHANNEL_IS_ON(equipment) * area.energy_usage[AREA_USAGE_STATIC_EQUIP] + total_static_energy_usage += APC_CHANNEL_IS_ON(environ) * area.energy_usage[AREA_USAGE_STATIC_ENVIRON] + if(total_static_energy_usage) //Use power from static power users. + draw_energy(total_static_energy_usage) + +/obj/machinery/power/apc/proc/late_process(seconds_per_tick) if(icon_update_needed) update_appearance() if(machine_stat & (BROKEN|MAINT)) @@ -499,13 +518,14 @@ flicker_hacked_icon() //dont use any power from that channel if we shut that power channel off - lastused_light = APC_CHANNEL_IS_ON(lighting) ? area.power_usage[AREA_USAGE_LIGHT] + area.power_usage[AREA_USAGE_STATIC_LIGHT] : 0 - lastused_equip = APC_CHANNEL_IS_ON(equipment) ? area.power_usage[AREA_USAGE_EQUIP] + area.power_usage[AREA_USAGE_STATIC_EQUIP] : 0 - lastused_environ = APC_CHANNEL_IS_ON(environ) ? area.power_usage[AREA_USAGE_ENVIRON] + area.power_usage[AREA_USAGE_STATIC_ENVIRON] : 0 + lastused_light = APC_CHANNEL_IS_ON(lighting) ? area.energy_usage[AREA_USAGE_LIGHT] + area.energy_usage[AREA_USAGE_STATIC_LIGHT] : 0 + lastused_equip = APC_CHANNEL_IS_ON(equipment) ? area.energy_usage[AREA_USAGE_EQUIP] + area.energy_usage[AREA_USAGE_STATIC_EQUIP] : 0 + lastused_environ = APC_CHANNEL_IS_ON(environ) ? area.energy_usage[AREA_USAGE_ENVIRON] + area.energy_usage[AREA_USAGE_STATIC_ENVIRON] : 0 area.clear_usage() lastused_total = lastused_light + lastused_equip + lastused_environ + //store states to update icon if any change var/last_lt = lighting var/last_eq = equipment @@ -516,49 +536,13 @@ if(!avail()) main_status = APC_NO_POWER - else if(excess < 0) + else if(excess <= 0) main_status = APC_LOW_POWER else main_status = APC_HAS_POWER - var/cellused - if(cell && !shorted) - // draw power from cell as before to power the area - cellused = min(cell.charge, lastused_total JOULES) // clamp deduction to a max, amount left in cell - cell.use(cellused) - - if(cell && !shorted) //need to check to make sure the cell is still there since rigged/corrupted cells can randomly explode after use(). - if(excess > lastused_total) // if power excess recharge the cell - // by the same amount just used - cell.give(cellused) - if(cell) //make sure the cell didn't expode and actually used power. - add_load(cellused WATTS) // add the load used to recharge the cell - - - else // no excess, and not enough per-apc - if((cell.charge WATTS + excess) >= lastused_total) // can we draw enough from cell+grid to cover last usage? - cell.charge = min(cell.maxcharge, cell.charge + excess JOULES) //recharge with what we can - add_load(excess) // so draw what we can from the grid - charging = APC_NOT_CHARGING - - else // not enough power available to run the last tick! - charging = APC_NOT_CHARGING - chargecount = 0 - // This turns everything off in the case that there is still a charge left on the battery, just not enough to run the room. - equipment = autoset(equipment, AUTOSET_FORCE_OFF) - lighting = autoset(lighting, AUTOSET_FORCE_OFF) - environ = autoset(environ, AUTOSET_FORCE_OFF) - if(cell && !shorted) //need to check to make sure the cell is still there since rigged/corrupted cells can randomly explode after give(). - // set channels depending on how much charge we have left - - // Allow the APC to operate as normal if the cell can charge - if(charging && long_term_power < 10) - long_term_power += 1 - else if(long_term_power > -10) - long_term_power -= 2 - if(cell.charge <= 0) // zero charge, turn all off equipment = autoset(equipment, AUTOSET_FORCE_OFF) lighting = autoset(lighting, AUTOSET_FORCE_OFF) @@ -567,7 +551,7 @@ if(!nightshift_lights || (nightshift_lights && !low_power_nightshift_lights)) low_power_nightshift_lights = TRUE INVOKE_ASYNC(src, PROC_REF(set_nightshift), TRUE) - else if(cell.percent() < 7 && long_term_power < 0) // SKYRAT EDIT CHANGE - orig: 15 + else if(cell.percent() < 15) // <15%, turn off lighting & equipment equipment = autoset(equipment, AUTOSET_OFF) lighting = autoset(lighting, AUTOSET_OFF) environ = autoset(environ, AUTOSET_ON) @@ -575,9 +559,9 @@ if(!nightshift_lights || (nightshift_lights && !low_power_nightshift_lights)) low_power_nightshift_lights = TRUE INVOKE_ASYNC(src, PROC_REF(set_nightshift), TRUE) - else if(cell.percent() < 17 && long_term_power < 0) // SKYRAT EDIT CHANGE - orig: 30 - equipment = autoset(equipment, AUTOSET_ON) // SKYRAT EDIT CHANGE - orig: AUTOSET_OFF - lighting = autoset(lighting, AUTOSET_OFF) // SKYRAT EDIT CHANGE - orig: AUTOSET_ON + else if(cell.percent() < 30) // <30%, turn off equipment + equipment = autoset(equipment, AUTOSET_OFF) + lighting = autoset(lighting, AUTOSET_ON) environ = autoset(environ, AUTOSET_ON) alarm_manager.send_alarm(ALARM_POWER) if(!nightshift_lights || (nightshift_lights && !low_power_nightshift_lights)) @@ -594,40 +578,18 @@ if(cell.percent() > 75) alarm_manager.clear_alarm(ALARM_POWER) - + charging = APC_NOT_CHARGING // now trickle-charge the cell - if(chargemode && charging == APC_CHARGING && operating) - if(excess > 0) // check to make sure we have enough to charge - // Max charge is capped to % per second constant - var/ch = min(excess JOULES, cell.maxcharge JOULES) - add_load(ch WATTS) // Removes the power we're taking from the grid - cell.give(ch) // actually recharge the cell - - else - charging = APC_NOT_CHARGING // stop charging - chargecount = 0 + if(chargemode && operating && excess && cell.used_charge()) + // Max charge is capped to % per second constant. + lastused_total += charge_cell(min(cell.chargerate, cell.maxcharge * GLOB.CHARGELEVEL) * seconds_per_tick, cell = cell, grid_only = TRUE, channel = AREA_USAGE_APC_CHARGE) + charging = APC_CHARGING // show cell as fully charged if so if(cell.charge >= cell.maxcharge) cell.charge = cell.maxcharge charging = APC_FULLY_CHARGED - if(chargemode) - if(!charging) - if(excess > cell.maxcharge*GLOB.CHARGELEVEL) - chargecount++ - else - chargecount = 0 - - if(chargecount == 10) - - chargecount = 0 - charging = APC_CHARGING - - else // chargemode off - charging = APC_NOT_CHARGING - chargecount = 0 - // SKYRAT ADDITION START - CLOCK CULT if(integration_cog) var/power_delta = clamp(cell.charge - 50, 0, 50) @@ -635,15 +597,11 @@ cell.charge -= power_delta * (integration_cog.set_up ? 1 : 2) add_load(power_delta * (integration_cog.set_up ? 1 : 2)) // Twice the drained power if not set up yet charging = APC_NOT_CHARGING - chargecount = 0 if(cell.charge <= 50) cell.charge = 0 // SKYRAT ADDITION END - else // no cell, switch everything off - charging = APC_NOT_CHARGING - chargecount = 0 equipment = autoset(equipment, AUTOSET_FORCE_OFF) lighting = autoset(lighting, AUTOSET_FORCE_OFF) environ = autoset(environ, AUTOSET_FORCE_OFF) @@ -678,8 +636,7 @@ /obj/machinery/power/apc/proc/overload_lighting() if(!operating || shorted) return - if(cell && cell.charge >= 20) - cell.use(20) + if(cell && cell.use(20 KILO JOULES)) INVOKE_ASYNC(src, PROC_REF(break_lights)) /obj/machinery/power/apc/proc/break_lights() @@ -742,8 +699,34 @@ /obj/machinery/power/apc/proc/set_full_charge() cell.charge = cell.maxcharge +/// Returns the cell's current charge. +/obj/machinery/power/apc/proc/charge() + return cell.charge + +/// Draws energy from the connected grid. When there isn't enough surplus energy from the grid, draws the rest of the demand from its cell. Returns the energy used. +/obj/machinery/power/apc/proc/draw_energy(amount) + var/grid_used = min(terminal?.surplus(), amount) + terminal?.add_load(grid_used) + var/cell_used = 0 + if(amount > grid_used) + cell_used += cell.use(amount - grid_used, force = TRUE) + return grid_used + cell_used + +/// Draws power from the connected grid. When there isn't enough surplus energy from the grid, draws the rest of the demand from its cell. Returns the energy used. +/obj/machinery/power/apc/proc/draw_power(amount) + return draw_energy(power_to_energy(amount)) + /*Power module, used for APC construction*/ /obj/item/electronics/apc name = "power control module" icon_state = "power_mod" desc = "Heavy-duty switching circuits for power control." + +/// Returns the amount of time it will take the APC at its current trickle charge rate to reach a charge level. If the APC is functionally not charging, returns null. +/obj/machinery/power/apc/proc/time_to_charge(joules) + var/required_joules = joules - charge() + var/trickle_charge_power = energy_to_power(area.energy_usage[AREA_USAGE_APC_CHARGE]) + if(trickle_charge_power >= 1 KILO WATTS) // require at least a bit of charging + return round(energy_to_power(required_joules / trickle_charge_power) * SSmachines.wait + SSmachines.wait, SSmachines.wait) + + return null diff --git a/code/modules/power/apc/apc_power_proc.dm b/code/modules/power/apc/apc_power_proc.dm index 52a671f00f5..ba60ec723b6 100644 --- a/code/modules/power/apc/apc_power_proc.dm +++ b/code/modules/power/apc/apc_power_proc.dm @@ -50,20 +50,27 @@ update() update_appearance() +/// Returns the surplus energy from the terminal's grid. /obj/machinery/power/apc/surplus() if(terminal) return terminal.surplus() return 0 +/// Adds load (energy) to the terminal's grid. /obj/machinery/power/apc/add_load(amount) if(terminal?.powernet) terminal.add_load(amount) +/// Returns the amount of energy the terminal's grid has. /obj/machinery/power/apc/avail(amount) if(terminal) return terminal.avail(amount) return 0 +/// Returns the surplus energy from the terminal's grid and the cell. +/obj/machinery/power/apc/available_energy() + return charge() + surplus() + /** * Returns the new status value for an APC channel. * diff --git a/code/modules/power/apc/apc_tool_act.dm b/code/modules/power/apc/apc_tool_act.dm index e712f474464..8ae76fe0154 100644 --- a/code/modules/power/apc/apc_tool_act.dm +++ b/code/modules/power/apc/apc_tool_act.dm @@ -1,4 +1,225 @@ //attack with an item - open/close cover, insert cell, or (un)lock interface + +/obj/machinery/power/apc/item_interaction(mob/living/user, obj/item/tool, list/modifiers, is_right_clicking) + . = ..() + if(.) + return . + + if(HAS_TRAIT(tool, TRAIT_APC_SHOCKING)) + . = fork_outlet_act(user, tool) + if(.) + return . + + if(tool.GetID()) + togglelock(user) + return ITEM_INTERACT_SUCCESS + + if(istype(tool, /obj/item/stock_parts/cell)) + . = cell_act(user, tool) + else if(istype(tool, /obj/item/stack/cable_coil)) + . = cable_act(user, tool, is_right_clicking) + else if(istype(tool, /obj/item/electronics/apc)) + . = electronics_act(user, tool) + else if(istype(tool, /obj/item/electroadaptive_pseudocircuit)) + . = pseudocircuit_act(user, tool) + else if(istype(tool, /obj/item/wallframe/apc)) + . = wallframe_act(user, tool) + if(.) + return . + + if(panel_open && !opened && is_wire_tool(tool)) + wires.interact(user) + return ITEM_INTERACT_SUCCESS + + return . + +/// Called when we interact with the APC with an item with which we can get shocked when we stuff it into an APC +/obj/machinery/power/apc/proc/fork_outlet_act(mob/living/user, obj/item/tool) + var/metal = 0 + var/shock_source = null + metal += LAZYACCESS(tool.custom_materials, GET_MATERIAL_REF(/datum/material/iron))//This prevents wooden rolling pins from shocking the user + + if(cell || terminal) //The mob gets shocked by whichever powersource has the most electricity + if(cell && terminal) + shock_source = cell.charge > terminal.powernet.avail ? cell : terminal.powernet + else + shock_source = terminal?.powernet || cell + + if(shock_source && metal && (panel_open || opened)) //Now you're cooking with electricity + if(!electrocute_mob(user, shock_source, src, siemens_coeff = 1, dist_check = TRUE))//People with insulated gloves just attack the APC normally. They're just short of magical anyway + return NONE + do_sparks(5, TRUE, src) + user.visible_message(span_notice("[user.name] shoves [tool] into the internal components of [src], erupting into a cascade of sparks!")) + if(shock_source == cell)//If the shock is coming from the cell just fully discharge it, because it's funny + cell.use(cell.charge) + return ITEM_INTERACT_SUCCESS + +/// Called when we interact with the APC with a cell, attempts to insert it +/obj/machinery/power/apc/proc/cell_act(mob/living/user, obj/item/stock_parts/cell/new_cell) + if(!opened) + return NONE + + if(cell) + balloon_alert(user, "cell already installed!") + return ITEM_INTERACT_BLOCKING + if(machine_stat & MAINT) + balloon_alert(user, "no connector for a cell!") + return ITEM_INTERACT_BLOCKING + if(!user.transferItemToLoc(new_cell, src)) + return ITEM_INTERACT_BLOCKING + cell = new_cell + user.visible_message(span_notice("[user.name] inserts the power cell to [src.name]!")) + balloon_alert(user, "cell inserted") + update_appearance() + return ITEM_INTERACT_SUCCESS + +/// Called when we interact with the APC with a cable, attempts to wire the APC and create a terminal +/obj/machinery/power/apc/proc/cable_act(mob/living/user, obj/item/stack/cable_coil/installing_cable, is_right_clicking) + if(!opened) + return NONE + + var/turf/host_turf = get_turf(src) + if(!host_turf) + CRASH("cable_act on APC when it's not on a turf") + if(host_turf.underfloor_accessibility < UNDERFLOOR_INTERACTABLE) + balloon_alert(user, "remove the floor plating!") + return ITEM_INTERACT_BLOCKING + if(terminal) + balloon_alert(user, "already wired!") + return ITEM_INTERACT_BLOCKING + if(!has_electronics) + balloon_alert(user, "no board to wire!") + return ITEM_INTERACT_BLOCKING + + if(installing_cable.get_amount() < 10) + balloon_alert(user, "need ten lengths of cable!") + return ITEM_INTERACT_BLOCKING + + var/terminal_cable_layer = cable_layer // Default to machine's cable layer + if(is_right_clicking) + var/choice = tgui_input_list(user, "Select Power Input Cable Layer", "Select Cable Layer", GLOB.cable_name_to_layer) + if(isnull(choice)) + return ITEM_INTERACT_BLOCKING + terminal_cable_layer = GLOB.cable_name_to_layer[choice] + + user.visible_message(span_notice("[user.name] adds cables to the APC frame.")) + balloon_alert(user, "adding cables to the frame...") + playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) + + if(!do_after(user, 20, target = src)) + return ITEM_INTERACT_BLOCKING + if(installing_cable.get_amount() < 10 || !installing_cable) + return ITEM_INTERACT_BLOCKING + if(terminal || !opened || !has_electronics) + return ITEM_INTERACT_BLOCKING + var/turf/our_turf = get_turf(src) + var/obj/structure/cable/cable_node = our_turf.get_cable_node(terminal_cable_layer) + if(prob(50) && electrocute_mob(usr, cable_node, cable_node, 1, TRUE)) + do_sparks(5, TRUE, src) + return ITEM_INTERACT_BLOCKING + installing_cable.use(10) + balloon_alert(user, "cables added to the frame") + make_terminal(terminal_cable_layer) + terminal.connect_to_network() + return ITEM_INTERACT_SUCCESS + +/// Called when we interact with the APC with APC electronics, attempts to install the board +/obj/machinery/power/apc/proc/electronics_act(mob/living/user, obj/item/electronics/apc/installing_board) + if(!opened) + return NONE + + if(has_electronics) + balloon_alert(user, "there is already a board!") + return ITEM_INTERACT_BLOCKING + + if(machine_stat & BROKEN) + balloon_alert(user, "the frame is damaged!") + return ITEM_INTERACT_BLOCKING + + user.visible_message(span_notice("[user.name] inserts the power control board into [src].")) + balloon_alert(user, "inserting the board...") + playsound(loc, 'sound/items/deconstruct.ogg', 50, TRUE) + + if(!do_after(user, 10, target = src) || has_electronics) + return ITEM_INTERACT_BLOCKING + + has_electronics = APC_ELECTRONICS_INSTALLED + locked = FALSE + balloon_alert(user, "board installed") + qdel(installing_board) + return ITEM_INTERACT_SUCCESS + +/// Called when we interact with the APC with an electroadaptive pseudocircuit, used by cyborgs to install a board or weak cell +/obj/machinery/power/apc/proc/pseudocircuit_act(mob/living/user, obj/item/electroadaptive_pseudocircuit/pseudocircuit) + if(!has_electronics) + if(machine_stat & BROKEN) + balloon_alert(user, "frame is too damaged!") + return ITEM_INTERACT_BLOCKING + if(!pseudocircuit.adapt_circuit(user, circuit_cost = 50 KILO JOULES)) + return ITEM_INTERACT_BLOCKING + user.visible_message( + span_notice("[user] fabricates a circuit and places it into [src]."), + span_notice("You adapt a power control board and click it into place in [src]'s guts."), + ) + has_electronics = APC_ELECTRONICS_INSTALLED + locked = FALSE + return ITEM_INTERACT_SUCCESS + + if(!cell) + if(machine_stat & MAINT) + balloon_alert(user, "no board for a cell!") + return ITEM_INTERACT_BLOCKING + if(!pseudocircuit.adapt_circuit(user, circuit_cost = 500 KILO JOULES)) + return ITEM_INTERACT_BLOCKING + var/obj/item/stock_parts/cell/crap/empty/bad_cell = new(src) + bad_cell.forceMove(src) + cell = bad_cell + user.visible_message( + span_notice("[user] fabricates a weak power cell and places it into [src]."), + span_warning("Your [pseudocircuit.name] whirrs with strain as you create a weak power cell and place it into [src]!"), + ) + update_appearance() + return ITEM_INTERACT_SUCCESS + + balloon_alert(user, "has both board and cell!") + return ITEM_INTERACT_BLOCKING + +/// Called when we interact with the APC with and APC frame, used for replacing a damaged cover/frame +/obj/machinery/power/apc/proc/wallframe_act(mob/living/user, obj/item/wallframe/apc/wallframe) + if(!opened) + return NONE + + if(!(machine_stat & BROKEN || opened == APC_COVER_REMOVED || atom_integrity < max_integrity)) // There is nothing to repair + balloon_alert(user, "no reason for repairs!") + return ITEM_INTERACT_BLOCKING + if((machine_stat & BROKEN) && opened == APC_COVER_REMOVED && has_electronics && terminal) // Cover is the only thing broken, we do not need to remove elctronicks to replace cover + user.visible_message(span_notice("[user.name] replaces missing APC's cover.")) + balloon_alert(user, "replacing APC's cover...") + if(!do_after(user, 20, target = src)) // replacing cover is quicker than replacing whole frame + return ITEM_INTERACT_BLOCKING + balloon_alert(user, "cover replaced") + qdel(wallframe) + update_integrity(30) //needs to be welded to fully repair but can work without + set_machine_stat(machine_stat & ~(BROKEN|MAINT)) + opened = APC_COVER_OPENED + update_appearance() + return ITEM_INTERACT_SUCCESS + if(has_electronics) + balloon_alert(user, "remove the board inside!") + return ITEM_INTERACT_BLOCKING + user.visible_message(span_notice("[user.name] replaces the damaged APC frame with a new one.")) + balloon_alert(user, "replacing damaged frame...") + if(!do_after(user, 50, target = src)) + return ITEM_INTERACT_BLOCKING + balloon_alert(user, "replaced frame") + qdel(wallframe) + set_machine_stat(machine_stat & ~BROKEN) + atom_integrity = max_integrity + if(opened == APC_COVER_REMOVED) + opened = APC_COVER_OPENED + update_appearance() + return ITEM_INTERACT_SUCCESS + /obj/machinery/power/apc/crowbar_act(mob/user, obj/item/crowbar) . = TRUE @@ -193,7 +414,6 @@ var/obj/item/stock_parts/cell/crap/empty/C = new(src) C.forceMove(src) cell = C - chargecount = 0 balloon_alert(user, "power cell installed") update_appearance() return TRUE diff --git a/code/modules/power/cell.dm b/code/modules/power/cell.dm index 2addc045a0c..00b332e6608 100644 --- a/code/modules/power/cell.dm +++ b/code/modules/power/cell.dm @@ -1,6 +1,6 @@ #define CELL_DRAIN_TIME 35 -#define CELL_POWER_GAIN 60 -#define CELL_POWER_DRAIN 750 +#define CELL_POWER_GAIN (0.06 * STANDARD_CELL_CHARGE) +#define CELL_POWER_DRAIN (0.75 * STANDARD_CELL_CHARGE) /** * # Power cell @@ -30,8 +30,8 @@ var/rigged = FALSE ///If the power cell was damaged by an explosion, chance for it to become corrupted and function the same as rigged. var/corrupted = FALSE - ///how much power is given every tick in a recharger - var/chargerate = STANDARD_CELL_CHARGE * 0.1 + ///How much power is given per second in a recharger. + var/chargerate = STANDARD_CELL_CHARGE * 0.05 ///If true, the cell will state it's maximum charge in it's description var/ratingdesc = TRUE ///If it's a grown that acts as a battery, add a wire overlay to it. @@ -134,32 +134,71 @@ return ..() +/** + * Returns the percentage of the cell's charge. + */ /obj/item/stock_parts/cell/proc/percent() // return % charge of cell return 100 * charge / maxcharge -// use power from a cell -/obj/item/stock_parts/cell/use(used, force) - if(rigged && used > 0) +/** + * Returns the maximum charge of the cell. + */ +/obj/item/stock_parts/cell/proc/max_charge() + return maxcharge + +/** + * Returns the current charge of the cell. + */ +/obj/item/stock_parts/cell/proc/charge() + return charge + +/** + * Returns the amount of charge used on the cell. + */ +/obj/item/stock_parts/cell/proc/used_charge() + return maxcharge - charge + +/// Use power from the cell. +/// Args: +/// - used: Amount of power in joules to use. +/// - force: If true, uses the remaining power from the cell if there isn't enough power to supply the demand. +/// Returns: The power used from the cell in joules. +/obj/item/stock_parts/cell/use(used, force = FALSE) + var/power_used = min(used, charge) + if(rigged && power_used > 0) explode() - return FALSE + return 0 // The cell decided to explode so we won't be able to use it. if(!force && charge < used) - return FALSE - charge = max(charge - used, 0) + return 0 + charge -= power_used if(!istype(loc, /obj/machinery/power/apc)) SSblackbox.record_feedback("tally", "cell_used", 1, type) - return TRUE + return power_used -// recharge the cell +/// Recharge the cell. +/// Args: +/// - amount: The amount of energy to give to the cell in joules. +/// Returns: The power given to the cell in joules. /obj/item/stock_parts/cell/proc/give(amount) - if(rigged && amount > 0) - explode() - return 0 - if(maxcharge < amount) - amount = maxcharge var/power_used = min(maxcharge-charge,amount) charge += power_used + if(rigged && amount > 0) + explode() return power_used +/** + * Changes the charge of the cell. + * Args: + * - amount: The energy to give to the cell (can be negative). + * Returns: The energy that was given to the cell (can be negative). + */ +/obj/item/stock_parts/cell/proc/change(amount) + var/energy_used = clamp(amount, -charge, maxcharge - charge) + charge += energy_used + if(rigged && energy_used) + explode() + return energy_used + /obj/item/stock_parts/cell/examine(mob/user) . = ..() // SKYRAT EDIT ADDITION @@ -188,9 +227,9 @@ /obj/item/stock_parts/cell/proc/explode() if(!charge) return - var/range_devastation = -1 //round(charge/11000) - var/range_heavy = round(sqrt(charge)/60) - var/range_light = round(sqrt(charge)/30) + var/range_devastation = -1 + var/range_heavy = round(sqrt(charge / (3.6 * STANDARD_CELL_CHARGE))) + var/range_light = round(sqrt(charge / (0.9 * STANDARD_CELL_CHARGE))) var/range_flash = range_light if(!range_light) rigged = FALSE @@ -201,7 +240,6 @@ usr?.log_message("triggered a rigged/corrupted power cell explosion", LOG_GAME) usr?.log_message("triggered a rigged/corrupted power cell explosion", LOG_VICTIM, log_globally = FALSE) - //explosion(T, 0, 1, 2, 2) explosion(src, devastation_range = range_devastation, heavy_impact_range = range_heavy, light_impact_range = range_light, flash_range = range_flash) qdel(src) @@ -216,9 +254,7 @@ . = ..() if(. & EMP_PROTECT_SELF) return - charge -= 1000 / severity - if (charge < 0) - charge = 0 + use(STANDARD_CELL_CHARGE / severity, force = TRUE) /obj/item/stock_parts/cell/ex_act(severity, target) . = ..() @@ -244,18 +280,19 @@ var/charge_limit = ETHEREAL_CHARGE_DANGEROUS - CELL_POWER_GAIN var/obj/item/organ/internal/stomach/ethereal/stomach = maybe_stomach + var/obj/item/stock_parts/cell/stomach_cell = stomach.cell if((stomach.drain_time > world.time) || !stomach) return if(charge < CELL_POWER_DRAIN) to_chat(H, span_warning("[src] doesn't have enough power!")) return - if(stomach.crystal_charge > charge_limit) + if(stomach_cell.charge() > charge_limit) to_chat(H, span_warning("Your charge is full!")) return to_chat(H, span_notice("You begin clumsily channeling power from [src] into your body.")) stomach.drain_time = world.time + CELL_DRAIN_TIME while(do_after(user, CELL_DRAIN_TIME, target = src)) - if((charge < CELL_POWER_DRAIN) || (stomach.crystal_charge > charge_limit)) + if((charge < CELL_POWER_DRAIN) || (stomach_cell.charge() > charge_limit)) return if(istype(stomach)) to_chat(H, span_notice("You receive some charge from [src], wasting some in the process.")) @@ -270,10 +307,7 @@ SSexplosions.high_mov_atom += src /obj/item/stock_parts/cell/proc/get_electrocute_damage() - if(charge >= 1000) - return clamp(20 + round(charge/25000), 20, 195) + rand(-5,5) - else - return 0 + return ELECTROCUTE_DAMAGE(charge / max(0.001 * STANDARD_CELL_CHARGE, 1)) // Wouldn't want it to consider more energy than whatever is actually in the cell if for some strange reason someone set the STANDARD_CELL_CHARGE to below 1kJ. /obj/item/stock_parts/cell/get_part_rating() return maxcharge * 10 + charge @@ -300,7 +334,7 @@ desc = "A power cell with a slightly higher capacity than normal!" maxcharge = STANDARD_CELL_CHARGE * 2.5 custom_materials = list(/datum/material/glass=SMALL_MATERIAL_AMOUNT*0.5) - chargerate = STANDARD_CELL_CHARGE + chargerate = STANDARD_CELL_CHARGE * 0.5 /obj/item/stock_parts/cell/upgraded/plus name = "upgraded power cell+" @@ -326,7 +360,7 @@ /obj/item/stock_parts/cell/pulse //200 pulse shots name = "pulse rifle power cell" maxcharge = STANDARD_CELL_CHARGE * 40 - chargerate = STANDARD_CELL_CHARGE * 1.5 + chargerate = STANDARD_CELL_CHARGE * 0.75 /obj/item/stock_parts/cell/pulse/carbine //25 pulse shots name = "pulse carbine power cell" @@ -341,14 +375,14 @@ icon_state = "bscell" maxcharge = STANDARD_CELL_CHARGE * 10 custom_materials = list(/datum/material/glass=SMALL_MATERIAL_AMOUNT*0.6) - chargerate = STANDARD_CELL_CHARGE * 2 + chargerate = STANDARD_CELL_CHARGE /obj/item/stock_parts/cell/high name = "high-capacity power cell" icon_state = "hcell" maxcharge = STANDARD_CELL_CHARGE * 10 custom_materials = list(/datum/material/glass=SMALL_MATERIAL_AMOUNT*0.6) - chargerate = STANDARD_CELL_CHARGE * 1.5 + chargerate = STANDARD_CELL_CHARGE * 0.75 /obj/item/stock_parts/cell/high/empty empty = TRUE @@ -358,7 +392,7 @@ icon_state = "scell" maxcharge = STANDARD_CELL_CHARGE * 20 custom_materials = list(/datum/material/glass=SMALL_MATERIAL_AMOUNT * 3) - chargerate = STANDARD_CELL_CHARGE * 2 + chargerate = STANDARD_CELL_CHARGE /obj/item/stock_parts/cell/super/empty empty = TRUE @@ -368,7 +402,7 @@ icon_state = "hpcell" maxcharge = STANDARD_CELL_CHARGE * 30 custom_materials = list(/datum/material/glass=SMALL_MATERIAL_AMOUNT * 4) - chargerate = STANDARD_CELL_CHARGE * 3 + chargerate = STANDARD_CELL_CHARGE * 1.5 /obj/item/stock_parts/cell/hyper/empty empty = TRUE @@ -379,7 +413,7 @@ icon_state = "bscell" maxcharge = STANDARD_CELL_CHARGE * 40 custom_materials = list(/datum/material/glass=SMALL_MATERIAL_AMOUNT*6) - chargerate = STANDARD_CELL_CHARGE * 4 + chargerate = STANDARD_CELL_CHARGE * 2 /obj/item/stock_parts/cell/bluespace/empty empty = TRUE @@ -392,7 +426,7 @@ chargerate = INFINITY ratingdesc = FALSE -/obj/item/stock_parts/cell/infinite/use(used) +/obj/item/stock_parts/cell/infinite/use(used, force = FALSE) return TRUE /obj/item/stock_parts/cell/infinite/abductor @@ -412,7 +446,6 @@ desc = "A rechargeable starch based power cell." icon = 'icons/obj/service/hydroponics/harvest.dmi' icon_state = "potato" - charge = 100 maxcharge = STANDARD_CELL_CHARGE * 0.3 charge_light_type = null connector_type = null @@ -420,6 +453,10 @@ grown_battery = TRUE //it has the overlays for wires custom_premium_price = PAYCHECK_CREW +/obj/item/stock_parts/cell/potato/Initialize(mapload, override_maxcharge) + charge = maxcharge * 0.3 + . = ..() + /obj/item/stock_parts/cell/emproof name = "\improper EMP-proof cell" desc = "An EMP-proof cell." @@ -449,7 +486,7 @@ name = "beam rifle capacitor" desc = "A high powered capacitor that can provide huge amounts of energy in an instant." maxcharge = STANDARD_CELL_CHARGE * 50 - chargerate = STANDARD_CELL_CHARGE * 5 //Extremely energy intensive + chargerate = STANDARD_CELL_CHARGE * 2.5 //Extremely energy intensive /obj/item/stock_parts/cell/beam_rifle/corrupt() return @@ -488,6 +525,21 @@ /obj/item/stock_parts/cell/inducer_supply maxcharge = STANDARD_CELL_CHARGE * 5 +/obj/item/stock_parts/cell/ethereal + name = "ahelp it" + desc = "you sohuldn't see this" + maxcharge = ETHEREAL_CHARGE_DANGEROUS + charge = ETHEREAL_CHARGE_FULL + icon_state = null + charge_light_type = null + connector_type = null + custom_materials = null + grind_results = null + +/obj/item/stock_parts/cell/ethereal/examine(mob/user) + . = ..() + CRASH("[src.type] got examined by [user]") + #undef CELL_DRAIN_TIME #undef CELL_POWER_GAIN #undef CELL_POWER_DRAIN diff --git a/code/modules/power/energy_accumulator.dm b/code/modules/power/energy_accumulator.dm index 80c76f3916d..b4970014a69 100644 --- a/code/modules/power/energy_accumulator.dm +++ b/code/modules/power/energy_accumulator.dm @@ -1,4 +1,4 @@ -/// (this*100)% of stored power outputted per tick. +/// The coefficient of the proportionate power output. /// Doesn't change output total, lower numbers just increases the smoothing - taking longer to ramp up, and longer to drop away. /// 4% means an accumulator, when starting up for the first time: /// - emits 50% of what is being received after 40 seconds @@ -9,7 +9,9 @@ /// - emits 25% of what was previously being received after 79 seconds /// - emits 10% of what was previously being received after two minutes /// - emits 1% of what was previously being received after four minutes -#define ACCUMULATOR_STORED_OUTPUT 0.04 +#define ACCUMULATOR_PROPORTIONAL_COEFFICIENT 0.04 +/// The coefficient for the constant power output. +#define ACCUMULATOR_CONSTANT_COEFFICIENT 2000 /// Abstract type for generators that accumulate energy over time and slowly release it /// eg. radiation collectors, tesla coils @@ -20,24 +22,45 @@ var/wants_powernet = TRUE ///The amount of energy that is currently inside the machine before being converted to electricity var/stored_energy = 0 + ///The amount of energy that got processed last tick. + var/processed_energy = 0 /obj/machinery/power/energy_accumulator/proc/get_stored_joules() - return energy_to_joules(stored_energy) + return stored_energy -/obj/machinery/power/energy_accumulator/proc/get_power_output() - // Always consume at least 2kJ of energy if we have at least that much stored - return min(stored_energy, (stored_energy*ACCUMULATOR_STORED_OUTPUT)+joules_to_energy(2000)) +/** + * Gets the energy the energy_accumulator would release within the given timespan time. + * The power output is proportional to the energy, and has a constant power output added to it. + * Args: + * - time: The amount of time that is being processed, in seconds. + * Returns: The amount of energy it would release in the timespan. + */ +/obj/machinery/power/energy_accumulator/proc/calculate_energy_output(time = 0) + // dE/dt = -[ACCUMULATOR_PROPORTIONAL_COEFFICIENT] * E - [ACCUMULATOR_CONSTANT_COEFFICIENT] + return min(stored_energy, stored_energy - ((ACCUMULATOR_PROPORTIONAL_COEFFICIENT * stored_energy + ACCUMULATOR_CONSTANT_COEFFICIENT) * NUM_E ** (-ACCUMULATOR_PROPORTIONAL_COEFFICIENT * time) - ACCUMULATOR_CONSTANT_COEFFICIENT) / ACCUMULATOR_PROPORTIONAL_COEFFICIENT) + +/** + * Calculates the power needed to sustain the energy accumulator at its current energy. + */ +/obj/machinery/power/energy_accumulator/proc/calculate_sustainable_power() + return ACCUMULATOR_PROPORTIONAL_COEFFICIENT * stored_energy + ACCUMULATOR_CONSTANT_COEFFICIENT /obj/machinery/power/energy_accumulator/process(seconds_per_tick) - // NB: stored_energy is stored in energy units, a unit of measurement which already includes SSmachines.wait - // Do not multiply by seconds_per_tick here. It is already accounted for by being energy units. - var/power_produced = get_power_output() - release_energy(power_produced) - stored_energy -= power_produced + release_energy(calculate_energy_output(seconds_per_tick)) -/obj/machinery/power/energy_accumulator/proc/release_energy(power_produced) +/** + * Releases joules amount of its stored energy onto the powernet. + * Args: + * - joules: The amount of energy to release. + * Returns: Whether it successfully released its energy or not. + */ +/obj/machinery/power/energy_accumulator/proc/release_energy(joules = 0) if(wants_powernet) - add_avail(power_produced) + add_avail(joules) + stored_energy -= joules + processed_energy = joules + return TRUE + return FALSE /obj/machinery/power/energy_accumulator/should_have_node() return wants_powernet && anchored @@ -53,4 +76,5 @@ return connect_to_network() -#undef ACCUMULATOR_STORED_OUTPUT +#undef ACCUMULATOR_PROPORTIONAL_COEFFICIENT +#undef ACCUMULATOR_CONSTANT_COEFFICIENT diff --git a/code/modules/power/floodlight.dm b/code/modules/power/floodlight.dm index d3c5c1de569..38354241f9a 100644 --- a/code/modules/power/floodlight.dm +++ b/code/modules/power/floodlight.dm @@ -247,11 +247,11 @@ if(user) to_chat(user, span_notice("You set [src] to [setting_text].")) -/obj/machinery/power/floodlight/cable_layer_change_checks(mob/living/user, obj/item/tool) +/obj/machinery/power/floodlight/cable_layer_act(mob/living/user, obj/item/tool) if(anchored) balloon_alert(user, "unanchor first!") - return FALSE - return TRUE + return ITEM_INTERACT_BLOCKING + return ..() /obj/machinery/power/floodlight/wrench_act(mob/living/user, obj/item/tool) . = ..() diff --git a/code/modules/power/lighting/light.dm b/code/modules/power/lighting/light.dm index caaebf7b2cc..a7013595543 100644 --- a/code/modules/power/lighting/light.dm +++ b/code/modules/power/lighting/light.dm @@ -334,11 +334,11 @@ if(cell) if(cell.charge == cell.maxcharge && !reagents) //If the cell is done mooching station power, and reagents don't need processing, stop processing return PROCESS_KILL - cell.charge = min(cell.maxcharge, cell.charge + LIGHT_EMERGENCY_POWER_USE) //Recharge emergency power automatically while not using it + charge_cell(LIGHT_EMERGENCY_POWER_USE * seconds_per_tick, cell = cell) //Recharge emergency power automatically while not using it if(reagents) //with most reagents coming out at 300, and with most meaningful reactions coming at 370+, this rate gives a few seconds of time to place it in and get out of dodge regardless of input. reagents.adjust_thermal_energy(8 * reagents.total_volume * SPECIFIC_HEAT_DEFAULT * seconds_per_tick) reagents.handle_reactions() - if(low_power_mode && !use_emergency_power(LIGHT_EMERGENCY_POWER_USE)) + if(low_power_mode && !use_emergency_power(LIGHT_EMERGENCY_POWER_USE * seconds_per_tick)) update(FALSE) //Disables emergency mode and sets the color to normal /obj/machinery/light/proc/burn_out() @@ -522,7 +522,7 @@ if(!has_emergency_power(power_usage_amount)) return FALSE var/obj/item/stock_parts/cell/real_cell = get_cell() - if(real_cell.charge > 300) //it's meant to handle 120 W, ya doofus + if(real_cell.charge > 2.5 * /obj/item/stock_parts/cell/emergency_light::maxcharge) //it's meant to handle 120 W, ya doofus visible_message(span_warning("[src] short-circuits from too powerful of a power cell!")) burn_out() return FALSE diff --git a/code/modules/power/monitor.dm b/code/modules/power/monitor.dm index 3d4c92d8b19..289b2d46fab 100644 --- a/code/modules/power/monitor.dm +++ b/code/modules/power/monitor.dm @@ -61,13 +61,13 @@ var/list/supply = history["supply"] if(connected_powernet) - supply += connected_powernet.viewavail + supply += energy_to_power(connected_powernet.avail) if(supply.len > record_size) supply.Cut(1, 2) var/list/demand = history["demand"] if(connected_powernet) - demand += connected_powernet.viewload + demand += energy_to_power(connected_powernet.load) if(demand.len > record_size) demand.Cut(1, 2) @@ -88,8 +88,8 @@ data["areas"] = list() if(connected_powernet) - data["supply"] = display_power(connected_powernet.viewavail) - data["demand"] = display_power(connected_powernet.viewload) + data["supply"] = display_power(connected_powernet.avail) + data["demand"] = display_power(connected_powernet.load) for(var/obj/machinery/power/terminal/term in connected_powernet.nodes) var/obj/machinery/power/apc/A = term.master if(istype(A)) diff --git a/code/modules/power/port_gen.dm b/code/modules/power/port_gen.dm index b0f80127515..84542805d48 100644 --- a/code/modules/power/port_gen.dm +++ b/code/modules/power/port_gen.dm @@ -66,7 +66,7 @@ TogglePower() return if(powernet) - add_avail(power_gen * power_output) + add_avail(power_to_energy(power_gen * power_output)) UseFuel() else handleInactive() @@ -114,7 +114,7 @@ /obj/machinery/power/port_gen/pacman/examine(mob/user) . = ..() - . += span_notice("The generator has [sheets] units of [sheet_name] fuel left, producing [display_power(power_gen)] per cycle.") + . += span_notice("The generator has [sheets] units of [sheet_name] fuel left, producing [display_power(power_gen)].") if(anchored) . += span_notice("It is anchored to the ground.") @@ -240,8 +240,8 @@ data["anchored"] = anchored data["connected"] = (powernet == null ? 0 : 1) data["ready_to_boot"] = anchored && HasFuel() - data["power_generated"] = display_power(power_gen) - data["power_output"] = display_power(power_gen * power_output) + data["power_generated"] = display_power(power_gen, convert = FALSE) + data["power_output"] = display_power(power_gen * power_output, convert = FALSE) data["power_available"] = (powernet == null ? 0 : display_power(avail())) data["current_heat"] = current_heat . = data diff --git a/code/modules/power/power.dm b/code/modules/power/power.dm index f12da549da3..f5b4a8ca66b 100644 --- a/code/modules/power/power.dm +++ b/code/modules/power/power.dm @@ -55,27 +55,23 @@ . += span_warning("It's disconnected from the [lowertext(GLOB.cable_layer_to_name["[cable_layer]"])].") . += span_notice("It's power line can be changed with a [EXAMINE_HINT("multitool")].") -///does the required checks to see if this machinery layer can be changed -/obj/machinery/power/proc/cable_layer_change_checks(mob/living/user, obj/item/tool) - return can_change_cable_layer - /obj/machinery/power/multitool_act(mob/living/user, obj/item/tool) - . = ITEM_INTERACT_BLOCKING + if(can_change_cable_layer) + return cable_layer_act(user, tool) - if(!can_change_cable_layer || !cable_layer_change_checks(user, tool)) - return +/obj/machinery/power/multitool_act_secondary(mob/living/user, obj/item/tool) + return multitool_act(user, tool) +/// Called on multitool_act when we can change cable layers, override to add more conditions +/obj/machinery/power/proc/cable_layer_act(mob/living/user, obj/item/tool) var/choice = tgui_input_list(user, "Select Power Line For Operation", "Select Cable Layer", GLOB.cable_name_to_layer) - if(isnull(choice)) - return + if(isnull(choice) || QDELETED(src) || QDELETED(user) || QDELETED(tool) || !user.Adjacent(src) || !user.is_holding(tool)) + return ITEM_INTERACT_BLOCKING cable_layer = GLOB.cable_name_to_layer[choice] balloon_alert(user, "now operating on the [choice]") return ITEM_INTERACT_SUCCESS -/obj/machinery/power/multitool_act_secondary(mob/living/user, obj/item/tool) - return multitool_act(user, tool) - /obj/machinery/power/proc/add_avail(amount) if(powernet) powernet.newavail += amount @@ -132,28 +128,85 @@ return A.powered(chan) // return power status of the area -// increment the power usage stats for an area -/obj/machinery/proc/use_power(amount, chan = power_channel) - amount = max(amount * machine_power_rectifier, 0) // make sure we don't use negative power - var/area/A = get_area(src) // make sure it's in an area - A?.use_power(amount, chan) +/** + * Returns the available energy from the apc's cell and grid that can be used. + * Args: + * - consider_cell: Whether to count the energy from the APC's cell or not. + * Returns: The available energy the machine can access from the APC. + */ +/obj/machinery/proc/available_energy(consider_cell = TRUE) + var/area/home = get_area(src) + + if(isnull(home)) + return FALSE + if(!home.requires_power) + return INFINITY + + var/obj/machinery/power/apc/local_apc = home.apc + if(isnull(local_apc)) + return FALSE + + return consider_cell ? local_apc.available_energy() : local_apc.surplus() /** - * An alternative to 'use_power', this proc directly costs the APC in direct charge, as opposed to being calculated periodically. - * - Amount: How much power the APC's cell is to be costed. + * Draws energy from the APC. Will use excess energy from the APC's connected grid, + * then use energy from the APC's cell if there wasn't enough energy from the grid, unless ignore_apc is true. + * Args: + * - amount: The amount of energy to use. + * - channel: The power channel to use. + * - ignore_apc: If true, do not consider the APC's cell when demanding energy. + * - force: If true and if there isn't enough energy, consume the remaining energy. Returns 0 if false and there isn't enough energy. + * Returns: The amount of energy used. */ -/obj/machinery/proc/directly_use_power(amount) +/obj/machinery/proc/use_energy(amount, channel = power_channel, ignore_apc = FALSE, force = TRUE) + if(amount <= 0) //just in case + return FALSE + var/area/home = get_area(src) + + if(isnull(home)) + return FALSE //apparently space isn't an area + if(!home.requires_power) + return amount //Shuttles get free power, don't ask why + + var/obj/machinery/power/apc/local_apc = home.apc + if(isnull(local_apc)) + return FALSE + + // Surplus from the grid. + var/surplus = local_apc.surplus() + var/grid_used = min(surplus, amount) + var/apc_used = 0 + if((amount > grid_used) && !ignore_apc) // Use from the APC's cell if there isn't enough energy from the grid. + apc_used = local_apc.cell.use(amount - grid_used, force = force) + + if(!force && (amount < grid_used + apc_used)) // If we aren't forcing it and there isn't enough energy to supply demand, return nothing. + return FALSE + + // Use the grid's and APC's energy. + amount = grid_used + apc_used + local_apc.add_load(grid_used JOULES) + home.use_energy(amount JOULES, channel) + return amount + +/** + * An alternative to 'use_power', this proc directly costs the APC in direct charge, as opposed to prioritising the grid. + * Args: + * - amount: How much energy the APC's cell is to be costed. + * - force: If true, consumes the remaining energy of the cell if there isn't enough energy to supply the demand. + * Returns: The amount of energy that got used by the cell. + */ +/obj/machinery/proc/directly_use_energy(amount, force = FALSE) var/area/my_area = get_area(src) if(isnull(my_area)) stack_trace("machinery is somehow not in an area, nullspace?") return FALSE if(!my_area.requires_power) - return TRUE + return amount var/obj/machinery/power/apc/my_apc = my_area.apc if(isnull(my_apc)) return FALSE - return my_apc.cell.use(amount) + return my_apc.cell.use(amount, force = force) /** * Attempts to draw power directly from the APC's Powernet rather than the APC's battery. For high-draw machines, like the cell charger @@ -163,7 +216,7 @@ * If the take_any var arg is set to true, this proc will use and return any surplus that is under the requested amount, assuming that * the surplus is above zero. * Args: - * - amount, the amount of power requested from the Powernet. In standard loosely-defined SS13 power units. + * - amount, the amount of power requested from the powernet. In joules. * - take_any, a bool of whether any amount of power is acceptable, instead of all or nothing. Defaults to FALSE */ /obj/machinery/proc/use_power_from_net(amount, take_any = FALSE) @@ -189,6 +242,21 @@ local_apc.add_load(amount) return amount +/** + * Draws power from the apc's powernet and cell to charge a power cell. + * Args: + * - amount: The amount of energy given to the cell. + * - cell: The cell to charge. + * - grid_only: If true, only draw from the grid and ignore the APC's cell. + * - channel: The power channel to use. + * Returns: The amount of energy the cell received. + */ +/obj/machinery/proc/charge_cell(amount, obj/item/stock_parts/cell/cell, grid_only = FALSE, channel = AREA_USAGE_EQUIP) + var/demand = use_energy(min(amount, cell.used_charge()), channel = channel, ignore_apc = grid_only) + var/power_given = cell.give(demand) + return power_given + + /obj/machinery/proc/addStaticPower(value, powerchannel) var/area/A = get_area(src) A?.addStaticPower(value, powerchannel) @@ -448,10 +516,9 @@ if (isarea(power_source)) var/area/source_area = power_source - source_area.use_power(drained_energy WATTS) + source_area.apc?.terminal?.use_energy(drained_energy) else if (istype(power_source, /datum/powernet)) - var/drained_power = drained_energy WATTS //convert from "joules" to "watts" - PN.delayedload += (min(drained_power, max(PN.newavail - PN.delayedload, 0))) + PN.delayedload += (min(drained_energy, max(PN.newavail - PN.delayedload, 0))) else if (istype(power_source, /obj/item/stock_parts/cell)) cell.use(drained_energy) return drained_energy diff --git a/code/modules/power/powernet.dm b/code/modules/power/powernet.dm index ac24b109913..618812351f9 100644 --- a/code/modules/power/powernet.dm +++ b/code/modules/power/powernet.dm @@ -10,8 +10,6 @@ var/load = 0 // the current load on the powernet, increased by each machine at processing var/newavail = 0 // what available power was gathered last tick, then becomes... var/avail = 0 //...the current available power in the powernet - var/viewavail = 0 // the available power as it appears on the power console (gradually updated) - var/viewload = 0 // the load as it appears on the power console (gradually updated) var/netexcess = 0 // excess power on the powernet (typically avail-load)/////// var/delayedload = 0 // load applied to powernet between power ticks. @@ -84,10 +82,6 @@ for(var/obj/machinery/power/smes/S in nodes) // find the SMESes in the network S.restore() // and restore some of the power that was used - // update power consoles - viewavail = round(0.8 * viewavail + 0.2 * avail) - viewload = round(0.8 * viewload + 0.2 * load) - // reset the powernet load = delayedload delayedload = 0 @@ -95,7 +89,4 @@ newavail = 0 /datum/powernet/proc/get_electrocute_damage() - if(avail >= 1000) - return clamp(20 + round(avail/25000), 20, 195) + rand(-5,5) - else - return 0 + return ELECTROCUTE_DAMAGE(energy_to_power(avail)) // Assuming 1 second of contact. diff --git a/code/modules/power/rtg.dm b/code/modules/power/rtg.dm index f79eb808a87..657263b3de4 100644 --- a/code/modules/power/rtg.dm +++ b/code/modules/power/rtg.dm @@ -22,7 +22,7 @@ connect_to_network() /obj/machinery/power/rtg/process() - add_avail(power_gen) + add_avail(power_to_energy(power_gen)) /obj/machinery/power/rtg/RefreshParts() . = ..() @@ -35,7 +35,7 @@ /obj/machinery/power/rtg/examine(mob/user) . = ..() if(in_range(user, src) || isobserver(user)) - . += span_notice("The status display reads: Power generation now at [power_gen*0.001]kW.") + . += span_notice("The status display reads: Power generation at [display_power(power_gen, convert = FALSE)].") /obj/machinery/power/rtg/attackby(obj/item/I, mob/user, params) if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-open", initial(icon_state), I)) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 77836007fd5..a360fc12145 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -77,11 +77,13 @@ welded = TRUE . = ..() -/obj/machinery/power/emitter/cable_layer_change_checks(mob/living/user, obj/item/tool) +/obj/machinery/power/emitter/cable_layer_act(mob/living/user, obj/item/tool) + if(panel_open) + return NONE if(welded) balloon_alert(user, "unweld first!") - return FALSE - return TRUE + return ITEM_INTERACT_BLOCKING + return ..() /obj/machinery/power/emitter/set_anchored(anchorvalue) . = ..() @@ -123,7 +125,7 @@ . += span_notice("Its status display is glowing faintly.") else . += span_notice("Its status display reads: Emitting one beam between [DisplayTimeText(minimum_fire_delay)] and [DisplayTimeText(maximum_fire_delay)].") - . += span_notice("Power consumption at [display_power(active_power_usage)].") + . += span_notice("Power consumption at [display_power(active_power_usage, convert = FALSE)].") /obj/machinery/power/emitter/should_have_node() return welded @@ -186,15 +188,16 @@ return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN /obj/machinery/power/emitter/process(seconds_per_tick) + var/power_usage = active_power_usage * seconds_per_tick if(machine_stat & (BROKEN)) return - if(!welded || (!powernet && active_power_usage)) + if(!welded || (!powernet && power_usage)) active = FALSE update_appearance() return if(!active) return - if(active_power_usage && surplus() < active_power_usage) + if(power_usage && surplus() < power_usage) if(powered) powered = FALSE update_appearance() @@ -202,7 +205,7 @@ log_game("[src] lost power in [AREACOORD(src)]") return - add_load(active_power_usage) + add_load(power_usage) if(!powered) powered = TRUE update_appearance() diff --git a/code/modules/power/smes.dm b/code/modules/power/smes.dm index 05574d00f76..233a20cd262 100644 --- a/code/modules/power/smes.dm +++ b/code/modules/power/smes.dm @@ -1,7 +1,6 @@ // the SMES // stores power -#define SMESRATE 0.05 // rate of internal charge to external power //Cache defines #define SMES_CLEVEL_1 1 @@ -30,14 +29,14 @@ var/input_attempt = TRUE // TRUE = attempting to charge, FALSE = not attempting to charge var/inputting = TRUE // TRUE = actually inputting, FALSE = not inputting - var/input_level = 50000 // amount of power the SMES attempts to charge by - var/input_level_max = 200000 // cap on input_level + var/input_level = 50 KILO WATTS // amount of power the SMES attempts to charge by + var/input_level_max = 200 KILO WATTS // cap on input_level var/input_available = 0 // amount of charge available from input last tick var/output_attempt = TRUE // TRUE = attempting to output, FALSE = not attempting to output var/outputting = TRUE // TRUE = actually outputting, FALSE = not outputting - var/output_level = 50000 // amount of power the SMES attempts to output - var/output_level_max = 200000 // cap on output_level + var/output_level = 50 KILO WATTS // amount of power the SMES attempts to output + var/output_level_max = 200 KILO WATTS // cap on output_level var/output_used = 0 // amount of power actually outputted. may be less than output_level if the powernet returns excess power var/obj/machinery/power/terminal/terminal = null @@ -50,10 +49,10 @@ /obj/machinery/power/smes/Initialize(mapload) . = ..() dir_loop: - for(var/d in GLOB.cardinals) - var/turf/T = get_step(src, d) - for(var/obj/machinery/power/terminal/term in T) - if(term && term.dir == REVERSE_DIR(d)) + for(var/direction in GLOB.cardinals) + var/turf/turf = get_step(src, direction) + for(var/obj/machinery/power/terminal/term in turf) + if(term && term.dir == REVERSE_DIR(direction)) terminal = term break dir_loop @@ -65,40 +64,40 @@ /obj/machinery/power/smes/RefreshParts() SHOULD_CALL_PARENT(FALSE) - var/IO = 0 - var/MC = 0 - var/C + var/power_coefficient = 0 + var/max_charge = 0 + var/new_charge = 0 for(var/datum/stock_part/capacitor/capacitor in component_parts) - IO += capacitor.tier - input_level_max = initial(input_level_max) * IO - output_level_max = initial(output_level_max) * IO - for(var/obj/item/stock_parts/cell/PC in component_parts) - MC += PC.maxcharge - C += PC.charge - capacity = MC / (15000) * 1e6 + power_coefficient += capacitor.tier + input_level_max = initial(input_level_max) * power_coefficient + output_level_max = initial(output_level_max) * power_coefficient + for(var/obj/item/stock_parts/cell/power_cell in component_parts) + max_charge += power_cell.maxcharge + new_charge += power_cell.charge + capacity = max_charge if(!initial(charge) && !charge) - charge = C / 15000 * 1e6 + charge = new_charge /obj/machinery/power/smes/should_have_node() return TRUE -/obj/machinery/power/smes/cable_layer_change_checks(mob/living/user, obj/item/tool) +/obj/machinery/power/smes/cable_layer_act(mob/living/user, obj/item/tool) if(!QDELETED(terminal)) balloon_alert(user, "cut the terminal first!") - return FALSE - return TRUE + return ITEM_INTERACT_BLOCKING + return ..() -/obj/machinery/power/smes/attackby(obj/item/I, mob/user, params) +/obj/machinery/power/smes/attackby(obj/item/item, mob/user, params) //opening using screwdriver - if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-o", initial(icon_state), I)) + if(default_deconstruction_screwdriver(user, "[initial(icon_state)]-o", initial(icon_state), item)) update_appearance() return //changing direction using wrench - if(default_change_direction_wrench(user, I)) + if(default_change_direction_wrench(user, item)) terminal = null - var/turf/T = get_step(src, dir) - for(var/obj/machinery/power/terminal/term in T) + var/turf/turf = get_step(src, dir) + for(var/obj/machinery/power/terminal/term in turf) if(term && term.dir == REVERSE_DIR(dir)) terminal = term terminal.master = src @@ -112,7 +111,7 @@ return //building and linking a terminal - if(istype(I, /obj/item/stack/cable_coil)) + if(istype(item, /obj/item/stack/cable_coil)) var/dir = get_dir(user,src) if(dir & (dir-1))//we don't want diagonal click return @@ -125,14 +124,14 @@ to_chat(user, span_warning("You must open the maintenance panel first!")) return - var/turf/T = get_turf(user) - if (T.underfloor_accessibility < UNDERFLOOR_INTERACTABLE) //can we get to the underfloor? + var/turf/turf = get_turf(user) + if (turf.underfloor_accessibility < UNDERFLOOR_INTERACTABLE) //can we get to the underfloor? to_chat(user, span_warning("You must first remove the floor plating!")) return - var/obj/item/stack/cable_coil/C = I - if(C.get_amount() < 10) + var/obj/item/stack/cable_coil/cable = item + if(cable.get_amount() < 10) to_chat(user, span_warning("You need more wires!")) return @@ -147,45 +146,45 @@ playsound(src.loc, 'sound/items/deconstruct.ogg', 50, TRUE) if(do_after(user, 20, target = src)) - if(C.get_amount() < 10 || !C) + if(cable.get_amount() < 10 || !cable) return - var/obj/structure/cable/N = T.get_cable_node(terminal_cable_layer) //get the connecting node cable, if there's one - if (prob(50) && electrocute_mob(usr, N, N, 1, TRUE)) //animate the electrocution if uncautious and unlucky + var/obj/structure/cable/connected_cable = turf.get_cable_node(terminal_cable_layer) //get the connecting node cable, if there's one + if (prob(50) && electrocute_mob(user, connected_cable, connected_cable, 1, TRUE)) //animate the electrocution if uncautious and unlucky do_sparks(5, TRUE, src) return if(!terminal) - C.use(10) + cable.use(10) user.visible_message(span_notice("[user.name] builds a power terminal."),\ span_notice("You build the power terminal.")) //build the terminal and link it to the network - make_terminal(T, terminal_cable_layer) + make_terminal(turf, terminal_cable_layer) terminal.connect_to_network() connect_to_network() return //crowbarring it ! - var/turf/T = get_turf(src) - if(default_deconstruction_crowbar(I)) - message_admins("[src] has been deconstructed by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(T)].") + var/turf/turf = get_turf(src) + if(default_deconstruction_crowbar(item)) + message_admins("[src] has been deconstructed by [ADMIN_LOOKUPFLW(user)] in [ADMIN_VERBOSEJMP(turf)].") user.log_message("deconstructed [src]", LOG_GAME) investigate_log("deconstructed by [key_name(user)] at [AREACOORD(src)].", INVESTIGATE_ENGINE) return - else if(panel_open && I.tool_behaviour == TOOL_CROWBAR) + else if(panel_open && item.tool_behaviour == TOOL_CROWBAR) return return ..() -/obj/machinery/power/smes/wirecutter_act(mob/living/user, obj/item/I) +/obj/machinery/power/smes/wirecutter_act(mob/living/user, obj/item/item) //disassembling the terminal . = ..() if(terminal && panel_open) - terminal.dismantle(user, I) + terminal.dismantle(user, item) return TRUE -/obj/machinery/power/smes/default_deconstruction_crowbar(obj/item/crowbar/C) - if(istype(C) && terminal) +/obj/machinery/power/smes/default_deconstruction_crowbar(obj/item/crowbar/crowbar) + if(istype(crowbar) && terminal) to_chat(usr, span_warning("You must first remove the power terminal!")) return FALSE @@ -197,20 +196,20 @@ /obj/machinery/power/smes/Destroy() if(SSticker.IsRoundInProgress()) - var/turf/T = get_turf(src) - message_admins("[src] deleted at [ADMIN_VERBOSEJMP(T)]") - log_game("[src] deleted at [AREACOORD(T)]") - investigate_log("deleted at [AREACOORD(T)]", INVESTIGATE_ENGINE) + var/turf/turf = get_turf(src) + message_admins("[src] deleted at [ADMIN_VERBOSEJMP(turf)]") + log_game("[src] deleted at [AREACOORD(turf)]") + investigate_log("deleted at [AREACOORD(turf)]", INVESTIGATE_ENGINE) if(terminal) disconnect_terminal() return ..() // create a terminal object pointing towards the SMES // wires will attach to this -/obj/machinery/power/smes/proc/make_terminal(turf/T, terminal_cable_layer = cable_layer) - terminal = new/obj/machinery/power/terminal(T) +/obj/machinery/power/smes/proc/make_terminal(turf/turf, terminal_cable_layer = cable_layer) + terminal = new/obj/machinery/power/terminal(turf) terminal.cable_layer = terminal_cable_layer - terminal.setDir(get_dir(T,src)) + terminal.setDir(get_dir(turf,src)) terminal.master = src set_machine_stat(machine_stat & ~BROKEN) @@ -240,7 +239,7 @@ /obj/machinery/power/smes/proc/chargedisplay() return clamp(round(5.5*charge/capacity),0,5) -/obj/machinery/power/smes/process() +/obj/machinery/power/smes/process(seconds_per_tick) if(machine_stat & BROKEN) return @@ -248,6 +247,28 @@ var/last_disp = chargedisplay() var/last_chrg = inputting var/last_onln = outputting + var/input_energy = power_to_energy(input_level) + var/output_energy = power_to_energy(output_level) + + //outputting + if(output_attempt) + if(outputting) + output_used = min(charge, output_energy) //limit output to that stored + + if (add_avail(output_used)) // add output to powernet if it exists (smes side) + charge -= output_used // reduce the storage (may be recovered in /restore() if excessive) + else + outputting = FALSE + + if(output_used < 0.1) // either from no charge or set to 0 + outputting = FALSE + investigate_log("lost power and turned off", INVESTIGATE_ENGINE) + else if(output_attempt && charge > output_energy && output_level > 0) + outputting = TRUE + else + output_used = 0 + else + outputting = FALSE //inputting if(terminal && input_attempt) @@ -256,9 +277,9 @@ if(inputting) if(input_available > 0) // if there's power available, try to charge - var/load = min(min((capacity-charge)/SMESRATE, input_level), input_available) // charge at set rate, limited to spare capacity + var/load = min((capacity-charge), input_energy, input_available) // charge at set rate, limited to spare capacity - charge += load * SMESRATE // increase the charge + charge += load // increase the charge terminal.add_load(load) // add the load to the terminal side network @@ -271,26 +292,6 @@ else inputting = FALSE - //outputting - if(output_attempt) - if(outputting) - output_used = min( charge/SMESRATE, output_level) //limit output to that stored - - if (add_avail(output_used)) // add output to powernet if it exists (smes side) - charge -= output_used*SMESRATE // reduce the storage (may be recovered in /restore() if excessive) - else - outputting = FALSE - - if(output_used < 0.0001) // either from no charge or set to 0 - outputting = FALSE - investigate_log("lost power and turned off", INVESTIGATE_ENGINE) - else if(output_attempt && charge > output_level && output_level > 0) - outputting = TRUE - else - output_used = 0 - else - outputting = FALSE - // only update icon if state changed if(last_disp != chargedisplay() || last_chrg != inputting || last_onln != outputting) update_appearance() @@ -311,13 +312,13 @@ excess = min(output_used, excess) // clamp it to how much was actually output by this SMES last ptick - excess = min((capacity-charge)/SMESRATE, excess) // for safety, also limit recharge by space capacity of SMES (shouldn't happen) + excess = min((capacity-charge), excess) // for safety, also limit recharge by space capacity of SMES (shouldn't happen) // now recharge this amount var/clev = chargedisplay() - charge += excess * SMESRATE // restore unused power + charge += excess // restore unused power powernet.netexcess -= excess // remove the excess from the powernet, so later SMESes don't try to use it output_used -= excess @@ -341,15 +342,15 @@ "inputAttempt" = input_attempt, "inputting" = inputting, "inputLevel" = input_level, - "inputLevel_text" = display_power(input_level), + "inputLevel_text" = display_power(input_level, convert = FALSE), "inputLevelMax" = input_level_max, - "inputAvailable" = input_available, + "inputAvailable" = energy_to_power(input_available), "outputAttempt" = output_attempt, - "outputting" = outputting, + "outputting" = energy_to_power(outputting), "outputLevel" = output_level, - "outputLevel_text" = display_power(output_level), + "outputLevel_text" = display_power(output_level, convert = FALSE), "outputLevelMax" = output_level_max, - "outputUsed" = output_used, + "outputUsed" = energy_to_power(output_used), ) return data @@ -419,7 +420,7 @@ outputting = output_attempt output_level = rand(0, output_level_max) input_level = rand(0, input_level_max) - charge -= 1e6/severity + charge -= STANDARD_CELL_CHARGE/severity if (charge < 0) charge = 0 update_appearance() @@ -432,8 +433,8 @@ charge = 20 * STANDARD_CELL_CHARGE /obj/machinery/power/smes/engineering - charge = 2.5e6 // Engineering starts with some charge for singulo //sorry little one, singulo as engine is gone - output_level = 90000 + charge = 50 * STANDARD_CELL_CHARGE // Engineering starts with some charge for singulo //sorry little one, singulo as engine is gone + output_level = 90 KILO WATTS /obj/machinery/power/smes/magical name = "magical power storage unit" @@ -445,8 +446,6 @@ ..() -#undef SMESRATE - #undef SMES_CLEVEL_1 #undef SMES_CLEVEL_2 #undef SMES_CLEVEL_3 diff --git a/code/modules/power/solar.dm b/code/modules/power/solar.dm index c62552913bb..9b47c133705 100644 --- a/code/modules/power/solar.dm +++ b/code/modules/power/solar.dm @@ -248,7 +248,7 @@ return var/sgen = SOLAR_GEN_RATE * sunfrac - add_avail(sgen) + add_avail(power_to_energy(sgen)) if(control) control.gen += sgen diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 4f45d0a50e3..c93b688634e 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -109,7 +109,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) var/external_damage_immediate = 0 ///The cutoff for a bolt jumping, grows with heat, lowers with higher mol count, - var/zap_cutoff = 1.2e6 + var/zap_cutoff = 1.2 MEGA JOULES ///How much the bullets damage should be multiplied by when it is added to the internal variables var/bullet_energy = SUPERMATTER_DEFAULT_BULLET_ENERGY ///How much hallucination should we produce per unit of power? @@ -306,7 +306,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) range = 3, zap_str = internal_energy * zap_transmission_rate * delta_time, zap_flags = ZAP_SUPERMATTER_FLAGS, - zap_cutoff = 2.4e5 * delta_time, + zap_cutoff = 240 KILO WATTS * delta_time, power_level = internal_energy, color = zap_color, ) @@ -891,7 +891,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) delamination_strategy.on_select(src) return TRUE -/obj/machinery/proc/supermatter_zap(atom/zapstart = src, range = 5, zap_str = 3.2e6, zap_flags = ZAP_SUPERMATTER_FLAGS, list/targets_hit = list(), zap_cutoff = 1.2e6, power_level = 0, zap_icon = DEFAULT_ZAP_ICON_STATE, color = null) +/obj/machinery/proc/supermatter_zap(atom/zapstart = src, range = 5, zap_str = 3.2 MEGA JOULES, zap_flags = ZAP_SUPERMATTER_FLAGS, list/targets_hit = list(), zap_cutoff = 1.2 MEGA JOULES, power_level = 0, zap_icon = DEFAULT_ZAP_ICON_STATE, color = null) if(QDELETED(zapstart)) return . = zapstart.dir diff --git a/code/modules/power/supermatter/supermatter_gas.dm b/code/modules/power/supermatter/supermatter_gas.dm index df8ef8e5b4f..35b9db0731f 100644 --- a/code/modules/power/supermatter/supermatter_gas.dm +++ b/code/modules/power/supermatter/supermatter_gas.dm @@ -39,7 +39,7 @@ "positive" = TRUE, )) if(sm_gas.heat_power_generation) - var/list/si_derived_data = siunit_isolated(sm_gas.heat_power_generation * GAS_HEAT_POWER_SCALING_COEFFICIENT * 1e7 / SSair.wait, "eV/K/s", 2) + var/list/si_derived_data = siunit_isolated(sm_gas.heat_power_generation * GAS_HEAT_POWER_SCALING_COEFFICIENT MEGA SECONDS / SSair.wait, "eV/K/s", 2) numeric_data += list(list( "name" = "Heat Power Gain", "amount" = si_derived_data["coefficient"], @@ -222,7 +222,7 @@ GLOBAL_LIST_INIT(sm_gas_behavior, init_sm_gas()) sm.supermatter_zap( sm, range = 6, - zap_str = clamp(sm.internal_energy * 1600, 3.2e6, 1.6e7), + zap_str = clamp(sm.internal_energy * 1.6 KILO JOULES, 3.2 MEGA JOULES, 16 MEGA JOULES), zap_flags = ZAP_MOB_STUN, zap_cutoff = sm.zap_cutoff, power_level = sm.internal_energy, diff --git a/code/modules/power/tesla/coil.dm b/code/modules/power/tesla/coil.dm index def7bf7aa4d..7d8fab5dd77 100644 --- a/code/modules/power/tesla/coil.dm +++ b/code/modules/power/tesla/coil.dm @@ -1,6 +1,3 @@ -// zap needs to be over this amount to get power -#define TESLA_COIL_THRESHOLD 32000 - /obj/machinery/power/energy_accumulator/tesla_coil name = "tesla coil" desc = "For the union!" @@ -37,11 +34,13 @@ . = ..() set_wires(new /datum/wires/tesla_coil(src)) -/obj/machinery/power/energy_accumulator/tesla_coil/cable_layer_change_checks(mob/living/user, obj/item/tool) +/obj/machinery/power/energy_accumulator/tesla_coil/cable_layer_act(mob/living/user, obj/item/tool) + if(panel_open) + return NONE if(anchored) balloon_alert(user, "unanchor first!") - return FALSE - return TRUE + return ITEM_INTERACT_BLOCKING + return ..() /obj/machinery/power/energy_accumulator/tesla_coil/RefreshParts() . = ..() @@ -58,8 +57,8 @@ . += span_notice("The status display reads:
" + \ "Power generation at [input_power_multiplier*100]%.
" + \ "Shock interval at [zap_cooldown*0.1] seconds.
" + \ - "Stored [display_joules(get_stored_joules())].
" + \ - "Processing [display_power(get_power_output())].") + "Stored [display_energy(get_stored_joules())].
" + \ + "Processing [display_power(processed_energy)].") /obj/machinery/power/energy_accumulator/tesla_coil/default_unfasten_wrench(mob/user, obj/item/I, time = 20) . = ..() @@ -90,8 +89,8 @@ /obj/machinery/power/energy_accumulator/tesla_coil/process(seconds_per_tick) . = ..() - zap_sound_volume = min(energy_to_joules(stored_energy)/200000, 100) - zap_sound_range = min(energy_to_joules(stored_energy)/4000000, 10) + zap_sound_volume = min(energy_to_power(processed_energy) / (4 KILO WATTS), 100) // 1 sound volume per 4kW. + zap_sound_range = min(energy_to_power(processed_energy) / (80 KILO WATTS), 10) // 1 sound range per 80kW. /obj/machinery/power/energy_accumulator/tesla_coil/zap_act(power, zap_flags) if(!anchored || panel_open) @@ -105,7 +104,7 @@ power /= 10 zap_buckle_check(power) var/power_removed = powernet ? power * input_power_multiplier : power - stored_energy += max(joules_to_energy(power_removed - TESLA_COIL_THRESHOLD), 0) + stored_energy += max(power_removed, 0) return max(power - power_removed, 0) //You get back the amount we didn't use /obj/machinery/power/energy_accumulator/tesla_coil/proc/zap() @@ -139,8 +138,8 @@ . = ..() if(in_range(user, src) || isobserver(user)) . += span_notice("The status display reads:
" + \ - "Recently grounded [display_joules(get_stored_joules())].
" + \ - "This energy would sustainably release [display_power(get_power_output())].") + "Recently grounded [display_energy(get_stored_joules())].
" + \ + "This energy would sustainably release [display_power(calculate_sustainable_power(), convert = FALSE)].") /obj/machinery/power/energy_accumulator/grounding_rod/default_unfasten_wrench(mob/user, obj/item/I, time = 20) . = ..() @@ -164,13 +163,15 @@ return ..() -/obj/machinery/power/energy_accumulator/grounding_rod/zap_act(power, zap_flags) +/obj/machinery/power/energy_accumulator/grounding_rod/zap_act(energy, zap_flags) if(anchored && !panel_open) flick("grounding_rodhit", src) - zap_buckle_check(power) - stored_energy += joules_to_energy(power) + zap_buckle_check(energy) + stored_energy += energy return 0 else . = ..() - -#undef TESLA_COIL_THRESHOLD +/obj/machinery/power/energy_accumulator/grounding_rod/release_energy(joules = 0) + stored_energy -= joules + processed_energy = joules + return FALSE //Grounding rods don't release energy to the grid. diff --git a/code/modules/power/tesla/energy_ball.dm b/code/modules/power/tesla/energy_ball.dm index d3b68caaa31..84a09c4a0dd 100644 --- a/code/modules/power/tesla/energy_ball.dm +++ b/code/modules/power/tesla/energy_ball.dm @@ -1,5 +1,5 @@ -#define TESLA_DEFAULT_POWER 6.95304e8 -#define TESLA_MINI_POWER 3.47652e8 +#define TESLA_DEFAULT_ENERGY (695.304 MEGA JOULES) +#define TESLA_MINI_ENERGY (347.652 MEGA JOULES) // Has a weird scaling thing so this is a lie for now (doesn't generate power anyways). //Zap constants, speeds up targeting #define BIKE (COIL + 1) #define COIL (ROD + 1) @@ -76,7 +76,7 @@ pixel_y = 0 shocked_things.Cut(1, shocked_things.len / 1.3) var/list/shocking_info = list() - tesla_zap(source = src, zap_range = 3, power = TESLA_DEFAULT_POWER, shocked_targets = shocking_info) + tesla_zap(source = src, zap_range = 3, power = TESLA_DEFAULT_ENERGY, shocked_targets = shocking_info) pixel_x = -32 pixel_y = -32 @@ -84,7 +84,7 @@ var/range = rand(1, clamp(orbiting_balls.len, 2, 3)) var/list/temp_shock = list() //We zap off the main ball instead of ourselves to make things looks proper - tesla_zap(source = src, zap_range = range, power = TESLA_MINI_POWER / 7 * range, shocked_targets = temp_shock) + tesla_zap(source = src, zap_range = range, power = TESLA_MINI_ENERGY / 7 * range, shocked_targets = temp_shock) shocking_info += temp_shock shocked_things += shocking_info @@ -365,5 +365,5 @@ #undef BLOB #undef STRUCTURE -#undef TESLA_DEFAULT_POWER -#undef TESLA_MINI_POWER +#undef TESLA_DEFAULT_ENERGY +#undef TESLA_MINI_ENERGY diff --git a/code/modules/power/turbine/turbine.dm b/code/modules/power/turbine/turbine.dm index 3f4d3fd8446..21269c90d37 100644 --- a/code/modules/power/turbine/turbine.dm +++ b/code/modules/power/turbine/turbine.dm @@ -430,11 +430,11 @@ if(!all_parts_connected) . += span_warning("The parts need to be linked via a [EXAMINE_HINT("multitool")]") -/obj/machinery/power/turbine/core_rotor/cable_layer_change_checks(mob/living/user, obj/item/tool) +/obj/machinery/power/turbine/core_rotor/cable_layer_act(mob/living/user, obj/item/tool) if(!panel_open) balloon_alert(user, "open panel first!") - return FALSE - return TRUE + return ITEM_INTERACT_BLOCKING + return ..() /obj/machinery/power/turbine/core_rotor/multitool_act(mob/living/user, obj/item/tool) //allow cable layer changing diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index 811ba23122f..f4fc941c10e 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -151,7 +151,7 @@ if(charge_timer < charge_delay) return charge_timer = 0 - cell.give(100) + cell.give(STANDARD_ENERGY_GUN_SELF_CHARGE_RATE * seconds_per_tick) if(!chambered) //if empty chamber we try to charge a new shot recharge_newshot(TRUE) update_appearance() @@ -170,10 +170,10 @@ return if(use_cyborg_cell && !no_cyborg_drain) if(iscyborg(loc)) - var/mob/living/silicon/robot/R = loc - if(R.cell) + var/mob/living/silicon/robot/robot = loc + if(robot.cell) var/obj/item/ammo_casing/energy/shot = ammo_type[select] //Necessary to find cost of shot - if(R.cell.use(shot.e_cost)) //Take power from the borg... + if(robot.cell.use(shot.e_cost)) //Take power from the borg... cell.give(shot.e_cost) //... to recharge the shot if(!chambered) var/obj/item/ammo_casing/energy/AC = ammo_type[select] diff --git a/code/modules/projectiles/guns/energy/laser_gatling.dm b/code/modules/projectiles/guns/energy/laser_gatling.dm index 94dcb3bba7b..7b80e0c69f5 100644 --- a/code/modules/projectiles/guns/energy/laser_gatling.dm +++ b/code/modules/projectiles/guns/energy/laser_gatling.dm @@ -145,9 +145,8 @@ ..() ammo_pack.overheat++ if(ammo_pack.battery) - var/totransfer = min(100, ammo_pack.battery.charge) - var/transferred = cell.give(totransfer) - ammo_pack.battery.use(transferred) + var/transferred = ammo_pack.battery.use(cell.maxcharge - cell.charge, force = TRUE) + cell.give(transferred) /obj/item/gun/energy/minigun/afterattack(atom/target, mob/living/user, flag, params) @@ -158,5 +157,5 @@ /obj/item/stock_parts/cell/minigun name = "gatling gun fusion core" desc = "Where did these come from?" - maxcharge = 500000 - chargerate = 5000 + maxcharge = 500 * STANDARD_CELL_CHARGE + chargerate = 5 * STANDARD_CELL_CHARGE diff --git a/code/modules/projectiles/guns/energy/special.dm b/code/modules/projectiles/guns/energy/special.dm index a63e45ff163..523f41af752 100644 --- a/code/modules/projectiles/guns/energy/special.dm +++ b/code/modules/projectiles/guns/energy/special.dm @@ -96,7 +96,8 @@ usesound = list('sound/items/welder.ogg', 'sound/items/welder2.ogg') tool_behaviour = TOOL_WELDER toolspeed = 0.7 //plasmacutters can be used as welders, and are faster than standard welders - var/charge_weld = 25 //amount of charge used up to start action (multiplied by amount) and per progress_flash_divisor ticks of welding + /// amount of charge used up to start action (multiplied by amount) and per progress_flash_divisor ticks of welding + var/charge_weld = 25 KILO JOULES /obj/item/gun/energy/plasmacutter/Initialize(mapload) AddElement(/datum/element/update_icon_blocker) @@ -125,7 +126,7 @@ balloon_alert(user, "already fully charged!") return I.use(1) - cell.give(500*charge_multiplier) + cell.give(500 KILO JOULES * charge_multiplier) balloon_alert(user, "cell recharged") else ..() diff --git a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm index c5afe257fda..cb48d0809c8 100644 --- a/code/modules/reagents/chemistry/machinery/chem_dispenser.dm +++ b/code/modules/reagents/chemistry/machinery/chem_dispenser.dm @@ -12,14 +12,12 @@ /// The cell used to dispense reagents var/obj/item/stock_parts/cell/cell - /// Efficiency used when converting cell power to reagents - var/powerefficiency = 0.1 + /// Efficiency used when converting cell power to reagents. Units (volume) per joule. + var/powerefficiency = 1e-4 /// The current amount this machine is dispensing var/amount = 30 - /// The rate at which this machine recharges the power cell - var/recharge_amount = 10 - /// Keep track of the intervals made during recharges - var/recharge_counter = 0 + /// The rate at which this machine recharges the power cell. + var/recharge_amount = 1.25 KILO WATTS /// The temperature reagents are dispensed into the beaker var/dispensed_temperature = DEFAULT_REAGENT_TEMPERATURE /// If the UI has the pH meter shown @@ -178,8 +176,8 @@ . += span_notice("[src]'s maintenance hatch is open!") if(in_range(user, src) || isobserver(user)) . += "The status display reads:\n\ - Recharging [recharge_amount] power units per interval.\n\ - Power efficiency increased by [round((powerefficiency * 1000) -100, 1)]%." + Recharge rate: [display_power(recharge_amount, convert = FALSE)].\n\ + Energy cost: [siunit(INVERSE(powerefficiency), "J/u", 3)].
" . += span_notice("Use RMB to eject a stored beaker.") /obj/machinery/chem_dispenser/on_set_is_operational(old_value) @@ -189,13 +187,11 @@ begin_processing() /obj/machinery/chem_dispenser/process(seconds_per_tick) - if (recharge_counter >= 8) - var/usedpower = cell.give(recharge_amount) - if(usedpower) - use_power(active_power_usage + recharge_amount) - recharge_counter = 0 + if(cell.maxcharge == cell.charge) return - recharge_counter += seconds_per_tick + use_energy(active_power_usage * seconds_per_tick) //Additional power cost before charging the cell. + charge_cell(recharge_amount * seconds_per_tick, cell) //This also costs power. + /obj/machinery/chem_dispenser/proc/display_beaker() var/mutable_appearance/b_o = beaker_overlay || mutable_appearance(icon, "disp_beaker") @@ -270,8 +266,10 @@ /obj/machinery/chem_dispenser/ui_data(mob/user) . = list() .["amount"] = amount - .["energy"] = cell.charge ? cell.charge * powerefficiency : 0 //To prevent NaN in the UI. - .["maxEnergy"] = cell.maxcharge * powerefficiency + .["energy"] = cell.charge ? cell.charge : 0 //To prevent NaN in the UI. + .["maxEnergy"] = cell.maxcharge + .["displayedEnergy"] = display_energy(cell.charge) + .["displayedMaxEnergy"] = display_energy(cell.maxcharge) var/list/chemicals = list() var/is_hallucinating = FALSE @@ -505,12 +503,12 @@ /obj/machinery/chem_dispenser/RefreshParts() . = ..() recharge_amount = initial(recharge_amount) - var/newpowereff = 0.0666666 + var/newpowereff = INVERSE(1.5e4) var/parts_rating = 0 for(var/obj/item/stock_parts/cell/stock_cell in component_parts) cell = stock_cell for(var/datum/stock_part/matter_bin/matter_bin in component_parts) - newpowereff += 0.0166666666 * matter_bin.tier + newpowereff += matter_bin.tier / 6e4 parts_rating += matter_bin.tier for(var/datum/stock_part/capacitor/capacitor in component_parts) recharge_amount *= capacitor.tier @@ -539,7 +537,7 @@ dispensable_reagents -= upgrade3_reagents //SKYRAT EDIT END parts_rating += servo.tier - powerefficiency = round(newpowereff, 0.01) + powerefficiency = round(newpowereff, 1e-5) /obj/machinery/chem_dispenser/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) if(!user) diff --git a/code/modules/reagents/chemistry/machinery/chem_heater.dm b/code/modules/reagents/chemistry/machinery/chem_heater.dm index e3208d8d461..857cd5bd221 100644 --- a/code/modules/reagents/chemistry/machinery/chem_heater.dm +++ b/code/modules/reagents/chemistry/machinery/chem_heater.dm @@ -179,7 +179,7 @@ //heat the beaker and use some power. we want to use only a small amount of power since this proc gets called frequently beaker.reagents.adjust_thermal_energy((target_temperature - beaker.reagents.chem_temp) * heater_coefficient * seconds_per_tick * SPECIFIC_HEAT_DEFAULT * beaker.reagents.total_volume) - use_power(active_power_usage * seconds_per_tick * 0.3) + use_energy(active_power_usage * seconds_per_tick * 0.3) return TRUE /obj/machinery/chem_heater/proc/on_reaction_step(datum/reagents/holder, num_reactions, seconds_per_tick) diff --git a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm index e9ffc91cd34..298fe259814 100644 --- a/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm +++ b/code/modules/reagents/chemistry/machinery/chem_mass_spec.dm @@ -458,7 +458,8 @@ if(!is_operational || panel_open || !anchored || (machine_stat & (BROKEN | NOPOWER))) return - use_power(active_power_usage) + if(!use_energy(active_power_usage * seconds_per_tick)) + return progress_time += seconds_per_tick if(progress_time >= delay_time) diff --git a/code/modules/reagents/chemistry/machinery/chem_master.dm b/code/modules/reagents/chemistry/machinery/chem_master.dm index 058da2fa7dc..092443db8d0 100644 --- a/code/modules/reagents/chemistry/machinery/chem_master.dm +++ b/code/modules/reagents/chemistry/machinery/chem_master.dm @@ -368,7 +368,7 @@ while(item_count > 0) if(!is_printing) break - use_power(active_power_usage) + use_energy(active_power_usage) stoplag(printing_speed) for(var/i in 1 to printing_amount_current) if(!item_count) @@ -397,7 +397,7 @@ if (!reagent) return FALSE - use_power(active_power_usage) + use_energy(active_power_usage) if (target == TARGET_BUFFER) if(!check_reactions(reagent, beaker.reagents)) diff --git a/code/modules/reagents/chemistry/machinery/pandemic.dm b/code/modules/reagents/chemistry/machinery/pandemic.dm index bbde13c78a8..f08989390a2 100644 --- a/code/modules/reagents/chemistry/machinery/pandemic.dm +++ b/code/modules/reagents/chemistry/machinery/pandemic.dm @@ -198,7 +198,7 @@ if(!istype(adv_disease) || !adv_disease.mutable) to_chat(usr, span_warning("ERROR: Cannot replicate virus strain.")) return FALSE - use_power(active_power_usage) + use_energy(active_power_usage) adv_disease = adv_disease.Copy() var/list/data = list("viruses" = list(adv_disease)) var/obj/item/reagent_containers/cup/tube/bottle = new(drop_location()) @@ -220,7 +220,7 @@ * @returns {boolean} - Success or failure. */ /obj/machinery/computer/pandemic/proc/create_vaccine_bottle(index) - use_power(active_power_usage) + use_energy(active_power_usage) var/id = index var/datum/disease/disease = SSdisease.archive_diseases[id] var/obj/item/reagent_containers/cup/tube/bottle = new(drop_location()) diff --git a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm index 358ac29719c..708be786404 100644 --- a/code/modules/reagents/chemistry/machinery/reagentgrinder.dm +++ b/code/modules/reagents/chemistry/machinery/reagentgrinder.dm @@ -3,57 +3,41 @@ name = "\improper All-In-One Grinder" desc = "From BlenderTech. Will It Blend? Let's test it out!" icon = 'icons/obj/machines/kitchen.dmi' - icon_state = "juicer1" + icon_state = "juicer" base_icon_state = "juicer" - layer = BELOW_OBJ_LAYER + active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 0.0025 circuit = /obj/item/circuitboard/machine/reagentgrinder pass_flags = PASSTABLE resistance_flags = ACID_PROOF + interaction_flags_machine = parent_type::interaction_flags_machine | INTERACT_MACHINE_OFFLINE anchored_tabletop_offset = 8 - var/operating = FALSE - var/obj/item/reagent_containers/beaker = null - var/limit = 10 - var/speed = 1 - var/list/holdingitems - var/static/radial_examine = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_examine") - var/static/radial_eject = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_eject") - var/static/radial_grind = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_grind") - var/static/radial_juice = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_juice") - var/static/radial_mix = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_mix") + /// The maximum weight of items this grinder can hold + var/maximum_weight = WEIGHT_CLASS_BULKY + /// Is the grinder currently performing work + var/operating = FALSE + /// The beaker to hold the final products + var/obj/item/reagent_containers/beaker = null + /// How fast operations take place + var/speed = 1 /obj/machinery/reagentgrinder/Initialize(mapload) . = ..() - holdingitems = list() - beaker = new /obj/item/reagent_containers/cup/beaker/large(src) - warn_of_dust() + + if(mapload) + beaker = new /obj/item/reagent_containers/cup/beaker/large(src) + + register_context() + update_appearance(UPDATE_OVERLAYS) + RegisterSignal(src, COMSIG_STORAGE_DUMP_CONTENT, PROC_REF(on_storage_dump)) -/// Add a description to the current beaker warning of blended dust, if it doesn't already have that warning. -/obj/machinery/reagentgrinder/proc/warn_of_dust() - if(HAS_TRAIT(beaker, TRAIT_MAY_CONTAIN_BLENDED_DUST)) - return - - beaker.desc += " May contain blended dust. Don't breathe this!" - ADD_TRAIT(beaker, TRAIT_MAY_CONTAIN_BLENDED_DUST, TRAIT_GENERIC) - -/obj/machinery/reagentgrinder/constructed/Initialize(mapload) - . = ..() - holdingitems = list() - QDEL_NULL(beaker) - update_appearance() - -/obj/machinery/reagentgrinder/on_deconstruction(disassmbled) - drop_all_items() - beaker?.forceMove(drop_location()) - beaker = null - /obj/machinery/reagentgrinder/Destroy() QDEL_NULL(beaker) return ..() /obj/machinery/reagentgrinder/contents_explosion(severity, target) - if(!beaker) + if(!QDELETED(beaker)) return switch(severity) @@ -64,11 +48,36 @@ if(EXPLODE_LIGHT) SSexplosions.low_mov_atom += beaker -/obj/machinery/reagentgrinder/RefreshParts() - . = ..() - speed = 1 - for(var/datum/stock_part/servo/servo in component_parts) - speed = servo.tier +/obj/machinery/reagentgrinder/add_context(atom/source, list/context, obj/item/held_item, mob/user) + var/result = NONE + if(isnull(held_item)) + if(!QDELETED(beaker) && !operating) + context[SCREENTIP_CONTEXT_RMB] = "Remove beaker" + result = CONTEXTUAL_SCREENTIP_SET + return result + + if(is_reagent_container(held_item) && held_item.is_open_container() && !operating) + if(QDELETED(beaker)) + context[SCREENTIP_CONTEXT_LMB] = "Insert beaker" + else + context[SCREENTIP_CONTEXT_LMB] = "Replace beaker" + return CONTEXTUAL_SCREENTIP_SET + + if(held_item.tool_behaviour == TOOL_SCREWDRIVER) + context[SCREENTIP_CONTEXT_LMB] = "[panel_open ? "Close" : "Open"] panel" + return CONTEXTUAL_SCREENTIP_SET + else if(held_item.tool_behaviour == TOOL_CROWBAR && panel_open) + context[SCREENTIP_CONTEXT_LMB] = "Deconstruct" + return CONTEXTUAL_SCREENTIP_SET + else if(held_item.tool_behaviour == TOOL_WRENCH) + context[SCREENTIP_CONTEXT_LMB] = "[anchored ? "Una" : "A"]nchor" + return CONTEXTUAL_SCREENTIP_SET + + if(istype(held_item, /obj/item/storage/bag)) + context[SCREENTIP_CONTEXT_LMB] = "Transfer contents" + else + context[SCREENTIP_CONTEXT_LMB] = "Insert item" + return CONTEXTUAL_SCREENTIP_SET /obj/machinery/reagentgrinder/examine(mob/user) . = ..() @@ -76,32 +85,241 @@ . += span_warning("You're too far away to examine [src]'s contents and display!") return + var/total_weight = 0 + var/list/obj/item/to_process = list() + for(var/obj/item/target in src) + if((target in component_parts) || target == beaker) + continue + to_process["[target.name]"] += 1 + total_weight += target.w_class + if(to_process.len) + . += span_notice("Currently holding.") + for(var/target_name as anything in to_process) + . += span_notice("[to_process[target_name]] [target_name]") + . += span_notice("Filled to [round((total_weight / maximum_weight) * 100)]% capacity.") + + if(!QDELETED(beaker)) + . += span_notice("A beaker of [beaker.reagents.maximum_volume]u capacity is present.") + . += span_notice("[EXAMINE_HINT("Right click")] with empty hand to remove beaker.") + else + . += span_warning("It's missing a beaker.") + + . += span_notice("You can drag a storage item to dump its contents in the grinder.") + if(anchored) + . += span_notice("It can be [EXAMINE_HINT("wrenched")] loose.") + else + . += span_warning("Needs to be [EXAMINE_HINT("wrenched")] in place to work.") + . += span_notice("Its maintainence panel can be [EXAMINE_HINT("screwed")] [panel_open ? "closed" : "open"].") + if(panel_open) + . += span_notice("It can be [EXAMINE_HINT("pried")] apart.") + +/obj/machinery/reagentgrinder/update_overlays() + . = ..() + + if(!QDELETED(beaker)) + . += "[base_icon_state]-beaker" + + if(anchored && !panel_open && is_operational) + . += "[base_icon_state]-on" + +/obj/machinery/reagentgrinder/Exited(atom/movable/gone, direction) + . = ..() + if(gone == beaker) + beaker = null + update_appearance(UPDATE_OVERLAYS) + +/obj/machinery/reagentgrinder/RefreshParts() + . = ..() + + for(var/datum/stock_part/part in component_parts) + if(istype(part, /datum/stock_part/servo)) + speed = part.tier + else if(istype(part, /datum/stock_part/matter_bin)) + maximum_weight = WEIGHT_CLASS_GIGANTIC * part.tier +/** + * Inserts, removes or replaces the beaker present + * Arguments + * + * * mob/living/user - the player performing the action + * * obj/item/reagent_containers/new_beaker - the new beaker to replace the old, null to do nothing + */ +/obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) + PRIVATE_PROC(TRUE) + + if(!QDELETED(beaker)) + try_put_in_hand(beaker, user) + + if(!QDELETED(new_beaker)) + if(!user.transferItemToLoc(new_beaker, src)) + return + beaker = new_beaker + + update_appearance(UPDATE_OVERLAYS) + +/** + * Transfer this item or items inside if its a bag into the grinder + * Arguments + * + * * mob/user - the player who is inserting these items + * * list/obj/item/to_add - list of items to add + */ +/obj/machinery/reagentgrinder/proc/load_items(mob/user, list/obj/item/to_add) + PRIVATE_PROC(TRUE) + + //surface level checks to filter out items that can be grinded/juice + var/list/obj/item/filtered_list = list() + for(var/obj/item/ingredient as anything in to_add) + //what are we trying to grind exactly? + if((ingredient.item_flags & ABSTRACT) || (ingredient.flags_1 & HOLOGRAM_1)) + continue + + //Nothing would come from grinding or juicing + if(!length(ingredient.grind_results) && !ingredient.juice_typepath) + to_chat(user, span_warning("You cannot grind/juice [ingredient] into reagents!")) + continue + + //Error messages should be in the objects' definitions + if(!ingredient.grind_requirements(src)) + continue + + filtered_list += ingredient + if(!filtered_list.len) + return FALSE + + //find total weight of all items already in grinder + var/total_weight + for(var/obj/item/to_process in src) + if((to_process in component_parts) || to_process == beaker) + continue + total_weight += to_process.w_class + + //Now transfer the items 1 at a time while ensuring we don't go above the maximum allowed weight + var/items_transfered = 0 + for(var/obj/item/weapon as anything in filtered_list) + if(weapon.w_class + total_weight > maximum_weight) + to_chat(user, span_warning("[weapon] is too big to fit into [src].")) + continue + weapon.forceMove(src) + total_weight += weapon.w_class + items_transfered += 1 + to_chat(user, span_notice("[weapon] was loaded into [src].")) + + return items_transfered + +/obj/machinery/reagentgrinder/item_interaction(mob/living/user, obj/item/tool, list/modifiers, is_right_clicking) + if(user.combat_mode || (tool.item_flags & ABSTRACT) || (tool.flags_1 & HOLOGRAM_1) || !can_interact(user) || !user.can_perform_action(src, ALLOW_SILICON_REACH)) + return ..() + + //add the beaker + if (is_reagent_container(tool) && tool.is_open_container()) + replace_beaker(user, tool) + to_chat(user, span_notice("You add [tool] to [src].")) + return ITEM_INTERACT_SUCCESS + + //add items from bag + else if(istype(tool, /obj/item/storage/bag)) + var/list/obj/item/to_add = list() + //list of acceptable items from the bag + var/static/list/accepted_items = list( + /obj/item/grown, + /obj/item/food/grown, + /obj/item/food/honeycomb, + ) + + //add to list of items to check for + for(var/obj/item/ingredient in tool) + if(!is_type_in_list(ingredient, accepted_items)) + continue + to_add += ingredient + + //add the items + var/items_added = load_items(user, to_add) + if(!items_added) + to_chat(user, span_warning("No items were added.")) + return ITEM_INTERACT_BLOCKING + to_chat(user, span_notice("[items_added] items were added from [tool] to [src].")) + return ITEM_INTERACT_SUCCESS + + //add item directly + else if(tool.grind_results || tool.juice_typepath) + if(tool.atom_storage) //anything that has internal storage would be too much recursion for us to handle + to_chat(user, span_notice("Drag this item onto [src] to dump its contents.")) + return ITEM_INTERACT_BLOCKING + + //add the items + if(!load_items(user, list(tool))) + return ITEM_INTERACT_BLOCKING + to_chat(user, span_notice("[tool] was added to [src].")) + return ITEM_INTERACT_SUCCESS + + //ask player to drag stuff into grinder + else if(tool.atom_storage) + to_chat(user, span_warning("You must drag & dump contents of [tool] into [src].")) + return ITEM_INTERACT_BLOCKING + + return ..() + +/obj/machinery/reagentgrinder/wrench_act(mob/living/user, obj/item/tool) + if(user.combat_mode) + return NONE + + var/tool_result = ITEM_INTERACT_BLOCKING if(operating) - . += span_warning("\The [src] is operating.") - return + balloon_alert(user, "still operating!") + return tool_result - if(beaker || length(holdingitems)) - . += span_notice("\The [src] contains:") - if(beaker) - . += span_notice("- \A [beaker].") - for(var/i in holdingitems) - var/obj/item/O = i - . += span_notice("- \A [O.name].") + if(default_unfasten_wrench(user, tool) == SUCCESSFUL_UNFASTEN) + update_appearance(UPDATE_OVERLAYS) + tool_result = ITEM_INTERACT_SUCCESS + return tool_result - if(!(machine_stat & (NOPOWER|BROKEN))) - . += "[span_notice("The status display reads:")]\n"+\ - span_notice("- Grinding reagents at [speed*100]%.") - if(beaker) - for(var/datum/reagent/R in beaker.reagents.reagent_list) - . += span_notice("- [R.volume] units of [R.name].") +/obj/machinery/reagentgrinder/screwdriver_act(mob/living/user, obj/item/tool) + if(user.combat_mode) + return NONE + + var/tool_result = ITEM_INTERACT_BLOCKING + if(operating) + balloon_alert(user, "still operating!") + return tool_result + + if(default_deconstruction_screwdriver(user, icon_state, icon_state, tool)) + update_appearance(UPDATE_OVERLAYS) + tool_result = ITEM_INTERACT_SUCCESS + return tool_result + +/obj/machinery/reagentgrinder/crowbar_act(mob/living/user, obj/item/tool) + if(user.combat_mode) + return NONE + + var/tool_result = ITEM_INTERACT_BLOCKING + if(operating) + balloon_alert(user, "still operating!") + return tool_result + + if(default_deconstruction_crowbar(tool)) + tool_result = ITEM_INTERACT_SUCCESS + return tool_result + +/obj/machinery/reagentgrinder/proc/on_storage_dump(datum/source, datum/storage/storage, mob/user) + SIGNAL_HANDLER + + var/list/obj/item/contents_to_dump = list() + for(var/obj/item/to_dump in storage.real_location) + if(to_dump.atom_storage) //No recursive handling of contents please + continue + contents_to_dump += to_dump + + to_chat(user, span_notice("You dumped [load_items(user, contents_to_dump)] items from [storage.parent] into [src].")) + + return STORAGE_DUMP_HANDLED /obj/machinery/reagentgrinder/attack_hand_secondary(mob/user, list/modifiers) . = ..() if(. == SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN) return - if(operating || !user.can_perform_action(src, ALLOW_SILICON_REACH | FORBID_TELEKINESIS_REACH)) + if(operating || !can_interact(user) || !user.can_perform_action(src, ALLOW_SILICON_REACH | FORBID_TELEKINESIS_REACH)) return - eject(user) + replace_beaker(user) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN /obj/machinery/reagentgrinder/attack_robot_secondary(mob/user, list/modifiers) @@ -110,278 +328,183 @@ /obj/machinery/reagentgrinder/attack_ai_secondary(mob/user, list/modifiers) return attack_hand_secondary(user, modifiers) -/obj/machinery/reagentgrinder/Exited(atom/movable/gone, direction) +/obj/machinery/reagentgrinder/ui_interact(mob/user) . = ..() - if(gone == beaker) - beaker = null - update_appearance() - if(holdingitems[gone]) - holdingitems -= gone -/obj/machinery/reagentgrinder/proc/drop_all_items() - for(var/i in holdingitems) - var/atom/movable/AM = i - AM.forceMove(drop_location()) - holdingitems = list() - -/obj/machinery/reagentgrinder/update_icon_state() - icon_state = "[base_icon_state][beaker ? 1 : 0]" - return ..() - -/obj/machinery/reagentgrinder/proc/replace_beaker(mob/living/user, obj/item/reagent_containers/new_beaker) - if(!user) - return FALSE - if(beaker) - try_put_in_hand(beaker, user) - beaker = null - if(new_beaker) - beaker = new_beaker - update_appearance() - return TRUE - -/obj/machinery/reagentgrinder/wrench_act(mob/living/user, obj/item/tool) - . = ..() - default_unfasten_wrench(user, tool) - return ITEM_INTERACT_SUCCESS - -/obj/machinery/reagentgrinder/screwdriver_act(mob/living/user, obj/item/tool) - . = ITEM_INTERACT_SUCCESS - if(!beaker && !length(holdingitems)) - return default_deconstruction_screwdriver(user, icon_state, icon_state, tool) - -/obj/machinery/reagentgrinder/crowbar_act(mob/living/user, obj/item/tool) - return default_deconstruction_crowbar(tool) - -/obj/machinery/reagentgrinder/attackby(obj/item/weapon, mob/living/user, params) - if(panel_open) //Can't insert objects when its screwed open - return TRUE - - if(!weapon.grind_requirements(src)) //Error messages should be in the objects' definitions - return - - if (is_reagent_container(weapon) && !(weapon.item_flags & ABSTRACT) && weapon.is_open_container()) - var/obj/item/reagent_containers/container = weapon - . = TRUE //no afterattack - if(!user.transferItemToLoc(container, src)) - return - replace_beaker(user, container) - to_chat(user, span_notice("You add [container] to [src].")) - update_appearance() - return TRUE //no afterattack - - if(holdingitems.len >= limit) - to_chat(user, span_warning("[src] is filled to capacity!")) - return TRUE - - //Fill machine with a bag! - if(istype(weapon, /obj/item/storage/bag)) - if(!weapon.contents.len) - to_chat(user, span_notice("[weapon] is empty!")) - return TRUE - - var/list/inserted = list() - if(weapon.atom_storage.remove_type(/obj/item/food/grown, src, limit - length(holdingitems), TRUE, FALSE, user, inserted)) - for(var/i in inserted) - holdingitems[i] = TRUE - inserted = list() - if(weapon.atom_storage.remove_type(/obj/item/food/honeycomb, src, limit - length(holdingitems), TRUE, FALSE, user, inserted)) - for(var/i in inserted) - holdingitems[i] = TRUE - - if(!weapon.contents.len) - to_chat(user, span_notice("You empty [weapon] into [src].")) - else - to_chat(user, span_notice("You fill [src] to the brim.")) - return TRUE - - if(!weapon.grind_results && !weapon.juice_typepath) - if(user.combat_mode) - return ..() - else - to_chat(user, span_warning("You cannot grind/juice [weapon] into reagents!")) - return TRUE - - if(user.transferItemToLoc(weapon, src)) - to_chat(user, span_notice("You add [weapon] to [src].")) - holdingitems[weapon] = TRUE - return FALSE - -/obj/machinery/reagentgrinder/proc/on_storage_dump(datum/source, datum/storage/storage, mob/user) - SIGNAL_HANDLER - - for(var/obj/item/to_dump in storage.real_location) - if(holdingitems.len >= limit) - break - - if(!to_dump.grind_results && !to_dump.juice_typepath) - continue - - if(!storage.attempt_remove(to_dump, src, silent = TRUE)) - continue - - holdingitems[to_dump] = TRUE - - to_chat(user, span_notice("You dump [storage.parent] into [src].")) - return STORAGE_DUMP_HANDLED - -/obj/machinery/reagentgrinder/ui_interact(mob/user) // The microwave Menu //I am reasonably certain that this is not a microwave - . = ..() - - if(operating || !user.can_perform_action(src, ALLOW_SILICON_REACH)) + //some interaction sanity checks + if(!anchored || operating || !can_interact(user) || !user.can_perform_action(src, ALLOW_SILICON_REACH | FORBID_TELEKINESIS_REACH)) return + var/static/radial_eject = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_eject") + var/static/radial_mix = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_mix") + //create list of options available var/list/options = list() + //actions to be performed on the items stored inside + for(var/obj/item/to_process in src) + if((to_process in component_parts) || to_process == beaker) + continue + + if(!QDELETED(beaker) && !beaker.reagents.holder_full() && is_operational && anchored) + var/static/radial_grind = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_grind") + options["grind"] = radial_grind + + var/static/radial_juice = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_juice") + options["juice"] = radial_juice - if(beaker || length(holdingitems)) options["eject"] = radial_eject - + break + //eject action if we have a beaker + if(!QDELETED(beaker)) + options["eject"] = radial_eject + //mix reagents present inside + if(beaker?.reagents.total_volume && is_operational && anchored) + options["mix"] = radial_mix + //examine action if Ai is trying to see whats up if(HAS_AI_ACCESS(user)) if(machine_stat & NOPOWER) return + var/static/radial_examine = image(icon = 'icons/hud/radial.dmi', icon_state = "radial_examine") options["examine"] = radial_examine - // if there is no power or it's broken, the procs will fail but the buttons will still show - if(length(holdingitems)) - options["grind"] = radial_grind - options["juice"] = radial_juice - else if(beaker?.reagents.total_volume) - options["mix"] = radial_mix - - var/choice - - if(length(options) < 1) + //display choices & perform action + var/choice = show_radial_menu( + user, + src, + options, + custom_check = CALLBACK(src, PROC_REF(check_interactable), user), + require_near = !HAS_SILICON_ACCESS(user), + ) + if(!choice) return - if(length(options) == 1) - for(var/key in options) - choice = key - else - choice = show_radial_menu(user, src, options, require_near = !HAS_SILICON_ACCESS(user)) - - // post choice verification - if(operating || (HAS_AI_ACCESS(user) && machine_stat & NOPOWER) || !user.can_perform_action(src, ALLOW_SILICON_REACH)) - return - switch(choice) if("eject") - eject(user) - if("grind") - grind(user) - if("juice") - juice(user) + replace_beaker(user) + dump_inventory_contents() + if("grind", "juice") + operate_for(60 DECISECONDS, choice == "juice", user) if("mix") - mix(user) + mix(50 DECISECONDS, user) if("examine") - examine(user) + to_chat(user, examine_block("[examine(user)]")) -/obj/machinery/reagentgrinder/proc/eject(mob/user) - drop_all_items() - if(beaker) - replace_beaker(user) +/** + * Checks if the radial menu can interact with this machine + * Arguments + * + * * mob/user - the player interacting with this machine + */ +/obj/machinery/reagentgrinder/proc/check_interactable(mob/user) + PRIVATE_PROC(TRUE) -/obj/machinery/reagentgrinder/proc/remove_object(obj/item/weapon) - holdingitems -= weapon - qdel(weapon) + if(!can_interact(user)) + return FALSE -/obj/machinery/reagentgrinder/proc/start_shaking() - var/static/list/transforms - if(!transforms) - var/matrix/M1 = matrix() - var/matrix/M2 = matrix() - var/matrix/M3 = matrix() - var/matrix/M4 = matrix() - M1.Translate(-1, 0) - M2.Translate(0, 1) - M3.Translate(1, 0) - M4.Translate(0, -1) - transforms = list(M1, M2, M3, M4) - animate(src, transform=transforms[1], time=0.4, loop=-1) - animate(transform=transforms[2], time=0.2) - animate(transform=transforms[3], time=0.4) - animate(transform=transforms[4], time=0.6) + if(!anchored || operating || !user.can_perform_action(src, ALLOW_SILICON_REACH)) + return FALSE -/obj/machinery/reagentgrinder/proc/shake_for(duration) - start_shaking() //start shaking - addtimer(CALLBACK(src, PROC_REF(stop_shaking)), duration) + return TRUE -/obj/machinery/reagentgrinder/proc/stop_shaking() - update_appearance() - animate(src, transform = matrix()) +/** + * Grinds/Juices all contents inside the grinder + * Arguments + * + * * time - the duration in deciseconds to perform the operation + * * juicing - FALSE to grind, TRUE to juice + * * mob/user - the player who initiated this process + */ +/obj/machinery/reagentgrinder/proc/operate_for(time, juicing = FALSE, mob/user) + PRIVATE_PROC(TRUE) -/obj/machinery/reagentgrinder/proc/operate_for(time, silent = FALSE, juicing = FALSE) - shake_for(time / speed) + var/duration = time / speed + + Shake(duration = duration) operating = TRUE - if(!silent) - if(!juicing) - playsound(src, 'sound/machines/blender.ogg', 50, TRUE) - else - playsound(src, 'sound/machines/juicer.ogg', 20, TRUE) - use_power(active_power_usage * time * 0.1) // .1 needed here to convert time (in deciseconds) to seconds such that watts * seconds = joules - addtimer(CALLBACK(src, PROC_REF(stop_operating)), time / speed) + if(!juicing) + playsound(src, 'sound/machines/blender.ogg', 50, TRUE) + else + playsound(src, 'sound/machines/juicer.ogg', 20, TRUE) + var/total_weight + for(var/obj/item/weapon in src) + if((weapon in component_parts) || weapon == beaker) + continue + if(beaker.reagents.holder_full()) + break + + //recursively process everything inside this atom + var/item_processed = FALSE + var/item_weight = weapon.w_class + for(var/obj/item/ingredient as anything in weapon.get_all_contents_type(/obj/item)) + if(beaker.reagents.holder_full()) + break + + if(juicing) + if(ingredient.juice_typepath) + if(!ingredient.juice(beaker.reagents, user)) + to_chat(user, span_danger("[src] shorts out as it tries to juice up [ingredient], and transfers it back to storage.")) + continue + item_processed = TRUE + else if(ingredient.grind_results) + if(!ingredient.grind(beaker.reagents, user)) + if(isstack(ingredient)) + to_chat(user, span_notice("[src] attempts to grind as many pieces of [ingredient] as possible.")) + else + to_chat(user, span_danger("[src] shorts out as it tries to grind up [ingredient], and transfers it back to storage.")) + continue + item_processed = TRUE + + //happens only for stacks where some of the sheets were grinded so we roughly compute the weight grinded + if(item_weight != weapon.w_class) + total_weight += item_weight - weapon.w_class + else + total_weight += item_weight + + //delete only if operation was successfull for atleast 1 item(also delete atoms for whom only some of its contents were processed as they are non functional now) + if(item_processed) + qdel(weapon) + + //use power according to the total weight of items grinded + use_energy((active_power_usage * (duration / 1 SECONDS)) * (total_weight / maximum_weight)) + + addtimer(CALLBACK(src, PROC_REF(stop_operating)), duration) + +///Reset the operating status of the machine /obj/machinery/reagentgrinder/proc/stop_operating() + PRIVATE_PROC(TRUE) + operating = FALSE -/obj/machinery/reagentgrinder/proc/juice(mob/user) - power_change() - if(!beaker || machine_stat & (NOPOWER|BROKEN) || beaker.reagents.holder_full()) +/** + * Mixes the reagents inside the beaker + * Arguments + * + * * time - the length of time in deciseconds to operate + * * mob/user - the player who started the mixing process + */ +/obj/machinery/reagentgrinder/proc/mix(time, mob/user) + PRIVATE_PROC(TRUE) + + var/duration = time / speed + + Shake(duration = duration) + operating = TRUE + playsound(src, 'sound/machines/juicer.ogg', 20, TRUE) + + addtimer(CALLBACK(src, PROC_REF(mix_complete), duration), duration) + +/** + * Mix the reagents + * Arguments + * + * * duration - the time spent in mixing + */ +/obj/machinery/reagentgrinder/proc/mix_complete(duration) + PRIVATE_PROC(TRUE) + + if(QDELETED(beaker) || beaker.reagents.total_volume <= 0) + operating = FALSE return - operate_for(50, juicing = TRUE) - for(var/obj/item/ingredient in holdingitems) - if(beaker.reagents.holder_full()) - break - if(ingredient.flags_1 & HOLOGRAM_1) - to_chat(user, span_notice("You try to juice [ingredient], but it fades away!")) - qdel(ingredient) - continue - - if(ingredient.juice_typepath) - juice_item(ingredient, user) - -/obj/machinery/reagentgrinder/proc/juice_item(obj/item/ingredient, mob/user) //Juicing results can be found in respective object definitions - if(!ingredient.juice(beaker.reagents, user)) - to_chat(user, span_danger("[src] shorts out as it tries to juice up [ingredient], and transfers it back to storage.")) - return - remove_object(ingredient) - -/obj/machinery/reagentgrinder/proc/grind(mob/user) - power_change() - if(!beaker || machine_stat & (NOPOWER|BROKEN) || beaker.reagents.holder_full()) - return - operate_for(60) - warn_of_dust() // don't breathe this. - for(var/obj/item/ingredient in holdingitems) - if(beaker.reagents.holder_full()) - break - - if(ingredient.flags_1 & HOLOGRAM_1) - to_chat(user, span_notice("You try to grind [ingredient], but it fades away!")) - qdel(ingredient) - continue - - if(ingredient.grind_results) - grind_item(ingredient, user) - -/obj/machinery/reagentgrinder/proc/grind_item(obj/item/ingredient, mob/user) //Grind results can be found in respective object definitions - if(!ingredient.grind(beaker.reagents, user)) - if(isstack(ingredient)) - to_chat(user, span_notice("[src] attempts to grind as many pieces of [ingredient] as possible.")) - else - to_chat(user, span_danger("[src] shorts out as it tries to grind up [ingredient], and transfers it back to storage.")) - return - remove_object(ingredient) - -/obj/machinery/reagentgrinder/proc/mix(mob/user) - //For butter and other things that would change upon shaking or mixing - power_change() - if(!beaker || machine_stat & (NOPOWER|BROKEN)) - return - operate_for(50, juicing = TRUE) - addtimer(CALLBACK(src, PROC_REF(mix_complete)), 50 / speed) - -/obj/machinery/reagentgrinder/proc/mix_complete() - if(beaker?.reagents.total_volume <= 0) - return //Recipe to make Butter var/butter_amt = FLOOR(beaker.reagents.get_reagent_amount(/datum/reagent/consumable/milk) / MILK_TO_BUTTER_COEFF, 1) var/purity = beaker.reagents.get_reagent_purity(/datum/reagent/consumable/milk) @@ -389,9 +512,15 @@ for(var/i in 1 to butter_amt) var/obj/item/food/butter/tasty_butter = new(drop_location()) tasty_butter.reagents.set_all_reagents_purity(purity) + //Recipe to make Mayonnaise if (beaker.reagents.has_reagent(/datum/reagent/consumable/eggyolk)) beaker.reagents.convert_reagent(/datum/reagent/consumable/eggyolk, /datum/reagent/consumable/mayonnaise) + //Recipe to make whipped cream if (beaker.reagents.has_reagent(/datum/reagent/consumable/cream)) beaker.reagents.convert_reagent(/datum/reagent/consumable/cream, /datum/reagent/consumable/whipped_cream) + + //power consumed based on the ratio of total reagents mixed + use_energy((active_power_usage * (duration / 1 SECONDS)) * (beaker.reagents.total_volume / beaker.reagents.maximum_volume)) + operating = FALSE diff --git a/code/modules/reagents/chemistry/machinery/smoke_machine.dm b/code/modules/reagents/chemistry/machinery/smoke_machine.dm index e188df78912..c103457025d 100644 --- a/code/modules/reagents/chemistry/machinery/smoke_machine.dm +++ b/code/modules/reagents/chemistry/machinery/smoke_machine.dm @@ -89,7 +89,7 @@ var/datum/effect_system/fluid_spread/smoke/chem/smoke_machine/smoke = new() smoke.set_up(setting * 3, holder = src, location = location, carry = reagents, efficiency = efficiency) smoke.start() - use_power(active_power_usage) + use_energy(active_power_usage) /obj/machinery/smoke_machine/wrench_act(mob/living/user, obj/item/tool) . = ..() diff --git a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm index 374b8c97a4f..a67e01c07c0 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm @@ -2632,7 +2632,7 @@ var/mob/living/carbon/exposed_carbon = exposed_mob var/obj/item/organ/internal/stomach/ethereal/stomach = exposed_carbon.get_organ_slot(ORGAN_SLOT_STOMACH) if(istype(stomach)) - stomach.adjust_charge(reac_volume * 3) + stomach.adjust_charge(reac_volume * 0.003 * STANDARD_CELL_CHARGE) /datum/reagent/consumable/ethanol/telepole name = "Telepole" @@ -2652,7 +2652,7 @@ var/mob/living/carbon/exposed_carbon = exposed_mob var/obj/item/organ/internal/stomach/ethereal/stomach = exposed_carbon.get_organ_slot(ORGAN_SLOT_STOMACH) if(istype(stomach)) - stomach.adjust_charge(reac_volume * 2) + stomach.adjust_charge(reac_volume * 0.002 * STANDARD_CELL_CHARGE) /datum/reagent/consumable/ethanol/pod_tesla name = "Pod Tesla" @@ -2679,7 +2679,7 @@ var/mob/living/carbon/exposed_carbon = exposed_mob var/obj/item/organ/internal/stomach/ethereal/stomach = exposed_carbon.get_organ_slot(ORGAN_SLOT_STOMACH) if(istype(stomach)) - stomach.adjust_charge(reac_volume * 5) + stomach.adjust_charge(reac_volume * 0.005 * STANDARD_CELL_CHARGE) // Welcome to the Blue Room Bar and Grill, home to Mars' finest cocktails /datum/reagent/consumable/ethanol/rice_beer diff --git a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm index 23cec75806a..d55fc0a33c5 100644 --- a/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drinks/drink_reagents.dm @@ -1260,4 +1260,4 @@ var/mob/living/carbon/exposed_carbon = exposed_mob var/obj/item/organ/internal/stomach/ethereal/stomach = exposed_carbon.get_organ_slot(ORGAN_SLOT_STOMACH) if(istype(stomach)) - stomach.adjust_charge(reac_volume * 3) + stomach.adjust_charge(reac_volume * 0.003 * STANDARD_CELL_CHARGE) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index 48109d09bed..79ac3ff6d68 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -950,7 +950,7 @@ var/mob/living/carbon/exposed_carbon = exposed_mob var/obj/item/organ/internal/stomach/ethereal/stomach = exposed_carbon.get_organ_slot(ORGAN_SLOT_STOMACH) if(istype(stomach)) - stomach.adjust_charge(reac_volume * 30) + stomach.adjust_charge(reac_volume * 0.03 * STANDARD_CELL_CHARGE) /datum/reagent/consumable/liquidelectricity/enriched/on_mob_life(mob/living/carbon/affected_mob, seconds_per_tick, times_fired) . = ..() diff --git a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm index bc41e25090b..edb11633e91 100644 --- a/code/modules/reagents/chemistry/recipes/pyrotechnics.dm +++ b/code/modules/reagents/chemistry/recipes/pyrotechnics.dm @@ -560,7 +560,7 @@ var/atom/holder_atom = holder.my_atom if(QDELETED(holder_atom)) return - tesla_zap(source = holder_atom, zap_range = 7, power = power, cutoff = 1e3, zap_flags = zap_flags) + tesla_zap(source = holder_atom, zap_range = 7, power = power, cutoff = 1 KILO JOULES, zap_flags = zap_flags) playsound(holder_atom, 'sound/machines/defib_zap.ogg', 50, TRUE) /datum/chemical_reaction/reagent_explosion/teslium_lightning/heat diff --git a/code/modules/reagents/reagent_containers/misc.dm b/code/modules/reagents/reagent_containers/misc.dm index b7a5fbb71f5..fa8d8cd3628 100644 --- a/code/modules/reagents/reagent_containers/misc.dm +++ b/code/modules/reagents/reagent_containers/misc.dm @@ -32,7 +32,7 @@ if(on && (!cell || cell.charge <= 0)) //Check if we ran out of power change_power_status(FALSE) return FALSE - cell.use(5 * seconds_per_tick) //Basic cell goes for like 200 seconds, bluespace for 8000 + cell.use(5 KILO WATTS * seconds_per_tick) //Basic cell goes for like 200 seconds, bluespace for 8000 if(!reagents.total_volume) return FALSE var/max_temp = min(500 + (500 * (0.2 * cell.rating)), 1000) // 373 to 1000 diff --git a/code/modules/recycling/disposal/bin.dm b/code/modules/recycling/disposal/bin.dm index 75b7ecdce28..5db74d45c54 100644 --- a/code/modules/recycling/disposal/bin.dm +++ b/code/modules/recycling/disposal/bin.dm @@ -517,13 +517,13 @@ if(machine_stat & NOPOWER) // won't charge if no power return - use_power(idle_power_usage) // base power usage + use_energy(idle_power_usage) // base power usage if(!pressure_charging) // if off or ready, no need to charge return // otherwise charge - use_power(idle_power_usage) // charging power usage + use_energy(idle_power_usage) // charging power usage var/atom/L = loc //recharging from loc turf diff --git a/code/modules/religion/religion_sects.dm b/code/modules/religion/religion_sects.dm index ebb8a69a7e5..16cd82c5650 100644 --- a/code/modules/religion/religion_sects.dm +++ b/code/modules/religion/religion_sects.dm @@ -154,10 +154,10 @@ /datum/religion_sect/mechanical/sect_bless(mob/living/target, mob/living/chap) if(iscyborg(target)) var/mob/living/silicon/robot/R = target - var/charge_amt = 50 + var/charge_amount = 0.05 * STANDARD_CELL_CHARGE if(target.mind?.holy_role == HOLY_ROLE_HIGHPRIEST) - charge_amt *= 2 - R.cell?.charge += charge_amt + charge_amount *= 2 + R.cell?.charge += charge_amount R.visible_message(span_notice("[chap] charges [R] with the power of [GLOB.deity]!")) to_chat(R, span_boldnotice("You are charged by the power of [GLOB.deity]!")) R.add_mood_event("blessing", /datum/mood_event/blessing) @@ -171,7 +171,7 @@ var/did_we_charge = FALSE var/obj/item/organ/internal/stomach/ethereal/eth_stomach = blessed.get_organ_slot(ORGAN_SLOT_STOMACH) if(istype(eth_stomach)) - eth_stomach.adjust_charge(60) + eth_stomach.adjust_charge(0.06 * STANDARD_CELL_CHARGE) did_we_charge = TRUE //if we're not targeting a robot part we stop early @@ -200,7 +200,7 @@ if(!istype(power_cell)) return - if(power_cell.charge < 300) + if(power_cell.charge < 0.3 * STANDARD_CELL_CHARGE) to_chat(chap, span_notice("[GLOB.deity] does not accept pity amounts of power.")) return diff --git a/code/modules/research/destructive_analyzer.dm b/code/modules/research/destructive_analyzer.dm index b1277897978..03fffcec8ca 100644 --- a/code/modules/research/destructive_analyzer.dm +++ b/code/modules/research/destructive_analyzer.dm @@ -162,7 +162,7 @@ flick("[base_icon_state]_process", src) busy = TRUE addtimer(CALLBACK(src, PROC_REF(reset_busy)), 2.4 SECONDS) - use_power(DESTRUCTIVE_ANALYZER_POWER_USAGE) + use_energy(DESTRUCTIVE_ANALYZER_POWER_USAGE) var/list/all_contents = loaded_item.get_all_contents() for(var/innerthing in all_contents) destroy_item_individual(innerthing, gain_research_points) diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index 228700e87a7..bb255743642 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -235,7 +235,7 @@ stored_research.unhide_node(SSresearch.techweb_node_by_id(picked_node_id)) experiment(reaction, loaded_item) - use_power(750) + use_energy(750 JOULES) /obj/machinery/rnd/experimentor/proc/throwSmoke(turf/where) var/datum/effect_system/fluid_spread/smoke/smoke = new @@ -505,7 +505,7 @@ ejectItem(TRUE) if(globalMalf > 76 && globalMalf < 98) visible_message(span_warning("[src] begins to smoke and hiss, shaking violently!")) - use_power(500000) + use_energy(500 KILO JOULES) investigate_log("Experimentor has drained power from its APC", INVESTIGATE_EXPERIMENTOR) if(globalMalf == 99) visible_message(span_warning("[src] begins to glow and vibrate. It's going to blow!")) diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 028f36997fc..8ed6ef04df0 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -1,6 +1,8 @@ /obj/machinery/rnd/production name = "technology fabricator" desc = "Makes researched and prototype items with materials and energy." + // Energy cost per full stack of materials spent. Material insertion is 40% of this. + active_power_usage = 50 * BASE_MACHINE_ACTIVE_CONSUMPTION /// The efficiency coefficient. Material costs and print times are multiplied by this number; var/efficiency_coeff = 1 @@ -144,7 +146,7 @@ PRIVATE_PROC(TRUE) //we use initial(active_power_usage) because higher tier parts will have higher active usage but we have no benifit from it - if(directly_use_power(ROUND_UP((amount_inserted / (MAX_STACK_SIZE * SHEET_MATERIAL_AMOUNT)) * 0.02 * initial(active_power_usage)))) + if(directly_use_energy(ROUND_UP((amount_inserted / (MAX_STACK_SIZE * SHEET_MATERIAL_AMOUNT)) * 0.4 * initial(active_power_usage)))) var/datum/material/highest_mat_ref var/highest_mat = 0 @@ -289,7 +291,7 @@ return //we use initial(active_power_usage) because higher tier parts will have higher active usage but we have no benifit from it - if(!directly_use_power(ROUND_UP((amount / MAX_STACK_SIZE) * 0.02 * initial(active_power_usage)))) + if(!directly_use_energy(ROUND_UP((amount / MAX_STACK_SIZE) * 0.4 * initial(active_power_usage)))) say("No power to dispense sheets") return @@ -338,7 +340,7 @@ var/charge_per_item = 0 for(var/material in design.materials) charge_per_item += design.materials[material] - charge_per_item = ROUND_UP((charge_per_item / (MAX_STACK_SIZE * SHEET_MATERIAL_AMOUNT)) * coefficient * 0.05 * active_power_usage) + charge_per_item = ROUND_UP((charge_per_item / (MAX_STACK_SIZE * SHEET_MATERIAL_AMOUNT)) * coefficient * active_power_usage) var/build_time_per_item = (design.construction_time * design.lathe_time_factor) ** 0.8 // SKYRAT EDIT - Faster lathes if(!speedup_disabled) @@ -379,10 +381,22 @@ finalize_build() return - if(!is_operational || !directly_use_power(charge_per_item)) + if(!is_operational) say("Unable to continue production, power failure.") finalize_build() return + + if(!directly_use_energy(charge_per_item)) // provide the wait time until lathe is ready + var/area/my_area = get_area(src) + var/obj/machinery/power/apc/my_apc = my_area.apc + var/charging_wait = my_apc.time_to_charge(charge_per_item) + if(!isnull(charging_wait)) + say("Unable to continue production, APC overload. Wait [DisplayTimeText(charging_wait, round_seconds_to = 1)] and try again.") + else + say("Unable to continue production, power grid overload.") + finalize_build() + return + if(!materials.can_use_resource()) say("Unable to continue production, materials on hold.") finalize_build() diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index 97e78121908..27de108c0cb 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -212,7 +212,7 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo return target_mob.visible_message(span_notice("[target_mob] vanishes as [p_theyre()] reclaimed for recycling!")) - connected_recycler.use_power(500) + connected_recycler.use_energy(500 JOULES) monkeys += connected_recycler.cube_production monkeys = round(monkeys, 0.1) //Prevents rounding errors qdel(target_mob) diff --git a/code/modules/station_goals/bsa.dm b/code/modules/station_goals/bsa.dm index 40a8a99ac57..f9c5fb820e6 100644 --- a/code/modules/station_goals/bsa.dm +++ b/code/modules/station_goals/bsa.dm @@ -259,7 +259,7 @@ GLOBAL_VAR_INIT(bsa_unlock, FALSE) /obj/machinery/bsa/full/proc/reload() ready = FALSE - use_power(power_used_per_shot) + use_energy(power_used_per_shot) addtimer(CALLBACK(src,"ready_cannon"),600) /obj/machinery/bsa/full/proc/ready_cannon() diff --git a/code/modules/station_goals/dna_vault.dm b/code/modules/station_goals/dna_vault.dm index 5c146758d12..354f08667eb 100644 --- a/code/modules/station_goals/dna_vault.dm +++ b/code/modules/station_goals/dna_vault.dm @@ -220,7 +220,7 @@ H.dna.add_mutation(associated_mutation[upgrade_type], MUT_OTHER, 0) ADD_TRAIT(H, TRAIT_USED_DNA_VAULT, DNA_VAULT_TRAIT) power_lottery[human_weakref] = list() - use_power(active_power_usage) + use_energy(active_power_usage) #undef VAULT_TOXIN #undef VAULT_NOBREATH diff --git a/code/modules/surgery/organs/internal/stomach/stomach_ethereal.dm b/code/modules/surgery/organs/internal/stomach/stomach_ethereal.dm index 9f268b41c17..2675f46d13d 100644 --- a/code/modules/surgery/organs/internal/stomach/stomach_ethereal.dm +++ b/code/modules/surgery/organs/internal/stomach/stomach_ethereal.dm @@ -3,14 +3,22 @@ icon_state = "stomach-p" //Welp. At least it's more unique in functionaliy. desc = "A crystal-like organ that stores the electric charge of ethereals." organ_traits = list(TRAIT_NOHUNGER) // We have our own hunger mechanic. - ///basically satiety but electrical - var/crystal_charge = ETHEREAL_CHARGE_FULL + /// Where the energy of the stomach is stored. + var/obj/item/stock_parts/cell/cell ///used to keep ethereals from spam draining power sources var/drain_time = 0 +/obj/item/organ/internal/stomach/ethereal/Initialize(mapload) + . = ..() + cell = new /obj/item/stock_parts/cell/ethereal(null) + +/obj/item/organ/internal/stomach/ethereal/Destroy() + QDEL_NULL(cell) + return ..() + /obj/item/organ/internal/stomach/ethereal/on_life(seconds_per_tick, times_fired) . = ..() - adjust_charge(-ETHEREAL_CHARGE_FACTOR * seconds_per_tick) + adjust_charge(-ETHEREAL_DISCHARGE_RATE * seconds_per_tick) handle_charge(owner, seconds_per_tick, times_fired) /obj/item/organ/internal/stomach/ethereal/on_mob_insert(mob/living/carbon/stomach_owner) @@ -27,11 +35,12 @@ stomach_owner.clear_alert(ALERT_ETHEREAL_OVERCHARGE) /obj/item/organ/internal/stomach/ethereal/handle_hunger_slowdown(mob/living/carbon/human/human) - human.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/hunger, multiplicative_slowdown = (1.5 * (1 - crystal_charge / 100))) + human.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/hunger, multiplicative_slowdown = (1.5 * (1 - cell.charge() / 100))) -/obj/item/organ/internal/stomach/ethereal/proc/charge(datum/source, amount, repairs) +/obj/item/organ/internal/stomach/ethereal/proc/charge(datum/source, datum/callback/charge_cell, seconds_per_tick) SIGNAL_HANDLER - adjust_charge(amount / 3.5) + + charge_cell.Invoke(cell, seconds_per_tick / 3.5) // Ethereals don't have NT designed charging ports, so they charge slower. /obj/item/organ/internal/stomach/ethereal/proc/on_electrocute(datum/source, shock_damage, shock_source, siemens_coeff = 1, flags = NONE) SIGNAL_HANDLER @@ -40,11 +49,17 @@ adjust_charge(shock_damage * siemens_coeff * 2) to_chat(owner, span_notice("You absorb some of the shock into your body!")) +/**Changes the energy of the crystal stomach. +* Args: +* - amount: The change of the energy, in joules. +* Returns: The amount of energy that actually got changed in joules. +**/ /obj/item/organ/internal/stomach/ethereal/proc/adjust_charge(amount) - crystal_charge = clamp(crystal_charge + amount, ETHEREAL_CHARGE_NONE, ETHEREAL_CHARGE_DANGEROUS) + var/amount_changed = clamp(amount, ETHEREAL_CHARGE_NONE - cell.charge(), ETHEREAL_CHARGE_DANGEROUS - cell.charge()) + return cell.change(amount_changed) /obj/item/organ/internal/stomach/ethereal/proc/handle_charge(mob/living/carbon/carbon, seconds_per_tick, times_fired) - switch(crystal_charge) + switch(cell.charge()) if(-INFINITY to ETHEREAL_CHARGE_NONE) carbon.add_mood_event("charge", /datum/mood_event/decharged) carbon.throw_alert(ALERT_ETHEREAL_CHARGE, /atom/movable/screen/alert/emptycell/ethereal) @@ -92,8 +107,9 @@ playsound(carbon, 'sound/magic/lightningshock.ogg', 100, TRUE, extrarange = 5) carbon.cut_overlay(overcharge) - tesla_zap(source = carbon, zap_range = 2, power = crystal_charge * 2.5, cutoff = 1e3, zap_flags = ZAP_OBJ_DAMAGE | ZAP_LOW_POWER_GEN | ZAP_ALLOW_DUPLICATES) - adjust_charge(ETHEREAL_CHARGE_FULL - crystal_charge) + // Only a small amount of the energy gets discharged as the zap. The rest dissipates as heat. Keeps the damage and energy from the zap the same regardless of what STANDARD_CELL_CHARGE is. + var/discharged_energy = -adjust_charge(ETHEREAL_CHARGE_FULL - cell.charge()) * min(7500 / STANDARD_CELL_CHARGE, 1) + tesla_zap(source = carbon, zap_range = 2, power = discharged_energy, cutoff = 1 KILO JOULES, zap_flags = ZAP_OBJ_DAMAGE | ZAP_LOW_POWER_GEN | ZAP_ALLOW_DUPLICATES) carbon.visible_message(span_danger("[carbon] violently discharges energy!"), span_warning("You violently discharge energy!")) if(prob(10)) //chance of developing heart disease to dissuade overcharging oneself diff --git a/code/modules/transport/elevator/elev_indicator.dm b/code/modules/transport/elevator/elev_indicator.dm index 9751b44e0ff..7b34f2d6105 100644 --- a/code/modules/transport/elevator/elev_indicator.dm +++ b/code/modules/transport/elevator/elev_indicator.dm @@ -109,7 +109,7 @@ set_lift_state(0, 0, force = !is_operational) return PROCESS_KILL - use_power(active_power_usage) + use_energy(active_power_usage) var/obj/structure/transport/linear/lift_part = lift.transport_modules[1] diff --git a/code/modules/transport/tram/tram_controller.dm b/code/modules/transport/tram/tram_controller.dm index 9e95870ab6d..8f5fae1deea 100644 --- a/code/modules/transport/tram/tram_controller.dm +++ b/code/modules/transport/tram/tram_controller.dm @@ -955,7 +955,7 @@ * Since the machinery obj is a dumb terminal for the controller datum, sync the display with the status bitfield of the tram */ /obj/machinery/transport/tram_controller/proc/sync_controller(source, controller, controller_status, travel_direction, destination_platform) - use_power(active_power_usage) + use_energy(active_power_usage) if(controller != controller_datum) return update_appearance() diff --git a/code/modules/transport/tram/tram_doors.dm b/code/modules/transport/tram/tram_doors.dm index d836685acf1..7e21b936791 100644 --- a/code/modules/transport/tram/tram_doors.dm +++ b/code/modules/transport/tram/tram_doors.dm @@ -90,7 +90,7 @@ if((obj_flags & EMAGGED) || !safe) do_sparks(3, TRUE, src) playsound(src, SFX_SPARKS, vol = 75, vary = FALSE, extrarange = SHORT_RANGE_SOUND_EXTRARANGE) - use_power(50) + use_energy(50 JOULES) playsound(src, doorClose, vol = 40, vary = FALSE) operating = TRUE layer = CLOSED_DOOR_LAYER diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index f718bd5c695..a64bd4d1c37 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -36,11 +36,11 @@ hud_possible = list(DIAG_STAT_HUD, DIAG_BATT_HUD, DIAG_MECH_HUD, DIAG_TRACK_HUD, DIAG_CAMERA_HUD) mouse_pointer = 'icons/effects/mouse_pointers/mecha_mouse.dmi' ///How much energy the mech will consume each time it moves. this is the current active energy consumed - var/step_energy_drain = 8 + var/step_energy_drain = 8 KILO JOULES ///How much energy we drain each time we mechpunch someone - var/melee_energy_drain = 15 + var/melee_energy_drain = 15 KILO JOULES ///Power we use to have the lights on - var/light_energy_drain = 2 + var/light_power_drain = 2 KILO WATTS ///Modifiers for directional damage reduction var/list/facing_modifiers = list(MECHA_FRONT_ARMOUR = 0.5, MECHA_SIDE_ARMOUR = 1, MECHA_BACK_ARMOUR = 1.5) ///if we cant use our equipment(such as due to EMP) @@ -187,7 +187,7 @@ ///check for phasing, if it is set to text (to describe how it is phasing: "flying", "phasing") it will let the mech walk through walls. var/phasing = "" ///Power we use every time we phaze through something - var/phasing_energy_drain = 200 + var/phasing_energy_drain = 0.2 * STANDARD_CELL_CHARGE ///icon_state for flick() when phazing var/phase_state = "" @@ -554,8 +554,9 @@ if(internal_damage & MECHA_INT_SHORT_CIRCUIT && get_charge()) spark_system.start() - use_power(min(10 * seconds_per_tick, cell.charge)) - cell.maxcharge -= min(10 * seconds_per_tick, cell.maxcharge) + var/damage_energy_consumption = 0.005 * STANDARD_CELL_CHARGE * seconds_per_tick + use_energy(damage_energy_consumption) + cell.maxcharge -= min(damage_energy_consumption, cell.maxcharge) /obj/vehicle/sealed/mecha/proc/process_cabin_air(seconds_per_tick) if(!(internal_damage & MECHA_INT_TEMP_CONTROL) && cabin_air && cabin_air.return_volume() > 0) @@ -620,7 +621,7 @@ diag_hud_set_mechstat() /obj/vehicle/sealed/mecha/proc/process_constant_power_usage(seconds_per_tick) - if(mecha_flags & LIGHTS_ON && !use_power(light_energy_drain * seconds_per_tick)) + if(mecha_flags & LIGHTS_ON && !use_energy(light_power_drain * seconds_per_tick)) mecha_flags &= ~LIGHTS_ON set_light_on(mecha_flags & LIGHTS_ON) playsound(src,'sound/machines/clockcult/brass_skewer.ogg', 40, TRUE) @@ -696,7 +697,7 @@ if(!has_charge(melee_energy_drain)) return - use_power(melee_energy_drain) + use_energy(melee_energy_drain) SEND_SIGNAL(user, COMSIG_MOB_USED_MECH_MELEE, src) target.mech_melee_attack(src, user) @@ -856,11 +857,11 @@ if(capacitor) phasing_energy_drain = initial(phasing_energy_drain) / capacitor.rating melee_energy_drain = initial(melee_energy_drain) / capacitor.rating - light_energy_drain = initial(light_energy_drain) / capacitor.rating + light_power_drain = initial(light_power_drain) / capacitor.rating else phasing_energy_drain = initial(phasing_energy_drain) melee_energy_drain = initial(melee_energy_drain) - light_energy_drain = initial(light_energy_drain) + light_power_drain = initial(light_power_drain) /// Toggle lights on/off /obj/vehicle/sealed/mecha/proc/toggle_lights(forced_state = null, mob/user) @@ -868,7 +869,7 @@ if(user) balloon_alert(user, "mech has no lights!") return - if((!(mecha_flags & LIGHTS_ON) && forced_state != FALSE) && get_charge() < light_energy_drain) + if((!(mecha_flags & LIGHTS_ON) && forced_state != FALSE) && get_charge() < power_to_energy(light_power_drain, scheduler = SSobj)) if(user) balloon_alert(user, "no power for lights!") return diff --git a/code/modules/vehicles/mecha/combat/durand.dm b/code/modules/vehicles/mecha/combat/durand.dm index f7da6ea90c8..b44478582c0 100644 --- a/code/modules/vehicles/mecha/combat/durand.dm +++ b/code/modules/vehicles/mecha/combat/durand.dm @@ -50,7 +50,7 @@ /obj/vehicle/sealed/mecha/durand/process() . = ..() - if(defense_mode && !use_power(100)) //Defence mode can only be on with a occupant so we check if one of them can toggle it and toggle + if(defense_mode && !use_energy(100 KILO JOULES)) //Defence mode can only be on with a occupant so we check if one of them can toggle it and toggle for(var/O in occupants) var/mob/living/occupant = O var/datum/action/action = LAZYACCESSASSOC(occupant_actions, occupant, /datum/action/vehicle/sealed/mecha/mech_defense_mode) @@ -271,7 +271,7 @@ own integrity back to max. Shield is automatically dropped if we run out of powe return . = ..() flick("shield_impact", src) - if(!chassis.use_power((max_integrity - atom_integrity) * 100)) + if(!chassis.use_energy((max_integrity - atom_integrity) * 0.1 * STANDARD_CELL_CHARGE)) chassis.cell?.charge = 0 for(var/O in chassis.occupants) var/mob/living/occupant = O diff --git a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm index d650ce66f2e..b80ac6ef025 100644 --- a/code/modules/vehicles/mecha/equipment/mecha_equipment.dm +++ b/code/modules/vehicles/mecha/equipment/mecha_equipment.dm @@ -114,7 +114,7 @@ /obj/item/mecha_parts/mecha_equipment/proc/action(mob/source, atom/target, list/modifiers) TIMER_COOLDOWN_START(chassis, COOLDOWN_MECHA_EQUIPMENT(type), equip_cooldown)//Cooldown is on the MECH so people dont bypass it by switching equipment SEND_SIGNAL(source, COMSIG_MOB_USED_MECH_EQUIPMENT, chassis) - chassis.use_power(energy_drain) + chassis.use_energy(energy_drain) return TRUE /** @@ -128,7 +128,7 @@ /obj/item/mecha_parts/mecha_equipment/proc/do_after_cooldown(atom/target, mob/user, interaction_key) if(!chassis) return FALSE - chassis.use_power(energy_drain) + chassis.use_energy(energy_drain) return do_after(user, equip_cooldown, target, extra_checks = CALLBACK(src, PROC_REF(do_after_checks), target), interaction_key = interaction_key) ///Do after wrapper for mecha equipment diff --git a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm index da5ca1f91eb..83167bf29e2 100644 --- a/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/medical_tools.dm @@ -228,7 +228,7 @@ ex_patient.AdjustUnconscious(-40 * seconds_per_tick) if(ex_patient.reagents.get_reagent_amount(/datum/reagent/medicine/epinephrine) < 5) ex_patient.reagents.add_reagent(/datum/reagent/medicine/epinephrine, 5) - chassis.use_power(energy_drain) + chassis.use_energy(energy_drain) ///////////////////////////////// Syringe Gun /////////////////////////////////////////////////////////////// @@ -401,7 +401,7 @@ var/amount = seconds_per_tick * synth_speed / LAZYLEN(processed_reagents) for(var/reagent in processed_reagents) reagents.add_reagent(reagent,amount) - chassis.use_power(energy_drain) + chassis.use_energy(energy_drain) #undef FIRE_SYRINGE_MODE #undef ANALYZE_SYRINGE_MODE diff --git a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm index 42a61e03b5e..25fd2879a6b 100644 --- a/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/mining_tools.dm @@ -10,7 +10,7 @@ desc = "Equipment for engineering and combat exosuits. This is the drill that'll pierce the heavens!" icon_state = "mecha_drill" equip_cooldown = 15 - energy_drain = 10 + energy_drain = 10 KILO JOULES force = 15 harmful = TRUE range = MECHA_MELEE diff --git a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm index 4b62478fa02..047d84543e8 100644 --- a/code/modules/vehicles/mecha/equipment/tools/other_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/other_tools.dm @@ -9,7 +9,7 @@ desc = "An exosuit module that allows exosuits to teleport to any position in view." icon_state = "mecha_teleport" equip_cooldown = 150 - energy_drain = 1000 + energy_drain = 1 MEGA JOULES range = MECHA_RANGED var/teleport_range = 7 @@ -254,7 +254,7 @@ chassis.repair_damage(h_boost) repaired = TRUE if(repaired) - if(!chassis.use_power(energy_drain)) + if(!chassis.use_energy(energy_drain)) active = FALSE return PROCESS_KILL else //no repair needed, we turn off @@ -285,7 +285,7 @@ ///Maximum fuel capacity of the generator, in units var/max_fuel = 75 * SHEET_MATERIAL_AMOUNT ///Energy recharged per second - var/rechargerate = 10 + var/rechargerate = 5 KILO WATTS /obj/item/mecha_parts/mecha_equipment/generator/Initialize(mapload) . = ..() @@ -458,7 +458,7 @@ /obj/item/mecha_parts/mecha_equipment/thrusters/ion/thrust(movement_dir) if(!chassis) return FALSE - if(chassis.use_power(chassis.step_energy_drain)) + if(chassis.use_energy(chassis.step_energy_drain)) generate_effect(movement_dir) return TRUE return FALSE diff --git a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm index 1960303baab..e04a40b05f6 100644 --- a/code/modules/vehicles/mecha/equipment/tools/work_tools.dm +++ b/code/modules/vehicles/mecha/equipment/tools/work_tools.dm @@ -7,7 +7,7 @@ desc = "Equipment for engineering exosuits. Lifts objects and loads them into cargo." icon_state = "mecha_clamp" equip_cooldown = 15 - energy_drain = 10 + energy_drain = 10 KILO JOULES tool_behaviour = TOOL_RETRACTOR range = MECHA_MELEE toolspeed = 0.8 diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index c0047eb91d7..bd9bbfca91f 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -370,7 +370,7 @@ if(!action_checks(target)) return TIMER_COOLDOWN_START(chassis, COOLDOWN_MECHA_EQUIPMENT(type), equip_cooldown) - chassis.use_power(energy_drain) + chassis.use_energy(energy_drain) var/newtonian_target = turn(chassis.dir,180) var/obj/O = new projectile(chassis.loc) playsound(chassis, fire_sound, 50, TRUE) diff --git a/code/modules/vehicles/mecha/mech_bay.dm b/code/modules/vehicles/mecha/mech_bay.dm index 398a9c6c59b..1f468565625 100644 --- a/code/modules/vehicles/mecha/mech_bay.dm +++ b/code/modules/vehicles/mecha/mech_bay.dm @@ -1,17 +1,18 @@ /obj/machinery/mech_bay_recharge_port name = "mech bay power port" desc = "This port recharges a mech's internal power cell." - density = TRUE - dir = EAST icon = 'icons/obj/machines/mech_bay.dmi' icon_state = "recharge_port" + density = TRUE + dir = EAST + active_power_usage = BASE_MACHINE_ACTIVE_CONSUMPTION * 0.1 circuit = /obj/item/circuitboard/machine/mech_recharger ///Weakref to currently recharging mech on our recharging_turf var/datum/weakref/recharging_mech_ref ///Ref to charge console for seeing charge for this port, cyclical reference var/obj/machinery/computer/mech_bay_power_console/recharge_console ///Power unit per second to charge by - var/recharge_power = 25 + var/recharge_power = 25 KILO WATTS ///turf that will be checked when a mech wants to charge. directly one turf in the direction it is facing var/turf/recharging_turf @@ -45,7 +46,7 @@ var/total_rating = 0 for(var/datum/stock_part/capacitor/capacitor in component_parts) total_rating += capacitor.tier - recharge_power = total_rating * 12.5 + recharge_power = total_rating * 12.5 KILO WATTS /obj/machinery/mech_bay_recharge_port/examine(mob/user) . = ..() @@ -64,9 +65,9 @@ if(!recharging_mech?.cell) return if(recharging_mech.cell.charge < recharging_mech.cell.maxcharge) - var/delta = min(recharge_power * seconds_per_tick, recharging_mech.cell.maxcharge - recharging_mech.cell.charge) - recharging_mech.give_power(delta) - use_power(delta + active_power_usage) + if(!use_energy(active_power_usage * seconds_per_tick)) + return + charge_cell(recharge_power * seconds_per_tick, recharging_mech.cell, grid_only = TRUE) else recharge_console.update_appearance() if(recharging_mech.loc != recharging_turf) diff --git a/code/modules/vehicles/mecha/mecha_defense.dm b/code/modules/vehicles/mecha/mecha_defense.dm index c1207c2677f..426efaf1e6f 100644 --- a/code/modules/vehicles/mecha/mecha_defense.dm +++ b/code/modules/vehicles/mecha/mecha_defense.dm @@ -171,7 +171,7 @@ if (. & EMP_PROTECT_SELF) return if(get_charge()) - use_power((cell.charge/3)/(severity*2)) + use_energy((cell.charge/3)/(severity*2)) take_damage(30 / severity, BURN, ENERGY, 1) log_message("EMP detected", LOG_MECHA, color="red") diff --git a/code/modules/vehicles/mecha/mecha_helpers.dm b/code/modules/vehicles/mecha/mecha_helpers.dm index c9de84747e9..03084c56957 100644 --- a/code/modules/vehicles/mecha/mecha_helpers.dm +++ b/code/modules/vehicles/mecha/mecha_helpers.dm @@ -7,8 +7,8 @@ /obj/vehicle/sealed/mecha/proc/get_charge() return cell?.charge -/obj/vehicle/sealed/mecha/proc/use_power(amount) - var/output = get_charge() && cell.use(amount) +/obj/vehicle/sealed/mecha/proc/use_energy(amount) + var/output = cell.use(amount) if (output) diag_hud_set_mechcell() return output diff --git a/code/modules/vehicles/mecha/mecha_movement.dm b/code/modules/vehicles/mecha/mecha_movement.dm index aa86d57a0da..53e61690aba 100644 --- a/code/modules/vehicles/mecha/mecha_movement.dm +++ b/code/modules/vehicles/mecha/mecha_movement.dm @@ -103,7 +103,7 @@ to_chat(occupants, "[icon2html(src, occupants)][span_warning("Missing [english_list(missing_parts)].")]") TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS) return FALSE - if(!use_power(step_energy_drain)) + if(!use_energy(step_energy_drain)) if(TIMER_COOLDOWN_FINISHED(src, COOLDOWN_MECHA_MESSAGE)) to_chat(occupants, "[icon2html(src, occupants)][span_warning("Insufficient power to move!")]") TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MESSAGE, 2 SECONDS) @@ -142,7 +142,7 @@ //Otherwise just walk normally . = try_step_multiz(direction) if(phasing) - use_power(phasing_energy_drain) + use_energy(phasing_energy_drain) if(strafe) setDir(olddir) diff --git a/code/modules/vehicles/motorized_wheelchair.dm b/code/modules/vehicles/motorized_wheelchair.dm index 973914a30c3..128530968e2 100644 --- a/code/modules/vehicles/motorized_wheelchair.dm +++ b/code/modules/vehicles/motorized_wheelchair.dm @@ -9,8 +9,8 @@ var/speed = 2 ///Self explanatory, ratio of how much power we use var/power_efficiency = 1 - ///How much power we use - var/power_usage = 100 + ///How much energy we use + var/energy_usage = 100 KILO JOULES ///whether the panel is open so a user can take out the cell var/panel_open = FALSE ///Parts used in building the wheelchair @@ -90,7 +90,7 @@ canmove = FALSE addtimer(VARSET_CALLBACK(src, canmove, TRUE), 2 SECONDS) return FALSE - if(power_cell.charge < power_usage / max(power_efficiency, 1)) + if(power_cell.charge < energy_usage / max(power_efficiency, 1)) to_chat(user, span_warning("The display on [src] blinks 'Out of Power'.")) canmove = FALSE addtimer(VARSET_CALLBACK(src, canmove, TRUE), 2 SECONDS) diff --git a/code/modules/vending/_vending.dm b/code/modules/vending/_vending.dm index 860fa121291..df596db5065 100644 --- a/code/modules/vending/_vending.dm +++ b/code/modules/vending/_vending.dm @@ -1426,7 +1426,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) purchase_message_cooldown = world.time + 5 SECONDS //This is not the best practice, but it's safe enough here since the chances of two people using a machine with the same ref in 5 seconds is fuck low last_shopper = REF(usr) - use_power(active_power_usage) + use_energy(active_power_usage) if(icon_vend) //Show the vending animation if needed flick(icon_vend,src) playsound(src, 'sound/machines/machine_vend.ogg', 50, TRUE, extrarange = -3) @@ -1827,7 +1827,7 @@ GLOBAL_LIST_EMPTY(vending_machines_to_restock) last_shopper = REF(usr) /// Remove the item loaded_items-- - use_power(active_power_usage) + use_energy(active_power_usage) vending_machine_input[choice] = max(vending_machine_input[choice] - 1, 0) if(user.CanReach(src) && user.put_in_hands(dispensed_item)) to_chat(user, span_notice("You take [dispensed_item.name] out of the slot.")) diff --git a/code/modules/wiremod/components/sensors/view_sensor.dm b/code/modules/wiremod/components/sensors/view_sensor.dm index 1725044c035..1a86f2b4c8e 100644 --- a/code/modules/wiremod/components/sensors/view_sensor.dm +++ b/code/modules/wiremod/components/sensors/view_sensor.dm @@ -11,7 +11,7 @@ circuit_flags = CIRCUIT_FLAG_INPUT_SIGNAL|CIRCUIT_FLAG_OUTPUT_SIGNAL - power_usage_per_input = 10 //Normal components have 1 + energy_usage_per_input = 0.01 * STANDARD_CELL_CHARGE //Normal components have 0.001 * STANDARD_CELL_CHARGE ///Allows setting the range of the view sensor var/datum/port/input/range diff --git a/code/modules/wiremod/core/component.dm b/code/modules/wiremod/core/component.dm index 39f33809073..530f73ded8c 100644 --- a/code/modules/wiremod/core/component.dm +++ b/code/modules/wiremod/core/component.dm @@ -47,8 +47,8 @@ /// Used to determine the y position of the component within the UI var/rel_y = 0 - /// The power usage whenever this component receives an input - var/power_usage_per_input = 1 + /// The energy usage whenever this component receives an input. + var/energy_usage_per_input = 0.001 * STANDARD_CELL_CHARGE /// Whether the component is removable or not. Only affects user UI var/removable = TRUE @@ -266,10 +266,10 @@ message_admins("[display_name] tried to execute on [parent.get_creator_admin()] that has admin_only set to 0") return FALSE - var/flags = SEND_SIGNAL(parent, COMSIG_CIRCUIT_PRE_POWER_USAGE, power_usage_per_input) + var/flags = SEND_SIGNAL(parent, COMSIG_CIRCUIT_PRE_POWER_USAGE, energy_usage_per_input) if(!(flags & COMPONENT_OVERRIDE_POWER_USAGE)) var/obj/item/stock_parts/cell/cell = parent.get_cell() - if(!cell?.use(power_usage_per_input)) + if(!cell?.use(energy_usage_per_input)) return FALSE if((!port || port.trigger == PROC_REF(input_received)) && (circuit_flags & CIRCUIT_FLAG_INPUT_SIGNAL) && !COMPONENT_TRIGGERED_BY(trigger_input, port)) @@ -340,7 +340,7 @@ . += create_ui_notice(initial(shell.name), "green", "plus-square") if(length(input_ports)) - . += create_ui_notice("Power Usage Per Input: [power_usage_per_input]", "orange", "bolt") + . += create_ui_notice("Energy Usage Per Input: [display_energy(energy_usage_per_input)]", "orange", "bolt") /** diff --git a/code/modules/wiremod/shell/brain_computer_interface.dm b/code/modules/wiremod/shell/brain_computer_interface.dm index 308aea87420..3cd9a3d6bc0 100644 --- a/code/modules/wiremod/shell/brain_computer_interface.dm +++ b/code/modules/wiremod/shell/brain_computer_interface.dm @@ -189,13 +189,13 @@ COMSIG_LIVING_ELECTROCUTE_ACT, )) -/obj/item/circuit_component/bci_core/proc/on_borg_charge(datum/source, amount) +/obj/item/circuit_component/bci_core/proc/on_borg_charge(datum/source, datum/callback/charge_cell, seconds_per_tick) SIGNAL_HANDLER if (isnull(parent.cell)) return - parent.cell.give(amount) + charge_cell.Invoke(parent.cell, seconds_per_tick) /obj/item/circuit_component/bci_core/proc/on_electrocute(datum/source, shock_damage, shock_source, siemens_coefficient, flags) SIGNAL_HANDLER diff --git a/code/modules/wiremod/shell/drone.dm b/code/modules/wiremod/shell/drone.dm index 96fe3b2fa0a..7d547645cd1 100644 --- a/code/modules/wiremod/shell/drone.dm +++ b/code/modules/wiremod/shell/drone.dm @@ -74,11 +74,11 @@ UnregisterSignal(shell, COMSIG_PROCESS_BORGCHARGER_OCCUPANT) return ..() -/obj/item/circuit_component/bot_circuit/proc/on_borg_charge(datum/source, amount) +/obj/item/circuit_component/bot_circuit/proc/on_borg_charge(datum/source, datum/callback/charge_cell, seconds_per_tick) SIGNAL_HANDLER if (isnull(parent.cell)) return - parent.cell.give(amount) + charge_cell.Invoke(parent.cell, seconds_per_tick) /obj/item/circuit_component/bot_circuit/populate_ports() north = add_input_port("Move North", PORT_TYPE_SIGNAL) diff --git a/code/modules/wiremod/shell/gun.dm b/code/modules/wiremod/shell/gun.dm index 3a37501e8e1..ff581536713 100644 --- a/code/modules/wiremod/shell/gun.dm +++ b/code/modules/wiremod/shell/gun.dm @@ -82,6 +82,6 @@ if(!parent?.cell) return var/obj/item/gun/energy/fired_gun = source - var/totransfer = min(100, parent.cell.charge) + var/totransfer = min(100 KILO JOULES, parent.cell.charge) var/transferred = fired_gun.cell.give(totransfer) parent.cell.use(transferred) diff --git a/icons/obj/machines/kitchen.dmi b/icons/obj/machines/kitchen.dmi index 5bd820e554a..c94afb8d78a 100644 Binary files a/icons/obj/machines/kitchen.dmi and b/icons/obj/machines/kitchen.dmi differ diff --git a/modular_skyrat/modules/ammo_workbench/code/ammo_workbench.dm b/modular_skyrat/modules/ammo_workbench/code/ammo_workbench.dm index 6aef270c3de..86666160d9d 100644 --- a/modular_skyrat/modules/ammo_workbench/code/ammo_workbench.dm +++ b/modular_skyrat/modules/ammo_workbench/code/ammo_workbench.dm @@ -372,7 +372,7 @@ new_casing.set_custom_materials(efficient_materials) loaded_magazine.update_appearance() flick("ammobench_process", src) - use_power(3000) + use_energy(3000 JOULES) playsound(loc, 'sound/machines/piston_raise.ogg', 60, 1) else qdel(new_casing) diff --git a/modular_skyrat/modules/clock_cult/code/items/clockwork_slab.dm b/modular_skyrat/modules/clock_cult/code/items/clockwork_slab.dm index 30561068759..bf56217319c 100644 --- a/modular_skyrat/modules/clock_cult/code/items/clockwork_slab.dm +++ b/modular_skyrat/modules/clock_cult/code/items/clockwork_slab.dm @@ -202,11 +202,11 @@ GLOBAL_LIST_INIT(clockwork_slabs, list()) return FALSE if(scripture.power_cost > GLOB.clock_power) - living_user.balloon_alert(living_user, "[scripture.power_cost]W required!") + living_user.balloon_alert(living_user, "[display_energy(scripture.power_cost)] required!") return FALSE if(scripture.vitality_cost > GLOB.clock_vitality) - living_user.balloon_alert(living_user, "[scripture.vitality_cost] vitality required!") + living_user.balloon_alert(living_user, "[display_energy(scripture.vitality_cost)] vitality required!") return FALSE scripture.begin_invoke(living_user, src) diff --git a/modular_skyrat/modules/clock_cult/code/items/replica_fabricator.dm b/modular_skyrat/modules/clock_cult/code/items/replica_fabricator.dm index 46fe1a712a7..cffb660d9bc 100644 --- a/modular_skyrat/modules/clock_cult/code/items/replica_fabricator.dm +++ b/modular_skyrat/modules/clock_cult/code/items/replica_fabricator.dm @@ -1,4 +1,4 @@ -#define BRASS_POWER_COST 10 +#define BRASS_POWER_COST 10 JOULES #define REGULAR_POWER_COST (BRASS_POWER_COST / 2) /obj/item/clockwork/replica_fabricator @@ -11,7 +11,7 @@ /// How much power this has. 5 generated per sheet inserted, one sheet of bronze costs 10, one floor tile costs 15, one wall costs 20 var/power = 0 /// How much power this can contain at most. By default, is 2 stacks of regular materials or 1 stack of brass - var/max_power = 500 + var/max_power = 500 JOULES /// List of things that the fabricator can build for the radial menu var/static/list/crafting_possibilities = list( "floor" = image(icon = 'icons/turf/floors.dmi', icon_state = "clockwork_floor"), @@ -39,7 +39,7 @@ /obj/item/clockwork/replica_fabricator/examine(mob/user) . = ..() if(IS_CLOCK(user)) - . += "[span_brass("Current power: ")][span_clockyellow("[power]")] [span_brass("W / ")][span_clockyellow("[max_power]")] [span_brass("W.")]" + . += "[span_brass("Current power: ")][span_clockyellow("[power]")] [span_brass("J / ")][span_clockyellow("[max_power]")] [span_brass("J.")]" . += span_brass("Use on brass to convert it into power.") . += span_brass("Use on other materials to convert them into power, but less efficiently.") . += span_brass("Use in-hand to select what to fabricate.") @@ -65,7 +65,7 @@ return if(power < selected_output.cost) - to_chat(user, span_clockyellow("[src] needs at least [selected_output.cost]W of power to create this.")) + to_chat(user, span_clockyellow("[src] needs at least [display_energy(selected_output.cost)] of power to create this.")) return var/obj/effect/temp_visual/ratvar/constructing_effect/effect = new(creation_turf, selected_output.creation_delay) @@ -101,7 +101,7 @@ return if(power < BRASS_POWER_COST) - to_chat(user, span_clockyellow("You need at least [BRASS_POWER_COST]W of power to fabricate bronze.")) + to_chat(user, span_clockyellow("You need at least [display_energy(BRASS_POWER_COST)] of power to fabricate bronze.")) return var/sheets = tgui_input_number(user, "How many sheets do you want to fabricate?", "Sheet Fabrication", 0, round(power / BRASS_POWER_COST), 0) @@ -210,7 +210,7 @@ /datum/replica_fabricator_output/proc/on_create(atom/created_atom, turf/creation_turf, mob/creator) SHOULD_CALL_PARENT(TRUE) playsound(creation_turf, 'modular_skyrat/modules/clock_cult/sound/machinery/integration_cog_install.ogg', 50, 1) // better sound? - to_chat(creator, span_clockyellow("You create \an [name] for [cost]W of power.")) + to_chat(creator, span_clockyellow("You create \an [name] for [display_energy(cost)] of power.")) /datum/replica_fabricator_output/brass_floor diff --git a/modular_skyrat/modules/clock_cult/code/structures/sigil/sigil_transmission.dm b/modular_skyrat/modules/clock_cult/code/structures/sigil/sigil_transmission.dm index 1fbfb55a200..949cbb7106f 100644 --- a/modular_skyrat/modules/clock_cult/code/structures/sigil/sigil_transmission.dm +++ b/modular_skyrat/modules/clock_cult/code/structures/sigil/sigil_transmission.dm @@ -71,7 +71,7 @@ else if(power_cell.charge) - target_mech.use_power(power_cell.chargerate) + target_mech.use_energy(power_cell.chargerate) GLOB.clock_power += POWER_SIPHON else if(iscyborg(apply_to)) diff --git a/modular_skyrat/modules/colony_fabricator/code/appliances/recycler.dm b/modular_skyrat/modules/colony_fabricator/code/appliances/recycler.dm index 1dca7c330c6..abc6ce63dc7 100644 --- a/modular_skyrat/modules/colony_fabricator/code/appliances/recycler.dm +++ b/modular_skyrat/modules/colony_fabricator/code/appliances/recycler.dm @@ -61,7 +61,7 @@ flick("recycler_grind", src) playsound(src, item_recycle_sound, 50, TRUE) - use_power(min(active_power_usage * 0.25, amount_inserted / 100)) + use_energy(min(active_power_usage * 0.25, amount_inserted / 100)) if(amount_inserted) materials.retrieve_all(drop_location()) diff --git a/modular_skyrat/modules/colony_fabricator/code/appliances/space_heater.dm b/modular_skyrat/modules/colony_fabricator/code/appliances/space_heater.dm index 20a7f357bad..cd788617226 100644 --- a/modular_skyrat/modules/colony_fabricator/code/appliances/space_heater.dm +++ b/modular_skyrat/modules/colony_fabricator/code/appliances/space_heater.dm @@ -6,7 +6,7 @@ anchored = TRUE density = FALSE circuit = null - heating_power = 20000 + heating_energy = 20 KILO JOULES efficiency = 10000 display_panel = TRUE /// What this repacks into when its wrenched off a wall @@ -21,7 +21,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/space_heater/wall_mounted, 29) /obj/machinery/space_heater/wall_mounted/RefreshParts() . = ..() - heating_power = 20000 + heating_energy = 20 KILO JOULES efficiency = 10000 /obj/machinery/space_heater/wall_mounted/default_deconstruction_crowbar() diff --git a/modular_skyrat/modules/colony_fabricator/code/machines/arc_furnace.dm b/modular_skyrat/modules/colony_fabricator/code/machines/arc_furnace.dm index acca1eb4a35..acf3d2af90f 100644 --- a/modular_skyrat/modules/colony_fabricator/code/machines/arc_furnace.dm +++ b/modular_skyrat/modules/colony_fabricator/code/machines/arc_furnace.dm @@ -157,7 +157,7 @@ return time -= 1 SECONDS - use_power(active_power_usage) + use_energy(active_power_usage) var/turf/where_we_spawn_air = get_turf(src) var/obj/item/stack/ore/ore_stack_to_check = contents[1] diff --git a/modular_skyrat/modules/microfusion/code/microfusion_cell.dm b/modular_skyrat/modules/microfusion/code/microfusion_cell.dm index b855d4e3041..09d403e3fa5 100644 --- a/modular_skyrat/modules/microfusion/code/microfusion_cell.dm +++ b/modular_skyrat/modules/microfusion/code/microfusion_cell.dm @@ -70,7 +70,7 @@ Essentially, power cells that malfunction if not used in an MCR, and should only if(prob(prob_percent) && !meltdown && !stabilised) process_instability() -/obj/item/stock_parts/cell/microfusion/use(amount) +/obj/item/stock_parts/cell/microfusion/use(amount, force = FALSE) if(!parent_gun) // If an MCR cell is used in anything that's not an MCR, you might have problems if(prob(fail_prob)) process_instability() @@ -179,7 +179,7 @@ Essentially, power cells that malfunction if not used in an MCR, and should only maxcharge = 600 max_attachments = 0 -/obj/item/stock_parts/cell/microfusion/makeshift/use(amount) +/obj/item/stock_parts/cell/microfusion/makeshift/use(amount, force = FALSE) if(prob(fail_prob)) process_instability() return ..() diff --git a/modular_skyrat/modules/multicellcharger/code/multi_cell_charger.dm b/modular_skyrat/modules/multicellcharger/code/multi_cell_charger.dm index 9313c0bf82f..9c39107e787 100644 --- a/modular_skyrat/modules/multicellcharger/code/multi_cell_charger.dm +++ b/modular_skyrat/modules/multicellcharger/code/multi_cell_charger.dm @@ -12,9 +12,9 @@ pass_flags = PASSTABLE var/list/charging_batteries = list() //The list of batteries we are gonna charge! var/max_batteries = 4 - var/charge_rate = 250 - var/charge_rate_base = 250 // Amount of charge we gain from a level one capacitor - var/charge_rate_max = 4000 // The highest we allow the charge rate to go + var/charge_rate = 250 KILO WATTS + var/charge_rate_base = 250 KILO WATTS// Amount of charge we gain from a level one capacitor + var/charge_rate_max = 4000 KILO WATTS// The highest we allow the charge rate to go /obj/machinery/cell_charger_multi/update_overlays() . = ..() @@ -49,7 +49,7 @@ for(var/obj/item/stock_parts/cell/charging in charging_batteries) . += "There's [charging] cell in the charger, current charge: [round(charging.percent(), 1)]%." if(in_range(user, src) || isobserver(user)) - . += span_notice("The status display reads: Charging power: [charge_rate]W.") + . += span_notice("The status display reads: Charging power: [display_power(charge_rate, convert = FALSE)].") . += span_notice("Right click it to remove all the cells at once!") /obj/machinery/cell_charger_multi/attackby(obj/item/tool, mob/user, params) @@ -100,7 +100,7 @@ if(!main_draw) return charging.give(main_draw) - use_power(charge_rate / 100) //use a small bit for the charger itself, but power usage scales up with the part tier + use_energy(charge_rate / 100) //use a small bit for the charger itself, but power usage scales up with the part tier update_appearance() diff --git a/modular_skyrat/modules/mutants/code/mutant_cure.dm b/modular_skyrat/modules/mutants/code/mutant_cure.dm index ee10bb45f89..5bdff67d152 100644 --- a/modular_skyrat/modules/mutants/code/mutant_cure.dm +++ b/modular_skyrat/modules/mutants/code/mutant_cure.dm @@ -244,7 +244,7 @@ else status = STATUS_RECOMBINATING_CURE recombinate_start() - use_power(3000) + use_energy(3000 JOULES) updateUsrDialog() @@ -270,7 +270,7 @@ ejectItem() playsound(loc, 'sound/items/rped.ogg', 60, 1) flick("h_lathe_wloop", src) - use_power(3000) + use_energy(3000 JOULES) timer_id = addtimer(CALLBACK(src, PROC_REF(recombinate_step)), recombination_step_time, TIMER_STOPPABLE) /obj/machinery/rnd/rna_recombinator/proc/recombinate_step() @@ -286,7 +286,7 @@ recombinate_finish() return flick("h_lathe_wloop", src) - use_power(3000) + use_energy(3000 JOULES) playsound(loc, 'sound/items/rped.ogg', 60, 1) timer_id = addtimer(CALLBACK(src, PROC_REF(recombinate_step)), recombination_step_time, TIMER_STOPPABLE) @@ -306,7 +306,7 @@ else new /obj/item/reagent_containers/cup/bottle/hnz/one(get_turf(src)) flick("h_lathe_leave", src) - use_power(3000) + use_energy(3000 JOULES) playsound(loc, 'sound/machines/ding.ogg', 60, 1) status = STATUS_IDLE diff --git a/modular_skyrat/modules/novaya_ert/code/mod_suit.dm b/modular_skyrat/modules/novaya_ert/code/mod_suit.dm index 3494429f13d..ef4d5a2b6e9 100644 --- a/modular_skyrat/modules/novaya_ert/code/mod_suit.dm +++ b/modular_skyrat/modules/novaya_ert/code/mod_suit.dm @@ -193,7 +193,7 @@ incompatible_modules = list(/obj/item/mod/module/adrenaline_boost, /obj/item/mod/module/auto_doc) cooldown_time = null complexity = 4 - use_power_cost = DEFAULT_CHARGE_DRAIN * 20 + use_energy_cost = DEFAULT_CHARGE_DRAIN * 20 /// What reagent we need to refill? var/reagent_required = /datum/reagent/cryptobiolin /// How much of a reagent we need to refill a single boost. @@ -219,14 +219,14 @@ if(!.) return RegisterSignal(mod.wearer, COMSIG_LIVING_HEALTH_UPDATE, PROC_REF(on_use)) - drain_power(use_power_cost) + drain_power(use_energy_cost) /// Heals damage (in fact, injects chems) based on the damage received and certain other variables (a single one), i.e. having more than X amount of health, not having enough needed chemicals or so on. /obj/item/mod/module/auto_doc/on_use() if(!COOLDOWN_FINISHED(src, heal_timer)) return FALSE - if(!check_power(use_power_cost)) + if(!check_power(use_energy_cost)) balloon_alert(mod.wearer, "not enough charge!") SEND_SIGNAL(src, COMSIG_MODULE_DEACTIVATED) return FALSE @@ -274,7 +274,7 @@ mod.wearer.reagents.add_reagent(/datum/reagent/medicine/coagulant, 5) reagents.remove_reagent(reagent_required, reagent_required_amount) - drain_power(use_power_cost*10) + drain_power(use_energy_cost*10) ///Debuff so it's "balanced", as well as a cooldown. addtimer(CALLBACK(src, PROC_REF(boost_aftereffects), mod.wearer), 45 SECONDS) diff --git a/modular_skyrat/modules/pollution/code/air_refresher.dm b/modular_skyrat/modules/pollution/code/air_refresher.dm index e9478db2ec9..2a9466cf812 100644 --- a/modular_skyrat/modules/pollution/code/air_refresher.dm +++ b/modular_skyrat/modules/pollution/code/air_refresher.dm @@ -62,4 +62,4 @@ var/turf/open/open_turf = get_turf(src) if(open_turf.pollution) open_turf.pollution.scrub_amount(scrub_amount) - use_power(100) + use_energy(100 JOULES) diff --git a/modular_skyrat/modules/power/code/powerator.dm b/modular_skyrat/modules/power/code/powerator.dm index 4a3badda60f..2bf1225fa5a 100644 --- a/modular_skyrat/modules/power/code/powerator.dm +++ b/modular_skyrat/modules/power/code/powerator.dm @@ -54,9 +54,9 @@ idle_power_usage = 100 /// the current amount of power that we are trying to process - var/current_power = 10000 - /// the max amount of power that can be sent per process, from 100000 (t1) to 10000000 (t4) - var/max_power = 100000 + var/current_power = 10 KILO WATTS + /// the max amount of power that can be sent per process, from 100 KW (t1) to 10000 KW (t4) + var/max_power = 100 KILO WATTS /// how much the current_power is divided by to determine the profit var/divide_ratio = 0.00001 /// the attached cable to the machine @@ -103,10 +103,10 @@ . = ..() var/efficiency = -2 //set to -2 so that tier 1 parts do nothing - max_power = 100000 + max_power = 100 KILO WATTS for(var/datum/stock_part/micro_laser/laser_part in component_parts) efficiency += laser_part.tier - max_power += (efficiency * 1650000) + max_power += (efficiency * 1650 KILO WATTS) efficiency = -2 divide_ratio = 0.00001 @@ -166,9 +166,9 @@ /obj/machinery/powerator/attack_hand(mob/living/user, list/modifiers) . = ..() - current_power = tgui_input_number(user, "How much power would you like to draw? Max: [display_power(max_power)]", "Power Draw", current_power, max_power, 0) + current_power = tgui_input_number(user, "How much power (in Watts) would you like to draw? Max: [display_power(max_power)]", "Power Draw", current_power, max_power, 0) if(isnull(current_power)) - current_power = 10000 + current_power = 10 KILO WATTS return /obj/machinery/powerator/screwdriver_act(mob/living/user, obj/item/tool) diff --git a/modular_skyrat/modules/sec_haul/code/misc/bullet_drive.dm b/modular_skyrat/modules/sec_haul/code/misc/bullet_drive.dm index 7abf5585e08..7cadd1f1d3e 100644 --- a/modular_skyrat/modules/sec_haul/code/misc/bullet_drive.dm +++ b/modular_skyrat/modules/sec_haul/code/misc/bullet_drive.dm @@ -36,7 +36,7 @@ if(!A.loaded_projectile) LAZYREMOVE(dish_drive_contents, A) qdel(A) - use_power(active_power_usage) + use_energy(active_power_usage) disposed++ if(disposed) visible_message(span_notice("[src] [pick("whooshes", "bwooms", "fwooms", "pshooms")] and demoleculizes [disposed] stored item\s into the nearby void.")) diff --git a/modular_skyrat/modules/self_actualization_device/code/self_actualization_device.dm b/modular_skyrat/modules/self_actualization_device/code/self_actualization_device.dm index d2c91ae704d..e3b61e0f3e2 100644 --- a/modular_skyrat/modules/self_actualization_device/code/self_actualization_device.dm +++ b/modular_skyrat/modules/self_actualization_device/code/self_actualization_device.dm @@ -131,7 +131,7 @@ say(pick(advertisements)) playsound(loc, 'sound/machines/chime.ogg', 30, FALSE) - use_power(500) + use_energy(500 JOULES) /// Ejects the occupant after asking them if they want to accept the rejuvenation. If yes, they exit as their preferences character. /obj/machinery/self_actualization_device/proc/eject_new_you() diff --git a/tgstation.dme b/tgstation.dme index 0240af4a8c5..91fbb3b99f2 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -202,6 +202,7 @@ #include "code\__DEFINES\screentips.dm" #include "code\__DEFINES\security.dm" #include "code\__DEFINES\shuttles.dm" +#include "code\__DEFINES\si.dm" #include "code\__DEFINES\sight.dm" #include "code\__DEFINES\skills.dm" #include "code\__DEFINES\song.dm" diff --git a/tgui/packages/tgui/format.ts b/tgui/packages/tgui/format.ts index 86a9c290780..c648fb14848 100644 --- a/tgui/packages/tgui/format.ts +++ b/tgui/packages/tgui/format.ts @@ -65,6 +65,10 @@ export const formatPower = (value: number, minBase1000 = 0) => { return formatSiUnit(value, minBase1000, 'W'); }; +export const formatEnergy = (value: number, minBase1000 = 0) => { + return formatSiUnit(value, minBase1000, 'J'); +}; + // Formats a number as a currency string export const formatMoney = (value: number, precision = 0) => { if (!Number.isFinite(value)) { diff --git a/tgui/packages/tgui/interfaces/Apc.jsx b/tgui/packages/tgui/interfaces/Apc.jsx index 13261e23bbd..13a8984f9d4 100644 --- a/tgui/packages/tgui/interfaces/Apc.jsx +++ b/tgui/packages/tgui/interfaces/Apc.jsx @@ -29,7 +29,7 @@ const powerStatusMap = { 1: { color: 'average', externalPowerText: 'Low External Power', - chargingText: 'Charging', + chargingText: 'Charging: ', }, 0: { color: 'bad', @@ -131,7 +131,10 @@ const ApcContent = (props) => { /> } > - [ {chargingStatus.chargingText} ] + [{' '} + {chargingStatus.chargingText + + (data.chargingStatus === 1 ? data.chargingPowerDisplay : '')}{' '} + ] diff --git a/tgui/packages/tgui/interfaces/ChemDispenser.tsx b/tgui/packages/tgui/interfaces/ChemDispenser.tsx index cb1eedf551f..c738a55f7af 100644 --- a/tgui/packages/tgui/interfaces/ChemDispenser.tsx +++ b/tgui/packages/tgui/interfaces/ChemDispenser.tsx @@ -1,4 +1,3 @@ -import { toFixed } from 'common/math'; import { BooleanLike } from 'common/react'; import { toTitleCase } from 'common/string'; import { useState } from 'react'; @@ -31,6 +30,8 @@ type Data = { amount: number; energy: number; maxEnergy: number; + displayedEnergy: string; + displayedMaxEnergy: string; chemicals: DispensableReagent[]; recipes: string[]; recordingRecipe: string[]; @@ -91,7 +92,7 @@ export const ChemDispenser = (props) => { - {toFixed(data.energy) + ' units'} + {data.displayedEnergy + ' / ' + data.displayedMaxEnergy} diff --git a/tgui/packages/tgui/interfaces/MODsuit.tsx b/tgui/packages/tgui/interfaces/MODsuit.tsx index 89f8952c6ec..2d93763b147 100644 --- a/tgui/packages/tgui/interfaces/MODsuit.tsx +++ b/tgui/packages/tgui/interfaces/MODsuit.tsx @@ -19,7 +19,7 @@ import { Stack, Table, } from '../components'; -import { formatSiUnit } from '../format'; +import { formatEnergy, formatPower, formatSiUnit } from '../format'; import { Window } from '../layouts'; type MODsuitData = { @@ -98,7 +98,7 @@ type Module = { pinned: BooleanLike; idle_power: number; active_power: number; - use_power: number; + use_energy: number; module_complexity: number; cooldown_time: number; cooldown: number; @@ -120,8 +120,8 @@ export const MODsuit = (props) => { const { interface_break } = data.suit_status; return ( @@ -403,11 +403,11 @@ const SuitStatusSection = (props) => { : cell_charge_current === 1e31 ? 'Infinite' : `${formatSiUnit( - cell_charge_current * 1000, + cell_charge_current, 0, 'J', )} of ${formatSiUnit( - cell_charge_max * 1000, + cell_charge_max, 0, 'J', )} (${charge_percent}%)`} @@ -710,7 +710,7 @@ const ModuleSection = (props) => {