diff --git a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm index cddd5a0820659..d910f5d76734c 100644 --- a/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm +++ b/_maps/RandomRuins/AnywhereRuins/golem_ship.dmm @@ -686,7 +686,6 @@ "Ro" = ( /obj/structure/table/wood, /obj/item/bedsheet/rd/royal_cape{ - layer = 3; pixel_x = 5; pixel_y = 9 }, diff --git a/_maps/RandomRuins/IceRuins/icemoon_surface_smoking_room.dmm b/_maps/RandomRuins/IceRuins/icemoon_surface_smoking_room.dmm index fd292ec768512..047d4b4c042b1 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_surface_smoking_room.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_surface_smoking_room.dmm @@ -175,11 +175,11 @@ /area/ruin/smoking_room/room) "E" = ( /obj/item/trash/shrimp_chips, -/obj/item/clothing/mask/cigarette/rollie/trippy{ +/obj/item/cigarette/rollie/trippy{ pixel_x = 3; pixel_y = -1 }, -/obj/item/clothing/mask/cigarette/rollie/trippy{ +/obj/item/cigarette/rollie/trippy{ pixel_x = 3; pixel_y = 5 }, diff --git a/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm b/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm index 5e03988f8d3e7..ff3417fefce6d 100644 --- a/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm +++ b/_maps/RandomRuins/IceRuins/icemoon_underground_comms_agent.dmm @@ -373,9 +373,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, -/turf/open/floor/plating/snowed{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, +/turf/open/floor/plating/snowed/standard_air, /area/ruin/comms_agent) "uk" = ( /obj/structure/cable, @@ -761,9 +759,7 @@ /obj/structure/cable, /obj/item/cultivator/rake, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating/snowed{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, +/turf/open/floor/plating/snowed/standard_air, /area/ruin/comms_agent) "Ll" = ( /obj/effect/mapping_helpers/broken_floor, @@ -867,9 +863,7 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, -/turf/open/floor/plating/snowed{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, +/turf/open/floor/plating/snowed/standard_air, /area/ruin/comms_agent) "NJ" = ( /obj/item/storage/medkit/regular, @@ -892,9 +886,7 @@ /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating/snowed{ - initial_gas_mix = "o2=22;n2=82;TEMP=293.15" - }, +/turf/open/floor/plating/snowed/standard_air, /area/ruin/comms_agent) "OB" = ( /turf/open/lava/plasma/ice_moon, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm index 6ceb38619a4c5..82f4d3677800a 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_biodome_beach.dmm @@ -549,9 +549,7 @@ /turf/open/misc/beach/sand, /area/ruin/powered/beach) "rU" = ( -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /obj/item/reagent_containers/cup/beaker{ pixel_x = 5 }, @@ -920,9 +918,7 @@ /area/ruin/powered/beach) "GA" = ( /obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/chair/stool/directional/south, /obj/item/storage/backpack/duffelbag, /obj/item/clothing/under/shorts/red, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm index 52e9e68ac409c..6156174aaba56 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_elephant_graveyard.dmm @@ -496,7 +496,6 @@ /obj/structure/flora/rock/style_random, /obj/structure/cable, /obj/item/pickaxe{ - layer = 2.5; pixel_x = -8; pixel_y = 5 }, diff --git a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm index 09405b243349c..13a82feee1d21 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_surface_syndicate_base1.dmm @@ -1445,23 +1445,6 @@ /obj/machinery/duct, /turf/open/floor/wood, /area/ruin/syndicate_lava_base/dormitories) -"lk" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/east, -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = 30 - }, -/obj/structure/window/reinforced/spawner/directional/north{ - pixel_y = 1 - }, -/obj/item/book/manual/chef_recipes{ - pixel_x = 2; - pixel_y = 6 - }, -/obj/item/book/manual/wiki/barman_recipes, -/obj/item/reagent_containers/cup/glass/shaker, -/turf/open/floor/wood, -/area/ruin/syndicate_lava_base/bar) "lm" = ( /obj/structure/closet/secure_closet/medical1{ req_access = list("syndicate") @@ -1745,6 +1728,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/ruin/syndicate_lava_base/engineering) +"nI" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/east, +/obj/structure/window/reinforced/spawner/directional/north{ + pixel_y = 1 + }, +/obj/item/book/manual/chef_recipes{ + pixel_x = 2; + pixel_y = 6 + }, +/obj/item/book/manual/wiki/barman_recipes, +/obj/item/reagent_containers/cup/glass/shaker, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/turf/open/floor/wood, +/area/ruin/syndicate_lava_base/bar) "nK" = ( /obj/machinery/door/airlock/public/glass{ name = "Bar" @@ -2000,16 +1998,6 @@ dir = 1 }, /area/ruin/syndicate_lava_base/medbay) -"qv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/cable, -/turf/open/floor/mineral/plastitanium, -/area/ruin/syndicate_lava_base/cargo) "qA" = ( /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/iron/dark, @@ -2077,15 +2065,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/cargo) -"rI" = ( -/obj/machinery/firealarm/directional/west, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/ruin/syndicate_lava_base/engineering) "rO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/visible, /obj/structure/cable, @@ -3176,6 +3155,15 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/dark, /area/ruin/syndicate_lava_base/bar) +"GI" = ( +/obj/machinery/firealarm/directional/west, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/ruin/syndicate_lava_base/engineering) "GV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -3824,6 +3812,16 @@ }, /turf/open/floor/iron, /area/ruin/syndicate_lava_base/arrivals) +"QG" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/cable, +/turf/open/floor/mineral/plastitanium, +/area/ruin/syndicate_lava_base/cargo) "QN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -5664,7 +5662,7 @@ jy ka ue kM -lk +nI lC To TN @@ -6316,7 +6314,7 @@ Bu kV lp Dr -rI +GI mF Cj Lp @@ -6496,7 +6494,7 @@ ab dy dy eE -qv +QG dy gd dy diff --git a/_maps/RandomRuins/SpaceRuins/bus.dmm b/_maps/RandomRuins/SpaceRuins/bus.dmm index 1cd3d0f7ec261..a8a4a968d976d 100644 --- a/_maps/RandomRuins/SpaceRuins/bus.dmm +++ b/_maps/RandomRuins/SpaceRuins/bus.dmm @@ -29,7 +29,6 @@ "ao" = ( /obj/machinery/telecomms/server{ pixel_z = 12; - layer = 2.91; name = "tgsv3"; desc = "It's, uh... pending an upgrade." }, @@ -240,8 +239,7 @@ /area/ruin/space) "ud" = ( /obj/structure/fluff/bus/passable{ - icon_state = "bottomdoor"; - layer = 3 + icon_state = "bottomdoor" }, /turf/open/misc/asteroid/airless, /area/ruin/space) @@ -308,7 +306,6 @@ }, /obj/machinery/telecomms/server{ pixel_z = 12; - layer = 2.91; name = "tgsv3"; desc = "It's, uh... pending an upgrade." }, diff --git a/_maps/RandomRuins/SpaceRuins/clericden.dmm b/_maps/RandomRuins/SpaceRuins/clericden.dmm index c6e6bebddb0be..f274f7a23f563 100644 --- a/_maps/RandomRuins/SpaceRuins/clericden.dmm +++ b/_maps/RandomRuins/SpaceRuins/clericden.dmm @@ -108,9 +108,7 @@ /turf/open/floor/plating/airless, /area/ruin/space) "A" = ( -/obj/structure/table/wood{ - layer = 3.3 - }, +/obj/structure/table/wood, /turf/open/floor/carpet/royalblack/airless, /area/ruin/space) "B" = ( diff --git a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm index 6ee95f03755dd..f9235a874b054 100644 --- a/_maps/RandomRuins/SpaceRuins/deepstorage.dmm +++ b/_maps/RandomRuins/SpaceRuins/deepstorage.dmm @@ -829,12 +829,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/orange/hidden{ dir = 4 }, -/obj/machinery/computer/security/telescreen{ - dir = 1; - name = "Bunker Entrance monitor"; - network = list("bunker1"); - pixel_y = 2 - }, /obj/effect/decal/cleanable/dirt, /obj/machinery/button/door/directional/west{ id = "bunkerexterior"; @@ -853,6 +847,7 @@ pixel_y = 8; req_access = list("away_general") }, +/obj/machinery/computer/security/telescreen/deep_storage/bunker/directional/north, /turf/open/floor/iron, /area/ruin/space/has_grav/deepstorage/airlock) "eL" = ( diff --git a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm index 0853eb15a91a7..7b12e87992c8a 100644 --- a/_maps/RandomRuins/SpaceRuins/forgottenship.dmm +++ b/_maps/RandomRuins/SpaceRuins/forgottenship.dmm @@ -282,6 +282,7 @@ /obj/item/paper, /obj/item/pen, /obj/machinery/light/directional/south, +/obj/machinery/computer/security/telescreen/forgotten_ship/sci/directional/south, /turf/open/floor/carpet/royalblack, /area/ruin/space/has_grav/syndicate_forgotten_ship) "bp" = ( @@ -466,16 +467,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/syndicate_forgotten_ship) -"bT" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen/interrogation{ - name = "Cameras monitor"; - network = list("fsci"); - req_access = list("syndicate"); - screen_loc = "" - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/syndicate_forgotten_ship) "bV" = ( /obj/structure/table/reinforced, /turf/open/floor/mineral/plastitanium/red, @@ -2067,7 +2058,7 @@ bZ co bZ VF -bT +ah bg aD cF diff --git a/_maps/RandomRuins/SpaceRuins/garbagetruck1.dmm b/_maps/RandomRuins/SpaceRuins/garbagetruck1.dmm index 65c448e94c426..a81508dbe1f40 100644 --- a/_maps/RandomRuins/SpaceRuins/garbagetruck1.dmm +++ b/_maps/RandomRuins/SpaceRuins/garbagetruck1.dmm @@ -477,7 +477,7 @@ /obj/structure/closet/cardboard, /obj/item/toy/plush/snakeplushie, /obj/item/clothing/glasses/eyepatch, -/obj/item/clothing/mask/cigarette/cigar/havana, +/obj/item/cigarette/cigar/havana, /turf/open/floor/plating/dumpsterair, /area/ruin/space/has_grav/garbagetruck/foodwaste) "wR" = ( diff --git a/_maps/RandomRuins/SpaceRuins/garbagetruck3.dmm b/_maps/RandomRuins/SpaceRuins/garbagetruck3.dmm index 0f2f425fe6293..03a9b87ff4edf 100644 --- a/_maps/RandomRuins/SpaceRuins/garbagetruck3.dmm +++ b/_maps/RandomRuins/SpaceRuins/garbagetruck3.dmm @@ -142,7 +142,7 @@ /area/ruin/space/has_grav/garbagetruck/squat) "ih" = ( /obj/item/bedsheet/purple, -/obj/item/clothing/mask/cigarette/space_cigarette, +/obj/item/cigarette/space_cigarette, /obj/structure/bed/maint, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/fuel_pool, @@ -373,7 +373,7 @@ /turf/open/floor/iron/smooth, /area/ruin/space/has_grav/garbagetruck/squat) "tu" = ( -/obj/item/clothing/mask/cigarette/robust, +/obj/item/cigarette/robust, /obj/structure/closet/emcloset, /obj/item/clothing/suit/utility/fire/heavy, /obj/item/clothing/head/utility/hardhat/welding/atmos, @@ -758,7 +758,7 @@ pixel_x = -4; pixel_y = 10 }, -/obj/item/clothing/mask/cigarette/space_cigarette{ +/obj/item/cigarette/space_cigarette{ pixel_x = -5; pixel_y = 7 }, @@ -905,7 +905,7 @@ "Xv" = ( /obj/item/food/deadmouse, /obj/item/clothing/shoes/sneakers/red, -/obj/item/clothing/mask/cigarette/carp, +/obj/item/cigarette/carp, /obj/item/extinguisher/mini, /obj/effect/decal/cleanable/fuel_pool, /turf/open/floor/plating/dumpsterair, diff --git a/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm b/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm index 542f64d7abd96..64e7be0705b6b 100644 --- a/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm +++ b/_maps/RandomRuins/SpaceRuins/infested_frigate.dmm @@ -362,8 +362,7 @@ /obj/structure/door_assembly/door_assembly_hatch{ anchored = 1; name = "crew quarters"; - desc = "People lived in this place."; - layer = 2.8 + desc = "People lived in this place." }, /turf/template_noop, /area/ruin/space/has_grav/infested_frigate) @@ -380,9 +379,7 @@ pixel_x = 6; pixel_y = 6 }, -/obj/item/phone{ - layer = 3.1 - }, +/obj/item/phone, /obj/item/paper/crumpled/muddy/fluff/elephant_graveyard/rnd_notes{ default_raw_text = "STERILIZATION ORDERS

Detailed findings:

A biological research lab within the HD-10180 system has suffered from a complete containment failure. The SYN-C Brutus is to deliver a nuclear payload via strike team. Everything inside and outside the facility is to be killed on sight, including any research staff. Nuclear authentication codes have been sent via red phone, as have other detailed orders.

The rest of the documents are maps and mundane information regarding the crew's destination."; name = "STERILIZATION ORDERS"; @@ -638,9 +635,7 @@ /turf/open/floor/mineral/plastitanium/airless, /area/ruin/space/has_grav/infested_frigate) "jx" = ( -/obj/effect/decal/cleanable/glass{ - layer = 3.1 - }, +/obj/effect/decal/cleanable/glass, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/mineral/plastitanium/red, /area/ruin/space/has_grav/infested_frigate) @@ -653,9 +648,7 @@ desc = "It would have been locked anyway."; name = "syndicate navigation console" }, -/obj/effect/decal/cleanable/glass{ - layer = 3.1 - }, +/obj/effect/decal/cleanable/glass, /turf/open/floor/pod/dark, /area/ruin/space/has_grav/infested_frigate) "kc" = ( @@ -862,9 +855,7 @@ /obj/effect/decal/cleanable/blood{ icon_state = "floor5-old" }, -/obj/item/ammo_casing/spent{ - layer = 3.1 - }, +/obj/item/ammo_casing/spent, /obj/item/gun/ballistic/automatic/plastikov, /obj/effect/mob_spawn/corpse/human/syndicatepilot, /turf/open/floor/mineral/plastitanium/red, @@ -981,8 +972,7 @@ /obj/effect/decal/cleanable/glass, /obj/machinery/button/door/directional/north{ name = "prisoner isolation shutter"; - id = "captivity"; - layer = 3.4 + id = "captivity" }, /turf/open/floor/pod/dark, /area/ruin/space/has_grav/infested_frigate) @@ -1238,12 +1228,9 @@ /area/ruin/space/has_grav/infested_frigate) "vj" = ( /obj/machinery/door/poddoor{ - id = "Brutusexterior"; - closingLayer = 2.65 - }, -/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium{ - layer = 2.9 + id = "Brutusexterior" }, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, /turf/open/floor/plating, /area/ruin/space/has_grav/infested_frigate) "vm" = ( @@ -1626,9 +1613,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/infested_frigate) "yZ" = ( -/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium{ - layer = 2.9 - }, +/obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, /turf/open/floor/plating, /area/ruin/space/has_grav/infested_frigate) "zg" = ( @@ -1926,9 +1911,7 @@ /obj/effect/decal/cleanable/blood/gibs{ icon_state = "gib1-old" }, -/obj/machinery/door/window/left/directional/east{ - layer = 3.2 - }, +/obj/machinery/door/window/left/directional/east, /obj/machinery/door/poddoor/shutters/window/preopen{ id = "captivity" }, @@ -1980,7 +1963,7 @@ /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/infested_frigate) "Fs" = ( -/mob/living/simple_animal/bot/firebot{ +/mob/living/basic/bot/firebot{ faction = list("syndicate","xenomorph"); name = "Mr. Squirtsky"; desc = "He seems much happier with the new management!" diff --git a/_maps/RandomRuins/SpaceRuins/oldstation.dmm b/_maps/RandomRuins/SpaceRuins/oldstation.dmm index 6062a970205c6..2597a3a4a9985 100644 --- a/_maps/RandomRuins/SpaceRuins/oldstation.dmm +++ b/_maps/RandomRuins/SpaceRuins/oldstation.dmm @@ -70,6 +70,7 @@ /obj/item/stack/sheet/plasteel{ amount = 30 }, +/obj/item/stack/sheet/mineral/diamond, /turf/open/floor/iron/dark, /area/ruin/space/ancientstation/delta/ai) "as" = ( @@ -226,7 +227,7 @@ /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/bridge) "bh" = ( -/obj/machinery/computer/old{ +/obj/machinery/modular_computer/preset/research/away{ dir = 4 }, /obj/structure/window/reinforced/spawner/directional/south, @@ -793,6 +794,15 @@ }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/hydro) +"ds" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/table, +/obj/machinery/door/window/brigdoor/right/directional/east, +/obj/item/computer_disk, +/turf/open/floor/iron/dark, +/area/ruin/space/ancientstation/delta/ai) "dt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -961,8 +971,11 @@ /area/ruin/space/ancientstation/charlie/bridge) "ek" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/structure/closet/crate/bin, +/obj/effect/spawner/random/trash/garbage, +/obj/effect/spawner/random/trash/garbage, +/obj/effect/spawner/random/trash/garbage, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "el" = ( @@ -1088,6 +1101,10 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 }, +/obj/item/chair{ + pixel_y = -8; + pixel_x = 13 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "eL" = ( @@ -1527,7 +1544,6 @@ "gM" = ( /obj/machinery/rnd/production/circuit_imprinter/offstation, /obj/effect/decal/cleanable/dirt, -/obj/item/reagent_containers/dropper, /turf/open/floor/iron/white, /area/ruin/space/ancientstation/delta/rnd) "gP" = ( @@ -1911,6 +1927,7 @@ /obj/item/folder/white, /obj/item/reagent_containers/cup/beaker, /obj/effect/decal/cleanable/dirt, +/obj/item/reagent_containers/dropper, /turf/open/floor/iron, /area/ruin/space/ancientstation/delta/rnd) "ip" = ( @@ -2252,9 +2269,8 @@ "jP" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/storage/backpack/duffelbag, /obj/structure/closet, -/obj/effect/spawner/random/clothing/backpack, +/obj/item/storage/backpack/duffelbag/sec, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/dorms) "jU" = ( @@ -2673,13 +2689,10 @@ /area/ruin/space/ancientstation/charlie/kitchen) "lz" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/closet/crate/bin, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 }, -/obj/effect/spawner/random/trash/garbage, -/obj/effect/spawner/random/trash/garbage, -/obj/effect/spawner/random/trash/garbage, +/obj/machinery/computer/apc_control/away, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "lB" = ( @@ -2899,9 +2912,9 @@ "mz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/obj/item/storage/backpack/old, /obj/structure/closet, -/obj/effect/spawner/random/clothing/backpack, +/obj/item/storage/backpack/industrial, +/obj/item/storage/backpack/messenger/eng, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/dorms) "mA" = ( @@ -2939,7 +2952,7 @@ /obj/machinery/shower/directional/west{ has_water_reclaimer = 0 }, -/turf/open/floor/vault, +/turf/open/floor/pod/dark, /area/ruin/space/ancientstation/delta/biolab) "mG" = ( /obj/effect/decal/cleanable/dirt, @@ -3116,16 +3129,30 @@ /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/hall) "ng" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/pipedispenser/disposal/transit_tube, /obj/effect/turf_decal/stripes/line{ dir = 1 }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/structure/fluff/broken_canister_frame, +/obj/effect/decal/cleanable/plasma, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/atmos) "nk" = ( /turf/closed/wall, /area/ruin/space/ancientstation/charlie/dorms) +"nm" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, +/obj/effect/turf_decal/tile/yellow/half/contrasted{ + dir = 8 + }, +/obj/item/tank/internals/oxygen{ + pixel_x = 1 + }, +/turf/open/floor/iron, +/area/ruin/space/ancientstation/beta/atmos) "np" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/directional/north, @@ -3193,6 +3220,7 @@ /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 }, +/obj/item/tank/internals/anesthetic/pure, /turf/open/floor/iron/airless, /area/ruin/space/ancientstation/beta/medbay) "nD" = ( @@ -3404,6 +3432,11 @@ /obj/effect/decal/cleanable/xenoblood/xgibs/core, /turf/open/floor/iron/white, /area/ruin/space/ancientstation/delta/rnd) +"oK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/pipedispenser, +/turf/open/floor/iron/airless, +/area/ruin/space/ancientstation/beta/hall) "oL" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, @@ -3535,9 +3568,7 @@ /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/atmos) "pv" = ( -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/engine/n2, /area/ruin/space/ancientstation/beta/atmos) "pD" = ( @@ -3624,7 +3655,6 @@ /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/mining) "qk" = ( -/obj/machinery/pipedispenser, /obj/effect/turf_decal/stripes/line{ dir = 4 }, @@ -3866,10 +3896,9 @@ /area/ruin/space/ancientstation/charlie/hall) "se" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/yellow/half/contrasted, +/obj/structure/reagent_dispensers/fueltank, /turf/open/floor/iron, /area/ruin/space/ancientstation/charlie/engie) "si" = ( @@ -4208,9 +4237,7 @@ /area/ruin/space/ancientstation/beta/hall) "uC" = ( /obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored{ dir = 8; chamber_id = "beta-n2" @@ -4419,7 +4446,7 @@ /obj/structure/closet/crate/secure/weapon{ req_access = list("away_sec") }, -/obj/item/knife/combat, +/obj/item/spess_knife, /obj/item/clothing/suit/armor/vest/old, /obj/item/gun/ballistic/rifle/boltaction, /obj/item/ammo_box/strilka310, @@ -5104,9 +5131,7 @@ "Bq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /turf/open/floor/iron/cafeteria, /area/ruin/space/ancientstation/charlie/kitchen) "Bs" = ( @@ -5377,6 +5402,14 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating/airless, /area/ruin/space/ancientstation/beta/supermatter) +"DA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/structure/closet, +/obj/item/storage/backpack/science, +/obj/item/storage/backpack/messenger/science, +/turf/open/floor/iron, +/area/ruin/space/ancientstation/charlie/dorms) "DB" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/cobweb, @@ -5391,6 +5424,7 @@ dir = 1 }, /obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/binary/tank_compressor, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/atmos) "DI" = ( @@ -5723,9 +5757,9 @@ /area/ruin/space/ancientstation/charlie/hall) "Gb" = ( /obj/effect/decal/cleanable/glass, -/obj/item/stack/rods, /obj/effect/mapping_helpers/broken_floor, /obj/effect/turf_decal/stripes/line, +/obj/structure/tank_dispenser/plasma, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/atmos) "Gd" = ( @@ -5809,10 +5843,13 @@ /turf/open/floor/iron/cafeteria, /area/ruin/space/ancientstation/charlie/kitchen) "GP" = ( -/obj/machinery/pipedispenser/disposal, /obj/effect/turf_decal/stripes/corner{ dir = 4 }, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/atmos) "GX" = ( @@ -8197,6 +8234,14 @@ dir = 1 }, /obj/effect/decal/cleanable/dirt, +/obj/item/tank/internals/oxygen{ + pixel_y = -8; + pixel_x = 8 + }, +/obj/item/tank/internals/oxygen{ + pixel_x = -4; + pixel_y = 4 + }, /turf/open/floor/iron, /area/ruin/space/ancientstation/beta/atmos) "XD" = ( @@ -9963,7 +10008,7 @@ Uu Yp Gb XB -Ln +nm kK Ln ny @@ -10159,7 +10204,7 @@ gJ Ax Ax kQ -Cj +oK Sf Cj VF @@ -12209,7 +12254,7 @@ wb bR aG nk -mz +DA gZ kN Mt @@ -14227,7 +14272,7 @@ ag aM NS bh -cz +ds cz cz ad diff --git a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm index 3a2d28ba1ee8f..eec1e5a9671a7 100644 --- a/_maps/RandomRuins/SpaceRuins/spacehotel.dmm +++ b/_maps/RandomRuins/SpaceRuins/spacehotel.dmm @@ -847,9 +847,7 @@ pixel_x = 6; pixel_y = 6 }, -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, diff --git a/_maps/RandomRuins/SpaceRuins/the_faceoff.dmm b/_maps/RandomRuins/SpaceRuins/the_faceoff.dmm index 08175777752e6..b31a11cba31ca 100644 --- a/_maps/RandomRuins/SpaceRuins/the_faceoff.dmm +++ b/_maps/RandomRuins/SpaceRuins/the_faceoff.dmm @@ -347,7 +347,7 @@ /area/ruin/space) "mn" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/clothing/mask/cigarette/syndicate, +/obj/item/cigarette/syndicate, /obj/item/storage/fancy/cigarettes/cigpack_syndicate{ pixel_y = 7 }, @@ -622,7 +622,7 @@ /area/ruin/space) "yd" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/clothing/mask/cigarette/syndicate, +/obj/item/cigarette/syndicate, /obj/effect/spawner/random/entertainment/lighter, /turf/open/floor/mineral/plastitanium/airless, /area/ruin/space) @@ -701,7 +701,7 @@ /area/ruin/space) "Cz" = ( /obj/structure/table/reinforced/plastitaniumglass, -/obj/item/clothing/mask/cigarette/syndicate, +/obj/item/cigarette/syndicate, /obj/effect/spawner/random/entertainment/lighter, /turf/open/floor/iron/dark/airless, /area/ruin/space) diff --git a/_maps/RandomRuins/SpaceRuins/the_outlet.dmm b/_maps/RandomRuins/SpaceRuins/the_outlet.dmm index b2b8fd17fbed6..f31929b70a4e2 100644 --- a/_maps/RandomRuins/SpaceRuins/the_outlet.dmm +++ b/_maps/RandomRuins/SpaceRuins/the_outlet.dmm @@ -87,12 +87,9 @@ /area/ruin/space/has_grav/the_outlet/researchrooms) "cL" = ( /obj/effect/rune/apocalypse{ - req_cultists = 999; - layer = 2 - }, -/obj/structure/destructible/cult/pants_altar{ - layer = 3 + req_cultists = 999 }, +/obj/structure/destructible/cult/pants_altar, /turf/open/floor/cult, /area/ruin/space/has_grav/the_outlet/cultinfluence) "cZ" = ( @@ -564,7 +561,7 @@ /obj/item/clothing/shoes/cowboy, /obj/item/clothing/under/costume/dutch, /obj/item/clothing/suit/costume/poncho, -/obj/item/clothing/mask/cigarette/cigar, +/obj/item/cigarette/cigar, /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/west, diff --git a/_maps/RandomRuins/SpaceRuins/transit_booth.dmm b/_maps/RandomRuins/SpaceRuins/transit_booth.dmm index eaff9f2f073b0..52dbf8149f8e2 100644 --- a/_maps/RandomRuins/SpaceRuins/transit_booth.dmm +++ b/_maps/RandomRuins/SpaceRuins/transit_booth.dmm @@ -16,16 +16,6 @@ /obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/plating, /area/ruin/space/has_grav/transit_booth) -"ad" = ( -/obj/effect/turf_decal/siding/dark{ - dir = 4 - }, -/obj/machinery/light/directional/east, -/obj/effect/turf_decal/siding/dark{ - dir = 8 - }, -/turf/open/floor/iron, -/area/ruin/space/has_grav/transit_booth) "ae" = ( /obj/machinery/vending/coffee, /turf/open/floor/iron/dark, @@ -93,23 +83,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/transit_booth) -"an" = ( -/obj/structure/chair/comfy/black{ - dir = 8 - }, -/obj/structure/sign/poster/official/cohiba_robusto_ad/directional/north, -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/transit_booth) -"ao" = ( -/obj/effect/turf_decal/siding/dark{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/effect/turf_decal/siding/dark{ - dir = 4 - }, -/turf/open/floor/iron, -/area/ruin/space/has_grav/transit_booth) "ap" = ( /obj/machinery/door/airlock/external{ name = "Transit Booth Airlock" @@ -262,9 +235,7 @@ /turf/open/floor/iron, /area/ruin/space/has_grav/transit_booth) "aF" = ( -/obj/structure/window/reinforced/spawner/directional/south{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/south, /obj/structure/rack, /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium{ pixel_x = 6 @@ -280,9 +251,7 @@ /turf/open/floor/iron/dark, /area/ruin/space/has_grav/transit_booth) "aG" = ( -/obj/structure/window/reinforced/spawner/directional/south{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/mass_driver{ dir = 1; id = "north" @@ -325,14 +294,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/transit_booth) -"aJ" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/glass/coffee{ - pixel_x = 6; - pixel_y = 3 - }, -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/transit_booth) "aK" = ( /obj/machinery/door/poddoor{ id = "south" @@ -342,17 +303,6 @@ /obj/structure/table/reinforced, /turf/open/floor/plating, /area/ruin/space/has_grav/transit_booth) -"aL" = ( -/obj/structure/table, -/obj/item/storage/fancy/cigarettes/cigars{ - pixel_y = 11; - pixel_x = 3 - }, -/obj/item/lighter{ - pixel_x = -8 - }, -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/transit_booth) "aM" = ( /obj/machinery/door/poddoor{ id = "north" @@ -442,9 +392,7 @@ /turf/open/floor/iron, /area/ruin/space/has_grav/transit_booth) "aV" = ( -/obj/structure/window/reinforced/spawner/directional/south{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/south, /obj/structure/rack, /obj/item/book/random{ pixel_x = -5; @@ -461,9 +409,7 @@ /turf/open/floor/iron/dark, /area/ruin/space/has_grav/transit_booth) "aW" = ( -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/mass_driver{ dir = 4; id = "east" @@ -486,13 +432,6 @@ }, /turf/open/floor/iron/dark, /area/ruin/space/has_grav/transit_booth) -"aY" = ( -/obj/structure/chair/comfy/black{ - dir = 4 - }, -/obj/structure/sign/poster/official/high_class_martini/directional/south, -/turf/open/floor/iron/dark, -/area/ruin/space/has_grav/transit_booth) "aZ" = ( /obj/effect/turf_decal/siding/dark{ dir = 5 diff --git a/_maps/RandomRuins/SpaceRuins/travelers_rest.dmm b/_maps/RandomRuins/SpaceRuins/travelers_rest.dmm index d36e65ddc2269..af55da5cb4f37 100644 --- a/_maps/RandomRuins/SpaceRuins/travelers_rest.dmm +++ b/_maps/RandomRuins/SpaceRuins/travelers_rest.dmm @@ -69,9 +69,7 @@ /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 9 }, -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/ruin/space/has_grav/travelers_rest) diff --git a/_maps/RandomRuins/SpaceRuins/waystation.dmm b/_maps/RandomRuins/SpaceRuins/waystation.dmm index baa77a700d20e..38f8fcbac8cdd 100644 --- a/_maps/RandomRuins/SpaceRuins/waystation.dmm +++ b/_maps/RandomRuins/SpaceRuins/waystation.dmm @@ -1105,13 +1105,11 @@ "rF" = ( /obj/machinery/button/door/directional/east{ id = "Blastdoor_load"; - layer = 4; name = "Loading Doors"; pixel_y = -6 }, /obj/machinery/button/door/directional/east{ id = "Blastdoor_unload"; - layer = 4; name = "Loading Doors"; pixel_y = 6 }, @@ -2241,9 +2239,7 @@ /area/ruin/space/has_grav/waystation/securestorage) "NK" = ( /obj/effect/turf_decal/bot, -/obj/machinery/atmospherics/components/tank/air{ - piping_layer = 4 - }, +/obj/machinery/atmospherics/components/tank/air, /turf/open/floor/plating, /area/ruin/space/has_grav/waystation) "NT" = ( diff --git a/_maps/RandomZLevels/SnowCabin.dmm b/_maps/RandomZLevels/SnowCabin.dmm index 2451c55731215..3b5c32345c0e3 100644 --- a/_maps/RandomZLevels/SnowCabin.dmm +++ b/_maps/RandomZLevels/SnowCabin.dmm @@ -2052,7 +2052,7 @@ /turf/open/floor/wood/freezing, /area/awaymission/cabin/lumbermill) "jV" = ( -/mob/living/simple_animal/bot/firebot, +/mob/living/basic/bot/firebot, /turf/open/floor/wood/freezing, /area/awaymission/cabin/lumbermill) "jW" = ( @@ -2771,14 +2771,12 @@ /obj/item/claymore/weak/ceremonial{ desc = "Brought to you by the guys in charge of making replica katana toys!"; force = 1; - layer = 3.01; name = "replica claymore"; pixel_x = 5; pixel_y = 8; throwforce = 2 }, /obj/item/shield/roman/fake{ - layer = 3.01; pixel_x = -7 }, /obj/effect/light_emitter{ @@ -3379,7 +3377,6 @@ /obj/item/gun/magic/wand{ desc = "It's just a fancy staff so that holy clerics and priests look cool. What? You didn't think someone would leave a REAL magic artifact with a snowman out in the cold, did you?"; icon_state = "revivewand"; - layer = 3.01; name = "holy staff"; pixel_y = -2 }, @@ -4417,9 +4414,7 @@ pixel_x = -1; pixel_y = 13 }, -/obj/item/staff{ - layer = 3.01 - }, +/obj/item/staff, /obj/effect/light_emitter{ set_cap = 3; set_luminosity = 6; diff --git a/_maps/RandomZLevels/TheBeach.dmm b/_maps/RandomZLevels/TheBeach.dmm index 3f18eb1d627d3..c7a097a02ad17 100644 --- a/_maps/RandomZLevels/TheBeach.dmm +++ b/_maps/RandomZLevels/TheBeach.dmm @@ -346,7 +346,7 @@ /area/awaymission/beach) "eT" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_y = 16; pixel_x = -2 }, @@ -2023,7 +2023,6 @@ "Aa" = ( /obj/structure/table/wood, /obj/item/reagent_containers/condiment/enzyme{ - layer = 5; pixel_x = 9; pixel_y = 5 }, @@ -2510,9 +2509,7 @@ /area/awaymission/beach) "Ft" = ( /obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/chair/stool/directional/south, /obj/item/clothing/glasses/sunglasses{ pixel_y = -2; diff --git a/_maps/RandomZLevels/moonoutpost19.dmm b/_maps/RandomZLevels/moonoutpost19.dmm index 721efba7619cc..3a4e4c8affed6 100644 --- a/_maps/RandomZLevels/moonoutpost19.dmm +++ b/_maps/RandomZLevels/moonoutpost19.dmm @@ -79,6 +79,16 @@ dir = 5 }, /area/awaymission/moonoutpost19/research) +"aq" = ( +/obj/effect/turf_decal/siding/purple, +/obj/effect/turf_decal/tile/dark/opposingcorners{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/moon_outpost/xenobio/directional/south, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/awaymission/moonoutpost19/research) "as" = ( /obj/item/stack/rods, /obj/structure/cable, @@ -102,7 +112,6 @@ "aJ" = ( /obj/machinery/door/poddoor{ id = "AwayRD"; - layer = 2.9; name = "Privacy Shutter" }, /obj/effect/spawner/structure/window/reinforced, @@ -305,6 +314,14 @@ /obj/effect/turf_decal/stripes/red/end, /turf/open/floor/iron/half, /area/awaymission/moonoutpost19/syndicate) +"cp" = ( +/obj/structure/table/reinforced, +/obj/structure/alien/weeds, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron, +/area/awaymission/moonoutpost19/research) "cq" = ( /obj/machinery/vending/medical{ req_access = "201" @@ -630,12 +647,16 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron/dark, /area/awaymission/moonoutpost19/research) -"ex" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w{ - dir = 4 +"ez" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/radio/off{ + pixel_x = 8; + pixel_y = 17 }, -/obj/structure/cable, -/turf/open/floor/iron/white, +/turf/open/floor/plating, /area/awaymission/moonoutpost19/research) "eA" = ( /obj/structure/flora/lunar_plant, @@ -907,7 +928,6 @@ /obj/machinery/door/poddoor{ desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id = "Awaybiohazard"; - layer = 2.9; name = "Acid-Proof Biohazard Containment Door" }, /obj/effect/turf_decal/delivery, @@ -2211,7 +2231,6 @@ /obj/machinery/door/poddoor{ desc = "A heavy duty blast door that opens mechanically. This one has been applied with an acid-proof coating."; id = "Awaybiohazard"; - layer = 2.9; name = "Acid-Proof Biohazard Containment Door" }, /obj/effect/spawner/structure/window/reinforced, @@ -2355,9 +2374,7 @@ /area/awaymission/moonoutpost19/syndicate) "pF" = ( /obj/machinery/light/small/directional/north, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/table, /obj/structure/bedsheetbin, /obj/item/clothing/neck/tie/black, @@ -3042,13 +3059,6 @@ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" }, /area/awaymission/moonoutpost19/mines) -"ty" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/siding/thinplating_new/light, -/turf/open/floor/iron, -/area/awaymission/moonoutpost19/arrivals) "tA" = ( /obj/structure/urinal/directional/north, /obj/machinery/duct, @@ -3247,6 +3257,13 @@ /obj/item/clothing/under/misc/assistantformal, /turf/open/floor/carpet/red, /area/awaymission/moonoutpost19/arrivals) +"uN" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/siding/thinplating_new/light, +/turf/open/floor/iron, +/area/awaymission/moonoutpost19/arrivals) "uR" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -3433,8 +3450,7 @@ /obj/structure/bed, /obj/item/bedsheet, /obj/effect/decal/remains/human{ - desc = "They look like human remains. The skeleton is laid out on its side and there seems to have been no sign of struggle."; - layer = 4.1 + desc = "They look like human remains. The skeleton is laid out on its side and there seems to have been no sign of struggle." }, /obj/machinery/button/door/directional/west{ id = "awaydorm3"; @@ -3469,6 +3485,13 @@ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" }, /area/awaymission/moonoutpost19/mines) +"wc" = ( +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = -4 + }, +/turf/open/floor/pod/dark, +/area/awaymission/moonoutpost19/tent) "wh" = ( /obj/structure/alien/weeds/node, /obj/structure/alien/resin/wall, @@ -3544,24 +3567,6 @@ /obj/item/stack/spacecash/c50, /turf/open/floor/wood, /area/awaymission/moonoutpost19/syndicate) -"wU" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring the research division and the labs within."; - name = "research monitor"; - network = list("mo19x","mo19r") - }, -/obj/effect/turf_decal/siding/purple/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/awaymission/moonoutpost19/research) "wV" = ( /obj/structure/closet/emcloset, /obj/item/shovel, @@ -3762,7 +3767,6 @@ "yx" = ( /obj/machinery/conveyor_switch/oneway{ id = "awaysyndie"; - layer = 3.1; name = "mining conveyor" }, /obj/effect/turf_decal/stripes/line{ @@ -4061,20 +4065,6 @@ }, /turf/open/floor/iron, /area/awaymission/moonoutpost19/arrivals) -"AI" = ( -/obj/structure/table/reinforced, -/obj/structure/alien/weeds, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the contents of the xenobiology containment pen."; - dir = 8; - name = "xenobiology monitor"; - network = list("mo19x") - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/awaymission/moonoutpost19/research) "AO" = ( /obj/structure/alien/weeds, /obj/effect/decal/cleanable/blood/gibs, @@ -4125,7 +4115,6 @@ dir = 1 }, /obj/item/crowbar{ - layer = 2.9; pixel_x = 7; pixel_y = -13 }, @@ -4152,6 +4141,14 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/awaymission/moonoutpost19/arrivals) +"Bg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/computer/security/telescreen/moon_outpost/xenobio/directional/east, +/turf/open/floor/iron/white, +/area/awaymission/moonoutpost19/research) "Bk" = ( /obj/machinery/door/airlock/maintenance, /obj/machinery/duct, @@ -4746,7 +4743,6 @@ /area/awaymission/moonoutpost19/research) "Fw" = ( /obj/item/pickaxe{ - layer = 2.9; pixel_x = -12; pixel_y = 6 }, @@ -5424,18 +5420,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/awaymission/moonoutpost19/research) -"JO" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/light/small/directional/west, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/paper/fluff/awaymissions/moonoutpost19/engineering, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/awaymission/moonoutpost19/syndicate) "JQ" = ( /turf/open/floor/iron{ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" @@ -5459,6 +5443,18 @@ }, /turf/open/floor/iron/white, /area/awaymission/moonoutpost19/research) +"JZ" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/light/small/directional/west, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/paper/fluff/awaymissions/moonoutpost19/engineering, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/awaymission/moonoutpost19/syndicate) "Kb" = ( /obj/structure/alien/weeds, /obj/structure/bed/nest, @@ -5724,17 +5720,6 @@ dir = 5 }, /area/awaymission/moonoutpost19/arrivals) -"MD" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/radio/off{ - pixel_x = 8; - pixel_y = 17 - }, -/turf/open/floor/plating, -/area/awaymission/moonoutpost19/research) "MF" = ( /obj/structure/flora/rock/style_random{ pixel_y = -2 @@ -5773,13 +5758,6 @@ }, /turf/open/floor/iron, /area/awaymission/moonoutpost19/arrivals) -"MW" = ( -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = -4 - }, -/turf/open/floor/pod/dark, -/area/awaymission/moonoutpost19/tent) "Nf" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -5963,6 +5941,19 @@ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" }, /area/awaymission/moonoutpost19/syndicate) +"NY" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/siding/purple/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/dark/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/awaymission/moonoutpost19/research) "Oa" = ( /obj/structure/sink{ dir = 4; @@ -6029,7 +6020,7 @@ /obj/structure/table/wood, /obj/item/lighter, /obj/machinery/newscaster/directional/east, -/obj/item/clothing/mask/cigarette/cigar, +/obj/item/cigarette/cigar, /turf/open/floor/carpet/orange, /area/awaymission/moonoutpost19/arrivals) "Ov" = ( @@ -6523,17 +6514,6 @@ }, /turf/open/floor/iron/dark, /area/awaymission/moonoutpost19/arrivals) -"Ro" = ( -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/crap/empty, -/obj/item/stock_parts/power_store/cell/crap/empty, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = -16; - pixel_y = 4 - }, -/obj/machinery/cell_charger, -/turf/open/floor/pod/dark, -/area/awaymission/moonoutpost19/tent) "Rq" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -7205,6 +7185,17 @@ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" }, /area/awaymission/moonoutpost19/mines) +"VY" = ( +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/crap/empty, +/obj/item/stock_parts/power_store/cell/crap/empty, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = -16; + pixel_y = 4 + }, +/obj/machinery/cell_charger, +/turf/open/floor/pod/dark, +/area/awaymission/moonoutpost19/tent) "Wg" = ( /obj/structure/flora/rock/style_random{ pixel_y = -2 @@ -7709,15 +7700,6 @@ initial_gas_mix = "co2=48.7;n2=13.2;o2=32.4;TEMP=251" }, /area/awaymission/moonoutpost19/mines) -"Zw" = ( -/obj/effect/turf_decal/siding/purple, -/obj/effect/turf_decal/tile/dark/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/awaymission/moonoutpost19/research) "Zx" = ( /obj/structure/chair/office, /turf/open/floor/iron, @@ -32905,7 +32887,7 @@ uZ Nj nk nk -MD +ez eJ eI eJ @@ -33942,7 +33924,7 @@ Nt ap aK on -Zw +aq dZ bn lG @@ -34454,7 +34436,7 @@ dZ rH SX Sd -wU +NY ap Ts ea @@ -37487,7 +37469,7 @@ xm Ff My IP -MW +wc ZY CP qY @@ -37744,7 +37726,7 @@ xm Bz My IP -Ro +VY Uw Qx vj @@ -38296,7 +38278,7 @@ My My dZ ei -ex +Bg vU fl fC @@ -38553,7 +38535,7 @@ My My ea ef -AI +cp vx Gh qy @@ -41914,7 +41896,7 @@ hI qx RK bm -ty +uN hJ Gp hI @@ -42817,7 +42799,7 @@ ac ac aU uR -JO +JZ Ew ZT aU diff --git a/_maps/RandomZLevels/museum.dmm b/_maps/RandomZLevels/museum.dmm index cdea9ba141a13..2937250b1f9ba 100644 --- a/_maps/RandomZLevels/museum.dmm +++ b/_maps/RandomZLevels/museum.dmm @@ -4755,7 +4755,7 @@ /obj/structure/lattice/catwalk/mining, /obj/structure/railing, /obj/structure/table, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ icon_state = "cigaron"; lit = 1 }, diff --git a/_maps/RandomZLevels/research.dmm b/_maps/RandomZLevels/research.dmm index 7f862487515fc..1e84014fa0e1b 100644 --- a/_maps/RandomZLevels/research.dmm +++ b/_maps/RandomZLevels/research.dmm @@ -2461,9 +2461,7 @@ /turf/open/floor/wood, /area/awaymission/research/interior/dorm) "lN" = ( -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/siding/yellow{ dir = 4 @@ -2707,25 +2705,19 @@ "mK" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/grass, /area/awaymission/research/interior/escapepods) "mL" = ( /obj/structure/flora/bush/ferny/style_random, /obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/grass, /area/awaymission/research/interior/escapepods) "mM" = ( /obj/structure/flora/bush/grassy/style_random, /obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/grass, /area/awaymission/research/interior/escapepods) "mO" = ( diff --git a/_maps/RandomZLevels/snowdin.dmm b/_maps/RandomZLevels/snowdin.dmm index ac13cf870c55d..ee207f21e86d6 100644 --- a/_maps/RandomZLevels/snowdin.dmm +++ b/_maps/RandomZLevels/snowdin.dmm @@ -11586,7 +11586,6 @@ /obj/machinery/door_buttons/access_button{ idDoor = "snowdin_turbine_interior"; idSelf = "snowdin_turbine_access"; - layer = 3.1; name = "Turbine Airlock Control"; pixel_x = 8; pixel_y = -24 diff --git a/_maps/RandomZLevels/undergroundoutpost45.dmm b/_maps/RandomZLevels/undergroundoutpost45.dmm index 8ce159cb3993a..5eeed4517657e 100644 --- a/_maps/RandomZLevels/undergroundoutpost45.dmm +++ b/_maps/RandomZLevels/undergroundoutpost45.dmm @@ -555,6 +555,19 @@ }, /turf/open/floor/carpet, /area/awaymission/undergroundoutpost45/central) +"cM" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/awaymission/undergroundoutpost45/gateway) "cS" = ( /obj/machinery/portable_atmospherics/scrubber, /obj/structure/window/spawner/directional/west, @@ -616,9 +629,7 @@ /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/central) "do" = ( -/obj/item/kirbyplants{ - layer = 5 - }, +/obj/item/kirbyplants, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/green, /turf/open/floor/iron, @@ -1347,9 +1358,7 @@ /turf/open/floor/carpet, /area/awaymission/undergroundoutpost45/central) "fT" = ( -/obj/item/kirbyplants{ - layer = 5 - }, +/obj/item/kirbyplants, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -1710,9 +1719,7 @@ "hq" = ( /obj/structure/table, /obj/item/stack/package_wrap, -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /turf/open/floor/iron/cafeteria{ dir = 5 }, @@ -2158,14 +2165,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/awaymission/undergroundoutpost45/gateway) -"iY" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/white, -/area/awaymission/undergroundoutpost45/research) "iZ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -2454,9 +2453,7 @@ }, /area/awaymission/undergroundoutpost45/research) "kh" = ( -/obj/item/kirbyplants{ - layer = 5 - }, +/obj/item/kirbyplants, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/white, /area/awaymission/undergroundoutpost45/research) @@ -2622,6 +2619,13 @@ }, /turf/open/floor/iron/white, /area/awaymission/undergroundoutpost45/gateway) +"kN" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, +/turf/open/floor/iron, +/area/awaymission/undergroundoutpost45/engineering) "kO" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2982,6 +2986,15 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/crew_quarters) +"lV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/underground_outpost/research/directional/south, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/awaymission/undergroundoutpost45/research) "lW" = ( /obj/machinery/door/firedoor, /obj/structure/disposalpipe/segment, @@ -2991,16 +3004,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/crew_quarters) -"lX" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/mineral/plasma{ - amount = 26 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/awaymission/undergroundoutpost45/engineering) "lY" = ( /obj/machinery/light/small/directional/north, /obj/machinery/camera/directional/north{ @@ -3016,19 +3019,6 @@ }, /turf/open/floor/plating, /area/awaymission/undergroundoutpost45/engineering) -"ma" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/awaymission/undergroundoutpost45/gateway) "mb" = ( /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/gateway) @@ -3272,9 +3262,7 @@ /area/awaymission/undergroundoutpost45/research) "mQ" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/kirbyplants{ - layer = 5 - }, +/obj/item/kirbyplants, /turf/open/floor/iron/cafeteria{ dir = 5 }, @@ -3431,36 +3419,12 @@ dir = 5 }, /area/awaymission/undergroundoutpost45/research) -"no" = ( -/obj/machinery/computer/security{ - dir = 4; - network = list("uo45") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/awaymission/undergroundoutpost45/research) "np" = ( /obj/structure/chair/office{ dir = 1 }, /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/research) -"nq" = ( -/obj/structure/table, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring the research division and the labs within."; - dir = 8; - name = "research monitor"; - network = list("uo45r") - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/awaymission/undergroundoutpost45/research) "nr" = ( /obj/machinery/light/small/directional/east, /obj/effect/turf_decal/tile/purple{ @@ -3587,18 +3551,6 @@ dir = 5 }, /area/awaymission/undergroundoutpost45/research) -"nR" = ( -/obj/structure/table/reinforced, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring the research division and the labs within."; - name = "research monitor"; - network = list("uo45r") - }, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/awaymission/undergroundoutpost45/research) "nS" = ( /obj/machinery/light/small/directional/east, /obj/structure/window/reinforced/spawner/directional/north, @@ -4029,14 +3981,6 @@ dir = 5 }, /area/awaymission/undergroundoutpost45/research) -"pf" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/turf/open/floor/iron/cafeteria{ - dir = 5 - }, -/area/awaymission/undergroundoutpost45/research) "pg" = ( /obj/structure/secure_safe{ pixel_x = 5; @@ -4065,9 +4009,7 @@ /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/research) "pl" = ( -/obj/item/kirbyplants{ - layer = 5 - }, +/obj/item/kirbyplants, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 8 @@ -4278,7 +4220,6 @@ /area/awaymission/undergroundoutpost45/engineering) "qd" = ( /obj/machinery/meter{ - layer = 3.3; name = "Mixed Air Tank Out" }, /obj/machinery/atmospherics/pipe/layer_manifold/supply, @@ -4287,7 +4228,6 @@ /area/awaymission/undergroundoutpost45/engineering) "qe" = ( /obj/machinery/meter{ - layer = 3.3; name = "Mixed Air Tank In" }, /obj/machinery/atmospherics/pipe/smart/manifold4w/general, @@ -4400,9 +4340,7 @@ /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/engineering) "qI" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/closet/secure_closet/engineering_personal{ req_access = list("away_maintenance") }, @@ -4581,9 +4519,7 @@ /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/engineering) "rk" = ( -/obj/item/kirbyplants{ - layer = 5 - }, +/obj/item/kirbyplants, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 }, @@ -4899,6 +4835,17 @@ }, /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/engineering) +"sc" = ( +/obj/machinery/computer/security{ + dir = 4; + network = list("uo45") + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/underground_outpost/research/directional/west, +/turf/open/floor/iron, +/area/awaymission/undergroundoutpost45/research) "sd" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -4972,9 +4919,7 @@ /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/engineering) "sq" = ( -/obj/machinery/meter{ - layer = 3.3 - }, +/obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold4w/general, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -5143,9 +5088,7 @@ /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/engineering) "td" = ( -/obj/machinery/meter{ - layer = 3.3 - }, +/obj/machinery/meter, /obj/machinery/atmospherics/pipe/layer_manifold/orange{ dir = 4 }, @@ -5232,9 +5175,7 @@ /area/awaymission/undergroundoutpost45/engineering) "tw" = ( /obj/machinery/light/small/directional/south, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/portable_atmospherics/scrubber, /obj/effect/turf_decal/tile/red{ dir = 4 @@ -5583,17 +5524,13 @@ /turf/closed/wall/r_wall, /area/awaymission/undergroundoutpost45/engineering) "uI" = ( -/obj/machinery/meter{ - layer = 3.3 - }, +/obj/machinery/meter, /obj/machinery/atmospherics/pipe/layer_manifold/orange, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/awaymission/undergroundoutpost45/engineering) "uJ" = ( -/obj/machinery/meter{ - layer = 3.3 - }, +/obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -5954,13 +5891,6 @@ dir = 8 }, /area/awaymission/undergroundoutpost45/engineering) -"vW" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, -/turf/open/floor/iron, -/area/awaymission/undergroundoutpost45/engineering) "vY" = ( /obj/structure/closet/emcloset, /obj/item/clothing/mask/breath, @@ -5991,6 +5921,16 @@ /obj/item/bedsheet, /turf/open/floor/carpet, /area/awaymission/undergroundoutpost45/mining) +"we" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/mineral/plasma{ + amount = 26 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/awaymission/undergroundoutpost45/engineering) "wf" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/iron{ @@ -5999,9 +5939,7 @@ /area/awaymission/undergroundoutpost45/mining) "wg" = ( /obj/machinery/light/small/directional/north, -/obj/item/kirbyplants{ - layer = 5 - }, +/obj/item/kirbyplants, /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -6136,9 +6074,7 @@ /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/crew_quarters) "xd" = ( -/obj/machinery/meter{ - layer = 3.3 - }, +/obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold4w/green, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -6749,6 +6685,14 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/engineering) +"CM" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/white, +/area/awaymission/undergroundoutpost45/research) "CT" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -6758,6 +6702,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/awaymission/undergroundoutpost45/engineering) +"CW" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/awaymission/undergroundoutpost45/research) "De" = ( /obj/machinery/computer/monitor{ name = "primary power monitoring console" @@ -6893,6 +6845,13 @@ dir = 5 }, /area/awaymission/undergroundoutpost45/crew_quarters) +"ET" = ( +/obj/structure/table/reinforced, +/obj/structure/window/reinforced/spawner/directional/north, +/turf/open/floor/iron/cafeteria{ + dir = 5 + }, +/area/awaymission/undergroundoutpost45/research) "Fd" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/command/glass{ @@ -27483,7 +27442,7 @@ jG gw ky DB -ma +cM mB gK ad @@ -33131,7 +33090,7 @@ gX hB ig ze -iY +CM jr jO mU @@ -34427,7 +34386,7 @@ mP nn nQ oz -pf +lV gy ql qT @@ -34682,7 +34641,7 @@ lL mj mP mP -nR +ET oA pg gy @@ -35452,7 +35411,7 @@ Mg lM hH mR -no +sc RC oC ph @@ -35966,7 +35925,7 @@ kV lM hH mT -nq +CW nV WG lu @@ -48059,7 +48018,7 @@ rr qb RF vy -vW +kN ni ln ni @@ -48813,7 +48772,7 @@ ad ad ad ln -lX +we mz ln nK diff --git a/_maps/deathmatch/OSHA_Violator.dmm b/_maps/deathmatch/OSHA_Violator.dmm index fc8291d181449..fd00138744733 100644 --- a/_maps/deathmatch/OSHA_Violator.dmm +++ b/_maps/deathmatch/OSHA_Violator.dmm @@ -252,9 +252,6 @@ /obj/structure/cable, /turf/open/indestructible, /area/deathmatch) -"sa" = ( -/turf/cordon, -/area/template_noop) "sb" = ( /obj/structure/frame/machine/secured, /turf/open/indestructible, @@ -1087,34 +1084,6 @@ /area/template_noop) (1,1,1) = {" -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -"} -(2,1,1) = {" -sa je je je @@ -1138,10 +1107,8 @@ je je je je -sa "} -(3,1,1) = {" -sa +(2,1,1) = {" je ai ai @@ -1165,10 +1132,8 @@ je je je je -sa "} -(4,1,1) = {" -sa +(3,1,1) = {" je ai bW @@ -1192,10 +1157,8 @@ je je je je -sa "} -(5,1,1) = {" -sa +(4,1,1) = {" je ai cA @@ -1219,10 +1182,8 @@ je je je je -sa "} -(6,1,1) = {" -sa +(5,1,1) = {" je aE cA @@ -1246,10 +1207,8 @@ je je je je -sa "} -(7,1,1) = {" -sa +(6,1,1) = {" je aE cA @@ -1273,10 +1232,8 @@ ai ai ai je -sa "} -(8,1,1) = {" -sa +(7,1,1) = {" je ai cA @@ -1300,10 +1257,8 @@ cA cA aE je -sa "} -(9,1,1) = {" -sa +(8,1,1) = {" je ai cA @@ -1327,10 +1282,8 @@ cA cA aE je -sa "} -(10,1,1) = {" -sa +(9,1,1) = {" je ai aE @@ -1354,10 +1307,8 @@ ai aE ai je -sa "} -(11,1,1) = {" -sa +(10,1,1) = {" je ai cR @@ -1381,10 +1332,8 @@ ai cR ai je -sa "} -(12,1,1) = {" -sa +(11,1,1) = {" je ai YA @@ -1408,10 +1357,8 @@ ai YA ai je -sa "} -(13,1,1) = {" -sa +(12,1,1) = {" je ai Ea @@ -1435,10 +1382,8 @@ Xp yo ai je -sa "} -(14,1,1) = {" -sa +(13,1,1) = {" je ai do @@ -1462,10 +1407,8 @@ gN Px ai je -sa "} -(15,1,1) = {" -sa +(14,1,1) = {" je ai dt @@ -1489,10 +1432,8 @@ gN YY ai je -sa "} -(16,1,1) = {" -sa +(15,1,1) = {" je ai do @@ -1516,10 +1457,8 @@ gN Px ai je -sa "} -(17,1,1) = {" -sa +(16,1,1) = {" je ai do @@ -1543,10 +1482,8 @@ gN Px ai je -sa "} -(18,1,1) = {" -sa +(17,1,1) = {" je ai dy @@ -1570,10 +1507,8 @@ gN Px ai je -sa "} -(19,1,1) = {" -sa +(18,1,1) = {" je bl do @@ -1597,10 +1532,8 @@ gN Px bl je -sa "} -(20,1,1) = {" -sa +(19,1,1) = {" je bl do @@ -1624,10 +1557,8 @@ XU Px bl Zr -sa "} -(21,1,1) = {" -sa +(20,1,1) = {" je bl do @@ -1651,10 +1582,8 @@ Yn Px bl Zz -sa "} -(22,1,1) = {" -sa +(21,1,1) = {" je bl Bv @@ -1678,10 +1607,8 @@ Yn UI bl je -sa "} -(23,1,1) = {" -sa +(22,1,1) = {" je bl do @@ -1705,10 +1632,8 @@ Yz Px bl je -sa "} -(24,1,1) = {" -sa +(23,1,1) = {" je bl do @@ -1732,10 +1657,8 @@ YJ Px bl ZD -sa "} -(25,1,1) = {" -sa +(24,1,1) = {" ac bl do @@ -1759,10 +1682,8 @@ gN Px bl je -sa "} -(26,1,1) = {" -sa +(25,1,1) = {" ae ai do @@ -1786,10 +1707,8 @@ gN Px ai je -sa "} -(27,1,1) = {" -sa +(26,1,1) = {" je ai do @@ -1813,10 +1732,8 @@ gN Zi ai je -sa "} -(28,1,1) = {" -sa +(27,1,1) = {" je ai do @@ -1840,10 +1757,8 @@ gN Px ai je -sa "} -(29,1,1) = {" -sa +(28,1,1) = {" je ai dt @@ -1867,10 +1782,8 @@ gN YY ai je -sa "} -(30,1,1) = {" -sa +(29,1,1) = {" je ai do @@ -1894,10 +1807,8 @@ gN Px ai je -sa "} -(31,1,1) = {" -sa +(30,1,1) = {" je ai do @@ -1921,10 +1832,8 @@ ig Px ai je -sa "} -(32,1,1) = {" -sa +(31,1,1) = {" je ai do @@ -1948,10 +1857,8 @@ ig Px ai je -sa "} -(33,1,1) = {" -sa +(32,1,1) = {" je ai do @@ -1975,10 +1882,8 @@ gN Px ai je -sa "} -(34,1,1) = {" -sa +(33,1,1) = {" je ai do @@ -2002,10 +1907,8 @@ YU Px ai je -sa "} -(35,1,1) = {" -sa +(34,1,1) = {" je ai bl @@ -2029,10 +1932,8 @@ ai bl ai je -sa "} -(36,1,1) = {" -sa +(35,1,1) = {" je ai cR @@ -2056,10 +1957,8 @@ gC cR ai je -sa "} -(37,1,1) = {" -sa +(36,1,1) = {" je aE cA @@ -2083,10 +1982,8 @@ gN cA aE je -sa "} -(38,1,1) = {" -sa +(37,1,1) = {" je ai fH @@ -2110,10 +2007,8 @@ gN fH ai je -sa "} -(39,1,1) = {" -sa +(38,1,1) = {" je ai ai @@ -2137,32 +2032,4 @@ ai ai ai je -sa -"} -(40,1,1) = {" -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa -sa "} diff --git a/_maps/deathmatch/meta_brig.dmm b/_maps/deathmatch/meta_brig.dmm index 208b2c994737d..60b8d8a471b0a 100644 --- a/_maps/deathmatch/meta_brig.dmm +++ b/_maps/deathmatch/meta_brig.dmm @@ -258,6 +258,16 @@ "du" = ( /turf/closed/indestructible/fakedoor, /area/deathmatch) +"dy" = ( +/obj/structure/chair/stool/directional/east, +/obj/effect/turf_decal/trimline/red/warning{ + dir = 4 + }, +/obj/machinery/flasher/directional/north{ + id = "visitorflash" + }, +/turf/open/floor/iron, +/area/deathmatch) "dA" = ( /obj/effect/turf_decal/tile/blue{ dir = 8 @@ -451,12 +461,7 @@ /area/deathmatch) "hS" = ( /obj/structure/table/wood, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = 30 - }, +/obj/machinery/computer/security/telescreen/prison/directional/north, /obj/item/flashlight/lamp/green{ pixel_x = 1; pixel_y = 5 @@ -1630,8 +1635,13 @@ /turf/open/indestructible/dark, /area/deathmatch) "yN" = ( -/turf/cordon, -/area/template_noop) +/obj/effect/decal/cleanable/dirt, +/obj/structure/chair/stool/directional/east, +/obj/effect/turf_decal/trimline/red/warning{ + dir = 4 + }, +/turf/open/floor/iron, +/area/deathmatch) "yO" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -2880,13 +2890,7 @@ /turf/open/indestructible, /area/deathmatch) "PV" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - dir = 1; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = -30 - }, +/obj/machinery/computer/security/telescreen/prison/directional/south, /obj/structure/cable, /obj/effect/turf_decal/tile/red{ dir = 8 @@ -3629,8 +3633,8 @@ IJ Yh Yh Yh -yN -yN +dy +YW yN IJ IJ diff --git a/_maps/deathmatch/ragecage.dmm b/_maps/deathmatch/ragecage.dmm index b5871e89c24f1..a96ab76b53829 100644 --- a/_maps/deathmatch/ragecage.dmm +++ b/_maps/deathmatch/ragecage.dmm @@ -208,31 +208,8 @@ /obj/item/storage/toolbox/mechanical/old, /turf/open/indestructible/plating, /area/deathmatch) -"Z" = ( -/turf/cordon, -/area/deathmatch) (1,1,1) = {" -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -"} -(2,1,1) = {" -Z G G H @@ -248,10 +225,8 @@ G H G G -Z "} -(3,1,1) = {" -Z +(2,1,1) = {" G p u @@ -267,10 +242,8 @@ U U f G -Z "} -(4,1,1) = {" -Z +(3,1,1) = {" G U B @@ -286,10 +259,8 @@ V V X G -Z "} -(5,1,1) = {" -Z +(4,1,1) = {" G U L @@ -305,10 +276,8 @@ A g U G -Z "} -(6,1,1) = {" -Z +(5,1,1) = {" G U d @@ -324,10 +293,8 @@ U x U G -Z "} -(7,1,1) = {" -Z +(6,1,1) = {" G X d @@ -343,10 +310,8 @@ U x U q -Z "} -(8,1,1) = {" -Z +(7,1,1) = {" G U d @@ -362,10 +327,8 @@ U R U G -Z "} -(9,1,1) = {" -Z +(8,1,1) = {" G U d @@ -381,10 +344,8 @@ U R U o -Z "} -(10,1,1) = {" -Z +(9,1,1) = {" G D d @@ -400,10 +361,8 @@ t R D o -Z "} -(11,1,1) = {" -Z +(10,1,1) = {" G U d @@ -419,10 +378,8 @@ U R U o -Z "} -(12,1,1) = {" -Z +(11,1,1) = {" G I d @@ -438,10 +395,8 @@ U R U G -Z "} -(13,1,1) = {" -Z +(12,1,1) = {" G U d @@ -457,10 +412,8 @@ i R I q -Z "} -(14,1,1) = {" -Z +(13,1,1) = {" G U d @@ -476,10 +429,8 @@ M R U G -Z "} -(15,1,1) = {" -Z +(14,1,1) = {" G U z @@ -495,10 +446,8 @@ P K U G -Z "} -(16,1,1) = {" -Z +(15,1,1) = {" G U m @@ -514,10 +463,8 @@ m m U G -Z "} -(17,1,1) = {" -Z +(16,1,1) = {" G f U @@ -533,10 +480,8 @@ U U f G -Z "} -(18,1,1) = {" -Z +(17,1,1) = {" G G H @@ -552,24 +497,4 @@ G H G G -Z -"} -(19,1,1) = {" -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z -Z "} diff --git a/_maps/deathmatch/ragin_mages.dmm b/_maps/deathmatch/ragin_mages.dmm index 8c42ef8665a18..3dcdb966d1147 100644 --- a/_maps/deathmatch/ragin_mages.dmm +++ b/_maps/deathmatch/ragin_mages.dmm @@ -761,11 +761,8 @@ /turf/open/floor/engine/cult, /area/deathmatch/teleport) "Xv" = ( +/obj/structure/railing, /obj/structure/railing{ - layer = 3.1 - }, -/obj/structure/railing{ - layer = 3.1; dir = 1 }, /turf/open/floor/engine/cult, diff --git a/_maps/deathmatch/underground_arena.dmm b/_maps/deathmatch/underground_arena.dmm index d407234f0ab2f..4d776acb0b416 100644 --- a/_maps/deathmatch/underground_arena.dmm +++ b/_maps/deathmatch/underground_arena.dmm @@ -473,9 +473,6 @@ }, /turf/open/indestructible/vault, /area/deathmatch) -"En" = ( -/turf/cordon, -/area/deathmatch) "EA" = ( /obj/effect/landmark/deathmatch_player_spawn, /turf/open/indestructible/dark/smooth_large, @@ -889,41 +886,6 @@ /area/deathmatch) (1,1,1) = {" -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -"} -(2,1,1) = {" -En qa qa qa @@ -954,10 +916,8 @@ qa qa qa qa -En "} -(3,1,1) = {" -En +(2,1,1) = {" qa aI aI @@ -988,10 +948,8 @@ aI aI aI qa -En "} -(4,1,1) = {" -En +(3,1,1) = {" qa aI aI @@ -1022,10 +980,8 @@ aI aI aI qa -En "} -(5,1,1) = {" -En +(4,1,1) = {" qa aI aI @@ -1056,10 +1012,8 @@ qa aI aI qa -En "} -(6,1,1) = {" -En +(5,1,1) = {" qa aI aI @@ -1090,10 +1044,8 @@ qa aI aI qa -En "} -(7,1,1) = {" -En +(6,1,1) = {" qa aI aI @@ -1124,10 +1076,8 @@ qa aI aI qa -En "} -(8,1,1) = {" -En +(7,1,1) = {" qa aI aI @@ -1158,10 +1108,8 @@ qa aI aI qa -En "} -(9,1,1) = {" -En +(8,1,1) = {" qa aI aI @@ -1192,10 +1140,8 @@ qa aI aI qa -En "} -(10,1,1) = {" -En +(9,1,1) = {" qa aI aI @@ -1226,10 +1172,8 @@ qa aI aI qa -En "} -(11,1,1) = {" -En +(10,1,1) = {" qa aI aI @@ -1260,10 +1204,8 @@ qa aI aI qa -En "} -(12,1,1) = {" -En +(11,1,1) = {" qa aI aI @@ -1294,10 +1236,8 @@ qa aI aI qa -En "} -(13,1,1) = {" -En +(12,1,1) = {" qa aI aI @@ -1328,10 +1268,8 @@ qa aI aI qa -En "} -(14,1,1) = {" -En +(13,1,1) = {" qa aI aI @@ -1362,10 +1300,8 @@ fX aI aI qa -En "} -(15,1,1) = {" -En +(14,1,1) = {" qa aI aI @@ -1396,10 +1332,8 @@ xK aI aI qa -En "} -(16,1,1) = {" -En +(15,1,1) = {" qa aI aI @@ -1430,10 +1364,8 @@ sd aI aI qa -En "} -(17,1,1) = {" -En +(16,1,1) = {" qa aI aI @@ -1464,10 +1396,8 @@ aI aI aI qa -En "} -(18,1,1) = {" -En +(17,1,1) = {" qa aI aI @@ -1498,10 +1428,8 @@ aI aI aI qa -En "} -(19,1,1) = {" -En +(18,1,1) = {" qa aI aI @@ -1532,10 +1460,8 @@ aI aI aI qa -En "} -(20,1,1) = {" -En +(19,1,1) = {" qa aI aI @@ -1566,10 +1492,8 @@ mz aI aI qa -En "} -(21,1,1) = {" -En +(20,1,1) = {" qa aI aI @@ -1600,10 +1524,8 @@ qa aI aI qa -En "} -(22,1,1) = {" -En +(21,1,1) = {" qa aI aI @@ -1634,10 +1556,8 @@ qa aI aI qa -En "} -(23,1,1) = {" -En +(22,1,1) = {" qa aI aI @@ -1668,10 +1588,8 @@ qa aI aI qa -En "} -(24,1,1) = {" -En +(23,1,1) = {" qa aI aI @@ -1702,10 +1620,8 @@ qa aI aI qa -En "} -(25,1,1) = {" -En +(24,1,1) = {" qa aI aI @@ -1736,10 +1652,8 @@ xG aI aI qa -En "} -(26,1,1) = {" -En +(25,1,1) = {" qa aI aI @@ -1770,10 +1684,8 @@ xG aI aI qa -En "} -(27,1,1) = {" -En +(26,1,1) = {" qa aI aI @@ -1804,10 +1716,8 @@ qa aI aI qa -En "} -(28,1,1) = {" -En +(27,1,1) = {" qa aI aI @@ -1838,10 +1748,8 @@ qa aI aI qa -En "} -(29,1,1) = {" -En +(28,1,1) = {" qa aI aI @@ -1872,10 +1780,8 @@ aI aI aI qa -En "} -(30,1,1) = {" -En +(29,1,1) = {" qa aI aI @@ -1906,10 +1812,8 @@ aI aI aI qa -En "} -(31,1,1) = {" -En +(30,1,1) = {" qa qa qa @@ -1940,39 +1844,4 @@ qa qa qa qa -En -"} -(32,1,1) = {" -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En -En "} diff --git a/_maps/map_files/Basketball/ass_blast_usa.dmm b/_maps/map_files/Basketball/ass_blast_usa.dmm index 4b3354ba6495d..baeb945de7678 100644 --- a/_maps/map_files/Basketball/ass_blast_usa.dmm +++ b/_maps/map_files/Basketball/ass_blast_usa.dmm @@ -102,9 +102,7 @@ "jj" = ( /obj/structure/table/reinforced, /obj/item/book/manual/wiki/cooking_to_serve_man, -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /obj/item/food/bun, /obj/item/food/bun, /obj/item/food/bun, diff --git a/_maps/map_files/Basketball/beach_bums.dmm b/_maps/map_files/Basketball/beach_bums.dmm index 517e70f2b630a..d13215d7ca835 100644 --- a/_maps/map_files/Basketball/beach_bums.dmm +++ b/_maps/map_files/Basketball/beach_bums.dmm @@ -459,7 +459,6 @@ pixel_y = 13 }, /obj/item/fishing_line{ - layer = 4; pixel_x = 6; pixel_y = 3 }, diff --git a/_maps/map_files/Birdshot/birdshot.dmm b/_maps/map_files/Birdshot/birdshot.dmm index e830561e58900..2bae67e2f3557 100644 --- a/_maps/map_files/Birdshot/birdshot.dmm +++ b/_maps/map_files/Birdshot/birdshot.dmm @@ -44,6 +44,12 @@ /obj/structure/window/spawner/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"aaZ" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/tile/blue, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "abh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59,6 +65,10 @@ /obj/machinery/power/tracker, /turf/open/space/basic, /area/station/solars/aft) +"abB" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall/r_wall, +/area/station/hallway/primary/port) "abJ" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -143,26 +153,21 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/hallway) -"aeq" = ( -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/flora/bush/flowers_br/style_random, -/obj/structure/flora/bush/leavy/style_random, -/obj/structure/flora/bush/stalky/style_random, -/obj/structure/window/spawner/directional/north, -/obj/structure/window/spawner/directional/south, -/turf/open/floor/grass, -/area/station/hallway/secondary/service) -"aes" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "kitchenshutters"; - name = "Kitchen Shutters" +"aef" = ( +/obj/structure/flora/bush/flowers_yw/style_3{ + pixel_x = 5; + pixel_y = -5 }, -/obj/item/plate, -/obj/item/food/sandwich/peanut_butter_jelly, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) +/obj/structure/flora/bush/flowers_br/style_random{ + pixel_y = -5; + pixel_x = 3 + }, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "aeu" = ( /obj/structure/grille, /turf/open/floor/plating, @@ -187,19 +192,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/science/genetics) -"aeN" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "aeX" = ( /obj/structure/window/spawner/directional/east, /obj/item/kirbyplants/random, @@ -264,7 +256,7 @@ /area/station/medical/virology) "agp" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/cigar/cohiba, +/obj/item/cigarette/cigar/cohiba, /turf/open/floor/carpet, /area/station/commons/dorms) "agy" = ( @@ -275,19 +267,6 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/plating, /area/station/science/ordnance/storage) -"agC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/sign/departments/vault/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) -"agF" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/sofa/bamboo/right{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/chapel) "agI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ @@ -314,6 +293,39 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark/small, /area/station/engineering/storage_shared) +"agY" = ( +/obj/machinery/door/airlock/engineering{ + name = "Main Engineering" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) +"ahf" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) +"ahl" = ( +/obj/structure/flora/tree/jungle/style_5, +/turf/open/floor/grass, +/area/station/service/chapel) +"ahr" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "ahu" = ( /obj/effect/turf_decal/siding/blue{ dir = 1 @@ -353,15 +365,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"aiE" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "aiK" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -378,6 +381,24 @@ }, /turf/open/floor/engine/airless, /area/station/engineering/atmos) +"aiQ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) +"ajQ" = ( +/obj/effect/spawner/random/maintenance, +/obj/effect/spawner/random/structure/closet_maintenance, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "ako" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -442,9 +463,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"akZ" = ( -/turf/closed/mineral/random/stationside, -/area/space) "alb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -458,16 +476,6 @@ /obj/item/pen, /turf/open/floor/carpet/lone, /area/station/service/chapel/office) -"alh" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=1.5-PNexus-Vault"; - location = "1.0-Security-PNexus" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "all" = ( /obj/structure/table/greyscale, /obj/item/folder/yellow{ @@ -483,6 +491,10 @@ }, /turf/open/floor/iron/grimy, /area/station/engineering/main) +"als" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "alF" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -499,6 +511,18 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/maintenance/solars/starboard/aft) +"amh" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "amE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -523,14 +547,17 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"amI" = ( -/obj/effect/turf_decal/trimline/neutral/line{ +"amK" = ( +/obj/machinery/icecream_vat, +/obj/effect/turf_decal/weather/snow/corner{ dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/light/small/directional/north, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "amV" = ( /obj/structure/lattice/catwalk, /obj/structure/railing, @@ -546,6 +573,12 @@ }, /turf/open/floor/wood/tile, /area/station/command/bridge) +"ani" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "anJ" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -554,6 +587,10 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron, /area/station/medical/chemistry) +"anX" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/ai_monitored/command/nuke_storage) "aoa" = ( /obj/machinery/telecomms/server/presets/supply, /turf/open/floor/circuit, @@ -572,15 +609,6 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"aoy" = ( -/obj/structure/table/wood, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - South" - }, -/obj/item/stack/cable_coil/five, -/obj/effect/turf_decal/siding/wideplating_new/terracotta, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) "aoz" = ( /obj/structure/closet/secure_closet/captains, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -589,14 +617,6 @@ /obj/item/storage/lockbox/medal, /turf/open/floor/carpet/executive, /area/station/command/heads_quarters/captain/private) -"aoJ" = ( -/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/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "aoL" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -610,13 +630,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"apj" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer5{ - dir = 4 - }, -/turf/open/floor/plating/airless, -/area/space) "apk" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/dark_red{ @@ -643,6 +656,12 @@ /obj/structure/cable, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) +"apq" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "apB" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -657,6 +676,15 @@ "apZ" = ( /turf/open/floor/engine/helium, /area/station/ai_monitored/turret_protected/ai) +"aqf" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "aqn" = ( /obj/effect/turf_decal/siding/dark{ dir = 4 @@ -668,6 +696,21 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"aqG" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=16.0-CentralFore-CentralPort"; + location = "15.0-CentralStarboard-CentralFore" + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "aqV" = ( /obj/machinery/door/airlock/glass, /obj/machinery/door/firedoor, @@ -757,25 +800,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white, /area/station/medical/paramedic) -"asn" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/pew/right{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/station/service/theater) -"asN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Diner" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/service/cafeteria) "asZ" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ @@ -843,15 +867,29 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"atM" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +"atS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "atW" = ( /turf/open/floor/iron/chapel{ dir = 8 }, /area/station/maintenance/starboard/greater) +"aub" = ( +/obj/structure/sign/departments/botany/alt1/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "auc" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -868,11 +906,25 @@ /obj/machinery/light/small/dim/directional/south, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"aul" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/dark_red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "aus" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) +"auF" = ( +/obj/item/radio/intercom/directional/west, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) "auG" = ( /obj/structure/chair{ dir = 1 @@ -888,6 +940,17 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/fore) +"auP" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 8 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/east, +/obj/structure/cable, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "auQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -911,6 +974,22 @@ "ave" = ( /turf/open/space, /area/space) +"avp" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"avr" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/pdapainter/research, +/obj/machinery/computer/security/telescreen/rd/directional/north, +/obj/effect/turf_decal/siding/purple{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/rd) "avB" = ( /obj/effect/turf_decal/tile/red{ dir = 4 @@ -942,17 +1021,40 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"avY" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "awe" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 }, /turf/open/floor/tram, /area/station/security/tram) -"aws" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/blue/half, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +"aww" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"awC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "awE" = ( /obj/structure/disposalpipe/sorting/mail/flip{ dir = 8 @@ -974,14 +1076,6 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) -"awN" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/clown, -/turf/open/floor/stone, -/area/station/service/theater) "awO" = ( /turf/open/floor/iron, /area/station/engineering/storage/tech) @@ -1004,6 +1098,15 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/misc/sandy_dirt, /area/station/hallway/secondary/entry) +"axd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/directions/vault/directional/south{ + dir = 8 + }, +/turf/closed/wall, +/area/station/hallway/primary/central/aft) "axj" = ( /obj/item/radio/intercom/directional/east, /turf/open/floor/iron, @@ -1039,7 +1142,7 @@ /obj/machinery/sparker/directional/north{ id = "Xenobio" }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "axX" = ( /obj/effect/turf_decal/siding/yellow, @@ -1107,6 +1210,15 @@ }, /turf/open/floor/wood, /area/station/engineering/main) +"ayT" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new/light/corner{ + dir = 8 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "ayV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1189,6 +1301,20 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"azV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_half, +/area/station/security/brig/entrance) "azZ" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/iron/white/small, @@ -1266,6 +1392,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"aBo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "aBu" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -1285,16 +1421,14 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/medical/morgue) -"aBy" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"aBB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/junction/flip{ - dir = 1 +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "aBK" = ( /obj/structure/dresser, /obj/effect/turf_decal/siding/wood{ @@ -1326,6 +1460,12 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"aCz" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/machinery/light/small/directional/south, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/grass, +/area/station/service/chapel) "aCM" = ( /obj/effect/spawner/random/structure/crate_abandoned, /obj/structure/alien/weeds, @@ -1357,6 +1497,16 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"aDJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/directions/vault/directional/west{ + dir = 2 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "aEa" = ( /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/tram, @@ -1390,17 +1540,18 @@ dir = 8 }, /area/station/hallway/primary/central/fore) -"aEl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"aEo" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, /obj/effect/turf_decal/stripes/line{ - dir = 1 + dir = 8 }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/effect/landmark/navigate_destination/teleporter, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "aEq" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -1441,6 +1592,13 @@ /obj/machinery/shower/directional/west, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine) +"aFb" = ( +/obj/structure/flora/grass/jungle/b/style_3{ + pixel_y = -6; + pixel_x = -5 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "aFh" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -1513,6 +1671,13 @@ /obj/machinery/door/window/right/directional/west, /turf/open/floor/engine, /area/station/engineering/supermatter) +"aGq" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "aGv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -1612,6 +1777,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"aIi" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/service/library) "aIk" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -1620,6 +1792,15 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"aIr" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/right/directional/south, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" + }, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "aIu" = ( /obj/structure/bookcase/random/reference, /obj/machinery/camera/autoname/directional/north, @@ -1753,6 +1934,9 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) +"aLm" = ( +/turf/closed/wall/rust, +/area/station/cargo/drone_bay) "aLr" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -1782,6 +1966,33 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"aLB" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 5 + }, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) +"aLC" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/light/cold/directional/east, +/obj/machinery/power/apc/auto_name/directional/east{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) +"aLS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "aLU" = ( /obj/structure/chair{ dir = 4 @@ -1809,6 +2020,13 @@ /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, /turf/open/floor/plating, /area/station/science/ordnance/testlab) +"aMZ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "aNc" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -1816,6 +2034,16 @@ }, /turf/open/space/basic, /area/space/nearstation) +"aNj" = ( +/obj/machinery/door/airlock/public{ + name = "Arcade" + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron/textured_half, +/area/station/hallway/primary/central/fore) "aNk" = ( /obj/machinery/suit_storage_unit/security, /turf/open/floor/iron/small, @@ -1875,6 +2103,27 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"aOh" = ( +/obj/machinery/status_display/ai/directional/south, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) +"aOt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/warm/dim, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "aOz" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -1904,12 +2153,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"aPj" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) "aPx" = ( /obj/structure/chair{ dir = 1 @@ -1943,6 +2186,13 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"aPK" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "aPM" = ( /obj/structure/chair/sofa/bench/right, /obj/machinery/firealarm/directional/north, @@ -1960,6 +2210,17 @@ /obj/machinery/holopad, /turf/open/floor/iron/smooth_large, /area/station/science/robotics/mechbay) +"aQc" = ( +/obj/structure/flora/bush/flowers_br/style_random, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "aQf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -2041,6 +2302,14 @@ /obj/effect/turf_decal/trimline/neutral/end, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"aRS" = ( +/obj/effect/turf_decal/stripes/line, +/obj/machinery/computer/security/telescreen/turbine/directional/south, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/maintenance/disposal/incinerator) "aRT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/newscaster/directional/west, @@ -2075,18 +2344,23 @@ /obj/structure/toilet{ dir = 4 }, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/poster/official/random/directional/west, /obj/machinery/button/door/directional/north{ + id = "Toilet1"; + specialfunctions = 4; name = "Lock Control"; - id = "Toilet1" + normaldoorcontrol = 1 }, -/obj/machinery/light/small/directional/west, -/obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/white/small, /area/station/commons/toilet/restrooms) "aTc" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"aTg" = ( +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "aTn" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, @@ -2102,12 +2376,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/dark, /area/station/security/office) -"aTr" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "aTx" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -2117,6 +2385,15 @@ }, /turf/open/floor/plating/airless, /area/station/science/ordnance/bomb) +"aTz" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "aTG" = ( /obj/structure/table/reinforced, /obj/machinery/requests_console/directional/east{ @@ -2161,6 +2438,13 @@ dir = 1 }, /area/station/engineering/supermatter/room) +"aVA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/stone, +/area/station/service/bar) "aVF" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -2207,6 +2491,13 @@ "aWc" = ( /turf/open/floor/iron/small, /area/station/security/tram) +"aWf" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "aWi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2219,18 +2510,14 @@ /obj/effect/mapping_helpers/airlock/access/all/security/general, /turf/open/floor/iron/textured_half, /area/station/security/execution/transfer) +"aWr" = ( +/obj/structure/flora/tree/jungle/small, +/turf/open/misc/dirt/jungle, +/area/station/service/chapel) "aWt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security/prison/garden) -"aWw" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/flora/bush/sunny/style_random, -/obj/machinery/light/small/directional/west, -/turf/open/floor/grass, -/area/station/service/chapel) "aWx" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -2265,6 +2552,12 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/office) +"aXC" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/closed/wall, +/area/station/hallway/primary/central/fore) "aXI" = ( /turf/closed/wall/r_wall, /area/station/science/lobby) @@ -2274,6 +2567,16 @@ /obj/item/canvas/twentythree_twentythree, /turf/open/floor/iron, /area/station/commons/storage/art) +"aYj" = ( +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/service/bar/backroom) "aYp" = ( /obj/structure/chair, /obj/effect/turf_decal/stripes/line{ @@ -2313,6 +2616,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"aYU" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "aYY" = ( /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/misc/sandy_dirt, @@ -2327,6 +2635,12 @@ }, /turf/open/floor/plating/rust, /area/station/engineering/supermatter/room) +"aZh" = ( +/obj/machinery/modular_computer/preset/curator{ + dir = 8 + }, +/turf/open/floor/carpet, +/area/station/service/library) "aZu" = ( /obj/machinery/power/emitter{ dir = 4 @@ -2384,6 +2698,22 @@ /obj/structure/alien/weeds, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) +"baJ" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"baO" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/spawner/random/entertainment/arcade{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "baP" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -2394,6 +2724,15 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"baW" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/effect/landmark/start/assistant, +/turf/open/floor/stone, +/area/station/service/bar) "bba" = ( /obj/effect/turf_decal/siding/blue{ dir = 8 @@ -2449,6 +2788,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/small, /area/station/medical/medbay/lobby) +"bcC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "bcK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -2514,6 +2860,13 @@ "beg" = ( /turf/closed/wall/r_wall, /area/station/engineering/hallway) +"bej" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "bey" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -2521,20 +2874,20 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"beH" = ( -/obj/machinery/bookbinder, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/library) "beK" = ( /turf/open/floor/iron/smooth, /area/station/security/evidence) -"beR" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/spawner/random/entertainment/arcade, -/obj/effect/decal/cleanable/cobweb/cobweb2, +"beN" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +/area/station/hallway/primary/port) "bfe" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/autoname/directional/west, @@ -2548,19 +2901,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/herringbone, /area/station/service/abandoned_gambling_den/gaming) -"bfI" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/brown/full, -/obj/machinery/chem_dispenser/drinks/beer{ - dir = 1 - }, -/obj/machinery/requests_console/directional/south{ - department = "Bar"; - name = "Bar Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "bgg" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -2592,6 +2932,18 @@ }, /turf/open/floor/iron/dark/small, /area/station/engineering/lobby) +"bgx" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/vault{ + name = "Vault" + }, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/herringbone, +/area/station/ai_monitored/command/nuke_storage) "bgy" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -2620,11 +2972,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"bgK" = ( -/obj/structure/sink/kitchen/directional/east, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "bgQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -2682,6 +3029,21 @@ /obj/structure/cable/multilayer, /turf/open/floor/plating, /area/station/science/xenobiology) +"bje" = ( +/obj/structure/chair/sofa/bench{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) +"bjh" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood, +/area/station/cargo/boutique) "bji" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2708,15 +3070,6 @@ /obj/structure/marker_beacon/burgundy, /turf/open/space/basic, /area/space/nearstation) -"bjV" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/airalarm/directional/north, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "bjZ" = ( /turf/open/floor/tram, /area/station/security/tram) @@ -2816,19 +3169,29 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/iron, /area/station/cargo/miningoffice) -"blq" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "bly" = ( /obj/structure/closet/crate/miningcar, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"blB" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar) +"blC" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "blJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -2880,13 +3243,6 @@ /mob/living/basic/bot/medbot/autopatrol, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"bmM" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "bmN" = ( /obj/structure/railing{ dir = 4 @@ -2906,6 +3262,27 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/tram, /area/station/security/tram) +"bmY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"bnn" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "bno" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2944,6 +3321,23 @@ /obj/machinery/suit_storage_unit/cmo, /turf/open/floor/wood/parquet, /area/station/command/heads_quarters/cmo) +"bnQ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/rock/pile/jungle/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) +"bnU" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "bnV" = ( /obj/machinery/airalarm/directional/east, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -3086,6 +3480,19 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/medical/virology) +"bpY" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "bqd" = ( /obj/item/reagent_containers/cup/bottle/ammonia, /obj/structure/steam_vent, @@ -3163,10 +3570,21 @@ }, /turf/open/space/basic, /area/space/nearstation) +"brj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) "bro" = ( /obj/structure/frame/machine, /turf/open/floor/tram, /area/station/security/tram) +"brw" = ( +/obj/structure/chair{ + pixel_y = -2 + }, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "bry" = ( /obj/structure/table, /obj/item/storage/toolbox/mechanical{ @@ -3290,6 +3708,17 @@ }, /turf/open/floor/wood, /area/station/engineering/main) +"btY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "bua" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -3297,6 +3726,21 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"buc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/stool/bamboo, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) +"buf" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security) "buA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3315,6 +3759,17 @@ /obj/machinery/bluespace_vendor/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"buU" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/five, +/obj/item/stack/cable_coil/five, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/item/radio/intercom/directional/east, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "buV" = ( /obj/effect/turf_decal/tile/green/half/contrasted{ dir = 4 @@ -3330,6 +3785,10 @@ dir = 4 }, /area/station/hallway/secondary/entry) +"bvi" = ( +/obj/machinery/griddle, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "bvt" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/department/electrical) @@ -3367,14 +3826,38 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"bxc" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "bxk" = ( /obj/effect/turf_decal/tile/neutral/full, /obj/structure/rack, /obj/item/weldingtool/mini, /obj/item/tank/internals/emergency_oxygen/empty, -/obj/item/clothing/mask/cigarette/rollie, +/obj/item/cigarette/rollie, /turf/open/floor/iron/dark/smooth_large, /area/station/maintenance/central/lesser) +"bxl" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 1 + }, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "bxs" = ( /obj/structure/railing{ dir = 1 @@ -3397,13 +3880,6 @@ dir = 8 }, /area/station/engineering/main) -"bxA" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/neutral/end{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "bxI" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -3431,6 +3907,17 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/medical/morgue) +"byv" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "byx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -3464,6 +3951,30 @@ /obj/effect/gibspawner, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"bzj" = ( +/obj/machinery/rnd/production/techfab/department/service, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) +"bzJ" = ( +/obj/structure/table/wood, +/obj/machinery/barsign{ + chosen_sign = "thecavern"; + icon_state = "thecavern"; + pixel_y = 32 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/chem_dispenser/drinks/beer, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar) "bzZ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, @@ -3514,6 +4025,14 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/catwalk_floor, /area/station/maintenance/disposal/incinerator) +"bBh" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_br/style_3, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) "bBk" = ( /obj/effect/turf_decal/tile/dark_red, /obj/structure/cable, @@ -3539,6 +4058,16 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmospherics_engine) +"bBL" = ( +/obj/structure/table, +/obj/item/storage/bag/tray, +/obj/item/knife/kitchen{ + pixel_y = 2 + }, +/obj/effect/spawner/random/food_or_drink/cake_ingredients, +/obj/item/kitchen/rollingpin, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "bBN" = ( /obj/structure/window/spawner/directional/east, /obj/structure/table/wood, @@ -3548,7 +4077,7 @@ /obj/item/stock_parts/power_store/cell/crap{ pixel_y = 5 }, -/obj/item/clothing/mask/cigarette/pipe/cobpipe{ +/obj/item/cigarette/pipe/cobpipe{ pixel_x = 1; pixel_y = -2 }, @@ -3630,12 +4159,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/lower) -"bCX" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "bCZ" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -3731,14 +4254,6 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron, /area/station/science/lower) -"bED" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/item/kirbyplants/random, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "bEN" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -3755,6 +4270,13 @@ /obj/effect/spawner/structure/window/reinforced/shuttle, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"bFd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "bFh" = ( /obj/structure/rack, /obj/item/binoculars, @@ -3779,6 +4301,12 @@ /obj/machinery/telecomms/server/presets/science, /turf/open/floor/circuit, /area/station/tcommsat/server) +"bFO" = ( +/obj/effect/spawner/random/trash, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "bFR" = ( /obj/machinery/door/airlock/maintenance{ name = "Maintenance" @@ -3834,6 +4362,13 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/construction) +"bGq" = ( +/obj/machinery/porta_turret/ai, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/smooth, +/area/station/ai_monitored/turret_protected/aisat_interior) "bGD" = ( /obj/machinery/door/firedoor, /obj/effect/turf_decal/stripes/red/line{ @@ -3922,6 +4457,21 @@ /obj/structure/window/spawner/directional/south, /turf/open/misc/sandy_dirt, /area/station/science/research) +"bIJ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/turf/open/floor/grass, +/area/station/service/chapel) +"bIN" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/hallway/primary/central/aft) "bJn" = ( /obj/machinery/light/small/directional/west, /obj/effect/decal/cleanable/dirt, @@ -3934,6 +4484,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"bJx" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "bJA" = ( /obj/item/kirbyplants/random, /obj/structure/disposalpipe/segment{ @@ -3973,6 +4532,11 @@ /obj/effect/turf_decal/siding/wideplating, /turf/open/floor/wood, /area/station/engineering/main) +"bKv" = ( +/obj/structure/flora/tree/jungle/style_4, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/station/service/chapel) "bKz" = ( /obj/structure/disposalpipe/junction{ dir = 4 @@ -4004,21 +4568,9 @@ }, /turf/open/floor/iron/small, /area/station/security/tram) -"bKP" = ( +"bKO" = ( /obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral/full, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/lighter{ - pixel_x = 2; - pixel_y = 5 - }, -/obj/item/lighter{ - pixel_x = -8; - pixel_y = -2 - }, -/turf/open/floor/iron/smooth_large, +/turf/open/floor/wood/large, /area/station/service/bar) "bKU" = ( /obj/item/toy/crayon/spraycan{ @@ -4036,6 +4588,23 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"bLS" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/door/airlock{ + name = "Library Maintenance" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/turf/open/floor/plating, +/area/station/service/library) "bLT" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/south, @@ -4049,6 +4618,15 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/commons/storage/art) +"bMn" = ( +/obj/effect/turf_decal/weather/snow, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "bMt" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -4056,6 +4634,15 @@ }, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"bMV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "bMW" = ( /obj/machinery/iv_drip, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -4091,6 +4678,15 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"bNL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/light/small/directional/south, +/obj/machinery/status_display/ai/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "bNP" = ( /obj/structure/cable, /obj/structure/broken_flooring/pile/directional/east, @@ -4131,36 +4727,11 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"bOg" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, +"bOG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"bOl" = ( -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) -"bOp" = ( -/obj/effect/spawner/random/vending/snackvend, -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/primary/central/fore) +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "bON" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4176,13 +4747,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/misc/sandy_dirt, /area/station/hallway/secondary/entry) -"bOV" = ( -/obj/machinery/newscaster/directional/south, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "bOY" = ( /obj/structure/sign/poster/random/directional/east, /obj/machinery/conveyor{ @@ -4205,6 +4769,10 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/security/office) +"bQd" = ( +/obj/structure/flora/grass/jungle/b/style_2, +/turf/open/misc/dirt/jungle, +/area/station/service/chapel) "bQi" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, @@ -4217,6 +4785,17 @@ /obj/machinery/computer/records/security, /turf/open/floor/wood/tile, /area/station/command/bridge) +"bQy" = ( +/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/dark_red/half/contrasted{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/isolation/directional/east, +/obj/machinery/photobooth/security, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "bQQ" = ( /obj/effect/turf_decal/tile/neutral, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4267,6 +4846,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"bRK" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 4 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "bRN" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -4319,6 +4904,28 @@ }, /turf/open/space/basic, /area/space/nearstation) +"bTo" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_yw, +/obj/machinery/airalarm/directional/north, +/obj/machinery/camera/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) +"bTD" = ( +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/effect/turf_decal/weather/snow, +/obj/structure/closet/secure_closet/freezer/meat, +/obj/effect/turf_decal/weather/snow/corner, +/obj/item/food/meat/slab/monkey, +/obj/item/food/meat/slab/monkey, +/obj/item/food/meat/slab/monkey, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "bTE" = ( /obj/effect/turf_decal/tile/brown/half, /obj/effect/turf_decal/tile/brown/half{ @@ -4339,19 +4946,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) -"bUf" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "bUr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue{ @@ -4360,20 +4954,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"bUt" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/hallway/primary/central/fore) "bUv" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -4408,20 +4988,6 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/tram, /area/station/security/tram) -"bVv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=1.0-Security-PNexus"; - location = "23.2-Evac-Garden" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "bVD" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -4434,6 +5000,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/small, /area/station/security/execution/education) +"bVJ" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L13"; + pixel_y = -15 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "bVO" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/siding/red, @@ -4510,6 +5086,13 @@ }, /turf/open/space/basic, /area/space/nearstation) +"bWp" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "bWs" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -4522,6 +5105,18 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"bXi" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/airlock/maintenance{ + name = "Crematorium" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/security/brig/entrance) "bXu" = ( /obj/item/kirbyplants/random, /obj/machinery/firealarm/directional/south, @@ -4550,6 +5145,13 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"bXR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "bYe" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -4568,6 +5170,10 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"bYh" = ( +/obj/structure/flora/bush/flowers_yw/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "bYk" = ( /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/white/small, @@ -4581,6 +5187,11 @@ dir = 1 }, /area/station/engineering/hallway) +"bYE" = ( +/obj/structure/cable, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/wood/parquet, +/area/station/service/library) "bYK" = ( /obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, @@ -4689,6 +5300,15 @@ }, /turf/open/floor/plating, /area/station/engineering/supermatter) +"caD" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/wood, +/area/station/service/chapel/office) "caI" = ( /obj/structure/cable, /obj/effect/decal/cleanable/glass, @@ -4699,6 +5319,14 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"caW" = ( +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 4 + }, +/turf/open/floor/wood/large, +/area/station/service/bar) "cbg" = ( /obj/structure/table/wood, /obj/item/storage/fancy/candle_box, @@ -4781,21 +5409,6 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/small, /area/station/medical/storage) -"cbT" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/public/glass{ - name = "Services Corridor" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/hallway/primary/central/aft) "cbU" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -4832,6 +5445,17 @@ }, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) +"ccv" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/stone, +/area/station/service/bar) "ccx" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -4864,15 +5488,6 @@ /obj/machinery/light/cold/dim/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"ccH" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 9 - }, -/area/station/science/ordnance/testlab) "ccL" = ( /obj/structure/closet/firecloset, /obj/machinery/light_switch/directional/north, @@ -4907,7 +5522,7 @@ pixel_y = 9; pixel_x = 14 }, -/obj/item/clothing/mask/cigarette{ +/obj/item/cigarette{ pixel_y = 2 }, /turf/open/floor/iron/small, @@ -4929,6 +5544,14 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"cdB" = ( +/obj/machinery/camera/directional/south, +/obj/structure/flora/bush/flowers_pp/style_2, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "cdW" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, @@ -4954,17 +5577,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark/small, /area/station/engineering/supermatter/room) -"ceE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "ceP" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ @@ -4979,6 +5591,14 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"ceS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "cfa" = ( /obj/structure/closet/lasertag/red, /obj/effect/turf_decal/stripes/red/line{ @@ -5062,6 +5682,14 @@ "cgM" = ( /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) +"cgV" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/flowers_yw/style_3, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/grass, +/area/station/service/chapel) "cgZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5084,6 +5712,17 @@ /obj/effect/decal/cleanable/greenglow, /turf/open/floor/plating, /area/station/engineering/atmospherics_engine) +"chh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "chj" = ( /obj/structure/grille, /turf/closed/wall/mineral/titanium/nodiagonal, @@ -5110,6 +5749,26 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) +"chC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/light/cold/directional/north, +/obj/machinery/firealarm/directional/north, +/obj/machinery/camera/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"chI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 10 + }, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "chO" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -5118,11 +5777,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) -"chP" = ( -/obj/machinery/deepfryer, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "chU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -5132,13 +5786,19 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security) -"cij" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/spawner/random/entertainment/arcade{ +"cib" = ( +/obj/effect/turf_decal/weather/dirt{ dir = 1 }, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +/mob/living/basic/deer, +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) +"cik" = ( +/obj/structure/bookcase/random, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/wood/parquet, +/area/station/service/library) "cip" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/opposingcorners{ @@ -5170,6 +5830,11 @@ /obj/machinery/recharger, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) +"ciV" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/commons/fitness/locker_room) "ciW" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/purple/opposingcorners, @@ -5214,7 +5879,9 @@ }, /obj/machinery/button/door/directional/north{ id = "CabinS"; - name = "Bolt Control" + name = "Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 }, /turf/open/floor/carpet/green, /area/station/commons/dorms) @@ -5259,6 +5926,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) +"ckP" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "ckV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5290,13 +5967,6 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/iron/kitchen/small, /area/station/maintenance/aft) -"clc" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "clf" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5408,6 +6078,14 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"cmB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/light/floor, +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "cmD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -5417,15 +6095,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"cmH" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "cmX" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 8 @@ -5450,18 +6119,6 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"cnu" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/table/glass, -/obj/item/book/codex_gigas, -/obj/item/camera{ - pixel_y = 18 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/grimy, -/area/station/service/library) "cnG" = ( /obj/machinery/suit_storage_unit/rd, /turf/open/floor/iron/dark/small, @@ -5499,21 +6156,22 @@ "cow" = ( /turf/closed/wall, /area/station/engineering/lobby) +"coC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "coO" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ dir = 4 }, /turf/open/floor/wood, /area/station/engineering/atmos) -"cpc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 4 - }, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) "cpA" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -5603,6 +6261,23 @@ }, /turf/open/floor/plating, /area/station/science/ordnance/storage) +"cqD" = ( +/obj/structure/table/wood, +/obj/item/holosign_creator/robot_seat/bar{ + pixel_x = 2; + pixel_y = 9 + }, +/obj/structure/sign/picture_frame/portrait/bar{ + pixel_y = 32 + }, +/obj/item/roulette_wheel_beacon, +/obj/machinery/light/small/directional/north, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "cqM" = ( /obj/structure/railing{ dir = 8 @@ -5628,6 +6303,19 @@ }, /turf/open/floor/plating, /area/station/service/janitor) +"cri" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) +"crm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "cro" = ( /obj/structure/cable, /obj/structure/chair/sofa/corp/left{ @@ -5643,6 +6331,12 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"crx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "crE" = ( /obj/structure/window/spawner/directional/north, /turf/open/space/basic, @@ -5653,39 +6347,12 @@ }, /turf/open/floor/iron/small, /area/station/security/brig) -"crV" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) -"crX" = ( -/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/machinery/power/apc/auto_name/directional/west, -/obj/machinery/duct, -/turf/open/floor/stone, -/area/station/service/bar/backroom) "csl" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"csp" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/flora/bush/flowers_pp/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "css" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 @@ -5694,6 +6361,16 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"csv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white/corner, +/area/station/hallway/secondary/exit/departure_lounge) "csw" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/effect/turf_decal/stripes/end, @@ -5741,6 +6418,11 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) +"csZ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "ctb" = ( /obj/effect/turf_decal/siding/yellow{ dir = 6 @@ -5752,14 +6434,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"ctc" = ( -/obj/structure/cable, -/obj/item/kirbyplants/random, -/obj/effect/decal/cleanable/cobweb, -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood/parquet, -/area/station/service/library) "ctl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -5770,6 +6444,34 @@ "ctH" = ( /turf/open/floor/iron/herringbone, /area/station/commons/dorms) +"ctN" = ( +/obj/structure/closet/secure_closet/freezer/empty, +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 + }, +/obj/item/food/grown/tomato{ + pixel_y = 2; + pixel_x = 2 + }, +/obj/item/food/grown/eggplant{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/food/grown/eggplant{ + pixel_y = 5; + pixel_x = 5 + }, +/obj/item/storage/fancy/egg_box, +/obj/item/storage/fancy/egg_box, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/milk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/soymilk, +/obj/item/reagent_containers/condiment/flour, +/obj/item/reagent_containers/condiment/flour, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "cua" = ( /obj/effect/spawner/random/maintenance, /obj/effect/spawner/random/structure/crate, @@ -5839,6 +6541,18 @@ dir = 1 }, /area/station/cargo/bitrunning/den) +"cvX" = ( +/obj/structure/sign/poster/official/random/directional/south, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/airalarm/directional/east, +/obj/item/kirbyplants/random, +/turf/open/floor/stone, +/area/station/service/bar) "cwb" = ( /obj/effect/turf_decal/stripes/white/end{ dir = 1 @@ -5908,11 +6622,6 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/office) -"cxT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/table/wood, -/turf/open/floor/wood, -/area/station/cargo/boutique) "cyf" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -5923,14 +6632,6 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"cyh" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "cyk" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/dark, @@ -6032,6 +6733,18 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/surgery/theatre) +"cAl" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/stone, +/area/station/service/bar) "cAm" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/box/corners{ @@ -6059,6 +6772,14 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/science/robotics/mechbay) +"cAZ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "cBw" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/structure/filingcabinet/chestdrawer, @@ -6107,10 +6828,22 @@ /obj/item/storage/bag/xeno, /turf/open/floor/iron/white, /area/station/science/cytology) +"cCe" = ( +/obj/structure/bed/maint, +/obj/effect/spawner/random/trash, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "cCl" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"cCv" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/wideplating_new/terracotta, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "cCx" = ( /obj/structure/chair{ pixel_y = -2 @@ -6229,6 +6962,14 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"cEo" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "cEs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/window/brigdoor/right/directional/north{ @@ -6422,6 +7163,15 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, /area/station/service/lawoffice) +"cHG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "cHO" = ( /obj/structure/table/reinforced, /obj/effect/turf_decal/tile/blue/full, @@ -6454,17 +7204,19 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"cIC" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/light/small/directional/east, -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "cIU" = ( /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, /area/station/medical/virology) +"cIX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "cJb" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -6472,6 +7224,22 @@ }, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) +"cJv" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/hydroponics) "cJz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -6532,6 +7300,13 @@ "cKk" = ( /turf/closed/mineral/random/stationside, /area/station/ai_monitored/turret_protected/aisat/maint) +"cKt" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "cKv" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible{ dir = 4 @@ -6580,6 +7355,13 @@ }, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) +"cLL" = ( +/obj/structure/flora/rock/pile/jungle/style_5{ + pixel_x = -5; + pixel_y = 5 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "cLS" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -6614,6 +7396,19 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"cME" = ( +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/button/door/directional/east{ + id = "kitchenshutters"; + name = "Kitchen Shutter Control" + }, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "cMS" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/north, @@ -6647,20 +7442,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) -"cNu" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/status_display/evac/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"cNF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "cNR" = ( /obj/structure/chair/office{ dir = 4 @@ -6691,10 +7472,6 @@ /obj/structure/window/spawner/directional/west, /turf/open/misc/sandy_dirt, /area/station/commons/fitness/recreation/entertainment) -"cOm" = ( -/obj/effect/turf_decal/tile/brown/full, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "cOC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6720,13 +7497,6 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"cPd" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "cPe" = ( /obj/structure/spider/stickyweb, /turf/open/floor/iron/small, @@ -6738,6 +7508,16 @@ /obj/effect/turf_decal/siding/blue/corner, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"cPj" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "cPp" = ( /obj/structure/urinal/directional/east, /turf/open/floor/iron/white/small, @@ -6790,6 +7570,32 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron/dark/small, /area/station/maintenance/aft) +"cQG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/departments/holy/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"cQI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"cQN" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/structure/table/wood, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "cQP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -6801,6 +7607,14 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"cRc" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/departments/court/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "cRm" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -6855,6 +7669,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) +"cRL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "cRS" = ( /obj/structure/table, /obj/item/vending_refill/hydroseeds, @@ -6866,6 +7689,13 @@ }, /turf/open/floor/tram, /area/station/security/tram) +"cSb" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "cSk" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/closet/l3closet, @@ -6900,6 +7730,17 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) +"cSy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "cSC" = ( /turf/closed/wall, /area/station/commons/vacant_room/office) @@ -6913,6 +7754,15 @@ }, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) +"cTn" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "cTp" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -6969,6 +7819,26 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/dark/small, /area/station/engineering/supermatter/room) +"cUf" = ( +/obj/structure/sign/directions/engineering{ + dir = 1; + pixel_y = 8 + }, +/obj/structure/sign/directions/command{ + dir = 1 + }, +/obj/structure/sign/directions/supply{ + dir = 1; + pixel_y = -8 + }, +/turf/closed/wall, +/area/station/service/library) +"cUB" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "cUH" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -7009,6 +7879,19 @@ }, /turf/open/floor/iron/dark/small, /area/station/service/chapel/storage) +"cVm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "cVx" = ( /obj/effect/turf_decal/siding/dark_red{ dir = 4 @@ -7071,6 +7954,30 @@ dir = 4 }, /area/station/maintenance/fore/lesser) +"cWB" = ( +/obj/structure/table/wood, +/obj/item/reagent_containers/cup/rag{ + pixel_x = -6; + pixel_y = 6 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = 10; + pixel_y = 8 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = 5; + pixel_y = 16 + }, +/obj/item/reagent_containers/cup/glass/drinkingglass{ + pixel_x = 5; + pixel_y = 5 + }, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = -7; + pixel_y = 15 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar) "cWM" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7089,18 +7996,6 @@ /obj/structure/barricade/wooden, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) -"cWT" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/pdapainter/research, -/obj/machinery/computer/security/telescreen/rd{ - pixel_y = 30 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/rd) "cWZ" = ( /obj/machinery/door/airlock/external{ name = "Primary Docking Bay" @@ -7112,14 +8007,17 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"cXm" = ( -/obj/structure/cable, +"cXb" = ( +/obj/machinery/light/small/directional/north, +/turf/open/misc/dirt/jungle, +/area/station/service/chapel) +"cXh" = ( /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 4 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "cXu" = ( /obj/effect/landmark/atmospheric_sanity/ignore_area, /turf/open/floor/plating, @@ -7134,6 +8032,10 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/breakroom) +"cXH" = ( +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "cXJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/siding/wood{ @@ -7156,6 +8058,16 @@ /obj/structure/sign/departments/telecomms/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"cYp" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/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/holodeck/rec_center) "cYt" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -7195,6 +8107,13 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine) +"cYS" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron/smooth, +/area/station/cargo/drone_bay) "cYT" = ( /obj/structure/hedge, /obj/structure/sign/poster/contraband/random/directional/east, @@ -7209,6 +8128,25 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) +"cYY" = ( +/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 = 1 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/primary/central/fore) +"cZi" = ( +/obj/structure/extinguisher_cabinet/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/item/kirbyplants/random, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "cZk" = ( /obj/structure/chair{ dir = 1 @@ -7257,6 +8195,17 @@ /obj/structure/thermoplastic, /turf/open/floor/tram, /area/station/security/tram) +"cZI" = ( +/obj/effect/turf_decal/weather/snow, +/obj/structure/closet/secure_closet/freezer/fridge, +/obj/effect/turf_decal/weather/snow/corner, +/obj/item/food/meat/bacon, +/obj/item/food/meat/bacon, +/obj/item/food/meat/slab/monkey, +/obj/item/food/meat/slab/monkey, +/obj/item/food/meat/slab/monkey, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "cZL" = ( /obj/item/reagent_containers/cup/bucket, /obj/item/mop, @@ -7363,10 +8312,15 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) -"dbY" = ( -/obj/structure/railing, -/turf/open/space/basic, -/area/space) +"dbZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/stone, +/area/station/service/chapel) "dcc" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/holopad, @@ -7386,6 +8340,23 @@ /obj/item/clothing/suit/hooded/wintercoat/science, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) +"dcD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/port) "dcH" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -7436,6 +8407,13 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"ddB" = ( +/obj/structure/closet/secure_closet/personal, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "ddE" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/west, @@ -7485,6 +8463,23 @@ }, /turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) +"deR" = ( +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/status_display/evac/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"deS" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/south, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 10 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "dfb" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -7492,6 +8487,20 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white/small, /area/station/medical/psychology) +"dfc" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/restaurant_portal/restaurant, +/turf/open/floor/stone, +/area/station/service/bar) +"dff" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/east, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "dfo" = ( /obj/structure/cable, /obj/machinery/status_display/ai/directional/north, @@ -7514,13 +8523,6 @@ /obj/structure/window/spawner/directional/south, /turf/open/floor/grass, /area/station/cargo/storage) -"dfW" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/library) "dgm" = ( /obj/structure/railing/corner{ dir = 1 @@ -7570,6 +8572,16 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"dhu" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/sparsegrass{ + pixel_x = -5; + pixel_y = 9 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "dhy" = ( /obj/structure/cable, /obj/structure/disposalpipe/trunk{ @@ -7605,6 +8617,15 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"dib" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "dim" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -7641,6 +8662,22 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half, /area/station/commons/fitness/locker_room) +"diG" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/light/small/directional/east, +/obj/structure/chair/stool/bar/directional/south, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) +"diI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "diK" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -7662,6 +8699,9 @@ /obj/machinery/atmospherics/pipe/smart/simple/brown/visible, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) +"diP" = ( +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "diS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -7674,6 +8714,16 @@ /obj/machinery/light/floor, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"djf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "djg" = ( /obj/structure/bed{ dir = 4 @@ -7704,29 +8754,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half, /area/station/commons/dorms) -"dks" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral/full, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = -5; - pixel_y = 22 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = -1; - pixel_y = 13 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = -8; - pixel_y = 6 - }, -/obj/item/reagent_containers/cup/glass/drinkingglass{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "dkz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8051,6 +9078,14 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/showroomfloor, /area/station/medical/virology) +"drC" = ( +/obj/machinery/vending/cola, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/small/directional/south, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "drF" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -8100,6 +9135,11 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"dsl" = ( +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/wood/parquet, +/area/station/service/library) "dsp" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/rack, @@ -8128,10 +9168,24 @@ /obj/item/screwdriver, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"dsK" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "dsN" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/security/lockers) +"dsP" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "dsU" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -8140,15 +9194,6 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"dtj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "dtk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/closed/wall, @@ -8165,12 +9210,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) -"dty" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/floor, -/turf/open/floor/wood/large, -/area/station/service/chapel) "dtC" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/purple{ @@ -8195,6 +9234,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/genetics) +"dtO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "dua" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -8225,6 +9274,18 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/security/checkpoint/escape) +"duE" = ( +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "duI" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ dir = 10 @@ -8247,18 +9308,6 @@ }, /turf/open/floor/wood, /area/station/engineering/atmos/office) -"dvl" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/enzyme{ - pixel_x = 4; - pixel_y = 6 - }, -/obj/machinery/reagentgrinder{ - pixel_x = -9; - pixel_y = 8 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "dvo" = ( /obj/machinery/ore_silo, /obj/effect/turf_decal/bot_white, @@ -8401,6 +9450,13 @@ /obj/item/stack/rods/fifty, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"dxV" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "dxZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -8495,13 +9551,6 @@ /obj/item/radio/intercom/chapel/directional/east, /turf/open/floor/iron/terracotta/diagonal, /area/station/service/chapel/office) -"dzq" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "dzA" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /obj/machinery/atmospherics/pipe/smart/simple/brown/visible, @@ -8535,6 +9584,14 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"dAC" = ( +/obj/effect/spawner/structure/window/reinforced, +/obj/machinery/door/poddoor/shutters{ + id = "meow"; + name = "Commissary" + }, +/turf/open/floor/plating, +/area/station/commons/vacant_room/commissary) "dAF" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 4 @@ -8629,27 +9686,6 @@ /obj/machinery/atmospherics/components/unary/passive_vent, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"dCm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/door/airlock/public/glass{ - name = "Study" - }, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/turf/open/floor/iron/smooth_half{ - dir = 1 - }, -/area/station/service/library) "dCs" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 @@ -8658,6 +9694,19 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"dCu" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "dCR" = ( /obj/structure/cable/layer3, /turf/open/floor/circuit/red, @@ -8680,6 +9729,16 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) +"dDi" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "dDk" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/chapel{ @@ -8743,6 +9802,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half, /area/station/commons/fitness/recreation/entertainment) +"dEq" = ( +/obj/effect/turf_decal/siding/thinplating_new/light, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "dEu" = ( /obj/machinery/vending/cigarette, /turf/open/floor/iron/kitchen/small, @@ -8765,30 +9831,32 @@ dir = 1 }, /area/station/science/ordnance/testlab) -"dEV" = ( -/obj/structure/table, -/obj/item/circuitboard/machine/coffeemaker/impressa, -/obj/item/coffee_cartridge/decaf{ - pixel_y = 9 - }, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room/commissary) +"dEQ" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "dFN" = ( /obj/structure/window/spawner/directional/east, /obj/structure/window/spawner/directional/north, /turf/open/floor/iron/dark, /area/station/commons/dorms) +"dFQ" = ( +/obj/structure/cable, +/obj/effect/spawner/random/trash, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) "dGV" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 }, /turf/closed/wall, /area/station/engineering/atmos/storage/gas) -"dHi" = ( -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination/bar, -/turf/open/floor/catwalk_floor/iron, -/area/station/service/bar) "dHk" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 8 @@ -8838,20 +9906,15 @@ }, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"dIN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=16.0-CentralFore-CentralPort"; - location = "15.0-CentralStarboard-CentralFore" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"dIQ" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw/style_3, +/obj/machinery/firealarm/directional/south, +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/directional/south, +/obj/machinery/status_display/evac/directional/south, +/turf/open/floor/grass, +/area/station/service/chapel) "dIZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 6 @@ -8879,6 +9942,12 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"dJv" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "dJT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8910,6 +9979,14 @@ /obj/effect/spawner/random/engineering/material, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"dKm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/cold/directional/east, +/obj/effect/turf_decal/tile/neutral, +/obj/item/radio/intercom/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "dKq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -8988,6 +10065,13 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/small, /area/station/security/office) +"dLW" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/effect/landmark/start/librarian, +/turf/open/floor/carpet, +/area/station/service/library) "dMg" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -8995,6 +10079,19 @@ }, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"dMi" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "dMm" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/turf_decal/stripes/line{ @@ -9030,17 +10127,6 @@ "dNq" = ( /turf/closed/wall/r_wall/rust, /area/station/ai_monitored/aisat/exterior) -"dNw" = ( -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Library" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/service/library) "dNy" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, @@ -9055,13 +10141,6 @@ /obj/structure/chair/stool/directional/south, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) -"dNI" = ( -/obj/structure/chair/sofa/left/maroon, -/obj/machinery/light/small/directional/east, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "dNL" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -9098,6 +10177,12 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/security/office) +"dOf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/junction, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "dOz" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -9156,15 +10241,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"dPI" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 +"dPp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"dPx" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/stone, +/area/station/service/chapel) "dQi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -9193,30 +10285,21 @@ }, /turf/open/floor/engine, /area/station/science/cytology) -"dRf" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/command/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/hallway/abandoned_command) -"dRh" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line{ +"dQY" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/obj/effect/turf_decal/trimline/neutral/line{ +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"dRb" = ( +/obj/effect/landmark/start/bartender, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "dRk" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/structure/flora/bush/fullgrass/style_random, @@ -9237,6 +10320,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"dRT" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "dSb" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -9278,15 +10367,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"dSK" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "dSO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9316,6 +10396,14 @@ "dTd" = ( /turf/open/floor/stone, /area/station/service/abandoned_gambling_den) +"dTg" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/floor, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "dTB" = ( /obj/structure/broken_flooring/pile/directional/east, /obj/effect/decal/cleanable/dirt, @@ -9326,20 +10414,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"dTH" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "dTI" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"dTS" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "dTW" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/computer/shuttle/mining{ @@ -9390,6 +10476,13 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) +"dVQ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "dVW" = ( /obj/structure/chair{ dir = 8 @@ -9517,19 +10610,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/iron, /area/station/science/lower) -"dXo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/red{ - dir = 6 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/white/small, -/area/station/security/warden) "dXO" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /obj/structure/disposalpipe/segment{ @@ -9557,7 +10637,7 @@ pixel_x = -6; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette{ +/obj/item/cigarette{ pixel_x = 5; pixel_y = 2 }, @@ -9582,6 +10662,11 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"dYu" = ( +/obj/machinery/light/floor, +/obj/effect/landmark/start/cook, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "dYw" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/structure/chair{ @@ -9753,23 +10838,24 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"ebo" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/machinery/camera/autoname/directional/east, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) -"ebB" = ( -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 +"ebk" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar) +"ebE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/flasher/directional/west{ + id = "brigentry" }, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/security/brig/entrance) "ebK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -9849,6 +10935,19 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"edG" = ( +/obj/machinery/vending/hydronutrients, +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/obj/item/radio/intercom/directional/north, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "edJ" = ( /obj/machinery/teleport/station, /obj/machinery/airalarm/directional/north, @@ -9874,19 +10973,6 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"edU" = ( -/obj/machinery/porta_turret/ai, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the RD's goons from the safety of his office."; - dir = 4; - name = "Research Monitor"; - network = list("rd"); - pixel_x = -28 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/smooth, -/area/station/ai_monitored/turret_protected/aisat_interior) "eeb" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -9903,12 +10989,6 @@ /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"eeq" = ( -/obj/structure/railing/corner{ - dir = 8 - }, -/turf/open/space/basic, -/area/space) "eeD" = ( /obj/structure/showcase/cyborg/old{ pixel_y = 20 @@ -9924,13 +11004,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"efj" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "efl" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -9938,6 +11011,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) +"efm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "efy" = ( /obj/item/kirbyplants/organic/plant21, /obj/machinery/status_display/ai/directional/west, @@ -9953,10 +11033,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"efC" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/bar) "efK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -9968,13 +11044,6 @@ dir = 10 }, /area/station/science/lower) -"efL" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "efS" = ( /obj/machinery/computer/security/qm{ dir = 1 @@ -9992,6 +11061,18 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/security/prison/rec) +"egc" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 10; + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "egr" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -10038,6 +11119,16 @@ /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/office) +"ehT" = ( +/obj/machinery/door/airlock{ + id_tag = "commiss2"; + name = "Commissary" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/commons/vacant_room/commissary) "ehV" = ( /obj/structure/cable, /obj/structure/chair/sofa/right{ @@ -10113,16 +11204,6 @@ "eiU" = ( /turf/open/floor/plating/rust, /area/station/maintenance/department/engine/atmos) -"ejc" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security) "ejn" = ( /obj/item/stack/cable_coil/five, /obj/effect/decal/cleanable/cobweb, @@ -10176,6 +11257,14 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/main) +"ejX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/vending/cigarette, +/turf/open/floor/stone, +/area/station/service/bar) "ekf" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -10247,6 +11336,20 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/security) +"elb" = ( +/obj/structure/table/reinforced, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 5 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) "eld" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, /obj/machinery/camera/directional/west{ @@ -10260,6 +11363,13 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"eln" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/tree/jungle/small/style_4, +/turf/open/floor/grass, +/area/station/service/chapel) "elv" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 4 @@ -10322,6 +11432,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"elN" = ( +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/obj/effect/landmark/start/hangover, +/obj/machinery/light/small/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "elR" = ( /obj/structure/table, /obj/structure/window/spawner/directional/south, @@ -10346,6 +11465,13 @@ /obj/machinery/holopad, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"emp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "emB" = ( /obj/machinery/door/airlock/maintenance{ name = "Maintenance" @@ -10384,15 +11510,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"enD" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) "enE" = ( /obj/item/cultivator/rake, /obj/structure/cable, @@ -10417,6 +11534,16 @@ }, /turf/open/floor/iron, /area/station/security/prison) +"eof" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "eoz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10432,6 +11559,10 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"eoM" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/maintenance/central/greater) "eoU" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -10515,20 +11646,24 @@ /obj/machinery/power/energy_accumulator/tesla_coil/anchored, /turf/open/floor/engine, /area/station/engineering/supermatter) -"eqP" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/chair/comfy/black{ - dir = 1 - }, -/obj/effect/landmark/start/chaplain, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) +"eqG" = ( +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "eqS" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) +"erf" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/hydroponics) "erg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -10580,6 +11715,11 @@ /obj/machinery/computer/records/security, /turf/open/floor/iron/small, /area/station/security/office) +"esr" = ( +/obj/structure/closet/emcloset, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "ess" = ( /obj/structure/filingcabinet/chestdrawer, /obj/item/radio/intercom/directional/west, @@ -10628,6 +11768,18 @@ /obj/structure/sign/departments/medbay/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"ete" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "etl" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 5 @@ -10698,6 +11850,10 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) +"euz" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/closed/wall, +/area/station/hallway/primary/central/aft) "euO" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -10774,15 +11930,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/small, /area/station/maintenance/department/engine) -"ewi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/cold/directional/west, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "ewo" = ( /obj/effect/turf_decal/box/corners{ dir = 4 @@ -10965,6 +12112,10 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/teleporter) +"ezV" = ( +/obj/machinery/computer/security/telescreen/prison/directional/south, +/turf/open/floor/iron/dark, +/area/station/security/office) "eAc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10978,6 +12129,14 @@ /obj/machinery/light/floor, /turf/open/floor/iron, /area/station/cargo/storage) +"eAm" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "eAn" = ( /obj/machinery/computer/mech_bay_power_console, /obj/effect/turf_decal/siding/thinplating_new/light{ @@ -11032,17 +12191,6 @@ /obj/machinery/status_display/evac/directional/west, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) -"eAX" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/effect/landmark/start/security_officer, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "eAY" = ( /turf/open/floor/grass, /area/station/science/xenobiology) @@ -11065,6 +12213,17 @@ }, /turf/open/floor/iron, /area/station/commons/storage/art) +"eBC" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "eBH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11126,6 +12285,13 @@ /obj/effect/spawner/structure/window/survival_pod, /turf/open/floor/engine, /area/station/ai_monitored/turret_protected/ai) +"eDi" = ( +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/flowers_yw, +/obj/structure/flora/bush/pale, +/turf/open/floor/grass, +/area/station/hallway/primary/central/fore) "eDl" = ( /obj/structure/cable/layer3, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11360,14 +12526,6 @@ dir = 1 }, /area/station/science/lobby) -"eGl" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/photocopier, -/turf/open/floor/iron/smooth, -/area/station/service/library) "eGw" = ( /obj/machinery/camera/directional/west{ c_tag = "Engineering - Public Desk" @@ -11405,6 +12563,10 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"eGU" = ( +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/wood/large, +/area/station/service/bar) "eHa" = ( /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/showroomfloor, @@ -11489,6 +12651,20 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"eIO" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/obj/effect/turf_decal/tile/blue, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "eIT" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/effect/turf_decal/stripes/line{ @@ -11498,6 +12674,13 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) +"eIW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/sign/poster/official/random/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/library) "eIX" = ( /obj/machinery/light/cold/directional/south, /obj/effect/turf_decal/stripes/end{ @@ -11542,13 +12725,6 @@ /obj/effect/turf_decal/stripes/asteroid/end, /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) -"eJY" = ( -/obj/effect/turf_decal/tile/green/diagonal_centre, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "eKf" = ( /obj/structure/table, /obj/item/storage/box/donkpockets/donkpocketpizza, @@ -11564,6 +12740,13 @@ dir = 4 }, /area/station/maintenance/starboard/greater) +"eKD" = ( +/obj/structure/disposalpipe/sorting/mail{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/service/library, +/turf/open/floor/wood/parquet, +/area/station/service/library) "eKP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -11698,6 +12881,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) +"eNM" = ( +/obj/structure/table/wood, +/obj/structure/reagent_dispensers/beerkeg, +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/stone, +/area/station/service/bar) "eNU" = ( /obj/structure/table/reinforced, /obj/item/phone{ @@ -11741,11 +12933,29 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron/small, /area/station/engineering/atmos) +"eOX" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/item/kirbyplants/random, +/obj/machinery/airalarm/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "eOZ" = ( /obj/machinery/portable_atmospherics/canister/oxygen, /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/showroomfloor, /area/station/medical/coldroom) +"ePk" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "ePn" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/directional/south, @@ -11755,6 +12965,10 @@ }, /turf/open/floor/iron, /area/station/cargo/miningfoundry) +"ePt" = ( +/obj/structure/flora/grass/jungle/a/style_4, +/turf/open/floor/grass, +/area/station/service/chapel) "ePP" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/dark_red{ @@ -11807,12 +13021,6 @@ "eQt" = ( /turf/closed/wall, /area/station/command/heads_quarters/rd) -"eQv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/carpet/lone, -/area/station/service/theater) "eQC" = ( /obj/effect/spawner/random/maintenance, /obj/effect/spawner/random/structure/girder, @@ -11839,6 +13047,26 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"eRa" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) +"eRy" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "eRX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11908,19 +13136,13 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron, /area/station/security/prison) -"eTt" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"eTJ" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/effect/landmark/navigate_destination/hydro, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/turf/open/floor/stone, +/area/station/service/bar) "eTT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11986,10 +13208,6 @@ dir = 1 }, /area/station/engineering/supermatter/room) -"eUW" = ( -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/library) "eUZ" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 1 @@ -12074,6 +13292,20 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"eVX" = ( +/obj/structure/statue/sandstone/venus{ + dir = 8; + pixel_y = -15 + }, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/flowers_br/style_3, +/obj/effect/dummy/lighting_obj, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "eVY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/disposalpipe/segment, @@ -12099,15 +13331,15 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/small, /area/station/engineering/atmos/pumproom) -"eWA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 +"eWk" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "eWB" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -12155,6 +13387,16 @@ /obj/item/storage/crayons, /turf/open/floor/iron, /area/station/security/prison/workout) +"eXB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/item/storage/fancy/candle_box, +/obj/machinery/light_switch/directional/west, +/obj/structure/rack/skeletal, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/iron/grimy, +/area/station/service/library) "eXK" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/table/wood, @@ -12163,6 +13405,15 @@ }, /turf/open/floor/stone, /area/station/maintenance/aft) +"eXR" = ( +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/landmark/start/hangover, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "eXW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -12184,16 +13435,6 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) -"eYn" = ( -/obj/machinery/computer/monitor{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 1; - pixel_y = -29 - }, -/turf/open/floor/iron/smooth, -/area/station/ai_monitored/turret_protected/aisat/equipment) "eYp" = ( /obj/machinery/recharge_station, /obj/machinery/camera/motion/directional/east{ @@ -12202,6 +13443,13 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat/equipment) +"eYB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/stone, +/area/station/service/chapel) "eYD" = ( /obj/structure/railing{ dir = 8 @@ -12224,19 +13472,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/science/lower) -"eYT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/commons/fitness/recreation/entertainment) "eYY" = ( /obj/structure/window/spawner/directional/west, /obj/structure/window/spawner/directional/east, @@ -12246,6 +13481,16 @@ }, /turf/open/misc/sandy_dirt, /area/station/maintenance/port/lesser) +"eZi" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "eZj" = ( /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/dark, @@ -12254,19 +13499,18 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/engine_smes) -"eZJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/full, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "eZM" = ( /obj/structure/cable/layer3, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/turret_protected/ai) +"fap" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/service/bar) "fav" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/computer/security/telescreen/entertainment/directional/west, @@ -12397,14 +13641,6 @@ /obj/structure/sign/warning/vacuum/external/directional/north, /turf/open/floor/iron, /area/station/engineering/atmos/space_catwalk) -"fcM" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/wood/parquet, -/area/station/service/library) "fcU" = ( /obj/structure/window/spawner/directional/south, /obj/structure/flora/bush/large/style_random{ @@ -12489,6 +13725,22 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"feL" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/cable, +/turf/open/floor/grass, +/area/station/service/chapel) +"feR" = ( +/turf/open/floor/carpet, +/area/station/service/library) +"ffi" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "ffp" = ( /obj/structure/closet/firecloset, /obj/effect/spawner/random/maintenance, @@ -12509,15 +13761,6 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"ffX" = ( -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "kihall" - }, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "fgk" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/status_display/door_timer{ @@ -12558,6 +13801,18 @@ }, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) +"fgT" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/north{ + low_power_nightshift_lights = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "fgW" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/vending/drugs, @@ -12586,17 +13841,6 @@ }, /turf/open/floor/iron/small, /area/station/security/office) -"fhC" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/chair{ - dir = 1 - }, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "fhT" = ( /obj/structure/sink/directional/east, /obj/structure/mirror/directional/west, @@ -12684,17 +13928,13 @@ }, /turf/open/floor/carpet/orange, /area/station/commons/dorms) -"fju" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/bot, +"fjq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, -/area/station/hallway/primary/port) -"fjF" = ( -/obj/effect/turf_decal/bot_red, -/obj/structure/sign/poster/official/random/directional/north, -/obj/structure/reagent_dispensers/cooking_oil, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +/area/station/hallway/primary/central/aft) "fjL" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -12744,6 +13984,37 @@ /obj/item/mod/module/signlang_radio, /turf/open/floor/iron/small, /area/station/medical/storage) +"fkF" = ( +/obj/structure/table/wood, +/obj/item/pen/red{ + pixel_x = 3; + pixel_y = 12 + }, +/obj/item/pen/blue{ + pixel_x = -6; + pixel_y = 12 + }, +/turf/open/floor/carpet, +/area/station/service/library) +"fkN" = ( +/obj/structure/mannequin/plastic, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/plating, +/area/station/cargo/boutique) +"fkS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/red/line, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "fkT" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/alien/weeds, @@ -12769,6 +14040,11 @@ }, /turf/open/floor/iron/dark, /area/station/security/interrogation) +"flw" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "flD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/stripes/corner{ @@ -12794,6 +14070,14 @@ /obj/item/flashlight/lantern, /turf/open/floor/plating/rust, /area/station/maintenance/starboard/greater) +"fme" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "fmf" = ( /obj/effect/turf_decal/tile/blue, /obj/effect/landmark/event_spawn, @@ -12911,6 +14195,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/atmospherics/components/binary/pump, /obj/machinery/button/door/directional/north{ id = "Xenolab"; name = "Test Chamber Blast Doors"; @@ -12918,7 +14203,6 @@ pixel_y = -2; req_access = list("xenobiology") }, -/obj/machinery/atmospherics/components/binary/pump, /turf/open/floor/iron/white/side{ dir = 8 }, @@ -12928,16 +14212,6 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"fpd" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - dir = 1; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = -30 - }, -/turf/open/floor/iron/dark, -/area/station/security/office) "fpg" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -12987,6 +14261,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor, /area/station/maintenance/disposal/incinerator) +"fpN" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "fpO" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/ce) @@ -13005,17 +14289,6 @@ /obj/structure/cable, /turf/open/floor/iron/white/side, /area/station/science/research) -"fqL" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "fqQ" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/decal/cleanable/dirt/dust, @@ -13036,6 +14309,15 @@ /obj/item/defibrillator/loaded, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"fri" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/structure/cable, +/obj/machinery/door/airlock{ + id_tag = "commiss2"; + name = "Commissary" + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "frC" = ( /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/dark/smooth_large, @@ -13198,6 +14480,17 @@ /obj/effect/mapping_helpers/airlock/access/all/command/minisat, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"fuu" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/machinery/light/cold/directional/south, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/security/detectives_office, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "fuB" = ( /obj/structure/railing{ dir = 4 @@ -13287,10 +14580,8 @@ /area/station/command/heads_quarters/hos) "fvH" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/electropack, /obj/machinery/light/small/directional/east, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "fvL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -13379,6 +14670,15 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/small, /area/station/engineering/atmos) +"fxW" = ( +/obj/item/kirbyplants/random, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar) "fyo" = ( /obj/structure/table, /obj/machinery/light/small/directional/east, @@ -13436,6 +14736,18 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/science/genetics) +"fyW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "fyZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -13451,11 +14763,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fzf" = ( -/obj/machinery/vending/boozeomat, -/obj/machinery/light/cold/directional/east, -/turf/closed/wall, -/area/station/service/bar) "fzq" = ( /obj/structure/closet/crate/trashcart/filled, /turf/open/floor/plating, @@ -13472,6 +14779,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"fzw" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/stone, +/area/station/service/bar) "fzx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -13487,6 +14800,19 @@ }, /turf/open/floor/carpet/blue, /area/station/commons/dorms) +"fzT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L6"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "fAr" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/barricade/wooden/crude, @@ -13580,6 +14906,26 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"fBB" = ( +/obj/structure/table/wood, +/obj/item/plate, +/obj/item/food/cheesynachos{ + pixel_y = 2 + }, +/turf/open/floor/wood/large, +/area/station/service/bar) +"fBN" = ( +/obj/structure/flora/bush/flowers_yw/style_3{ + pixel_x = 3; + pixel_y = 2 + }, +/obj/machinery/light/floor, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "fBO" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/tank_holder/extinguisher, @@ -13674,14 +15020,6 @@ }, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fDp" = ( -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) "fDI" = ( /turf/open/floor/iron, /area/station/hallway/primary/aft) @@ -13794,6 +15132,13 @@ "fEC" = ( /turf/closed/wall, /area/station/maintenance/port/lesser) +"fEF" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "fEU" = ( /obj/structure/table, /obj/item/multitool{ @@ -13806,16 +15151,14 @@ }, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) -"fEV" = ( -/obj/machinery/porta_turret/ai, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 8; - pixel_x = 28 +"fEX" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 7 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/smooth, -/area/station/ai_monitored/turret_protected/aisat_interior) +/turf/open/floor/carpet, +/area/station/service/library) "fFe" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -13917,6 +15260,24 @@ }, /turf/open/floor/plating/rust, /area/station/ai_monitored/turret_protected/aisat/maint) +"fGk" = ( +/obj/machinery/smartfridge, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" + }, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) +"fGT" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "fGU" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 1 @@ -13927,12 +15288,13 @@ /obj/structure/sign/warning/pods/directional/west, /turf/open/floor/iron/dark, /area/station/engineering/hallway) -"fHb" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) +"fGW" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/large/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "fHf" = ( /obj/structure/bed/maint, /obj/effect/spawner/random/maintenance, @@ -13962,7 +15324,9 @@ }, /obj/machinery/button/door/directional/north{ name = "Lock Control"; - id = "Toilet2" + id = "Toilet2"; + specialfunctions = 4; + normaldoorcontrol = 1 }, /obj/machinery/light/small/directional/west, /obj/structure/sign/poster/contraband/random/directional/west, @@ -13993,6 +15357,15 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"fIj" = ( +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) +"fIl" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "fIw" = ( /obj/effect/landmark/navigate_destination/dockescpod, /turf/open/floor/plating, @@ -14092,6 +15465,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) +"fKr" = ( +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_half, +/area/station/security/brig/entrance) "fKx" = ( /obj/structure/transit_tube/horizontal, /obj/structure/lattice/catwalk, @@ -14108,13 +15494,13 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"fKO" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/sign/departments/court/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"fKN" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/computer/security/telescreen/test_chamber/directional/west, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/xenobiology) "fKP" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -14242,10 +15628,35 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"fLF" = ( +/obj/machinery/navbeacon{ + codes_txt = "delivery;dir=8"; + location = "QM #2" + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light/small/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/storage) "fLI" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron/dark/small, /area/station/maintenance/aft) +"fLJ" = ( +/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/dark_red/fourcorners, +/obj/machinery/holopad, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "fLK" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -14273,18 +15684,6 @@ /obj/structure/chair/stool/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/fore) -"fMj" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "fMs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -14325,9 +15724,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/mineral/titanium, /area/station/command/heads_quarters/ce) -"fMD" = ( -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "fMP" = ( /obj/structure/table/reinforced/titaniumglass, /obj/item/binoculars{ @@ -14354,6 +15750,10 @@ }, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) +"fMX" = ( +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/stone, +/area/station/service/chapel) "fNb" = ( /obj/effect/turf_decal/arrows{ dir = 8 @@ -14381,6 +15781,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"fNC" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/central/fore) "fNF" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 4 @@ -14415,6 +15824,32 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/small, /area/station/medical/storage) +"fNW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"fNZ" = ( +/obj/structure/cable, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "fOg" = ( /obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/sand/plating, @@ -14427,11 +15862,24 @@ }, /turf/open/floor/iron/smooth, /area/station/ai_monitored/turret_protected/aisat_interior) +"fOJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/dark/herringbone, +/area/station/ai_monitored/command/nuke_storage) "fOQ" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron, /area/station/security/prison/workout) +"fOW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "fPb" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/engine, @@ -14486,6 +15934,19 @@ /obj/structure/cable, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) +"fQd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "fQA" = ( /obj/effect/spawner/random/structure/chair_maintenance{ dir = 8 @@ -14578,6 +16039,21 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"fRX" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Study" + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/wood/end, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "fSe" = ( /turf/closed/wall/rust, /area/station/cargo/miningfoundry) @@ -14590,16 +16066,8 @@ /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) -"fSq" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/rack, -/obj/item/scalpel, -/obj/item/wirecutters, -/obj/machinery/light/small/broken/directional/west, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "fSx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14694,12 +16162,6 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fUj" = ( -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "fUo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -14714,6 +16176,12 @@ /obj/effect/mapping_helpers/airlock/access/all/science/general, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"fUC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "fUI" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -14767,6 +16235,14 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"fVl" = ( +/obj/structure/table/wood, +/obj/item/storage/fancy/cigarettes/cigars/cohiba{ + pixel_x = 2; + pixel_y = 10 + }, +/turf/open/floor/wood/large, +/area/station/service/bar) "fVy" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green{ @@ -14780,10 +16256,20 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/small, /area/station/security/checkpoint/engineering) +"fVF" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "fVG" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"fVM" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "fVU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -14791,15 +16277,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/ai_monitored/turret_protected/aisat/maint) -"fVV" = ( -/obj/structure/sink/kitchen/directional/west, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/machinery/camera/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) "fWe" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -14833,16 +16310,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/port/aft) -"fWw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/obj/machinery/computer/security/telescreen/interrogation{ - pixel_y = 29 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/security) "fWJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -14944,10 +16411,6 @@ /obj/machinery/atmospherics/components/binary/valve, /turf/open/floor/iron/smooth, /area/station/maintenance/disposal/incinerator) -"fYp" = ( -/obj/effect/landmark/navigate_destination/vault, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "fYr" = ( /obj/structure/table, /obj/item/extinguisher/empty, @@ -14960,28 +16423,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/herringbone, /area/station/commons/dorms) +"fYJ" = ( +/obj/structure/table/wood, +/obj/item/food/lizard_fries, +/turf/open/floor/wood/large, +/area/station/service/bar) "fYU" = ( /obj/effect/spawner/random/structure/crate_loot, /obj/item/pickaxe, /obj/effect/spawner/random/maintenance, /turf/open/misc/asteroid, /area/station/maintenance/department/engine/atmos) -"fYX" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/armory, -/obj/machinery/door/airlock/security{ - name = "Warden's Office" - }, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/security/warden) "fZp" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -15002,6 +16454,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) +"fZK" = ( +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole/bookmanagement{ + dir = 1; + pixel_y = 5 + }, +/turf/open/floor/carpet, +/area/station/service/library) "fZL" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -15019,6 +16479,15 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) +"fZZ" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "gad" = ( /obj/structure/table/bronze, /obj/item/food/grown/cannabis{ @@ -15051,25 +16520,18 @@ }, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hop) -"gal" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = 8; - pixel_y = 7 - }, -/obj/item/reagent_containers/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = 8; - pixel_y = 2 +"gaj" = ( +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 }, -/obj/item/radio/intercom/directional/east, -/obj/effect/spawner/random/food_or_drink/condiment{ - pixel_x = -8; - pixel_y = 3 +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 }, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "gan" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/airlock/research{ @@ -15125,6 +16587,16 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/white/small, /area/station/science/lab) +"gbj" = ( +/obj/item/book/manual/chef_recipes, +/obj/item/stack/package_wrap{ + pixel_y = 2 + }, +/obj/item/holosign_creator/robot_seat/restaurant, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/table, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "gby" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/herringbone, @@ -15288,13 +16760,6 @@ }, /turf/open/floor/plating, /area/station/medical/treatment_center) -"geC" = ( -/obj/structure/reagent_dispensers/beerkeg, -/obj/structure/sign/picture_frame/portrait/bar{ - pixel_y = 32 - }, -/turf/open/floor/stone, -/area/station/service/bar/backroom) "geE" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/south, @@ -15305,6 +16770,16 @@ /obj/machinery/light/small/directional/west, /turf/open/misc/sandy_dirt, /area/station/hallway/primary/central/fore) +"geH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red, +/obj/structure/sign/warning/no_smoking/circle/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/security) "geJ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -15337,6 +16812,16 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/foyer) +"gfm" = ( +/obj/structure/chair/office{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/parquet, +/area/station/service/library) "gfs" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/command) @@ -15383,6 +16868,18 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating/airless, /area/space/nearstation) +"ggc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/public/glass{ + name = "Departure Lounge" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/hallway/secondary/exit/departure_lounge) "ggh" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -15399,17 +16896,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"ggq" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "ggw" = ( /obj/effect/turf_decal/stripes/white/end{ dir = 1 @@ -15446,6 +16932,15 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/lesser) +"ghj" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron, +/area/station/service/hydroponics) "ghs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15498,6 +16993,15 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/science/lower) +"ghL" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "ghQ" = ( /obj/machinery/nuclearbomb/selfdestruct, /turf/open/floor/circuit/green, @@ -15513,16 +17017,6 @@ /obj/structure/cable, /turf/open/floor/stone, /area/station/service/abandoned_gambling_den) -"gih" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "giq" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -15569,6 +17063,13 @@ }, /turf/open/floor/iron/dark/corner, /area/station/science/xenobiology) +"gjn" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "gjL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/heat_exchanging/junction{ @@ -15675,13 +17176,18 @@ "gla" = ( /turf/open/floor/iron/grimy, /area/station/commons) -"glb" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown/full, -/obj/structure/reagent_dispensers/beerkeg, -/obj/effect/turf_decal/bot_red/left, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/smooth_large, +"gls" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/library) +"glA" = ( +/obj/effect/landmark/start/hangover, +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/wood/tile, /area/station/service/bar) "glJ" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, @@ -15753,6 +17259,21 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai) +"gnL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 6 + }, +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "gnQ" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /obj/effect/spawner/structure/window, @@ -15836,10 +17357,7 @@ /area/station/maintenance/department/medical/central) "gpy" = ( /obj/effect/decal/cleanable/dirt, -/obj/item/toy/plush/slimeplushie{ - name = "Nanners" - }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "gpA" = ( /obj/effect/turf_decal/siding/thinplating/terracotta, @@ -15947,6 +17465,23 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/department/engine/atmos) +"grH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/machinery/computer/security/telescreen/interrogation/directional/north, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/security) +"grI" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "gsh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -16064,26 +17599,9 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/small, /area/station/security/brig) -"guR" = ( -/obj/machinery/modular_computer/preset/curator, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/library) "guY" = ( /turf/closed/wall, /area/station/service/chapel/storage) -"gvn" = ( -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/turf/open/floor/iron/textured_half, -/area/station/security/brig/entrance) "gvB" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -16103,9 +17621,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/brig/entrance) -"gvY" = ( -/turf/closed/wall/r_wall, -/area/space) "gwa" = ( /obj/structure/chair{ dir = 1 @@ -16123,6 +17638,33 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/small, /area/station/engineering/atmos/storage/gas) +"gwm" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"gwx" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "gwQ" = ( /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/east, @@ -16265,6 +17807,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"gyc" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "gyd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/window/spawner/directional/east, @@ -16298,13 +17846,21 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"gzj" = ( -/obj/structure/flora/bush/flowers_br/style_random, -/obj/structure/beebox, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/grass, -/area/station/service/hydroponics) +"gyx" = ( +/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/dark_red/fourcorners, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron, +/area/station/security/brig/entrance) +"gyy" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "gzs" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -16371,6 +17927,14 @@ dir = 5 }, /area/station/science/research) +"gAH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood/corner, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/parquet, +/area/station/service/library) "gAJ" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron, @@ -16394,6 +17958,13 @@ }, /turf/open/space/basic, /area/space/nearstation) +"gBg" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "gBh" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/department/engine/atmos) @@ -16484,6 +18055,13 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/wood/tile, /area/station/command/bridge) +"gCl" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "gCo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16629,6 +18207,15 @@ /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"gEx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "gEy" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner{ @@ -16784,6 +18371,16 @@ /obj/structure/chair, /turf/open/floor/wood, /area/station/cargo/miningfoundry) +"gGx" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "gGB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -16814,6 +18411,10 @@ /obj/item/melee/chainofcommand, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"gHg" = ( +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) "gHl" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/half/contrasted{ @@ -16821,12 +18422,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) -"gHt" = ( -/obj/structure/kitchenspike, -/obj/effect/turf_decal/bot_red, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "gHD" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -16881,6 +18476,17 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"gIv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "gIx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -16976,11 +18582,21 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/carpet/royalblue, /area/station/command/corporate_suite) +"gJD" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "gJQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, /obj/item/stack/spacecash/c1, -/obj/item/clothing/mask/cigarette/cigar/havana, +/obj/item/cigarette/cigar/havana, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) "gJS" = ( @@ -17054,6 +18670,24 @@ "gLb" = ( /turf/closed/wall, /area/station/medical/virology) +"gLg" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/camera/autoname/directional/north, +/obj/structure/cable, +/obj/structure/sign/painting/large/library{ + dir = 1 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"gLo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "gLr" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -17093,6 +18727,29 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"gLO" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L11"; + pixel_y = -15 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"gLV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "gLY" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -17143,6 +18800,20 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"gMM" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/delivery/red, +/obj/machinery/door/airlock/medical/glass{ + id_tag = "MedbayFoyer"; + name = "Medbay Clinic" + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "medlock"; + name = "Lockdown Shutters" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/small, +/area/station/medical/medbay/lobby) "gMQ" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/displaycase/labcage, @@ -17164,6 +18835,15 @@ }, /turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) +"gMX" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "gNb" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -17200,6 +18880,17 @@ /obj/structure/cable, /turf/open/floor/wood, /area/station/engineering/atmos) +"gNP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "gNS" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ @@ -17209,16 +18900,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/space_catwalk) -"gNU" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "gNV" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/stairs{ @@ -17228,6 +18909,13 @@ "gOm" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/equipment) +"gOt" = ( +/obj/structure/flora/tree/jungle/small/style_2, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "gOw" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair{ @@ -17278,6 +18966,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/engine, /area/station/engineering/atmos) +"gPm" = ( +/obj/machinery/computer/monitor{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/iron/smooth, +/area/station/ai_monitored/turret_protected/aisat/equipment) "gPN" = ( /obj/structure/fermenting_barrel, /turf/open/floor/plating, @@ -17342,6 +19037,11 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/engineering/supermatter/room) +"gRm" = ( +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "gRp" = ( /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/machinery/door/airlock/security{ @@ -17362,6 +19062,14 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) +"gRH" = ( +/obj/machinery/button/door/directional/north{ + id = "Cabin4"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1 + }, +/turf/closed/wall, +/area/station/service/abandoned_gambling_den) "gRL" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -17517,15 +19225,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) -"gTV" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "gTW" = ( /obj/machinery/door/airlock/hatch, /turf/open/floor/iron, @@ -17586,6 +19285,11 @@ /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/security/medical) +"gUN" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/tree/jungle/style_5, +/turf/open/floor/grass, +/area/station/service/chapel) "gUV" = ( /obj/structure/cable, /obj/structure/chair/stool/directional/south{ @@ -17614,24 +19318,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood/large, /area/station/command/corporate_suite) -"gVq" = ( -/obj/structure/table/wood, -/obj/machinery/firealarm/directional/east, -/obj/item/gun/ballistic/shotgun/doublebarrel, -/obj/item/holosign_creator/robot_seat/bar{ - pixel_x = 2; - pixel_y = 9 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/stone, -/area/station/service/bar/backroom) "gVA" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/structure/grille, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"gVL" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "gVW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/small/directional/east, @@ -17643,7 +19342,7 @@ "gWf" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "gWk" = ( /obj/effect/turf_decal/siding/wood, @@ -17712,11 +19411,6 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"gXD" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/computer/security/telescreen/entertainment/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "gXL" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -17743,19 +19437,6 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/construction) -"gYg" = ( -/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/machinery/door/airlock/wood{ - name = "Bar Backroom" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor/iron_smooth, -/area/station/service/bar) "gYq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17766,14 +19447,6 @@ /obj/machinery/vending/wardrobe/robo_wardrobe, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/robotics/augments) -"gYK" = ( -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"gYX" = ( -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room/commissary) "gZf" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -17799,15 +19472,6 @@ /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"gZo" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "gZt" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -17835,9 +19499,6 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"gZR" = ( -/turf/open/floor/stone, -/area/station/service/bar/backroom) "gZS" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -17886,6 +19547,14 @@ /obj/machinery/light/cold/directional/south, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"haH" = ( +/obj/machinery/food_cart, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 9 + }, +/obj/effect/turf_decal/weather/snow, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "haO" = ( /obj/effect/turf_decal/stripes/white/end, /obj/machinery/door/poddoor/shutters{ @@ -18075,12 +19744,6 @@ /obj/effect/mapping_helpers/requests_console/assistance, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"hcB" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "hcE" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 1 @@ -18170,6 +19833,18 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/command/bridge) +"hdI" = ( +/obj/structure/table/wood, +/obj/item/pai_card, +/obj/item/storage/crayons, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "hdQ" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 @@ -18186,15 +19861,23 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"hee" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"hdW" = ( +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/camera/autoname/directional/east, +/obj/effect/spawner/random/entertainment/arcade{ + dir = 8 }, -/obj/item/storage/fancy/candle_box, -/obj/machinery/light_switch/directional/west, -/obj/structure/rack/skeletal, -/turf/open/floor/iron/grimy, -/area/station/service/library) +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) +"hdZ" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "hei" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -18285,6 +19968,12 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/testlab) +"heY" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/computer/security, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/turf/open/floor/iron, +/area/station/security/warden) "hfc" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/three, @@ -18366,11 +20055,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"hgE" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "hgF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -18455,12 +20139,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"hhZ" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/space/basic, -/area/space) "hic" = ( /obj/machinery/holopad, /turf/open/floor/wood/large, @@ -18494,6 +20172,22 @@ }, /turf/open/floor/iron/small, /area/station/security/office) +"hiD" = ( +/obj/machinery/door/airlock/multi_tile/public{ + dir = 1 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/service/bar) +"hiK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "hiU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -18616,12 +20310,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"hkJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) "hkL" = ( /obj/structure/cable, /turf/open/floor/wood/large, @@ -18651,12 +20339,14 @@ /obj/machinery/status_display/ai/directional/west, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"hlo" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"hla" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Public Shrine" + }, +/obj/effect/turf_decal/siding/wood/end, +/obj/machinery/door/firedoor, +/turf/open/floor/stone, +/area/station/hallway/primary/port) "hlE" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 4 @@ -18731,6 +20421,12 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) +"hmn" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white, +/area/station/hallway/primary/central/aft) "hmt" = ( /obj/structure/closet/crate, /obj/item/stack/license_plates/empty/fifty, @@ -18749,6 +20445,28 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"hmC" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/chapel) +"hmK" = ( +/obj/machinery/door/airlock/wood{ + name = "Bar Backroom" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/stone, +/area/station/service/bar) "hmQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/table, @@ -18781,6 +20499,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"hnn" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "hnG" = ( /obj/machinery/atmospherics/components/unary/thermomachine/heater/on{ dir = 8; @@ -18832,6 +20557,16 @@ }, /turf/open/floor/plating, /area/station/engineering/gravity_generator) +"hoc" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/item/radio/intercom/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "hok" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -18871,21 +20606,6 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"hoU" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/disposal/bin, -/obj/machinery/light_switch/directional/south, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - South" - }, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "hoV" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -18930,13 +20650,6 @@ /obj/effect/turf_decal/siding, /turf/open/floor/iron/white, /area/station/science/cytology) -"hpP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/flora/tree/jungle/small/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "hpQ" = ( /obj/structure/closet/crate/coffin, /obj/structure/window/spawner/directional/south, @@ -19027,6 +20740,20 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"hrc" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"hrl" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/west, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" + }, +/turf/open/floor/iron, +/area/station/service/kitchen) "hrx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -19111,6 +20838,11 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/small, /area/station/engineering/break_room) +"hsx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar) "hsy" = ( /obj/structure/railing/corner{ dir = 4 @@ -19163,26 +20895,6 @@ "htp" = ( /turf/closed/wall, /area/station/service/barber) -"htt" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/table/wood, -/obj/machinery/light/small/built/directional/north, -/obj/item/stack/sheet/iron/ten, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 9 - }, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) -"htI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock{ - name = "Backstage Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/turf/open/floor/stone, -/area/station/maintenance/central/greater) "htM" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -19223,19 +20935,6 @@ dir = 8 }, /area/station/engineering/supermatter/room) -"htV" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/security/general, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security) "hua" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -19254,6 +20953,17 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) +"huj" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "hur" = ( /obj/structure/table/glass, /obj/item/storage/briefcase/secure, @@ -19315,12 +21025,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/grass, /area/station/medical/virology) -"hvM" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "hvT" = ( /obj/structure/railing, /obj/effect/decal/cleanable/dirt/dust, @@ -19358,12 +21062,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"hwe" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/blue/half, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "hwh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -19423,13 +21121,6 @@ "hwJ" = ( /turf/closed/wall/rust, /area/space/nearstation) -"hwN" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/machinery/chem_heater/withbuffer, -/turf/open/floor/iron/white, -/area/station/maintenance/central/greater) "hwZ" = ( /obj/structure/chair/bronze{ dir = 8 @@ -19517,26 +21208,6 @@ /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) -"hyl" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/red/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/spacebridge) -"hym" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/table, -/obj/item/trash/cnds, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "hyv" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -19570,6 +21241,16 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"hyW" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "hyX" = ( /obj/structure/window/spawner/directional/north, /obj/machinery/hydroponics/soil, @@ -19588,6 +21269,17 @@ "hzm" = ( /turf/closed/wall/rust, /area/station/cargo/miningoffice) +"hzp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "hzK" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -19604,28 +21296,6 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/mining, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/cargo/miningoffice) -"hzY" = ( -/obj/structure/cable, -/obj/machinery/light/directional/east, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"hAd" = ( -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/reagent_dispensers/watertank/high, -/obj/item/reagent_containers/cup/watering_can, -/obj/machinery/light/small/directional/west, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) "hAu" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -19634,6 +21304,12 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"hAB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "hAC" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark/small, @@ -19675,19 +21351,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/plating, /area/station/commons/storage/tools) -"hBr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "kitchenshutters"; - name = "Kitchen Shutters" - }, -/obj/item/plate, -/obj/item/food/sandwich/peanut_butter_jelly, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "hBt" = ( /obj/effect/turf_decal/trimline/neutral/line{ dir = 8 @@ -19707,17 +21370,6 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) -"hBK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "hBR" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 4 @@ -19740,6 +21392,17 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"hCd" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/mob/living/simple_animal/bot/secbot/beepsky/officer, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security) "hCl" = ( /obj/machinery/firealarm/directional/south, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -19813,11 +21476,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"hDm" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/chair/stool/bar/directional/north, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "hDt" = ( /obj/structure/toilet{ pixel_y = 8 @@ -19892,6 +21550,22 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth, /area/station/engineering/engine_smes) +"hEu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"hEw" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/light/small/directional/east, +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "hED" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -19899,6 +21573,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"hEJ" = ( +/turf/open/floor/iron/smooth, +/area/station/service/library) "hFb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19973,6 +21650,10 @@ }, /turf/open/floor/wood, /area/station/engineering/main) +"hGr" = ( +/obj/effect/spawner/structure/window/reinforced, +/turf/open/floor/plating, +/area/station/tcommsat/server) "hGt" = ( /obj/effect/turf_decal/tile/blue{ dir = 1 @@ -19995,6 +21676,12 @@ /obj/structure/sign/departments/telecomms/directional/south, /turf/open/floor/iron, /area/station/science/lobby) +"hHy" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "hHE" = ( /obj/effect/turf_decal/bot_white, /turf/open/floor/engine, @@ -20027,6 +21714,12 @@ }, /turf/open/floor/iron/smooth, /area/station/command/gateway) +"hIm" = ( +/obj/machinery/libraryscanner, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/wood/parquet, +/area/station/service/library) "hIE" = ( /obj/structure/table/glass, /obj/machinery/light/small/directional/east, @@ -20140,9 +21833,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/small, /area/station/security/detectives_office) +"hKV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "hKX" = ( /turf/closed/mineral/random/stationside, /area/station/hallway/primary/fore) +"hKZ" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "hLa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -20151,6 +21856,10 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) +"hLb" = ( +/obj/machinery/holopad, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "hLc" = ( /turf/open/floor/plating, /area/station/science/xenobiology) @@ -20233,10 +21942,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron, /area/station/security/lockers) -"hMz" = ( -/obj/machinery/computer/order_console/cook, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "hMA" = ( /obj/machinery/status_display/ai/directional/east, /turf/open/floor/iron, @@ -20247,11 +21952,25 @@ /obj/machinery/light/cold/directional/west, /turf/open/floor/iron/smooth, /area/station/command/bridge) +"hML" = ( +/obj/effect/landmark/start/hangover, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) "hNb" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"hNj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "hNo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -20288,13 +22007,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"hNT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "hNU" = ( /obj/structure/table/reinforced, /obj/structure/spider/stickyweb, @@ -20339,6 +22051,16 @@ dir = 1 }, /area/station/security/execution/transfer) +"hOO" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/large/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "hOX" = ( /obj/item/chair, /obj/effect/decal/cleanable/dirt/dust, @@ -20349,6 +22071,15 @@ /obj/structure/sign/poster/contraband/random/directional/north, /turf/open/floor/carpet/lone, /area/station/service/abandoned_gambling_den) +"hPb" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt, +/obj/structure/rack, +/obj/effect/spawner/random/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "hPd" = ( /obj/structure/hedge, /obj/effect/turf_decal/tile/brown{ @@ -20414,6 +22145,16 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/circuit, /area/station/tcommsat/server) +"hQx" = ( +/obj/effect/turf_decal/siding/wideplating/dark/corner, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "hQz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, @@ -20669,6 +22410,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"hVO" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/south, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) "hVX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ @@ -20693,6 +22441,13 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"hWm" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "hWu" = ( /obj/machinery/door/airlock/medical{ name = "CMO Bedroom" @@ -20723,11 +22478,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/security) -"hWQ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/tile, -/area/station/service/bar) "hWU" = ( /obj/machinery/door/airlock{ name = "Maintenance" @@ -20791,13 +22541,13 @@ /obj/effect/landmark/navigate_destination/research, /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"hYm" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/floor, -/turf/open/floor/iron/large, -/area/station/hallway/secondary/spacebridge) +"hYh" = ( +/obj/structure/flora/bush/jungle/c/style_3, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "hYn" = ( /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, @@ -21016,6 +22766,13 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"ibF" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "ibI" = ( /obj/effect/turf_decal/siding/white/corner{ dir = 8 @@ -21050,6 +22807,18 @@ }, /turf/open/floor/wood, /area/station/hallway/secondary/entry) +"icN" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "icT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21103,6 +22872,20 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"ids" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/button/door/directional/north{ + name = "Door Bolt Control"; + id = "commiss2"; + normaldoorcontrol = 1; + specialfunctions = 4 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "idt" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -21199,6 +22982,28 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/iron/white, /area/station/science/cytology) +"ifl" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash, +/turf/open/floor/iron/stairs{ + dir = 8 + }, +/area/station/maintenance/port/greater) +"ifH" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "ifI" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -21256,6 +23061,10 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) +"ihb" = ( +/obj/effect/spawner/random/trash, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "ihc" = ( /obj/structure/cable, /obj/machinery/door/airlock/command/glass{ @@ -21265,6 +23074,12 @@ /obj/effect/mapping_helpers/airlock/access/all/command/teleporter, /turf/open/floor/iron/dark/textured_half, /area/station/command/teleporter) +"ihd" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "ihh" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, @@ -21293,11 +23108,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/captain) -"iho" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall, -/area/station/hallway/secondary/spacebridge) "ihq" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -21380,6 +23190,15 @@ }, /turf/open/space/basic, /area/space) +"iiI" = ( +/obj/structure/table/reinforced, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/poddoor/shutters{ + id = "meow"; + name = "Commissary" + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "iiW" = ( /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_dark, @@ -21393,17 +23212,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"ijm" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "ijn" = ( /obj/effect/turf_decal/siding/purple{ dir = 5 @@ -21539,27 +23347,32 @@ }, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) -"ild" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ +"ile" = ( +/obj/structure/chair{ dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 4 - }, -/obj/effect/mapping_helpers/mail_sorting/security/hos_office, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 5 }, -/turf/open/floor/iron, -/area/station/security) +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "ill" = ( /obj/structure/frame/machine, /obj/item/circuitboard/computer/security, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"ilo" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "ilw" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21567,6 +23380,17 @@ dir = 4 }, /area/station/science/research) +"ilx" = ( +/obj/effect/turf_decal/delivery, +/obj/effect/turf_decal/stripes/end{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "ilz" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt/dust, @@ -21632,6 +23456,11 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"ind" = ( +/obj/machinery/light/floor, +/obj/structure/flora/bush/flowers_br, +/turf/open/floor/grass, +/area/station/hallway/primary/central/fore) "inh" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/neutral/line{ @@ -21655,6 +23484,18 @@ /obj/effect/landmark/start/shaft_miner, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"inU" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) +"ioa" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/stone, +/area/station/service/bar) "iob" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -21787,10 +23628,6 @@ dir = 8 }, /area/station/command/bridge) -"ipt" = ( -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "ipx" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -21819,6 +23656,12 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) +"ipG" = ( +/obj/machinery/deepfryer, +/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "ipP" = ( /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/stripes/corner{ @@ -21906,16 +23749,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"iqN" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "iqY" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 1; @@ -22058,6 +23891,19 @@ }, /turf/closed/wall, /area/station/hallway/primary/port) +"isO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "isQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22151,11 +23997,18 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"iuL" = ( -/obj/machinery/vending/games, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood/parquet, -/area/station/service/library) +"iuF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light_switch/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/cargo/boutique) +"iuR" = ( +/turf/closed/wall/r_wall, +/area/station/hallway/primary/central/aft) "iuW" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/west, @@ -22171,6 +24024,17 @@ /obj/item/melee/baseball_bat, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"ivh" = ( +/obj/structure/cable, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/trash, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "ivk" = ( /obj/machinery/atmospherics/components/tank/air{ dir = 8 @@ -22229,20 +24093,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"iwa" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/service/hydroponics) "iwi" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -22254,35 +24104,16 @@ }, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) +"iwt" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "iwz" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) -"iwJ" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/south, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring the engine."; - dir = 4; - name = "Engine Monitor"; - network = list("engine"); - pixel_x = -32 - }, -/obj/machinery/status_display/evac/directional/south, -/obj/item/radio/off{ - pixel_x = 1; - pixel_y = 3 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/ce) -"iwZ" = ( -/obj/structure/disposalpipe/junction/flip{ - dir = 8 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "ixl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22368,6 +24199,16 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai) +"iyr" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/machinery/light/cold/directional/north, +/obj/machinery/newscaster/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 9 + }, +/area/station/science/ordnance/testlab) "iyt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -22388,6 +24229,12 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/dark, /area/station/science/genetics) +"iyR" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "izh" = ( /obj/item/shovel, /turf/open/floor/plating, @@ -22405,19 +24252,16 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos/space_catwalk) -"izw" = ( -/obj/machinery/transport/tram_controller/tcomms{ - configured_transport_id = "bird_2" +"izo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/grunge{ + name = "Vacant Comissary" }, -/turf/open/floor/circuit, -/area/station/tcommsat/server) -"izB" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/painting/library{ - pixel_y = 32 +/turf/open/floor/iron/textured_half{ + dir = 1 }, -/turf/open/floor/iron/smooth, -/area/station/service/library) +/area/station/maintenance/central/lesser) "izD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22435,6 +24279,20 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos/storage/gas) +"izP" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "izT" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 8 @@ -22463,7 +24321,7 @@ name = "Cabin Bolt Control"; normaldoorcontrol = 1; specialfunctions = 4; - id = "Cabin4" + id = "Cabin1" }, /turf/open/floor/carpet/orange, /area/station/commons/dorms) @@ -22536,6 +24394,14 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) +"iBa" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "iBc" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 5 @@ -22543,11 +24409,6 @@ /obj/machinery/power/shieldwallgen, /turf/open/floor/iron/smooth_large, /area/station/command/teleporter) -"iBg" = ( -/obj/structure/table, -/obj/item/trash/candle, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "iBj" = ( /obj/structure/table/glass, /obj/item/folder/red{ @@ -22567,6 +24428,19 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"iBt" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "iBu" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, @@ -22601,6 +24475,22 @@ }, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/captain) +"iCi" = ( +/obj/machinery/computer/security/telescreen/isolation/directional/north{ + name = "reflection room monitor" + }, +/obj/effect/turf_decal/stripes/white/corner{ + dir = 1 + }, +/obj/item/kirbyplants/random, +/obj/machinery/firealarm/directional/east, +/obj/machinery/button/flasher{ + id = "IsolationFlash"; + pixel_x = 28; + pixel_y = 28 + }, +/turf/open/floor/iron/dark/small, +/area/station/security/execution/education) "iCj" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 4 @@ -22725,17 +24615,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/engine, /area/station/science/explab) -"iEE" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "iEG" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/dark/side{ @@ -22762,20 +24641,6 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/wood/large, /area/station/command/corporate_suite) -"iEX" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/structure/window/spawner/directional/north, -/obj/effect/turf_decal/stripes/end{ - dir = 8 - }, -/obj/structure/disposaloutlet{ - dir = 4; - name = "Cargo Deliveries" - }, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) "iFb" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -22795,6 +24660,16 @@ /obj/structure/window/spawner/directional/east, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) +"iFD" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L5"; + pixel_y = -15 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "iFE" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/chair/office{ @@ -22828,6 +24703,10 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/solars/port/aft) +"iGq" = ( +/obj/effect/landmark/start/librarian, +/turf/open/floor/wood/parquet, +/area/station/service/library) "iGt" = ( /obj/structure/cable, /obj/machinery/duct, @@ -22873,6 +24752,14 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"iGS" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "iHg" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance/external{ @@ -22882,6 +24769,22 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) +"iHq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/light/small/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) +"iHv" = ( +/obj/structure/table, +/obj/machinery/computer/security/telescreen/ordnance/directional/north, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/science/ordnance/testlab) "iHw" = ( /obj/effect/spawner/random/structure/barricade, /turf/open/floor/plating, @@ -22890,12 +24793,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/stone, /area/station/service/abandoned_gambling_den) -"iHL" = ( -/obj/structure/bookcase/random, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/library) "iHM" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -22904,6 +24801,17 @@ dir = 1 }, /area/station/science/lower) +"iHT" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"iId" = ( +/obj/structure/table, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "iIs" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -22967,6 +24875,12 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) +"iIU" = ( +/obj/machinery/vending/wardrobe/det_wardrobe, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/computer/security/telescreen/normal/directional/west, +/turf/open/floor/wood, +/area/station/security/detectives_office) "iIW" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -23087,9 +25001,6 @@ /obj/structure/sign/warning/no_smoking/circle/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"iJN" = ( -/turf/open/floor/iron/grimy, -/area/station/service/library) "iJO" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/atmospherics/components/unary/portables_connector/visible, @@ -23154,6 +25065,10 @@ /obj/effect/turf_decal/siding/red, /turf/open/floor/iron/white/small, /area/station/security/warden) +"iLh" = ( +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/smooth, +/area/station/service/library) "iLp" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -23166,10 +25081,19 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"iLq" = ( -/obj/structure/cable, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room/commissary) +"iLA" = ( +/obj/structure/closet/firecloset, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/side{ + dir = 8 + }, +/area/station/hallway/primary/central/fore) "iLC" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23189,14 +25113,17 @@ dir = 8 }, /area/station/hallway/primary/central/fore) -"iLK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 +"iLH" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" }, -/obj/structure/sign/departments/holy/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "iLN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23309,11 +25236,31 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"iNC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/exit/departure_lounge) "iNE" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/vending/snackvend, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"iNF" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "iNO" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -23492,10 +25439,20 @@ /obj/structure/curtain, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) +"iQe" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar) "iQl" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"iQp" = ( +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "iQr" = ( /obj/effect/turf_decal/tile/brown{ dir = 1 @@ -23603,6 +25560,9 @@ "iSr" = ( /turf/open/floor/iron, /area/station/security/execution/transfer) +"iSD" = ( +/turf/open/misc/dirt/jungle, +/area/station/service/chapel) "iSE" = ( /obj/machinery/atmospherics/pipe/layer_manifold/cyan/visible, /obj/effect/landmark/start/atmospheric_technician, @@ -23701,6 +25661,26 @@ /obj/item/crowbar/large/old, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"iUh" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"iUH" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "iUK" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -23782,6 +25762,23 @@ }, /turf/open/floor/plating, /area/station/cargo/miningoffice) +"iVP" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 2; + pixel_y = 3 + }, +/obj/item/storage/toolbox/electrical{ + pixel_x = 4; + pixel_y = 6 + }, +/obj/item/clothing/head/utility/welding, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "iVT" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -23911,6 +25908,12 @@ dir = 8 }, /area/station/engineering/supermatter/room) +"iXi" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall/r_wall, +/area/station/hallway/primary/central/aft) "iXm" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -23949,6 +25952,36 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/dark, /area/station/science/server) +"iXW" = ( +/obj/structure/sign/poster/official/random/directional/north, +/obj/structure/table/wood, +/obj/item/gun/ballistic/shotgun/doublebarrel, +/obj/structure/reagent_dispensers/beerkeg, +/obj/structure/reagent_dispensers/beerkeg{ + pixel_y = 5 + }, +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar/backroom) +"iXZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/junction/flip{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"iYd" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/grimy, +/area/station/service/library) "iYh" = ( /obj/structure/fluff/broken_canister_frame, /turf/open/floor/plating, @@ -23989,15 +26022,6 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/security/processing) -"iZc" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/holopad, -/turf/open/floor/wood/parquet, -/area/station/service/library) "iZu" = ( /obj/effect/turf_decal/tile/neutral/full, /obj/item/kirbyplants/random, @@ -24036,16 +26060,6 @@ /obj/effect/spawner/random/food_or_drink/seed, /turf/open/misc/sandy_dirt, /area/station/maintenance/starboard/aft) -"iZI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral/full, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "iZK" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -24063,12 +26077,41 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"iZM" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"iZO" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/neutral/corner{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "iZU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/directional/east, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain) +"iZW" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "jad" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -24175,15 +26218,38 @@ }, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"jbL" = ( -/obj/structure/disposalpipe/segment, +"jby" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Maintenance" + }, /obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, -/area/station/maintenance/central/greater) +/area/station/maintenance/port/greater) "jbV" = ( /obj/machinery/photocopier, /turf/open/floor/iron/dark, /area/station/security/office) +"jbX" = ( +/obj/effect/landmark/start/assistant, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "jch" = ( /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) @@ -24224,6 +26290,11 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/space/nearstation) +"jcG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "jcU" = ( /obj/structure/chair/wood/wings{ dir = 1 @@ -24247,6 +26318,10 @@ /obj/effect/landmark/start/captain, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) +"jdx" = ( +/obj/structure/table/wood, +/turf/open/floor/carpet, +/area/station/service/library) "jdU" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -24264,6 +26339,13 @@ "jeh" = ( /turf/open/floor/noslip, /area/station/security/tram) +"jep" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/firealarm/directional/north, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) "jeC" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -24279,13 +26361,6 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/smooth_large, /area/station/science/ordnance/storage) -"jeV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/turf/open/floor/iron/white/corner, -/area/station/hallway/secondary/exit/departure_lounge) "jeW" = ( /obj/effect/spawner/structure/window, /obj/structure/sign/departments/medbay/alt/directional/west, @@ -24335,6 +26410,42 @@ /obj/machinery/light/dim/directional/north, /turf/open/floor/iron/smooth, /area/station/security/evidence) +"jfT" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/obj/structure/sign/poster/official/random/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"jgb" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) +"jgq" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/jungle/a/style_3, +/turf/open/misc/dirt/jungle, +/area/station/service/chapel) +"jgx" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron, +/area/station/service/hydroponics) "jgF" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 @@ -24476,19 +26587,6 @@ }, /turf/open/floor/iron/small, /area/station/maintenance/department/engine/atmos) -"jiN" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "jiR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/engine/vacuum, @@ -24542,17 +26640,13 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/medical/chemistry) -"jjS" = ( -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=23.1-Evac"; - location = "22.0-Porthall-Evac" +"jjZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, +/obj/structure/cable, /turf/open/floor/iron, -/area/station/hallway/primary/port) +/area/station/hallway/primary/central/aft) "jkz" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -24587,6 +26681,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) +"jkT" = ( +/obj/structure/table/wood, +/obj/machinery/fax/auto_name, +/turf/open/floor/carpet, +/area/station/service/library) "jkV" = ( /obj/machinery/door/airlock/external/glass{ name = "ATMOS PROJECT Airlock" @@ -24615,6 +26714,12 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/storage) +"jlz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) "jlL" = ( /obj/structure/closet/secure_closet/engineering_chief, /obj/item/storage/briefcase/secure, @@ -24648,6 +26753,11 @@ /obj/machinery/duct, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"jlW" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_pp/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "jlZ" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -24663,12 +26773,6 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"jme" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron/textured_half, -/area/station/service/theater) "jmi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -24774,10 +26878,29 @@ }, /turf/open/floor/plating, /area/station/command/corporate_showroom) -"joy" = ( +"joH" = ( +/obj/structure/table/reinforced, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/pen, +/obj/machinery/door/poddoor/shutters{ + id = "meow"; + name = "Commissary" + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) +"joR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "joS" = ( /obj/machinery/light/broken/directional/north, /obj/effect/decal/cleanable/dirt, @@ -24829,16 +26952,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) -"jpK" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "jpM" = ( /obj/structure/closet{ name = "Evidence Closet 3" @@ -24925,12 +27038,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"jqQ" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "jqZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -24980,6 +27087,17 @@ /obj/structure/closet/firecloset, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) +"jrN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "jrS" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 10 @@ -25006,13 +27124,6 @@ dir = 1 }, /area/station/cargo/office) -"jrZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/flora/tree/jungle/small/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "jsa" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white/side{ @@ -25042,6 +27153,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"jsJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/machinery/status_display/evac/directional/north, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "jsN" = ( /obj/structure/hedge, /obj/effect/decal/cleanable/cobweb/cobweb2, @@ -25151,6 +27271,12 @@ /obj/item/storage/box/matches, /turf/open/floor/iron, /area/station/cargo/sorting) +"juP" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/status_display/evac/directional/south, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/chapel) "juS" = ( /obj/structure/bed, /obj/item/bedsheet/hop, @@ -25158,6 +27284,16 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/hop) +"jvd" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "jvl" = ( /obj/machinery/holopad, /obj/structure/cable, @@ -25245,6 +27381,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) +"jwl" = ( +/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/dark_red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security) "jwC" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer2{ dir = 5 @@ -25302,12 +27453,6 @@ "jxp" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/aisat/foyer) -"jxy" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/navigate_destination/library, -/turf/open/floor/wood/parquet, -/area/station/service/library) "jxC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -25456,14 +27601,6 @@ /obj/effect/mapping_helpers/airlock/abandoned, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"jza" = ( -/obj/machinery/rnd/production/techfab/department/service, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 4 - }, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "jzg" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 1 @@ -25497,6 +27634,14 @@ /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"jzr" = ( +/obj/machinery/holopad, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "jzJ" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/structure/closet/firecloset, @@ -25554,6 +27699,19 @@ }, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) +"jBu" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/wood{ + name = "Bar Backroom" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/bar) "jBA" = ( /obj/structure/cable, /obj/machinery/power/smes/super/full, @@ -25584,15 +27742,14 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"jCm" = ( +/obj/effect/landmark/start/hangover, +/turf/open/misc/dirt/jungle, +/area/station/service/chapel) "jCo" = ( /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"jCA" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/table, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "jCP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -25653,22 +27810,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) -"jDP" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/item/storage/box{ - pixel_x = -8; - pixel_y = 15 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) "jDS" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -25783,24 +27924,12 @@ dir = 8 }, /area/station/commons/storage/tools) -"jEU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/landmark/start/chaplain, -/turf/open/floor/wood/large, -/area/station/service/chapel) "jEZ" = ( /obj/structure/hedge, /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"jFf" = ( -/obj/effect/turf_decal/tile/green/diagonal_centre, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "jFh" = ( /obj/item/kirbyplants/random, /turf/open/floor/iron, @@ -25812,6 +27941,14 @@ }, /turf/open/space/basic, /area/space/nearstation) +"jFm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/effect/spawner/random/vending/snackvend, +/turf/open/floor/stone, +/area/station/service/bar) "jFw" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/yellow{ @@ -25841,11 +27978,13 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"jFY" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/floor, -/turf/open/floor/iron/smooth, -/area/station/service/library) +"jFK" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar) "jGc" = ( /obj/structure/window/spawner/directional/east, /turf/open/floor/iron/showroomfloor, @@ -26105,6 +28244,20 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"jJd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "jJg" = ( /obj/effect/turf_decal/siding/wideplating, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26147,6 +28300,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) +"jKb" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor, +/obj/machinery/door/window/right/directional/east{ + req_access = list("hydroponics"); + name = "Hydroponics Service Desk" + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/hydroponics) "jKg" = ( /obj/effect/turf_decal/tile/neutral{ dir = 1 @@ -26158,30 +28322,6 @@ dir = 1 }, /area/station/science/xenobiology) -"jKh" = ( -/obj/machinery/vending/hydroseeds{ - slogan_delay = 700 - }, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/obj/machinery/light/directional/north, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) -"jKm" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/light/cold/directional/south, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "jKq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26222,22 +28362,20 @@ "jKU" = ( /turf/closed/wall, /area/station/engineering/atmos/storage/gas) +"jKV" = ( +/obj/machinery/processor{ + pixel_y = 6 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/table, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "jLb" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 }, /turf/open/floor/iron, /area/station/commons/storage/tools) -"jLh" = ( -/obj/machinery/light/small/directional/south, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 6 - }, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) "jLl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26283,6 +28421,18 @@ "jLR" = ( /turf/open/floor/iron/small, /area/station/command/teleporter) +"jLS" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/turf/open/floor/carpet, +/area/station/service/library) "jLV" = ( /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, @@ -26315,12 +28465,16 @@ }, /turf/open/floor/iron/small, /area/station/engineering/atmos/pumproom) +"jMA" = ( +/obj/structure/chair/stool/bar/directional/east, +/turf/open/floor/wood/large, +/area/station/service/bar) "jMC" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8 }, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "jML" = ( /obj/structure/cable, @@ -26389,13 +28543,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"jNJ" = ( -/obj/structure/chair{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) "jNL" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -26496,11 +28643,35 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"jPo" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/maintenance{ + name = "Security Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/general, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) "jPq" = ( /obj/structure/disposalpipe/segment, /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"jPI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "jPM" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/security_all, @@ -26514,15 +28685,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) -"jQg" = ( -/obj/structure/table/wood, -/obj/machinery/light/small/directional/south, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 10 - }, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) "jQj" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -26536,6 +28698,16 @@ /obj/effect/mapping_helpers/airlock/access/all/science/research, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/research) +"jQv" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "jQB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -26559,6 +28731,22 @@ }, /turf/open/floor/iron/smooth, /area/station/command/corporate_showroom) +"jRl" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/firealarm/directional/east, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/button/door/directional/north{ + id = "meow"; + name = "Comissary Shutters"; + pixel_x = 29 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "jRs" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, @@ -26584,10 +28772,16 @@ }, /turf/open/floor/iron, /area/station/security) -"jRI" = ( -/obj/structure/table, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room/commissary) +"jRJ" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "jRR" = ( /obj/machinery/atmospherics/components/binary/crystallizer{ dir = 4 @@ -26616,14 +28810,27 @@ /obj/item/bedsheet/brown, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"jSp" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "jSw" = ( /obj/structure/railing, /turf/open/floor/catwalk_floor, /area/station/hallway/secondary/entry) -"jSK" = ( -/obj/structure/table/wood, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) +"jSJ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/grass, +/area/station/service/chapel) "jSQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/item/kirbyplants/random, @@ -26663,6 +28870,16 @@ /obj/structure/cable, /turf/open/floor/iron/textured_half, /area/station/security/detectives_office) +"jTj" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "jTu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26678,6 +28895,13 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) +"jTC" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/autoname/directional/east, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "jTU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -26723,6 +28947,23 @@ /obj/item/instrument/harmonica, /turf/open/floor/iron, /area/station/security/prison/rec) +"jUr" = ( +/obj/item/cigarette, +/obj/item/storage/fancy/cigarettes/cigpack_robust{ + pixel_y = 5; + pixel_x = 6 + }, +/obj/item/lighter, +/obj/structure/sign/poster/official/random/directional/east, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 6 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "jUx" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -26740,12 +28981,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"jVg" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "jVs" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -26804,6 +29039,14 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) +"jWj" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/flora/bush/large/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "jWk" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, @@ -26865,6 +29108,12 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/textured_large, /area/station/cargo/office) +"jXc" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "jXe" = ( /obj/machinery/holopad/secure, /turf/open/floor/iron/smooth, @@ -26918,6 +29167,10 @@ /obj/effect/turf_decal/siding/wideplating/dark/corner, /turf/open/floor/iron, /area/station/security) +"jXJ" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "jXQ" = ( /obj/structure/flora/bush/large/style_random{ pixel_x = -18; @@ -27039,11 +29292,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/science/ordnance/storage) -"kai" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) "kam" = ( /obj/effect/decal/cleanable/cobweb, /obj/machinery/disposal/delivery_chute{ @@ -27056,19 +29304,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/plating, /area/station/service/janitor) -"kar" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/door/airlock/public/glass{ - name = "Chapel Office" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, -/turf/open/floor/iron/textured_half, -/area/station/service/chapel/office) "kat" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -27142,6 +29377,13 @@ /obj/structure/thermoplastic/light, /turf/open/floor/tram, /area/station/maintenance/port/aft) +"kbk" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/wood, +/area/station/cargo/boutique) "kbm" = ( /obj/item/kirbyplants/random, /obj/machinery/airalarm/directional/south, @@ -27166,11 +29408,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"kcs" = ( -/obj/effect/turf_decal/tile/green/diagonal_centre, -/obj/effect/landmark/navigate_destination/kitchen, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "kcA" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -27179,6 +29416,20 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) +"kcM" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/small/directional/west, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "kcQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 1 @@ -27191,12 +29442,13 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/tcommsat/server) -"kdl" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/sign/departments/vault/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) +"kdg" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/displaycase/trophy, +/turf/open/floor/wood/parquet, +/area/station/service/library) "kdn" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -27226,6 +29478,11 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/white/small, /area/station/science/server) +"keb" = ( +/obj/structure/cable, +/obj/effect/spawner/random/structure/girder, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "kee" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/corner{ @@ -27255,9 +29512,10 @@ "ket" = ( /turf/open/floor/iron, /area/station/security/prison/work) -"kev" = ( -/turf/closed/wall, -/area/station/hallway/secondary/spacebridge) +"keL" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/chapel) "keO" = ( /obj/effect/spawner/random/trash, /obj/effect/turf_decal/siding/white{ @@ -27269,6 +29527,10 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/science/lower) +"keQ" = ( +/obj/structure/flora/grass/jungle/b/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "keS" = ( /obj/effect/turf_decal/siding/white{ dir = 5 @@ -27285,17 +29547,6 @@ /obj/machinery/power/energy_accumulator/tesla_coil, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"keZ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "kft" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -27337,6 +29588,15 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kfO" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "kfW" = ( /obj/effect/turf_decal/siding/yellow{ dir = 1 @@ -27379,7 +29639,7 @@ /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/components/unary/passive_vent, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "kgw" = ( /obj/machinery/door/airlock{ name = "Gambling Den" @@ -27389,16 +29649,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) -"kgz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "kgG" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -27478,15 +29728,6 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"khE" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/structure/sign/departments/holy/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "khG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27515,6 +29756,12 @@ dir = 1 }, /area/station/hallway/primary/central/fore) +"khY" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "khZ" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -27527,6 +29774,25 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) +"kii" = ( +/obj/structure/flora/bush/flowers_yw/style_3{ + pixel_y = -3 + }, +/obj/structure/flora/bush/flowers_br/style_random{ + pixel_x = -6; + pixel_y = -6 + }, +/obj/structure/flora/bush/flowers_pp{ + pixel_y = -5; + pixel_x = -3 + }, +/obj/machinery/light/floor, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "kit" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -27603,6 +29869,19 @@ dir = 8 }, /area/station/hallway/secondary/dock) +"kjx" = ( +/mob/living/basic/goat/pete, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/structure/cable, +/obj/effect/turf_decal/weather/snow/corner, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "kjO" = ( /obj/machinery/portable_atmospherics/canister/air, /obj/effect/turf_decal/siding/white{ @@ -27689,6 +29968,11 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) +"klf" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "klF" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 4 @@ -27724,6 +30008,15 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron/smooth, /area/station/maintenance/disposal/incinerator) +"klN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/large/style_random{ + pixel_y = 0 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "klY" = ( /obj/effect/turf_decal/stripes/white/line, /obj/effect/spawner/random/maintenance, @@ -27987,11 +30280,6 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/brig/entrance) -"kqo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall/r_wall, -/area/station/hallway/secondary/spacebridge) "kqr" = ( /obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -28097,6 +30385,18 @@ "kqX" = ( /turf/closed/wall, /area/station/ai_monitored/aisat/exterior) +"kqZ" = ( +/obj/structure/table, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "krd" = ( /obj/machinery/rnd/production/circuit_imprinter/department/science, /obj/machinery/newscaster/directional/north, @@ -28165,6 +30465,10 @@ /obj/machinery/telecomms/server/presets/common, /turf/open/floor/circuit, /area/station/tcommsat/server) +"ksm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/stone, +/area/station/service/bar) "kso" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -28174,15 +30478,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"kst" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "ksv" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 @@ -28228,6 +30523,16 @@ }, /turf/open/floor/catwalk_floor/iron, /area/station/engineering/gravity_generator) +"ksJ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/hydroponics, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "ksN" = ( /obj/structure/transit_tube/station/dispenser, /obj/effect/decal/cleanable/dirt, @@ -28338,6 +30643,14 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/office) +"kuk" = ( +/obj/machinery/light/warm/dim, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "kuq" = ( /obj/machinery/computer/cargo/request, /turf/open/floor/plating, @@ -28396,6 +30709,16 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"kvD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "kvI" = ( /obj/docking_port/stationary/random{ dir = 8; @@ -28441,6 +30764,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"kwy" = ( +/obj/structure/cable, +/obj/effect/mapping_helpers/broken_floor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "kwA" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -28518,6 +30851,22 @@ /obj/structure/window/spawner/directional/east, /turf/open/floor/plating/rust, /area/station/maintenance/fore/lesser) +"kxY" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/window/left/directional/south{ + name = "Hydroponics Desk" + }, +/obj/machinery/door/firedoor, +/obj/item/paper/guides/jobs/hydroponics, +/obj/item/pen{ + pixel_x = 4 + }, +/obj/machinery/door/window/right/directional/north{ + name = "Hydroponics Desk"; + req_access = list("hydroponics") + }, +/turf/open/floor/plating, +/area/station/service/hydroponics) "kya" = ( /obj/structure/table/greyscale, /obj/item/paper{ @@ -28540,6 +30889,13 @@ /obj/structure/sign/warning/no_smoking/circle/directional/west, /turf/open/floor/iron/smooth, /area/station/engineering/atmos) +"kym" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/cargo/boutique) "kyr" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/airalarm/directional/west, @@ -28561,37 +30917,6 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"kyZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"kzd" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) -"kzu" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "kzv" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -28602,19 +30927,12 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) -"kzx" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) +"kzz" = ( +/obj/effect/turf_decal/weather/dirt, +/mob/living/basic/deer, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) "kzI" = ( /obj/effect/turf_decal/bot_white, /obj/effect/spawner/random/structure/closet_empty/crate, @@ -28626,6 +30944,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"kzV" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "kAf" = ( /obj/structure/transit_tube/station/dispenser/flipped{ dir = 1 @@ -28697,6 +31022,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold/pink/visible, /turf/closed/wall/mineral/titanium/nodiagonal, /area/station/engineering/supermatter) +"kBM" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "kBZ" = ( /obj/machinery/door/airlock/command{ name = "Chief Engineer's Office" @@ -28713,6 +31048,16 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/command/heads_quarters/captain) +"kCB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/obj/effect/landmark/event_spawn, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/cargo/boutique) "kCC" = ( /obj/structure/sink/directional/west, /obj/structure/table/bronze, @@ -28916,6 +31261,15 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/central) +"kGw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "kGB" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -28934,9 +31288,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/wood/parquet, /area/station/service/library) -"kGS" = ( -/turf/open/floor/iron/white, -/area/station/maintenance/central/greater) "kGY" = ( /obj/structure/plasticflaps/opaque, /obj/effect/turf_decal/bot, @@ -29023,6 +31374,17 @@ }, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) +"kHU" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 8 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"kHX" = ( +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "kIj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -29167,23 +31529,32 @@ /obj/structure/cable, /turf/open/floor/iron/stairs, /area/station/engineering/storage/tech) -"kJX" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "kKa" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"kKh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_half, +/area/station/security/brig/entrance) +"kKD" = ( +/obj/structure/chair/comfy/brown, +/obj/structure/sign/painting/library{ + pixel_x = 30 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "kKT" = ( /obj/machinery/computer/camera_advanced/xenobio{ dir = 4 @@ -29230,6 +31601,16 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/carpet, /area/station/medical/psychology) +"kMA" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/light/warm/dim, +/obj/machinery/camera/autoname/directional/south, +/obj/structure/extinguisher_cabinet/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "kMW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29361,6 +31742,28 @@ }, /turf/open/floor/iron/dark/side, /area/station/security/execution/transfer) +"kPo" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"kPp" = ( +/obj/structure/closet/secure_closet/bar, +/obj/item/stack/spacecash/c1, +/obj/item/stack/spacecash/c1, +/obj/item/stack/spacecash/c1, +/obj/item/stack/spacecash/c1, +/obj/item/stack/spacecash/c1, +/obj/machinery/airalarm/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "kPv" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -29389,14 +31792,12 @@ "kQe" = ( /obj/machinery/button/door/directional/west{ id = "QMLoaddoor"; - layer = 4; name = "Loading Doors"; pixel_y = -8; req_access = list("cargo") }, /obj/machinery/button/door/directional/west{ id = "QMLoaddoor2"; - layer = 4; name = "Loading Doors"; pixel_y = 8; req_access = list("cargo") @@ -29434,22 +31835,18 @@ "kQt" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/aft) -"kQA" = ( -/obj/structure/table, -/obj/machinery/microwave{ - pixel_y = 5 - }, -/obj/machinery/requests_console/directional/south{ - department = "Kitchen"; - name = "Kitchen Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/supplies, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "kQM" = ( /obj/machinery/holopad, /turf/open/floor/iron, /area/station/cargo/storage) +"kRs" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/table/wood, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "kRt" = ( /obj/machinery/monkey_recycler, /obj/effect/turf_decal/siding/white{ @@ -29469,6 +31866,17 @@ }, /turf/open/floor/engine/air, /area/station/engineering/atmos/space_catwalk) +"kRA" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/effect/landmark/start/hangover, +/obj/structure/chair/office{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "kRE" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -29571,16 +31979,14 @@ /obj/machinery/photocopier, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"kSV" = ( -/obj/structure/chair/stool/bamboo{ +"kTm" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"kTd" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/wood/parquet, /area/station/service/library) "kTp" = ( /obj/structure/disposalpipe/segment, @@ -29617,6 +32023,15 @@ /obj/structure/tank_holder/extinguisher, /turf/open/floor/catwalk_floor, /area/station/science/xenobiology) +"kTF" = ( +/obj/machinery/light/warm/dim, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "kTG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29628,6 +32043,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/hallway/secondary/command) +"kTX" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) +"kUa" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "kUf" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29641,6 +32071,13 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"kUL" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "kVb" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -29652,6 +32089,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"kVg" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "kVn" = ( /obj/structure/disposalpipe/segment, /obj/structure/table/reinforced, @@ -29703,18 +32148,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/small, /area/station/security/office) -"kWF" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/window/right/directional/north{ - name = "Kitchen Delivery Access"; - req_access = list("kitchen") - }, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "kWJ" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -29766,18 +32199,20 @@ }, /turf/open/floor/iron/white/small, /area/station/security/warden) +"kXC" = ( +/obj/structure/sign/clock/directional/north, +/obj/structure/table/wood, +/obj/machinery/reagentgrinder{ + pixel_x = -5; + pixel_y = 10 + }, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar) "kXM" = ( /obj/effect/spawner/random/structure/girder, /obj/structure/barricade/wooden, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"kXO" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/frame/machine, -/obj/item/circuitboard/machine/chem_dispenser, -/obj/item/stack/cable_coil/five, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "kXQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -29870,6 +32305,13 @@ /obj/item/modular_computer/laptop, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"kZj" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/grass/jungle/b/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "kZx" = ( /obj/machinery/button/door/directional/north{ id = "main_surgery"; @@ -29908,6 +32350,27 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden, /turf/open/floor/plating, /area/station/science/ordnance/testlab) +"kZI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/chapel) +"lab" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "lae" = ( /obj/machinery/atmospherics/components/binary/pump/on{ name = "Cold Loop to Gas" @@ -29934,6 +32397,19 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) +"laK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "laL" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 @@ -29959,18 +32435,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/port/aft) -"lbh" = ( -/obj/structure/sign/directions/evac, -/obj/structure/sign/directions/engineering{ - dir = 1; - pixel_y = 8 - }, -/obj/structure/sign/directions/medical{ - dir = 4; - pixel_y = -9 - }, -/turf/closed/wall, -/area/station/hallway/primary/central/fore) "lbF" = ( /obj/effect/turf_decal/siding/thinplating_new/dark{ dir = 1 @@ -30002,15 +32466,6 @@ }, /turf/open/floor/iron, /area/station/security/brig/entrance) -"lca" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "lce" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 9 @@ -30058,6 +32513,30 @@ /obj/machinery/camera/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"lcD" = ( +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"lcF" = ( +/obj/machinery/status_display/evac/directional/east, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) +"lcY" = ( +/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/neutral{ + dir = 1 + }, +/obj/effect/landmark/navigate_destination/hop, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lda" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30096,15 +32575,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/textured_half, /area/station/security/brig) -"ldZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "lee" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/purple/opposingcorners, @@ -30113,11 +32583,20 @@ }, /turf/open/floor/iron/cafeteria, /area/station/science/circuits) -"lej" = ( -/obj/structure/kitchenspike, -/obj/effect/turf_decal/bot_red, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"lei" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/airlock/public/glass{ + name = "Chapel Office" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, +/turf/open/floor/iron/textured_half, +/area/station/service/chapel/office) "lek" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/corner{ @@ -30139,7 +32618,7 @@ pixel_x = 5; pixel_y = 9 }, -/obj/item/clothing/mask/cigarette/candy{ +/obj/item/cigarette/candy{ pixel_x = -3; pixel_y = 10 }, @@ -30386,25 +32865,25 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) +"lgQ" = ( +/obj/machinery/computer/security/telescreen/cmo/directional/west, +/turf/open/floor/wood/parquet, +/area/station/command/heads_quarters/cmo) "lgV" = ( /obj/structure/table, /obj/item/camera, /turf/open/floor/iron, /area/station/security/prison/workout) -"lhg" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/delivery/red, -/obj/machinery/door/airlock/medical/glass{ - id_tag = "MedbayFoyer"; - name = "Medbay Clinic" - }, -/obj/machinery/door/poddoor/shutters/preopen{ - id = "medlock"; - name = "Lockdown Shutters" +"lhi" = ( +/obj/machinery/airalarm/directional/north, +/obj/machinery/button/door/directional/north{ + id = "vaco"; + name = "Comissary Shutters"; + pixel_x = 29 }, -/turf/open/floor/iron/white/small, -/area/station/medical/medbay/lobby) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "lhl" = ( /obj/effect/spawner/random/trash/graffiti{ pixel_x = 32; @@ -30460,12 +32939,35 @@ /obj/item/pickaxe, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) +"lhT" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "lhZ" = ( /obj/machinery/suit_storage_unit/engine, /obj/structure/cable, /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"lir" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"liw" = ( +/obj/effect/turf_decal/siding/wood/end{ + dir = 8 + }, +/obj/effect/landmark/navigate_destination/kitchen, +/turf/open/floor/wood, +/area/station/hallway/primary/central/aft) "lix" = ( /obj/structure/table/reinforced, /obj/item/grenade/chem_grenade/cleaner{ @@ -30544,6 +33046,27 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating/rust, /area/station/maintenance/department/engine/atmos) +"ljg" = ( +/obj/structure/kitchenspike, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 5 + }, +/obj/effect/turf_decal/weather/snow, +/obj/machinery/airalarm/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"lji" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_yw/style_3, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/camera/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) "ljl" = ( /obj/structure/lattice, /obj/structure/railing/corner{ @@ -30604,6 +33127,16 @@ }, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) +"ljT" = ( +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/obj/machinery/light/floor, +/obj/structure/flora/bush/sparsegrass, +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/hydroponics) "ljZ" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 1 @@ -30665,6 +33198,10 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"lkJ" = ( +/obj/structure/flora/rock/pile/jungle/style_4, +/turf/open/floor/grass, +/area/station/service/chapel) "lkR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30676,17 +33213,6 @@ "lkV" = ( /turf/closed/wall/r_wall, /area/station/science/ordnance) -"lkZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "llg" = ( /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/iron/dark, @@ -30740,6 +33266,15 @@ "llW" = ( /turf/closed/wall, /area/station/ai_monitored/security/armory) +"llY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 4 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "lmb" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -30753,17 +33288,23 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/carpet/donk, /area/station/command/heads_quarters/qm) -"lmo" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) +"lmm" = ( +/mob/living/basic/frog, +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/rock/pile/jungle/style_4, +/obj/structure/flora/bush/flowers_pp/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "lmv" = ( /obj/structure/disposalpipe/segment, /obj/item/kirbyplants/random, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) +"lmz" = ( +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lmR" = ( /obj/structure/dresser, /obj/structure/sign/poster/contraband/random/directional/east, @@ -30791,11 +33332,43 @@ dir = 4 }, /area/station/hallway/secondary/construction) +"lnD" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar) "lnI" = ( /obj/effect/turf_decal/sand/plating, /obj/structure/ore_box, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"lnN" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/structure/table, +/obj/item/reagent_containers/cup/bottle/mutagen{ + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/reagent_containers/syringe{ + pixel_x = -3; + pixel_y = -1 + }, +/obj/item/reagent_containers/cup/watering_can{ + pixel_x = 7; + pixel_y = 13 + }, +/obj/item/reagent_containers/spray/plantbgone{ + pixel_x = 6; + pixel_y = 1 + }, +/obj/machinery/light/small/directional/west, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "lnW" = ( /obj/effect/turf_decal/tile/neutral/full, /obj/structure/chair{ @@ -30864,11 +33437,6 @@ /obj/machinery/holopad, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) -"lpa" = ( -/obj/structure/sign/poster/official/random/directional/north, -/obj/structure/bookcase/random, -/turf/open/floor/wood/parquet, -/area/station/service/library) "lpC" = ( /turf/open/floor/plating, /area/station/service/chapel/funeral) @@ -30948,6 +33516,14 @@ "lql" = ( /turf/open/floor/wood/parquet, /area/station/service/library) +"lqq" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/chapel, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "lqt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -30957,17 +33533,6 @@ "lqC" = ( /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) -"lqF" = ( -/obj/structure/table, -/obj/item/camera_film{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/item/camera_film{ - pixel_y = 9 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "lqL" = ( /obj/effect/landmark/transport/nav_beacon/tram/platform/birdshot/prison_wing, /turf/open/floor/tram, @@ -31035,14 +33600,19 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/small, /area/station/service/barber) -"lsJ" = ( -/obj/structure/window/spawner/directional/north, -/obj/effect/turf_decal/stripes/end{ +"lso" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/bar, +/obj/machinery/door/airlock/wood{ + name = "Bar Backroom" + }, +/obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/plating, -/area/station/hallway/secondary/service) +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/bar) "lsK" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/brown/visible, @@ -31054,6 +33624,10 @@ dir = 1 }, /area/station/science/lower) +"lsP" = ( +/obj/structure/flora/grass/jungle/b/style_5, +/turf/open/floor/grass, +/area/station/service/chapel) "lsY" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/closet/secure_closet/security/sec, @@ -31061,11 +33635,15 @@ dir = 1 }, /area/station/security/execution/transfer) -"lti" = ( -/obj/machinery/libraryscanner, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/library) +"lte" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "lto" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -31081,14 +33659,12 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/plating, /area/station/security/tram) -"lty" = ( -/obj/structure/cable, -/obj/machinery/door/morgue{ - name = "Secret Corridor"; - req_access = list("library") +"ltr" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 6 }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/library) +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "ltz" = ( /obj/effect/turf_decal/siding/red{ dir = 4 @@ -31150,13 +33726,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/storage/tcomms) -"lus" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/library) "lut" = ( /obj/structure/table/wood/fancy/red, /obj/structure/sign/painting/large/library{ @@ -31178,17 +33747,24 @@ }, /turf/open/space/basic, /area/space/nearstation) +"luE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/event_spawn, +/turf/open/floor/wood/tile, +/area/station/service/bar) "luG" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral/opposingcorners, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/commons/fitness/recreation/entertainment) -"luU" = ( -/obj/machinery/smartfridge/food, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) +"luP" = ( +/obj/effect/landmark/start/hangover, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "lvc" = ( /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) @@ -31206,6 +33782,15 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"lvr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/navigate_destination/bar, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lvu" = ( /obj/effect/turf_decal/tile/brown{ dir = 4 @@ -31244,6 +33829,10 @@ /obj/machinery/atmospherics/components/trinary/filter/critical, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/engineering/supermatter/room) +"lvJ" = ( +/obj/structure/flora/bush/flowers_br, +/turf/open/floor/grass, +/area/station/service/chapel) "lvK" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line{ @@ -31263,18 +33852,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"lwa" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/side{ - dir = 8 - }, -/area/station/hallway/primary/central/fore) "lwc" = ( /obj/structure/table/optable, /obj/structure/cable, @@ -31312,6 +33889,15 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"lwC" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/generic_maintenance_landmark, +/obj/structure/table, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "lwI" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/computer/security/mining{ @@ -31371,15 +33957,6 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) -"lxK" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/door/window/right/directional/west{ - name = "Bar Delivery"; - req_access = list("bar") - }, -/obj/machinery/duct, -/turf/open/floor/stone, -/area/station/service/bar/backroom) "lxN" = ( /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, @@ -31499,18 +34076,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/cargo/storage) -"lzv" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/camera/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/structure/sign/departments/botany/alt1/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "lzA" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -31518,6 +34083,22 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/storage) +"lzB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"lzG" = ( +/obj/structure/flora/bush/jungle/c/style_3{ + pixel_x = -7; + pixel_y = 10 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "lzM" = ( /turf/closed/wall, /area/station/security/tram) @@ -31560,6 +34141,16 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"lAt" = ( +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "lAO" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -31592,6 +34183,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) +"lAV" = ( +/obj/structure/table/wood, +/obj/structure/displaycase/forsale/kitchen{ + pixel_y = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/wood/large, +/area/station/service/bar) "lBf" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood{ @@ -31641,6 +34242,19 @@ }, /turf/open/space/basic, /area/space/nearstation) +"lBq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/airalarm/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/small, +/area/station/medical/medbay/lobby) "lBw" = ( /obj/effect/turf_decal/siding/yellow, /obj/effect/turf_decal/siding/yellow{ @@ -31720,6 +34334,13 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/engineering/lobby) +"lCK" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/directional/east, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lCN" = ( /obj/structure/falsewall, /turf/open/floor/plating, @@ -31799,6 +34420,20 @@ /obj/effect/landmark/start/cargo_technician, /turf/open/floor/iron/dark, /area/station/cargo/office) +"lEs" = ( +/obj/structure/extinguisher_cabinet/directional/east, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/machinery/computer/order_console/cook{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "lEJ" = ( /obj/machinery/door/poddoor{ id = "QMLoaddoor"; @@ -31835,6 +34470,14 @@ }, /turf/open/floor/wood/tile, /area/station/maintenance/aft) +"lEO" = ( +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "lER" = ( /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) @@ -31844,6 +34487,12 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"lFq" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/exodrone_launcher, +/turf/open/floor/iron/smooth, +/area/station/cargo/drone_bay) "lFE" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/corner{ @@ -31999,6 +34648,13 @@ dir = 1 }, /area/station/science/lower) +"lHp" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 9 + }, +/obj/structure/sign/poster/official/tactical_game_cards/directional/west, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "lHt" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -32133,16 +34789,39 @@ dir = 8 }, /area/station/science/xenobiology) -"lJc" = ( -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination, -/turf/open/floor/iron/textured_half, -/area/station/service/cafeteria) "lJe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/command/heads_quarters/captain/private) +"lJg" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) +"lJm" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/effect/spawner/random/vending/colavend, +/turf/open/floor/stone, +/area/station/service/bar) +"lJB" = ( +/obj/item/radio/intercom/directional/north{ + broadcasting = 1; + frequency = 1447; + name = "Private Channel"; + pixel_x = -26 + }, +/obj/machinery/computer/security/telescreen/aiupload/directional/west, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "lJF" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold/cyan/visible{ @@ -32162,13 +34841,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) -"lJY" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "lKg" = ( /obj/machinery/firealarm/directional/east, /turf/open/floor/wood, @@ -32179,24 +34851,6 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"lKt" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"lKu" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/reagent_dispensers/fueltank, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "lKA" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -32211,6 +34865,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"lKB" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "lKG" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, @@ -32249,6 +34910,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"lLi" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/mining{ + name = "Drone Bay" + }, +/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/cargo/drone_bay) "lLq" = ( /obj/machinery/firealarm/directional/east, /obj/effect/decal/cleanable/oil, @@ -32291,10 +34963,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"lLJ" = ( -/obj/structure/table, -/turf/open/floor/wood/parquet, -/area/station/service/library) "lLL" = ( /turf/open/floor/iron/dark/side{ dir = 9 @@ -32348,30 +35016,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/lobby) -"lMy" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/storage/photo_album/library, -/turf/open/floor/iron/grimy, -/area/station/service/library) -"lMz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/table/glass, -/obj/item/paper_bin{ - pixel_x = -3; - pixel_y = 7 - }, -/obj/item/pen/invisible{ - pixel_x = -2; - pixel_y = 7 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/library) "lMF" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -32398,17 +35042,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron/grimy, /area/station/service/library) -"lMK" = ( -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"lMN" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "lNf" = ( /obj/effect/turf_decal/siding/blue, /turf/open/floor/iron/white/small, @@ -32468,11 +35101,11 @@ /area/station/engineering/atmos) "lNF" = ( /obj/effect/spawner/random/entertainment/lighter, -/obj/item/clothing/mask/cigarette/rollie/mindbreaker{ +/obj/item/cigarette/rollie/mindbreaker{ pixel_x = -2; pixel_y = 6 }, -/obj/item/clothing/mask/cigarette/rollie/trippy{ +/obj/item/cigarette/rollie/trippy{ pixel_x = 4 }, /obj/effect/mapping_helpers/burnt_floor, @@ -32569,12 +35202,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"lPq" = ( +/obj/structure/flora/bush/flowers_yw/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "lPw" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer2{ dir = 5 }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"lPB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "lPC" = ( /obj/structure/bookcase/random, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -32591,6 +35236,12 @@ /obj/machinery/announcement_system, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) +"lPK" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/reagent_dispensers/fueltank, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "lPO" = ( /obj/structure/table, /obj/item/surgery_tray/full{ @@ -32706,13 +35357,25 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"lRD" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/siding/wideplating_new/terracotta, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) +"lRM" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/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, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) +"lRU" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/dark/herringbone, +/area/station/ai_monitored/command/nuke_storage) "lRV" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/siding/dark_red{ @@ -32748,16 +35411,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"lSw" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/chair, -/obj/effect/landmark/start/hangover, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "lSF" = ( /obj/effect/decal/cleanable/generic, /obj/machinery/light/cold/directional/south, @@ -32780,6 +35433,18 @@ /obj/machinery/chem_heater/withbuffer, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"lTa" = ( +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 8 + }, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "lTg" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -32802,6 +35467,13 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/storage) +"lTy" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar) "lTA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/siding/wood{ @@ -32836,13 +35508,19 @@ }, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"lTZ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/stone, -/area/station/service/bar/backroom) +"lUl" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L1"; + pixel_y = -15 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "lUo" = ( /turf/open/floor/iron, /area/station/science/lobby) @@ -32909,14 +35587,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"lVm" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "lVv" = ( /obj/structure/chair/stool/directional/south, /obj/effect/turf_decal/siding/yellow{ @@ -32943,31 +35613,12 @@ /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"lVL" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "lVN" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"lVP" = ( -/obj/machinery/computer/security/telescreen/cmo{ - dir = 4; - pixel_x = -30 - }, -/turf/open/floor/wood/parquet, -/area/station/command/heads_quarters/cmo) "lVW" = ( /obj/machinery/power/turbine/core_rotor{ dir = 8; @@ -32976,11 +35627,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) -"lWb" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/warning/no_smoking/circle/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "lWk" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/iron/large, @@ -32996,7 +35642,7 @@ pixel_x = 5; pixel_y = -5 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_y = 4 }, /turf/open/floor/iron/dark/small, @@ -33119,6 +35765,17 @@ }, /turf/open/floor/iron/dark, /area/station/medical/cryo) +"lXU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/machinery/light/cold/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lXX" = ( /obj/machinery/light/warm/directional/north, /turf/open/floor/iron, @@ -33144,13 +35801,24 @@ "lYj" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/fore) +"lYl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/status_display/ai/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "lYt" = ( /obj/structure/table/wood/fancy/green, /obj/item/storage/wallet{ pixel_x = -3; pixel_y = 10 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = -1; pixel_y = -2 }, @@ -33190,17 +35858,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"lYU" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "lYV" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 4 @@ -33222,6 +35879,20 @@ }, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) +"lZf" = ( +/obj/machinery/vending/hydroseeds{ + slogan_delay = 700 + }, +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/obj/machinery/camera/autoname/directional/north, +/turf/open/floor/iron, +/area/station/service/hydroponics) "lZt" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/plating, @@ -33271,22 +35942,6 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) -"lZD" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/directional/east, -/obj/structure/sign/directions/security/directional/east{ - dir = 2 - }, -/obj/structure/sign/directions/medical/directional/east{ - pixel_y = 8 - }, -/obj/structure/sign/directions/science/directional/east{ - pixel_y = -8 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "lZH" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -33314,31 +35969,21 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"maa" = ( -/obj/structure/table, -/obj/item/tape, -/obj/item/pen/red{ - pixel_x = 3; - pixel_y = 12 - }, -/obj/item/pen/blue{ - pixel_x = -6; - pixel_y = 12 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"mad" = ( -/obj/structure/table, -/obj/item/taperecorder{ - pixel_x = -16; - pixel_y = 3 +"lZT" = ( +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 4 }, -/obj/item/flashlight/lamp/green{ - pixel_x = 8; - pixel_y = 3 +/turf/open/floor/grass, +/area/station/service/chapel) +"mae" = ( +/obj/structure/table/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 6 }, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/machinery/chem_dispenser/drinks, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar) "maf" = ( /turf/closed/wall/rust, /area/station/hallway/primary/fore) @@ -33354,26 +35999,12 @@ /obj/machinery/keycard_auth/directional/south, /turf/open/floor/wood/large, /area/station/command/heads_quarters/captain) -"mam" = ( -/obj/structure/table, -/obj/machinery/computer/libraryconsole/bookmanagement{ - dir = 1 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood/parquet, -/area/station/service/library) "mau" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/white/small, /area/station/science/cubicle) -"maz" = ( -/obj/structure/chair/office, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/parquet, -/area/station/service/library) "maE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -33390,6 +36021,19 @@ }, /turf/open/floor/sepia, /area/station/maintenance/aft) +"mbf" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "mbp" = ( /obj/structure/hedge, /obj/machinery/light_switch/directional/east, @@ -33405,12 +36049,6 @@ /obj/structure/fluff/broken_canister_frame, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"mbK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/grimy, -/area/station/service/library) "mbV" = ( /obj/effect/spawner/random/entertainment/arcade, /turf/open/floor/eighties/red, @@ -33420,6 +36058,16 @@ /obj/machinery/cell_charger, /turf/open/floor/iron/grimy, /area/station/science/cubicle) +"mce" = ( +/obj/machinery/computer/slot_machine{ + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/status_display/evac/directional/north, +/turf/open/floor/stone, +/area/station/service/bar) "mch" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -33463,6 +36111,16 @@ /obj/item/phone, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) +"mcI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "mcP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -33471,6 +36129,14 @@ /obj/effect/landmark/start/medical_doctor, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) +"mcS" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/cold/directional/east, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mcT" = ( /obj/effect/turf_decal/bot, /obj/effect/decal/cleanable/dirt, @@ -33481,10 +36147,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter) -"mdj" = ( -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +"mcV" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/wood/parquet, +/area/station/service/library) "mdm" = ( /obj/structure/chair/office/light{ dir = 8 @@ -33507,15 +36176,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"mdU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/camera/directional/north, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "mdX" = ( /obj/machinery/light/small/directional/north, /obj/machinery/conveyor_switch{ @@ -33637,6 +36297,21 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) +"mgW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 9 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "mhk" = ( /turf/closed/wall, /area/station/maintenance/port/greater) @@ -33662,6 +36337,12 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/service/lawoffice) +"mib" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/bar) "mid" = ( /obj/effect/spawner/random/structure/crate_loot, /turf/open/floor/plating, @@ -33689,6 +36370,9 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"miF" = ( +/turf/open/floor/stone, +/area/station/service/chapel) "miN" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 @@ -33734,17 +36418,12 @@ /obj/item/clothing/under/costume/skeleton, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) -"mjs" = ( -/obj/structure/chair/office, -/obj/machinery/light/directional/north, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"mjB" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) +"mjr" = ( +/obj/machinery/vending/dinnerware, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "mjF" = ( /obj/structure/table/glass, /obj/item/clothing/suit/costume/cyborg_suit, @@ -33786,6 +36465,17 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) +"mka" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/landmark/navigate_destination/hydro, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "mkh" = ( /obj/structure/chair{ dir = 8 @@ -33805,12 +36495,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"mku" = ( -/obj/structure/chair/sofa/bench/right, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +"mkz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "mkA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -33820,6 +36513,14 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white/textured_large, /area/station/command/heads_quarters/cmo) +"mkD" = ( +/obj/machinery/vending/boozeomat, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/dark/textured, +/area/station/service/bar) "mkF" = ( /obj/structure/disposalpipe/segment, /obj/effect/landmark/start/depsec/supply, @@ -33885,6 +36586,18 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) +"mlD" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/hangover, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mlK" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -33900,15 +36613,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"mmp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/small/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "mms" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -33950,6 +36654,15 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"mmL" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/parquet, +/area/station/service/library) "mmT" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -33994,23 +36707,24 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"mnn" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/sign/painting/library{ - pixel_y = 32 +"mnl" = ( +/obj/structure/table, +/obj/item/circuitboard/machine/coffeemaker/impressa, +/obj/item/coffee_cartridge/decaf{ + pixel_y = 9 }, -/turf/open/floor/iron/smooth, -/area/station/service/library) -"mnu" = ( -/obj/structure/chair/office{ - dir = 4 +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) +"mno" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/firealarm/directional/south, +/obj/item/kirbyplants/random, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar) "mnw" = ( /obj/effect/spawner/random/vending/colavend, /obj/machinery/firealarm/directional/east, @@ -34076,6 +36790,26 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) +"mog" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) +"moj" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/command/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/hallway/abandoned_command) "mom" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/atmospherics/components/binary/pump{ @@ -34098,6 +36832,14 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) +"moG" = ( +/obj/effect/spawner/random/trash, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "mpk" = ( /obj/machinery/airalarm/directional/south, /turf/open/floor/circuit/green, @@ -34109,24 +36851,30 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/carpet/lone, /area/station/service/abandoned_gambling_den) +"mpx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "mpy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) -"mpC" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -2; - pixel_y = 4 - }, -/obj/item/pen{ - pixel_x = -2; - pixel_y = 4 +"mpB" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar) "mpE" = ( /obj/machinery/light/cold/dim/directional/north, /obj/structure/disposalpipe/segment{ @@ -34135,17 +36883,6 @@ /obj/structure/sign/poster/official/moth_piping/directional/north, /turf/open/floor/iron/small, /area/station/engineering/break_room) -"mpO" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "mpQ" = ( /obj/structure/bed{ dir = 4 @@ -34157,12 +36894,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/small, /area/station/security/brig) -"mqc" = ( -/obj/structure/table, -/obj/item/pai_card, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood/parquet, -/area/station/service/library) "mql" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 1 @@ -34219,11 +36950,37 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"mrn" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/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/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "mrt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/light/small/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"mru" = ( +/obj/effect/mapping_helpers/requests_console/supplies, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/requests_console/auto_name/directional/south, +/turf/open/floor/stone, +/area/station/service/bar) "mrP" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -34256,6 +37013,16 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"msk" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L3"; + pixel_y = -15 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "msq" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -34273,6 +37040,15 @@ "msJ" = ( /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"mtc" = ( +/obj/structure/table/wood, +/obj/effect/decal/cleanable/dirt, +/obj/item/screwdriver, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 8 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "mtP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34281,17 +37057,6 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron, /area/station/security/prison) -"mtV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock{ - name = "Theater Greenroom" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/service/greenroom) "mud" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -34359,6 +37124,16 @@ /obj/machinery/status_display/ai/directional/north, /turf/open/floor/wood/tile, /area/station/command/meeting_room) +"mvd" = ( +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "mvh" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/holopad, @@ -34445,12 +37220,9 @@ /area/station/hallway/primary/aft) "mwJ" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/obj/item/stack/cable_coil, -/obj/item/multitool, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/machinery/light/small/directional/east, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "mwN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34460,13 +37232,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"mwP" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "mxa" = ( /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/glass/reinforced, @@ -34498,14 +37263,6 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/noslip, /area/station/maintenance/port/aft) -"mxN" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "mxP" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -34515,6 +37272,14 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"mxS" = ( +/obj/item/kirbyplants/random, +/obj/machinery/camera/autoname/directional/west, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/hallway/primary/central/aft) "mxX" = ( /obj/structure/transit_tube/curved/flipped, /obj/structure/lattice, @@ -34530,6 +37295,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"mye" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/rock/pile/jungle/style_5{ + pixel_y = -5; + pixel_x = -8 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "myi" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/simple/brown/visible{ @@ -34599,21 +37374,15 @@ /obj/item/paper/fluff/jobs/engineering/frequencies, /turf/open/floor/carpet/executive, /area/station/command/meeting_room) -"mzc" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ +"mze" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/table, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "vaco"; - name = "Comissary Shutters" - }, /turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) +/area/station/maintenance/port/greater) "mzf" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table, @@ -34653,22 +37422,6 @@ /obj/effect/decal/cleanable/cobweb/cobweb2, /turf/open/floor/iron, /area/station/maintenance/fore/greater) -"mAn" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"mAo" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "mAs" = ( /obj/structure/rack, /obj/item/storage/toolbox/electrical{ @@ -34706,6 +37459,17 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) +"mAR" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mBo" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -34720,30 +37484,10 @@ }, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) -"mBy" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/item/kirbyplants/random/fullysynthetic, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/white, -/area/station/maintenance/central/greater) "mBC" = ( /obj/structure/sign/poster/official/soft_cap_pop_art/directional/north, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"mCb" = ( -/obj/machinery/computer/cargo{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/vault{ - dir = 1; - pixel_y = -30 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "mCf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/external/glass{ @@ -34780,6 +37524,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"mDf" = ( +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "mDh" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -34796,15 +37544,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"mDq" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"mDA" = ( +/obj/structure/table/wood, +/obj/machinery/computer/libraryconsole{ + dir = 1 }, -/obj/structure/sign/departments/cargo/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/structure/sign/painting/library{ + pixel_x = 30 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "mDG" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 1 @@ -34849,6 +37598,13 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/robotics/lab) +"mEb" = ( +/obj/structure/flora/bush/jungle/c/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "mEq" = ( /obj/structure/closet/crate/wooden{ name = "Alms Box" @@ -35016,7 +37772,7 @@ pixel_y = 2 }, /obj/item/wrench, -/obj/item/clothing/mask/cigarette/xeno{ +/obj/item/cigarette/xeno{ pixel_x = -3; pixel_y = -9 }, @@ -35073,6 +37829,10 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/white/small, /area/station/medical/virology) +"mHh" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "mHZ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35140,6 +37900,23 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) +"mIE" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Public Shrine" + }, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/turf/open/floor/stone, +/area/station/hallway/primary/port) +"mIP" = ( +/obj/structure/chair{ + dir = 8 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "mIR" = ( /obj/structure/chair/stool/directional/east, /obj/effect/landmark/start/hangover, @@ -35229,16 +38006,6 @@ /obj/effect/spawner/random/food_or_drink/seed, /turf/open/misc/sandy_dirt, /area/station/maintenance/starboard/aft) -"mJW" = ( -/obj/machinery/biogenerator, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/left/directional/south{ - name = "Bio-Generator"; - req_access = list("hydroponics") - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_large, -/area/station/service/hydroponics) "mJX" = ( /obj/effect/turf_decal/siding/thinplating_new{ dir = 8 @@ -35265,13 +38032,18 @@ dir = 1 }, /area/station/hallway/primary/aft) -"mKs" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/item/kirbyplants/random, -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +"mKm" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +/area/station/hallway/primary/port) "mKB" = ( /obj/machinery/navbeacon{ codes_txt = "delivery;dir=8"; @@ -35288,17 +38060,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"mKH" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/disposal/bin, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "mKK" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -35328,15 +38089,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) -"mLi" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/sign/departments/botany/alt1/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "mLk" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -35390,6 +38142,24 @@ }, /turf/open/floor/iron, /area/station/science/cytology) +"mLT" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/glass, +/obj/item/paper_bin{ + pixel_x = -3; + pixel_y = 7 + }, +/obj/item/pen/invisible{ + pixel_x = -2; + pixel_y = 7 + }, +/obj/machinery/newscaster/directional/north, +/obj/item/storage/photo_album/library, +/obj/item/book/codex_gigas, +/turf/open/floor/iron/grimy, +/area/station/service/library) "mLU" = ( /obj/machinery/vending/autodrobe, /obj/machinery/light/small/directional/west, @@ -35542,6 +38312,15 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/light/colour_cycle/dancefloor_b, /area/station/maintenance/starboard/central) +"mOV" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mPe" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/layer2{ dir = 4 @@ -35622,18 +38401,16 @@ dir = 8 }, /area/station/command/heads_quarters/hos) -"mRp" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/sign/poster/official/random/directional/north, -/obj/structure/hedge, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "mRA" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/open/floor/iron/stairs/left, /area/station/engineering/atmos) +"mRB" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/end, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mRD" = ( /obj/effect/turf_decal/bot_white, /obj/effect/spawner/random/maintenance, @@ -35674,15 +38451,28 @@ }, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) -"mSi" = ( -/obj/structure/mannequin/plastic, +"mSA" = ( +/obj/structure/cable, +/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/disposalpipe/segment{ + dir = 4 + }, /turf/open/floor/plating, -/area/station/cargo/boutique) +/area/station/maintenance/port/greater) "mSH" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"mSQ" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/grass, +/area/station/service/chapel) "mSS" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -35739,13 +38529,6 @@ "mTl" = ( /turf/closed/wall, /area/station/cargo/sorting) -"mTq" = ( -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "mTs" = ( /turf/closed/wall/r_wall, /area/station/security/prison/work) @@ -35814,6 +38597,13 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"mTT" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "mTU" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/transit_tube/horizontal, @@ -35829,6 +38619,26 @@ /obj/effect/landmark/start/paramedic, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"mUi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"mUm" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/status_display/ai/directional/west, +/obj/structure/disposalpipe/segment, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mUn" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -35867,11 +38677,18 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"mVa" = ( -/obj/effect/turf_decal/tile/neutral, +"mVc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/aft) "mVm" = ( /obj/effect/turf_decal/tile/green/anticorner/contrasted{ dir = 1 @@ -35920,11 +38737,6 @@ dir = 4 }, /area/station/medical/medbay/central) -"mVY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/closed/wall, -/area/station/hallway/secondary/spacebridge) "mWc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -35942,6 +38754,27 @@ /obj/machinery/atmospherics/pipe/heat_exchanging/simple, /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) +"mWF" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"mWT" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 8 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "mWY" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/chair/sofa/bench/left{ @@ -35994,6 +38827,18 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"mXZ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "mYd" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36045,34 +38890,13 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) -"mYS" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/flora/bush/flowers_br/style_random, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/grass, -/area/station/service/chapel) "mYT" = ( -/obj/structure/table, -/obj/item/assembly/igniter{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/assembly/igniter{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/item/assembly/igniter{ - pixel_x = 2; - pixel_y = 6 - }, -/obj/item/assembly/igniter{ - pixel_x = 2; - pixel_y = -1 +/obj/machinery/door/poddoor/preopen{ + id = "Xenolab"; + name = "Test Chamber Blast Door" }, -/turf/open/floor/engine, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) "mYW" = ( /obj/machinery/camera{ @@ -36111,21 +38935,25 @@ dir = 1 }, /area/station/security/execution/education) -"mZg" = ( -/obj/structure/disposalpipe/segment{ +"mZd" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ +/obj/effect/turf_decal/trimline/neutral/line{ dir = 8 }, +/obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"mZh" = ( +"mZg" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/status_display/evac/directional/north, /obj/effect/turf_decal/tile/neutral{ - dir = 1 + dir = 8 }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) @@ -36155,12 +38983,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) -"nau" = ( -/obj/structure/disposalpipe/junction, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "nay" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/public/glass{ @@ -36181,11 +39003,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"naE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/stairs, -/area/station/maintenance/port/greater) "naF" = ( /turf/open/floor/iron/dark/smooth_corner{ dir = 1 @@ -36199,17 +39016,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/security/brig/entrance) -"naI" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/storage/box{ - pixel_x = -8; - pixel_y = 15 - }, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/stone, -/area/station/service/theater) "naN" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock{ @@ -36218,13 +39024,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) -"naO" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/service/library) "nbj" = ( /obj/structure/railing{ dir = 1 @@ -36235,11 +39034,6 @@ }, /turf/open/floor/iron/small, /area/station/engineering/supermatter/room) -"nbu" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/holopad, -/turf/open/floor/iron/smooth, -/area/station/service/library) "nbF" = ( /obj/structure/disposalpipe/segment, /obj/machinery/light/small/directional/west, @@ -36255,13 +39049,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"nbZ" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/smooth, -/area/station/service/library) "ncb" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, @@ -36308,13 +39095,6 @@ /obj/effect/landmark/start/lawyer, /turf/open/floor/wood/tile, /area/station/service/lawoffice) -"ncs" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "ncD" = ( /obj/structure/lattice, /obj/structure/disposalpipe/segment{ @@ -36351,16 +39131,21 @@ }, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"ndq" = ( -/obj/structure/cable, +"ndJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/morgue{ - name = "Secret Corridor"; - req_access = list("library") +/obj/effect/turf_decal/stripes/line{ + dir = 1 }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/maintenance/central/greater) +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/effect/landmark/navigate_destination/teleporter, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "ndM" = ( /obj/structure/tank_dispenser/oxygen, /turf/open/floor/iron, @@ -36385,6 +39170,12 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry) +"neF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "neL" = ( /obj/structure/closet/crate{ name = "Materials Crate" @@ -36428,6 +39219,10 @@ }, /turf/open/floor/iron, /area/station/security) +"ngd" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "ngq" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -36435,27 +39230,18 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"ngv" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/plating, +/area/station/hallway/primary/central/fore) "ngL" = ( /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/prison) -"nha" = ( -/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/dark_red/half/contrasted{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 8; - name = "isolation room monitor"; - network = list("isolation"); - pixel_x = 30 - }, -/obj/machinery/photobooth/security, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "nhe" = ( /obj/structure/railing{ dir = 4 @@ -36639,6 +39425,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"njs" = ( +/obj/structure/chair/comfy/black{ + dir = 1 + }, +/obj/effect/landmark/start/chaplain, +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "nju" = ( /obj/machinery/duct, /obj/effect/decal/cleanable/dirt, @@ -36672,6 +39465,20 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating, /area/station/hallway/secondary/construction) +"njT" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "njW" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -36730,6 +39537,12 @@ /obj/effect/turf_decal/trimline/neutral/line, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"nkW" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "nla" = ( /turf/closed/wall, /area/station/commons/storage/art) @@ -36775,6 +39588,13 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos) +"nlQ" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/holopad, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "nlS" = ( /turf/open/floor/iron/white/small, /area/station/medical/virology) @@ -36801,6 +39621,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/small, /area/station/engineering/break_room) +"nmC" = ( +/obj/structure/table/reinforced, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 3 + }, +/obj/item/reagent_containers/cup/bowl{ + pixel_y = 8; + pixel_x = 3 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) "nmH" = ( /obj/structure/railing, /obj/effect/turf_decal/siding/wideplating, @@ -36821,23 +39659,20 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/command/heads_quarters/qm) +"nnd" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "nne" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/tram) -"nnk" = ( -/obj/machinery/camera/motion/directional/north{ - c_tag = "Vault Exterior"; - id_tag = list("vault") - }, -/turf/open/space/basic, -/area/space) -"nnR" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "noe" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -36939,9 +39774,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/cargo/drone_bay) -"npF" = ( -/turf/closed/wall/rust, -/area/station/maintenance/port/greater) "npH" = ( /obj/effect/spawner/random/trash, /turf/open/floor/iron, @@ -36953,33 +39785,12 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) -"npS" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/general, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "npV" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/lawoffice) -"npY" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/red/line, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/spacebridge) "npZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -37038,6 +39849,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"nqY" = ( +/obj/effect/landmark/event_spawn, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "nra" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/window/spawner/directional/south, @@ -37045,6 +39863,21 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/main) +"nrg" = ( +/obj/structure/closet/secure_closet/hydroponics, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"nrp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/flashlight/lantern/on, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "nry" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 @@ -37094,13 +39927,15 @@ "nsy" = ( /turf/closed/wall/r_wall/rust, /area/station/engineering/hallway) -"nsH" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +"nsz" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/tile/neutral{ dir = 4 }, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "nsL" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/red{ @@ -37161,14 +39996,14 @@ /obj/effect/spawner/random/maintenance/two, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"ntw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/public/glass{ - name = "Public Shrine" +"ntu" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/hallway/primary/port) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "ntF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/status_display/ai/directional/south, @@ -37190,6 +40025,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"ntP" = ( +/obj/structure/displaycase/trophy, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/camera/autoname/directional/west, +/turf/open/floor/wood/parquet, +/area/station/service/library) "ntW" = ( /obj/machinery/light/small/directional/north, /obj/machinery/vending/wardrobe/coroner_wardrobe, @@ -37198,15 +40041,6 @@ }, /turf/open/floor/iron/small, /area/station/medical/morgue) -"ntY" = ( -/obj/structure/hedge, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/smooth, -/area/station/service/library) "ntZ" = ( /obj/machinery/door/airlock/public/glass{ name = "Recreation" @@ -37227,6 +40061,17 @@ /obj/effect/turf_decal/sand/plating, /turf/closed/wall, /area/station/maintenance/port/lesser) +"nun" = ( +/obj/structure/flora/bush/flowers_br/style_random{ + pixel_x = -3; + pixel_y = 4 + }, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "nuo" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/decal/cleanable/dirt, @@ -37252,15 +40097,6 @@ }, /turf/open/floor/iron/small, /area/station/engineering/break_room) -"nuv" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "nuC" = ( /obj/effect/turf_decal/siding, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37292,14 +40128,17 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) -"nuX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 +"nuV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/structure/mannequin/plastic, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/carpet/blue, -/area/station/cargo/boutique) +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/chair/sofa/bench/left{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "nuY" = ( /obj/structure/broken_flooring/pile/directional/east, /obj/structure/alien/weeds/node, @@ -37354,11 +40193,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"nwS" = ( -/obj/structure/flora/ash/tall_shroom, -/obj/structure/sign/poster/random/directional/north, -/turf/open/floor/grass, -/area/station/service/hydroponics) "nxo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37378,6 +40212,16 @@ }, /turf/open/floor/iron/dark/small, /area/station/medical/morgue) +"nxI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "nxJ" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/modular_computer/preset/id{ @@ -37386,6 +40230,11 @@ /obj/machinery/keycard_auth/directional/south, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) +"nxK" = ( +/mob/living/basic/deer, +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "nxO" = ( /obj/effect/spawner/structure/window, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -37435,17 +40284,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) -"nys" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/sign/directions/vault/directional/west{ - dir = 2 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "nyx" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37565,11 +40403,6 @@ }, /turf/open/space/basic, /area/space) -"nAi" = ( -/obj/structure/table, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/wood, -/area/station/service/theater) "nAn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron, @@ -37582,10 +40415,12 @@ /obj/machinery/light/small/broken/directional/west, /turf/open/misc/sandy_dirt, /area/station/maintenance/starboard/aft) -"nAx" = ( -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +"nAq" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/library) "nAy" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -37601,17 +40436,6 @@ /obj/effect/landmark/start/roboticist, /turf/open/floor/iron, /area/station/science/robotics/lab) -"nAO" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "nBd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37654,19 +40478,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"nBL" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "nBM" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -37688,6 +40499,18 @@ }, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"nCt" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "nCC" = ( /obj/structure/chair/stool/directional/south, /obj/effect/turf_decal/siding/yellow{ @@ -37717,6 +40540,13 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) +"nCX" = ( +/obj/machinery/light/floor, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/flowers_yw, +/obj/structure/flora/bush/fullgrass, +/turf/open/floor/grass, +/area/station/hallway/primary/central/fore) "nCY" = ( /obj/structure/cable, /turf/open/floor/iron/kitchen/small, @@ -37740,17 +40570,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"nDV" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "nEa" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, @@ -37767,6 +40586,19 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_large, /area/station/cargo/bitrunning/den) +"nEq" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Library" + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/iron/textured_half, +/area/station/service/library) "nEx" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -37855,6 +40687,14 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/cmo) +"nFH" = ( +/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/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "nFI" = ( /obj/effect/turf_decal/stripes/end{ dir = 8 @@ -37883,17 +40723,6 @@ /obj/machinery/portable_atmospherics/pump, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"nGd" = ( -/obj/machinery/vending/wardrobe/det_wardrobe, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/computer/security/telescreen{ - dir = 4; - name = "Station Monitor"; - network = list("ss13"); - pixel_x = -26 - }, -/turf/open/floor/wood, -/area/station/security/detectives_office) "nGe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -37956,15 +40785,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/medical/virology) -"nGJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/obj/structure/table, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "nGP" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -38015,16 +40835,6 @@ /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"nHB" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/red/line, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "nHN" = ( /obj/structure/table, /obj/item/stack/pipe_cleaner_coil/random, @@ -38060,6 +40870,20 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"nHU" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "nId" = ( /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) @@ -38121,14 +40945,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/small, /area/station/engineering/atmos) -"nIS" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock{ - name = "Library Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "nIT" = ( /obj/structure/railing{ dir = 6 @@ -38142,6 +40958,32 @@ /obj/structure/cable, /turf/open/floor/iron/small, /area/station/maintenance/solars/starboard/fore) +"nJj" = ( +/obj/effect/spawner/random/vending/snackvend, +/obj/effect/turf_decal/tile/blue{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/central/fore) +"nJo" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "nJG" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -38180,37 +41022,10 @@ /obj/machinery/light/floor, /turf/open/floor/iron/dark, /area/station/tcommsat/server) -"nKk" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/mail_sorting/service/kitchen, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"nKm" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "nKz" = ( /obj/machinery/light/floor, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"nKL" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "nKO" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -38218,10 +41033,6 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"nKX" = ( -/obj/effect/spawner/random/structure/grille, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "nLH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38241,12 +41052,6 @@ }, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"nLN" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "nMn" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -38301,16 +41106,6 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) -"nNb" = ( -/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/effect/turf_decal/tile/dark_red, -/obj/structure/sign/warning/no_smoking/circle/directional/north, -/turf/open/floor/iron, -/area/station/security) "nNe" = ( /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/dark/textured_half{ @@ -38327,6 +41122,24 @@ }, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) +"nNz" = ( +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"nNA" = ( +/obj/machinery/light/small/broken/directional/west, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "nNB" = ( /obj/machinery/door/airlock{ name = "Gardening Supplies" @@ -38357,6 +41170,13 @@ }, /turf/open/floor/plating, /area/station/medical/pharmacy) +"nPe" = ( +/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/dark_red/fourcorners, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "nPt" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38404,6 +41224,21 @@ /obj/structure/cable, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"nPY" = ( +/obj/structure/table/reinforced, +/obj/structure/desk_bell{ + pixel_x = 4; + pixel_y = 3 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) "nQa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -38541,6 +41376,19 @@ /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) +"nSb" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "nSd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38601,17 +41449,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"nTj" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "nTt" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/computer/shuttle/mining/common{ @@ -38628,9 +41465,7 @@ /area/station/security/tram) "nTz" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) @@ -38650,6 +41485,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/grimy, /area/station/engineering/main) +"nUd" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "nUo" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green{ @@ -38692,6 +41533,12 @@ /obj/machinery/atmospherics/pipe/bridge_pipe/brown/visible, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) +"nUK" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/barricade/wooden/crude, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/cargo/boutique) "nUQ" = ( /obj/structure/chair{ dir = 8 @@ -38742,6 +41589,18 @@ /obj/item/wirecutters, /turf/open/floor/iron/dark, /area/station/security/office) +"nVw" = ( +/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/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "nVx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -38761,20 +41620,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"nVD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/chair{ - pixel_x = 2; - pixel_y = -5 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "nVF" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced/tinted, @@ -38825,6 +41670,20 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/pharmacy) +"nXx" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/machinery/light/cold/directional/south, +/obj/machinery/airalarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "nXC" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -38957,6 +41816,10 @@ /obj/structure/holosign/barrier/atmos/tram, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) +"nZG" = ( +/obj/machinery/vending/wardrobe/chef_wardrobe, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "nZQ" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line{ @@ -39017,17 +41880,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/commons/dorms) -"oaV" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/public/glass{ - name = "Cargo Botique" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/hallway/primary/central/fore) "oaY" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/stripes/line{ @@ -39058,13 +41910,15 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) -"obm" = ( -/obj/structure/disposalpipe/segment, +"obi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/east, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/structure/cable, +/obj/structure/disposalpipe/junction/flip{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "obq" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, @@ -39094,10 +41948,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/textured_half, /area/station/hallway/secondary/dock) -"obU" = ( -/obj/structure/reagent_dispensers/plumbed, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "obW" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -39105,6 +41955,18 @@ "ocb" = ( /turf/open/floor/iron/white/small, /area/station/science/cubicle) +"ocv" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/landmark/navigate_destination/library, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "ocx" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall, @@ -39126,6 +41988,16 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) +"odD" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/table/wood, +/obj/machinery/light/small/built/directional/north, +/obj/item/stack/sheet/iron/ten, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 9 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "odE" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -39136,6 +42008,10 @@ /obj/effect/decal/cleanable/leaper_sludge, /turf/open/floor/plating/rust, /area/station/engineering/supermatter/room) +"odH" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/stone, +/area/station/service/chapel) "odP" = ( /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark/small, @@ -39174,15 +42050,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/white/small, /area/station/command/heads_quarters/cmo) -"oeF" = ( -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/machinery/door/airlock{ - name = "Abandoned Treatment Room" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "oeI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39204,6 +42071,14 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/medical/storage) +"oeZ" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "off" = ( /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -39211,26 +42086,18 @@ /obj/machinery/vending/coffee, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"ofk" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"ofo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "ofu" = ( /obj/effect/turf_decal/stripes/white/end{ dir = 8 }, /turf/open/floor/iron/smooth_large, /area/station/maintenance/department/medical/central) +"ofU" = ( +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "ofZ" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/port/lesser) @@ -39249,11 +42116,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"ogu" = ( -/obj/effect/turf_decal/siding/white, -/obj/structure/railing, -/turf/open/floor/stone, -/area/station/service/theater) "ogv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39312,10 +42174,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"ogX" = ( -/obj/structure/disposalpipe/segment, -/turf/closed/wall, -/area/station/hallway/primary/port) "ohb" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -39375,6 +42233,17 @@ /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/floor/grass, /area/station/medical/treatment_center) +"ohy" = ( +/obj/effect/turf_decal/siding/white/corner{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock{ + name = "Kitchen" + }, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "ohz" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -39394,6 +42263,13 @@ }, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"ohK" = ( +/obj/structure/chair/stool/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "ohM" = ( /obj/structure/chair{ dir = 8 @@ -39486,10 +42362,6 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"ojl" = ( -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "ojz" = ( /obj/structure/railing{ dir = 1 @@ -39505,6 +42377,13 @@ }, /turf/open/floor/wood, /area/station/engineering/main) +"ojA" = ( +/obj/structure/flora/bush/jungle/a/style_random, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "ojD" = ( /obj/structure/cable, /obj/machinery/light/floor, @@ -39561,16 +42440,6 @@ /obj/machinery/status_display/ai, /turf/closed/wall, /area/station/hallway/secondary/entry) -"okp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/service/library) "okt" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ dir = 4 @@ -39588,14 +42457,6 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/engine, /area/station/science/xenobiology) -"okK" = ( -/obj/structure/chair/stool/bamboo, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/landmark/start/bartender, -/turf/open/floor/stone, -/area/station/service/bar/backroom) "okW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -39658,20 +42519,22 @@ /obj/machinery/light/small/dim/directional/west, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"omA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"omb" = ( +/obj/effect/turf_decal/siding/wood, +/obj/structure/chair/wood{ + dir = 8 }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ +/turf/open/floor/iron/grimy, +/area/station/service/bar) +"omk" = ( +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"omU" = ( -/obj/machinery/light/small/broken/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "omW" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/iron/white/corner, @@ -39686,12 +42549,20 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) -"ono" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 +"onc" = ( +/obj/machinery/door/morgue{ + name = "Private Study"; + req_access = list("library") }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"ong" = ( +/obj/item/radio/intercom/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "onv" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden{ @@ -39849,6 +42720,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"opV" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/landmark/start/bartender, +/turf/open/floor/stone, +/area/station/service/bar) "opW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -39876,18 +42755,19 @@ }, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) -"oqE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "oqK" = ( /obj/effect/decal/cleanable/dirt, /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/secondary/dock) +"oqT" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/firealarm/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "oqU" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 9 @@ -39911,14 +42791,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/fore) -"orH" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/full, -/obj/structure/reagent_dispensers/beerkeg, -/obj/effect/turf_decal/bot_red/left, -/obj/structure/sign/clock/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "orW" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, @@ -39944,6 +42816,18 @@ }, /turf/open/space/basic, /area/space/nearstation) +"ose" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "osj" = ( /obj/structure/cable, /obj/machinery/power/terminal, @@ -40014,6 +42898,18 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/office) +"otJ" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "otX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40040,27 +42936,21 @@ }, /turf/open/space/basic, /area/space/nearstation) -"ouf" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/starboard) "ouj" = ( /turf/closed/wall, /area/station/engineering/engine_smes) -"oup" = ( -/obj/structure/chair/sofa/right/maroon{ - dir = 1 +"oul" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw/style_2, +/obj/structure/flora/tree/jungle/style_5, +/turf/open/floor/grass, +/area/station/service/chapel) +"oun" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 10 }, -/obj/machinery/firealarm/directional/south, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "ouz" = ( /turf/open/floor/iron/dark/small, /area/station/command/heads_quarters/rd) @@ -40103,6 +42993,11 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) +"ove" = ( +/obj/effect/spawner/structure/window, +/obj/machinery/door/firedoor/border_only, +/turf/open/floor/plating, +/area/station/service/bar) "ovf" = ( /obj/structure/lattice/catwalk, /turf/open/space/basic, @@ -40252,6 +43147,18 @@ }, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) +"oxn" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "oxw" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/stripes/white/line{ @@ -40259,17 +43166,20 @@ }, /turf/open/floor/iron/dark, /area/station/cargo/storage) +"oxy" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating, +/obj/structure/sign/poster/official/random/directional/south, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "oxK" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 8 }, /turf/open/floor/engine, /area/station/science/cytology) -"oxS" = ( -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "oyn" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/public/glass{ @@ -40277,10 +43187,26 @@ }, /turf/open/floor/iron/textured_half, /area/station/maintenance/hallway/abandoned_command) +"oyp" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "oyq" = ( /obj/machinery/light/warm/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"oyz" = ( +/obj/structure/flora/grass/jungle/b/style_3, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/cable, +/turf/open/floor/grass, +/area/station/service/chapel) "oyQ" = ( /turf/closed/wall, /area/station/science/auxlab/firing_range) @@ -40304,13 +43230,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/qm) -"ozd" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/plaque{ - icon_state = "L8" - }, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "ozn" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -40318,10 +43237,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"ozo" = ( -/obj/structure/window/spawner/directional/south, -/turf/open/floor/grass, -/area/station/service/hydroponics) "ozs" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -40364,15 +43279,6 @@ dir = 8 }, /area/station/maintenance/starboard/greater) -"oAk" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "oAn" = ( /obj/effect/turf_decal/siding/brown{ dir = 10 @@ -40380,11 +43286,6 @@ /obj/structure/steam_vent, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) -"oAp" = ( -/obj/structure/chair/sofa/right/maroon, -/obj/effect/landmark/start/assistant, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "oAr" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/closet/bombcloset/security, @@ -40396,11 +43297,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"oAF" = ( -/obj/effect/spawner/random/vending/colavend, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "oAY" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security/glass{ @@ -40421,11 +43317,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer4, /turf/open/space/basic, /area/space/nearstation) -"oBm" = ( -/obj/structure/chair/sofa/bench/left, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "oBv" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; @@ -40450,11 +43341,22 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"oBV" = ( +"oBT" = ( /obj/structure/cable, -/obj/machinery/light/small/directional/south, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/library) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/security/armory, +/obj/machinery/door/airlock/security{ + name = "Warden's Office" + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/security/warden) "oBX" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -40469,15 +43371,17 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"oCc" = ( -/obj/structure/cable, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/library) "oCg" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/medical_all, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"oCi" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/small/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/parquet, +/area/station/service/library) "oCq" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -40511,21 +43415,23 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"oCV" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "oDa" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible{ dir = 1 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"oDs" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/public/glass{ - name = "Fore Primary Hallway" - }, -/turf/open/floor/iron/textured_half, -/area/station/hallway/primary/central/fore) "oDB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -40539,14 +43445,17 @@ }, /turf/open/space/basic, /area/space/nearstation) -"oDK" = ( -/obj/structure/cable, -/obj/machinery/door/airlock{ - name = "Hydroponics Maintenance" +"oDX" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/chair/wood{ + dir = 4 + }, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "oDY" = ( /obj/effect/turf_decal/stripes/corner, /obj/effect/turf_decal/stripes/corner{ @@ -40579,36 +43488,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"oEr" = ( +"oEn" = ( +/obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/status_display/ai/directional/south, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"oEt" = ( -/obj/structure/railing{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/requests_console/directional/north{ - department = "Chief Engineer's Desk"; - name = "Chief Engineer's Requests Console"; - pixel_y = -32 - }, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/turf/open/floor/iron/stairs/old{ - dir = 4 +/turf/open/floor/plating, +/area/station/maintenance/port/greater) +"oEz" = ( +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 1 }, -/area/station/command/heads_quarters/ce) +/obj/machinery/firealarm/directional/north, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "oEB" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/box/red/corners{ @@ -40625,13 +43523,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"oEN" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "oFc" = ( /obj/effect/spawner/random/trash, /obj/machinery/light/small/directional/west, @@ -40667,6 +43558,20 @@ "oFu" = ( /turf/closed/wall, /area/station/security/office) +"oFy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock/public/glass{ + name = "Cargo Botique" + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 1 + }, +/area/station/hallway/primary/central/fore) "oFI" = ( /obj/machinery/airalarm/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -40703,13 +43608,6 @@ }, /turf/open/floor/carpet/executive, /area/station/command/meeting_room) -"oGJ" = ( -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "oGL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -40737,6 +43635,20 @@ /obj/structure/flora/rock/pile/style_2, /turf/open/misc/sandy_dirt, /area/station/science/research) +"oHk" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/stairs, +/area/station/maintenance/port/greater) +"oHp" = ( +/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/hallway/primary/central/aft) "oHw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40824,6 +43736,12 @@ /obj/structure/frame/machine, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) +"oIL" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "oIP" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -40839,23 +43757,24 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/fitness/recreation) +"oIS" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/status_display/evac/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "oIT" = ( /obj/structure/frame/machine, /obj/item/circuitboard/machine/biogenerator, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"oJl" = ( -/obj/machinery/door/airlock/engineering{ - name = "Main Engineering" - }, +"oIY" = ( +/obj/effect/turf_decal/delivery, /obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/turf/open/floor/catwalk_floor, -/area/station/engineering/break_room) +/obj/machinery/smartfridge, +/turf/open/floor/plating, +/area/station/service/hydroponics) "oJn" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail{ @@ -40876,6 +43795,21 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/circuit, /area/station/tcommsat/server) +"oJx" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/rack, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "vaco"; + name = "Comissary Shutters" + }, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "oJz" = ( /obj/structure/bodycontainer/morgue{ dir = 2 @@ -40919,6 +43853,16 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) +"oJO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/bar, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "oJP" = ( /obj/structure/cable, /obj/machinery/telecomms/broadcaster/preset_left, @@ -40969,6 +43913,16 @@ /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/aft) +"oLo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "oLr" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -40993,12 +43947,6 @@ /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/starboard/aft) -"oMC" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/blue/half, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "oMF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral, @@ -41040,6 +43988,22 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) +"oNF" = ( +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "oNH" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -41119,6 +44083,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"oOC" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "oOK" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 1 @@ -41161,6 +44132,12 @@ /obj/machinery/air_sensor/mix_tank, /turf/open/floor/engine/airless, /area/station/engineering/atmos) +"oPh" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/floor, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "oPi" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -41186,6 +44163,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"oPy" = ( +/obj/structure/bookcase/random, +/obj/structure/sign/painting/library{ + pixel_x = -30 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "oPG" = ( /obj/machinery/door/airlock/research{ name = "Research Director's Bedroom" @@ -41255,16 +44239,6 @@ }, /turf/open/floor/iron, /area/station/engineering/hallway) -"oQD" = ( -/obj/machinery/airalarm/directional/north, -/obj/machinery/button/door/directional/north{ - id = "vaco"; - name = "Comissary Shutters"; - pixel_x = 29 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room/commissary) "oQF" = ( /turf/closed/wall/r_wall, /area/station/security/execution/transfer) @@ -41303,6 +44277,41 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/cargo/storage) +"oRv" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/item/kirbyplants/random, +/obj/machinery/light/small/directional/west, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) +"oRw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/airalarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"oRy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/door/airlock/maintenance{ + name = "Crematorium" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/chapel/storage) "oRB" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -41354,11 +44363,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"oSh" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "oSv" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/rdconsole{ @@ -41385,33 +44389,21 @@ /obj/structure/reagent_dispensers/watertank/high, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"oSP" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 +"oTg" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"oSS" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "oTj" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"oTo" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron, -/area/station/service/bar) "oTH" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/decal/cleanable/dirt, @@ -41433,11 +44425,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"oTO" = ( -/obj/structure/dresser, -/obj/machinery/airalarm/directional/south, -/turf/open/floor/wood, -/area/station/cargo/boutique) "oTT" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -41463,6 +44450,15 @@ "oUd" = ( /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"oUi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "oUq" = ( /obj/machinery/meter, /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, @@ -41474,16 +44470,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"oUx" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=23.2-Evac-Garden"; - location = "23.4-Evac" - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "oUz" = ( /obj/machinery/power/smes/engineering, /obj/structure/cable, @@ -41522,15 +44508,15 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/security/evidence) -"oUO" = ( +"oVl" = ( +/obj/machinery/vending/wardrobe/bar_wardrobe, +/obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron/stairs{ - dir = 8 +/obj/effect/turf_decal/siding/wood{ + dir = 9 }, -/area/station/maintenance/port/greater) +/turf/open/floor/stone, +/area/station/service/bar/backroom) "oVt" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/hidden, /obj/effect/turf_decal/tile/yellow, @@ -41552,6 +44538,13 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/security/execution/transfer) +"oVW" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/obj/structure/flora/bush/large/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "oVY" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -41564,12 +44557,6 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/carpet/royalblue, /area/station/command/heads_quarters/captain) -"oWb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/cold/directional/east, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "oWg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41589,12 +44576,6 @@ /obj/effect/mapping_helpers/airlock/access/any/command/maintenance, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) -"oWp" = ( -/obj/structure/chair{ - pixel_y = -2 - }, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room/commissary) "oWr" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -41617,6 +44598,13 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"oWU" = ( +/obj/machinery/door/airlock{ + name = "Hydroponics Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "oXa" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -41630,15 +44618,6 @@ /obj/structure/closet/emcloset, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"oXt" = ( -/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/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "oXK" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -41652,35 +44631,25 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"oXV" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, +"oYi" = ( +/obj/effect/turf_decal/trimline/neutral/line, /obj/effect/turf_decal/trimline/neutral/line{ - dir = 5 + dir = 1 }, -/obj/effect/turf_decal/trimline/neutral/corner{ - dir = 8 +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=23.1-Evac"; + location = "22.0-Porthall-Evac" }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"oXZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/hallway/primary/port) "oYj" = ( /obj/machinery/light_switch/directional/north, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) -"oYu" = ( -/obj/machinery/vending/dinnerware, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "oYv" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -41730,6 +44699,16 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"oZy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "oZz" = ( /obj/machinery/door/airlock/research/glass/incinerator/ordmix_exterior{ name = "Burn Chamber Exterior Airlock" @@ -41787,21 +44766,13 @@ /obj/structure/tram, /turf/open/floor/tram, /area/station/security/tram) -"paL" = ( -/obj/structure/fireplace, -/obj/effect/turf_decal/siding/wood/end, -/obj/machinery/camera/directional/east, -/turf/open/floor/stone, -/area/station/service/bar) -"paV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 +"paJ" = ( +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/turf/open/floor/wood/parquet, +/area/station/service/library) "paW" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 8 @@ -41863,11 +44834,26 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"pbu" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +"pbw" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 9 + }, +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) +"pbD" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L12"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "pbE" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -41886,6 +44872,27 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/smooth, /area/station/service/greenroom) +"pbK" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_br/style_random, +/obj/structure/flora/bush/jungle/b/style_2, +/obj/machinery/light/small/directional/north, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) +"pbO" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "pbT" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -41894,13 +44901,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) -"pbZ" = ( +"pca" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/red/line, /obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/service/theater) +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "pcb" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -42041,15 +45051,6 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"pev" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "peN" = ( /obj/structure/lattice, /obj/machinery/camera/motion/directional/north{ @@ -42059,6 +45060,11 @@ }, /turf/open/space/basic, /area/space/nearstation) +"peU" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/rock/pile/jungle/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "peW" = ( /obj/effect/turf_decal/siding/dark{ dir = 5 @@ -42168,29 +45174,10 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos) -"pfO" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/camera/directional/east, -/obj/machinery/status_display/evac/directional/east, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "pfT" = ( /obj/structure/training_machine, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) -"pfU" = ( -/obj/machinery/door/airlock{ - name = "Kitchen Cold Room" - }, -/obj/effect/mapping_helpers/airlock/abandoned, -/obj/structure/barricade/wooden/crude, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/welded, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/service/bar/backroom) "pfW" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, @@ -42208,6 +45195,11 @@ dir = 8 }, /area/station/commons/fitness/locker_room) +"pgm" = ( +/obj/machinery/computer/security/telescreen/prison/directional/north, +/obj/machinery/computer/records/security, +/turf/open/floor/wood, +/area/station/security/detectives_office) "pgq" = ( /obj/structure/chair/stool/directional/north, /obj/effect/turf_decal/siding/wood{ @@ -42239,12 +45231,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) -"pgW" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "phd" = ( /obj/effect/turf_decal/siding/red{ dir = 4 @@ -42292,6 +45278,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"phG" = ( +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "phY" = ( /obj/structure/railing{ dir = 1 @@ -42357,14 +45349,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"piZ" = ( -/obj/structure/chair/sofa/right/maroon{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "pjb" = ( /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/iron, @@ -42467,6 +45451,28 @@ /obj/item/weldingtool, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) +"pkQ" = ( +/obj/effect/landmark/event_spawn, +/obj/structure/table, +/obj/machinery/reagentgrinder{ + pixel_y = 9; + pixel_x = 4 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/item/reagent_containers/condiment/enzyme{ + pixel_x = -7; + pixel_y = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "pkR" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42489,6 +45495,15 @@ /obj/item/book/manual/wiki/security_space_law, /turf/open/floor/wood/tile, /area/station/service/lawoffice) +"pkU" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/general, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/glass{ + name = "Service Hallway" + }, +/turf/open/floor/iron/textured_half, +/area/station/hallway/secondary/service) "plf" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -42593,6 +45608,25 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"pnF" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/obj/machinery/airalarm/directional/west, +/obj/machinery/light/small/directional/west, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"pnK" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/obj/structure/flora/bush/flowers_yw/style_3, +/obj/structure/flora/bush/jungle/c/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "pnQ" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 6 @@ -42613,6 +45647,17 @@ }, /turf/open/floor/iron, /area/station/science/cytology) +"pnW" = ( +/obj/machinery/computer/slot_machine{ + pixel_y = 2 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/turf/open/floor/stone, +/area/station/service/bar) "pnZ" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /obj/machinery/firealarm/directional/west, @@ -42627,15 +45672,9 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/freezer, /area/station/command/corporate_suite) -"poh" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/oven/range, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "pot" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/cigar/premium{ +/obj/item/cigarette/cigar/premium{ pixel_y = 5 }, /turf/open/floor/stone, @@ -42791,10 +45830,6 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) -"pqa" = ( -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/space/basic, -/area/space) "pqm" = ( /turf/closed/wall/r_wall, /area/station/engineering/storage/tcomms) @@ -42884,14 +45919,6 @@ "prI" = ( /turf/closed/wall, /area/station/engineering/hallway) -"prQ" = ( -/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/cafeteria, -/area/station/service/kitchen) "prV" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/effect/turf_decal/tile/yellow/opposingcorners{ @@ -42996,6 +46023,14 @@ /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"ptf" = ( +/obj/machinery/status_display/ai/directional/west, +/obj/machinery/camera/autoname/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "ptj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43003,11 +46038,6 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/diagonal, /area/station/science/auxlab/firing_range) -"ptk" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "ptl" = ( /obj/machinery/duct, /turf/open/floor/plating, @@ -43050,35 +46080,19 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/port/aft) -"ptZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/grass, -/area/station/service/chapel) -"pug" = ( +"ptT" = ( +/obj/effect/turf_decal/siding/thinplating_new/light, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 5 }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"puj" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/disposalpipe/segment, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"pup" = ( -/obj/structure/chair/sofa/right, -/obj/machinery/light/small/directional/west, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) +/obj/machinery/light/small/directional/south, +/obj/machinery/requests_console/auto_name/directional/south, +/obj/effect/mapping_helpers/requests_console/supplies, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "pus" = ( /obj/effect/turf_decal/box/red/corners, /obj/effect/turf_decal/stripes/white/line{ @@ -43086,23 +46100,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"puv" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/hydroponics{ - name = "Hydroponics Supply Room" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/turf/open/floor/iron/textured_half, -/area/station/service/hydroponics) -"puw" = ( -/obj/machinery/door/morgue{ - name = "Private Study"; - req_access = list("library") - }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/library) "pux" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -43110,12 +46107,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/diagonal, /area/station/command/heads_quarters/hop) -"puD" = ( -/obj/structure/bookcase/random/nonfiction, -/obj/machinery/newscaster/directional/west, -/obj/machinery/digital_clock/directional/north, -/turf/open/floor/wood/tile, -/area/station/service/bar) "puI" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -43131,17 +46122,11 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/engineering/atmos/space_catwalk) -"puY" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +"pvi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood, +/area/station/service/chapel/office) "pvk" = ( /obj/structure/closet/boxinggloves, /obj/effect/turf_decal/stripes/red/line{ @@ -43154,6 +46139,12 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/herringbone, /area/station/commons/dorms) +"pvC" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/wood, +/area/station/service/chapel/office) "pvE" = ( /obj/effect/turf_decal/siding/wideplating{ dir = 4 @@ -43177,24 +46168,6 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos) -"pvR" = ( -/obj/structure/table/wood, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/stone, -/area/station/service/bar/backroom) -"pvS" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/broken_floor, -/obj/item/radio/intercom/directional/south, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "pvY" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 @@ -43217,14 +46190,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall, /area/station/engineering/atmos) -"pww" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/landmark/generic_maintenance_landmark, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "pwA" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -43261,21 +46226,12 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"pxg" = ( -/obj/machinery/light/small/broken/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room/commissary) "pxj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/herringbone, /area/station/security/execution/education) -"pxl" = ( -/obj/machinery/smartfridge, -/obj/machinery/door/firedoor, -/turf/open/floor/iron, -/area/station/service/hydroponics) "pxx" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 @@ -43300,31 +46256,11 @@ dir = 1 }, /area/station/security/prison/safe) -"pxO" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"pxW" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/engine, -/area/station/science/xenobiology) "pxZ" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"pya" = ( -/obj/structure/chair/sofa/right/maroon, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "pyh" = ( /obj/structure/cable, /obj/structure/broken_flooring/singular/directional/east, @@ -43348,26 +46284,23 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/atmos/office) +"pyt" = ( +/obj/machinery/light/floor, +/turf/open/floor/grass, +/area/station/service/chapel) +"pyA" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "pyF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"pyS" = ( -/obj/structure/chair/sofa/left/maroon, -/obj/effect/landmark/start/assistant, -/obj/machinery/camera/autoname/directional/east, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) -"pyY" = ( -/obj/effect/turf_decal/tile/yellow/half/contrasted{ - dir = 8 - }, -/obj/structure/table, -/obj/item/weldingtool/mini, -/turf/open/floor/iron/white, -/area/station/maintenance/central/greater) "pzb" = ( /obj/effect/turf_decal/trimline/blue/corner{ dir = 1 @@ -43383,17 +46316,6 @@ /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible, /turf/closed/wall/r_wall, /area/station/engineering/hallway) -"pzn" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/toy/foamfinger, -/obj/item/toy/eightball{ - pixel_y = 13 - }, -/turf/open/floor/plating, -/area/station/service/theater) "pzy" = ( /obj/structure/table, /obj/item/storage/box/prisoner{ @@ -43422,16 +46344,13 @@ /obj/item/stack/sheet/mineral/titanium, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) -"pzX" = ( -/obj/structure/railing, -/obj/structure/table, +"pzW" = ( /obj/effect/turf_decal/siding/wood{ - dir = 8 + dir = 9 }, -/obj/effect/turf_decal/siding/white, -/obj/effect/spawner/random/entertainment/toy, -/turf/open/floor/plating, -/area/station/service/theater) +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar) "pAa" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/spawner/random/structure/barricade, @@ -43623,11 +46542,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/aft) -"pCX" = ( -/obj/structure/chair/stool/directional/west, -/obj/effect/landmark/start/clown, -/turf/open/floor/carpet/lone, -/area/station/service/theater) "pDr" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -43775,16 +46689,23 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"pEO" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=1.0-Security-PNexus"; + location = "23.2-Evac-Garden" + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "pFk" = ( /obj/structure/broken_flooring/singular/directional/east, /obj/effect/decal/cleanable/dirt, /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"pFr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/carpet/lone, -/area/station/service/theater) "pFI" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -43880,6 +46801,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) +"pGS" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/camera/directional/north, +/turf/open/misc/dirt/jungle, +/area/station/service/chapel) "pGU" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 5 @@ -43926,12 +46852,33 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"pHs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/red{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "pHw" = ( /obj/structure/table, /obj/effect/decal/cleanable/dirt, /obj/item/airlock_painter, /turf/open/floor/iron, /area/station/commons/storage/art) +"pHA" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/mob/living/basic/frog, +/obj/structure/flora/bush/flowers_br/style_3, +/obj/structure/flora/tree/jungle/small, +/turf/open/floor/grass, +/area/station/service/chapel) "pHC" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -43966,16 +46913,21 @@ }, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"pHN" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/flora/bush/sunny/style_random, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/grass, -/area/station/service/chapel) -"pHS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) +"pHY" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/disposal/bin, +/obj/machinery/light_switch/directional/south, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "pId" = ( /obj/structure/reagent_dispensers/plumbed, /turf/open/floor/iron/kitchen/small, @@ -43992,20 +46944,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/commons/fitness/locker_room) -"pIg" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "pIi" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/rack, @@ -44056,6 +46994,12 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"pIC" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 8 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "pIS" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -44064,6 +47008,10 @@ }, /turf/open/floor/plating, /area/station/command/bridge) +"pJc" = ( +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar) "pJj" = ( /obj/structure/chair/sofa/bench/left{ dir = 1 @@ -44260,24 +47208,11 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/north, /turf/open/floor/iron/cafeteria, /area/station/hallway/secondary/exit/departure_lounge) -"pMg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "pMs" = ( /obj/structure/transit_tube/horizontal, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"pMu" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "pMA" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/catwalk_floor/iron_dark, @@ -44315,12 +47250,6 @@ }, /turf/open/floor/plating, /area/station/engineering/gravity_generator) -"pNa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/wood/parquet, -/area/station/service/library) "pNh" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -44340,13 +47269,6 @@ }, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"pNy" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "pNC" = ( /turf/open/floor/iron/dark/side{ dir = 1 @@ -44375,14 +47297,6 @@ }, /turf/closed/wall, /area/station/commons/fitness/locker_room) -"pOb" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "pOg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44409,18 +47323,6 @@ }, /turf/open/floor/iron/small, /area/station/engineering/main) -"pOj" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/general, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "pOm" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -44463,14 +47365,34 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"pOK" = ( -/obj/structure/cable, +"pOM" = ( +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, /obj/structure/disposalpipe/segment{ - dir = 10 + dir = 4 }, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) +/turf/open/floor/iron/small, +/area/station/hallway/primary/port) +"pOQ" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/firealarm/directional/east, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"pOT" = ( +/turf/closed/wall, +/area/station/holodeck/rec_center) "pOX" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -44511,26 +47433,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) -"pPT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "pPZ" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/aft) -"pQe" = ( -/obj/structure/chair/sofa/left{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood/tile, -/area/station/service/bar) "pQj" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/plating, @@ -44561,11 +47467,6 @@ }, /turf/open/floor/engine, /area/station/hallway/secondary/entry) -"pQO" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/effect/spawner/random/entertainment/arcade, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "pQY" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted, @@ -44574,6 +47475,15 @@ }, /turf/open/floor/iron/dark/side, /area/station/science/xenobiology) +"pRc" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "pRe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/table/wood, @@ -44611,22 +47521,15 @@ /obj/effect/mapping_helpers/airlock/access/any/security/general, /turf/open/floor/iron/textured_half, /area/station/security/checkpoint/customs/auxiliary) -"pRP" = ( -/obj/machinery/icecream_vat, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/light_switch/directional/west, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "pRQ" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"pRU" = ( -/obj/machinery/gibber, -/obj/effect/turf_decal/bot_red, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"pRR" = ( +/obj/machinery/portable_atmospherics/canister/air, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "pSc" = ( /obj/item/bikehorn/rubberducky{ pixel_x = 6; @@ -44646,40 +47549,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"pSm" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/obj/structure/table, -/obj/item/reagent_containers/cup/beaker{ - pixel_x = 5; - pixel_y = 17 - }, -/obj/item/reagent_containers/syringe/epinephrine, -/obj/item/reagent_containers/syringe{ - pixel_x = -4; - pixel_y = 6 - }, -/obj/machinery/light/small/red/directional/west, -/turf/open/floor/iron/white, -/area/station/maintenance/central/greater) "pSq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/official/random/directional/north, /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"pSr" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted, -/obj/structure/table, -/obj/item/reagent_containers/dropper{ - pixel_x = -5; - pixel_y = 5 - }, -/obj/item/crowbar/large/emergency, -/turf/open/floor/iron/white, -/area/station/maintenance/central/greater) "pSs" = ( /obj/structure/railing/corner{ dir = 1 @@ -44699,18 +47574,20 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/grimy, /area/station/service/library) -"pSK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/structure/bookcase/random/adult, -/turf/open/floor/iron/grimy, -/area/station/service/library) "pSN" = ( /obj/item/radio/intercom/directional/south, /obj/machinery/holopad, /turf/open/floor/iron/dark/smooth_large, /area/station/service/lawoffice) +"pSP" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "pSQ" = ( /obj/structure/cable, /turf/closed/wall, @@ -44724,32 +47601,19 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"pTc" = ( +"pTk" = ( /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 +/obj/machinery/door/airlock{ + name = "Maintenance" }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/port) -"pTl" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/mime, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/stone, -/area/station/service/theater) +/turf/open/floor/plating, +/area/station/holodeck/rec_center) "pTp" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ dir = 4 @@ -44786,13 +47650,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/smooth_large, /area/station/service/lawoffice) -"pTC" = ( -/obj/structure/disposalpipe/sorting/mail{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/service/theater, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +"pTA" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/spawner/random/entertainment/arcade, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "pTZ" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 8 @@ -44889,6 +47752,14 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/white, /area/station/science/auxlab/firing_range) +"pVj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "pVq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/neutral/line{ @@ -45047,6 +47918,10 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/tram, /area/station/maintenance/department/medical/central) +"pXk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "pXo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -45149,14 +48024,6 @@ }, /turf/open/floor/engine, /area/station/science/explab) -"pYE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/effect/landmark/start/hangover, -/turf/open/floor/grass, -/area/station/service/chapel) "pYP" = ( /obj/machinery/door/poddoor/preopen{ id = "atmos"; @@ -45177,18 +48044,20 @@ dir = 4 }, /area/station/science/lower) -"pZi" = ( -/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/wood/parquet, -/area/station/service/library) "pZu" = ( /obj/structure/hedge, /turf/open/floor/plating, /area/station/cargo/storage) +"pZv" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "pZz" = ( /obj/structure/rack, /obj/item/clothing/gloves/cargo_gauntlet{ @@ -45212,13 +48081,6 @@ /obj/item/shard/titanium, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"qaA" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/chapel) "qaF" = ( /obj/structure/sink/directional/south, /obj/structure/mirror/directional/north, @@ -45231,11 +48093,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/herringbone, /area/station/commons/dorms) -"qbi" = ( -/obj/machinery/photocopier, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/wood/parquet, -/area/station/service/library) "qbj" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/closet/secure_closet/security/sec, @@ -45262,14 +48119,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/checker, /area/station/security/breakroom) -"qbr" = ( -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "qbv" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /obj/structure/disposalpipe/segment{ @@ -45277,37 +48126,28 @@ }, /turf/open/floor/iron/small, /area/station/engineering/atmos) -"qbw" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "qby" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/security/checkpoint/supply) -"qbC" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ +"qbA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"qbB" = ( +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "qbE" = ( /obj/item/stack/tile/catwalk_tile/iron, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"qbK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "qbN" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -45344,10 +48184,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/construction) -"qcl" = ( -/obj/item/radio/intercom/directional/south, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "qcr" = ( /obj/structure/flora/bush/flowers_yw/style_random, /mob/living/carbon/human/species/monkey, @@ -45359,6 +48195,10 @@ /obj/effect/landmark/navigate_destination/dockarrival, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"qcB" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall, +/area/station/maintenance/central/greater) "qcC" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners, /obj/structure/disposalpipe/segment, @@ -45384,16 +48224,6 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"qdm" = ( -/turf/open/floor/wood, -/area/station/hallway/secondary/service) -"qdp" = ( -/obj/structure/chair/sofa/right{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood/tile, -/area/station/service/bar) "qdu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -45404,15 +48234,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"qdC" = ( -/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/tile/neutral/full, -/obj/machinery/duct, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "qdJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -45480,15 +48301,6 @@ "qei" = ( /turf/closed/wall, /area/station/science/ordnance/storage) -"qej" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Library" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/service/library) "qen" = ( /obj/structure/table, /obj/item/clothing/gloves/boxing, @@ -45594,14 +48406,6 @@ }, /turf/open/floor/iron, /area/station/science/lower) -"qgr" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/library) "qgs" = ( /obj/structure/cable, /obj/item/kirbyplants/random/fullysynthetic, @@ -45629,24 +48433,6 @@ /obj/effect/mapping_helpers/airlock/access/any/service/lawyer, /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) -"qgA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"qgH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) "qgJ" = ( /obj/machinery/light/dim/directional/west, /obj/machinery/duct, @@ -45661,16 +48447,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"qgN" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/obj/structure/cable, -/turf/open/floor/wood/parquet, -/area/station/service/library) "qhh" = ( /obj/structure/cable, /obj/structure/table/glass, @@ -45689,27 +48465,6 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white, /area/station/science/cytology) -"qhi" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) -"qhm" = ( -/obj/structure/table, -/obj/item/storage/crayons, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"qhp" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "qhs" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/red/opposingcorners, @@ -45771,6 +48526,18 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"qie" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "qin" = ( /obj/docking_port/stationary/escape_pod, /turf/open/space/basic, @@ -45802,6 +48569,22 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/commons/storage/tools) +"qiC" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/hydroponics/constructable, +/turf/open/floor/iron, +/area/station/service/hydroponics) +"qiI" = ( +/obj/structure/cable, +/obj/effect/spawner/random/structure/steam_vent, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "qiL" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, @@ -45847,6 +48630,17 @@ /obj/effect/turf_decal/stripes/white/full, /turf/open/floor/engine, /area/station/engineering/supermatter) +"qjt" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "qju" = ( /obj/structure/cable, /obj/machinery/door/poddoor/preopen{ @@ -45908,15 +48702,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"qkv" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/light/floor, -/turf/open/floor/wood/large, -/area/station/service/chapel) -"qkw" = ( -/obj/machinery/light/floor, -/turf/open/floor/wood/large, -/area/station/service/chapel) "qkI" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 1 @@ -45996,16 +48781,6 @@ /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"qme" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"qmf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/cold/directional/east, -/turf/open/floor/carpet/lone, -/area/station/service/theater) "qmo" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -46021,35 +48796,16 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/construction, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"qmx" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral/full, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/storage/fancy/cigarettes/cigars/cohiba{ - pixel_x = 2; - pixel_y = 10 - }, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "qmz" = ( /obj/structure/table/wood, /turf/open/floor/wood, /area/station/cargo/boutique) -"qmI" = ( -/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/tile/brown/full, -/obj/machinery/duct, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) -"qmO" = ( -/obj/effect/turf_decal/tile/neutral/full, -/obj/machinery/duct, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) +"qmM" = ( +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/iron/smooth, +/area/station/service/library) "qmZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -46058,6 +48814,21 @@ }, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) +"qnb" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/structure/table, +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "vaco"; + name = "Comissary Shutters" + }, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "qnc" = ( /obj/machinery/door/airlock/external{ name = "Labor Camp Shuttle Airlock"; @@ -46077,58 +48848,12 @@ }, /turf/open/floor/iron/solarpanel/airless, /area/station/solars/starboard/fore) -"qnu" = ( -/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/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/door/airlock/public/glass{ - name = "Chapel Office" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, -/turf/open/floor/iron/textured_half, -/area/station/service/chapel/office) -"qnz" = ( -/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/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"qnA" = ( -/obj/structure/table, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "barki"; - name = "Shutters" - }, -/turf/open/floor/catwalk_floor/iron, -/area/station/service/kitchen) "qnJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) -"qnL" = ( -/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/machinery/duct, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) -"qoi" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "qoj" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/window/right/directional/west{ @@ -46145,11 +48870,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos) -"qon" = ( -/obj/machinery/vending/wardrobe/chef_wardrobe, -/obj/structure/extinguisher_cabinet/directional/north, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "qop" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -46185,12 +48905,6 @@ /obj/effect/turf_decal/stripes/box, /turf/open/floor/iron/white/small, /area/station/service/janitor) -"qpg" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L3" - }, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "qpu" = ( /obj/effect/turf_decal/siding/brown{ dir = 9 @@ -46214,13 +48928,6 @@ /obj/item/restraints/handcuffs, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"qpX" = ( -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/turf/open/floor/catwalk_floor/flat_white, -/area/station/service/kitchen) "qqd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -46228,22 +48935,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"qqh" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/table, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"qqq" = ( -/obj/effect/turf_decal/tile/green/diagonal_centre, -/obj/machinery/light/small/directional/north, -/obj/machinery/status_display/ai/directional/north, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "qqr" = ( /obj/machinery/atmospherics/components/binary/pump/off/general/visible{ dir = 4; @@ -46258,6 +48949,16 @@ /obj/machinery/light/floor, /turf/open/floor/glass/reinforced, /area/station/command/bridge) +"qqH" = ( +/obj/effect/spawner/random/entertainment/arcade{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "qqJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -46302,34 +49003,11 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) -"qrw" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/item/trash/popcorn{ - pixel_x = 17; - pixel_y = 14 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "qrB" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/xenobiology) -"qrI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/service/cafeteria) -"qrN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "qsa" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/camera/directional/south{ @@ -46356,15 +49034,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/iron, /area/station/hallway/secondary/construction) -"qsA" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "qsR" = ( /obj/structure/table/reinforced, /obj/effect/mapping_helpers/broken_floor, @@ -46380,13 +49049,17 @@ }, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/freezerchamber) +"qsY" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/obj/machinery/light/floor, +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "qtd" = ( /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"qtl" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/hallway/secondary/spacebridge) "qto" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -46451,16 +49124,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"qtW" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/stairs{ - dir = 8 - }, -/area/station/service/theater) -"qui" = ( -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "qul" = ( /obj/machinery/light/small/directional/east, /obj/machinery/light_switch/directional/east, @@ -46473,13 +49136,6 @@ }, /turf/open/floor/iron/smooth, /area/station/cargo/warehouse) -"quo" = ( -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "quq" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/closet/crate/cardboard, @@ -46502,12 +49158,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/aft) -"quJ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/machinery/light/small/directional/south, -/obj/structure/flora/tree/jungle/small/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "quO" = ( /obj/structure/reagent_dispensers/wall/peppertank/directional/east, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -46571,16 +49221,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) -"qvQ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/firealarm/directional/north, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) "qwa" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 8 @@ -46637,6 +49277,9 @@ /obj/effect/turf_decal/siding/wideplating/dark, /turf/open/floor/iron, /area/station/security) +"qwK" = ( +/turf/open/floor/carpet/lone, +/area/station/service/chapel/office) "qwU" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/table/glass, @@ -46809,6 +49452,14 @@ /obj/effect/turf_decal/tile/dark_red/half/contrasted, /turf/open/floor/iron, /area/station/security/tram) +"qzt" = ( +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/bush/large/style_2, +/obj/structure/flora/bush/sparsegrass, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/hydroponics) "qzv" = ( /obj/structure/table, /obj/item/canvas{ @@ -46857,6 +49508,10 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"qzP" = ( +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/station/service/chapel) "qzT" = ( /obj/item/bikehorn/rubberducky{ pixel_x = -6; @@ -46918,12 +49573,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"qAE" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/generic_maintenance_landmark, -/obj/structure/table, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "qAJ" = ( /obj/effect/spawner/random/structure/closet_private, /obj/machinery/light/small/directional/east, @@ -46973,11 +49622,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/security/tram) -"qBj" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/barricade/wooden/crude, -/turf/open/floor/plating, -/area/station/cargo/boutique) "qBl" = ( /obj/machinery/camera/directional/north{ c_tag = "Holodeck - Fore"; @@ -46987,35 +49631,19 @@ name = "Holodeck Projector Floor" }, /area/station/holodeck/rec_center) -"qBy" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L5" - }, -/obj/effect/turf_decal/tile/neutral{ +"qBn" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ dir = 4 }, /turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) +/area/station/hallway/primary/central/aft) "qBz" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/mannequin/plastic, /obj/machinery/light/small/directional/east, /turf/open/floor/plating, /area/station/cargo/boutique) -"qBD" = ( -/obj/effect/turf_decal/stripes/line, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the turbine vent."; - dir = 1; - name = "turbine vent monitor"; - network = list("turbine"); - pixel_y = -28 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/maintenance/disposal/incinerator) "qBG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47057,17 +49685,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"qCg" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) -"qCi" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/large, -/area/station/service/chapel) "qCj" = ( /obj/machinery/airalarm/directional/south, /obj/item/kirbyplants/organic/applebush, @@ -47083,10 +49700,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"qCC" = ( -/obj/effect/turf_decal/tile/blue/anticorner/contrasted, -/turf/open/floor/iron/white, -/area/station/maintenance/central/greater) "qCJ" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -47106,9 +49719,13 @@ }, /turf/open/floor/iron/large, /area/station/command/heads_quarters/hop) -"qCR" = ( -/turf/open/floor/wood/large, -/area/station/service/chapel) +"qCK" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 5 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "qCT" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -47143,6 +49760,22 @@ }, /turf/open/floor/wood/tile, /area/station/tcommsat/server) +"qDd" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/airlock{ + name = "Theater Greenroom" + }, +/obj/effect/mapping_helpers/airlock/access/all/service/theatre, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/greenroom) "qDi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47153,14 +49786,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/hidden, /turf/open/floor/wood/tile, /area/station/tcommsat/server) -"qDp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "qDq" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -47205,6 +49830,14 @@ }, /turf/open/floor/catwalk_floor, /area/station/engineering/main) +"qDC" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/turf/open/floor/wood/parquet, +/area/station/service/library) "qDJ" = ( /obj/machinery/door/airlock/maintenance{ name = "Maintenance" @@ -47224,6 +49857,10 @@ /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/wood/parquet, /area/station/medical/psychology) +"qDL" = ( +/obj/machinery/chem_master/condimaster, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "qDN" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/status_display/evac/directional/west, @@ -47243,15 +49880,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/sorting) -"qEa" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock{ - name = "Bar Backroom Maintenence" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/bar, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "qEe" = ( /turf/open/floor/iron/white/side{ dir = 8 @@ -47273,23 +49901,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"qEp" = ( -/obj/machinery/chem_master/condimaster{ - desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; - name = "BrewMaster 2199" - }, -/obj/effect/turf_decal/delivery, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "qEz" = ( /obj/machinery/door/window/brigdoor/left/directional/west{ name = "Holding Cell"; @@ -47301,6 +49912,22 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/lower) +"qEO" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/status_display/evac/directional/east, +/obj/structure/disposalpipe/trunk, +/obj/effect/turf_decal/stripes/end, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/disposaloutlet{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/effect/turf_decal/tile/green/fourcorners, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "qEP" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -47319,6 +49946,19 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/white/side, /area/station/science/lower) +"qFc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L10"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "qFh" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -47346,20 +49986,35 @@ }, /turf/open/floor/plating/elevatorshaft, /area/station/engineering/atmos) -"qFB" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/blue{ +"qGc" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/machinery/door/airlock/public/glass{ + name = "Fore Primary Hallway" + }, +/turf/open/floor/iron/textured_half, +/area/station/hallway/primary/central/fore) +"qGe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ dir = 1 }, -/obj/effect/turf_decal/tile/green{ - dir = 4 +/obj/structure/disposalpipe/segment{ + dir = 9 }, -/obj/item/paper/guides/jobs/hydroponics, -/obj/item/pen{ - pixel_x = 11 +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) +"qGf" = ( +/obj/structure/flora/bush/flowers_pp{ + pixel_y = 3 }, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/obj/effect/dummy/lighting_obj, +/obj/effect/light_emitter/fake_outdoors, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/grass/Airless, +/area/station/hallway/primary/central/aft) "qGk" = ( /obj/structure/chair/stool/directional/east, /turf/open/floor/plating, @@ -47372,20 +50027,6 @@ }, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) -"qGw" = ( -/obj/machinery/holopad, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) -"qGA" = ( -/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/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "qGB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -47406,35 +50047,15 @@ /obj/effect/turf_decal/siding/wideplating/dark/corner, /turf/open/floor/iron, /area/station/security) -"qGU" = ( -/obj/structure/table/wood, -/obj/machinery/computer/libraryconsole{ - dir = 4 - }, -/obj/machinery/newscaster/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"qGY" = ( -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) -"qHm" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "kitchenshutters"; - name = "Kitchen Shutters" - }, -/obj/structure/desk_bell{ - pixel_x = 8; - pixel_y = 11 - }, -/obj/effect/spawner/random/food_or_drink/condiment{ - pixel_x = -8; - pixel_y = 3 +"qHr" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) +/obj/machinery/light/small/directional/west, +/obj/machinery/camera/directional/west, +/obj/machinery/status_display/ai/directional/west, +/turf/open/floor/grass, +/area/station/service/chapel) "qHt" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -47460,23 +50081,20 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white/side, /area/station/science/lower) +"qIb" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "qIf" = ( /turf/closed/wall, /area/station/medical/cryo) -"qIg" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/kirbyplants/random, -/obj/machinery/light/small/directional/west, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "qIk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/hidden, /turf/open/floor/circuit/telecomms/mainframe, @@ -47517,14 +50135,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"qIP" = ( -/obj/machinery/food_cart, -/obj/machinery/button/door/directional/west{ - id = "barki"; - name = "Shutters Control" - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "qIQ" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -47536,13 +50146,6 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"qJa" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/restaurant_portal/restaurant, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "qJq" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -47613,20 +50216,10 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/commons/dorms) -"qKE" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/cafeteria) "qKI" = ( /obj/machinery/portable_atmospherics/pump, /turf/open/floor/iron/small, /area/station/maintenance/port/aft) -"qKN" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/wood, -/area/station/service/theater) "qKS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -47680,6 +50273,16 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) +"qLU" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/hydroponics/constructable, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron, +/area/station/service/hydroponics) "qMa" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 4 @@ -47749,13 +50352,6 @@ /obj/structure/hedge, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"qNz" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "qNF" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance, @@ -47783,6 +50379,11 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"qOb" = ( +/obj/structure/flora/bush/sparsegrass, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) "qOm" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -47790,17 +50391,14 @@ }, /turf/open/floor/plating, /area/station/commons/storage/tools) -"qOp" = ( -/obj/structure/table/wood, -/obj/item/book/bible, -/turf/open/floor/wood/large, -/area/station/service/chapel) -"qOt" = ( -/obj/item/kirbyplants/random, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +"qOG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "qOJ" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -47921,6 +50519,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"qQR" = ( +/obj/structure/table/wood, +/obj/machinery/light/small/directional/south, +/obj/machinery/computer/security/telescreen/engine/directional/west, +/obj/machinery/status_display/evac/directional/south, +/obj/item/radio/off{ + pixel_x = 1; + pixel_y = 3 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/ce) "qRh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -47958,6 +50567,13 @@ /obj/effect/decal/cleanable/cobweb, /turf/open/floor/iron, /area/station/security/prison/rec) +"qRE" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 4 + }, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "qRN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -47987,18 +50603,19 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/aft) +"qSa" = ( +/obj/machinery/door/window/right/directional/north{ + name = "Library Desk Door"; + req_access = list("library") + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/carpet, +/area/station/service/library) "qSh" = ( /obj/structure/cable, /obj/machinery/firealarm/directional/east, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"qSv" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "qSC" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/white/line, @@ -48026,15 +50643,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/supply) -"qSU" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L9" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "qSZ" = ( /obj/structure/hedge, /obj/machinery/light/cold/directional/west, @@ -48102,27 +50710,6 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"qTL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/grimy, -/area/station/service/theater) -"qTM" = ( -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) -"qTP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/grunge{ - name = "Vacant Comissary" - }, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/commons/vacant_room/commissary) "qTR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/wood, @@ -48311,16 +50898,6 @@ }, /turf/open/floor/wood/tile, /area/station/command/corporate_showroom) -"qWm" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/red/line, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "qWo" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -48337,6 +50914,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/corner, /area/station/science/research) +"qWG" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "qWJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48365,6 +50950,17 @@ /obj/effect/mapping_helpers/airlock/access/all/command/general, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/ai_monitored/turret_protected/aisat/maint) +"qWV" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "qXb" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -48443,6 +51039,10 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"qXr" = ( +/obj/structure/water_source/puddle, +/turf/open/floor/grass, +/area/station/service/chapel) "qXB" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -48465,6 +51065,20 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"qXP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L8"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/landmark/observer_start, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "qYh" = ( /obj/structure/closet/crate/silvercrate, /obj/effect/turf_decal/bot_white/left, @@ -48488,17 +51102,6 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/atmos) -"qYu" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "qYv" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -48555,18 +51158,21 @@ /obj/effect/landmark/start/scientist, /turf/open/floor/iron/dark/small, /area/station/science/xenobiology) -"qZf" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/junction/flip{ - dir = 2 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 +"qZj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/ammo_casing/spent{ + pixel_x = 5; + pixel_y = 6 }, -/turf/open/floor/iron/white/corner{ - dir = 1 +/obj/item/ammo_casing/spent, +/obj/item/ammo_casing/spent{ + pixel_x = 4; + pixel_y = -2 }, -/area/station/hallway/secondary/exit/departure_lounge) +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "qZm" = ( /obj/structure/lattice/catwalk, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -48592,12 +51198,11 @@ dir = 8 }, /area/station/commons/fitness/locker_room) -"qZB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/grass, -/area/station/service/chapel) +"qZy" = ( +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/white/small, +/area/station/medical/medbay/lobby) "qZE" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Office" @@ -48643,10 +51248,6 @@ }, /turf/open/floor/tram, /area/station/security/tram) -"ram" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood/large, -/area/station/service/chapel) "rao" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 9 @@ -48660,14 +51261,6 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"raC" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/assistant, -/obj/structure/chair/sofa/bamboo/left{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/chapel) "raE" = ( /obj/machinery/duct, /turf/open/floor/iron, @@ -48699,13 +51292,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"raX" = ( -/obj/effect/landmark/start/assistant, -/obj/structure/chair/sofa/bamboo/right{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/chapel) "raZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -48713,10 +51299,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"rba" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/wood/large, -/area/station/service/chapel) "rbc" = ( /obj/structure/transport/linear/tram, /obj/structure/tram, @@ -48728,25 +51310,12 @@ "rbg" = ( /turf/open/floor/iron/smooth, /area/station/engineering/atmos) -"rbh" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/grass, -/area/station/service/chapel) "rbl" = ( /obj/structure/filingcabinet/chestdrawer, /obj/machinery/light/cold/dim/directional/east, /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/grimy, /area/station/engineering/main) -"rbo" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/white/small, -/area/station/medical/medbay/lobby) "rbp" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/delivery, @@ -48784,14 +51353,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"rbU" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 +"rbW" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" }, -/obj/effect/turf_decal/trimline/neutral/line, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/effect/mapping_helpers/airlock/access/any/security/general, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "rce" = ( /obj/machinery/camera{ c_tag = "Xenobiology - Cell 3"; @@ -48832,7 +51401,7 @@ pixel_y = -3; pixel_x = -2 }, -/obj/item/clothing/mask/cigarette{ +/obj/item/cigarette{ pixel_x = 6; pixel_y = 4 }, @@ -48845,22 +51414,27 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"rcr" = ( -/obj/structure/closet/crate/hydroponics, -/obj/item/crowbar/red, -/obj/item/reagent_containers/cup/watering_can, -/obj/item/circuitboard/machine/biogenerator, -/obj/item/wirecutters, -/obj/item/wrench, -/obj/item/shovel/spade, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 +"rcE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/junction{ + dir = 1 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/turf/open/floor/wood/parquet, +/area/station/service/library) +"rcP" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Public Shrine" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/hallway/primary/central/fore) "rcQ" = ( /obj/item/kirbyplants/random, /obj/effect/decal/cleanable/dirt, @@ -48868,13 +51442,6 @@ /obj/machinery/light/small/dim/directional/east, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) -"rdo" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/flora/bush/jungle/a/style_random, -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/window/spawner/directional/east, -/turf/open/misc/sandy_dirt, -/area/station/service/hydroponics) "rds" = ( /obj/machinery/computer/slot_machine{ pixel_y = 2 @@ -48884,28 +51451,39 @@ "rdw" = ( /turf/open/floor/eighties/red, /area/station/service/abandoned_gambling_den/gaming) +"rdA" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 6 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "rdH" = ( /obj/machinery/keycard_auth/directional/south, /turf/open/floor/mineral/titanium, /area/station/command/heads_quarters/ce) -"rdK" = ( -/obj/structure/chair/office, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron, -/area/station/service/hydroponics) "rdM" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 }, /turf/open/floor/engine, /area/station/science/cytology) -"ree" = ( +"rdW" = ( +/obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/obj/effect/landmark/event_spawn, -/turf/open/floor/wood/tile, -/area/station/service/bar) +/obj/effect/turf_decal/siding/red{ + dir = 6 + }, +/obj/machinery/firealarm/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white/small, +/area/station/security/warden) "reg" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -48995,25 +51573,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"reT" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wideplating/dark, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"reW" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/bar/directional/east, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/tile, -/area/station/service/bar) "reZ" = ( /obj/effect/turf_decal/tile/dark_red{ dir = 4 @@ -49048,13 +51607,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/cargo/drone_bay) -"rfI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/full, -/obj/effect/landmark/start/bartender, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "rfJ" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/engine, @@ -49069,22 +51621,6 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"rgc" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) -"rgf" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/plasticflaps/opaque, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/maintenance/central/greater) -"rgx" = ( -/obj/structure/table, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "rgA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/mapping_helpers/broken_floor, @@ -49098,6 +51634,10 @@ /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"rgM" = ( +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) "rgS" = ( /obj/structure/railing/corner/end{ dir = 1 @@ -49109,16 +51649,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/small, /area/station/maintenance/department/engine/atmos) -"rgT" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/port) "rhg" = ( /obj/machinery/air_sensor/engine_chamber, /obj/effect/turf_decal/stripes/white/line{ @@ -49138,7 +51668,7 @@ dir = 10 }, /obj/structure/table, -/obj/item/clothing/mask/cigarette, +/obj/item/cigarette, /obj/item/toy/toy_dagger, /obj/item/clothing/head/collectable/paper, /obj/item/toy/figure/roboticist{ @@ -49189,12 +51719,6 @@ /obj/structure/chair/office, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"rhD" = ( -/obj/structure/cable, -/obj/structure/rack, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "rhH" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -49223,24 +51747,10 @@ /obj/machinery/door/poddoor/massdriver_chapel, /turf/open/floor/plating, /area/station/service/chapel/funeral) -"rij" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/effect/landmark/start/cook, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) -"ril" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/holopad, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) +"rik" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/misc/dirt/jungle, +/area/station/service/chapel) "riq" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -49255,53 +51765,21 @@ "rir" = ( /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"riu" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/delivery, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"riM" = ( -/turf/open/floor/iron/textured_half{ +"riS" = ( +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 1 }, -/area/station/service/cafeteria) +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/turf/open/floor/iron/white, +/area/station/medical/medbay/lobby) "riV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/smooth, /area/station/cargo/drone_bay) -"riZ" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/mining{ - name = "Drone Bay" - }, -/obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, -/obj/machinery/door/firedoor, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"rjb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/pew{ - dir = 4 - }, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood, -/area/station/service/theater) -"rje" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "rji" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -49339,27 +51817,10 @@ /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/iron/dark/small, /area/station/hallway/primary/fore) -"rjz" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L11" - }, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "rjE" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"rjH" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "rjN" = ( /obj/structure/cable, /obj/structure/chair{ @@ -49367,15 +51828,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"rkb" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/pew{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/theater) "rkk" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -49385,10 +51837,22 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"rkF" = ( -/obj/effect/spawner/random/structure/musician/piano/random_piano, -/turf/open/floor/carpet/lone, -/area/station/service/theater) +"rko" = ( +/obj/structure/sign/directions/evac/directional/west, +/obj/structure/sign/directions/science/directional/west{ + dir = 4; + pixel_y = -8 + }, +/obj/structure/sign/directions/security/directional/west{ + pixel_y = 8 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "rkI" = ( /obj/structure/disposalpipe/trunk, /obj/structure/disposaloutlet{ @@ -49399,10 +51863,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/station/medical/morgue) -"rkR" = ( -/obj/structure/cable, -/turf/open/floor/wood, -/area/station/cargo/boutique) "rkS" = ( /obj/effect/turf_decal/siding/yellow{ dir = 8 @@ -49428,17 +51888,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"rlh" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "rli" = ( /obj/machinery/door/airlock/silver{ name = "Showers" @@ -49463,25 +51912,16 @@ dir = 4 }, /obj/machinery/button/door/directional/north{ - id = "Cabin4"; - name = "Cabin Bolt Control" + id = "Cabin3"; + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 }, /turf/open/floor/carpet/blue, /area/station/commons/dorms) "rlr" = ( /turf/closed/wall, /area/station/medical/storage) -"rlz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood, -/area/station/cargo/boutique) -"rlB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/obj/effect/landmark/event_spawn, -/turf/open/floor/wood, -/area/station/cargo/boutique) "rlH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -49493,11 +51933,6 @@ /obj/machinery/air_sensor/ordnance_burn_chamber, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"rlN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/cargo/boutique) "rma" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 6 @@ -49505,6 +51940,13 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) +"rmk" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/jungle/c/style_3{ + pixel_x = -7 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "rmD" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/any/engineering/general, @@ -49515,12 +51957,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor, /area/station/engineering/engine_smes) -"rmG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/wood, -/area/station/cargo/boutique) "rmM" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/edge{ @@ -49543,11 +51979,15 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"rnw" = ( -/obj/machinery/vending/wardrobe/bar_wardrobe, -/obj/machinery/light/small/directional/west, -/turf/open/floor/stone, -/area/station/service/bar/backroom) +"rnr" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/jungle/c/style_3{ + pixel_x = 8 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "rnD" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -49565,15 +52005,6 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/medical/surgery/theatre) -"rnY" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/mail_sorting/service/library, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "rnZ" = ( /obj/structure/transport/linear/tram, /obj/effect/landmark/transport/nav_beacon/tram/nav/birdshot/maint, @@ -49610,13 +52041,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/wood/tile, /area/station/maintenance/port/lesser) -"row" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/reagent_dispensers/plumbed{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "roz" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -49638,11 +52062,6 @@ /obj/structure/chair/stool/directional/west, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"roV" = ( -/obj/machinery/vending/cigarette, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "roZ" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/computer/rdconsole{ @@ -49668,19 +52087,47 @@ "rpk" = ( /turf/open/floor/iron/white, /area/station/science/research) +"rpo" = ( +/obj/machinery/light/floor, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "rpq" = ( /obj/machinery/camera/autoname/directional/east, /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/smooth, /area/station/security/evidence) -"rpy" = ( -/obj/structure/cable, +"rpv" = ( +/obj/structure/chair/sofa/bench/left{ + dir = 8 + }, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/hallway/primary/central/fore) +"rpB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/departments/holy/directional/north, +/obj/machinery/camera/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"rpE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/navigate_destination/chapel, /obj/structure/disposalpipe/segment{ - dir = 5 + dir = 10 }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/turf/open/floor/iron, +/area/station/hallway/primary/port) +"rpF" = ( +/obj/structure/flora/tree/jungle/small/style_4, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/station/service/chapel) "rpV" = ( /obj/effect/spawner/random/structure/crate, /obj/effect/spawner/random/maintenance, @@ -49721,6 +52168,13 @@ }, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"rqF" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/large/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "rqR" = ( /obj/machinery/door/airlock/external/glass, /obj/effect/mapping_helpers/airlock/cyclelink_helper, @@ -49771,21 +52225,6 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, /area/station/science/robotics/augments) -"rrx" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L13" - }, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) -"rrC" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "rrG" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -49808,12 +52247,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/service/lawoffice) -"rrV" = ( -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 5 +"rrX" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 }, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) +/turf/open/floor/stone, +/area/station/service/bar) "rrZ" = ( /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/trash/garbage, @@ -49887,24 +52326,6 @@ "rsL" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/fore) -"rsQ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/obj/effect/landmark/navigate_destination/chapel, -/obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"rsV" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock{ - name = "Coldroom Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "rsZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, @@ -49924,6 +52345,9 @@ /turf/open/floor/iron/small, /area/station/ai_monitored/command/storage/eva) "rtI" = ( +/obj/item/toy/plush/slimeplushie{ + name = "Nanners" + }, /turf/open/floor/iron/white/corner{ dir = 8 }, @@ -49987,12 +52411,31 @@ "ruD" = ( /turf/open/floor/plating, /area/station/maintenance/starboard/lesser) +"ruS" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/sorting/mail{ + dir = 4 + }, +/obj/effect/mapping_helpers/mail_sorting/service/kitchen, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "ruY" = ( /turf/open/floor/plating, /area/station/maintenance/fore/lesser) "rvp" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/hallway/abandoned_command) +"rvr" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "rvs" = ( /obj/effect/turf_decal/stripes/white/line, /obj/item/stack/sheet/mineral/titanium, @@ -50014,14 +52457,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"rvH" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/light/small/directional/east, -/obj/structure/chair/stool/bar/directional/north, -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "rvX" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/left/directional/south{ @@ -50109,6 +52544,13 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/plating, /area/station/maintenance/department/prison) +"rxa" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/obj/structure/mannequin/plastic, +/turf/open/floor/carpet/blue, +/area/station/cargo/boutique) "rxo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50182,6 +52624,12 @@ }, /turf/open/floor/iron/smooth, /area/station/hallway/secondary/command) +"rya" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 10 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "ryi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50197,22 +52645,6 @@ dir = 1 }, /area/station/science/research) -"rym" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Public Shrine" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) -"ryp" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "ryt" = ( /obj/machinery/light/dim/directional/north, /obj/effect/turf_decal/tile/neutral{ @@ -50232,6 +52664,11 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) +"ryW" = ( +/obj/machinery/camera/autoname/directional/east, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "rza" = ( /obj/structure/disposalpipe/junction{ dir = 1 @@ -50252,22 +52689,25 @@ }, /turf/open/floor/iron, /area/station/commons/dorms) -"rzu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/light/floor, -/turf/open/floor/wood/large, -/area/station/service/chapel) -"rzG" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 4 +"rzy" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L9"; + pixel_y = -15 }, -/mob/living/simple_animal/bot/secbot/beepsky/officer, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 +/obj/effect/turf_decal/tile/neutral{ + dir = 4 }, /turf/open/floor/iron, -/area/station/security) +/area/station/hallway/primary/central/aft) +"rzH" = ( +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/door/airlock/freezer{ + name = "Freezer" + }, +/obj/structure/disposalpipe/segment, +/obj/structure/cable, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) "rzJ" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -50293,24 +52733,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"rAb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/turf/open/floor/grass, -/area/station/service/chapel) -"rAn" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/service/hydroponics) "rAt" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50415,19 +52837,6 @@ dir = 8 }, /area/station/commons) -"rBx" = ( -/obj/effect/turf_decal/tile/blue{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/vending/wardrobe/hydro_wardrobe, -/turf/open/floor/iron, -/area/station/service/hydroponics) "rBy" = ( /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, @@ -50447,16 +52856,6 @@ /obj/effect/landmark/secequipment, /turf/open/floor/iron, /area/station/security/tram) -"rBG" = ( -/obj/structure/window/spawner/directional/west, -/obj/structure/flora/bush/large/style_random{ - pixel_x = -17; - pixel_y = 2 - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/structure/window/spawner/directional/east, -/turf/open/misc/sandy_dirt, -/area/station/service/hydroponics) "rBI" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -50465,18 +52864,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"rBK" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/chair/sofa/bench/right{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"rBN" = ( -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "rBO" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -50486,10 +52873,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/dorms) -"rBQ" = ( -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "rBY" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -50503,12 +52886,6 @@ dir = 1 }, /area/station/science/ordnance/testlab) -"rCd" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/east, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "rCj" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -50555,13 +52932,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/wood, /area/station/engineering/break_room) -"rDf" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron, -/area/station/service/hydroponics) "rDj" = ( /obj/structure/chair/sofa/bench/left{ dir = 8 @@ -50572,12 +52942,16 @@ dir = 4 }, /area/station/hallway/secondary/entry) -"rDy" = ( -/obj/structure/disposalpipe/segment, +"rDv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/light/cold/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/firealarm/directional/west, +/obj/structure/disposalpipe/segment, /turf/open/floor/iron, -/area/station/service/hydroponics) +/area/station/hallway/primary/central/fore) "rDD" = ( /obj/structure/railing{ dir = 1 @@ -50627,6 +53001,13 @@ "rEd" = ( /turf/open/floor/iron, /area/station/maintenance/fore/greater) +"rEF" = ( +/obj/machinery/photocopier, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "rEH" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden{ dir = 4 @@ -50638,6 +53019,14 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/atmos, /turf/open/floor/catwalk_floor, /area/station/engineering/atmos) +"rEJ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/camera/directional/east, +/obj/machinery/status_display/evac/directional/east, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "rEY" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/pdapainter{ @@ -50743,12 +53132,6 @@ /obj/effect/turf_decal/delivery/white, /turf/open/floor/iron, /area/station/cargo/sorting) -"rFQ" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/service/bar) "rFV" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/white, @@ -50769,17 +53152,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron, /area/station/cargo/sorting) -"rGm" = ( -/obj/effect/turf_decal/tile/dark_red/opposingcorners, -/obj/machinery/computer/security, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = 30 - }, -/turf/open/floor/iron, -/area/station/security/warden) "rGp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -50803,11 +53175,6 @@ /obj/effect/turf_decal/delivery/white, /turf/open/floor/iron, /area/station/cargo/sorting) -"rGt" = ( -/obj/machinery/exodrone_launcher, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) "rGB" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -50835,11 +53202,6 @@ /obj/item/screwdriver, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) -"rHd" = ( -/obj/effect/turf_decal/tile/brown/full, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "rHe" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -50850,15 +53212,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/main) -"rHm" = ( -/obj/effect/turf_decal/tile/brown/full, -/obj/machinery/chem_master/condimaster{ - desc = "Looks like a knock-off chem-master. Perhaps useful for separating liquids when mixing drinks precisely. Also dispenses condiments."; - name = "HoochMaster Deluxe"; - pixel_x = -4 - }, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "rHp" = ( /obj/effect/turf_decal/siding/wood, /obj/effect/landmark/event_spawn, @@ -50896,22 +53249,17 @@ /obj/effect/spawner/random/structure/girder, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"rHL" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/turf_decal/delivery, -/obj/structure/sign/poster/official/random/directional/north, -/obj/machinery/modular_computer/preset/cargochat/service, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "rHO" = ( /obj/structure/closet/emcloset, /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"rHQ" = ( -/obj/machinery/deepfryer, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) +"rHY" = ( +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 1 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "rIb" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/structure/closet/secure_closet/security/sec, @@ -50920,10 +53268,6 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/north, /turf/open/floor/iron, /area/station/security/lockers) -"rIg" = ( -/obj/machinery/griddle, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "rIn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -50937,45 +53281,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/herringbone, /area/station/service/abandoned_gambling_den/gaming) -"rIH" = ( -/obj/structure/disposalpipe/junction/flip{ - 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/dark_red/half/contrasted{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security) "rIJ" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/engine, /area/station/engineering/gravity_generator) -"rIS" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "rIY" = ( /turf/closed/wall/r_wall, /area/station/construction/mining/aux_base) -"rJh" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) -"rJl" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "kitchenshutters"; - name = "Kitchen Shutters" - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "rJo" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -50987,31 +53299,25 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"rJv" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/chair/stool/bar/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "rJw" = ( /mob/living/carbon/human/species/monkey{ name = "George" }, /turf/open/floor/grass, /area/station/science/xenobiology) -"rJT" = ( -/obj/structure/chair/sofa/left/maroon, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "rJW" = ( /obj/machinery/suit_storage_unit/hos, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, /area/station/command/heads_quarters/hos) +"rJZ" = ( +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "rKv" = ( /obj/structure/broken_flooring/singular/directional/east, /turf/open/floor/iron, @@ -51022,16 +53328,6 @@ }, /turf/open/floor/iron, /area/station/science/cytology) -"rKL" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/pew{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/theater) "rKR" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -51086,16 +53382,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"rLw" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "rLx" = ( /obj/effect/turf_decal/siding/thinplating/terracotta, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51119,11 +53405,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) -"rLT" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/flora/tree/jungle/small/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "rMb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/landmark/generic_maintenance_landmark, @@ -51192,15 +53473,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) -"rMM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 4 - }, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) "rMR" = ( /obj/effect/turf_decal/siding/yellow{ dir = 10 @@ -51212,28 +53484,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/diagonal, /area/station/engineering/lobby) -"rMV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"rMY" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/obj/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "rNd" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -51252,16 +53502,6 @@ /obj/machinery/digital_clock/directional/north, /turf/open/floor/iron, /area/station/security) -"rNq" = ( -/obj/machinery/door/airlock/multi_tile/public/glass{ - name = "Theatre" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/service/theater) -"rNA" = ( -/turf/open/floor/wood, -/area/station/service/theater) "rNB" = ( /obj/machinery/light/small/directional/west, /turf/open/floor/catwalk_floor/iron_smooth, @@ -51279,35 +53519,20 @@ /obj/effect/spawner/random/entertainment/arcade, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"rOb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"rOm" = ( +"rNL" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 }, -/obj/structure/chair/pew{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/theater) -"rOx" = ( -/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/displaycase/trophy, /turf/open/floor/wood/parquet, -/area/station/service/theater) -"rOy" = ( -/obj/structure/chair/plastic{ - dir = 8 - }, +/area/station/service/library) +"rNN" = ( /obj/effect/landmark/start/hangover, -/obj/machinery/light/small/directional/east, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "rOG" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -51374,6 +53599,26 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/psychology) +"rPA" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) +"rPL" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/lesser) "rPT" = ( /obj/structure/chair/stool/bar/directional/east, /obj/effect/turf_decal/siding/red/corner{ @@ -51403,6 +53648,19 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron, /area/station/engineering/main) +"rPW" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_br/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) +"rPX" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 4 + }, +/obj/machinery/holopad, +/turf/open/floor/stone, +/area/station/service/bar) "rQi" = ( /turf/closed/wall/r_wall, /area/station/engineering/main) @@ -51410,13 +53668,9 @@ /obj/structure/lattice, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) -"rQt" = ( -/obj/effect/landmark/start/mime, -/turf/open/floor/carpet/lone, -/area/station/service/theater) "rQw" = ( /obj/machinery/light/small/directional/north, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "rQA" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51490,11 +53744,6 @@ dir = 1 }, /area/station/security/courtroom) -"rRn" = ( -/obj/structure/lattice, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/space/basic, -/area/space/nearstation) "rRq" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -51529,14 +53778,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"rSj" = ( -/obj/structure/cable, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/security/general, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "rSt" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -51600,15 +53841,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"rTt" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "rTy" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -51719,12 +53951,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"rUB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/large, -/area/station/hallway/secondary/spacebridge) "rUD" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -51757,12 +53983,6 @@ /obj/effect/spawner/random/structure/table_or_rack, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"rUS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "rUV" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -51786,6 +54006,15 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/security/prison/safe) +"rVt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/chair/wood{ + dir = 4 + }, +/turf/open/floor/wood/tile, +/area/station/service/bar) "rVy" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 4 @@ -51856,6 +54085,10 @@ /obj/item/stock_parts/matter_bin{ pixel_y = 5 }, +/obj/item/multitool, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, /turf/open/floor/iron/dark, /area/station/science/lab) "rWs" = ( @@ -51944,6 +54177,13 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"rXy" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "rXM" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -51951,6 +54191,14 @@ }, /turf/open/floor/iron, /area/station/engineering/storage/tech) +"rXO" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/unres, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "rXW" = ( /obj/structure/flora/bush/flowers_yw, /obj/machinery/door/window/left/directional/west{ @@ -51969,12 +54217,6 @@ "rYc" = ( /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) -"rYd" = ( -/obj/structure/chair/sofa/left, -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "rYm" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/chair/office/light{ @@ -51990,17 +54232,19 @@ "rYp" = ( /turf/open/floor/iron/dark/small, /area/station/tcommsat/server) +"rYs" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/flora/bush/flowers_yw/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "rYt" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 }, /turf/open/floor/iron/white, /area/station/science/cytology) -"rYv" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "rYx" = ( /obj/effect/turf_decal/siding/wideplating/dark, /obj/structure/cable, @@ -52008,16 +54252,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/small, /area/station/service/barber) -"rYD" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "rYG" = ( /obj/structure/cable, /obj/machinery/door/firedoor, /turf/open/floor/iron, /area/station/security/prison/workout) +"rYJ" = ( +/obj/machinery/skill_station, +/obj/structure/sign/painting/library{ + pixel_x = 30 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "rYL" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52028,6 +54274,12 @@ /obj/structure/extinguisher_cabinet/directional/south, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"rZb" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "rZc" = ( /obj/machinery/holopad, /obj/effect/turf_decal/box/white{ @@ -52078,6 +54330,17 @@ }, /turf/open/floor/iron/dark, /area/station/service/lawoffice) +"rZz" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "rZG" = ( /obj/structure/closet/crate/trashcart, /obj/effect/spawner/random/trash/food_packaging, @@ -52087,27 +54350,20 @@ /obj/structure/alien/weeds, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"rZK" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "rZM" = ( /obj/structure/table/wood, /obj/item/clothing/glasses/eyepatch/medical, /turf/open/floor/carpet/orange, /area/station/commons/dorms) -"rZN" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"sar" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 }, -/obj/effect/turf_decal/tile/brown/full, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "sas" = ( /obj/effect/turf_decal/siding/wood, /turf/open/floor/carpet/blue, @@ -52124,25 +54380,23 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"say" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/blue/half, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +"saz" = ( +/obj/machinery/status_display/ai/directional/west, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"saL" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/light/small/directional/west, +/turf/open/floor/wood/parquet, +/area/station/service/library) "saY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/science/robotics/augments) -"saZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/obj/machinery/status_display/evac/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "sbf" = ( /obj/structure/railing{ dir = 1 @@ -52155,11 +54409,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/atmos) -"sbm" = ( -/obj/structure/plasticflaps/opaque, -/obj/machinery/duct, -/turf/open/floor/iron, -/area/station/maintenance/central/greater) "sbq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, @@ -52260,41 +54509,26 @@ /obj/machinery/light/small/broken/directional/south, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) -"scz" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ +"scR" = ( +/obj/effect/turf_decal/siding/wood{ dir = 8 }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"scC" = ( -/obj/machinery/chem_master/condimaster{ - name = "CondiMaster Neo" +/obj/effect/landmark/start/assistant, +/turf/open/floor/wood/tile, +/area/station/service/bar) +"scY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) +/turf/open/floor/wood, +/area/station/cargo/boutique) "sdf" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"sdg" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "sdF" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -52302,20 +54536,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) -"sdQ" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"sdT" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/blue/half, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "sea" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52330,18 +54550,17 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) -"sei" = ( -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 8 +"sem" = ( +/obj/machinery/door/airlock{ + name = "Kitchen" }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"sel" = ( -/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "ser" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -52383,19 +54602,6 @@ }, /turf/open/floor/engine/o2, /area/station/engineering/atmos/space_catwalk) -"sfh" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/brown/full, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = 5; - pixel_y = 10 - }, -/obj/item/reagent_containers/cup/rag{ - pixel_x = 7; - pixel_y = -1 - }, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "sfk" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/neutral, @@ -52416,6 +54622,11 @@ dir = 1 }, /area/station/science/research) +"sfu" = ( +/obj/effect/turf_decal/tile/dark_red/opposingcorners, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "sfF" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Office" @@ -52437,29 +54648,15 @@ dir = 8 }, /area/station/engineering/main) -"sfK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"sfL" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" +"sfU" = ( +/obj/machinery/light/small/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/effect/turf_decal/siding/wood{ + dir = 1 }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"sfX" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/obj/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/bar) "sge" = ( /obj/structure/reagent_dispensers/beerkeg, /obj/item/clothing/head/costume/festive, @@ -52513,15 +54710,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"sgS" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral/full, -/obj/machinery/reagentgrinder{ - pixel_x = 3; - pixel_y = 4 - }, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "sgY" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -52537,26 +54725,6 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron, /area/station/science/xenobiology) -"shw" = ( -/obj/structure/table, -/obj/item/reagent_containers/cup/glass/sillycup{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/reagent_containers/cup/glass/sillycup{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/reagent_containers/cup/glass/sillycup{ - pixel_x = 7 - }, -/obj/item/reagent_containers/cup/glass/sillycup, -/obj/item/reagent_containers/cup/glass/mug/coco{ - pixel_x = -6; - pixel_y = 9 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "shD" = ( /turf/closed/wall, /area/station/hallway/secondary/recreation) @@ -52582,38 +54750,19 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"shU" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 +"shR" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/start/cook, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) +/obj/structure/cable, +/obj/machinery/light/small/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) "sib" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) -"sih" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = 8; - pixel_y = 7 - }, -/obj/item/reagent_containers/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = 8; - pixel_y = 2 - }, -/obj/effect/spawner/random/food_or_drink/condiment{ - pixel_x = -8; - pixel_y = 3 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "sio" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/scrubbers/visible{ dir = 4 @@ -52636,26 +54785,6 @@ "sis" = ( /turf/open/floor/grass, /area/station/security/prison/garden) -"siv" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/pew/left{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/theater) -"siz" = ( -/obj/structure/closet/secure_closet/freezer/fridge, -/obj/effect/turf_decal/bot_red, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) -"siC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "siG" = ( /obj/machinery/atmospherics/pipe/smart/manifold/general/visible{ dir = 1 @@ -52667,10 +54796,11 @@ }, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"siP" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/wood, -/area/station/service/theater) +"siN" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/chair/stool/bar/directional/north, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "sjl" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -52686,6 +54816,24 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"sjK" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/spawner/random/trash, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"sjL" = ( +/obj/structure/cable, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "sjZ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ @@ -52726,17 +54874,19 @@ /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 8 }, -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/machinery/camera/autoname/directional/west, /turf/open/floor/iron, /area/station/medical/chemistry) -"skI" = ( -/obj/structure/cable, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/wood/parquet, -/area/station/service/library) +"skN" = ( +/obj/structure/table/wood, +/obj/machinery/camera/directional/south{ + c_tag = "Atmospherics - South" + }, +/obj/item/stack/cable_coil/five, +/obj/effect/turf_decal/siding/wideplating_new/terracotta, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) "skP" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -52774,15 +54924,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"skY" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/chair/pew/left{ - dir = 4 - }, -/turf/open/floor/wood, -/area/station/service/theater) "slp" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -52796,11 +54937,6 @@ /obj/structure/flora/bush/flowers_pp/style_random, /turf/open/floor/grass, /area/station/medical/virology) -"slv" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/landmark/start/hangover, -/turf/open/floor/carpet/lone, -/area/station/service/theater) "slw" = ( /turf/closed/wall, /area/station/cargo/drone_bay) @@ -52903,14 +55039,23 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"snc" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 +"sne" = ( +/obj/structure/table/reinforced, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_x = 3 }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -3 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/door/poddoor/shutters/preopen{ + id = "kitchenshutters"; + name = "Kitchen Shutters" + }, +/turf/open/floor/plating, +/area/station/service/kitchen) "snj" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/disposalpipe/segment{ @@ -53027,6 +55172,18 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/maintenance/port/aft) +"sot" = ( +/obj/machinery/door/airlock/multi_tile/public{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/library) "sox" = ( /obj/effect/turf_decal/stripes/white/line, /obj/structure/transport/linear/tram, @@ -53083,6 +55240,25 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/dark/small, /area/station/security/checkpoint/customs/auxiliary) +"spk" = ( +/obj/machinery/camera/directional/east, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) +"spo" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "spx" = ( /obj/machinery/portable_atmospherics/canister/anesthetic_mix, /obj/machinery/atmospherics/components/unary/portables_connector/visible, @@ -53106,17 +55282,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) -"spW" = ( -/obj/structure/cable, -/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/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "sqa" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -53124,17 +55289,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"sqe" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "sqg" = ( /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/closed/wall/r_wall, @@ -53216,10 +55370,30 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"srg" = ( +/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/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "srn" = ( /obj/structure/disposalpipe/segment, /turf/closed/wall, /area/station/maintenance/port/greater) +"sry" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/jungle/c/style_3{ + pixel_x = 6; + pixel_y = -6 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "srA" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -53296,6 +55470,32 @@ /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible, /turf/closed/wall/r_wall, /area/station/engineering/hallway) +"ssR" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/chair/stool/directional/west, +/turf/open/floor/stone, +/area/station/service/bar) +"sta" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/item/trash/flare{ + pixel_x = 11; + pixel_y = 21 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 4 + }, +/area/station/hallway/primary/central/fore) "stj" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53358,6 +55558,14 @@ }, /turf/open/floor/carpet/purple, /area/station/commons/dorms) +"sue" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/structure/chair/sofa/bench/right{ + dir = 4 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "sul" = ( /obj/effect/turf_decal/siding{ dir = 1 @@ -53365,19 +55573,20 @@ /obj/machinery/holopad, /turf/open/floor/iron/white/small, /area/station/science/lab) -"suq" = ( -/obj/structure/chair/plastic{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/light/small/directional/west, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "suw" = ( /obj/effect/decal/cleanable/dirt, /obj/item/radio/intercom/directional/south, /turf/open/floor/iron/checker, /area/station/command/heads_quarters/hos) +"suM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/south, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "svh" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -53447,6 +55656,14 @@ /mob/living/carbon/human/species/monkey, /turf/open/floor/grass, /area/station/science/genetics) +"svE" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/stone, +/area/station/service/bar) "svG" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, @@ -53546,13 +55763,15 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"swL" = ( -/obj/structure/closet/secure_closet/freezer/kitchen, -/obj/effect/turf_decal/bot_red, -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) +"swM" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/jungle/a/style_random{ + pixel_y = -5 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "swO" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -53593,23 +55812,20 @@ }, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"sxd" = ( -/obj/structure/disposalpipe/trunk{ +"swW" = ( +/obj/effect/turf_decal/siding/wood{ dir = 1 }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/machinery/button/door/directional/south{ - id = "kihall"; - name = "Hallway Cutoff"; - pixel_x = -7 - }, -/obj/machinery/button/door/directional/south{ - id = "kitchenshutters"; - name = "Kitchen Shutters"; - pixel_x = 7 - }, -/turf/open/floor/iron/cafeteria, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/restaurant_portal/bar, +/turf/open/floor/stone, +/area/station/service/bar) +"sxl" = ( +/obj/machinery/oven/range, +/obj/machinery/airalarm/directional/north, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/kitchen/small, /area/station/service/kitchen) "sxm" = ( /turf/closed/wall, @@ -53631,14 +55847,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"sxw" = ( -/obj/structure/cable, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "sxA" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -53664,22 +55872,18 @@ dir = 8 }, /area/station/science/research) -"sxL" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "sxT" = ( /obj/structure/cable, /obj/structure/lattice/catwalk, /turf/open/space/basic, /area/station/solars/aft) +"sxZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/fore) "syb" = ( /obj/docking_port/stationary/random{ dir = 4; @@ -53725,10 +55929,6 @@ "syk" = ( /turf/closed/wall, /area/station/security/warden) -"syv" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/grass, -/area/station/service/chapel) "syx" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -53753,10 +55953,6 @@ /obj/structure/flora/bush/flowers_yw/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"syG" = ( -/obj/effect/spawner/xmastree, -/turf/open/floor/grass, -/area/station/service/chapel) "syN" = ( /obj/effect/spawner/random/trash, /turf/open/floor/plating, @@ -53769,82 +55965,6 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/brig) -"sze" = ( -/obj/structure/chair/sofa/left/maroon{ - dir = 1 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) -"szy" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/grass, -/area/station/service/chapel) -"szz" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"szG" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/structure/chair/office{ - dir = 4 - }, -/obj/machinery/duct, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"szH" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/right/directional/west{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/machinery/door/firedoor, -/obj/machinery/duct, -/turf/open/floor/iron/textured_large, -/area/station/hallway/primary/central/fore) -"szM" = ( -/obj/machinery/computer/slot_machine{ - pixel_y = 2 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"szS" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/neutral/full, -/obj/machinery/chem_dispenser/drinks{ - dir = 1 - }, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) -"szZ" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/brown/full, -/obj/item/reagent_containers/cup/glass/waterbottle/large{ - pixel_x = 7; - pixel_y = 17 - }, -/obj/item/reagent_containers/cup/glass/waterbottle/large{ - pixel_x = -6; - pixel_y = 15 - }, -/obj/item/reagent_containers/cup/glass/waterbottle/large{ - pixel_x = 4; - pixel_y = 10 - }, -/obj/item/reagent_containers/cup/glass/waterbottle/large{ - pixel_x = -7; - pixel_y = 8 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "sAb" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible/layer1{ @@ -53884,28 +56004,23 @@ }, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) +"sBf" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "sBm" = ( /obj/structure/transport/linear/tram, /obj/structure/fluff/tram_rail/floor, /obj/structure/thermoplastic/light, /turf/open/floor/tram, /area/station/maintenance/port/aft) -"sBp" = ( -/obj/structure/table, -/obj/machinery/processor{ - pixel_y = 6 - }, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) -"sBz" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "sBL" = ( /obj/structure/sign/directions/science{ dir = 4; @@ -53969,6 +56084,14 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/dark/small, /area/station/medical/medbay/central) +"sCq" = ( +/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/dark_red/fourcorners, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "sCu" = ( /obj/machinery/computer/prisoner/management{ dir = 8 @@ -54076,13 +56199,6 @@ dir = 4 }, /area/station/science/lab) -"sDT" = ( -/obj/machinery/firealarm/directional/north, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "sDZ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/trimline/neutral/line{ @@ -54128,13 +56244,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"sED" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "sES" = ( /obj/machinery/door/airlock/hatch{ name = "Creature Pen" @@ -54149,30 +56258,21 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"sFz" = ( -/obj/structure/chair/stool/directional/east, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron/cafeteria, -/area/station/security/prison/mess) -"sFH" = ( +"sFs" = ( +/obj/structure/cable, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, /turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"sFJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/obj/machinery/light/small/directional/south, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/grimy, -/area/station/service/theater) +/area/station/hallway/primary/central/aft) +"sFz" = ( +/obj/structure/chair/stool/directional/east, +/obj/machinery/camera/autoname/directional/south, +/turf/open/floor/iron/cafeteria, +/area/station/security/prison/mess) "sGh" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/stripes/white/line{ @@ -54180,6 +56280,11 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) +"sGk" = ( +/obj/structure/flora/bush/jungle/c/style_random, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/station/service/chapel) "sGp" = ( /obj/structure/flora/rock/pile/style_random, /obj/structure/window/reinforced/spawner/directional/west, @@ -54206,6 +56311,20 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/science/ordnance/storage) +"sGN" = ( +/obj/machinery/modular_computer/preset/cargochat/service{ + dir = 8 + }, +/obj/effect/turf_decal/delivery, +/obj/machinery/requests_console/auto_name/directional/east, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "sHe" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -54256,12 +56375,6 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/engine, /area/station/science/cytology) -"sIh" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/turf/open/floor/iron/stairs{ - dir = 8 - }, -/area/station/service/theater) "sIj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -54282,21 +56395,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"sIG" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/sign/directions/evac/directional/west, -/obj/structure/sign/directions/science/directional/west{ - dir = 4; - pixel_y = -8 - }, -/obj/structure/sign/directions/security/directional/west{ - pixel_y = 8 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "sIO" = ( /obj/structure/grille/broken, /obj/item/shard/titanium, @@ -54320,6 +56418,17 @@ /obj/machinery/holopad, /turf/open/floor/iron/smooth_large, /area/station/science/auxlab/firing_range) +"sJv" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=1.5-PNexus-Vault"; + location = "1.0-Security-PNexus" + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "sJw" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54345,11 +56454,33 @@ "sJR" = ( /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"sJV" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/chem_master/condimaster{ + desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; + name = "BrewMaster 2199" + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "sKk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"sKm" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "sKq" = ( /obj/structure/chair/comfy/brown{ dir = 8 @@ -54383,17 +56514,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"sKD" = ( -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, -/obj/structure/cable, -/obj/effect/landmark/navigate_destination, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/machinery/door/airlock/engineering{ - name = "Main Engineering" - }, -/turf/open/floor/catwalk_floor, -/area/station/engineering/break_room) "sKE" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/small, @@ -54405,14 +56525,6 @@ /obj/effect/gibspawner, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"sLc" = ( -/obj/structure/cable, -/obj/machinery/door/window/right/directional/north{ - name = "Library Desk Door"; - req_access = list("library") - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "sLu" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -54492,18 +56604,27 @@ dir = 1 }, /area/station/science/research) -"sMi" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wood{ - dir = 9 +"sMj" = ( +/obj/machinery/light/floor, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 }, -/obj/effect/decal/cleanable/cobweb, -/turf/open/floor/grass, +/obj/effect/turf_decal/siding/wood/corner, +/turf/open/floor/stone, /area/station/service/chapel) "sMq" = ( /obj/machinery/light/warm/directional/west, /turf/open/floor/iron, /area/station/security/prison) +"sMt" = ( +/obj/structure/chair/sofa/bench/right{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron/white/side, +/area/station/hallway/primary/central/aft) "sMu" = ( /obj/structure/cable, /obj/structure/railing, @@ -54512,13 +56633,6 @@ "sMD" = ( /turf/closed/wall, /area/station/science/server) -"sMG" = ( -/obj/structure/cable, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt, -/obj/structure/steam_vent, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "sMT" = ( /obj/structure/table, /obj/item/emergency_bed{ @@ -54581,24 +56695,16 @@ /obj/effect/spawner/random/armory/dragnet, /turf/open/floor/iron/dark/small, /area/station/ai_monitored/security/armory) -"sNv" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "sNz" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"sNA" = ( +/obj/effect/spawner/xmastree, +/turf/open/misc/dirt/jungle, +/area/station/service/chapel) "sNW" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance, @@ -54674,16 +56780,6 @@ /obj/effect/landmark/navigate_destination, /turf/open/floor/iron/textured_half, /area/station/commons/storage/art) -"sOW" = ( -/obj/structure/cable, -/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/duct, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "sPa" = ( /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, /obj/machinery/door/airlock/grunge{ @@ -54710,42 +56806,17 @@ dir = 4 }, /area/station/engineering/main) -"sPt" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "sPx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/hallway/secondary/dock) -"sPE" = ( -/obj/structure/closet/secure_closet/freezer/meat, -/obj/effect/turf_decal/bot_red, -/obj/machinery/light/cold/directional/north, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "sPO" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"sPT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/mob/living/basic/goat/pete, -/obj/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "sQa" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -54802,12 +56873,6 @@ /obj/structure/alien/weeds, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"sQA" = ( -/obj/effect/turf_decal/siding/white, -/obj/structure/bed/maint, -/obj/structure/railing, -/turf/open/floor/stone, -/area/station/service/theater) "sQI" = ( /obj/effect/turf_decal/tile/blue, /obj/machinery/modular_computer/preset/id, @@ -54846,13 +56911,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/engine, /area/station/science/explab) -"sQU" = ( -/obj/machinery/vending/hydronutrients, -/obj/effect/turf_decal/delivery/white{ - color = "#52B4E9" - }, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "sQX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -54862,16 +56920,6 @@ }, /turf/open/floor/iron/white/small, /area/station/science/ordnance/storage) -"sQY" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/siding/thinplating_new/light{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "sRf" = ( /obj/machinery/power/turbine/inlet_compressor{ dir = 8 @@ -54890,15 +56938,6 @@ dir = 8 }, /area/station/science/lobby) -"sRv" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/window/left/directional/west{ - name = "Hydroponics Desk"; - req_access = list("hydroponics") - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_large, -/area/station/hallway/primary/central/fore) "sRD" = ( /obj/machinery/shower/directional/west, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -54919,6 +56958,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/storage) +"sRT" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 + }, +/obj/structure/disposalpipe/trunk{ + dir = 8 + }, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "sRV" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -54939,18 +56988,6 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) -"sSr" = ( -/obj/machinery/door/airlock{ - name = "Kitchen" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/turf/open/floor/catwalk_floor/flat_white, -/area/station/service/kitchen) -"sSt" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/kitchen) "sSx" = ( /obj/structure/table, /obj/item/restraints/handcuffs/cable{ @@ -54984,6 +57021,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/textured_half, /area/station/engineering/atmos) +"sSN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/flowers_pp/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "sSQ" = ( /turf/closed/wall, /area/station/maintenance/department/medical/central) @@ -55019,6 +57063,19 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) +"sTb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/plaque{ + icon_state = "L14"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "sTi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55030,9 +57087,6 @@ /obj/structure/broken_flooring/singular/directional/south, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"sTp" = ( -/turf/closed/wall, -/area/station/service/cafeteria) "sTq" = ( /obj/structure/railing{ dir = 10 @@ -55103,6 +57157,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/checker, /area/station/security/breakroom) +"sUN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) "sUV" = ( /obj/structure/table, /obj/item/folder/yellow, @@ -55129,16 +57190,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"sVl" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/landmark/start/botanist, -/turf/open/floor/iron, -/area/station/service/hydroponics) "sVp" = ( /obj/structure/table, /obj/structure/sign/poster/official/corporate_perks_vacation/directional/east, @@ -55174,6 +57225,14 @@ /obj/machinery/chem_master, /turf/open/floor/iron, /area/station/science/xenobiology) +"sWq" = ( +/obj/structure/chair/stool/bar/directional/north, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/wood, +/area/station/hallway/primary/central/aft) "sWA" = ( /obj/machinery/door/airlock/glass{ name = "Gold Standard Law Firm" @@ -55189,20 +57248,6 @@ /obj/machinery/light/broken/directional/south, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"sWJ" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/turf/open/floor/iron/textured_half, -/area/station/security/brig/entrance) "sWQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55213,10 +57258,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/science/cytology) -"sXk" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/service/theater) "sXm" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -55224,26 +57265,25 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) -"sXo" = ( -/obj/structure/sign/directions/engineering{ - dir = 1; - pixel_y = 8 - }, -/obj/structure/sign/directions/command{ - dir = 1 - }, -/obj/structure/sign/directions/supply{ - dir = 1; - pixel_y = -8 - }, -/turf/closed/wall, -/area/station/service/theater) "sXq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/thinplating_new, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"sXs" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/landmark/event_spawn, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "sXw" = ( /obj/machinery/telecomms/receiver/preset_left, /turf/open/floor/circuit, @@ -55254,6 +57294,19 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) +"sXD" = ( +/obj/effect/turf_decal/siding/wood, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, +/turf/open/floor/wood/parquet, +/area/station/service/library) +"sXE" = ( +/mob/living/basic/bot/firebot, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/holopad, +/turf/open/floor/iron/smooth_large, +/area/station/engineering/storage_shared) "sXG" = ( /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ dir = 4 @@ -55352,37 +57405,18 @@ /obj/machinery/camera/autoname/directional/north, /turf/open/floor/iron/white/small, /area/station/medical/cryo) -"sYF" = ( -/obj/effect/turf_decal/siding/wood/corner{ +"sZo" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 }, -/turf/open/floor/grass, -/area/station/service/chapel) -"sYK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/structure/flora/bush/sunny/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) -"sZj" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ +/obj/effect/turf_decal/siding/thinplating_new/light{ dir = 10 }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) -"sZn" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/toy/windup_toolbox, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/plating, -/area/station/service/theater) +/obj/structure/extinguisher_cabinet/directional/west, +/obj/machinery/light/small/directional/south, +/obj/effect/landmark/start/botanist, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "sZx" = ( /obj/structure/cable, /obj/structure/disposalpipe/trunk{ @@ -55416,16 +57450,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/science/robotics/lab) -"sZQ" = ( -/obj/structure/disposalpipe/trunk{ - dir = 8 - }, -/obj/effect/turf_decal/tile/brown/full, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "tab" = ( /obj/structure/rack, /obj/item/restraints/handcuffs, @@ -55461,15 +57485,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) -"tax" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/chair/stool/bar/directional/west, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "taB" = ( /turf/open/floor/iron/white, /area/station/medical/treatment_center) @@ -55535,12 +57550,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron, /area/station/science/explab) -"tbq" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "tbr" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/mapping_helpers/airlock/abandoned, @@ -55618,18 +57627,6 @@ }, /turf/open/floor/iron/grimy, /area/station/engineering/main) -"tcB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Service Breakroom" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/general, -/obj/machinery/duct, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/hallway/secondary/service) "tcC" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55638,24 +57635,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/dark, /area/station/security/processing) -"tcP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/hallway/primary/central/fore) "tcZ" = ( /obj/effect/turf_decal/siding/red{ dir = 6 @@ -55667,11 +57646,6 @@ }, /turf/open/floor/engine/n2, /area/station/engineering/atmos/space_catwalk) -"tdg" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "tdh" = ( /obj/structure/chair/sofa/corp/right{ dir = 4 @@ -55768,6 +57742,18 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/central) +"tes" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 5 + }, +/obj/machinery/light/floor, +/turf/open/floor/stone, +/area/station/service/bar) +"tev" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_pp/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "tey" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/computer/records/security{ @@ -55808,14 +57794,6 @@ dir = 1 }, /area/station/hallway/secondary/entry) -"tfa" = ( -/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/machinery/duct, -/turf/open/floor/iron/freezer, -/area/station/service/kitchen/coldroom) "tfc" = ( /obj/structure/reagent_dispensers/beerkeg, /obj/effect/decal/cleanable/dirt, @@ -55860,6 +57838,14 @@ /obj/item/clipboard, /turf/open/floor/iron/white/small, /area/station/science/server) +"tfM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "tfX" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/brown{ @@ -55895,6 +57881,14 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/hop) +"tgx" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/extinguisher_cabinet/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "tgD" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -55910,24 +57904,6 @@ }, /turf/open/floor/iron/small, /area/station/medical/cryo) -"tgR" = ( -/obj/structure/disposalpipe/junction/flip{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/fore) -"tgS" = ( -/obj/structure/table, -/obj/item/trash/cheesie{ - pixel_x = 7; - pixel_y = 8 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "thb" = ( /obj/structure/chair/stool/directional/south, /obj/effect/turf_decal/siding/yellow{ @@ -55945,16 +57921,6 @@ dir = 1 }, /area/station/science/research) -"thv" = ( -/obj/machinery/seed_extractor, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/window/right/directional/south{ - name = "Seed Extractor"; - req_access = list("hydroponics") - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_large, -/area/station/service/hydroponics) "thx" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -56083,11 +58049,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/white/small, /area/station/medical/medbay/central) -"tjb" = ( -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "tjd" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/hidden, /obj/machinery/door/poddoor/preopen{ @@ -56108,6 +58069,17 @@ "tjj" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/turret_protected/ai_upload) +"tjs" = ( +/obj/machinery/airalarm/directional/west, +/obj/effect/spawner/random/entertainment/arcade{ + dir = 4 + }, +/obj/effect/turf_decal/siding/thinplating{ + dir = 8 + }, +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "tjH" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -56116,6 +58088,21 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/small, /area/station/engineering/supermatter/room) +"tjT" = ( +/obj/structure/sink/kitchen/directional/south, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/light/floor, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/stone, +/area/station/service/bar) "tjY" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 4; @@ -56125,15 +58112,16 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"tkp" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Services Corridor" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half{ - dir = 8 +"tkm" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/bush/large/style_random{ + pixel_x = -17; + pixel_y = 2 }, -/area/station/hallway/primary/central/aft) +/obj/structure/flora/bush/flowers_yw/style_random, +/obj/structure/window/spawner/directional/east, +/turf/open/floor/grass, +/area/station/service/hydroponics) "tkq" = ( /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, @@ -56187,16 +58175,23 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) +"tlJ" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/item/kirbyplants/random, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/power/apc/auto_name/directional/east, +/turf/open/floor/iron, +/area/station/holodeck/rec_center) "tlX" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"tmc" = ( -/obj/effect/turf_decal/tile/green/diagonal_centre, -/obj/machinery/camera/autoname/directional/north, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) +"tmi" = ( +/obj/structure/flora/bush/flowers_br/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "tmk" = ( /obj/machinery/power/emitter, /obj/effect/turf_decal/stripes/line{ @@ -56208,6 +58203,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"tmD" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "tmL" = ( /obj/structure/lattice, /obj/structure/transit_tube/curved/flipped{ @@ -56243,14 +58247,13 @@ }, /turf/open/floor/iron/small, /area/station/maintenance/port/lesser) -"tmV" = ( -/obj/effect/turf_decal/tile/green/diagonal_centre, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "tnb" = ( /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"tnj" = ( +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/service/bar) "tns" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt, @@ -56309,6 +58312,21 @@ /obj/effect/landmark/start/atmospheric_technician, /turf/open/floor/iron/dark, /area/station/engineering/atmos) +"tnN" = ( +/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/plating, +/area/station/maintenance/central/greater) +"tnZ" = ( +/obj/structure/bookcase/random, +/obj/structure/sign/poster/official/random/directional/west, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "tof" = ( /turf/closed/wall/rust, /area/station/ai_monitored/turret_protected/ai) @@ -56412,13 +58430,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"toY" = ( -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "tpk" = ( /obj/machinery/vending/wardrobe/law_wardrobe, /obj/effect/turf_decal/siding/wood{ @@ -56473,6 +58484,15 @@ }, /turf/open/floor/wood, /area/station/commons/fitness/recreation) +"tpQ" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "tqh" = ( /obj/effect/turf_decal/trimline/white/line{ dir = 8 @@ -56487,11 +58507,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"tqq" = ( -/obj/effect/turf_decal/tile/green/diagonal_centre, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "tqs" = ( /obj/structure/bodycontainer/morgue{ dir = 1 @@ -56499,11 +58514,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/dark/small, /area/station/medical/morgue) -"tqz" = ( -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "tqD" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -56515,11 +58525,6 @@ /obj/structure/window/spawner/directional/north, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"tqK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "tqV" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 5 @@ -56545,22 +58550,6 @@ dir = 1 }, /area/station/hallway/secondary/dock) -"trc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/chair/sofa/bench/left{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) -"trl" = ( -/obj/effect/spawner/random/structure/tank_holder, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) "tro" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/smooth, @@ -56587,6 +58576,9 @@ /obj/machinery/firealarm/directional/east, /turf/open/floor/iron/dark/small, /area/station/engineering/supermatter/room) +"trB" = ( +/turf/open/floor/glass, +/area/station/hallway/primary/central/aft) "trI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56629,6 +58621,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/hidden, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) +"tsB" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "tsF" = ( /turf/closed/wall/r_wall, /area/station/hallway/primary/central/fore) @@ -56636,6 +58636,10 @@ /obj/machinery/electrolyzer, /turf/open/floor/catwalk_floor, /area/station/maintenance/disposal/incinerator) +"ttb" = ( +/obj/structure/flora/grass/jungle/b/style_random, +/turf/open/floor/grass, +/area/station/service/chapel) "ttg" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -56643,16 +58647,16 @@ }, /turf/open/space/basic, /area/station/engineering/atmos/space_catwalk) -"ttA" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"tts" = ( +/obj/machinery/light/floor, +/obj/structure/altar_of_gods, +/obj/item/book/bible, +/obj/effect/landmark/start/hangover, +/obj/item/flashlight/lantern{ + pixel_y = 5 }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) -"ttC" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/wood/parquet, -/area/station/service/library) +/turf/open/floor/wood/tile, +/area/station/service/chapel) "ttD" = ( /obj/effect/turf_decal/stripes/red/line{ dir = 9 @@ -56767,13 +58771,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"twf" = ( -/obj/structure/disposalpipe/trunk, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/fourcorners, +"twe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/status_display/evac/directional/west, +/obj/structure/disposalpipe/segment, +/obj/effect/landmark/start/hangover, /turf/open/floor/iron, -/area/station/hallway/primary/starboard) +/area/station/hallway/primary/central/fore) "twg" = ( /obj/structure/railing{ dir = 5 @@ -56787,16 +58794,12 @@ /obj/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"twj" = ( -/obj/machinery/vending/coffee, -/obj/structure/sign/poster/official/random/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"twl" = ( -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/hallway/primary/starboard) +"twm" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/closed/wall, +/area/station/maintenance/port/greater) "two" = ( /obj/structure/table/reinforced, /obj/structure/desk_bell{ @@ -56850,6 +58853,13 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/ce) +"twN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/grass, +/area/station/service/chapel) "twQ" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 @@ -56909,6 +58919,12 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/showroomfloor, /area/station/commons/toilet/auxiliary) +"txW" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/grille, +/turf/open/floor/plating, +/area/station/hallway/primary/central/fore) "tyh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56955,6 +58971,12 @@ }, /turf/open/floor/iron/dark/small, /area/station/engineering/supermatter/room) +"tyz" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/effect/turf_decal/siding/wood, +/obj/effect/landmark/start/hangover, +/turf/open/floor/stone, +/area/station/service/bar) "tyA" = ( /obj/machinery/vending/modularpc, /obj/structure/sign/departments/science/alt/directional/east, @@ -57039,8 +59061,12 @@ }, /turf/open/floor/iron/dark, /area/station/science/genetics) -"tzJ" = ( -/obj/structure/flora/bush/flowers_yw/style_random, +"tzN" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 4 + }, +/obj/structure/flora/bush/flowers_yw/style_2, +/obj/structure/flora/bush/large/style_random, /turf/open/floor/grass, /area/station/service/chapel) "tzZ" = ( @@ -57113,6 +59139,19 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/catwalk_floor/iron, /area/station/maintenance/department/medical/central) +"tAF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/airlock/public/glass{ + name = "Chapel Office" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_half, +/area/station/service/chapel/office) "tAH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -57143,6 +59182,12 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/iron/grimy, /area/station/tcommsat/server) +"tBk" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "tBm" = ( /obj/machinery/hydroponics/soil, /turf/open/floor/grass, @@ -57191,13 +59236,6 @@ /obj/effect/landmark/start/security_officer, /turf/open/floor/iron/small, /area/station/security/office) -"tCk" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/grass, -/area/station/service/chapel) "tCm" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/red{ @@ -57291,23 +59329,17 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"tDJ" = ( -/obj/structure/disposalpipe/segment, +"tDM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral{ - dir = 4 + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 10 }, /turf/open/floor/iron, -/area/station/hallway/primary/port) -"tDP" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) -"tDT" = ( -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) +/area/station/hallway/primary/central/fore) "tEg" = ( /obj/structure/transport/linear/tram, /obj/effect/turf_decal/stripes/white/line{ @@ -57335,10 +59367,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/security/tram) -"tEI" = ( -/mob/living/simple_animal/hostile/retaliate/goose/vomit, -/turf/open/floor/wood/tile, -/area/station/service/bar) "tEL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57348,37 +59376,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"tET" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"tEU" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/grass, -/area/station/service/chapel) -"tEW" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"tFg" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) "tFs" = ( /obj/structure/table/glass, /obj/item/storage/medkit/regular{ @@ -57398,19 +59395,6 @@ /obj/machinery/portable_atmospherics/canister, /turf/open/floor/iron, /area/station/engineering/atmos) -"tFG" = ( -/obj/effect/turf_decal/tile/brown/full, -/obj/machinery/door/window/right/directional/west{ - name = "Bar Access"; - req_access = list("bar") - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/light/small/directional/north, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "tFH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57433,20 +59417,9 @@ /obj/machinery/chem_master, /turf/open/floor/iron, /area/station/medical/chemistry) -"tFY" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "tGp" = ( /obj/machinery/light/small/directional/south, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "tGq" = ( /turf/closed/wall, @@ -57498,18 +59471,6 @@ }, /turf/open/floor/iron/smooth_large, /area/station/engineering/storage_shared) -"tHh" = ( -/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/machinery/door/airlock{ - name = "Kitchen Cold Room" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/kitchen, -/obj/machinery/duct, -/turf/open/floor/catwalk_floor/flat_white, -/area/station/service/kitchen/coldroom) "tHi" = ( /obj/effect/decal/cleanable/dirt, /mob/living/carbon/human/species/monkey/punpun, @@ -57546,17 +59507,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/security/brig/entrance) -"tIc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "tIz" = ( /obj/structure/chair/wood{ dir = 8 @@ -57564,16 +59514,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/wood, /area/station/service/chapel/funeral) -"tIA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "tIB" = ( /obj/item/clothing/head/cone{ pixel_x = 16; @@ -57586,19 +59526,6 @@ /obj/effect/landmark/blobstart, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"tII" = ( -/obj/effect/spawner/random/structure/closet_maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) -"tIL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "tIN" = ( /obj/structure/table/reinforced, /obj/item/folder/yellow{ @@ -57653,16 +59580,6 @@ }, /turf/open/floor/plating, /area/station/security/brig/entrance) -"tJD" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/south, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "tJF" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/rack, @@ -57670,25 +59587,11 @@ pixel_x = -2; pixel_y = -3 }, -/obj/item/clothing/mask/cigarette/cigar, +/obj/item/cigarette/cigar, /obj/effect/mapping_helpers/broken_floor, /obj/machinery/light_switch/directional/south, /turf/open/floor/iron/smooth, /area/station/command/bridge) -"tJG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/delivery, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "kihall" - }, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "tJX" = ( /turf/open/floor/plating, /area/station/maintenance/aft) @@ -57704,25 +59607,12 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"tKm" = ( -/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/item/radio/intercom/directional/south, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) -"tKC" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +"tKl" = ( +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/firealarm/directional/south, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, +/turf/open/floor/iron, /area/station/hallway/primary/central/aft) "tKG" = ( /obj/effect/turf_decal/stripes/line, @@ -57787,29 +59677,6 @@ dir = 1 }, /area/station/command/bridge) -"tMi" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/public/glass{ - name = "Services Corridor" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/hallway/primary/central/aft) -"tMj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "tMm" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -57828,17 +59695,6 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) -"tMy" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "tMJ" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -57846,17 +59702,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"tMR" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "tMS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57867,9 +59712,17 @@ /obj/machinery/light/cold/directional/east, /turf/open/floor/iron, /area/station/security/execution/transfer) -"tNc" = ( -/turf/open/floor/wood/parquet, -/area/station/service/theater) +"tNf" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "tNn" = ( /obj/structure/cable, /obj/machinery/door/airlock{ @@ -57955,21 +59808,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron/dark/side, /area/station/science/xenobiology) -"tNS" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/structure/rack, -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "vaco"; - name = "Comissary Shutters" - }, -/turf/open/floor/plating, -/area/station/commons/vacant_room/commissary) "tNT" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron/kitchen/small, @@ -57991,6 +59829,10 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/department/electrical) +"tOd" = ( +/obj/structure/flora/bush/jungle/a/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "tOg" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -58030,14 +59872,6 @@ /obj/machinery/light/small/directional/west, /turf/open/misc/sandy_dirt, /area/station/service/lawoffice) -"tOS" = ( -/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/machinery/duct, -/turf/open/floor/stone, -/area/station/service/bar/backroom) "tOZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light/cold/directional/north, @@ -58058,14 +59892,6 @@ }, /turf/open/floor/wood, /area/station/cargo/miningfoundry) -"tPd" = ( -/obj/structure/chair/sofa/left/maroon{ - dir = 1 - }, -/obj/effect/landmark/start/hangover, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "tPf" = ( /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, @@ -58094,6 +59920,16 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/wood, /area/station/commons/fitness/recreation) +"tPM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "tPP" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58104,6 +59940,27 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"tPX" = ( +/obj/structure/table/wood, +/obj/item/paper_bin{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/item/pen{ + pixel_x = -2; + pixel_y = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/light/small/directional/north, +/obj/structure/sign/painting/library{ + pixel_y = 32 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "tPZ" = ( /obj/machinery/netpod, /obj/machinery/power/apc/auto_name/directional/north, @@ -58135,6 +59992,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"tQC" = ( +/obj/machinery/door/firedoor, +/obj/machinery/seed_extractor, +/obj/machinery/door/window/right/directional/east, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/hydroponics) "tQQ" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -58195,20 +60060,14 @@ /obj/effect/turf_decal/tile/dark_red/fourcorners, /turf/open/floor/iron, /area/station/security/tram) +"tRJ" = ( +/obj/effect/turf_decal/siding/thinplating_new/light, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "tRR" = ( /obj/structure/chair/stool/directional/east, /turf/open/floor/iron/smooth, /area/station/maintenance/department/medical/central) -"tSe" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "tSg" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /obj/machinery/light_switch/directional/east, @@ -58218,10 +60077,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"tSh" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/wood, -/area/station/hallway/secondary/service) "tSi" = ( /obj/machinery/light/cold/directional/west, /obj/machinery/disposal/bin, @@ -58257,6 +60112,14 @@ /obj/machinery/light/small/broken/directional/west, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) +"tSA" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/structure/sign/departments/cargo/directional/west, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "tSB" = ( /obj/structure/cable, /obj/structure/table/reinforced, @@ -58331,15 +60194,6 @@ /obj/machinery/light/very_dim/directional/east, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room/office) -"tTG" = ( -/obj/structure/cable, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/grass, -/area/station/service/chapel) "tTK" = ( /obj/effect/turf_decal/stripes/corner{ dir = 8 @@ -58406,6 +60260,12 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) +"tUj" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "tUo" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -58427,12 +60287,6 @@ /obj/machinery/disposal/bin, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) -"tUD" = ( -/obj/machinery/transport/tram_controller/tcomms{ - configured_transport_id = "bird_1" - }, -/turf/open/floor/circuit, -/area/station/tcommsat/server) "tUH" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -58447,26 +60301,6 @@ }, /turf/open/floor/circuit, /area/station/tcommsat/server) -"tUK" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/item/storage/box{ - pixel_x = -8; - pixel_y = 15 - }, -/obj/item/trash/flare{ - pixel_x = 11; - pixel_y = 21 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron/dark/corner{ - dir = 4 - }, -/area/station/hallway/primary/central/fore) "tUZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -58485,6 +60319,12 @@ "tVe" = ( /turf/open/floor/carpet/red, /area/station/command/heads_quarters/hos) +"tVp" = ( +/obj/effect/turf_decal/siding/wood/corner, +/obj/machinery/holopad, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/stone, +/area/station/service/bar) "tVt" = ( /obj/effect/spawner/structure/window/reinforced, /obj/effect/turf_decal/stripes/corner{ @@ -58510,6 +60350,11 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"tWm" = ( +/obj/structure/flora/bush/jungle/c/style_3, +/obj/effect/turf_decal/weather/dirt, +/turf/open/floor/grass, +/area/station/service/chapel) "tWo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -58538,19 +60383,6 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"tWE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/effect/turf_decal/siding/wideplating/dark{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "tWG" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -58559,15 +60391,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"tWL" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/blue{ - dir = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/primary/central/fore) "tWQ" = ( /obj/machinery/door/airlock/public/glass{ name = "Departure Lounge" @@ -58581,6 +60404,13 @@ /obj/structure/table/bronze, /turf/open/floor/wood/tile, /area/station/maintenance/port/lesser) +"tXy" = ( +/obj/structure/flora/tree/jungle/small/style_3, +/obj/effect/turf_decal/weather/dirt, +/obj/machinery/light/small/directional/south, +/obj/machinery/status_display/ai/directional/south, +/turf/open/floor/grass, +/area/station/service/chapel) "tXG" = ( /obj/structure/chair{ dir = 8 @@ -58612,39 +60442,6 @@ /obj/item/clothing/suit/hooded/wintercoat/engineering, /turf/open/floor/catwalk_floor, /area/station/engineering/supermatter/room) -"tXT" = ( -/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/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"tYb" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"tYd" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=2.0-Vault-SNexus"; - location = "1.5-PNexus-Vault" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "tYj" = ( /obj/item/exodrone, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -58679,11 +60476,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/small, /area/station/engineering/atmos/storage/gas) -"tYH" = ( -/obj/machinery/airalarm/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "tYL" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -58701,19 +60493,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/secondary/dock) -"tYQ" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/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 = 1 - }, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/hallway/primary/central/fore) "tYT" = ( /turf/open/misc/asteroid/airless, /area/space/nearstation) @@ -58721,21 +60500,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/hallway/primary/central/aft) -"tZd" = ( -/obj/structure/cable, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "tZi" = ( /obj/structure/sign/poster/contraband/got_wood/directional/north, /turf/open/floor/light/colour_cycle/dancefloor_b, @@ -58777,15 +60541,6 @@ }, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) -"tZG" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=3.0-StarboardHall-TechStorage"; - location = "2.5-SNexus-StarboardHall" - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "tZI" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58808,35 +60563,6 @@ /obj/machinery/light/cold/dim/directional/east, /turf/open/floor/iron, /area/station/engineering/main) -"tZR" = ( -/obj/effect/turf_decal/tile/neutral/full, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) -"tZU" = ( -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 1 - }, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) -"tZV" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/end{ - dir = 8 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"uaa" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 6 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "uab" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -58857,13 +60583,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmospherics_engine) -"uao" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 8 - }, -/obj/structure/flora/tree/stump, -/turf/open/floor/grass, -/area/station/service/chapel) "uax" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -58873,13 +60592,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs) -"uaE" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/flora/tree/jungle/small/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "uaF" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -58940,15 +60652,6 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark, /area/station/medical/medbay/lobby) -"ubf" = ( -/obj/effect/landmark/start/assistant, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "ubh" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -58980,11 +60683,6 @@ "uby" = ( /turf/closed/wall, /area/station/security/prison/garden) -"ubB" = ( -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/structure/sign/poster/random/directional/north, -/turf/open/floor/grass, -/area/station/service/hydroponics) "ubK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -59024,23 +60722,6 @@ }, /turf/open/floor/engine, /area/station/science/explab) -"ucr" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/landmark/event_spawn, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) -"ucw" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "ucy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/red{ @@ -59055,19 +60736,6 @@ /obj/structure/chair/wood, /turf/open/floor/iron/small, /area/station/service/barber) -"ucH" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "ucJ" = ( /obj/machinery/door/window/left/directional/south{ req_access = list("chapel_office") @@ -59085,13 +60753,6 @@ }, /turf/open/floor/iron/showroomfloor, /area/station/security/prison/shower) -"ucV" = ( -/obj/structure/chair/wood{ - dir = 4 - }, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/wood/tile, -/area/station/service/bar) "ucY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59112,12 +60773,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"udt" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) +"udf" = ( +/obj/effect/turf_decal/delivery/white{ + color = "#52B4E9" + }, +/obj/structure/reagent_dispensers/watertank/high, +/obj/effect/turf_decal/siding/thinplating/light/end{ + dir = 8 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "udv" = ( /obj/machinery/telecomms/receiver/preset_right, /turf/open/floor/circuit, @@ -59182,9 +60847,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron, /area/station/engineering/atmos/space_catwalk) -"uej" = ( -/turf/closed/wall, -/area/station/hallway/secondary/service) "uek" = ( /obj/effect/turf_decal/siding/wideplating/dark{ dir = 8 @@ -59298,6 +60960,18 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/engineering/supermatter/room) +"ugb" = ( +/obj/machinery/door/airlock/security/glass{ + id_tag = "outerbrig"; + name = "Brig" + }, +/obj/effect/mapping_helpers/airlock/access/all/security/entrance, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/textured_half, +/area/station/security/brig/entrance) "uge" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -59367,6 +61041,10 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) +"ugI" = ( +/obj/structure/flora/tree/jungle/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "ugJ" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -59452,6 +61130,12 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/smooth, /area/station/command/gateway) +"uhM" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/white, +/area/station/hallway/primary/central/aft) "uhT" = ( /turf/open/floor/iron, /area/station/maintenance/aft) @@ -59494,12 +61178,12 @@ }, /turf/open/floor/plating, /area/station/construction/mining/aux_base) -"uio" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 5 +"uiw" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "uiz" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59522,14 +61206,6 @@ dir = 1 }, /area/station/science/research) -"uiW" = ( -/obj/structure/cable, -/obj/machinery/door/airlock{ - name = "Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "uiY" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -59556,6 +61232,17 @@ "ujA" = ( /turf/closed/wall/r_wall, /area/station/security/warden) +"ujB" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/status_display/evac/directional/north, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/junction{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "ujE" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/effect/turf_decal/tile/dark_red/opposingcorners, @@ -59684,6 +61371,16 @@ /obj/machinery/light_switch/directional/north, /turf/open/floor/iron/dark/smooth_large, /area/station/command/meeting_room) +"ulE" = ( +/obj/effect/spawner/random/trash, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "ulK" = ( /obj/structure/cable, /obj/machinery/ntnet_relay, @@ -59746,11 +61443,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"umM" = ( -/obj/structure/cable, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/lesser) "unc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59766,15 +61458,6 @@ }, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) -"uny" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "unG" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible{ dir = 4 @@ -59786,15 +61469,6 @@ /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, /area/station/maintenance/fore/greater) -"unM" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/public/glass{ - name = "Departure Lounge" - }, -/turf/open/floor/iron/textured_half{ - dir = 1 - }, -/area/station/hallway/secondary/exit/departure_lounge) "unT" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -59831,24 +61505,12 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"uoM" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"uoW" = ( -/obj/structure/disposalpipe/segment{ - dir = 9 +"uoR" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/south, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) +/turf/open/floor/grass, +/area/station/service/chapel) "upe" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -59875,20 +61537,6 @@ }, /turf/open/floor/iron/small, /area/station/hallway/primary/port) -"upj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/ammo_casing/spent{ - pixel_x = 5; - pixel_y = 6 - }, -/obj/item/ammo_casing/spent, -/obj/item/ammo_casing/spent{ - pixel_x = 4; - pixel_y = -2 - }, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "upr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59957,6 +61605,10 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"uqq" = ( +/obj/structure/table, +/turf/open/floor/iron/dark/small, +/area/station/maintenance/central/lesser) "uqw" = ( /turf/closed/wall/r_wall, /area/station/commons/fitness/recreation) @@ -59982,6 +61634,13 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) +"uqF" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "uqG" = ( /obj/machinery/atmospherics/pipe/bridge_pipe/purple/visible{ dir = 4 @@ -60033,6 +61692,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"urf" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/plaque{ + icon_state = "L2"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "urg" = ( /obj/machinery/door/airlock/engineering{ name = "Engineering Office" @@ -60053,11 +61725,6 @@ dir = 8 }, /area/station/engineering/main) -"urh" = ( -/obj/structure/closet/firecloset, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "urk" = ( /obj/structure/disposalpipe/junction{ dir = 1 @@ -60094,6 +61761,14 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron/grimy, /area/station/hallway/secondary/entry) +"urq" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "uru" = ( /obj/machinery/door/airlock/maintenance{ name = "Maintenance" @@ -60128,6 +61803,15 @@ /obj/machinery/light/cold/dim/directional/west, /turf/open/floor/iron/grimy, /area/station/engineering/main) +"urF" = ( +/obj/machinery/computer/cargo{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/vault/directional/south, +/obj/machinery/camera/autoname/directional/south, +/obj/machinery/light/small/directional/south, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "urK" = ( /obj/machinery/light/warm/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60158,11 +61842,16 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/command/heads_quarters/qm) -"usl" = ( -/obj/machinery/status_display/evac/directional/south, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) +"usA" = ( +/obj/machinery/door/window/left/directional/south{ + name = "Bio-Generator"; + req_access = list("hydroponics") + }, +/obj/machinery/biogenerator, +/obj/effect/turf_decal/delivery, +/obj/machinery/door/firedoor, +/turf/open/floor/plating, +/area/station/service/hydroponics) "usF" = ( /obj/effect/mapping_helpers/broken_floor, /obj/structure/easel, @@ -60197,12 +61886,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"uth" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L2" - }, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "utm" = ( /turf/closed/wall/r_wall, /area/station/science/auxlab/firing_range) @@ -60218,14 +61901,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/engineering/atmos/space_catwalk) -"uty" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/structure/flora/bush/flowers_yw/style_random, -/obj/machinery/light/small/directional/east, -/turf/open/floor/grass, -/area/station/service/chapel) "utD" = ( /obj/machinery/light_switch/directional/west, /obj/effect/turf_decal/stripes/corner{ @@ -60292,12 +61967,16 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron/dark/small, /area/station/engineering/supermatter/room) -"uuv" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L4" +"uuz" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 }, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) +/obj/item/clothing/mask/gas, +/obj/machinery/airalarm/directional/west, +/obj/machinery/camera/directional/west, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "uuN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -60324,6 +62003,10 @@ }, /turf/open/floor/iron/white/small, /area/station/medical/storage) +"uvb" = ( +/obj/structure/dresser, +/turf/open/floor/wood, +/area/station/cargo/boutique) "uvf" = ( /obj/structure/cable, /obj/machinery/button/door/directional/south{ @@ -60333,20 +62016,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/office) -"uvh" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/vault{ - name = "Vault" - }, -/obj/effect/mapping_helpers/airlock/locked, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 1 - }, -/turf/open/floor/catwalk_floor, -/area/station/ai_monitored/command/nuke_storage) "uvo" = ( /obj/machinery/atmospherics/components/binary/pump{ dir = 4; @@ -60360,6 +62029,22 @@ }, /turf/open/floor/iron/small, /area/station/engineering/atmos/pumproom) +"uvs" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) +"uvx" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "uvz" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/carpet/lone, @@ -60381,28 +62066,11 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) -"uwl" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L6" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/navbeacon{ - codes_txt = "patrol;next_patrol=2.5-SNexus-StarboardHall"; - location = "2.0-Vault-SNexus" - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) -"uwx" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L10" - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, +"uvG" = ( +/obj/effect/turf_decal/tile/neutral/opposingcorners, +/obj/effect/spawner/random/entertainment/arcade, /turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) +/area/station/holodeck/rec_center) "uwB" = ( /obj/effect/turf_decal/tile/dark_red/half/contrasted{ dir = 4 @@ -60419,16 +62087,6 @@ /obj/effect/landmark/transport/nav_beacon/tram/nav/immovable_rod, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"uwU" = ( -/obj/structure/closet/secure_closet/hydroponics, -/obj/effect/turf_decal/bot, -/obj/structure/window/spawner/directional/east, -/obj/effect/turf_decal/tile/green/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "uxd" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -60438,12 +62096,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/port/fore) -"uxi" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L12" - }, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "uxJ" = ( /obj/machinery/smartfridge/chemistry/preloaded, /obj/machinery/door/firedoor, @@ -60464,21 +62116,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/storage/tech) -"uye" = ( -/obj/machinery/door/window/right/directional/south, -/turf/open/floor/grass, -/area/station/service/hydroponics) -"uyg" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L14" - }, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) -"uyp" = ( -/obj/structure/closet/emcloset, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "uyA" = ( /obj/structure/disposalpipe/segment, /obj/effect/decal/cleanable/dirt, @@ -60507,22 +62144,20 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"uzd" = ( -/obj/structure/table, -/obj/effect/turf_decal/bot, -/obj/machinery/reagentgrinder{ - pixel_y = 5 +"uyV" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/blue{ +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 }, -/obj/effect/turf_decal/tile/green{ - dir = 4 +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 8 }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron, -/area/station/service/hydroponics) +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "uzj" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -60570,22 +62205,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"uAb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/sign/directions/vault/directional/south{ - dir = 8 - }, -/turf/open/floor/iron/white/corner, -/area/station/hallway/primary/starboard) "uAi" = ( /obj/structure/table/wood, /turf/open/floor/carpet/lone, /area/station/service/chapel/office) +"uAk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/sign/departments/holy/directional/south, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "uAo" = ( /obj/effect/turf_decal/trimline/neutral/line{ dir = 8 @@ -60595,26 +62227,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"uAw" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/starboard) -"uAF" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/wood/tile, -/area/station/service/bar) -"uAH" = ( -/obj/structure/bed/medical{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/item/bedsheet/medical, -/turf/open/floor/iron/white, -/area/station/maintenance/central/greater) "uAK" = ( /obj/machinery/computer/security, /obj/effect/turf_decal/siding/red{ @@ -60629,18 +62241,6 @@ }, /turf/closed/wall/mineral/titanium/nodiagonal, /area/station/engineering/supermatter) -"uAV" = ( -/obj/structure/cable, -/obj/machinery/duct, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) -"uAX" = ( -/obj/structure/chair/stool/bar/directional/east, -/turf/open/floor/wood/tile, -/area/station/service/bar) "uAY" = ( /turf/open/floor/plating, /area/station/maintenance/department/bridge) @@ -60665,18 +62265,6 @@ }, /turf/open/floor/iron/dark, /area/station/medical/medbay/aft) -"uBn" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/brown/full, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/plate, -/obj/item/food/cheesynachos{ - pixel_y = 2 - }, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "uBo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -60702,6 +62290,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs, /area/station/engineering/storage/tech) +"uBI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "uBM" = ( /obj/machinery/door/poddoor/preopen{ id = "Engineering"; @@ -60711,6 +62313,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/engineering/lobby) +"uBN" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wood{ + dir = 10 + }, +/turf/open/floor/stone, +/area/station/service/bar/backroom) "uBQ" = ( /obj/structure/table/bronze, /obj/machinery/microwave{ @@ -60752,29 +62363,28 @@ /obj/item/mop, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uCh" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, +"uCo" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/full, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) +/obj/structure/cable, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "uCp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/south, /turf/open/floor/iron/white/side, /area/station/hallway/primary/starboard) -"uCv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 +"uCB" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 }, -/obj/effect/spawner/xmastree, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) +/obj/structure/flora/bush/sparsegrass, +/turf/open/floor/grass, +/area/station/service/chapel) "uCE" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 5 @@ -60791,16 +62401,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"uCJ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/chair/pew/right{ - dir = 4 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood, -/area/station/service/theater) "uCL" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -60811,11 +62411,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) -"uCS" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/holopad, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "uDg" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -60853,6 +62448,10 @@ "uDE" = ( /obj/structure/window/spawner/directional/north, /obj/structure/flora/bush/flowers_yw/style_random, +/obj/machinery/door/airlock{ + id_tag = "Toilet1"; + name = "Unit 1" + }, /turf/open/misc/sandy_dirt, /area/station/commons/fitness/locker_room) "uDF" = ( @@ -60886,10 +62485,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"uEg" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/lone, -/area/station/service/theater) "uEh" = ( /obj/structure/table/glass, /obj/effect/turf_decal/siding/wood, @@ -61019,16 +62614,6 @@ dir = 1 }, /area/station/hallway/primary/starboard) -"uFG" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "uFQ" = ( /obj/structure/closet/crate/coffin, /obj/structure/window/spawner/directional/south, @@ -61053,11 +62638,6 @@ /obj/effect/mapping_helpers/requests_console/ore_update, /turf/open/floor/iron/white, /area/station/medical/virology) -"uGp" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/warning/no_smoking/circle/directional/north, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "uGy" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/grimy, @@ -61093,6 +62673,14 @@ }, /turf/open/floor/iron, /area/station/engineering/hallway) +"uGD" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/bookcase/random/adult, +/obj/structure/sign/poster/official/random/directional/north, +/turf/open/floor/iron/grimy, +/area/station/service/library) "uGH" = ( /obj/machinery/rnd/production/circuit_imprinter, /obj/effect/turf_decal/bot, @@ -61260,14 +62848,6 @@ /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, /area/station/medical/treatment_center) -"uIt" = ( -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "uIv" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -61283,17 +62863,31 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"uIA" = ( +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 9 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) +"uIP" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/firealarm/directional/north, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "uIT" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/hallway/abandoned_command) -"uIW" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "uIX" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/machinery/modular_computer/preset/civilian{ @@ -61306,6 +62900,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold/green/visible, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) +"uJi" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/service/hydroponics) "uJq" = ( /obj/effect/spawner/random/structure/crate_abandoned, /turf/open/floor/plating, @@ -61416,18 +63019,17 @@ "uLj" = ( /turf/closed/wall, /area/station/commons/toilet/auxiliary) -"uLn" = ( +"uLD" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, /obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/duct, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) -"uLu" = ( -/obj/machinery/status_display/ai/directional/south, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "uLO" = ( /obj/item/stack/sheet/cardboard{ amount = 14 @@ -61481,12 +63083,6 @@ /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron, /area/station/security/tram) -"uMC" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/hallway/secondary/spacebridge) "uME" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/greyscale, @@ -61501,15 +63097,6 @@ "uMH" = ( /turf/open/floor/iron/white/side, /area/station/science/research) -"uMI" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/door/airlock/maintenance{ - name = "Security Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/plating, -/area/station/maintenance/port/lesser) "uMN" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/hedge, @@ -61541,14 +63128,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"uMW" = ( -/obj/effect/spawner/random/vending/snackvend, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) -"uMX" = ( -/obj/item/kirbyplants/random, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "uNa" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -61572,10 +63151,6 @@ /obj/machinery/shower/directional/east, /turf/open/floor/iron/dark/small, /area/station/engineering/break_room) -"uNn" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "uNz" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/dark_red{ @@ -61597,10 +63172,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) -"uNW" = ( -/obj/machinery/barsign, -/turf/closed/wall, -/area/station/service/bar) "uNX" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61613,14 +63184,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/primary/aft) -"uOh" = ( -/obj/structure/chair{ - dir = 1; - pixel_y = -2 - }, -/obj/effect/landmark/start/hangover, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "uOk" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/window/spawner/directional/south, @@ -61631,6 +63194,19 @@ "uOw" = ( /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"uOx" = ( +/obj/effect/turf_decal/siding/wideplating_new/terracotta{ + dir = 5 + }, +/turf/open/floor/wood/tile, +/area/station/maintenance/central/lesser) +"uOz" = ( +/obj/structure/flora/rock/pile/jungle/style_4, +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "uOH" = ( /obj/item/kirbyplants/random, /obj/machinery/light_switch/directional/west, @@ -61648,14 +63224,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/wood/tile, /area/station/command/meeting_room) -"uPd" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "uPf" = ( /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, @@ -61665,13 +63233,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/security/prison/workout) -"uPs" = ( -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "uPw" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 @@ -61703,10 +63264,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall, /area/station/engineering/supermatter/room) -"uPO" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) +"uPW" = ( +/obj/structure/flora/bush/flowers_pp/style_2, +/obj/structure/flora/bush/large/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "uPX" = ( /obj/structure/railing{ dir = 8 @@ -61749,20 +63311,20 @@ }, /turf/open/floor/iron/dark/small, /area/station/security/brig) -"uQC" = ( -/obj/item/kirbyplants/random, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/white, -/area/station/hallway/primary/starboard) "uQG" = ( /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) -"uQR" = ( -/obj/machinery/exodrone_launcher, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/smooth, -/area/station/cargo/drone_bay) +"uQK" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "uRe" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/effect/turf_decal/tile/red{ @@ -61788,6 +63350,12 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) +"uRv" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "uRF" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -61827,14 +63395,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/small, /area/station/security/execution/education) -"uRX" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/structure/flora/tree/jungle/small/style_random, -/obj/structure/flora/bush/flowers_pp/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "uRY" = ( /obj/effect/spawner/random/structure/table_or_rack, /obj/effect/decal/cleanable/dirt/dust, @@ -61843,6 +63403,19 @@ "uSa" = ( /turf/open/floor/iron, /area/station/maintenance/department/engine/atmos) +"uSb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/turf/open/floor/iron/grimy, +/area/station/service/library) +"uSh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "uSi" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61878,14 +63451,6 @@ /obj/effect/landmark/navigate_destination/tcomms, /turf/open/floor/iron, /area/station/science/lower) -"uSC" = ( -/obj/effect/landmark/start/assistant, -/obj/effect/landmark/start/assistant, -/obj/structure/chair/sofa/bamboo/left{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/chapel) "uSG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61897,12 +63462,6 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/wood, /area/station/cargo/boutique) -"uSM" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "uSN" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -61924,9 +63483,27 @@ /obj/structure/table/glass, /turf/open/floor/iron/dark, /area/station/service/lawoffice) +"uTz" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/siding/wideplating/dark, +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "uTA" = ( /turf/closed/wall, /area/station/ai_monitored/turret_protected/ai) +"uTE" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/turf/open/floor/wood/parquet, +/area/station/service/library) "uTK" = ( /obj/structure/table/reinforced, /obj/machinery/door/firedoor, @@ -61996,55 +63573,12 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"uUE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "uUG" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 }, /turf/open/floor/iron/small, /area/station/engineering/supermatter/room) -"uUI" = ( -/obj/structure/table, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 4 - }, -/obj/item/reagent_containers/cup/watering_can{ - pixel_x = 7; - pixel_y = 13 - }, -/obj/item/reagent_containers/cup/bottle/mutagen{ - pixel_x = -5; - pixel_y = 8 - }, -/obj/item/reagent_containers/syringe{ - pixel_x = -3; - pixel_y = -1 - }, -/obj/item/reagent_containers/spray/plantbgone{ - pixel_x = 6; - pixel_y = 1 - }, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"uVb" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/west, -/turf/open/floor/wood, -/area/station/cargo/boutique) "uVo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -62062,15 +63596,6 @@ /obj/machinery/airalarm/directional/east, /turf/open/floor/iron/dark, /area/station/hallway/secondary/construction) -"uVE" = ( -/obj/structure/table, -/obj/item/storage/bag/tray{ - pixel_x = 1; - pixel_y = -1 - }, -/obj/item/food/cake/apple, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "uVO" = ( /obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/broken_floor, @@ -62137,16 +63662,6 @@ dir = 1 }, /area/station/security/prison/safe) -"uWB" = ( -/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/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/service/hydroponics) "uWG" = ( /obj/structure/closet/firecloset, /obj/machinery/status_display/ai/directional/south, @@ -62166,9 +63681,6 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"uXb" = ( -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "uXs" = ( /obj/structure/window/spawner/directional/east, /obj/structure/window/spawner/directional/west, @@ -62177,17 +63689,6 @@ /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, /area/station/medical/treatment_center) -"uXw" = ( -/obj/structure/table, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) -"uXB" = ( -/obj/structure/chair{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "uXC" = ( /turf/closed/wall, /area/station/science/lower) @@ -62198,10 +63699,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos) -"uXN" = ( -/obj/structure/altar_of_gods, -/turf/open/floor/wood/large, -/area/station/service/chapel) "uXS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/holopad, @@ -62254,6 +63751,17 @@ /obj/effect/turf_decal/stripes/end, /turf/open/floor/plating, /area/station/security/brig/entrance) +"uYM" = ( +/obj/machinery/microwave{ + pixel_y = 5 + }, +/obj/machinery/light_switch/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/table, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "uYO" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62270,18 +63778,6 @@ /obj/structure/sign/poster/official/random/directional/south, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) -"uZb" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner{ - dir = 8 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "uZc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, @@ -62318,12 +63814,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"uZY" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/library) "vaf" = ( /obj/item/kirbyplants/random/fullysynthetic, /obj/machinery/status_display/ai/directional/south, @@ -62458,14 +63948,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"vcP" = ( -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "vcR" = ( /turf/open/floor/iron/stairs/medium{ dir = 1 @@ -62584,6 +64066,13 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"vdL" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/spawner/random/structure/steam_vent, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "vdS" = ( /obj/structure/closet/firecloset, /obj/item/clothing/glasses/meson, @@ -62694,6 +64183,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/lab) +"vfo" = ( +/obj/structure/disposalpipe/segment, +/obj/effect/turf_decal/tile/neutral/opposingcorners{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating_new{ + dir = 10 + }, +/turf/open/floor/iron/small, +/area/station/hallway/secondary/service) "vfD" = ( /obj/effect/turf_decal/siding/thinplating_new/light, /obj/structure/reagent_dispensers/fueltank, @@ -62717,6 +64216,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"vfM" = ( +/obj/machinery/door/airlock/multi_tile/public{ + dir = 8 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/textured_half{ + dir = 8 + }, +/area/station/service/bar) "vfN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -62741,13 +64251,18 @@ /obj/item/toy/crayon/purple, /turf/open/floor/iron/white, /area/station/science/research) -"vgc" = ( -/obj/structure/chair/sofa/right/maroon{ +"vgh" = ( +/obj/structure/cable, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 2 + }, +/turf/open/floor/iron/white/corner{ dir = 1 }, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) +/area/station/hallway/secondary/exit/departure_lounge) "vgp" = ( /obj/machinery/door/airlock/maintenance{ name = "Atmospherics Maintenance" @@ -62784,19 +64299,6 @@ /obj/effect/mapping_helpers/airlock/access/any/science/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"vgJ" = ( -/obj/structure/table, -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/directional/north, -/obj/item/pen{ - pixel_x = 11 - }, -/obj/item/paper_bin{ - pixel_x = -7; - pixel_y = 6 - }, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "vgN" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -62817,6 +64319,15 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/smooth, /area/station/cargo/office) +"vhr" = ( +/obj/structure/sink/directional/west, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/light/cold/directional/north, +/turf/open/floor/iron/dark/small, +/area/station/service/chapel/storage) "vht" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/machinery/holopad, @@ -62855,6 +64366,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/service/chapel/office) +"vip" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "vir" = ( /turf/open/floor/iron/white/side{ dir = 8 @@ -62945,16 +64461,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"vjc" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "vjp" = ( /obj/structure/cable, /obj/effect/turf_decal/sand/plating, @@ -63026,10 +64532,13 @@ }, /turf/open/floor/iron, /area/station/science/research) -"vkz" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/wood/large, -/area/station/service/chapel) +"vkC" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/east, +/obj/effect/turf_decal/tile/neutral, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "vkD" = ( /obj/structure/table, /obj/item/stack/ore/gold{ @@ -63041,12 +64550,10 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"vkG" = ( -/obj/effect/turf_decal/siding/wood/corner{ - dir = 1 - }, -/turf/open/floor/grass, -/area/station/service/chapel) +"vkI" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/wood/tile, +/area/station/service/bar) "vkJ" = ( /obj/item/book/manual/wiki/security_space_law{ pixel_x = 9; @@ -63190,19 +64697,22 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) +"vmr" = ( +/obj/structure/cable, +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "vmt" = ( /obj/structure/chair/stool/bamboo{ dir = 4 }, /turf/open/floor/iron/terracotta/diagonal, /area/station/service/chapel/office) -"vmz" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "vmB" = ( /obj/item/radio/intercom/directional/west, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -63244,12 +64754,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/wood, /area/station/service/chapel/office) -"vnb" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/plating, -/area/station/hallway/secondary/spacebridge) "vne" = ( /turf/open/floor/wood, /area/station/service/chapel/office) @@ -63287,13 +64791,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/dark, /area/station/security/execution/transfer) -"vnn" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood, -/area/station/service/chapel/office) "vnp" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 9 @@ -63355,6 +64852,19 @@ }, /turf/open/floor/iron/smooth, /area/station/security/evidence) +"vnD" = ( +/obj/effect/turf_decal/tile/dark_red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark/corner{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/security/general, +/turf/open/floor/iron, +/area/station/security) "vnF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -63365,16 +64875,6 @@ "vnI" = ( /turf/closed/mineral/random/stationside, /area/station/maintenance/department/engine) -"vnK" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/red/line, -/obj/structure/cable, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "vnN" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ @@ -63386,15 +64886,6 @@ /obj/machinery/medical_kiosk, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"voa" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/morgue{ - name = "Secret Corridor"; - req_access = list("library") - }, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/library) "voe" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -63423,13 +64914,6 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/smooth, /area/station/commons/storage/tools) -"voF" = ( -/obj/structure/table, -/obj/machinery/chem_dispenser/drinks, -/obj/machinery/light/cold/directional/north, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "voJ" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/tile/dark_red/half/contrasted{ @@ -63442,10 +64926,10 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron, /area/station/security) -"voL" = ( -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) +"voN" = ( +/obj/structure/sign/nanotrasen, +/turf/closed/wall/r_wall, +/area/station/command/teleporter) "voO" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -63460,6 +64944,15 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/office) +"vpg" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/bot, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "vpk" = ( /obj/structure/cable, /turf/open/floor/iron/smooth, @@ -63493,10 +64986,6 @@ /obj/machinery/smartfridge/petri/preloaded, /turf/open/floor/iron/white, /area/station/science/cytology) -"vpN" = ( -/obj/machinery/door/firedoor, -/turf/open/floor/catwalk_floor/iron, -/area/station/service/bar) "vpP" = ( /obj/effect/spawner/random/structure/closet_private, /obj/machinery/light/small/directional/south, @@ -63527,19 +65016,6 @@ }, /turf/open/floor/iron/dark/side, /area/station/hallway/primary/central/fore) -"vpU" = ( -/obj/structure/table/wood, -/obj/effect/turf_decal/tile/brown/full, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/item/food/lizard_fries, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) -"vpY" = ( -/obj/effect/turf_decal/tile/neutral/full, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "vpZ" = ( /obj/effect/turf_decal/siding/yellow{ dir = 8 @@ -63564,14 +65040,17 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"vqp" = ( -/turf/open/floor/carpet/lone, -/area/station/service/theater) "vqw" = ( /obj/effect/decal/cleanable/glass/titanium, /obj/item/stack/rods/two, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"vqF" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 6 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "vqH" = ( /obj/structure/railing{ dir = 8 @@ -63622,22 +65101,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) -"vrt" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = 30 - }, -/obj/machinery/computer/records/security, -/turf/open/floor/wood, -/area/station/security/detectives_office) -"vrv" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/decal/cleanable/dirt, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/carpet/lone, -/area/station/service/theater) "vrz" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -63654,19 +65117,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/herringbone, /area/station/commons/dorms) -"vrH" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "vrK" = ( /obj/structure/lattice/catwalk, /obj/structure/cable, @@ -63685,6 +65135,14 @@ dir = 1 }, /area/station/security/courtroom) +"vrS" = ( +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "vrT" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ @@ -63715,15 +65173,6 @@ }, /turf/open/floor/wood, /area/station/commons/fitness/recreation) -"vsl" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/west, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "vso" = ( /obj/effect/landmark/start/scientist, /obj/structure/chair{ @@ -63733,14 +65182,6 @@ /obj/structure/extinguisher_cabinet/directional/west, /turf/open/floor/iron/white, /area/station/science/research) -"vsq" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/radio/intercom/directional/north, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/stone, -/area/station/service/theater) "vsx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63765,25 +65206,10 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"vtc" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/turf/open/floor/iron/textured_half, -/area/station/security/brig/entrance) -"vtv" = ( -/obj/effect/spawner/structure/window/reinforced, -/turf/open/floor/plating, -/area/station/hallway/primary/port) +"vtr" = ( +/obj/machinery/light/floor, +/turf/open/floor/wood/parquet, +/area/station/service/library) "vtw" = ( /obj/effect/turf_decal/stripes/line, /obj/structure/cable, @@ -63823,6 +65249,11 @@ /obj/machinery/duct, /turf/open/floor/plating, /area/station/maintenance/fore/greater) +"vtX" = ( +/obj/effect/landmark/start/assistant, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "vuj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/item/fuel_pellet, @@ -63844,9 +65275,6 @@ }, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/aft) -"vuo" = ( -/turf/closed/wall/r_wall, -/area/station/commons/vacant_room/commissary) "vuq" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -63877,6 +65305,18 @@ /obj/effect/mapping_helpers/airlock/access/all/science/xenobio, /turf/open/floor/catwalk_floor/iron, /area/station/science/xenobiology) +"vuD" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "vuH" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/power/apc/auto_name/directional/west, @@ -63896,17 +65336,6 @@ }, /turf/open/floor/iron, /area/station/cargo/sorting) -"vuL" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "vuR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63947,7 +65376,9 @@ }, /obj/machinery/button/door/directional/south{ id = "Cabin4"; - name = "Cabin Bolt Control" + name = "Cabin Bolt Control"; + normaldoorcontrol = 1; + specialfunctions = 4 }, /turf/open/floor/carpet, /area/station/commons/dorms) @@ -63982,6 +65413,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/construction) +"vvC" = ( +/obj/machinery/door/airlock/engineering{ + name = "Engine Airlock" + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/obj/structure/cable, +/obj/effect/landmark/navigate_destination, +/turf/open/floor/catwalk_floor, +/area/station/engineering/break_room) "vvK" = ( /obj/structure/table, /obj/effect/turf_decal/tile/green/fourcorners, @@ -64024,11 +65465,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"vwg" = ( -/obj/structure/bookcase/random/nonfiction, -/obj/machinery/light/small/directional/north, -/turf/open/floor/wood/tile, -/area/station/service/bar) "vwh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/public/glass{ @@ -64180,6 +65616,13 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"vyP" = ( +/obj/machinery/vending/wardrobe/hydro_wardrobe, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 5 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "vyR" = ( /turf/open/floor/glass, /area/station/command/corporate_dock) @@ -64235,11 +65678,17 @@ /obj/structure/cable, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"vzI" = ( -/obj/machinery/skill_station, -/obj/machinery/light/small/directional/south, -/turf/open/floor/wood/parquet, -/area/station/service/library) +"vzE" = ( +/obj/structure/window/spawner/directional/east, +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/bush/sparsegrass, +/obj/structure/flora/bush/flowers_br, +/obj/structure/flora/bush/flowers_pp, +/obj/structure/flora/bush/large/style_random{ + pixel_y = -1 + }, +/turf/open/floor/grass, +/area/station/service/hydroponics) "vzK" = ( /obj/machinery/light/small/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/helium_output{ @@ -64248,18 +65697,6 @@ }, /turf/open/floor/engine/helium, /area/station/ai_monitored/turret_protected/ai) -"vzM" = ( -/obj/structure/cable, -/obj/effect/turf_decal/tile/brown/full, -/obj/structure/sink/kitchen/directional/south, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) -"vzP" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "vzV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64268,14 +65705,6 @@ }, /turf/open/floor/iron, /area/station/security/tram) -"vzW" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/sofa/bamboo/left{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/chapel) "vzX" = ( /obj/machinery/door/airlock/command{ name = "Centcom Dock" @@ -64310,23 +65739,14 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"vAo" = ( -/obj/item/radio/intercom/directional/north{ - broadcasting = 1; - frequency = 1447; - name = "Private Channel"; - pixel_x = -26 - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the ai_upload."; - dir = 4; - name = "AI Upload Monitor"; - network = list("aiupload"); - pixel_x = -29 +"vAl" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/table/wood, +/obj/structure/disposalpipe/segment{ + dir = 4 }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) +/turf/open/floor/wood, +/area/station/cargo/boutique) "vAq" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64348,14 +65768,6 @@ }, /turf/open/floor/iron/small, /area/station/security/tram) -"vAA" = ( -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/siding/wood, -/obj/structure/chair/sofa/bamboo/left{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/chapel) "vAC" = ( /obj/structure/flora/bush/large/style_random{ pixel_y = -3 @@ -64378,14 +65790,6 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) -"vAR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "vAT" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -64408,11 +65812,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/textured_half, /area/station/science/lobby) -"vBm" = ( -/obj/machinery/holopad, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "vBG" = ( /obj/structure/table, /obj/machinery/microwave{ @@ -64438,6 +65837,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/research) +"vCi" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/neutral/corner, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "vCl" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -64548,11 +65956,6 @@ dir = 8 }, /area/station/hallway/secondary/dock) -"vEq" = ( -/obj/structure/chair/stool/bar/directional/east, -/obj/effect/landmark/start/assistant, -/turf/open/floor/wood/tile, -/area/station/service/bar) "vEz" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -64574,14 +65977,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"vEI" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "vEP" = ( /turf/closed/wall/r_wall, /area/station/security/brig) @@ -64596,6 +65991,16 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/smooth, /area/station/engineering/engine_smes) +"vET" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "vEW" = ( /turf/closed/wall/r_wall, /area/station/security/prison/shower) @@ -64654,15 +66059,6 @@ dir = 6 }, /area/station/hallway/secondary/construction) -"vFv" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "vFy" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -64690,27 +66086,12 @@ dir = 1 }, /area/station/hallway/secondary/exit/departure_lounge) -"vFE" = ( -/obj/structure/table, -/obj/item/trash/energybar, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "vFG" = ( /obj/machinery/computer/rdservercontrol{ dir = 8 }, /turf/open/floor/iron/white/small, /area/station/science/server) -"vFQ" = ( -/obj/machinery/navbeacon{ - codes_txt = "delivery;dir=8"; - location = "QM #2" - }, -/obj/effect/turf_decal/delivery, -/obj/machinery/camera/autoname/directional/south, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/cargo/storage) "vFR" = ( /obj/structure/bed, /obj/effect/turf_decal/siding/red{ @@ -64801,14 +66182,6 @@ }, /turf/open/floor/iron/dark/herringbone, /area/station/security/courtroom) -"vHL" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/turf_decal/plaque{ - icon_state = "L7" - }, -/obj/effect/landmark/observer_start, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "vHT" = ( /obj/effect/turf_decal/box/red/corners{ dir = 8 @@ -64831,20 +66204,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white/corner, /area/station/science/lower) -"vIg" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/wood, -/area/station/service/chapel/office) -"vIh" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/wood, -/area/station/service/chapel/office) "vIp" = ( /obj/structure/table, /obj/item/folder/yellow{ @@ -64870,6 +66229,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"vIz" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "vIC" = ( /obj/structure/disposalpipe/segment{ dir = 9 @@ -64882,12 +66246,6 @@ "vIF" = ( /turf/closed/wall, /area/station/engineering/atmos/pumproom) -"vII" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "vIJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/firedoor, @@ -65100,16 +66458,6 @@ /obj/machinery/light/cold/directional/north, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"vLf" = ( -/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/tile/dark_red/opposingcorners, -/obj/machinery/flasher/directional/west{ - id = "brigentry" - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "vLi" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/effect/turf_decal/siding/green{ @@ -65147,25 +66495,6 @@ /obj/item/gavelhammer, /turf/open/floor/plating, /area/station/maintenance/central/lesser) -"vLO" = ( -/obj/structure/table, -/obj/item/reagent_containers/condiment/saltshaker{ - desc = "Salt. From space oceans, presumably. A staple of modern medicine."; - pixel_x = 8; - pixel_y = 7 - }, -/obj/item/reagent_containers/condiment/peppermill{ - desc = "Often used to flavor food or make people sneeze. Fashionably moved to the left side of the table."; - pixel_x = 8; - pixel_y = 2 - }, -/obj/machinery/newscaster/directional/east, -/obj/effect/spawner/random/food_or_drink/condiment{ - pixel_x = -8; - pixel_y = 3 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/service/cafeteria) "vLP" = ( /turf/closed/wall/rust, /area/station/command/heads_quarters/qm) @@ -65237,24 +66566,19 @@ dir = 1 }, /area/station/hallway/primary/aft) -"vML" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/machinery/portable_atmospherics/canister/air, +"vMP" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, -/area/station/maintenance/central/greater) +/area/station/maintenance/port/greater) "vMT" = ( /obj/machinery/hydroponics/soil, /obj/item/food/grown/mushroom/libertycap, /turf/open/misc/asteroid, /area/station/maintenance/starboard/greater) -"vMV" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/spawner/random/trash, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "vMX" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 5 @@ -65308,14 +66632,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/iron, /area/station/science/lower) -"vOh" = ( -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/obj/effect/turf_decal/stripes/red/line, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/spacebridge) "vOm" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -65390,11 +66706,6 @@ }, /turf/open/floor/iron/small, /area/station/hallway/secondary/recreation) -"vPC" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/closed/wall/r_wall, -/area/station/hallway/secondary/spacebridge) "vPJ" = ( /obj/structure/broken_flooring/singular/directional/east, /obj/structure/alien/weeds, @@ -65445,20 +66756,27 @@ /obj/structure/flora/bush/large/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"vQA" = ( -/obj/effect/turf_decal/tile/green/diagonal_centre, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/camera/autoname/directional/north, -/obj/structure/sign/warning/no_smoking/circle/directional/north, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) +"vQx" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 6 + }, +/obj/machinery/light/small/directional/south, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/eighties/red, +/area/station/hallway/primary/central/fore) "vRd" = ( /obj/structure/table, /obj/effect/turf_decal/tile/dark_red, /obj/item/flashlight/lamp, /turf/open/floor/iron, /area/station/security/tram) +"vRg" = ( +/obj/machinery/porta_turret/ai, +/obj/machinery/computer/security/telescreen/research/directional/west, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/iron/smooth, +/area/station/ai_monitored/turret_protected/aisat_interior) "vRh" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65466,6 +66784,11 @@ dir = 1 }, /area/station/science/research) +"vRn" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/maintenance/port/greater) "vRt" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65477,12 +66800,6 @@ /obj/machinery/power/apc/auto_name/directional/west, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"vRE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/brown/full, -/turf/open/floor/iron/smooth_large, -/area/station/service/bar) "vRH" = ( /obj/structure/reagent_dispensers/beerkeg, /turf/open/floor/plating, @@ -65497,6 +66814,14 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) +"vSi" = ( +/obj/structure/hedge, +/obj/effect/turf_decal/siding/wood/end, +/obj/effect/turf_decal/siding/wood/end{ + dir = 1 + }, +/turf/open/floor/iron/smooth, +/area/station/service/library) "vSj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/west, @@ -65517,12 +66842,6 @@ }, /turf/open/floor/iron/kitchen/small, /area/station/security/prison/mess) -"vSE" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/flora/bush/flowers_yw/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "vSL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral{ @@ -65533,20 +66852,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) -"vST" = ( -/obj/machinery/hydroponics/constructable, -/obj/effect/turf_decal/tile/blue/half, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) "vSW" = ( /obj/effect/spawner/random/engineering/atmospherics_portable, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"vSX" = ( -/obj/structure/flora/bush/sunny/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "vSY" = ( /obj/structure/table, /obj/item/chisel{ @@ -65592,6 +66901,15 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/cafeteria, /area/station/science/breakroom) +"vTn" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw/style_2, +/obj/structure/flora/bush/large/style_random{ + pixel_x = 0; + pixel_y = 2 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "vTo" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -65640,11 +66958,11 @@ }, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) -"vTN" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/small, -/area/station/service/hydroponics) +"vTP" = ( +/obj/structure/sink/kitchen/directional/east, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/kitchen/small, +/area/station/service/kitchen) "vTV" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/hos) @@ -65678,11 +66996,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"vUq" = ( -/obj/machinery/restaurant_portal/bar, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/wood/tile, -/area/station/service/bar) "vUz" = ( /obj/structure/table_frame, /obj/effect/decal/cleanable/glass, @@ -65693,18 +67006,6 @@ }, /turf/open/floor/eighties, /area/station/service/abandoned_gambling_den/gaming) -"vUG" = ( -/obj/structure/table/reinforced, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 4; - id = "kitchenshutters"; - name = "Kitchen Shutters" - }, -/obj/structure/displaycase/forsale/kitchen{ - pixel_y = 8 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "vUM" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -65735,13 +67036,6 @@ }, /turf/open/floor/iron/white/small, /area/station/security/prison/safe) -"vUZ" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "vVo" = ( /obj/machinery/light/cold/directional/south, /obj/structure/table/reinforced, @@ -65749,12 +67043,6 @@ /obj/machinery/airalarm/directional/south, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/escape) -"vVw" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "vVx" = ( /obj/machinery/hydroponics/soil, /obj/item/food/grown/mushroom/plumphelmet, @@ -65846,6 +67134,19 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/maintenance/solars/starboard/fore) +"vWw" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "vWA" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/machinery/firealarm/directional/south, @@ -65893,6 +67194,11 @@ /obj/item/clothing/gloves/boxing/blue, /turf/open/floor/iron, /area/station/security/prison/workout) +"vXd" = ( +/obj/item/flashlight/lantern/on, +/obj/effect/turf_decal/siding/wood, +/turf/open/floor/stone, +/area/station/service/chapel) "vXi" = ( /obj/structure/table, /obj/item/reagent_containers/cup/bowl, @@ -65902,14 +67208,6 @@ /obj/item/wirecutters, /turf/open/floor/iron/white/diagonal, /area/station/maintenance/department/science/xenobiology) -"vXo" = ( -/obj/effect/turf_decal/siding/wood/corner, -/obj/structure/chair/comfy/brown{ - dir = 4 - }, -/obj/effect/landmark/start/librarian, -/turf/open/floor/iron/grimy, -/area/station/service/library) "vXr" = ( /obj/structure/disposalpipe/segment{ dir = 6 @@ -65947,28 +67245,11 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"vXW" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "vYj" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"vYt" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/neutral/end, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "vYx" = ( /obj/effect/turf_decal/siding/thinplating_new/light{ dir = 1 @@ -66049,6 +67330,13 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"vYW" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/structure/table/wood, +/turf/open/floor/iron/grimy, +/area/station/service/bar) "vZb" = ( /obj/structure/cable, /obj/structure/table, @@ -66125,18 +67413,6 @@ }, /turf/open/floor/iron, /area/station/security/courtroom) -"wav" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/effect/mapping_helpers/broken_floor, -/turf/open/floor/wood/parquet, -/area/station/service/library) -"waw" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "way" = ( /obj/effect/turf_decal/tile/yellow{ dir = 1 @@ -66144,6 +67420,13 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"waD" = ( +/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, +/turf/open/floor/plating, +/area/station/hallway/primary/central/aft) "waH" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 5 @@ -66153,6 +67436,10 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/smooth, /area/station/engineering/main) +"waI" = ( +/obj/machinery/vending/games, +/turf/open/floor/wood/parquet, +/area/station/service/library) "waN" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -66164,17 +67451,6 @@ /obj/structure/bookcase/random/religion, /turf/open/floor/wood, /area/station/service/chapel/office) -"waS" = ( -/obj/structure/table, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/item/toy/foamblade, -/obj/item/toy/dummy, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/plating, -/area/station/service/theater) "waX" = ( /obj/effect/turf_decal/tile/yellow/opposingcorners, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -66182,6 +67458,25 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"waY" = ( +/obj/effect/turf_decal/weather/snow, +/obj/machinery/gibber, +/obj/effect/turf_decal/weather/snow/corner{ + dir = 6 + }, +/turf/open/floor/iron/freezer, +/area/station/service/kitchen/coldroom) +"wbd" = ( +/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/dark_red/fourcorners, +/obj/effect/landmark/start/security_officer, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "wbf" = ( /turf/closed/wall, /area/station/security/prison/safe) @@ -66335,12 +67630,6 @@ /obj/machinery/camera/autoname/directional/west, /turf/open/floor/circuit, /area/station/tcommsat/server) -"wdV" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/bamboo, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "wdY" = ( /obj/effect/spawner/random/structure/table, /turf/open/floor/plating, @@ -66388,14 +67677,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"wfb" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/chair/stool/bamboo, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "wfi" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/siding/green{ @@ -66432,39 +67713,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"wfP" = ( -/obj/machinery/door/firedoor, -/obj/machinery/door/airlock/security/glass{ - id_tag = "outerbrig"; - name = "Brig" - }, -/obj/effect/mapping_helpers/airlock/access/all/security/entrance, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/turf/open/floor/iron/textured_half, -/area/station/security/brig/entrance) -"wfU" = ( -/obj/structure/disposalpipe/segment{ - dir = 5 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron/small, -/area/station/medical/medbay/lobby) -"wgj" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "wgl" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -66529,6 +67777,14 @@ /obj/item/reagent_containers/cup/glass/bottle/beer, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"wgI" = ( +/obj/effect/turf_decal/tile/brown/opposingcorners{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/start/assistant, +/turf/open/floor/iron, +/area/station/commons/vacant_room/commissary) "wgL" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/medical/central) @@ -66537,6 +67793,12 @@ /obj/effect/turf_decal/weather, /turf/open/floor/plating, /area/station/service/chapel/office) +"wha" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "whc" = ( /obj/effect/turf_decal/tile/dark_red/anticorner/contrasted{ dir = 1 @@ -66550,14 +67812,6 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/storage/gas) -"wht" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "whu" = ( /obj/structure/cable, /obj/machinery/blackbox_recorder, @@ -66617,16 +67871,6 @@ }, /turf/closed/wall/r_wall, /area/station/security/brig/entrance) -"wix" = ( -/obj/item/kirbyplants/random, -/obj/machinery/newscaster/directional/west, -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) "wiC" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -66655,13 +67899,6 @@ /obj/structure/cable, /turf/closed/wall, /area/station/engineering/engine_smes) -"wiU" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/effect/landmark/start/librarian, -/turf/open/floor/wood/parquet, -/area/station/service/library) "wja" = ( /turf/closed/wall/r_wall, /area/station/commons/toilet/auxiliary) @@ -66679,13 +67916,17 @@ /obj/structure/filingcabinet, /turf/open/floor/iron/dark/small, /area/station/security/detectives_office) -"wjK" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 10 +"wjT" = ( +/obj/machinery/barsign{ + chosen_sign = "thecavern"; + icon_state = "thecavern"; + pixel_y = 32 }, -/obj/structure/flora/bush/sunny/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "wjZ" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -66706,13 +67947,13 @@ }, /turf/open/floor/wood/tile, /area/station/command/bridge) -"wkk" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners{ +"wku" = ( +/obj/effect/turf_decal/weather/dirt{ dir = 1 }, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) +/obj/machinery/light/floor, +/turf/open/floor/grass, +/area/station/service/chapel) "wkF" = ( /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/plating, @@ -66727,6 +67968,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"wkK" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "wkU" = ( /obj/structure/lattice/catwalk, /obj/structure/railing{ @@ -66740,45 +67991,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/chapel, /area/station/maintenance/starboard/greater) -"wlf" = ( -/obj/effect/landmark/start/hangover, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "wlk" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 }, /turf/open/floor/engine, /area/station/science/xenobiology) -"wlu" = ( -/obj/structure/closet/secure_closet/bar, -/obj/item/stack/spacecash/c100, -/obj/item/stack/spacecash/c10, -/obj/item/stack/spacecash/c1, -/obj/item/stack/spacecash/c1, -/obj/item/stack/spacecash/c1, -/obj/machinery/light/small/directional/north, -/obj/structure/sign/poster/official/random/directional/north, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/stone, -/area/station/service/bar/backroom) -"wlF" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/grass, -/area/station/service/chapel) -"wlL" = ( -/obj/machinery/firealarm/directional/north, -/obj/structure/cable, +"wlN" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) -"wlQ" = ( -/obj/effect/turf_decal/siding/wood, -/obj/structure/flora/bush/flowers_pp/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "wlS" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ @@ -66812,16 +68038,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/aft) -"wms" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/newscaster/directional/north, -/obj/machinery/duct, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "wmu" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -66884,11 +68100,22 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"wmY" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/machinery/camera/autoname/directional/north, +"wmX" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/plaque{ + icon_state = "L4"; + pixel_y = -15 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, /turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) +/area/station/hallway/primary/central/aft) "wnd" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -66921,12 +68148,6 @@ /obj/machinery/light/small/broken/directional/north, /turf/open/floor/wood, /area/station/service/abandoned_gambling_den) -"wnB" = ( -/obj/effect/turf_decal/plaque{ - icon_state = "L1" - }, -/turf/open/floor/glass, -/area/station/hallway/secondary/spacebridge) "wnE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66934,19 +68155,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) -"wnK" = ( -/obj/structure/table, -/obj/effect/spawner/random/entertainment/toy, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/wood, -/area/station/service/theater) -"wnO" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "wnR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66973,22 +68181,13 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/tcommsat/server) -"wow" = ( -/obj/effect/turf_decal/tile/blue, -/obj/effect/turf_decal/tile/green{ - dir = 8 - }, -/obj/effect/turf_decal/tile/green{ - dir = 4 +"woz" = ( +/obj/effect/turf_decal/siding/thinplating{ + dir = 5 }, -/turf/open/floor/iron, -/area/station/service/hydroponics) -"woB" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/grass, -/area/station/service/chapel) +/obj/structure/cable, +/turf/open/floor/eighties, +/area/station/hallway/primary/central/fore) "woD" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -67009,6 +68208,20 @@ /obj/item/wrench, /turf/open/floor/catwalk_floor, /area/station/science/xenobiology) +"woK" = ( +/obj/structure/disposalpipe/segment{ + dir = 6 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "woP" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -67078,15 +68291,6 @@ "wqj" = ( /turf/closed/wall, /area/station/commons/toilet/restrooms) -"wqs" = ( -/obj/effect/spawner/structure/window, -/obj/machinery/door/poddoor/shutters/preopen{ - dir = 8; - id = "barki"; - name = "Shutters" - }, -/turf/open/floor/plating, -/area/station/service/kitchen) "wqD" = ( /obj/structure/reagent_dispensers/water_cooler, /obj/effect/decal/cleanable/dirt, @@ -67134,6 +68338,24 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron/dark, /area/station/security/prison/workout) +"wrj" = ( +/obj/effect/spawner/random/trash, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"wrk" = ( +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/effect/turf_decal/tile/dark_red/half/contrasted, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "wrw" = ( /obj/machinery/light/small/directional/east, /obj/structure/disposalpipe/segment, @@ -67143,7 +68365,9 @@ "wrx" = ( /obj/machinery/button/door/directional/north{ name = "Lock Control"; - id = "Toilet3" + id = "Toilet3"; + specialfunctions = 4; + normaldoorcontrol = 1 }, /obj/machinery/recharge_station, /obj/structure/sign/poster/official/random/directional/east, @@ -67194,6 +68418,16 @@ /obj/machinery/power/apc/auto_name/directional/east, /turf/open/floor/iron/dark, /area/station/command/corporate_dock) +"wrZ" = ( +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/duct, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "wsa" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ @@ -67246,12 +68480,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"wsX" = ( -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/obj/structure/chair/stool/bar/directional/south, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/commons/fitness/recreation/entertainment) "wtc" = ( /obj/structure/cable, /obj/structure/window/reinforced/spawner/directional/north, @@ -67318,6 +68546,10 @@ }, /turf/open/floor/iron/smooth, /area/station/service/greenroom) +"wtw" = ( +/obj/structure/chair/stool/bar/directional/west, +/turf/open/floor/wood/large, +/area/station/service/bar) "wtx" = ( /obj/structure/cannon{ dir = 4 @@ -67346,6 +68578,12 @@ dir = 4 }, /area/station/science/lobby) +"wtV" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "wtX" = ( /turf/closed/wall/r_wall, /area/station/security/checkpoint/customs/auxiliary) @@ -67394,11 +68632,6 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/plating, /area/station/command/gateway) -"wuw" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood/parquet, -/area/station/service/library) "wuH" = ( /obj/structure/broken_flooring/singular/directional/south, /obj/effect/landmark/generic_maintenance_landmark, @@ -67419,13 +68652,26 @@ "wuM" = ( /turf/closed/wall, /area/station/command/heads_quarters/qm) -"wvn" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +"wuY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light/small/directional/west, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/service/library) +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) +"wvk" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/red/line, +/obj/structure/extinguisher_cabinet/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 10 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "wvv" = ( /obj/effect/turf_decal/tile/red/opposingcorners, /obj/effect/turf_decal/tile/blue/opposingcorners{ @@ -67444,15 +68690,6 @@ /obj/machinery/light/floor, /turf/open/floor/iron/white/small, /area/station/science/cubicle) -"wvP" = ( -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/obj/item/screwdriver, -/obj/effect/turf_decal/siding/wideplating_new/terracotta{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/station/commons/vacant_room/commissary) "wvT" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 10 @@ -67604,9 +68841,7 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 }, -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/effect/decal/cleanable/cobweb, /obj/machinery/light/small/directional/north, /turf/open/floor/iron/dark, @@ -67676,12 +68911,6 @@ /obj/machinery/meter, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"wyY" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/table/wood, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "wyZ" = ( /obj/effect/turf_decal/siding/wideplating{ dir = 4 @@ -67694,11 +68923,6 @@ "wzj" = ( /turf/open/floor/plating, /area/station/maintenance/central/greater) -"wzk" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/spawner/structure/window, -/turf/open/floor/plating, -/area/station/hallway/primary/port) "wzo" = ( /obj/machinery/light/small/directional/north, /obj/effect/landmark/start/cargo_technician, @@ -67738,18 +68962,11 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/carpet/lone, /area/station/service/chapel/office) -"wzU" = ( -/obj/effect/landmark/event_spawn, -/obj/machinery/computer/security/telescreen{ - dir = 4; - name = "Test Chamber Monitor"; - network = list("xeno"); - pixel_x = -29 - }, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/xenobiology) +"wAa" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/wood/tile, +/area/station/service/bar) "wAb" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/donkpockets, @@ -67795,16 +69012,16 @@ "wAW" = ( /turf/closed/wall, /area/station/hallway/primary/port) -"wAZ" = ( -/obj/machinery/door/airlock/public/glass{ - name = "Public Shrine" - }, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/hallway/primary/port) "wBa" = ( /turf/open/floor/iron/dark/smooth_corner, /area/station/maintenance/starboard/greater) +"wBc" = ( +/obj/effect/turf_decal/tile/green/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/service/hydroponics) "wBf" = ( /obj/effect/spawner/random/structure/closet_maintenance, /turf/open/floor/plating/rust, @@ -67915,6 +69132,18 @@ }, /turf/open/floor/iron/dark, /area/station/medical/pharmacy) +"wCM" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue{ + dir = 1 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/dark/side{ + dir = 1 + }, +/area/station/hallway/primary/central/fore) "wCR" = ( /turf/closed/wall, /area/station/cargo/boutique) @@ -67943,17 +69172,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"wDJ" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/status_display/ai/directional/north, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "wDM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67961,19 +69179,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) -"wDV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/power/apc/auto_name/directional/east, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"wDZ" = ( -/obj/item/radio/intercom/directional/south, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "wEc" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 9 @@ -67994,10 +69199,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"wEp" = ( -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "wEs" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68007,6 +69208,16 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) +"wEv" = ( +/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, +/obj/machinery/door/airlock/hydroponics/glass{ + name = "Hydroponics" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/textured_half, +/area/station/service/hydroponics) "wEC" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -68026,12 +69237,6 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/iron/dark, /area/station/service/chapel/office) -"wEI" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "wER" = ( /obj/effect/spawner/random/trash, /obj/machinery/duct, @@ -68057,6 +69262,10 @@ /obj/structure/filingcabinet/chestdrawer, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) +"wFd" = ( +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/smooth, +/area/station/service/library) "wFe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -68064,15 +69273,6 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) -"wFl" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/starboard) "wFq" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -68096,6 +69296,13 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/department/engine/atmos) +"wFY" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 8 + }, +/obj/structure/flora/bush/jungle/c/style_3, +/turf/open/floor/grass, +/area/station/service/chapel) "wGh" = ( /obj/structure/broken_flooring/corner/directional/south, /turf/open/floor/plating, @@ -68161,13 +69368,6 @@ /obj/structure/filingcabinet/filingcabinet, /turf/open/floor/iron/grimy, /area/station/science/cubicle) -"wHE" = ( -/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/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "wHH" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner/end{ @@ -68215,29 +69415,11 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"wHX" = ( -/obj/item/radio/intercom/directional/south, -/obj/effect/landmark/start/hangover, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral/opposingcorners, -/turf/open/floor/iron, -/area/station/hallway/secondary/spacebridge) "wIc" = ( /obj/structure/window/spawner/directional/west, /obj/structure/flora/rock/pile/jungle/style_random, /turf/open/misc/sandy_dirt, /area/station/medical/medbay/lobby) -"wId" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "wIm" = ( /obj/machinery/door/airlock/hatch{ name = "Centcom Dock" @@ -68333,14 +69515,14 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"wJV" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/sign/painting/large/library{ - dir = 1 +"wJT" = ( +/obj/structure/flora/tree/jungle/small/style_4, +/obj/structure/flora/grass/jungle/b/style_random{ + pixel_y = -3; + pixel_x = 3 }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron/smooth, -/area/station/service/library) +/turf/open/floor/grass, +/area/station/service/chapel) "wJX" = ( /obj/structure/closet/secure_closet/personal, /turf/open/floor/iron/herringbone, @@ -68419,6 +69601,23 @@ /obj/structure/alien/weeds, /turf/open/floor/wood, /area/station/maintenance/starboard/greater) +"wKH" = ( +/obj/structure/cable, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/camera/autoname/directional/east, +/obj/machinery/computer/security/telescreen/entertainment/directional/east, +/obj/effect/turf_decal/siding/wood/corner{ + dir = 1 + }, +/turf/open/floor/stone, +/area/station/service/bar) "wKO" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/directional/east, @@ -68452,17 +69651,11 @@ /obj/effect/mapping_helpers/airlock/access/any/security/court, /turf/open/floor/plating, /area/station/security/courtroom) -"wLA" = ( -/obj/machinery/holopad, -/turf/open/floor/wood, -/area/station/service/theater) -"wLJ" = ( +"wLo" = ( /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "wLM" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -68487,6 +69680,13 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/service/library) +"wMz" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/structure/bookcase/random, +/turf/open/floor/wood/parquet, +/area/station/service/library) "wMA" = ( /obj/machinery/camera/directional/west, /obj/structure/bookcase/random/religion, @@ -68587,6 +69787,18 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"wNs" = ( +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/effect/turf_decal/trimline/neutral/line, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "wNv" = ( /obj/effect/landmark/navigate_destination/bridge, /turf/open/floor/iron/smooth_half, @@ -68625,15 +69837,6 @@ }, /turf/open/space/basic, /area/space) -"wNR" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "wNS" = ( /obj/structure/rack, /obj/structure/transport/linear/tram, @@ -68724,6 +69927,15 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/genetics) +"wOt" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "wOz" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/effect/turf_decal/stripes/line{ @@ -68783,10 +69995,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"wPf" = ( -/obj/item/clothing/glasses/blindfold, -/turf/open/space/basic, -/area/space) "wPh" = ( /obj/structure/disposalpipe/trunk{ dir = 8 @@ -68989,16 +70197,6 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_freezer_chamber_input, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/freezerchamber) -"wRD" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "wRN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -69009,6 +70207,20 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"wRO" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "wRP" = ( /obj/machinery/camera/directional/south{ c_tag = "Atmospherics - South" @@ -69217,6 +70429,14 @@ }, /turf/open/floor/iron, /area/station/security) +"wUc" = ( +/obj/machinery/light/small/directional/east, +/obj/structure/sign/poster/official/random/directional/north, +/obj/effect/turf_decal/siding/wood/end{ + dir = 4 + }, +/turf/open/floor/wood, +/area/station/hallway/primary/central/aft) "wUS" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -69246,45 +70466,11 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/small, /area/station/engineering/atmos) -"wVs" = ( -/obj/machinery/computer/security/telescreen/interrogation{ - name = "reflection room monitor"; - network = list("isolation"); - pixel_y = 31 - }, -/obj/effect/turf_decal/stripes/white/corner{ - dir = 1 - }, -/obj/item/kirbyplants/random, -/obj/machinery/firealarm/directional/east, -/obj/machinery/button/flasher{ - id = "IsolationFlash"; - pixel_x = 28; - pixel_y = 28 - }, -/turf/open/floor/iron/dark/small, -/area/station/security/execution/education) "wVI" = ( /obj/machinery/biogenerator, /obj/machinery/light/small/dim/directional/north, /turf/open/floor/plating, /area/station/maintenance/department/prison) -"wVZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/obj/structure/extinguisher_cabinet/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"wWa" = ( -/obj/structure/flora/bush/flowers_pp/style_random, -/obj/effect/landmark/event_spawn, -/turf/open/floor/grass, -/area/station/service/chapel) "wWb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/green/visible, /obj/structure/railing{ @@ -69307,6 +70493,24 @@ dir = 1 }, /area/station/hallway/secondary/construction) +"wWC" = ( +/obj/structure/chair/comfy/brown{ + dir = 4 + }, +/obj/effect/landmark/start/librarian, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron/grimy, +/area/station/service/library) +"wWD" = ( +/obj/effect/turf_decal/tile/neutral, +/obj/effect/landmark/start/hangover, +/obj/structure/disposalpipe/segment{ + dir = 5 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "wWP" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ @@ -69326,16 +70530,6 @@ "wWS" = ( /turf/open/floor/iron, /area/station/security/prison) -"wWT" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "wWU" = ( /obj/structure/cable, /obj/effect/spawner/random/trash, @@ -69361,6 +70555,16 @@ /obj/structure/reagent_dispensers/wall/peppertank/directional/east, /turf/open/floor/iron/smooth, /area/station/security/checkpoint/customs/auxiliary) +"wXe" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/dark_red/fourcorners, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/brig/entrance) "wXg" = ( /obj/structure/disposalpipe/trunk, /obj/structure/window/reinforced/spawner/directional/east, @@ -69391,31 +70595,12 @@ }, /turf/open/floor/iron/small, /area/station/security/brig) -"wXO" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "wXV" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"wXZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line, -/obj/effect/turf_decal/stripes/red/line{ - dir = 1 - }, -/turf/open/floor/iron/small, -/area/station/hallway/primary/central/fore) "wYa" = ( /obj/effect/turf_decal/siding/wood{ dir = 5 @@ -69430,18 +70615,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/storage/tech) -"wYr" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "wYv" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 9 @@ -69455,26 +70628,6 @@ "wYA" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry) -"wYD" = ( -/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/neutral{ - dir = 1 - }, -/obj/effect/landmark/navigate_destination/hop, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"wYF" = ( -/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/item/grown/bananapeel, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "wYH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -69487,17 +70640,6 @@ }, /turf/open/misc/sandy_dirt, /area/station/security/tram) -"wYV" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "wZa" = ( /obj/docking_port/stationary{ dir = 8; @@ -69518,15 +70660,6 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/hallway/secondary/exit/departure_lounge) -"wZd" = ( -/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/tile/dark_red/opposingcorners, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "wZk" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -69539,16 +70672,6 @@ "wZl" = ( /turf/closed/wall, /area/station/commons) -"wZo" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/green/diagonal_centre, -/turf/open/floor/iron/diagonal, -/area/station/hallway/primary/central/aft) "wZp" = ( /obj/effect/turf_decal/arrows{ dir = 8 @@ -69564,6 +70687,18 @@ }, /turf/open/floor/iron/dark/small, /area/station/maintenance/department/engine/atmos) +"wZx" = ( +/obj/machinery/door/airlock/vault{ + name = "Vault" + }, +/obj/effect/mapping_helpers/airlock/access/all/supply/vault, +/obj/effect/mapping_helpers/airlock/locked, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/door/firedoor, +/turf/open/floor/iron/dark/herringbone, +/area/station/hallway/primary/central/aft) "wZA" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -69572,14 +70707,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/central) -"wZE" = ( -/obj/structure/disposalpipe/junction, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/turf_decal/tile/neutral{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "wZF" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -69722,18 +70849,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xbP" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/public/glass{ - name = "Vault Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/supply/vault, -/obj/effect/mapping_helpers/airlock/cyclelink_helper, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/catwalk_floor, -/area/station/hallway/secondary/spacebridge) "xbR" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/structure/hedge, @@ -69775,6 +70890,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark/herringbone, /area/station/ai_monitored/command/nuke_storage) +"xcz" = ( +/obj/structure/window/spawner/directional/west, +/obj/structure/flora/bush/jungle/a/style_random, +/obj/structure/flora/bush/flowers_pp/style_random, +/obj/structure/window/spawner/directional/east, +/obj/machinery/light/floor, +/obj/structure/window/spawner/directional/north, +/turf/open/floor/grass, +/area/station/service/hydroponics) "xcF" = ( /turf/open/floor/iron, /area/station/commons/dorms) @@ -69783,6 +70907,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) +"xcK" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/closed/wall, +/area/station/hallway/primary/central/aft) "xcS" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -69847,18 +70977,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) -"xdD" = ( -/obj/structure/disposalpipe/segment{ - dir = 10 - }, -/obj/structure/sink/directional/west, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) "xdJ" = ( /obj/machinery/door/airlock/engineering{ name = "Engine Airlock" @@ -69899,13 +71017,6 @@ }, /turf/open/floor/engine, /area/station/engineering/atmos) -"xen" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "xeo" = ( /obj/structure/window/spawner/directional/south, /obj/structure/lattice, @@ -69998,12 +71109,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/textured_large, /area/station/science/research) -"xeY" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark/small, -/area/station/commons/vacant_room/commissary) "xfa" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, @@ -70012,6 +71117,17 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/science/research) +"xfe" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "xff" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70022,6 +71138,22 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/server) +"xfm" = ( +/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/dark_red/half/contrasted{ + dir = 4 + }, +/obj/effect/turf_decal/siding/wideplating/dark{ + dir = 8 + }, +/obj/structure/disposalpipe/sorting/mail/flip{ + dir = 1 + }, +/obj/effect/mapping_helpers/mail_sorting/security/hos_office, +/turf/open/floor/iron, +/area/station/security) "xfu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/general/visible{ @@ -70029,12 +71161,6 @@ }, /turf/open/floor/iron/white, /area/station/science/cytology) -"xfw" = ( -/obj/structure/table, -/obj/item/flashlight/lantern, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/wood/parquet, -/area/station/service/library) "xfy" = ( /obj/structure/transport/linear/tram, /obj/structure/fluff/tram_rail/floor{ @@ -70053,13 +71179,6 @@ }, /turf/open/floor/iron/smooth, /area/station/engineering/break_room) -"xfB" = ( -/mob/living/simple_animal/bot/firebot, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/holopad, -/turf/open/floor/iron/smooth_large, -/area/station/engineering/storage_shared) "xfH" = ( /obj/machinery/portable_atmospherics/canister/air, /turf/open/floor/iron, @@ -70072,13 +71191,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"xfU" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/carpet/lone, -/area/station/service/chapel/office) "xfV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70092,6 +71204,19 @@ }, /turf/open/floor/iron/dark/small, /area/station/medical/chemistry) +"xfX" = ( +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/stripes/red/line{ + dir = 1 + }, +/obj/effect/turf_decal/stripes/red/line, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/small, +/area/station/hallway/primary/central/fore) "xgg" = ( /obj/structure/chair{ pixel_y = -2 @@ -70141,53 +71266,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xgN" = ( -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/machinery/holopad, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"xhe" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) -"xhj" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/wood, -/area/station/service/chapel/office) -"xhA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/siding/wood{ - dir = 8 +"xhk" = ( +/obj/machinery/door/airlock/public/glass{ + name = "Public Shrine" }, -/obj/effect/turf_decal/siding/wood{ +/obj/machinery/door/firedoor, +/obj/effect/turf_decal/siding/wood/end{ dir = 4 }, -/obj/machinery/door/airlock/maintenance{ - name = "Crematorium" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/chapel_office, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/service/chapel/storage) +/turf/open/floor/stone, +/area/station/hallway/primary/central/fore) "xhD" = ( /obj/structure/table, /obj/item/clothing/shoes/ducky_shoes{ @@ -70205,30 +71293,11 @@ /obj/effect/landmark/navigate_destination/lawyer, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) -"xhH" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 1 - }, -/obj/effect/mapping_helpers/mail_sorting/service/chapel, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xhM" = ( /obj/structure/table, /obj/item/book/manual/wiki/tcomms, /turf/open/floor/circuit, /area/station/tcommsat/server) -"xhQ" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "xhU" = ( /obj/structure/flora/bush/large/style_random{ pixel_x = -18; @@ -70273,14 +71342,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"xiA" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) "xiE" = ( /turf/closed/wall/r_wall, /area/station/medical/virology) @@ -70292,13 +71353,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xiL" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/duct, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "xiN" = ( /obj/machinery/door/window/left/directional/north{ name = "Equipment Storage"; @@ -70321,6 +71375,17 @@ }, /turf/open/floor/iron/large, /area/station/ai_monitored/command/storage/eva) +"xiS" = ( +/obj/effect/turf_decal/trimline/neutral/line, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 1 + }, +/obj/structure/disposalpipe/segment, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "xiT" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70348,17 +71413,6 @@ "xjg" = ( /turf/open/floor/iron/dark, /area/station/security/interrogation) -"xjh" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xjo" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -70370,15 +71424,6 @@ dir = 8 }, /area/station/science/lower) -"xjq" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "xjz" = ( /turf/closed/wall/r_wall, /area/station/security/prison/garden) @@ -70443,16 +71488,6 @@ /obj/effect/spawner/random/trash, /turf/open/floor/plating, /area/station/maintenance/fore/lesser) -"xkg" = ( -/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/siding/wideplating/dark{ - dir = 1 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "xkn" = ( /obj/structure/steam_vent, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70485,10 +71520,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron/white, /area/station/science/cytology) -"xkS" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "xkU" = ( /obj/effect/turf_decal/siding/thinplating_new/terracotta{ dir = 9 @@ -70496,16 +71527,6 @@ /obj/machinery/power/shieldwallgen, /turf/open/floor/iron/smooth_large, /area/station/command/teleporter) -"xkW" = ( -/obj/effect/turf_decal/tile/red/opposingcorners, -/obj/effect/turf_decal/tile/blue/opposingcorners{ - dir = 8 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 1 - }, -/turf/open/floor/iron/smooth, -/area/station/service/greenroom) "xkX" = ( /obj/effect/turf_decal/tile/yellow/diagonal_centre, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -70550,8 +71571,17 @@ /turf/open/floor/plating, /area/station/science/xenobiology) "xlP" = ( -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) +"xlU" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "xlZ" = ( /turf/open/floor/iron, /area/station/maintenance/hallway/abandoned_command) @@ -70604,6 +71634,18 @@ "xmO" = ( /turf/closed/wall/r_wall, /area/station/maintenance/fore/greater) +"xnb" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new/light{ + dir = 6 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "xng" = ( /obj/structure/disposalpipe/trunk, /obj/machinery/disposal/delivery_chute{ @@ -70623,6 +71665,14 @@ /obj/effect/turf_decal/siding/wood, /turf/open/floor/wood/tile, /area/station/service/lawoffice) +"xno" = ( +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "xnA" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, @@ -70782,6 +71832,10 @@ /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"xpL" = ( +/obj/structure/disposalpipe/segment, +/turf/closed/wall, +/area/station/maintenance/hallway/abandoned_command) "xpR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ @@ -70792,13 +71846,6 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"xpT" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/obj/structure/flora/bush/flowers_br/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "xpU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -70895,6 +71942,14 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) +"xrc" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/maintenance, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/maintenance/central/lesser) "xri" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -70929,14 +71984,6 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) -"xrz" = ( -/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/stairs{ - dir = 8 - }, -/area/station/service/theater) "xrA" = ( /obj/structure/sign/warning/pods/directional/west, /turf/open/floor/plating, @@ -70949,11 +71996,39 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"xrE" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/landmark/navigate_destination/vault, +/obj/effect/turf_decal/tile/neutral, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) +"xrN" = ( +/obj/structure/railing{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/requests_console/directional/north{ + department = "Chief Engineer's Desk"; + name = "Chief Engineer's Requests Console"; + pixel_y = -32; + pixel_x = 2 + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/iron/stairs/old{ + dir = 4 + }, +/area/station/command/heads_quarters/ce) "xrX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/door/window/right/directional/south{ - layer = 3.1; name = "Upload Console Window"; req_access = list("ai_upload") }, @@ -71020,6 +72095,16 @@ /obj/structure/cable, /turf/open/floor/iron/herringbone, /area/station/commons/dorms) +"xsD" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/decal/cleanable/dirt, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "xsF" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -71109,6 +72194,15 @@ }, /turf/open/floor/iron/checker, /area/station/security/breakroom) +"xtD" = ( +/obj/effect/turf_decal/siding/wood/corner{ + dir = 8 + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/bar) "xtI" = ( /turf/closed/wall/r_wall, /area/station/science/breakroom) @@ -71134,15 +72228,6 @@ "xtW" = ( /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) -"xtZ" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/starboard) "xug" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer, /obj/effect/turf_decal/tile/brown/opposingcorners, @@ -71203,6 +72288,12 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/space/basic, /area/space/nearstation) +"xuJ" = ( +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "xuO" = ( /obj/structure/disposalpipe/segment, /obj/structure/disposalpipe/segment{ @@ -71218,10 +72309,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms) -"xuU" = ( -/obj/effect/turf_decal/tile/neutral, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xuW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71295,6 +72382,16 @@ }, /turf/closed/wall, /area/station/cargo/miningfoundry) +"xvK" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red/opposingcorners, +/obj/effect/turf_decal/tile/blue/opposingcorners{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/smooth, +/area/station/service/greenroom) "xvM" = ( /obj/effect/turf_decal/tile/neutral, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71315,9 +72412,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"xvW" = ( -/turf/closed/wall, -/area/station/service/theater) "xwd" = ( /obj/structure/rack, /obj/item/storage/toolbox/emergency, @@ -71406,6 +72500,15 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/burnchamber) +"xxj" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 1 + }, +/obj/structure/flora/bush/jungle/a, +/obj/machinery/light/small/directional/north, +/obj/machinery/status_display/ai/directional/north, +/turf/open/floor/grass, +/area/station/service/chapel) "xxo" = ( /obj/structure/lattice/catwalk, /obj/structure/marker_beacon/yellow, @@ -71431,21 +72534,6 @@ /obj/structure/closet/secure_closet/personal, /turf/open/floor/iron, /area/station/commons/fitness/locker_room) -"xxE" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/door/airlock/maintenance{ - name = "Crematorium" - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/security/general, -/turf/open/floor/iron/textured_half{ - dir = 8 - }, -/area/station/security/brig/entrance) "xxL" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /turf/open/floor/iron/checker{ @@ -71457,18 +72545,14 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) -"xye" = ( +"xxT" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, /obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/dark_red/fourcorners, -/obj/machinery/holopad, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/security/brig/entrance) +/turf/open/floor/plating, +/area/station/maintenance/port/greater) "xyh" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71506,16 +72590,40 @@ }, /turf/open/floor/iron/white/textured_large, /area/station/medical/medbay/lobby) +"xym" = ( +/obj/machinery/door/airlock{ + name = "Maintenance" + }, +/obj/effect/mapping_helpers/airlock/access/any/service/general, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) +"xyt" = ( +/obj/effect/turf_decal/weather/dirt, +/obj/structure/flora/bush/flowers_yw, +/turf/open/floor/grass, +/area/station/service/chapel) "xyx" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 }, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"xyJ" = ( -/obj/structure/disposalpipe/segment, +"xyM" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/navbeacon{ + codes_txt = "patrol;next_patrol=23.2-Evac-Garden"; + location = "23.4-Evac" + }, +/obj/structure/disposalpipe/junction/flip{ + dir = 2 + }, /turf/open/floor/iron, -/area/station/hallway/primary/central/fore) +/area/station/hallway/secondary/exit/departure_lounge) "xyQ" = ( /obj/structure/cable, /obj/machinery/light_switch/directional/south, @@ -71529,11 +72637,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor, /area/station/hallway/secondary/entry) -"xyY" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/displaycase/trophy, -/turf/open/floor/iron/smooth, -/area/station/service/library) "xyZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -71542,10 +72645,6 @@ /obj/structure/broken_flooring/pile/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"xza" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/space/basic, -/area/space) "xzd" = ( /obj/structure/lattice, /obj/structure/railing/corner, @@ -71576,11 +72675,6 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/hallway/secondary/exit/departure_lounge) -"xzp" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/obj/effect/landmark/start/hangover, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "xzE" = ( /obj/structure/table, /obj/effect/turf_decal/tile/dark_red, @@ -71662,16 +72756,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"xAP" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xAR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -71712,6 +72796,16 @@ /obj/effect/mapping_helpers/airlock/cyclelink_helper, /turf/open/floor/plating, /area/station/engineering/atmos/space_catwalk) +"xBd" = ( +/obj/effect/turf_decal/plaque{ + icon_state = "L7"; + pixel_y = -15 + }, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/central/aft) "xBe" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, @@ -71760,30 +72854,10 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"xBK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/structure/chair/office{ - dir = 1 - }, -/turf/open/floor/wood/parquet, -/area/station/service/library) "xBV" = ( /obj/effect/spawner/random/structure/chair_flipped, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"xBZ" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/effect/turf_decal/stripes/red/line{ - dir = 4 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/turf/open/floor/iron/small, -/area/station/hallway/secondary/exit/departure_lounge) "xCc" = ( /obj/machinery/modular_computer/preset/id{ dir = 8 @@ -71800,19 +72874,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/stairs, /area/station/hallway/primary/central/fore) -"xCu" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) -"xCz" = ( -/obj/effect/spawner/random/structure/crate, -/obj/effect/spawner/random/maintenance, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "xCH" = ( /obj/structure/railing{ dir = 9 @@ -71959,12 +73020,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) -"xEC" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "xEM" = ( /obj/structure/window/spawner/directional/north, /obj/structure/flora/bush/large/style_random{ @@ -72068,12 +73123,13 @@ /obj/structure/hedge, /turf/open/floor/iron/herringbone, /area/station/commons/dorms) -"xFO" = ( +"xFS" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral, +/obj/machinery/status_display/evac/directional/south, /obj/structure/disposalpipe/segment{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/port) "xFT" = ( @@ -72088,15 +73144,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/engine) -"xGc" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/trimline/neutral/line, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xGf" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 @@ -72182,16 +73229,6 @@ }, /turf/open/floor/carpet/purple, /area/station/commons/dorms) -"xHB" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/table, -/obj/effect/turf_decal/bot, -/obj/machinery/light_switch/directional/north, -/obj/machinery/camera/autoname/directional/west, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/kitchen/small, -/area/station/hallway/secondary/service) "xHD" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -72247,14 +73284,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron, /area/station/science/lobby) -"xIl" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/duct, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "xIr" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/effect/decal/cleanable/dirt/dust, @@ -72269,21 +73298,6 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) -"xIw" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/neutral/line{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) -"xIy" = ( -/obj/effect/turf_decal/tile/neutral, -/obj/machinery/camera/autoname/directional/south, -/turf/open/floor/iron, -/area/station/hallway/primary/port) "xIA" = ( /obj/effect/turf_decal/arrows{ dir = 8 @@ -72308,22 +73322,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/plating, /area/station/engineering/gravity_generator) -"xIK" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white/side, -/area/station/hallway/primary/starboard) -"xIM" = ( -/obj/structure/disposalpipe/segment, -/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/side, -/area/station/hallway/primary/starboard) "xIP" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/construction) @@ -72356,14 +73354,6 @@ "xJB" = ( /turf/closed/wall, /area/station/security/courtroom) -"xJR" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/duct, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/central/fore) "xJZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72377,13 +73367,6 @@ /obj/effect/mapping_helpers/airlock/access/all/medical/general, /turf/open/floor/iron/white/small, /area/station/medical/medbay/central) -"xKa" = ( -/obj/effect/turf_decal/tile/red/opposingcorners{ - dir = 1 - }, -/obj/structure/chair/stool/bar/directional/west, -/turf/open/floor/iron/cafeteria, -/area/station/service/cafeteria) "xKg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -72423,15 +73406,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/processing) -"xKx" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark/small, -/area/station/service/chapel/storage) "xKz" = ( /obj/effect/turf_decal/tile/brown/opposingcorners, /obj/effect/turf_decal/siding/wideplating, @@ -72514,10 +73488,6 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"xLO" = ( -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/maintenance/port/greater) "xLY" = ( /obj/item/reagent_containers/cup/glass/bottle/beer{ pixel_y = 11 @@ -72573,6 +73543,10 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"xMu" = ( +/obj/effect/turf_decal/siding/wood, +/turf/closed/wall, +/area/station/service/library) "xMv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72616,6 +73590,23 @@ "xNw" = ( /turf/closed/wall, /area/station/science/breakroom) +"xNA" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/chair/wood{ + dir = 8 + }, +/turf/open/floor/iron/grimy, +/area/station/service/bar) +"xND" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/grille, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/plating, +/area/station/hallway/primary/central/fore) "xNE" = ( /obj/structure/steam_vent, /obj/structure/closet/crate, @@ -72628,23 +73619,6 @@ /obj/item/clothing/gloves/color/red/insulated, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) -"xNI" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 6 - }, -/obj/effect/turf_decal/tile/dark_red{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) -"xNL" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/light_switch/directional/east, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "xNV" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -72659,16 +73633,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/catwalk_floor/flat_white, /area/station/science/auxlab/firing_range) -"xNZ" = ( -/obj/structure/disposalpipe/sorting/mail/flip{ - dir = 4 - }, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/obj/machinery/light/cold/directional/south, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "xOm" = ( /obj/effect/turf_decal/delivery, /obj/machinery/door/poddoor/shutters{ @@ -72692,12 +73656,6 @@ /obj/effect/landmark/start/research_director, /turf/open/floor/iron/dark/small, /area/station/command/heads_quarters/rd) -"xOB" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/turf/open/floor/iron/grimy, -/area/station/service/theater) "xOE" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72727,16 +73685,6 @@ /obj/machinery/airalarm/directional/north, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) -"xOP" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/siding/wideplating/dark/corner, -/obj/effect/turf_decal/tile/dark_red/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig/entrance) "xOR" = ( /obj/machinery/atmospherics/components/unary/vent_pump/siphon/monitored/mix_output{ dir = 8 @@ -72780,6 +73728,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/security/prison/rec) +"xPs" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 5 + }, +/turf/open/floor/grass, +/area/station/service/chapel) "xPv" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -72794,6 +73748,20 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron, /area/station/hallway/secondary/recreation) +"xPJ" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/neutral/line{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/hallway/primary/central/fore) "xPN" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -72802,10 +73770,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"xPR" = ( -/obj/structure/flora/tree/jungle/small/style_random, -/turf/open/floor/grass, -/area/station/service/chapel) "xPW" = ( /obj/item/kirbyplants/random/fullysynthetic, /turf/open/floor/wood/parquet, @@ -72873,16 +73837,6 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/hop) -"xQx" = ( -/obj/structure/table, -/obj/machinery/computer/security/telescreen/ordnance{ - pixel_y = 2 - }, -/obj/machinery/newscaster/directional/north, -/turf/open/floor/iron/dark/side{ - dir = 1 - }, -/area/station/science/ordnance/testlab) "xQy" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -72897,6 +73851,14 @@ /obj/structure/cable, /turf/open/floor/stone, /area/station/command/heads_quarters/captain/private) +"xQE" = ( +/obj/effect/turf_decal/siding/wood, +/obj/effect/turf_decal/siding/wood{ + dir = 1 + }, +/obj/effect/landmark/start/hangover, +/turf/open/floor/stone, +/area/station/service/bar) "xQG" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -73046,10 +74008,6 @@ /obj/structure/barricade/wooden/crude, /turf/open/floor/plating, /area/station/service/abandoned_gambling_den/gaming) -"xRZ" = ( -/obj/effect/turf_decal/siding/wood, -/turf/open/floor/grass, -/area/station/service/chapel) "xSd" = ( /obj/structure/closet/firecloset, /obj/effect/turf_decal/tile/red, @@ -73073,13 +74031,6 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/atmos) -"xSp" = ( -/obj/structure/disposalpipe/segment, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "xSt" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/effect/turf_decal/stripes/white/line{ @@ -73250,13 +74201,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"xUG" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/north, -/turf/open/floor/iron/cafeteria, -/area/station/service/kitchen) "xUL" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -73332,12 +74276,6 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) -"xVo" = ( -/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/service/hydroponics) "xVv" = ( /obj/structure/cable, /turf/open/floor/iron/white/small, @@ -73464,6 +74402,11 @@ /obj/effect/turf_decal/tile/blue, /turf/open/floor/iron/white, /area/station/medical/medbay/aft) +"xXe" = ( +/obj/effect/spawner/random/structure/closet_maintenance, +/obj/effect/spawner/random/maintenance, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "xXi" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -73503,6 +74446,13 @@ /obj/machinery/power/apc/auto_name/directional/north, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"xXD" = ( +/obj/effect/turf_decal/siding/thinplating_new/light, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron/white/small, +/area/station/service/hydroponics) "xXG" = ( /obj/structure/bed, /obj/item/bedsheet/cmo, @@ -73635,6 +74585,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"xZe" = ( +/obj/effect/landmark/start/chaplain, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/turf/open/floor/stone, +/area/station/service/chapel) "xZg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/turf_decal/tile/neutral, @@ -73754,12 +74711,6 @@ /mob/living/basic/spider/giant/sgt_araneus, /turf/open/floor/stone, /area/station/command/heads_quarters/hos) -"yaG" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/wood/large, -/area/station/service/chapel) "yaI" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -73830,11 +74781,10 @@ }, /area/station/hallway/secondary/entry) "ybF" = ( -/obj/machinery/atmospherics/pipe/smart/simple/general/visible{ +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/white/side{ dir = 4 }, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/engine, /area/station/science/xenobiology) "ybJ" = ( /obj/structure/cable, @@ -73848,18 +74798,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron/textured_half, /area/station/security/brig) -"ybL" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/medical/medbay/lobby) "ybM" = ( /obj/structure/window/spawner/directional/west, /obj/structure/window/spawner/directional/east, @@ -73870,6 +74808,13 @@ "ybO" = ( /turf/closed/wall/r_wall, /area/station/engineering/atmos) +"ycb" = ( +/obj/effect/turf_decal/weather/dirt{ + dir = 6 + }, +/obj/structure/flora/grass/jungle, +/turf/open/floor/grass, +/area/station/service/chapel) "ycd" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -73914,21 +74859,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"ycx" = ( -/obj/structure/chair/sofa/bench/right{ - dir = 1 - }, -/obj/machinery/camera/directional/south{ - c_tag = "Atmospherics - South" - }, -/obj/effect/turf_decal/tile/blue, -/obj/effect/landmark/start/hangover, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/entertainment/directional/south, -/turf/open/floor/iron/dark/side, -/area/station/hallway/primary/central/fore) "ycC" = ( /turf/closed/wall/r_wall, /area/station/command/bridge) @@ -73947,15 +74877,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/smooth_edge, /area/station/engineering/supermatter/room) -"ycZ" = ( -/obj/structure/disposalpipe/segment, -/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/medbay/lobby) "ydf" = ( /obj/effect/turf_decal/siding/wood{ dir = 4 @@ -73997,15 +74918,11 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/wood/tile, /area/station/command/bridge) -"ydu" = ( -/obj/structure/cable, -/obj/structure/disposalpipe/sorting/mail{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt, -/obj/effect/mapping_helpers/mail_sorting/service/bar, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) +"ydz" = ( +/obj/machinery/vending/cigarette, +/obj/effect/turf_decal/tile/blue, +/turf/open/floor/iron/dark/side, +/area/station/hallway/primary/central/fore) "ydH" = ( /obj/effect/turf_decal/box/corners, /obj/effect/turf_decal/box/corners{ @@ -74072,17 +74989,6 @@ /obj/structure/sign/warning/test_chamber/directional/east, /turf/open/floor/iron/white, /area/station/science/robotics/augments) -"yeu" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/hydroponics/glass{ - name = "Hydroponics" - }, -/obj/effect/mapping_helpers/airlock/access/any/service/hydroponics, -/obj/machinery/door/firedoor, -/turf/open/floor/iron/textured_half, -/area/station/service/hydroponics) "yeD" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment, @@ -74143,12 +75049,6 @@ dir = 8 }, /area/station/maintenance/starboard/greater) -"yfj" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron/white, -/area/station/hallway/primary/starboard) "yfs" = ( /obj/structure/closet/l3closet/scientist, /obj/item/storage/bag/xeno, @@ -74176,15 +75076,6 @@ }, /turf/open/floor/iron/small, /area/station/commons/fitness/locker_room) -"yfH" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/structure/displaycase/trophy, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/smooth, -/area/station/service/library) "yfJ" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/decal/cleanable/dirt, @@ -74211,6 +75102,11 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/department/science/xenobiology) +"yfX" = ( +/obj/machinery/space_heater, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating, +/area/station/maintenance/central/greater) "yfY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -74221,35 +75117,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/security) -"yga" = ( -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/white, -/area/station/hallway/primary/starboard) -"ygd" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/spawner/random/engineering/atmospherics_portable, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "ygf" = ( /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Lab - Test Chamber"; network = list("ss13","rd","xeno") }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "ygu" = ( /turf/open/floor/iron/white, /area/station/hallway/primary/starboard) -"ygB" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/airlock/bronze{ - name = "Backstage" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/turf/open/floor/wood/parquet, -/area/station/service/theater) "ygK" = ( /obj/structure/table, /obj/structure/window/reinforced/spawner/directional/west, @@ -74421,15 +75298,6 @@ /obj/item/clothing/head/utility/welding, /turf/open/floor/iron, /area/station/science/robotics/lab) -"yiv" = ( -/obj/structure/disposalpipe/segment, -/obj/structure/cable, -/obj/machinery/door/airlock{ - name = "Greenroom Maintenance" - }, -/obj/effect/mapping_helpers/airlock/access/all/service/theatre, -/turf/open/floor/plating, -/area/station/maintenance/central/greater) "yiL" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -74450,6 +75318,17 @@ }, /turf/open/floor/iron, /area/station/science/robotics/lab) +"yiY" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/neutral{ + dir = 4 + }, +/obj/structure/sign/departments/holy/directional/north, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/port) "yjc" = ( /obj/machinery/rnd/production/techfab/department/cargo, /obj/effect/turf_decal/delivery/white, @@ -74466,12 +75345,6 @@ /obj/machinery/newscaster/directional/west, /turf/open/floor/iron/white/small, /area/station/science/cubicle) -"yjD" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 1 - }, -/turf/open/floor/grass, -/area/station/service/chapel) "yjE" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/engine) @@ -74488,6 +75361,10 @@ /obj/structure/cable, /turf/open/floor/iron/smooth, /area/station/engineering/supermatter/room) +"yjP" = ( +/obj/structure/flora/tree/jungle/style_2, +/turf/open/floor/grass, +/area/station/service/chapel) "yjQ" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/machinery/power/apc/auto_name/directional/east, @@ -83674,7 +84551,7 @@ wBo giq wBo vmL -apj +hZf kwH nID vmL @@ -83956,12 +84833,12 @@ brC brC pfx ybO -akZ -akZ -akZ -akZ -akZ -akZ +aJq +aJq +aJq +aJq +aJq +aJq gcs blb blb @@ -84185,7 +85062,7 @@ vmL wBo mnx ylK -qBD +aRS gKs hXt mXm @@ -85283,7 +86160,7 @@ jxJ slw dDd vuj -aPj +cYS rhC pee qyT @@ -85291,7 +86168,7 @@ pLZ pWF fMQ qCb -qZf +vgh yaI qRN erg @@ -85299,7 +86176,7 @@ sNg yaI wRN yaI -oUx +xyM yaI xQy qRN @@ -85541,7 +86418,7 @@ slw qtJ qdu tyD -kai +lFq sor whL sYs @@ -85556,7 +86433,7 @@ jch wZS tCm onw -jeV +csv gun mKD snZ @@ -85797,7 +86674,7 @@ pZK npA tYj riV -rGt +slw mhk mhk mhk @@ -85813,7 +86690,7 @@ gdn qyT tDb ttX -xBZ +iNC qyT nvK xBe @@ -86051,26 +86928,26 @@ oRr poM uzJ mKB -npA -trl -riV -uQR -mhk -spW +aLm +slw +lLi +slw +gMX +hEu ozn ozn pXC -xYJ mhk +mhk +qyT whL -rym whL -rym whL qyT +qyT tDE tWQ -unM +ggc qyT sbx lgj @@ -86307,27 +87184,27 @@ owl oSb ppk mjQ -vFQ -npF -mhk -riZ -npF -mhk -pev +fLF +ahr +nFX +nFX +ozn +pSP mhk mhk mhk mhk mhk -uRX -vzP -vzP -vzP -wjK +cgV +qHr +gyc +dVQ +wFY +ahf wBm wXk xKG -qHH +suM yea yea yea @@ -86564,27 +87441,27 @@ lkI oSg lWF mjV -qbw -npS -nFX -nFX -ozn -ozn -sqe +pHs +mhk +ihb +ozt +dEQ +sqz mhk -pMg -pYE -vzP -aWw -vkG +iSD +pbw +twN +mSQ +jWj +bIJ +bIJ xYD -xPR -tzJ -xRZ -wBm +yjP +hVO +wAW wXk oOy -xOS +atS uHI vlY vGp @@ -86824,24 +87701,24 @@ qby qby mhk mhk -xYJ -udt -rXw -sqz mhk -yjD -xYD -rLT -qCg -qZB -cPd -wWa -xYD -quJ -wAW +xxT +mhk +mhk +pGS +sUN +lsP +pHA +iSD +iSD +iSD +oVW +ePt +jlW +wBm hDT glM -xOS +atS wEG wEG wEG @@ -87082,23 +87959,23 @@ mLh nry qRq mhk -xLO +vdL mhk mhk -mhk -csp -qZB -uaa -qCR -ram -ryp -qZB -xYD -xRZ +cXb +sry +uoR +neF +hHy +hAB +jCm +iSD +bnQ +fVF wBm wXk jte -uoh +diI yea vmt dzi @@ -87117,7 +87994,7 @@ blb blb blb xkt -rGm +heY xOq mxg nPu @@ -87339,23 +88216,23 @@ mLk nsL kVn srn -uSM -rYv -srn -sMi -pMu -qaA -qkv -qCi -raC -dty -vzW -syv -wlF -wzk -tDJ -blq -cNu +iHT +pRc +mhk +pbw +rpF +neF +hmC +xZe +eWk +hAB +iSD +cib +vTn +wBm +wXk +dTH +xFS yea vmH yea @@ -87597,22 +88474,22 @@ dVW qSS mhk tKf -rYD +kwy mhk -jrZ -xYD -jEU -uXN -qCR -raX -vkz -agF -syG -pHN +bBh +qzP +tBk +keL +tts +tBk +keL +iSD +rnr +aCz wAW -wXk +spo xiF -uoM +gEx yea vne wMA @@ -87854,22 +88731,22 @@ mhk mhk mhk xmI -pbu +ivh mhk -mYS +fme +flw +apq +bJx +hHy +sMj +vqF +iyR xYD -yaG -qOp -qCR -uSC -vkz -vAA -szy -xRZ -wAW -iLK +tev +wBm +wXk glM -khE +uAk yea vmX vij @@ -87905,7 +88782,7 @@ qVP kvO tug hXU -wVs +iCi pxj hAC cVC @@ -88111,22 +88988,22 @@ mhk nFY mhk mhk -xLO -mhk -ptZ -sYF -yaG -qkw -qCR -raX -rzu -agF -xYD -wlQ +mze +iLH +oyz +tmi +klN +tBk +miF +keL +lvJ +ahl +gRm +rmk wBm wXk glM -xFO +atS rQC vne vHV @@ -88368,28 +89245,28 @@ mhk xYJ xYJ tYL -pbu +mSA mhk -mhk -oqE -qbr -hNT -qCR -rba -rAb -vAR -vSE -woB -ntw +jSJ +tOd +qzP +tBk +miF +keL +xPs +qOb +iQp +xyt +wBm vuR xgA -wNR -qnu -vnn -vIg -wdV -wyY -eqP +hiK +lei +pvi +pvi +buc +uAi +njs uAi fEC rui @@ -88405,7 +89282,7 @@ sNr syk vYD lox -dXo +rdW vTV iWj lRV @@ -88620,33 +89497,33 @@ lme lHe lWU tca -mCb +urF mhk xZd mhk sNW -xLO -xLO +mze mhk -sYK -sYF -uao -vzP -vzP -vkG -bOl -xYD -xRZ -wAZ -wXk -xgN -rsQ -kar +shR +ugI +rYs +dPx +nqY +keL +iSD +fGW +bIJ +cdB +wAW +rpB +jzr +rpE +tAF vnr -vIh -wfb +caD +buc alg -xfU +qwK xjU fEC kJJ @@ -88662,7 +89539,7 @@ xkt ujA cDH fFH -fYX +oBT vTV vTV xxO @@ -88882,28 +89759,28 @@ mhk qTJ mhk rGN -xYJ -pbu +mze mhk -mhk -xpT -xYD -xYD -xYD -xPR -xYD -vSX -tdg +feL +peU +iSD +dPx +miF +keL +iSD +iSD +iSD +iSD wBm wXk -bVv +pEO xOS rQC von -vne -wgj +pvC +aLS +wzS wzS -kzd tAu fEC rui @@ -88913,17 +89790,17 @@ qVP llW llW xkt -nNb -ejc +geH +buf dah urw urw -rzG -rIH +hCd +jwl cFg hWJ -htV -ild +vnD +xfm voJ qxv apk @@ -89139,28 +90016,28 @@ mhk mhk mhk mhk -sqz -xLO -xLO +mze mhk -tCk -uaE -uty -rbh -tTG -sdg -tEU -hpP -wAW -mdU -xhe +fgT +ycb +aWr +dPx +miF +oIL +hHy +kzV +hHy +eYB +mIE +wXk +glM oMF yea vrf von wgn pRe -xhj +wgn aHq xMg rui @@ -89392,32 +90269,32 @@ lIf lXn srn ntJ -jCA nGu +xYJ ina mhk +gLV mhk -mhk -sMG -mhk -mhk -mhk -mhk -mhk -mhk -sdQ -mhk -mhk +bTo +sNA +iSD +dPx +miF +miF +miF +miF +miF +juP wAW -wDJ -xhH -rje +lqq +ckP +cQI yea yea vJn wgA guY -xhA +oRy guY fEC fEC @@ -89649,32 +90526,32 @@ lIn lXY mhk ina -tYL -nGJ -ntJ +pyA +ina +xYJ +xYJ +xsD srn -oSh -ntJ -pug -mhk -lJY -bmM -uSM -uSM -vmz -rYv -pug -mhk -fju -wWT -glM -iwZ -uIt +xxj +cSb +iSD +dPx +miF +fMX +wha +wha +wha +mkz +hla +wXk +uQK +iXZ +vpg yea vJA vKa guY -xiA +brj iQU pIw pIw @@ -89906,33 +90783,33 @@ lIq lYt mhk xYJ -qAE -tYL -mhk -mhk +lwC tYL mhk -xen -lJY -oSS -mhk mhk -oDK +fpN mhk -mhk -qSv -sNv -wDV -tET -glM -xFO +kZj +kzz +iSD +nrp +miF +keL +iSD +iSD +iyR +rya +wBm +kvD +xiS +crm dyq yea vKa wgM guY -xdD -hkJ +vhr +pwN liJ pwN pTq @@ -90102,7 +90979,7 @@ hyx cDE fCW oPa -xfB +sXE qKx xed rbp @@ -90163,33 +91040,33 @@ lIw lYw mhk qjn -xYJ +uiw ina mhk ozt -oSP -uIW -puj -pNy -mhk -mhk -uwU -lVm -rAn -mhk -mhk -mhk +mrn +vRn +wku +bKv +jCm +dPx +miF +keL +iSD +iSD +uOz +qzP wAW -wXk -jte -xFO +yiY +nSb +xOS yeF xle xle xle xle xle -xKx +jlz kte cVh fEC @@ -90211,7 +91088,7 @@ myy dDQ utP bVO -fpd +ezV wuc iiX sos @@ -90420,33 +91297,33 @@ lJV cYT mhk mhk -sfL +dDi mhk mhk sNW -wht -mhk -xIl +jQv mhk -mhk -nwS -ozo -lVm -ebB -yfC -hAd -enD -thv -tEW -blq -uoW +oOC +qXr +dhu +kZI +miF +keL +jCm +hOO +lzG +tWm +wBm +fNW +beN +oRw xle xle slZ -nGd +iIU wAj xle -qvQ +jep guY yaW fEC @@ -90676,38 +91553,38 @@ slY mhk mhk mhk -xYJ -xYJ +rZb +jXc xYJ nZW xYJ -wht -mhk -sZj -pOb +jQv mhk -gzj -uye -sVl -qGA -puv -xVo -sPt -mKY -wWT -xiF -xOS +rqF +aFb +fVF +kZI +miF +keL +iSD +iyR +cLL +rPW +wBm +fNW +iZW +uoh xle -vrt +pgm swu iDA wAS xle -xxE +bXi tuZ fEC fEC -xpo +rPL lGd dAn cjR @@ -90933,26 +91810,26 @@ slY rXw lYT mhk -xYJ -mhk +uiw mhk mhk mhk -rZK mhk -sNW -xIl +ete mhk -ubB -ozo -rcr -rBx -yfC -szz -efL -mJW -wWT -glM +ani +wJT +sGk +kZI +miF +keL +iSD +iSD +eln +jlW +wBm +fNW +uQK xOS yeS vrz @@ -90960,11 +91837,11 @@ dxG wiC dOT xle -pIg -xNI -uMI +chh +aul +jPo rOG -dPI +dFQ fEq rpV qVP @@ -91187,29 +92064,29 @@ kso kYG kYG pep -lJY -uSM -naE -rYv -rYv -rYv -rYv -rYv -oSS -mhk +nJo +avY +oHk +jRJ +cAZ +iHT +vMP +vMP +eRy mhk -pOj -mhk -yfC -yfC -rdo -rBG -yfC -cpc -iwa -yfC -wWT -jjS +pbK +keQ +qzP +kZI +miF +keL +iyR +sSN +ttb +dIQ +wAW +fNW +oYi xZg lBN hKU @@ -91217,8 +92094,8 @@ ixl qyx vXr jTh -tWE -xNZ +wXe +fuu qVP qVP qVP @@ -91444,29 +92321,29 @@ uxd xaZ dZm slY -lKt +ilo tYL mhk -mhk +twm mhk mhk oaa mhk oTH mhk -xHB -pOK -qoi -iEX -yfC -aws -fMD -sdT -vTN -aws -yfC -lzv -glM +lji +ttb +qzP +kZI +miF +keL +lmm +lkJ +nxK +fVF +wBm +fNW +uQK qHH xle dnK @@ -91474,8 +92351,8 @@ vKV wjG wPh xle -bOg -xOP +eof +hQx hDN dcc vRC @@ -91545,7 +92422,7 @@ xIj eoz eoz tTW -nha +bQy tMS xIj vfN @@ -91701,29 +92578,29 @@ ksx mEB slY ueX -wht +jQv sNW mhk -mSi -qBj -uVb -rkR +fkN +nUK +bjh +kbk mhk mhk mhk -vgJ -uAV -tDT -fDp -yfC -hwe -rBN -aws -vTN -oMC -yfC -pTc -rgT +oOC +lPq +uCB +kZI +miF +keL +jgq +hYh +qXr +oul +wBm +dcD +pOM upg xle xle @@ -91731,8 +92608,8 @@ xle xle xle xle -keZ -reT +gyx +uTz ybj uab rjN @@ -91958,29 +92835,29 @@ ksA oJR oiw mhk -wht +jQv sqz mhk mTd qBz qTR -rlz +kym rHD qVR wCR -rHL -tDP -qbC -lsJ -yfC -jKh -fMD -vBm -vTN -sQU -mKY -wWT -glM +ani +gUN +iSD +kVg +miF +keL +bQd +ani +hKZ +fVF +wBm +fNW +uQK xOS kWJ tJz @@ -91988,8 +92865,8 @@ tIa mvv jsS ocz -wId -uZb +nPe +lTa hDN xyx xjg @@ -92170,7 +93047,7 @@ gKL upG daC jBo -oEt +xrN gpI lhq cBw @@ -92215,29 +93092,29 @@ khZ nSY nYQ mhk -oUO +ifl mhk mhk wCR wCR qUs -cxT +vAl qmz -oTO +uvb wCR -uej -wms -qbK -jza -yfC -hwe -fMD -aws -vTN -vST -yfC -ijm -jte +swM +mEb +iSD +kZI +miF +vXd +iSD +gVL +pyt +tXy +wAW +chC +nSb xOS par tJz @@ -92245,8 +93122,8 @@ kql kql rAR ezM -wId -dtj +nPe +nnd hDN vcl tPf @@ -92433,7 +93310,7 @@ hpj rYL gpI jlL -iwJ +qQR bNq neg wZr @@ -92472,29 +93349,29 @@ ktM sOP otG mhk -xen -ptk +oEn +lPK mhk mTN wTO qVR -rlz +kym rHH oUJ wCR -pup -tbq -qcl -uej -yfC -aws -rBQ -aws -vTN -say -yfC -rjH -glM +aQc +iSD +iSD +kZI +wtV +keL +iSD +ojA +uPW +rPW +wBm +fNW +uQK xOS uJD tJz @@ -92502,8 +93379,8 @@ uZk gOw jsS iAM -wId -puY +nPe +byv vEP qVV qVV @@ -92511,7 +93388,7 @@ qVV qVV qVV qVV -fWw +grH qlc xur nGi @@ -92729,29 +93606,29 @@ kua lEm oiL mhk -lKu -cXm +kPo +wkK mhk wCR wCR qVZ -rlB +kCB rJo sas wCR -rYd -tbq -qdm -aeq -qEp -bCX -bCX -sei -qDp -sQY -mKY -wWT -glM +cXb +iSD +iSD +lPB +odH +keL +iSD +gOt +bYh +uoR +wBm +fNW +uQK xOS uKA uBc @@ -92759,8 +93636,8 @@ tuZ tuZ uBc xjX -wId -dtj +nPe +nnd vEP gxg djg @@ -92819,7 +93696,7 @@ dDB dDB dDB dDB -dbY +qyN kgu wOl dby @@ -92987,37 +93864,37 @@ kIO wnd mhk mhk -wht +sBf mhk mUt wTO uSI -rlN +scY rJo bHU wCR -roV -tbq -tSh -aeq -qFB -rdK -rDf -sel -rDy -uWB -yeu -eTt -tXT -wHE -qnz -vtc -vLf -wZd -sWJ -xkg -sxL -jKm +rik +hyW +iSD +lPB +miF +keL +mye +lZT +uoR +iSD +wBm +mcI +fyW +bcC +hNj +kKh +ebE +iHq +azV +oLo +sCq +nXx vEP wXC crJ @@ -93076,8 +93953,8 @@ dDB dDB dDB dDB -eeq -hhZ +rMm +uPX fSf wRa xXJ @@ -93244,36 +94121,36 @@ msq laD gSX mhk -wht +jQv mhk wCR wCR wCR -rmG +iuF ozO -nuX +rxa wCR -uMg -tcB -uMg -uej -uzd -uUI -bUf -fVV -szG -wow -pxl -wXO -xjh -alh +iSD +tzN +pnK +dbZ +wha +bej +spk +iSD +iSD +iSD +wAW +wXk +qjt +sJv slM tJz vLC rRq jsS ezM -xye +fLJ oZi vEP uQu @@ -93483,7 +94360,7 @@ hCX vwZ gEM iCw -jDP +bnn lBz mJe iDO @@ -93501,36 +94378,36 @@ kJb laL loj mhk -scz +jby mhk mVM aSI xRV -oaV +oFy xZS xZS xRV -bUt -tcP -bUt -xRV +xZS xRV xRV +rcP xRV +xhk xRV -szH -sRv +xZS +xZS xRV -saZ -sxw -upj -mTq -wfP -mJB -mJB -gvn -toY -eAX +aXC +jsJ +mKm +qZj +vrS +fKr +sfu +sfu +ugb +wrk +wbd lbO ybJ fbe @@ -93707,7 +94584,7 @@ sHM iqB fdy hnS -sKD +vvC hxY vpZ oRj @@ -93742,45 +94619,45 @@ wbi wbi wbi hnO -tgR -wbi -oDs -rrC -iqN -mDq -snc -snc -lVL -snc -nys -snc -nTj -snc -snc -mAo -lYU -mmp -mZg +nxI +sxZ +qGc +pfw +sar +tSA frI -uQi -sfK frI +uIv frI -pfw +aDJ +hKV +mZg frI -pPT -xJR -ofo -mLi -vsl -ewi -uny -xJR frI -ldZ -wXk -sxw -xOS +oyp +mXZ +mUm +mAR +qWG +fkS +tDM +qWG +qWG +rvr +qWG +mOV +cQG +oUi +twe +qWG +rDv +qWG +qWG +ghL +vWw +aBo +rZz +tfM nsO uBc tJz @@ -93964,7 +94841,7 @@ qjx iqB phY jmZ -oJl +agY bDh fPY xkX @@ -94015,29 +94892,29 @@ pWM foe jpu lKA -jpu +amh jpu qdS jpu -qWm +xfX xmu jpu jpu jpu foe -xmu +jpu lKA +amh jpu jpu -fMj fXJ jpu aRJ wRg -gNU -tFY -tYb -xOS +rPA +iUh +sXs +atS ftX udA mJB @@ -94270,31 +95147,31 @@ kfw yeD kJj yjZ +fUC yjZ +lCK yjZ -lZD -yjZ -nau -yjZ -nHB -obm -oAk -oWb -pfO -siC -siC -siC -siC -siC -qio -siC -siC -siC -rCd -wXZ -tIc -xGc -xOS +dOf +wWD +wvk +vkC +fUC +dKm +rEJ +fUC +fUC +fUC +fUC +fUC +fUC +fUC +fUC +uqF +dff +qGe +gNP +hzp +atS ftX fnP gvV @@ -94526,32 +95403,32 @@ xRV vIJ kux wGz -lbh -oAF -riu +yaL +dAC +dAC +yaL +fNC +rpv +cXh +jVM xeO wMg -qej +xeO +xeO +xeO +xeO +kTm +sot +xeO wMg -jVM -jVM -ceE -jVM -jVM -vkh -vkh -efC -efC -vpN -oTo -dHi -vpN -vkh -vkh -wBm -tIc -sxw -xIy +wMg +wMg +xeO +xeO +cUf +gNP +uQK +iUH isK uBc uBc @@ -94781,36 +95658,36 @@ lEa lWk xRV owR -nAx -tmQ -xeO -xeO -xeO -xeO -mnn -naO -yfH +wLo +xfe +ehT +urq +ddB +yaL +yaL jVM -wzj -uPd -row +wRO jVM -puD -pQe -qdp -qme -ycS -hWQ -ycS -ycS -vUq -uNW -mku -tIc -sxw -xuU +rEF +kGE +waI +xeO +tnZ +oPy +lql +lql +cik +wKr +dsl +wMz +ntP +rNL +xeO +gNP +uQK +hWm fvh -ogX +abB tCF ncD blb @@ -95039,39 +95916,39 @@ jLI xZS vrn nzK -lkZ -xeO -lpa -iTv -xeO -izB -jFY -xyY +wQB +yaL +ids +wgI +uuz +iVP jVM -paV -wLJ -ojl +cKt jVM -vwg -ycS -tEI -ycS -uAF -ree -rFQ -ycS -ucV -vkh -oBm -tIc -bxA -gYK -wAW -vtv -kev -qtl -qtl -qtl +hIm +azq +iTv +wMg +wKr +vtr +mcV +iGq +uTE +eKD +oCi +wFd +wFd +wFd +nEq +qie +oCV +kuk +iuR +iuR +dDB +dDB +dDB +dDB dDB dDB dDB @@ -95296,39 +96173,39 @@ gBw xZS vrn ncL -qwz -xeO -wKr -lql -xeO -wJV -nbu -xyY -jVM -uPd -jVM -sbm +wQB +joH +lte +tsB +iGS +oTg +fri +moG jVM -vkh -paL -ycS -uAX -uAX -reW -uAX -vEq -szM -vkh -qOt -wYr -tYd -hgE -jqQ -uNn -vOh -qTM -qTM -qtl +tPX +gfm +rcE +fRX +gAH +mmL +mmL +qDC +btY +mUi +xMu +qmM +vSi +hEJ +wMg +ocv +eZi +kHX +tYX +dDB +dDB +dDB +dDB +dDB dDB dDB dDB @@ -95551,41 +96428,41 @@ qCJ xQw jLI jYU -vrn -ncL -wQB -wMg -wKr -eUW -xeO -eGl -nbZ -ntY +pZv +sjL +tNf +iiI +hnn +jRl +kqZ +buU jVM -uPd +rpg jVM -lxK -rnw -sON -vkh -tFG -qmx -uBn -iZI -vpU -bKP -vkh -vkh -uGp -wYr -tYH -mVa -uLn -aTr -hyl -wlf -qTM -qtl +hdI +kRA +paJ +wMg +iZM +fEX +fkF +jLS +jkT +oxn +saL +iLh +hEJ +hEJ +aIi +qWV +eZi +kHX +tYX +dDB +dDB +dDB +dDB +dDB dDB dDB dDB @@ -95808,41 +96685,41 @@ eHk xQw gtr xZS -vrn +vET ncL -wQB -dNw -lql -azq -lql -lql -wav -qGU +qwz jVM -ydu -qEa -lTZ -tOS -crX -gYg -qdC -qmI -uCh -vRE -vpY -sfh -dks -vkh -tjb -xAP -wAW -urh -wAW -vtv -iho -wlL -wDZ -iho +jVM +jVM +jVM +jVM +jVM +eAm +jVM +uCo +bYE +rYJ +xeO +gLg +jdx +dLW +feR +fZK +qbB +iwt +uSh +uSh +kdg +xeO +mWF +eZi +kHX +tYX +dDB +dDB +dDB +dDB +dDB dDB dDB dDB @@ -96065,41 +96942,41 @@ iWW uVT uVT uVT -vrn +vET nAy uIv -okp -wuw -wuw -jxy -pNa -wuw -dfW jVM -uPd jVM -geC -okK -pvR -vkh -vzM -qmO -rZN -rfI -rHd -vpY -bfI -vkh -tkp -cbT -xli -urv -yeh -blb -kev -fUj -nnR -iho +rXy +bFO +avp +avp +qiI +jVM +bLS +xeO +xeO +xeO +sXD +qSa +feR +aZh +jdx +pOQ +wKr +wKr +kKD +mDA +wMg +jrN +eZi +kHX +tYX +dDB +dDB +dDB +dDB +dDB dDB dDB dDB @@ -96322,42 +97199,42 @@ qJq oIP azm xQw -vrn +vET ncL wQB -wMg -lqF -lLJ -maa -wKr -qgr -ttC -nIS -rnY +aaZ jVM -wlu -gZR -gVq -vkh -orH -cOm -eZJ -vRE -tZR -cOm -szS -efC -wEp -qYu +eAm +jVM +jVM +jVM +jVM +jVM +lzB +jVM +udf +yfC +yfC +yfC +qzt +ljT +vzE +yfC +yfC +yfC +yfC +yfC xli -dDB -dDB -dDB -qtl -qTM -qTM -uMC -dDB +jPI +cVm +ifH +iuR +tYX +tYX +iuR +tYX +tYX +iuR dDB dDB dDB @@ -96579,42 +97456,42 @@ iLC jts wzK eAc -wYD +lcY kuE wQB -xeO -guR -wiU -mad -wKr -qgA -beH +esr jVM rpg jVM +eXB +eIW +mqz jVM -pfU -sON -vkh -glb -vpY -sZQ -fzf -rHm -sgS -szZ -vkh -wEp -wZo -tYX -dDB -dDB -dDB -qtl -qTM -qTM -uMC -dDB +srg +oWU +ayT +sZo +yfC +lnN +egc +qiC +qiC +qiC +qLU +pnF +qiC +mKY +hoc +lhT +jbX +diP +rgM +trB +trB +saz +lcD +gCl +euz dDB dDB dDB @@ -96836,45 +97713,45 @@ eku uVT uVT uVT -lAS +lYl kvl wQB -xeO -lti -kGE -mam -wKr -pZi -iHL -jVM +lmz +rXO rpg -ipt jVM -qqh -hMz -tGq -tGq -qnA -xmt -xmt -wqs -wqs -wqs -xmt -eJY -wZo +uGD +nAq +pSI +jVM +srg +jVM +nrg +xXD +yfC +sJV +uIA +mWT +kHU +pIC +pIC +oun +wBc +kxY +mka +vCi +gnL +diP +trB +trB +trB +ryW +diP +kHX tYX blb blb blb -qtl -qTM -qTM -uMC -blb -blb -blb -blb blb blb blb @@ -97093,46 +97970,46 @@ ghD gaf xQw mvT -vrn +vET kvT -nVD -xeO -skI -hzY -sLc -joy -qgH -wKr +wQB +cZi jVM -qhp -rLw -rsV -pgW -mwP -pRP -tGq -xUG -bgK -qIP -rHQ -shw -kQA -xmt -tmc -wZo +moG +jVM +mLT +wWC +gls +jVM +lzB +jVM +jfT +dEq +wEv +uJi +ntu +jcG +qbA +qbA +hLb +tRJ +wBc +oIY +bMV +dPp +kMA +iuR +tYX +tYX +tYX +iuR +nUd +ong +iuR tYX dDB dDB -dDB -kev -wmY -uPO -iho -dDB -dDB -dDB -dDB -dDB +blb dDB dDB dDB @@ -97350,46 +98227,46 @@ hMh juS uVT mvT -vrn +vET kyO -smf -xeO -lty -xeO -xeO -wMg -dCm -wMg +wQB +drC jVM +eAm jVM -rMV +lMH +uSb +iYd +onc +lzB jVM -swL -sOW -tfa -tHh -qnL -xiL -rgc -rgc -shU -dvl -luU -tmV -wZo +oEz +ptT +yfC +lZf +qCK +bRK +bRK +aTz +qRE +ltr +wBc +usA +bMV +dPp +kUL tYX +blb +blb dDB +tYX +trB +trB +trB +tYX dDB dDB -kev -uPO -mjB -iho -dDB -dDB -dDB -dDB -dDB +blb dDB dDB dDB @@ -97607,46 +98484,46 @@ cpT xQv xQw mvT -vrn +vET ncL -uUE -xeO -oCc -xeO -ctc -joy -qgN -jVg -qbi +wQB +ydz jVM -rMY +lEO jVM -sPE -pvS -tGq -tGq -poh -ono -rgx -rIg -prQ -uXb -sSr -kcs -wYV -xli -blb -blb -blb -qtl -wlf -qTM -uMC -dDB +jVM +jVM +jVM +jVM +joR +jVM +vyP +xnb +yfC +edG +wBc +qiC +qiC +ghj +wBc +wBc +jgx +mKY +bMV +djf +kUL +tYX dDB +blb dDB +tYX +lcF +trB +trB +tYX dDB dDB +blb dDB dDB dDB @@ -97864,46 +98741,46 @@ xYO xYO xYO xYO -qlV -oGJ +lXU +rJZ wQB -xeO -oCc -xeO -kTd -mnu -iZc -omA -vzI jVM -vXW jVM -siz -sPT -lej -tGq -voF -qGw -uVE -rgx -prQ -chP -xmt -qqq -tIA -xli -dDB -dDB -kev -kev -oxS -usl -iho -iho -dDB -dDB -dDB +pXU +avp +bFO +avp +csZ +avp +obi +jVM +jVM +cJv +yfC +yfC +erf +xcz +tkm +yfC +jKb +tQC +yfC +yfC +aub +dPp +lir +iuR +blb +blb +blb +iuR +iuR +bnU +bnU +iuR +tYX dDB +blb dDB dDB dDB @@ -98121,51 +98998,51 @@ oXK uAY uAY xRU -vrn -oGJ -wVZ -xeO -oBV -xeO -mjs -mpC -qhm -xBK -iuL +vET +rJZ +wQB jVM -vXW jVM -fjF -pww -pRU -tGq -qon -uXb -uXw -rgx -prQ -sBp -xmt -wEp -tIL +jVM +jVM +jVM +jVM +jVM +jVM +ksJ +emp +xym +mgW +isO +aiQ +nVw +jJd +uyV +kcM +eRa +eRa +vfo +pkU +lUl +urf +cPj tYX dDB dDB -qtl -suq -wnB -uth -uMW -uMC -dDB +blb dDB +tYX +iNF +diP +fVM +tYX +blb +blb uXY uXY uXY uXY uXY -blb -dDB dDB dDB blb @@ -98378,53 +99255,53 @@ iYh lZt lZt xYO -hBK -dTS +uBI +kTX sbU -xeO -oCc -xeO -maz -mqc -xfw -fcM +xZS +lHp +tjs +qqH +kBM +blC jVM +gLo +cTn +ajQ jVM -nKk -rgf -kWF -pxO -gHt -tGq -scC -qGY -uXb -rIS -prQ -oYu -sSt -tqq -wYF +aLB +ilx +qEO +fQd +oNF +sGN +bzj +tmD +lEs +jUr +uMg +msk +wmX +kUL tYX -dDB -dDB -qtl -jSK -qpg -uuv -uMX -uMC blb blb +blb +blb +tYX +iNF +trB +fOW +tYX +dDB +dDB uXY dvo hkW rLN uXY uXY -dDB -dDB -dDB +blb blb dDB dDB @@ -98635,44 +99512,46 @@ xYO xYO xYO xYO -mZh -rbU -uIv -voa -uZY -xeO -xeO -xeO -jVM -jVM -jVM -obU -ggq +ujB +dtO +gwx +aNj +jvd +fEF +nlQ +chI +mTT jVM +jTj +keb jVM -jVM -jVM -jVM -voL -uXb -uXb -rJh -vEI -sxd +tGq +tGq +xmt +xmt +lAt +xmt +xmt +xmt +hrl +xmt xmt -wEp -tIL xli +iFD +fzT +kUL +tYX +blb +aef +fBN dDB -dDB -kev -bjV -qBy -uwl -kdl -vPC -qtl -qtl +tYX +tKl +trB +oIS +iuR +anX +anX uXY iTn nBw @@ -98680,8 +99559,6 @@ nId mpk uXY dDB -dDB -dDB blb dDB dDB @@ -98892,53 +99769,53 @@ iYj sDp gZy kke -kgz -oGJ +laK +rJZ wQB -xeO -lus -uZY -wvn -uZY -ndq -nuv -nKm -aoJ -aBy -mAn -wzj -atM -cNF +xZS +dib +woz +uvs +mpx +oxy +jVM +jTj jVM -qpX -qHm -aes -rJl -hBr -vUG +tGq +bTD +tGq +sxl +aTg +oPh +qDL +jKV +vTP +rpo +mjr xmt -ffX -tJG -xli -blb -blb -qtl -qTM -vHL -ozd -fYp -xbP -hYm -rUB -uvh +ptf +xBd +qXP +kTF +iuR +dDB +eVX +qGf +blb +iuR +oqT +trB +xrE +wZx +lRU +fOJ +bgx xcv nBw ghQ nId uXY dDB -dDB -dDB blb blb blb @@ -99149,52 +100026,52 @@ opn jwa opn jYY -aEl -oGJ +ndJ +rJZ wQB -xeO -xeO -xeO -puw -xeO -jVM -uPd -wzj -jVM -jVM -ceE -jVM -jVM +xZS +sRT +hdW +auP +kGw +vQx jVM +lzB jVM -efj -xKa -xKa -rJv -tax -vUZ -qKE -wEp -tJD -xli -dDB +haH +cZI +tGq +ipG +aTg +cri +bOG +uRv +als +cXH +nZG +xmt +liw +rzy +qFc +cEo +tYX dDB -kev -kst -qSU -uwx -agC -kqo -qtl -qtl +kii +nun +blb +tYX +rNN +trB +bNL +iuR +anX +anX uXY hzb erK iPj bob uXY -nnk -dDB dDB blb dDB @@ -99406,53 +100283,53 @@ iYD jLR jLR xMY -tSe -oGJ -wQB -wix -xeO -hee -mbK -mqz +dCu +eXR +eBC +jVM +jVM +jVM jVM -uPd +mbf jVM jVM -mRp -aeN -lSw -hym -fhC -mKH -qrw -xCu -rij -xCu -xCu -xCu -asN -wEI -tIL +ulE +jVM +amK +kjx +rzH +mog +aTg +gbj +iId +iId +bvi +aTg +aTg +aIr +sWq +gLO +pbD +kUL tYX -dDB -dDB -qtl -jSK -rjz -uxi -uMX -vnb blb blb +dDB +dDB +tYX +iNF +trB +fjq +tYX +dDB +dDB uXY cHX qYh qXG uXY uXY -dDB -dDB -dDB +blb blb dDB dDB @@ -99638,7 +100515,7 @@ xvT fAx fVU xvT -gvY +xvT blb blb blb @@ -99663,51 +100540,51 @@ qTD azv jNe psc -tSe -oGJ +dCu +rJZ wQB xAV -xeO -lMy -iJN -pSI +ngv +nCX jVM -qhp -rpy +tUj +xXe jVM -gTV -oXt -xCu -xCu -xCu -xCu -xCu -uCv -ril -vVw -vFv -vVw -lJc -wEp -tIL +ruS +sem +bxl +bMn +tGq +uYM +aTg +pkQ +bBL +iId +bvi +aTg +aTg +aIr +bIN +bVJ +sTb +kUL tYX dDB -dDB -qtl -rOy -rrx -uyg -uOh -vnb -dDB -dDB +blb +blb +blb +tYX +iNF +hrc +fjq +tYX +blb +blb uXY uXY uXY uXY uXY -blb -dDB dDB dDB blb @@ -99919,45 +100796,45 @@ xMY xMY xMY xMY -xMY -tUK -oGJ +voN +sta +rJZ wQB vpT -xeO -lMz -vXo -pSK +txW +eDi jVM +tUj jVM -nKL jVM -oAp -iBg -sze -pya -tgS -sze -wkk -vVw -vVw -oAp -vFE -tPd -sTp -jFf -tKm -xli -dDB -dDB -kev -kev -oxS -uLu -mVY -mVY -dDB +tpQ +jVM +ljg +waY +tGq +cME +aTg +dYu +aTg +aTg +aTg +dYu +ctN +xmt +wUc +nUd +bmY +lir +iuR +blb +blb dDB +iuR +iuR +ifH +ifH +iXi +tYX dDB dDB dDB @@ -100145,7 +101022,7 @@ cRI dbs fkj wct -edU +vRg fKc eVz fTe @@ -100177,53 +101054,53 @@ hHF lGo jNO geE -tWL -oGJ +wCM +rJZ wQB -ycx -xeO -lMH -cnu +eIO +xND +ind jVM +oZy +wlN +wlN +uvx jVM -xCz -rpg -jVM -dNI -vLO -piZ -pyS -gal -vgc -wkk -qJa -vVw -rJT -sih -oup -sTp -wEp -tIA +tGq +tGq +tGq +xmt +ohy +fGk +nmC +nPY +sne +elb +xmt +xmt xli +dQY +bmY +kUL +tYX +dDB blb +dDB +tYX +auF +trB +trB +waD +dDB +dDB +dDB +dDB +dDB +dDB blb -blb -qtl -qTM -qTM -vnb -blb -blb -blb -blb -blb -blb -blb -blb -blb -blb -blb -blb +dDB +dDB +dDB blb dDB dDB @@ -100434,50 +101311,50 @@ oUd lun wNv mzM -tWL -kyZ +wCM +woK kJR +qcB jVM jVM jVM +wrj jVM -jVM -xhQ -nLN -cyh -jVM -jVM -jVM -jVM -jVM -jVM -jVM -qrI -qKE -riM -qKE -qKE -qKE -sTp -vQA -tIL +sON +aYj +vkh +vkh +vkh +pnW +baW +iQe +iQe +ssR +ssR +ssR +ssR +aVA +dfc +vkh +wjT +dPp +kUL tYX dDB +blb dDB -dDB -kev -uPO -mjB -mVY -dDB -dDB -dDB +tYX +trB +trB +trB +waD dDB dDB dDB dDB dDB dDB +blb dDB dDB dDB @@ -100691,53 +101568,53 @@ soO gfs ivl mzM -tWL -uFG -vpI +wCM +ePk +tgx jVM -vML -atM -mdj -jVM -uPd -jVM -nKX -jVM -fSq -hwN -kXO -pyY -pSm +yfX +pRR +wzj +xlU jVM -qrN -ttA -ttA -ttA -ttA -sBz -xvW -tqz -tIL +oVl +uBN +vkh +eNM +vkh +mce +ohK +rrX +tyz +dJv +rVt +rVt +rVt +scR +sfU +vkh +nUd +dPp +aOt +iuR tYX -dDB -dDB -dDB -kev -wmY -uPO -mVY -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB +tYX +tYX +iuR +iNF +xuJ +iXi +waD +blb +blb +blb +blb +blb +blb +blb +blb +blb +blb blb dDB dDB @@ -100948,42 +101825,42 @@ xSx jxC ufb xCl -tYQ -kzu +cYY +wNs wiF jVM jVM -lMK -jVM jVM -xjq jVM -tII -oeF -kGS -kGS -kGS -kSV -pSr -jVM -qsA -uCJ -rjb -rKL -siv -sED -rNq -tmV -tIL -tYX -blb -blb -blb -qtl -qTM -qTM -vnb -dDB +oJO +eoM +cqD +iBt +hmK +dMi +vkh +caW +jMA +tes +rPX +ycS +aMZ +kRs +qsY +ycS +fxW +vkh +nUd +dPp +aww +xuJ +trB +trB +hML +deR +diP +efm +waD dDB dDB dDB @@ -101173,7 +102050,7 @@ eND dbz fkj wct -fEV +bGq eBN fQY fTh @@ -101206,44 +102083,44 @@ jye jOs mAv khS -dIN +aqG mwN jVM -vMV -jbL -xkS -pTC -wLJ +sjK +tnN +nFH +cHG jVM -ygd -jVM -mBy -wzj -kGS -qCC -jVM -jVM -cmH -qKN -wLA -rNA -siP -qTL -jme -tqK -tIL +iXW +dRb +vkh +tjT +svE +lAV +fYJ +eGU +eTJ +vkI +xNA +wuY +oeZ +luP +jFK +hiD +nUd +dPp +aww +vtX +gHg +trB +trB +kHX +kHX +dTg tYX dDB dDB dDB -qtl -qTM -qTM -vnb -dDB -dDB -dDB -dDB dDB dDB dDB @@ -101463,41 +102340,41 @@ quU quU tsF ubK -uFG -gih -lca -oEN -lMN +lRM +vuD +qIb +gJD +hPb jVM -hcB -mAn +cCe jVM -jVM -jVM -jVM -wzj -omU -uAH -jVM -wnK -clc -asn -rkb -rOm -skY -sED -sXk -wEp -tKC -xli -dDB -dDB -dDB -qtl -qTM -qTM -vnb -dDB +kPp +dsP +vkh +bzJ +lnD +fzw +bKO +eGU +eTJ +luE +kfO +phG +gyy +ycS +jFK +tnj +nUd +dPp +aqf +xcK +iXi +waD +waD +iXi +waD +waD +iuR dDB dDB dDB @@ -101720,41 +102597,41 @@ liG rRQ tsF kiB -nBL +izP wNW jVM jVM jVM jVM jVM -qhp -sfX -nLN -rpy -jVM -jVM -jVM -jVM jVM -nAi -uio -xOB -xOB -xOB -xOB -sFJ -xvW -tkp -tMi -xli -urv -yeh -blb -kev -fUj -uPO -mVY -blb +sON +sON +vkh +mae +ksm +opV +fVl +eGU +ebk +vkI +vYW +mDf +aYU +ycS +mno +vkh +nUd +dPp +qBn +nsz +iuR +dDB +dDB +dDB +dDB +dDB +dDB blb qIf qIf @@ -101946,7 +102823,7 @@ xvT itb eip eFk -eYn +gPm xvT fDk gcL @@ -101977,40 +102854,40 @@ jyu ezx tsF vIJ -kzx +nHU twJ tgl iSi fLn mLU -jVM -jVM -jVM -jVM -pXU -mAn -jVM -waS -pzn -xvW -xvW -qtW -rRn -rRn -rRn -rRn -sIh -xvW -gXD -tMj -yeh -uyp -yeh -urv -mVY -sDT -wHX -mVY +tgl +tgl +tgl +vkh +kXC +omk +hsx +pJc +bKO +eGU +xQE +vkI +cIX +ofU +omb +ycS +lJm +vkh +elN +dPp +sFs +fZZ +tYX +dDB +dDB +dDB +dDB +dDB dDB dDB qIf @@ -102234,7 +103111,7 @@ uff mak tsF qlV -uFG +ePk tmQ tgl lut @@ -102242,32 +103119,32 @@ pbd wtv hxp qhs -qIg -jVM -jVM -uPd -jVM -vsq -pbZ -pTl -xvW -qtW -xzp -rOx -rOx -rOx -sIh -xvW -lWb -mpO -lmo -vcP -uPs -fHb -npY -qTM -qTM -qtl +oRv +vkh +cWB +ccv +tVp +ioa +fBB +eGU +eTJ +wAa +oDX +bFd +iBa +grI +ejX +ove +nUd +dPp +jjZ +bje +tYX +dDB +dDB +dDB +dDB +dDB dDB dDB qIf @@ -102307,7 +103184,7 @@ nFD ljP pKS bkY -lVP +lgQ mbq wgL hgF @@ -102491,40 +103368,40 @@ rth mbp tsF kpF -uFG +ePk wQB tgl lvA nyy diK -rTt -xkW -nAO -yiv -ofk -cyh -jVM -naI -ogu -xrz -xvW -qui -vqp -rkF -rQt -uEg -tNc -xvW -hlo -tMy -tZG -aiE -waw -uNn -vOh -qTM -qTM -qtl +xvK +jgb +hRc +vkh +mkD +mpB +dxV +bKO +bKO +eGU +eTJ +wAa +cQN +bXR +cmB +ycS +swW +ove +nUd +cSy +bpY +sMt +tYX +dDB +dDB +dDB +dDB +dDB dDB dDB qIf @@ -102748,40 +103625,40 @@ jyG meu tsF lAS -uFG +ePk wQB tgl wHO pbG wvv -rTt +xvK vGe -crV -jVM -rUS -rOb -htI -awN -sQA -xrz -xvW -quo -uEg -pCX -vqp -slv -bOV -xvW -twf -tMR -tZV -xtZ -yeh -urv -kev -qtl -qtl -qtl +xno +vkh +vkh +mru +vkh +wtw +wtw +pzW +lTy +wAa +fIl +fIl +glA +ycS +jFm +ove +nUd +vip +njT +fGT +tYX +dDB +dDB +dDB +dDB +dDB dDB dDB qIf @@ -103005,35 +103882,35 @@ lGK mfP tsF lPo -kzu +wNs wQB tgl tgl tgl tgl -wRD -hRc -hoU -jVM -rOb -rhD -jVM -sZn -pzX -vII -ygB -xNL -eQv -qmf -vrv -pFr -uCS -xvW -twj -mpO -ubf -oEr -yeh +uIP +dsK +pHY +vkh +blB +wKH +lso +wOt +wOt +gGx +xtD +gIv +cAl +wOt +wOt +wOt +cvX +vkh +aWf +vip +duE +aOh +xli blb blb blb @@ -103060,8 +103937,8 @@ llC rbO llP xQa -pqa -pqa +xep +xep tFQ vLc xrC @@ -103262,35 +104139,35 @@ lGK jOS tsF vrn -uFG +ePk smf aCO -lwa +iLA pcK tgl -mtV +qDd xHD xHD -jVM -jiN -jVM -jVM -xvW -xvW -xvW -xvW -xvW -xvW -xvW -xvW -xvW -xvW -sXo -twl -mpO -amI -uAb -yeh +vkh +jBu +vkh +vkh +vkh +fap +vkh +mib +vfM +vkh +fap +fap +fap +vkh +vkh +bnU +mVc +lab +axd +xli qir qir qir @@ -103519,15 +104396,15 @@ lGK mgt tsF kiO -nDV +nCt wNW +coC +pVj +pVj +cRL +ose vpI -vpI -vpI -pwO -sfK -vpI -vpI +aBB nMW tEL rQN @@ -103536,18 +104413,18 @@ rZq vpI pBu vpI -vpI -oXZ -rQN -vpI -pwO -sIG -vpI -xDs -mpO -ucr -xIK -uQC +lvr +aGq +khY +khY +khY +lmz +rko +diP +vip +gaj +jXJ +mxS jeW pvY xry @@ -103555,7 +104432,7 @@ ppu wSF qir kIS -wfU +lBq csw tlX rVH @@ -103574,8 +104451,8 @@ tCZ gUk rgK geu -xza -xza +xuF +xuF xSO iTR pox @@ -103776,43 +104653,43 @@ iaw uoB tsF kjg -oXV -kJX -xIw -vrH -xIw -xIw -fqL -dRh +iZO +awC +gwm +xPJ +pbO +pbO +icN +mZd sDZ -vnK +pca uVo oBA mut pjA mut -iEE -xIw -xIw -xIw -rlh -vrH -xIw -vYt -xyJ -wFl -sFH -vuL -xIK -ygu -mHb -ona -xEC -ona -uXB +otJ +pbO +bxc +pbO +mlD +xPJ +pbO +mRB +jSp +klf +oHp +huj +fIj +uhM +qZy +vCO +lKB +vCO +ile wMZ vnN -ybL +aEo pOm lwk gUn @@ -104032,10 +104909,10 @@ gcz jyM uoB jZn -mxN +baJ rji vAw -nvE +ceS nvE nvE nvE @@ -104045,31 +104922,31 @@ vCZ uQi nvE oCx -nvE +crx rFn nvE -eWA +tPM kfM -fKO -hvM -hvM -hvM -hvM -hvM -hvM -ouf -wZE -ucH -xIM -yfj +cRc +aPK +aPK +aPK +aPK +mcS +sKm +dRT +dRT +nNz +inU +hmn bcv kov viy efB -kov +lJg xyh xRI -ycZ +lJg hVh elM pYr @@ -104290,9 +105167,9 @@ jzo uoB uoB wSZ -dRf -xqC -bOp +moj +xpL +nJj dyF lNp xRA @@ -104305,27 +105182,27 @@ qUt qUt qUt qUt -tZd +fNZ qUt qUt xJB vYy vrO vYy -vYy +xJB xJB xJB wZO xpU -uAw -yga -rbo -vCO -wnO -jpK -vCO -lhg -xSp +uBY +ygu +mHb +ona +nkW +riS +ihd +gMM +gBg dUC qTK vnF @@ -104562,8 +105439,8 @@ qUt uZK ptl ptl -dSK -gZo +wrZ +mvd qUt rnc ugH @@ -104820,8 +105697,8 @@ qUt aIb qUt qUt -aGH -uiW +uLD +vmr qLt vrY vrY @@ -106353,7 +107230,7 @@ oyn fSU fRV skd -skd +ciV rrp wqj aTb @@ -107133,7 +108010,7 @@ knO adh hbz vIC -gfJ +hdZ wua wua wua @@ -107390,7 +108267,7 @@ wqj qUt qUt qUt -gfJ +hdZ qUt dWW tnb @@ -107646,8 +108523,8 @@ gmf qva nqf qUt -tnb -tnb +tNs +tNs qUt uEP gfJ @@ -107903,7 +108780,7 @@ cPp wqj wrx qUt -gfJ +hdZ qUt qUt qUt @@ -108160,7 +109037,7 @@ eeJ eeJ eeJ qUt -gfJ +hdZ tnb tnb tnb @@ -108417,7 +109294,7 @@ gMq duT gtk qUt -gfJ +hdZ tnb qUt tkq @@ -108674,12 +109551,12 @@ rsZ jQB kAJ qUt -umM tNs -umM -qNz -umM -rSj +tNs +tNs +tNs +tNs +rbW spP bRt wsb @@ -109188,12 +110065,12 @@ opN eeJ eeJ qUt -uiW +xrc qUt -htt -wvP -jQg -vuo +odD +mtc +deS +wua sqA sJi wty @@ -109443,14 +110320,14 @@ ohr rqD opN xEM -yaL -xeY -iLq -pxg -tZU -jNJ -aoy -vuo +qUt +eqG +mHh +nNA +rHY +mIP +skN +wua wWX blf unf @@ -109700,14 +110577,14 @@ fvj uDz jXB nYs -yaL -gYX -gYX -jRI -qhi -tFg -lRD -vuo +qUt +ffi +mHh +uqq +qOG +pXk +cCv +wua wtX wtX wtX @@ -109957,14 +110834,14 @@ fcU rem xvM uDE -yaL -oQD -oWp -dEV -rrV -rMM -jLh -yaL +qUt +lhi +brw +mnl +uOx +llY +rdA +qUt sqY ata taZ @@ -110214,14 +111091,14 @@ pzd iIs axw shD -yaL -mzc -mzc -tNS -yaL -qTP -yaL -yaL +qUt +qnb +qnb +oJx +qUt +izo +qUt +qUt srA lrH aaH @@ -113057,7 +113934,7 @@ tPm fTM bAs ykL -vAo +lJB oah wtt fDQ @@ -114056,15 +114933,15 @@ fcW jVY cvk nFW -pQO -hDm -jpp -trc -rBK -jpp -wsX -cij -pzd +uvG +siN +ngd +nuV +sue +ngd +cUB +baO +pOT gMz rem rQA @@ -114313,15 +115190,15 @@ xUy rEd aWb nFW -beR -rvH -ucw -dzq -jpp -nsH -cIC -cij -pzd +pTA +hEw +bWp +gjn +ngd +ibF +diG +baO +pOT ycQ rem nvB @@ -114570,13 +115447,13 @@ eav eav nFW nFW -pzd -pzd -bED -vjc -ncs -mKs -pzd +pOT +pOT +tlJ +cYp +jTC +eOX +pOT xQJ xQJ xQJ @@ -114828,12 +115705,12 @@ tLj wOp fsq iRl -pzd -pzd -eYT -pzd -pzd -pzd +pOT +pOT +pTk +pOT +pOT +pOT xqs xMO xQJ @@ -115845,267 +116722,267 @@ aJq aJq aJq aJq -aJq -aJq -wOp -rds -hcT -wOp -wny -bua -wOp -vZK -dTd -ghX -kgw -xvV -xQJ -xQJ -bfE -rIo -xQJ -ohN -oUC -oPM -sDj -uqw -uqw -uqw -uqw -vMC -eJm -noe -hYK -pNO -iyt -vMC -wMP -uUf -biM -ylo -ylq -cRn -gsh -euR -xIk -xIk -xIk -xIk -xIk -euR -hok -oOh -aXI -qHY -wML -wMH -wMH -aSy -aSy -aFY -pWZ -qZe -xvF -eqz -cLS -hOl -eWI -eWI -wNZ -idF -eWI -gpf -ycE -ycE -ycE -ycE -ycE -ycE -ycE -cOW -aLr -tqX -kfy -svs -svs -svs -svs -grm -svs -jUl -svs -grm -svs -svs -blb -blb -blb -fDS -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -"} -(162,1,1) = {" -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -dDB -aJq -aJq -aJq -aJq +aJq +aJq +wOp +rds +hcT wOp +wny +bua +wOp +vZK +dTd +ghX +kgw +xvV +xQJ +xQJ +bfE +rIo +xQJ +ohN +oUC +oPM +sDj +uqw +uqw +uqw +uqw +vMC +eJm +noe +hYK +pNO +iyt +vMC +wMP +uUf +biM +ylo +ylq +cRn +gsh +euR +xIk +xIk +xIk +xIk +xIk +euR +hok +oOh +aXI +qHY +wML +wMH +wMH +aSy +aSy +aFY +pWZ +qZe +xvF +eqz +cLS +hOl +eWI +eWI +wNZ +idF +eWI +gpf +ycE +ycE +ycE +ycE +ycE +ycE +ycE +cOW +aLr +tqX +kfy +svs +svs +svs +svs +grm +svs +jUl +svs +grm +svs +svs +blb +blb +blb +fDS +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +"} +(162,1,1) = {" +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +dDB +aJq +aJq +aJq +aJq wOp +gRH wOp wOp nWk @@ -117188,8 +118065,8 @@ gYH sYa yfs hPU -xKX -wzU +ybF +fKN xMc xKX jsa @@ -117703,7 +118580,7 @@ sYa rtI dXU aSy -deQ +mYT tst deQ aSy @@ -118475,7 +119352,7 @@ cVz sYa rQw xlP -ybF +fSg xlP tGp eWI @@ -119244,11 +120121,11 @@ pXQ kwA xaR sYa -pxW +xlP xlP gpy xlP -mYT +xlP eWI eWI eWI @@ -121046,7 +121923,7 @@ wos sXw vVX sTK -tUD +hGr vbQ iVE ksg @@ -121284,7 +122161,7 @@ cyx xok upe xok -cWT +avr nuo eQt eQt @@ -121817,7 +122694,7 @@ wos udv tSq mvo -izw +hGr bFw ulK cdn @@ -124374,10 +125251,10 @@ oZz xZJ aVT enG -enG -enG -enG -pHS +kUa +kUa +kUa +vIz xpR kQt nhl @@ -124631,7 +125508,7 @@ nWh xEn nWh xnR -ebo +aLC wLZ xwn cns @@ -125653,7 +126530,7 @@ dDB dDB blb yeZ -ccH +iyr dEL wVg nzL @@ -126167,7 +127044,7 @@ blb blb nzL yeZ -xQx +iHv lDw fKd lDw @@ -134361,7 +135238,7 @@ dDB dDB dDB dDB -wPf +dDB dDB dDB dDB @@ -134425,7 +135302,7 @@ dDB dDB dDB dDB -akZ +aJq aJq aJq tYT diff --git a/_maps/map_files/CTF/downtown.dmm b/_maps/map_files/CTF/downtown.dmm index c61910375820d..fd11025e943c8 100644 --- a/_maps/map_files/CTF/downtown.dmm +++ b/_maps/map_files/CTF/downtown.dmm @@ -1831,7 +1831,6 @@ "Ok" = ( /obj/structure/fluff/bus/passable{ icon_state = "bottomdoor"; - layer = 3; resistance_flags = 64 }, /obj/effect/turf_decal/siding/yellow, diff --git a/_maps/map_files/Deltastation/DeltaStation2.dmm b/_maps/map_files/Deltastation/DeltaStation2.dmm index 84d42a3ec31ca..daba4820f69e4 100644 --- a/_maps/map_files/Deltastation/DeltaStation2.dmm +++ b/_maps/map_files/Deltastation/DeltaStation2.dmm @@ -859,6 +859,17 @@ /obj/machinery/light/small/directional/east, /turf/open/floor/iron, /area/station/security/prison/visit) +"ale" = ( +/obj/structure/rack, +/obj/effect/turf_decal/bot, +/obj/structure/window/reinforced/spawner/directional/east{ + pixel_x = 3 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "alG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2216,6 +2227,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/command/heads_quarters/qm) +"aBf" = ( +/obj/structure/table/glass, +/obj/item/folder/blue{ + pixel_x = 4; + pixel_y = 4 + }, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/computer/security/telescreen/cmo/directional/south, +/obj/effect/turf_decal/tile/blue/opposingcorners, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/cmo) "aBn" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -2689,15 +2712,15 @@ pixel_x = -2; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 2; pixel_y = 2 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 3; pixel_y = 1 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4 }, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -3001,10 +3024,6 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron/white, /area/station/medical/chemistry) -"aKU" = ( -/obj/structure/sign/warning/electric_shock/directional/west, -/turf/open/space/basic, -/area/space) "aLv" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3025,6 +3044,17 @@ dir = 4 }, /area/station/commons/fitness/recreation) +"aLM" = ( +/obj/machinery/computer/security/telescreen/prison/directional/east, +/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{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "aLN" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 4 @@ -4439,14 +4469,6 @@ /obj/effect/mapping_helpers/airlock/access/all/command/hop, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) -"beI" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron, -/area/station/engineering/main) "beP" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -5977,18 +5999,6 @@ }, /turf/open/floor/wood, /area/station/engineering/break_room) -"byI" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/science/lab) "byP" = ( /obj/machinery/firealarm/directional/east, /obj/machinery/camera{ @@ -6175,15 +6185,15 @@ "bAS" = ( /obj/structure/table/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = 2; pixel_y = 2 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 6; pixel_y = 2 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = -2; pixel_y = 2 }, @@ -6660,6 +6670,17 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron/herringbone, /area/station/cargo/miningoffice) +"bFD" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "bFS" = ( /obj/effect/turf_decal/trimline/blue/filled/warning, /obj/structure/cable, @@ -6874,6 +6895,14 @@ /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /turf/open/floor/iron, /area/station/maintenance/fore) +"bHr" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron, +/area/station/engineering/main) "bHA" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/airlock/maintenance_hatch{ @@ -7247,13 +7276,11 @@ /obj/effect/turf_decal/bot, /obj/machinery/button/door/directional/east{ id = "cargounload"; - layer = 4; name = "Loading Doors"; pixel_y = 6 }, /obj/machinery/button/door/directional/east{ id = "cargoload"; - layer = 4; name = "Loading Doors"; pixel_y = -6 }, @@ -8017,6 +8044,20 @@ /obj/effect/turf_decal/tile/neutral/full, /turf/open/floor/iron/large, /area/station/security/checkpoint/escape) +"bUN" = ( +/obj/structure/table, +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/machinery/cell_charger, +/obj/item/screwdriver{ + pixel_y = -1 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "bUQ" = ( /obj/structure/chair/stool/directional/west, /turf/open/floor/iron, @@ -8769,6 +8810,16 @@ "cfu" = ( /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) +"cfx" = ( +/obj/structure/cable, +/obj/machinery/computer/station_alert{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/security/telescreen/ce/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "cfy" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -8808,15 +8859,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/hallway/secondary/construction) -"cfW" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/construction) "cgf" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -9390,6 +9432,11 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"cmy" = ( +/obj/structure/cable, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "cmE" = ( /obj/item/kirbyplants/random, /obj/effect/turf_decal/tile/blue/half/contrasted{ @@ -11713,17 +11760,6 @@ }, /turf/open/floor/iron/large, /area/station/science/xenobiology) -"cQT" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen{ - dir = 4; - network = list("xeno") - }, -/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/science/xenobiology) "cQZ" = ( /obj/structure/sign/warning/chem_diamond/directional/west, /obj/machinery/chem_dispenser, @@ -13153,7 +13189,7 @@ "djY" = ( /obj/structure/sign/warning/secure_area/directional/east, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "dka" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -13543,17 +13579,6 @@ /obj/structure/sign/poster/random/directional/south, /turf/open/floor/iron/dark, /area/station/maintenance/department/engine/atmos) -"dpR" = ( -/obj/structure/rack, -/obj/effect/turf_decal/bot, -/obj/structure/window/reinforced/spawner/directional/east{ - pixel_x = 3 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "dqc" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -13586,19 +13611,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"dqs" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 4; - pixel_x = -32 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/brig) "dqv" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -13903,7 +13915,7 @@ /area/station/commons/vacant_room/office) "dtk" = ( /obj/structure/table/wood/poker, -/obj/item/clothing/mask/cigarette/pipe, +/obj/item/cigarette/pipe, /turf/open/floor/carpet/green, /area/station/commons/lounge) "dtn" = ( @@ -14659,6 +14671,10 @@ }, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"dDB" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "dDT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/trinary/filter{ @@ -15946,7 +15962,7 @@ pixel_y = -32 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "dUb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -17078,15 +17094,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/virology) -"ejX" = ( -/obj/machinery/computer/security/telescreen/vault{ - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "ekF" = ( /obj/structure/sign/poster/official/random/directional/south, /obj/machinery/light/directional/south, @@ -17552,9 +17559,8 @@ network = list("ss13","xeno","rd") }, /obj/machinery/status_display/ai/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/dark, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "eqU" = ( /turf/open/space, @@ -18040,14 +18046,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central/aft) -"ewl" = ( -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron, -/area/station/science/robotics/mechbay) "ewQ" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden{ dir = 4 @@ -19535,14 +19533,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/engine, /area/station/engineering/supermatter) -"ePX" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "ePZ" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/window/reinforced/spawner/directional/north, @@ -20759,7 +20749,9 @@ /turf/open/floor/iron/white, /area/station/science/research) "fff" = ( -/obj/machinery/power/apc/auto_name/directional/north, +/obj/machinery/power/apc/auto_name/directional/north{ + areastring = "/area/station/science/ordnance/burnchamber" + }, /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/atmospherics/pipe/layer_manifold/supply/visible{ @@ -21349,6 +21341,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/service/abandoned_gambling_den) +"fmw" = ( +/obj/machinery/cell_charger, +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/ai_monitored/turret_protected/aisat_interior) "fmB" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -21462,21 +21463,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) -"fnC" = ( -/obj/structure/cable, -/obj/machinery/firealarm/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/multitool{ - pixel_x = 8 - }, -/obj/structure/table, -/turf/open/floor/iron, -/area/station/engineering/storage_shared) "fnD" = ( /obj/structure/table, /obj/machinery/requests_console/directional/north{ @@ -22371,6 +22357,13 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"fzK" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/plating, +/area/station/maintenance/department/electrical) "fzV" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -22657,44 +22650,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron, /area/station/engineering/main) -"fDT" = ( -/obj/item/stack/cable_coil, -/obj/item/bodypart/arm/right/robot{ - pixel_x = 3 - }, -/obj/item/bodypart/arm/left/robot{ - pixel_x = -3 - }, -/obj/structure/table, -/obj/item/radio/intercom/directional/west, -/obj/item/assembly/prox_sensor{ - pixel_x = 5 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = 5 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = 5 - }, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/assembly/flash/handheld, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 3; - pixel_y = 16 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -3; - pixel_y = 16 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 15 - }, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "fEd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/warning/vacuum/directional/west, @@ -26215,22 +26170,6 @@ }, /turf/open/floor/iron, /area/station/service/lawoffice) -"guI" = ( -/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the Engine."; - dir = 4; - layer = 4; - name = "Engine Monitor"; - network = list("engine"); - pixel_x = -24 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/computer/atmos_control/nocontrol/master{ - dir = 4 - }, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/storage/gas) "guK" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/north, @@ -26844,7 +26783,7 @@ /turf/open/floor/iron, /area/station/hallway/secondary/exit) "gCt" = ( -/turf/open/floor/circuit/green, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "gCB" = ( /obj/structure/cable, @@ -27946,6 +27885,7 @@ dir = 6 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) "gQH" = ( @@ -28033,6 +27973,16 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron, /area/station/engineering/main) +"gRN" = ( +/obj/structure/cable, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "gRU" = ( /obj/structure/table/reinforced, /obj/machinery/button/ignition{ @@ -28222,6 +28172,25 @@ /obj/effect/mapping_helpers/airlock/access/all/supply/general, /turf/open/floor/iron, /area/station/cargo/storage) +"gUt" = ( +/obj/structure/table/reinforced, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/effect/decal/cleanable/dirt, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -3; + pixel_y = 5 + }, +/obj/effect/turf_decal/bot, +/obj/item/clothing/gloves/color/yellow, +/obj/machinery/newscaster/directional/east, +/turf/open/floor/iron, +/area/station/engineering/storage) "gUy" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/table, @@ -28427,14 +28396,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/gateway) -"gWT" = ( -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/table, -/obj/machinery/newscaster/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/circuits) "gWV" = ( /obj/machinery/door/firedoor, /obj/effect/mapping_helpers/airlock/access/all/medical/morgue, @@ -28663,7 +28624,7 @@ "haF" = ( /obj/structure/sign/warning/secure_area/directional/west, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "haG" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -28889,6 +28850,16 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/iron/white/smooth_large, /area/station/command/heads_quarters/cmo) +"hdI" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/box, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "hdK" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30038,13 +30009,6 @@ }, /turf/open/floor/iron/white, /area/station/science/robotics/lab) -"hub" = ( -/obj/machinery/vending/coffee, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "hup" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -30257,15 +30221,6 @@ }, /turf/open/floor/iron, /area/station/commons/storage/tools) -"hwJ" = ( -/obj/structure/table/reinforced, -/obj/item/stack/cable_coil, -/obj/item/electronics/airalarm, -/obj/item/electronics/firealarm, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron, -/area/station/maintenance/port) "hwK" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -30798,17 +30753,6 @@ }, /turf/open/floor/carpet/blue, /area/station/commons/vacant_room/office) -"hFx" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the RD's goons and the AI's satellite from the safety of his office."; - name = "Research Monitor"; - network = list("rd","minisat"); - pixel_y = 2 - }, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "hFP" = ( /obj/structure/disposalpipe/segment, /obj/effect/turf_decal/siding/white/corner{ @@ -31818,13 +31762,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/grimy, /area/station/service/abandoned_gambling_den) -"hSF" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/plating, -/area/station/maintenance/department/electrical) "hST" = ( /obj/structure/destructible/cult/item_dispenser/archives/library, /obj/effect/decal/cleanable/cobweb, @@ -32006,20 +31943,6 @@ /obj/structure/sign/warning/no_smoking, /turf/closed/wall, /area/station/engineering/atmos/storage) -"hUZ" = ( -/obj/structure/table, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/machinery/cell_charger, -/obj/item/screwdriver{ - pixel_y = -1 - }, -/obj/effect/turf_decal/siding/purple{ - dir = 8 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "hVi" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -32343,11 +32266,6 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron/dark, /area/station/medical/chemistry) -"hZb" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "hZl" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/door/morgue{ @@ -33095,6 +33013,13 @@ }, /turf/open/floor/plating, /area/station/medical/virology) +"iij" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron, +/area/station/command/teleporter) "iiy" = ( /obj/structure/easel, /turf/open/floor/iron, @@ -33699,6 +33624,7 @@ /obj/effect/turf_decal/bot, /obj/effect/turf_decal/tile/neutral/full, /obj/machinery/holopad, +/obj/structure/cable, /turf/open/floor/iron/dark/smooth_large, /area/station/science/ordnance) "iqj" = ( @@ -34844,6 +34770,11 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/exit) +"iFt" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "iFD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/table/wood, @@ -35147,8 +35078,7 @@ /area/station/hallway/secondary/exit/departure_lounge) "iJw" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "iJE" = ( /obj/structure/table/wood/fancy, @@ -35621,6 +35551,13 @@ /obj/effect/turf_decal/tile/yellow/opposingcorners, /turf/open/floor/iron, /area/station/engineering/supermatter/room) +"iRd" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/science/xenobiology) "iRf" = ( /obj/machinery/power/turbine/turbine_outlet, /turf/open/floor/engine, @@ -36040,6 +35977,13 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron, /area/station/security/checkpoint/supply) +"iWz" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/sign/poster/contraband/self_ai_liberation/directional/north, +/turf/open/floor/iron, +/area/station/science/research/abandoned) "iWA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36211,9 +36155,7 @@ /area/station/commons/toilet/locker) "iYp" = ( /obj/structure/cable, -/obj/machinery/nuclearbomb/selfdestruct{ - layer = 2 - }, +/obj/machinery/nuclearbomb/selfdestruct, /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) @@ -36318,25 +36260,6 @@ }, /turf/open/floor/iron, /area/station/security/execution/transfer) -"iZH" = ( -/obj/structure/table/reinforced, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/effect/decal/cleanable/dirt, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -3; - pixel_y = 5 - }, -/obj/effect/turf_decal/bot, -/obj/item/clothing/gloves/color/yellow, -/obj/machinery/newscaster/directional/east, -/turf/open/floor/iron, -/area/station/engineering/storage) "iZN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36497,16 +36420,6 @@ /obj/item/pen, /turf/open/floor/iron, /area/station/medical/chemistry) -"jbn" = ( -/obj/structure/cable, -/obj/machinery/computer/security/telescreen{ - dir = 8; - name = "Prisoner Telescreen"; - network = list("prison"); - pixel_x = 27 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "jbr" = ( /obj/structure/curtain/cloth/fancy/mechanical/start_closed{ desc = "A set of curtains serving as a fancy theater backdrop. They can only be opened by a button."; @@ -36598,17 +36511,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"jce" = ( -/obj/structure/table/wood, -/obj/machinery/light/directional/south, -/obj/item/stack/package_wrap, -/obj/item/hand_labeler, -/obj/machinery/computer/security/telescreen/vault{ - dir = 8; - pixel_x = 26 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/hop) "jcg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/brown/visible, @@ -38086,6 +37988,13 @@ "jtC" = ( /turf/open/floor/plating, /area/station/service/abandoned_gambling_den) +"jtD" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "jtV" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -38279,18 +38188,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"jwW" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/firealarm/directional/south, -/obj/machinery/light_switch/directional/east, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/break_room) "jxd" = ( /obj/docking_port/stationary/mining_home/common, /turf/open/space/basic, @@ -38309,6 +38206,14 @@ }, /turf/open/floor/iron/dark, /area/station/security/execution/education) +"jxj" = ( +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/structure/extinguisher_cabinet/directional/west, +/turf/open/floor/iron, +/area/station/science/robotics/mechbay) "jxm" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40257,9 +40162,9 @@ /turf/open/floor/iron, /area/station/hallway/secondary/entry) "jUT" = ( -/obj/structure/lattice, +/obj/structure/sign/warning/electric_shock/directional/west, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "jUU" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -41255,15 +41160,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/science) -"khr" = ( -/obj/machinery/cell_charger, -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) "khB" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -44639,6 +44535,8 @@ "lcP" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible/layer2, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) "lcT" = ( @@ -45483,6 +45381,22 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/department/chapel) +"lnk" = ( +/obj/structure/table/reinforced, +/obj/item/stack/package_wrap, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/decal/cleanable/dirt, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "lnm" = ( /obj/structure/closet/secure_closet/captains, /obj/effect/turf_decal/stripes/line{ @@ -45665,18 +45579,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"lpC" = ( -/obj/machinery/light_switch/directional/east, -/obj/structure/table, -/obj/item/crowbar, -/obj/item/wrench, -/obj/item/clothing/mask/gas, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "lpG" = ( /obj/structure/chair/office{ dir = 1 @@ -47709,6 +47611,7 @@ /obj/machinery/meter/layer2, /obj/structure/sign/warning/no_smoking/directional/east, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) "lOA" = ( @@ -47991,17 +47894,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"lTh" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 1 - }, -/obj/item/pen, -/obj/effect/turf_decal/siding/dark_red{ - dir = 4 - }, -/turf/open/floor/iron/checker, -/area/station/security/interrogation) "lTt" = ( /obj/machinery/door/window/brigdoor/right/directional/west{ name = "Shooting Range"; @@ -48571,13 +48463,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"mcm" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/sign/poster/contraband/self_ai_liberation/directional/north, -/turf/open/floor/iron, -/area/station/science/research/abandoned) "mcp" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ @@ -48718,6 +48603,19 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"mdG" = ( +/obj/structure/rack, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/tank/internals/emergency_oxygen/engi, +/obj/item/wrench, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = 4; + pixel_y = 2 + }, +/obj/item/lightreplacer, +/obj/effect/turf_decal/bot, +/turf/open/floor/iron/dark, +/area/station/engineering/atmos/storage) "mdM" = ( /obj/machinery/computer/records/medical{ dir = 1 @@ -49269,17 +49167,6 @@ "mlE" = ( /turf/closed/wall/r_wall, /area/station/ai_monitored/command/storage/eva) -"mlR" = ( -/obj/structure/table/reinforced, -/obj/item/folder/white, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/item/stack/sheet/glass, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "mlW" = ( /obj/structure/sign/nanotrasen{ pixel_y = 32 @@ -49703,6 +49590,13 @@ }, /turf/open/floor/wood/tile, /area/station/service/library/artgallery) +"msO" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "msR" = ( /obj/effect/turf_decal/tile/red/opposingcorners{ dir = 1 @@ -50501,6 +50395,13 @@ /obj/structure/sign/poster/official/safety_eye_protection/directional/south, /turf/open/floor/plating, /area/station/maintenance/space_hut/observatory) +"mCe" = ( +/obj/structure/table/wood, +/obj/item/paper_bin, +/obj/item/pen, +/obj/machinery/computer/security/telescreen/interrogation/directional/west, +/turf/open/floor/iron/checker, +/area/station/security/interrogation) "mCf" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -51280,6 +51181,13 @@ }, /turf/open/floor/iron, /area/station/cargo/office) +"mKn" = ( +/obj/machinery/portable_atmospherics/canister, +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron, +/area/station/science/xenobiology) "mKp" = ( /obj/structure/chair/comfy/brown{ dir = 4 @@ -51571,13 +51479,6 @@ }, /turf/open/floor/iron, /area/station/command/teleporter) -"mOS" = ( -/obj/machinery/portable_atmospherics/canister, -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/box, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron, -/area/station/science/xenobiology) "mPg" = ( /obj/machinery/door/airlock/external{ name = "External Docking Port" @@ -52152,13 +52053,13 @@ "mXr" = ( /obj/structure/cable, /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 3 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = -3 }, -/obj/item/clothing/mask/cigarette/cigar, +/obj/item/cigarette/cigar, /turf/open/floor/iron/grimy, /area/station/command/heads_quarters/captain) "mXy" = ( @@ -52364,13 +52265,6 @@ /obj/effect/spawner/random/trash/grille_or_waste, /turf/open/floor/plating, /area/station/maintenance/fore) -"nba" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "nbc" = ( /turf/open/floor/plating, /area/station/service/theater/abandoned) @@ -54261,11 +54155,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) -"nBC" = ( -/obj/item/kirbyplants/random, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) "nBF" = ( /obj/structure/cable, /obj/machinery/computer/rdconsole, @@ -54509,7 +54398,7 @@ "nET" = ( /obj/structure/sign/warning/electric_shock/directional/east, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "nEZ" = ( /turf/closed/wall/r_wall, /area/station/security/mechbay) @@ -54655,13 +54544,13 @@ /area/station/commons/vacant_room/commissary) "nHc" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 3 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = -3 }, -/obj/item/clothing/mask/cigarette/cigar, +/obj/item/cigarette/cigar, /turf/open/floor/wood, /area/station/command/meeting_room/council) "nHd" = ( @@ -54708,13 +54597,6 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"nHx" = ( -/obj/structure/table/wood, -/obj/item/paper_bin, -/obj/item/pen, -/obj/structure/extinguisher_cabinet/directional/west, -/turf/open/floor/iron/checker, -/area/station/security/interrogation) "nHB" = ( /obj/effect/turf_decal/stripes/line{ dir = 5 @@ -54899,6 +54781,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/pharmacy) +"nJu" = ( +/obj/structure/table/wood, +/obj/item/pen, +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/turf/open/floor/iron/checker, +/area/station/security/interrogation) "nJx" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -55270,6 +55160,18 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"nOJ" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/firealarm/directional/south, +/obj/machinery/light_switch/directional/east, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/break_room) "nOP" = ( /obj/structure/cable, /obj/effect/turf_decal/tile/neutral{ @@ -57173,15 +57075,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/department/chapel) -"onq" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/box, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "onK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57975,7 +57868,7 @@ "ozA" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/decal/cleanable/dirt, -/turf/open/floor/circuit/green, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "ozE" = ( /obj/effect/turf_decal/stripes/line, @@ -58367,7 +58260,7 @@ dir = 8 }, /turf/open/space, -/area/space/nearstation) +/area/space) "oFC" = ( /obj/machinery/airalarm/directional/west, /obj/structure/tank_dispenser, @@ -58415,9 +58308,7 @@ /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/delivery, -/obj/machinery/door/window/right/directional/east{ - layer = 3 - }, +/obj/machinery/door/window/right/directional/east, /turf/open/floor/iron, /area/station/maintenance/disposal) "oGr" = ( @@ -58527,6 +58418,19 @@ }, /turf/closed/wall/r_wall, /area/station/science/ordnance/burnchamber) +"oHO" = ( +/obj/machinery/light_switch/directional/east, +/obj/structure/table, +/obj/item/crowbar, +/obj/item/wrench, +/obj/item/clothing/mask/gas, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/cold/directional/north, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron, +/area/station/science/xenobiology) "oHQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59218,6 +59122,15 @@ }, /turf/open/floor/iron/white, /area/station/science/lobby) +"oRA" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/hallway/secondary/construction) "oRD" = ( /obj/structure/cable, /obj/item/circuitboard/computer/secure_data, @@ -59613,6 +59526,14 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/wood, /area/station/hallway/secondary/service) +"oXg" = ( +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/table, +/obj/machinery/newscaster/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/circuits) "oXi" = ( /obj/effect/turf_decal/bot_white/left, /obj/effect/turf_decal/tile/neutral{ @@ -59977,19 +59898,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"pcS" = ( -/obj/structure/cable, -/obj/machinery/computer/station_alert{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/computer/security/telescreen/ce{ - dir = 4; - pixel_x = -30 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "pdb" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /obj/effect/turf_decal/stripes/line, @@ -60923,6 +60831,8 @@ /obj/structure/table/reinforced, /obj/item/stack/sheet/iron/fifty, /obj/item/stack/sheet/glass/fifty, +/obj/item/circuitboard/machine/crystallizer, +/obj/item/stack/cable_coil/thirty, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) "pnV" = ( @@ -62125,6 +62035,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"pDx" = ( +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "pDz" = ( /obj/machinery/quantum_server, /obj/effect/turf_decal/bot/left, @@ -62448,6 +62368,12 @@ }, /turf/open/floor/iron/dark/corner, /area/station/maintenance/disposal/incinerator) +"pGv" = ( +/obj/item/kirbyplants/random, +/obj/machinery/light/small/directional/north, +/obj/structure/extinguisher_cabinet/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/interrogation) "pGw" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/poster/random/directional/east, @@ -62465,6 +62391,14 @@ /obj/item/knife/kitchen, /turf/open/floor/iron, /area/station/service/kitchen/abandoned) +"pGz" = ( +/obj/machinery/vending/coffee, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/digital_clock/directional/north, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "pGC" = ( /obj/item/kirbyplants/random, /obj/machinery/light_switch/directional/north{ @@ -62628,21 +62562,6 @@ /obj/machinery/atmospherics/components/unary/portables_connector/visible, /turf/open/floor/iron, /area/station/maintenance/port/aft) -"pJo" = ( -/obj/structure/cable, -/obj/machinery/computer/security/telescreen{ - dir = 8; - name = "Prisoner Telescreen"; - network = list("prison"); - pixel_x = 27 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "pJp" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/power/apc/auto_name/directional/south, @@ -62674,7 +62593,7 @@ /area/station/science/lab) "pJz" = ( /obj/effect/decal/remains/xeno, -/turf/open/floor/circuit/green, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "pJM" = ( /obj/effect/turf_decal/stripes/line{ @@ -63233,17 +63152,6 @@ "pPl" = ( /turf/open/floor/wood/tile, /area/station/service/library/artgallery) -"pPs" = ( -/obj/structure/chair/office/light{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/ordnance{ - dir = 1; - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "pPv" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -63692,6 +63600,14 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/pumproom) +"pUq" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "pUw" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -64012,22 +63928,6 @@ /obj/machinery/coffeemaker/impressa, /turf/open/floor/wood, /area/station/engineering/break_room) -"pXI" = ( -/obj/machinery/computer/security/telescreen{ - dir = 8; - name = "Prisoner Telescreen"; - network = list("prison"); - pixel_x = 27 - }, -/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{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "pXK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -64126,7 +64026,7 @@ dir = 10 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "pZc" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -64213,9 +64113,7 @@ /obj/structure/disposalpipe/trunk{ dir = 8 }, -/obj/machinery/disposal/bin{ - layer = 3.21 - }, +/obj/machinery/disposal/bin, /obj/effect/turf_decal/bot, /obj/machinery/door/firedoor/border_only{ dir = 1 @@ -65159,6 +65057,13 @@ }, /turf/open/floor/iron/cafeteria, /area/station/engineering/atmos) +"qnC" = ( +/obj/structure/chair/office/light{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "qnG" = ( /obj/machinery/airalarm/directional/south, /obj/structure/extinguisher_cabinet/directional/east, @@ -65360,6 +65265,14 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"qpI" = ( +/obj/structure/table, +/obj/item/binoculars, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ordnance/directional/west, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "qpQ" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, @@ -66049,14 +65962,6 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/engineering/main) -"qzK" = ( -/obj/structure/sign/warning/secure_area/directional/south, -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "qzR" = ( /obj/structure/toilet{ dir = 8 @@ -68072,6 +67977,13 @@ /obj/effect/turf_decal/trimline/blue/end, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos/project) +"raF" = ( +/obj/machinery/computer/security/telescreen/vault/directional/north, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "raI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -68794,25 +68706,6 @@ }, /turf/open/floor/wood, /area/station/service/electronic_marketing_den) -"rjN" = ( -/obj/structure/table/reinforced, -/obj/item/stack/sheet/rglass{ - amount = 50; - pixel_x = 2; - pixel_y = -2 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = 1; - pixel_y = 3 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/newscaster/directional/east, -/obj/item/mod/module/plasma_stabilizer, -/obj/item/mod/module/thermal_regulator, -/obj/item/mod/module/magboot, -/obj/item/mod/module/signlang_radio, -/turf/open/floor/iron, -/area/station/engineering/storage) "rjO" = ( /obj/effect/turf_decal/siding/blue{ dir = 9 @@ -69135,6 +69028,25 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/iron/dark, /area/station/tcommsat/computer) +"rmz" = ( +/obj/structure/table/reinforced, +/obj/item/stack/sheet/rglass{ + amount = 50; + pixel_x = 2; + pixel_y = -2 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = 1; + pixel_y = 3 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/newscaster/directional/east, +/obj/item/mod/module/plasma_stabilizer, +/obj/item/mod/module/thermal_regulator, +/obj/item/mod/module/magboot, +/obj/item/mod/module/signlang_radio, +/turf/open/floor/iron, +/area/station/engineering/storage) "rmI" = ( /obj/structure/table/reinforced, /obj/item/electronics/apc, @@ -70226,19 +70138,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/bridge) -"rBY" = ( -/obj/structure/rack, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/item/tank/internals/emergency_oxygen/engi, -/obj/item/wrench, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = 4; - pixel_y = 2 - }, -/obj/item/lightreplacer, -/obj/effect/turf_decal/bot, -/turf/open/floor/iron/dark, -/area/station/engineering/atmos/storage) "rCc" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70815,22 +70714,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/security/medical) -"rJY" = ( -/obj/structure/table/reinforced, -/obj/item/stack/package_wrap, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/decal/cleanable/dirt, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) "rKb" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, @@ -71057,14 +70940,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"rMQ" = ( -/obj/structure/table, -/obj/item/binoculars, -/obj/structure/window/reinforced/spawner/directional/south, -/obj/item/radio/intercom/directional/west, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "rMR" = ( /obj/structure/chair{ dir = 8 @@ -71579,6 +71454,17 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/medbay) +"rRF" = ( +/obj/structure/table/reinforced, +/obj/item/folder/white, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/glass, +/obj/item/stack/sheet/glass, +/obj/item/stack/sheet/glass, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "rRR" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -72269,15 +72155,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) -"sas" = ( -/obj/machinery/cell_charger, -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/ai_monitored/turret_protected/aisat_interior) "sau" = ( /obj/machinery/blackbox_recorder, /obj/machinery/atmospherics/pipe/heat_exchanging/simple, @@ -72717,7 +72594,7 @@ /area/station/maintenance/port/aft) "sfE" = ( /obj/effect/decal/cleanable/xenoblood, -/turf/open/floor/circuit/green, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "sfH" = ( /obj/effect/landmark/start/hangover, @@ -73944,13 +73821,13 @@ pixel_x = -3; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 6 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = 2 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4.5 }, /obj/structure/table/reinforced, @@ -74755,20 +74632,6 @@ "sHt" = ( /turf/open/space/basic, /area/space/nearstation) -"sHv" = ( -/obj/machinery/computer/mecha{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/rd{ - dir = 8; - pixel_x = 32 - }, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/obj/effect/turf_decal/tile/purple, -/turf/open/floor/iron, -/area/station/command/heads_quarters/rd) "sHw" = ( /obj/machinery/firealarm/directional/east, /obj/effect/turf_decal/tile/neutral/half/contrasted{ @@ -75908,7 +75771,7 @@ /obj/structure/lattice, /obj/structure/sign/warning/electric_shock/directional/east, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "sVC" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 4 @@ -75994,6 +75857,15 @@ /obj/effect/turf_decal/tile/neutral, /turf/open/floor/iron, /area/station/hallway/primary/central/fore) +"sWJ" = ( +/obj/structure/table/reinforced, +/obj/item/stack/cable_coil, +/obj/item/electronics/airalarm, +/obj/item/electronics/firealarm, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/iron, +/area/station/maintenance/port) "sWO" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 8 @@ -76132,6 +76004,10 @@ /obj/effect/turf_decal/siding/purple{ dir = 8 }, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, +/obj/item/multitool, /turf/open/floor/iron, /area/station/science/lab) "sYf" = ( @@ -77376,14 +77252,14 @@ /obj/item/restraints/handcuffs{ pixel_y = 6 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 7; pixel_y = -7 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = -3 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = -1; pixel_y = -7 }, @@ -77402,9 +77278,7 @@ /turf/open/floor/iron, /area/station/hallway/primary/fore) "trC" = ( -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /obj/item/kitchen/rollingpin, /obj/structure/table, /obj/item/reagent_containers/cup/bowl, @@ -78000,17 +77874,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/security/interrogation) -"tyF" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/table/reinforced, -/obj/item/storage/box/lights/mixed, -/obj/machinery/airalarm/directional/north, -/obj/item/stock_parts/power_store/cell/high/empty, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/cargo/storage) "tyK" = ( /obj/machinery/vending/wardrobe/jani_wardrobe, /turf/open/floor/iron/dark, @@ -78037,6 +77900,18 @@ }, /turf/open/floor/plating, /area/station/engineering/atmos/hfr_room) +"tzc" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/siding/purple{ + dir = 8 + }, +/obj/effect/turf_decal/siding/purple{ + dir = 4 + }, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/science/lab) "tzj" = ( /obj/structure/disposalpipe/trunk{ dir = 1 @@ -78133,16 +78008,6 @@ /obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"tAB" = ( -/obj/machinery/cell_charger, -/obj/structure/table/reinforced, -/obj/machinery/status_display/ai/directional/north, -/obj/item/rcl/pre_loaded, -/obj/effect/turf_decal/bot, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "tAL" = ( /obj/structure/sign/nanotrasen{ pixel_y = 32 @@ -78166,13 +78031,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/engineering/atmos) -"tAO" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron, -/area/station/command/teleporter) "tAS" = ( /obj/effect/turf_decal/siding/white, /obj/structure/cable, @@ -78606,6 +78464,21 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/wood, /area/station/maintenance/port/fore) +"tFu" = ( +/obj/structure/cable, +/obj/machinery/firealarm/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/obj/structure/table, +/turf/open/floor/iron, +/area/station/engineering/storage_shared) "tFG" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -80915,6 +80788,11 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron, /area/station/engineering/main) +"uiH" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/security/telescreen/research/directional/north, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "uiK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -80984,6 +80862,13 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"ujL" = ( +/obj/structure/table/reinforced, +/obj/item/clipboard, +/obj/item/mining_voucher, +/obj/item/radio/intercom/directional/north, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "ujQ" = ( /obj/machinery/status_display/ai/directional/west, /obj/structure/filingcabinet/security, @@ -81073,6 +80958,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay) +"ukO" = ( +/obj/machinery/cell_charger, +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/window/reinforced/spawner/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "ukR" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/plating, @@ -82083,6 +81977,15 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white/smooth_large, /area/station/medical/psychology) +"uxC" = ( +/obj/machinery/atmospherics/pipe/smart/simple/cyan/hidden, +/obj/machinery/computer/security/telescreen/engine/directional/west, +/obj/effect/turf_decal/bot, +/obj/machinery/computer/atmos_control/nocontrol/master{ + dir = 4 + }, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/storage/gas) "uxG" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -83248,6 +83151,11 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/maintenance/department/science) +"uLX" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "uMb" = ( /obj/structure/table, /obj/item/analyzer, @@ -84167,7 +84075,7 @@ "uXF" = ( /obj/structure/sign/warning/secure_area/directional/south, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "uXK" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/security{ @@ -84199,15 +84107,14 @@ /turf/open/floor/iron/dark, /area/station/science/ordnance) "uXU" = ( -/obj/structure/disposaloutlet{ - dir = 8 - }, /obj/structure/disposalpipe/trunk{ dir = 4 }, +/obj/machinery/disposal/delivery_chute{ + dir = 8 + }, /obj/effect/turf_decal/box/red, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "uYg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -84361,6 +84268,16 @@ }, /turf/open/floor/iron, /area/station/science/research) +"uZy" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/computer/security/telescreen/interrogation/directional/west, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/brig) "uZH" = ( /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 @@ -86091,6 +86008,17 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/maintenance/starboard/aft) +"vxq" = ( +/obj/structure/cable, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "vxr" = ( /turf/open/floor/iron, /area/station/security/prison) @@ -88380,13 +88308,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"wdm" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "wdt" = ( /obj/structure/cable, /obj/effect/turf_decal/stripes/line{ @@ -89145,6 +89066,16 @@ /obj/item/pen, /turf/open/floor/iron/white, /area/station/medical/medbay) +"wmo" = ( +/obj/machinery/cell_charger, +/obj/structure/table/reinforced, +/obj/machinery/status_display/ai/directional/north, +/obj/item/rcl/pre_loaded, +/obj/effect/turf_decal/bot, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "wmp" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -89566,21 +89497,6 @@ }, /turf/open/floor/iron/grimy, /area/station/service/library/abandoned) -"wqz" = ( -/obj/structure/table/glass, -/obj/item/folder/blue{ - pixel_x = 4; - pixel_y = 4 - }, -/obj/item/folder/white, -/obj/item/pen, -/obj/machinery/computer/security/telescreen/cmo{ - dir = 1; - pixel_y = -32 - }, -/obj/effect/turf_decal/tile/blue/opposingcorners, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/cmo) "wqF" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible{ dir = 4 @@ -90229,7 +90145,7 @@ dir = 10 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "wzb" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 4 @@ -90727,12 +90643,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron, /area/station/maintenance/port) -"wEx" = ( -/obj/structure/table/reinforced, -/obj/item/clipboard, -/obj/item/mining_voucher, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "wEy" = ( /obj/structure/disposalpipe/trunk{ dir = 4 @@ -90962,22 +90872,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/atmos/storage/gas) -"wGQ" = ( -/obj/structure/cable, -/obj/machinery/computer/security/telescreen{ - dir = 8; - name = "Prisoner Telescreen"; - network = list("prison"); - pixel_x = 27 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "wGS" = ( /obj/structure/chair/sofa/bench/left{ dir = 4 @@ -91293,6 +91187,44 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron, /area/station/medical/pharmacy) +"wLA" = ( +/obj/item/stack/cable_coil, +/obj/item/bodypart/arm/right/robot{ + pixel_x = 3 + }, +/obj/item/bodypart/arm/left/robot{ + pixel_x = -3 + }, +/obj/structure/table, +/obj/item/radio/intercom/directional/west, +/obj/item/assembly/prox_sensor{ + pixel_x = 5 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = 5 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = 5 + }, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/assembly/flash/handheld, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 3; + pixel_y = 16 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -3; + pixel_y = 16 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 15 + }, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "wLK" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/turf_decal/stripes/line{ @@ -92384,9 +92316,14 @@ /turf/open/floor/iron/textured, /area/station/medical/medbay) "xcR" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 4 + }, /obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/landmark/event_spawn, -/turf/open/floor/circuit/green, +/turf/open/floor/iron, /area/station/science/xenobiology) "xcU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -92410,8 +92347,8 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 1 }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "xdA" = ( /obj/effect/spawner/random/decoration/carpet, @@ -92621,6 +92558,17 @@ }, /turf/open/space/basic, /area/space/nearstation) +"xfG" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/table/reinforced, +/obj/item/storage/box/lights/mixed, +/obj/machinery/airalarm/directional/north, +/obj/item/stock_parts/power_store/cell/high/empty, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/cargo/storage) "xfR" = ( /obj/machinery/camera/directional/east{ c_tag = "Security - Interrogation Monitoring" @@ -93896,6 +93844,17 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal) +"xwC" = ( +/obj/machinery/computer/mecha{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/rd/directional/east, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/obj/effect/turf_decal/tile/purple, +/turf/open/floor/iron, +/area/station/command/heads_quarters/rd) "xwK" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -94456,7 +94415,6 @@ /obj/item/reagent_containers/blood/random, /obj/effect/turf_decal/bot, /obj/item/reagent_containers/condiment/enzyme{ - layer = 5; pixel_x = -6; pixel_y = 8 }, @@ -96038,6 +95996,14 @@ /obj/machinery/light/warm/directional/west, /turf/open/floor/wood, /area/station/service/lawoffice) +"xYf" = ( +/obj/structure/table/wood, +/obj/machinery/light/directional/south, +/obj/item/stack/package_wrap, +/obj/item/hand_labeler, +/obj/machinery/computer/security/telescreen/vault/directional/east, +/turf/open/floor/wood, +/area/station/command/heads_quarters/hop) "xYl" = ( /obj/structure/lattice, /obj/item/toy/figure/ninja, @@ -96845,6 +96811,12 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/virology) +"yjJ" = ( +/obj/structure/sign/warning/secure_area/directional/south, +/obj/structure/table/reinforced, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "yjK" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot_white, @@ -104082,7 +104054,7 @@ ueB uhL btH bPC -sas +fmw bTs rPe vvL @@ -115424,11 +115396,11 @@ fqm djS nCi nCi -sfN -sfN +gCt +gCt eqP -sfN -sfN +gCt +gCt nCi nCi cJd @@ -115680,13 +115652,13 @@ chp fqm vPU nCi -sfN -sfN -sfN +gCt +gCt +gCt iJw -sfN -sfN -sfN +gCt +gCt +gCt nCi vPU fqm @@ -115937,13 +115909,13 @@ rXu nCi eVp nCi -sfN +gCt ozA pJz -xcR +gCt sfE gCt -sfN +gCt nCi mFq nCi @@ -116164,7 +116136,7 @@ dgk eqg uYy jCY -qzK +yjJ vmt nUT aaa @@ -116194,13 +116166,13 @@ gbe nCi vPU nCi -sfN -sfN -sfN -sfN -sfN -sfN -sfN +gCt +gCt +gCt +gCt +gCt +gCt +gCt nCi vPU cfb @@ -116454,7 +116426,7 @@ nCi rIb rIb xdn -sfN +gCt uXU uhb uhb @@ -116709,7 +116681,7 @@ pyZ vBO uhb ebW -kNG +imx imx xsH umb @@ -116966,7 +116938,7 @@ aFU nCi uhb xIa -cQT +iRd gxT kPD rxX @@ -117221,11 +117193,11 @@ nCi cTO uOn uhb -mOS +mKn fPl jqr vxQ -vxQ +xcR vxQ lzc plQ @@ -117735,7 +117707,7 @@ nCi fsC nOv uhb -lpC +oHO aqF rqy jKx @@ -119246,7 +119218,7 @@ viB pOz hEL gyR -pcS +cfx vyn eMN gAw @@ -119755,7 +119727,7 @@ jLx dFw mPr bAR -tAB +wmo gsV auh tMl @@ -120524,7 +120496,7 @@ pQo uCa wkj bqP -jwW +nOJ bAR gHt bAV @@ -121547,7 +121519,7 @@ wiZ fXF xkz hwe -fnC +tFu vpV uCa gQk @@ -122298,10 +122270,10 @@ sID pUW qSm wIf -rBY +mdG lvJ jYA -nba +jtD eVG wqF npE @@ -122893,7 +122865,7 @@ wEI qNb naL nEc -mcm +iWz kGQ bGz nzb @@ -123117,7 +123089,7 @@ grl iJU pJM pec -beI +bHr fii fii lBz @@ -123346,7 +123318,7 @@ vnq ftU dCX wdZ -guI +uxC bYK xLZ iXc @@ -124405,11 +124377,11 @@ swD baw fii iqz -iZH +gUt hps hkJ tum -rjN +rmz abO pTC sNd @@ -125475,7 +125447,7 @@ szJ xoR hfe sKR -rMQ +qpI fYU kzc dqo @@ -125731,7 +125703,7 @@ fLf cfL xoR aJy -pPs +qnC dkF fYU kzc @@ -125944,7 +125916,7 @@ rnr lRx gRl iQr -hwJ +sWJ pTC qcM vcB @@ -126178,7 +126150,7 @@ aJU keE tbf sdB -ePX +pUq urC aZo jPJ @@ -126756,7 +126728,7 @@ vSX wEI qYo blX -onq +hdI vQu dSo jCf @@ -127005,7 +126977,7 @@ jqt qub uFt elq -gWT +oXg bWH jDd plP @@ -127488,7 +127460,7 @@ pTC pTC unj fKQ -fDT +wLA xGw iCI pTC @@ -127722,7 +127694,7 @@ tlp nLY uyf klO -mlR +rRF iNR bCj tjp @@ -127767,7 +127739,7 @@ vgu tYP hBT ipr -sHv +xwC eIh urt mjW @@ -127992,7 +127964,7 @@ vcB vcB vcB pTC -ewl +jxj ydp uTm nfR @@ -129328,7 +129300,7 @@ nJK yex iML tgI -uUG +iFt djT kzc kzc @@ -129842,7 +129814,7 @@ hGI esH owX asW -nSb +bFD nSb jHm ucu @@ -130099,7 +130071,7 @@ hNW hNW hNW hNW -hNW +dDB hNW nLP hNW @@ -130295,7 +130267,7 @@ uQt nia vBY eYN -wdm +msO iyq iCO uED @@ -130356,7 +130328,7 @@ lzo vbO uXN eqB -eyH +pDx eyH pwD eyH @@ -130572,7 +130544,7 @@ fHD tCD khb rNZ -hUZ +bUN ryp khb gmZ @@ -132131,7 +132103,7 @@ bgL mfI fvi tpg -byI +tzc oZz bpM vzA @@ -132187,7 +132159,7 @@ gqm qYo aaa lvw -jUT +qYo qYo aaa aaa @@ -133899,7 +133871,7 @@ pRS kNB lAv nAz -jce +xYf lZx pgs lbt @@ -133948,7 +133920,7 @@ dQT deW pMF uZm -wqz +aBf loe gaC lpx @@ -134170,7 +134142,7 @@ bMB drM mlE odw -khr +ukO eAY fot mpb @@ -134399,7 +134371,7 @@ aaa wyH wyH diL -wEx +ujL drj bog wuV @@ -137483,10 +137455,10 @@ aaa wyH wyH diL -hFx +uiH drj bog -hZb +uLX gOU gOU vDo @@ -138511,7 +138483,7 @@ aaa aad aaa diL -hub +pGz bsC bog nkU @@ -139045,7 +139017,7 @@ nrd ivA cVy kSu -tAO +iij dsT qBq fQw @@ -139216,7 +139188,7 @@ coH xrr adR abi -rJY +lnk aff afG afY @@ -140272,7 +140244,7 @@ xGK jdL juz jdL -tyF +xfG hTl tjl kdE @@ -143115,7 +143087,7 @@ aad aad aad aJE -ejX +raF aAU uQZ xhJ @@ -146537,7 +146509,7 @@ feV wZE xvr rmI -hSF +fzK vTn wZE dre @@ -146722,7 +146694,7 @@ jrA qIH vgQ hYa -nHx +mCe nup iSk jLe @@ -146979,7 +146951,7 @@ xzJ hXi vgQ csD -lTh +nJu nup mTT hgS @@ -147492,7 +147464,7 @@ xPo krO pUP vgQ -nBC +pGv xfR vgQ eAW @@ -148009,7 +147981,7 @@ ybk jgS aub ivK -dqs +uZy fND ukX stA @@ -148244,19 +148216,19 @@ aaa uHd aaa vXr -jbn +cmy xIl obL -pXI +aLM xIl gjc -pJo +gRN xIl aSW -wGQ +vxq xIl sTq -pJo +gRN ayM fXC iKL @@ -148849,7 +148821,7 @@ iBx nXH qAu kZE -cfW +oRA mzX xin dJP @@ -150855,7 +150827,7 @@ aWO bLs iRi nIV -dpR +ale vyj snW auW @@ -151876,7 +151848,7 @@ aaa qYo aaa qYo -aKU +jUT qYo aaa qYo @@ -154691,13 +154663,13 @@ gJk aaa aad aaa -aKU +jUT aad aaa aad aaa aad -aKU +jUT aaa qYo aaa diff --git a/_maps/map_files/IceBoxStation/IceBoxStation.dmm b/_maps/map_files/IceBoxStation/IceBoxStation.dmm index 3207e159113b2..9046bd34cd410 100644 --- a/_maps/map_files/IceBoxStation/IceBoxStation.dmm +++ b/_maps/map_files/IceBoxStation/IceBoxStation.dmm @@ -935,6 +935,14 @@ }, /turf/open/floor/iron, /area/station/command/gateway) +"apL" = ( +/obj/machinery/modular_computer/preset/engineering, +/obj/structure/cable, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/light/small/directional/north, +/obj/machinery/computer/security/telescreen/engine/directional/north, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "apS" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, @@ -1094,7 +1102,6 @@ /obj/structure/cable, /obj/machinery/button/door/directional/east{ id = "xenobio10"; - layer = 4; name = "Xenobio Pen 10 Blast DOors"; req_access = list("xenobiology") }, @@ -1204,20 +1211,6 @@ /obj/effect/landmark/start/hangover, /turf/open/floor/iron/freezer, /area/station/commons/toilet) -"atC" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/corner{ - dir = 8 - }, -/obj/machinery/holopad, -/obj/effect/landmark/start/depsec/medical, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/medical) "atN" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -1856,22 +1849,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"aCV" = ( -/obj/machinery/door/airlock/medical/glass{ - name = "Medbay Chemistry Access" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/line, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/obj/effect/turf_decal/tile/yellow/full, -/turf/open/floor/iron/large, -/area/station/medical/treatment_center) "aCX" = ( /obj/structure/table, /obj/item/stock_parts/subspace/filter, @@ -1954,7 +1931,7 @@ dir = 4 }, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "aEM" = ( /obj/structure/sign/departments/cargo, /turf/closed/wall/r_wall, @@ -2160,12 +2137,6 @@ dir = 9 }, /area/station/science/explab) -"aIv" = ( -/obj/structure/railing/wooden_fence{ - dir = 1 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "aIA" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 9 @@ -2649,6 +2620,7 @@ /obj/effect/turf_decal/box, /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/science/ordnance) "aQy" = ( @@ -2812,6 +2784,17 @@ /obj/effect/turf_decal/siding/yellow, /turf/open/floor/iron, /area/station/engineering/atmos/storage/gas) +"aSw" = ( +/obj/structure/rack, +/obj/item/lighter, +/obj/item/clothing/glasses/meson{ + pixel_y = 4 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/reagent_containers/pill/patch/aiuri, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "aSB" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/turf_decal/box, @@ -3244,6 +3227,26 @@ /obj/item/bikehorn/rubberducky/plasticducky, /turf/open/floor/iron/freezer, /area/mine/laborcamp) +"aYS" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/structure/cable, +/obj/structure/table, +/obj/item/storage/box/lights/mixed, +/obj/item/stack/cable_coil, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/emproof, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = 6; + pixel_y = -2 + }, +/obj/machinery/light_switch/directional/south{ + pixel_x = 10 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "aZd" = ( /turf/open/floor/plating, /area/station/medical/virology) @@ -3811,10 +3814,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) -"bhs" = ( -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "bht" = ( /obj/structure/closet/lasertag/red, /obj/effect/spawner/random/contraband/permabrig_gear, @@ -3868,6 +3867,10 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"bil" = ( +/obj/structure/railing/wooden_fence, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "bin" = ( /obj/effect/turf_decal/stripes/asteroid/line{ dir = 4 @@ -3897,7 +3900,7 @@ network = list("ss13","test","rd","xeno") }, /obj/machinery/light/directional/west, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "biR" = ( /obj/structure/table/glass, @@ -3945,19 +3948,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"bjm" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring medbay to ensure patient safety."; - dir = 8; - name = "Medbay Monitor"; - network = list("medbay"); - pixel_y = 4 - }, -/obj/structure/reagent_dispensers/wall/peppertank/directional/east, -/obj/effect/turf_decal/tile/red/full, -/turf/open/floor/iron/dark/smooth_large, -/area/station/security/checkpoint/medical) "bjn" = ( /obj/machinery/door/window/left/directional/east{ name = "Containment Pen 11"; @@ -4492,7 +4482,7 @@ "bqX" = ( /obj/machinery/air_sensor/ordnance_burn_chamber, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "bqY" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance/two, @@ -4584,6 +4574,15 @@ }, /turf/open/floor/plating, /area/mine/eva/lower) +"bsc" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/maintenance/department/electrical) "bsd" = ( /obj/structure/chair/stool/directional/south, /obj/structure/sign/poster/official/obey/directional/north, @@ -5088,12 +5087,6 @@ /obj/structure/girder, /turf/open/floor/plating, /area/station/maintenance/fore) -"byV" = ( -/obj/structure/railing/wooden_fence{ - dir = 8 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "bzc" = ( /obj/machinery/status_display/evac/directional/east, /obj/effect/turf_decal/tile/blue, @@ -5240,16 +5233,6 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) -"bAW" = ( -/obj/machinery/light_switch/directional/north{ - pixel_x = -7 - }, -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/high/empty, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/brown/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/lobby) "bAX" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -5690,6 +5673,12 @@ /obj/structure/sign/departments/xenobio/directional/south, /turf/open/floor/plating, /area/station/science/xenobiology) +"bGD" = ( +/obj/structure/table/reinforced, +/obj/structure/reagent_dispensers/wall/peppertank/directional/east, +/obj/effect/turf_decal/tile/red/full, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/medical) "bGP" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/brown/half/contrasted{ @@ -5781,6 +5770,10 @@ }, /obj/machinery/door/firedoor/heavy, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/power/apc/auto_name/directional/north{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) "bIl" = ( @@ -6256,9 +6249,7 @@ /turf/open/floor/engine, /area/station/engineering/atmos/hfr_room) "bOy" = ( -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/spawner/random/vending/snackvend, /obj/machinery/camera/directional/east{ c_tag = "Engineering Lobby" @@ -6285,7 +6276,7 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 4 }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "bOX" = ( /obj/structure/cable, @@ -6378,6 +6369,12 @@ /obj/effect/turf_decal/tile/green/full, /turf/open/floor/iron/dark/smooth_large, /area/station/medical/virology) +"bPR" = ( +/obj/structure/railing/wooden_fence{ + dir = 1 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "bPV" = ( /obj/item/kirbyplants/random/dead, /turf/open/floor/plating/snowed/icemoon, @@ -7158,7 +7155,6 @@ "cbP" = ( /obj/machinery/button/door/directional/east{ id = "xenobio9"; - layer = 4; name = "Xenobio Pen 9 Blast DOors"; req_access = list("xenobiology") }, @@ -7775,11 +7771,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) -"cku" = ( -/obj/effect/landmark/event_spawn, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/engine, -/area/station/science/xenobiology) "ckN" = ( /obj/structure/cable, /obj/machinery/newscaster/directional/south, @@ -7885,17 +7876,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance/testlab) -"clX" = ( -/obj/structure/rack, -/obj/item/lighter, -/obj/item/clothing/glasses/meson{ - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/reagent_containers/pill/patch/aiuri, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "clY" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -8085,16 +8065,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/plating, /area/station/maintenance/fore) -"cnU" = ( -/obj/machinery/modular_computer/preset/id, -/obj/machinery/computer/security/telescreen/vault{ - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "coT" = ( /obj/structure/table, /obj/item/storage/wallet, @@ -8285,20 +8255,6 @@ /obj/item/radio/intercom/directional/east, /turf/open/floor/iron/white, /area/station/science/genetics) -"crH" = ( -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 8 - }, -/obj/machinery/light/small/directional/west, -/obj/machinery/requests_console/directional/west{ - department = "Head of Personnel's Desk"; - name = "Head of Personnel's Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/mapping_helpers/requests_console/announcement, -/obj/effect/mapping_helpers/requests_console/information, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) "crO" = ( /obj/effect/turf_decal/siding/wood, /obj/structure/railing/corner/end/flip{ @@ -8479,7 +8435,7 @@ "cuB" = ( /obj/machinery/atmospherics/components/unary/outlet_injector/monitored/ordnance_burn_chamber_input, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "cuJ" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -9744,20 +9700,6 @@ }, /turf/open/floor/iron/white/corner, /area/station/hallway/secondary/exit/departure_lounge) -"cMy" = ( -/obj/structure/table, -/obj/item/folder/white, -/obj/item/folder/white, -/obj/item/pen, -/obj/item/taperecorder, -/obj/item/paper_bin{ - pixel_y = 6 - }, -/obj/machinery/power/apc/auto_name/directional/east, -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/explab) "cMA" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Control" @@ -9919,14 +9861,6 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"cOY" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/potato{ - name = "\improper Beepsky's emergency battery" - }, -/turf/open/floor/plating, -/area/station/maintenance/fore) "cPd" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -10328,27 +10262,6 @@ }, /turf/open/floor/wood/parquet, /area/station/service/theater) -"cWn" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/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/structure/cable, -/obj/item/mod/module/plasma_stabilizer, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -4; - pixel_y = -1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/mod/module/signlang_radio, -/obj/item/mod/module/thermal_regulator, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "cWq" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -11344,9 +11257,7 @@ /area/station/science/robotics/lab) "dkB" = ( /obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 }, @@ -11397,6 +11308,9 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"dlu" = ( +/turf/closed/wall/mineral/wood/nonmetal, +/area/icemoon/underground/explored) "dlB" = ( /obj/structure/table/wood, /obj/item/storage/photo_album/chapel, @@ -11425,7 +11339,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, /obj/machinery/button/door/directional/east{ id = "xenobio11"; - layer = 4; name = "Xenobio Pen 11 Blast DOors"; req_access = list("xenobiology") }, @@ -11522,18 +11435,6 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/checkpoint/supply) -"dnU" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/obj/machinery/light/directional/west, -/obj/item/kirbyplants/random/dead/research_director, -/obj/machinery/computer/security/telescreen/rd{ - dir = 4; - pixel_x = -26 - }, -/turf/open/floor/iron/smooth_half, -/area/station/command/heads_quarters/rd) "dnX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -11580,7 +11481,6 @@ "doK" = ( /obj/machinery/button/door/directional/east{ id = "xenobio8"; - layer = 4; name = "Xenobio Pen 8 Blast DOors"; req_access = list("xenobiology") }, @@ -11598,34 +11498,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood/large, /area/mine/eva/lower) -"doO" = ( -/obj/structure/table, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -8; - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/crowbar, -/obj/item/radio/headset/headset_sci{ - pixel_x = -3 - }, -/obj/machinery/newscaster/directional/east, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "doW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -11920,18 +11792,6 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/carpet/red, /area/station/security/prison/work) -"dsk" = ( -/obj/machinery/computer/station_alert{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/ce{ - dir = 4; - pixel_x = -24; - pixel_y = -1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "dsl" = ( /obj/machinery/computer/rdservercontrol{ dir = 1 @@ -12018,6 +11878,16 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/engine_equipment, /turf/open/floor/iron, /area/station/engineering/engine_smes) +"dtq" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/obj/effect/decal/cleanable/cobweb/cobweb2, +/obj/machinery/fax{ + fax_name = "Law Office"; + name = "Law Office Fax Machine" + }, +/turf/open/floor/wood, +/area/station/service/lawoffice) "dtr" = ( /obj/machinery/computer/records/medical, /obj/effect/turf_decal/tile/green/anticorner/contrasted, @@ -12776,27 +12646,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) -"dFr" = ( -/obj/structure/table, -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 1; - name = "isolation room monitor"; - network = list("isolation"); - pixel_y = -32 - }, -/obj/item/clothing/suit/jacket/straight_jacket, -/obj/item/clothing/suit/jacket/straight_jacket{ - pixel_x = 6 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Security - Permabrig Prep"; - network = list("ss13","prison"); - view_range = 5 - }, -/obj/structure/cable, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron/smooth, -/area/station/security/execution/transfer) "dFt" = ( /turf/closed/wall, /area/station/hallway/secondary/exit/departure_lounge) @@ -13061,6 +12910,22 @@ /obj/effect/turf_decal/tile/yellow, /turf/open/floor/iron, /area/station/tcommsat/computer) +"dKr" = ( +/obj/structure/table, +/obj/machinery/computer/security/telescreen/isolation/directional/south, +/obj/item/clothing/suit/jacket/straight_jacket, +/obj/item/clothing/suit/jacket/straight_jacket{ + pixel_x = 6 + }, +/obj/machinery/camera/directional/east{ + c_tag = "Security - Permabrig Prep"; + network = list("ss13","prison"); + view_range = 5 + }, +/obj/structure/cable, +/obj/machinery/light/small/directional/east, +/turf/open/floor/iron/smooth, +/area/station/security/execution/transfer) "dKy" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/preopen{ @@ -13186,9 +13051,7 @@ /obj/effect/turf_decal/trimline/blue/filled/end{ dir = 1 }, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/item/radio/intercom/directional/west, /obj/structure/disposalpipe/segment, /turf/open/floor/iron/large, @@ -15330,7 +15193,7 @@ "evc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "evk" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15832,6 +15695,19 @@ /obj/item/flashlight, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"eEm" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "eEr" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/sign/warning/directional/south, @@ -16177,10 +16053,6 @@ dir = 8 }, /area/station/maintenance/port/fore) -"eLb" = ( -/obj/machinery/iv_drip, -/turf/open/floor/engine, -/area/station/science/xenobiology) "eLl" = ( /obj/structure/disposalpipe/segment{ dir = 5 @@ -16401,10 +16273,6 @@ dir = 4 }, /area/station/ai_monitored/command/storage/eva) -"eOS" = ( -/obj/structure/table, -/turf/open/floor/engine, -/area/station/science/xenobiology) "ePd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/grille/broken, @@ -16999,12 +16867,6 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/command/meeting_room) -"eYU" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high/empty, -/turf/open/floor/iron/dark, -/area/station/engineering/storage) "eYX" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 1 @@ -17217,10 +17079,8 @@ /turf/open/floor/iron, /area/station/engineering/main) "fcj" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/science/ordnance) +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "fco" = ( /obj/effect/turf_decal/tile/bar/opposingcorners, /obj/effect/turf_decal/siding/wood{ @@ -18584,6 +18444,18 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) +"fyT" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 3 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 3 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/textured, +/area/mine/mechbay) "fyZ" = ( /obj/machinery/status_display/evac/directional/north, /turf/open/floor/iron, @@ -18806,7 +18678,7 @@ "fCS" = ( /obj/machinery/door/poddoor/incinerator_ordmix, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "fCW" = ( /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/iron/dark/textured, @@ -18855,6 +18727,15 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/service/janitor) +"fDM" = ( +/obj/machinery/camera/directional/east{ + c_tag = "Security Post - Engineering" + }, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red, +/obj/machinery/computer/security/telescreen/engine/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/engineering) "fDP" = ( /obj/structure/cable, /obj/item/radio/intercom/prison/directional/north, @@ -19361,6 +19242,14 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/service/hydroponics) +"fLH" = ( +/obj/machinery/computer/station_alert{ + dir = 4 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ce/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "fLK" = ( /obj/structure/railing/corner{ dir = 8 @@ -19584,6 +19473,13 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth_large, /area/station/cargo/warehouse) +"fPO" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron/white/side{ + dir = 1 + }, +/area/station/command/heads_quarters/rd) "fPP" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -19663,6 +19559,12 @@ dir = 1 }, /area/station/security/prison) +"fQU" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/engine_smes) "fRb" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -19889,6 +19791,16 @@ }, /turf/open/floor/iron/white, /area/station/medical/medbay/lobby) +"fVC" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/ecto_sniffer{ + pixel_x = 6; + pixel_y = 6 + }, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "fVD" = ( /obj/structure/disposalpipe/segment, /obj/machinery/door/airlock/engineering{ @@ -20402,6 +20314,7 @@ /obj/machinery/door/firedoor/heavy, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) "gcB" = ( @@ -20687,6 +20600,12 @@ /obj/structure/closet/crate, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"ghA" = ( +/obj/structure/railing/wooden_fence{ + dir = 5 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "ghE" = ( /obj/structure/disposalpipe/segment, /obj/machinery/camera/directional/west{ @@ -21865,27 +21784,6 @@ /obj/effect/landmark/generic_maintenance_landmark, /turf/open/floor/plating, /area/station/maintenance/port/aft) -"gBg" = ( -/obj/structure/table/glass, -/obj/item/assembly/signaler{ - pixel_x = 6; - pixel_y = 5 - }, -/obj/item/reagent_containers/dropper{ - pixel_x = -4; - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/cable_coil, -/obj/item/pen{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/machinery/newscaster/directional/west, -/turf/open/floor/iron/cafeteria{ - dir = 8 - }, -/area/station/science/research) "gBl" = ( /obj/structure/sign/warning/electric_shock, /turf/closed/wall/r_wall, @@ -22102,6 +22000,12 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"gEe" = ( +/obj/structure/table, +/obj/item/binoculars, +/obj/machinery/computer/security/telescreen/ordnance/directional/north, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "gEl" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/any/service/maintenance, @@ -22452,6 +22356,34 @@ "gIY" = ( /turf/closed/wall, /area/station/medical/medbay/central) +"gJi" = ( +/obj/structure/table, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -8; + pixel_y = 4 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/crowbar, +/obj/item/radio/headset/headset_sci{ + pixel_x = -3 + }, +/obj/machinery/newscaster/directional/east, +/obj/machinery/light/directional/east, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "gJs" = ( /obj/machinery/portable_atmospherics/canister, /obj/structure/disposalpipe/segment, @@ -23063,6 +22995,19 @@ /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron/dark/side, /area/mine/eva/lower) +"gSQ" = ( +/obj/structure/table, +/obj/item/crowbar/red, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 6; + pixel_y = -3 + }, +/obj/structure/sign/poster/random/directional/west, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/hallway/primary/aft) "gSU" = ( /obj/item/popsicle_stick{ pixel_y = 1; @@ -23095,6 +23040,22 @@ /obj/machinery/light/directional/west, /turf/open/floor/plating, /area/station/cargo/storage) +"gTi" = ( +/obj/machinery/door/airlock/medical/glass{ + name = "Medbay Chemistry Access" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/line, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/obj/effect/turf_decal/tile/yellow/full, +/turf/open/floor/iron/large, +/area/station/medical/treatment_center) "gTq" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -23171,6 +23132,15 @@ /obj/structure/sign/poster/contraband/random/directional/east, /turf/open/floor/plating, /area/station/maintenance/starboard/aft) +"gUX" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/test_chamber/directional/east{ + name = "Xenobio Monitor" + }, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "gUY" = ( /obj/machinery/power/apc/auto_name/directional/north, /obj/structure/cable, @@ -23781,6 +23751,10 @@ /obj/item/stock_parts/scanning_module, /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, +/obj/item/multitool, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, /turf/open/floor/iron/white/side{ dir = 10 }, @@ -24254,12 +24228,6 @@ /obj/structure/mirror/directional/east, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) -"hnc" = ( -/obj/structure/railing/wooden_fence{ - dir = 9 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "hnd" = ( /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, @@ -24334,12 +24302,6 @@ /obj/machinery/hydroponics/constructable, /turf/open/floor/iron/dark, /area/station/service/hydroponics) -"hop" = ( -/obj/structure/railing/wooden_fence{ - dir = 6 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "hos" = ( /obj/structure/disposalpipe/trunk/multiz/down{ dir = 1 @@ -24715,12 +24677,6 @@ /obj/structure/tank_holder/oxygen, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"hsU" = ( -/obj/structure/railing/wooden_fence{ - dir = 4 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "htd" = ( /obj/structure/sign/warning/docking/directional/north, /turf/open/misc/asteroid/snow/icemoon, @@ -24799,6 +24755,13 @@ /obj/machinery/vending/autodrobe/all_access, /turf/open/floor/iron, /area/station/commons/locker) +"hut" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/rcl/pre_loaded, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "huB" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -24961,9 +24924,6 @@ }, /turf/open/floor/iron, /area/station/cargo/office) -"hwL" = ( -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "hwR" = ( /obj/machinery/camera/directional/west{ c_tag = "Security - Equipment Room" @@ -25278,14 +25238,6 @@ /obj/structure/cable, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"hCx" = ( -/obj/structure/table, -/obj/item/binoculars, -/obj/machinery/computer/security/telescreen/ordnance{ - pixel_y = 32 - }, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) "hCC" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -26398,6 +26350,27 @@ /obj/machinery/status_display/evac/directional/south, /turf/open/floor/wood, /area/station/service/library) +"hUf" = ( +/obj/structure/table/glass, +/obj/item/assembly/signaler{ + pixel_x = 6; + pixel_y = 5 + }, +/obj/item/reagent_containers/dropper{ + pixel_x = -4; + pixel_y = 4 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/cable_coil, +/obj/item/pen{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/machinery/newscaster/directional/west, +/turf/open/floor/iron/cafeteria{ + dir = 8 + }, +/area/station/science/research) "hUi" = ( /obj/effect/turf_decal/stripes/line{ dir = 6 @@ -26641,19 +26614,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/underground/explored) -"hYU" = ( -/obj/effect/turf_decal/siding/yellow/corner, -/obj/machinery/status_display/evac/directional/south, -/obj/structure/table, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -5 - }, -/obj/item/multitool{ - pixel_x = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "hZe" = ( /obj/effect/turf_decal/trimline/yellow/warning{ dir = 1 @@ -26972,6 +26932,19 @@ /obj/effect/landmark/start/depsec/science, /turf/open/floor/iron/dark, /area/station/security/checkpoint/science) +"idp" = ( +/obj/machinery/button/door/directional/east{ + id = "cmoprivacy"; + name = "CMO Shutter Control"; + pixel_y = 23; + req_access = list("cmo") + }, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/cmo/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "idr" = ( /obj/structure/stairs/north, /obj/structure/railing{ @@ -26994,6 +26967,12 @@ }, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) +"idH" = ( +/obj/structure/railing/wooden_fence{ + dir = 6 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "idN" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/door/window/brigdoor/left/directional/south{ @@ -27162,7 +27141,6 @@ "ihN" = ( /obj/machinery/button/door/directional/west{ id = "xenobio4"; - layer = 4; name = "Xenobio Pen 4 Blast Door"; req_access = list("xenobiology") }, @@ -27306,6 +27284,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/security/brig/upper) +"ijW" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, +/obj/structure/sign/warning/secure_area/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/explab) "ijY" = ( /obj/structure/flora/rock/icy/style_random, /turf/open/misc/asteroid/snow/icemoon, @@ -27987,16 +27970,6 @@ }, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) -"itQ" = ( -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/radio/intercom/directional/north, -/obj/structure/table/reinforced, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) "itY" = ( /obj/effect/spawner/random/maintenance, /turf/open/floor/plating/snowed/icemoon, @@ -28140,7 +28113,7 @@ /area/station/maintenance/port/fore) "iwq" = ( /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "iwx" = ( /obj/machinery/door/airlock/maintenance{ name = "Xenobiology Maintenance" @@ -28522,7 +28495,7 @@ "iCe" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "iCg" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -29571,6 +29544,21 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"iTE" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/corner{ + dir = 8 + }, +/obj/machinery/holopad, +/obj/effect/landmark/start/depsec/medical, +/obj/machinery/computer/security/telescreen/cmo/directional/east, +/turf/open/floor/iron/dark/smooth_large, +/area/station/security/checkpoint/medical) "iTJ" = ( /obj/structure/table, /obj/item/paper_bin{ @@ -30531,23 +30519,28 @@ /obj/effect/turf_decal/tile/dark/fourcorners, /turf/open/floor/iron, /area/mine/living_quarters) -"jkx" = ( -/obj/machinery/computer/security/telescreen/engine{ - dir = 8; - pixel_x = 24 - }, -/obj/machinery/camera/directional/east{ - c_tag = "Security Post - Engineering" - }, +"jko" = ( +/obj/structure/railing, +/obj/structure/rack, /obj/structure/cable, -/obj/effect/turf_decal/tile/red, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/engineering) +/obj/machinery/door/firedoor/border_only, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark/textured, +/area/station/ai_monitored/security/armory/upper) "jkH" = ( /obj/structure/training_machine, /obj/effect/landmark/blobstart, /turf/open/floor/engine, /area/station/science/explab) +"jkK" = ( +/obj/structure/railing/wooden_fence{ + dir = 9 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "jkN" = ( /obj/effect/spawner/random/entertainment/arcade, /obj/machinery/status_display/ai/directional/north, @@ -30950,7 +30943,6 @@ "jrc" = ( /obj/machinery/button/door/directional/east{ id = "xenobio6"; - layer = 4; name = "Xenobio Pen 6 Blast DOors"; req_access = list("xenobiology") }, @@ -31785,9 +31777,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"jEa" = ( -/turf/closed/wall/mineral/wood/nonmetal, -/area/icemoon/underground/explored) "jEf" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -32588,9 +32577,7 @@ location = "Medbay" }, /obj/effect/turf_decal/bot, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/plasticflaps/opaque, /turf/open/floor/iron/dark, /area/station/maintenance/department/medical/central) @@ -33348,18 +33335,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"kck" = ( -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 6 - }, -/obj/structure/table/glass, -/turf/open/floor/iron/white/side{ - dir = 9 - }, -/area/station/science/lab) "kcm" = ( /obj/structure/rack, /obj/effect/spawner/random/techstorage/command_all, @@ -33880,13 +33855,6 @@ /obj/effect/spawner/random/armory/bulletproof_helmet, /turf/open/floor/iron/dark/textured, /area/station/ai_monitored/security/armory) -"kjh" = ( -/obj/machinery/modular_computer/preset/engineering, -/obj/structure/cable, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "kjo" = ( /obj/effect/mapping_helpers/airlock/access/any/supply/maintenance, /obj/machinery/door/airlock/engineering{ @@ -34995,12 +34963,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"kyM" = ( -/obj/structure/table, -/obj/item/plant_analyzer, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/engineering/storage/tech) "kyU" = ( /obj/machinery/modular_computer/preset/id, /obj/machinery/light/directional/north, @@ -35170,13 +35132,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"kBw" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/rcl/pre_loaded, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "kBL" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -36833,6 +36788,11 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/large, /area/station/engineering/engine_smes) +"kYN" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "kZa" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -37291,7 +37251,7 @@ dir = 8 }, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "lgW" = ( /obj/machinery/meter/monitored/distro_loop, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/visible, @@ -38988,6 +38948,16 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"lHm" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron, +/area/station/science/explab) "lHr" = ( /obj/structure/stairs/north, /turf/open/floor/iron/freezer, @@ -39308,18 +39278,6 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine/o2, /area/station/engineering/atmos) -"lMi" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/telescreen/prison{ - pixel_y = 32 - }, -/obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/machinery/fax{ - fax_name = "Law Office"; - name = "Law Office Fax Machine" - }, -/turf/open/floor/wood, -/area/station/service/lawoffice) "lMu" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39744,9 +39702,7 @@ /obj/machinery/camera/directional/north{ c_tag = "Atmospherics Monitoring" }, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/stripes/line{ dir = 8 }, @@ -39875,11 +39831,6 @@ dir = 4 }, /area/station/engineering/storage_shared) -"lVs" = ( -/obj/structure/table, -/obj/item/clothing/mask/surgical, -/turf/open/floor/engine, -/area/station/science/xenobiology) "lVt" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/light/floor, @@ -40021,13 +39972,6 @@ dir = 10 }, /area/station/science/research) -"lYz" = ( -/obj/machinery/computer/records/security, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/security/brig/entrance) "lYR" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -40156,7 +40100,6 @@ /obj/structure/cable, /obj/machinery/button/door/directional/west{ id = "xenobio1"; - layer = 4; name = "Xenobio Pen 1 Blast Door"; req_access = list("xenobiology") }, @@ -40250,17 +40193,6 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/general, /turf/open/floor/plating, /area/station/engineering/storage_shared) -"mci" = ( -/obj/structure/railing, -/obj/structure/rack, -/obj/structure/cable, -/obj/machinery/door/firedoor/border_only, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark/textured, -/area/station/ai_monitored/security/armory/upper) "mco" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -40516,6 +40448,12 @@ }, /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) +"mhj" = ( +/obj/structure/railing/wooden_fence{ + dir = 10 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "mhq" = ( /obj/structure/closet, /obj/effect/spawner/random/maintenance, @@ -40622,16 +40560,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, /area/station/maintenance/disposal/incinerator) -"mko" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 4 - }, -/obj/structure/sign/warning/secure_area/directional/north, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/science/explab) "mkr" = ( /obj/structure/closet/secure_closet/hydroponics, /obj/effect/turf_decal/tile/green/opposingcorners{ @@ -41305,22 +41233,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"mvU" = ( -/obj/machinery/button/door/directional/east{ - id = "cmoprivacy"; - name = "CMO Shutter Control"; - pixel_y = 23; - req_access = list("cmo") - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/cmo{ - dir = 8; - pixel_x = 27 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "mwh" = ( /obj/structure/table, /obj/item/storage/fancy/donut_box, @@ -42027,7 +41939,7 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/decal/cleanable/dirt, /obj/structure/table, -/obj/item/clothing/mask/cigarette{ +/obj/item/cigarette{ pixel_x = 6; pixel_y = 12 }, @@ -42163,19 +42075,6 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) -"mMj" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) "mMk" = ( /obj/machinery/telecomms/message_server/preset, /turf/open/floor/iron/dark/telecomms, @@ -42234,16 +42133,6 @@ }, /turf/open/floor/wood/parquet, /area/station/service/bar/atrium) -"mNj" = ( -/obj/machinery/computer/security{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/computer/security/telescreen/prison{ - pixel_y = 32 - }, -/turf/open/floor/iron/showroomfloor, -/area/station/security/warden) "mNy" = ( /obj/effect/turf_decal/tile/green{ dir = 8 @@ -43280,6 +43169,17 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/commons/locker) +"ncx" = ( +/obj/structure/table/wood, +/obj/item/soap/deluxe{ + pixel_y = 11 + }, +/obj/item/soap/deluxe{ + pixel_y = 6 + }, +/obj/item/soap/deluxe, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "ncB" = ( /obj/machinery/door/airlock/security/glass{ name = "Brig Walkway" @@ -43488,6 +43388,27 @@ /obj/machinery/meter, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"neV" = ( +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/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/structure/cable, +/obj/item/mod/module/plasma_stabilizer, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -4; + pixel_y = -1 + }, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/mod/module/signlang_radio, +/obj/item/mod/module/thermal_regulator, +/turf/open/floor/iron/dark, +/area/station/engineering/engine_smes) "nfd" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/firealarm/directional/west, @@ -44099,6 +44020,16 @@ /obj/machinery/vending/assist, /turf/open/floor/plating, /area/station/engineering/storage/tech) +"nnM" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/plating, +/area/station/engineering/storage/tech) "nnR" = ( /obj/machinery/holopad, /turf/open/floor/carpet, @@ -44446,9 +44377,7 @@ /turf/open/floor/plating, /area/station/maintenance/aft/lesser) "nsq" = ( -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/filingcabinet/filingcabinet, /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -45248,6 +45177,12 @@ }, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"nCW" = ( +/obj/structure/table, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/security/brig/entrance) "nDd" = ( /obj/machinery/status_display/evac/directional/west, /obj/effect/turf_decal/stripes/corner, @@ -45397,6 +45332,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/secondary/entry) +"nEI" = ( +/obj/item/flashlight/lantern/on, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "nEV" = ( /obj/machinery/vending/wardrobe/sec_wardrobe, /obj/structure/cable, @@ -46137,6 +46076,18 @@ }, /turf/open/floor/wood, /area/station/hallway/secondary/service) +"nQq" = ( +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 6 + }, +/obj/structure/table/glass, +/turf/open/floor/iron/white/side{ + dir = 9 + }, +/area/station/science/lab) "nQu" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -46467,6 +46418,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/smooth_half, /area/station/ai_monitored/command/storage/eva) +"nUI" = ( +/obj/machinery/computer/records/security, +/obj/machinery/light_switch/directional/north{ + pixel_x = -16 + }, +/obj/machinery/computer/security/telescreen/normal/directional/north, +/turf/open/floor/iron/dark/textured_edge{ + dir = 8 + }, +/area/station/security/brig/entrance) "nUJ" = ( /obj/machinery/flasher/directional/east{ id = "brigentry" @@ -46886,7 +46847,7 @@ "ocd" = ( /obj/machinery/igniter/incinerator_ordmix, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "ocp" = ( /obj/effect/landmark/start/hangover, /obj/effect/decal/cleanable/dirt, @@ -47241,6 +47202,16 @@ /obj/structure/urinal/directional/north, /turf/open/floor/iron/freezer, /area/station/commons/toilet) +"oiB" = ( +/obj/machinery/door/airlock/maintenance{ + name = "Chemistry Lab Utilities" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airlock/access/all/medical/general, +/turf/open/floor/iron/smooth, +/area/station/maintenance/department/medical/central) "oiD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -48094,16 +48065,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore) -"ouE" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 6 - }, -/obj/machinery/computer/security/telescreen/engine{ - dir = 8; - pixel_x = 24 - }, -/turf/open/floor/iron, -/area/station/engineering/engine_smes) "ouP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, @@ -48507,17 +48468,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/violet/visible/layer1, /turf/open/floor/iron, /area/station/engineering/atmos/storage) -"oAJ" = ( -/obj/structure/table/wood, -/obj/item/raptor_dex{ - pixel_y = 13 - }, -/obj/item/raptor_dex{ - pixel_y = 7 - }, -/obj/item/raptor_dex, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "oAM" = ( /obj/structure/fluff/tram_rail/end{ dir = 4 @@ -48596,28 +48546,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/solars/starboard/fore) -"oCm" = ( -/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/power_store/cell/high{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 8; - pixel_y = -2 - }, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/white/side{ - dir = 4 - }, -/area/station/science/explab) "oCs" = ( /obj/structure/table, /obj/item/radio/headset/headset_med{ @@ -49253,20 +49181,6 @@ /obj/structure/sign/warning/gas_mask, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"oLW" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used to access the various cameras on the station."; - dir = 1; - layer = 3.1; - name = "Security Camera Monitor"; - network = list("ss13"); - pixel_y = 2 - }, -/obj/structure/table, -/turf/open/floor/iron/dark/textured_edge{ - dir = 8 - }, -/area/station/security/brig/entrance) "oMa" = ( /obj/structure/marker_beacon/burgundy, /obj/effect/turf_decal/weather/snow/corner{ @@ -50402,14 +50316,12 @@ }, /obj/machinery/button/door/directional/west{ id = "QMLoaddoor"; - layer = 4; name = "Loading Doors"; pixel_y = -8; req_access = list("cargo") }, /obj/machinery/button/door/directional/west{ id = "QMLoaddoor2"; - layer = 4; name = "Loading Doors"; pixel_y = 8; req_access = list("cargo") @@ -50521,7 +50433,6 @@ /obj/structure/sink/directional/east, /obj/machinery/button/door/directional/west{ id = "xenobio2"; - layer = 4; name = "Xenobio Pen 2 Blast Door"; req_access = list("xenobiology") }, @@ -50993,16 +50904,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/security/holding_cell) -"pmA" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/ecto_sniffer{ - pixel_x = 6; - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "pna" = ( /obj/machinery/door/poddoor/preopen{ id = "Engineering"; @@ -51506,16 +51407,6 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/dark, /area/station/cargo/drone_bay) -"pvd" = ( -/obj/machinery/door/airlock/maintenance{ - name = "Chemistry Lab Utilities" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/mapping_helpers/airlock/access/all/medical/general, -/turf/open/floor/iron/smooth, -/area/station/maintenance/department/medical/central) "pve" = ( /obj/effect/spawner/structure/window, /turf/open/floor/plating, @@ -52189,6 +52080,12 @@ }, /turf/open/floor/iron, /area/station/security/prison/mess) +"pEY" = ( +/obj/structure/table, +/obj/item/plant_analyzer, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/plating, +/area/station/engineering/storage/tech) "pFg" = ( /obj/structure/chair{ dir = 8 @@ -52632,6 +52529,14 @@ }, /turf/open/floor/iron/freezer, /area/station/commons/toilet/locker) +"pLx" = ( +/obj/machinery/computer/security{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/turf/open/floor/iron/showroomfloor, +/area/station/security/warden) "pLZ" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -52889,6 +52794,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"pPE" = ( +/obj/machinery/modular_computer/preset/id, +/obj/machinery/computer/security/telescreen/vault/directional/north, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "pPK" = ( /obj/structure/stairs/east, /turf/open/floor/iron/dark/textured, @@ -53457,6 +53370,15 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"pZA" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/obj/machinery/light/directional/west, +/obj/item/kirbyplants/random/dead/research_director, +/obj/machinery/computer/security/telescreen/rd/directional/west, +/turf/open/floor/iron/smooth_half, +/area/station/command/heads_quarters/rd) "pZD" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53646,6 +53568,10 @@ /obj/effect/mapping_helpers/airlock/access/any/engineering/external, /turf/open/floor/plating, /area/station/medical/morgue) +"qbM" = ( +/obj/structure/ore_container/food_trough/raptor_trough, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "qbO" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55034,6 +54960,9 @@ /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, /area/station/maintenance/department/medical/morgue) +"qvN" = ( +/turf/open/floor/engine/xenobio, +/area/station/science/xenobiology) "qvQ" = ( /obj/structure/closet/secure_closet/atmospherics, /turf/open/floor/iron/dark, @@ -55439,12 +55368,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/wood, /area/station/commons/dorms) -"qBi" = ( -/obj/structure/railing/wooden_fence{ - dir = 10 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "qBj" = ( /obj/structure/cable, /turf/open/floor/iron/white, @@ -55686,17 +55609,6 @@ /obj/item/crowbar/red, /turf/open/floor/glass/reinforced, /area/station/science/xenobiology) -"qFq" = ( -/obj/machinery/computer/security/telescreen/interrogation{ - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark/corner{ - dir = 8 - }, -/area/station/security/processing) "qFs" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/turf_decal/tile/neutral/fourcorners, @@ -55751,14 +55663,6 @@ /obj/effect/mapping_helpers/airlock/access/all/service/janitor, /turf/open/floor/iron, /area/station/service/janitor) -"qGe" = ( -/obj/structure/table, -/obj/item/scalpel{ - pixel_x = 2; - pixel_y = 6 - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "qGg" = ( /obj/structure/rack, /obj/item/pickaxe, @@ -55779,18 +55683,6 @@ /obj/structure/cable, /turf/open/floor/iron/grimy, /area/station/service/bar/backroom) -"qGi" = ( -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen{ - dir = 8; - name = "Xenobio Monitor"; - network = list("xeno"); - pixel_x = 26 - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "qGJ" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -55826,11 +55718,6 @@ /obj/effect/turf_decal/bot_white, /turf/open/floor/iron/checker, /area/station/commons/storage/emergency/port) -"qGX" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lantern/on, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "qHg" = ( /obj/structure/transit_tube/curved/flipped{ dir = 1 @@ -55873,10 +55760,6 @@ /obj/structure/flora/bush/fullgrass/style_random, /turf/open/floor/grass, /area/station/service/hydroponics) -"qHt" = ( -/obj/structure/railing/wooden_fence, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "qHz" = ( /obj/machinery/light_switch/directional/west, /obj/machinery/disposal/bin{ @@ -56772,7 +56655,7 @@ "qTp" = ( /obj/structure/table/wood, /obj/item/clothing/mask/fakemoustache, -/obj/item/clothing/mask/cigarette/pipe, +/obj/item/cigarette/pipe, /obj/item/clothing/glasses/monocle, /obj/item/radio/intercom/directional/north, /turf/open/floor/iron/grimy, @@ -57860,7 +57743,6 @@ "rjT" = ( /obj/machinery/button/door/directional/west{ id = "xenobio3"; - layer = 4; name = "Xenobio Pen 3 Blast Door"; req_access = list("xenobiology") }, @@ -57960,6 +57842,16 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"rlL" = ( +/obj/machinery/light_switch/directional/north{ + pixel_x = -7 + }, +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high/empty, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/brown/fourcorners, +/turf/open/floor/iron/dark, +/area/station/engineering/lobby) "rlS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -57994,6 +57886,17 @@ /obj/machinery/firealarm/directional/north, /turf/open/floor/iron/white, /area/station/science/ordnance) +"rms" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/paper_bin{ + pixel_y = 6 + }, +/obj/item/taperecorder{ + pixel_x = 9 + }, +/turf/open/floor/iron/dark, +/area/station/science/explab) "rmv" = ( /obj/structure/rack, /obj/item/wrench, @@ -58025,7 +57928,7 @@ /obj/effect/mapping_helpers/airlock/locked, /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "rmM" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -58181,7 +58084,7 @@ "roW" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "roX" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -58804,7 +58707,7 @@ dir = 8 }, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "rzj" = ( /obj/structure/table, /obj/item/stack/sheet/iron/fifty{ @@ -58879,6 +58782,17 @@ /obj/machinery/digital_clock/directional/south, /turf/open/openspace, /area/station/medical/medbay/lobby) +"rzY" = ( +/obj/structure/table/wood, +/obj/item/raptor_dex{ + pixel_y = 13 + }, +/obj/item/raptor_dex{ + pixel_y = 7 + }, +/obj/item/raptor_dex, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "rAr" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59260,8 +59174,15 @@ "rEj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/cable, /turf/open/floor/iron, /area/station/science/ordnance) +"rEn" = ( +/obj/structure/railing/wooden_fence{ + dir = 4 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "rEp" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -59877,18 +59798,6 @@ "rQf" = ( /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"rQh" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 3 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 3 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/textured, -/area/mine/mechbay) "rQl" = ( /obj/structure/lattice/catwalk, /obj/structure/railing/corner, @@ -60423,7 +60332,6 @@ "rXD" = ( /obj/machinery/button/door/directional/east{ id = "xenobio7"; - layer = 4; name = "Xenobio Pen 7 Blast DOors"; req_access = list("xenobiology") }, @@ -61398,9 +61306,7 @@ /turf/open/floor/plating, /area/station/maintenance/department/cargo) "snv" = ( -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/machinery/door/poddoor/shutters/preopen{ id = "riot"; name = "Security Shutters" @@ -61645,7 +61551,7 @@ }, /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "sqN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62922,6 +62828,16 @@ /obj/machinery/duct, /turf/open/floor/iron/kitchen/diagonal, /area/station/service/kitchen) +"sHy" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/commons/storage/primary) "sHC" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -63165,17 +63081,6 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/wood, /area/station/command/meeting_room) -"sKV" = ( -/obj/machinery/computer/security/telescreen{ - name = "Test Chamber Monitor"; - network = list("xeno"); - pixel_y = 26 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/white/side{ - dir = 1 - }, -/area/station/command/heads_quarters/rd) "sKW" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -63865,9 +63770,7 @@ /turf/open/floor/plating, /area/station/maintenance/fore/lesser) "sXf" = ( -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/table/reinforced, /obj/item/stack/wrapping_paper{ pixel_x = 3; @@ -64979,16 +64882,6 @@ }, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) -"trb" = ( -/obj/structure/table, -/obj/machinery/computer/security/telescreen{ - dir = 8; - name = "Test Chamber Monitor"; - network = list("test") - }, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/iron/dark, -/area/station/science/explab) "trc" = ( /obj/machinery/conveyor{ dir = 4; @@ -65000,6 +64893,16 @@ "trm" = ( /turf/open/floor/plating, /area/station/science/ordnance/testlab) +"trn" = ( +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/turf/open/floor/iron/white/corner{ + dir = 4 + }, +/area/station/science/explab) "tru" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -65554,6 +65457,15 @@ dir = 4 }, /area/station/service/chapel) +"tAK" = ( +/obj/machinery/computer/security/telescreen/interrogation/directional/north, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/station/security/processing) "tAL" = ( /obj/structure/table, /obj/machinery/light/small/directional/south, @@ -65805,6 +65717,16 @@ }, /turf/open/floor/plating, /area/station/cargo/storage) +"tEn" = ( +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/radio/intercom/directional/north, +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/neutral/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "tEs" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/public/glass{ @@ -66566,6 +66488,28 @@ /obj/item/trash/energybar, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"tPx" = ( +/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/power_store/cell/high{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 8; + pixel_y = -2 + }, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/white/side{ + dir = 4 + }, +/area/station/science/explab) "tPz" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white/side{ @@ -66930,19 +66874,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron/dark, /area/mine/mechbay) -"tWF" = ( -/obj/structure/table, -/obj/item/crowbar/red, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 6; - pixel_y = -3 - }, -/obj/structure/sign/poster/random/directional/west, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/hallway/primary/aft) "tWK" = ( /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, @@ -67066,16 +66997,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/security/prison/garden) -"tYL" = ( -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/turf/open/floor/iron/white/corner{ - dir = 4 - }, -/area/station/science/explab) "tYZ" = ( /obj/machinery/door/airlock/external{ name = "External Airlock" @@ -67440,6 +67361,14 @@ /obj/structure/cable, /turf/open/floor/plating/snowed/icemoon, /area/icemoon/surface/outdoors/nospawn) +"uek" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/potato{ + name = "\improper Beepsky's emergency battery" + }, +/turf/open/floor/plating, +/area/station/maintenance/fore) "uep" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67765,7 +67694,7 @@ /area/station/maintenance/port/aft) "ujp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "ujs" = ( /obj/effect/spawner/structure/window/reinforced, @@ -67795,10 +67724,6 @@ /obj/effect/decal/cleanable/plastic, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"ukf" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/turf/open/floor/iron/dark, -/area/station/science/explab) "uko" = ( /obj/structure/chair/pew/left{ dir = 1 @@ -69191,7 +69116,8 @@ /obj/structure/disposalpipe/trunk{ dir = 4 }, -/turf/open/floor/engine, +/obj/structure/sign/warning/gas_mask/directional/north, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "uHV" = ( /obj/structure/disposalpipe/trunk/multiz{ @@ -69460,26 +69386,6 @@ }, /turf/open/floor/iron/dark, /area/mine/storage) -"uMw" = ( -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/item/storage/box/lights/mixed, -/obj/item/stack/cable_coil, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/emproof, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = 6; - pixel_y = -2 - }, -/obj/machinery/light_switch/directional/south{ - pixel_x = 10 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/engineering/engine_smes) "uMx" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -69909,9 +69815,7 @@ /area/station/medical/medbay/aft) "uTc" = ( /obj/machinery/chem_heater/withbuffer, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/tile/yellow/full, /turf/open/floor/iron/white/smooth_large, /area/station/medical/pharmacy) @@ -69984,9 +69888,8 @@ }, /area/station/service/chapel) "uUn" = ( -/obj/structure/table/optable, /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "uUq" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, @@ -70649,10 +70552,6 @@ }, /turf/open/floor/iron, /area/station/science/ordnance) -"vfO" = ( -/obj/structure/ore_container/food_trough/raptor_trough, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "vfS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -70795,7 +70694,7 @@ /area/station/command/heads_quarters/captain) "viR" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "viV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -71346,15 +71245,6 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/security/courtroom) -"vrl" = ( -/obj/effect/decal/cleanable/dirt, -/obj/structure/cable, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/maintenance/department/electrical) "vrr" = ( /obj/machinery/computer/operating{ dir = 8 @@ -72255,16 +72145,6 @@ }, /turf/open/floor/iron, /area/mine/laborcamp) -"vDG" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/engineering/storage/tech) "vDQ" = ( /obj/effect/spawner/random/decoration/flower, /obj/structure/flora/rock/pile/icy/style_random, @@ -72342,7 +72222,7 @@ /area/station/cargo/drone_bay) "vFb" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 7; pixel_y = 10 }, @@ -72484,9 +72364,7 @@ /area/station/cargo/sorting) "vHM" = ( /obj/structure/rack, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 }, @@ -73349,6 +73227,20 @@ /obj/item/toy/snowball, /turf/open/misc/asteroid/snow/icemoon, /area/icemoon/surface/outdoors/nospawn) +"vXV" = ( +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/light/small/directional/west, +/obj/machinery/requests_console/directional/west{ + department = "Head of Personnel's Desk"; + name = "Head of Personnel's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "vYa" = ( /obj/structure/reagent_dispensers/fueltank, /obj/effect/turf_decal/delivery, @@ -74889,6 +74781,19 @@ }, /turf/open/floor/iron/dark/textured, /area/station/security/prison) +"wuV" = ( +/obj/effect/turf_decal/siding/yellow/corner, +/obj/machinery/status_display/evac/directional/south, +/obj/structure/table, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -5 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "wve" = ( /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/white, @@ -74897,6 +74802,9 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/service/chapel) +"wvu" = ( +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "wvv" = ( /obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -75849,7 +75757,7 @@ "wKh" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "wKv" = ( /obj/structure/table, /obj/item/radio/off, @@ -76314,6 +76222,12 @@ "wRa" = ( /turf/open/openspace, /area/station/security/prison) +"wRc" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high/empty, +/turf/open/floor/iron/dark, +/area/station/engineering/storage) "wRd" = ( /turf/open/floor/iron, /area/station/engineering/main) @@ -77890,16 +77804,6 @@ /obj/item/stack/sheet/leather, /turf/open/floor/iron, /area/station/maintenance/starboard/fore) -"xpH" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/turf_decal/tile/neutral/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/commons/storage/primary) "xpJ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -78109,6 +78013,16 @@ /obj/item/food/grown/carrot, /turf/open/misc/asteroid/snow/standard_air, /area/station/science/research) +"xsP" = ( +/obj/structure/table, +/obj/item/folder/white, +/obj/item/folder/white, +/obj/item/pen, +/obj/machinery/power/apc/auto_name/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/explab) "xtc" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 1 @@ -78445,6 +78359,12 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos/hfr_room) +"xxH" = ( +/obj/structure/railing/wooden_fence{ + dir = 8 + }, +/turf/open/misc/hay/icemoon, +/area/icemoon/underground/explored) "xxI" = ( /obj/machinery/airalarm/directional/north, /obj/item/kirbyplants/random, @@ -78782,7 +78702,6 @@ "xCh" = ( /obj/machinery/button/door/directional/west{ id = "xenobio5"; - layer = 4; name = "Xenobio Pen 5 Blast Door"; req_access = list("xenobiology") }, @@ -78991,6 +78910,7 @@ /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible, /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/science/ordnance) "xEW" = ( @@ -79505,8 +79425,8 @@ /turf/open/floor/iron/dark/smooth_half, /area/station/ai_monitored/command/storage/eva) "xNa" = ( -/obj/effect/landmark/blobstart, -/turf/open/floor/engine, +/obj/effect/spawner/random/engineering/tracking_beacon, +/turf/open/floor/iron/white, /area/station/science/xenobiology) "xNn" = ( /obj/effect/turf_decal/stripes/line{ @@ -79715,12 +79635,6 @@ dir = 1 }, /area/station/security/processing) -"xQJ" = ( -/obj/structure/railing/wooden_fence{ - dir = 5 - }, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "xQK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -80065,17 +79979,6 @@ /obj/item/plate, /turf/open/floor/iron, /area/station/security/prison/mess) -"xWC" = ( -/obj/structure/table/wood, -/obj/item/soap/deluxe{ - pixel_y = 11 - }, -/obj/item/soap/deluxe{ - pixel_y = 6 - }, -/obj/item/soap/deluxe, -/turf/open/misc/hay/icemoon, -/area/icemoon/underground/explored) "xWG" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/iron/freezer, @@ -169290,7 +169193,7 @@ hdb avh qGg uUT -rQh +fyT lQh diI uUT @@ -169993,7 +169896,7 @@ iDt ijY pfw wUj -lMi +dtq jeJ aFg vwl @@ -170290,14 +170193,14 @@ thA thA thA thA -jEa -jEa -jEa -jEa -jEa -jEa -jEa -jEa +dlu +dlu +dlu +dlu +dlu +dlu +dlu +dlu qgQ qgQ rrl @@ -170547,14 +170450,14 @@ thA thA thA thA -jEa -vfO -hwL -hwL -aIv -vfO -hwL -qHt +dlu +qbM +wvu +wvu +bPR +qbM +wvu +bil ijY iDt iDt @@ -170804,14 +170707,14 @@ thA thA thA thA -jEa -bhs -hwL -hwL -aIv -bhs -hwL -qHt +dlu +nEI +wvu +wvu +bPR +nEI +wvu +bil iDt iDt iDt @@ -171061,14 +170964,14 @@ thA thA thA thA -jEa -hwL -hwL -hwL -aIv -hwL -hwL -qHt +dlu +wvu +wvu +wvu +bPR +wvu +wvu +bil iDt iDt ayJ @@ -171318,14 +171221,14 @@ tjo thA thA thA -jEa -hsU -hsU -hwL -xQJ -hsU -hwL -hop +dlu +rEn +rEn +wvu +ghA +rEn +wvu +idH iDt iDt iDt @@ -171575,14 +171478,14 @@ tjo thA thA thA -jEa -hwL -hwL -hwL -hwL -hwL -hwL -hwL +dlu +wvu +wvu +wvu +wvu +wvu +wvu +wvu iDt iDt iDt @@ -171832,14 +171735,14 @@ tjo thA thA thA -jEa -xWC -qGX -hwL -hwL -oAJ -qGX -hwL +dlu +ncx +kYN +wvu +wvu +rzY +kYN +wvu ayJ iDt iDt @@ -172089,14 +171992,14 @@ tjo thA thA thA -jEa -hwL -hwL -hwL -hwL -hwL -hwL -hwL +dlu +wvu +wvu +wvu +wvu +wvu +wvu +wvu iDt iDt iDt @@ -172346,14 +172249,14 @@ tjo thA thA thA -jEa -byV -byV -hwL -hnc -byV -hwL -qBi +dlu +xxH +xxH +wvu +jkK +xxH +wvu +mhj iDt iDt iDt @@ -172603,14 +172506,14 @@ tjo thA thA thA -jEa -hwL -hwL -hwL -aIv -hwL -hwL -qHt +dlu +wvu +wvu +wvu +bPR +wvu +wvu +bil iDt iDt ayJ @@ -172860,14 +172763,14 @@ tjo thA thA thA -jEa -bhs -hwL -hwL -aIv -bhs -hwL -qHt +dlu +nEI +wvu +wvu +bPR +nEI +wvu +bil iDt iDt iDt @@ -173117,14 +173020,14 @@ tjo thA thA thA -jEa -vfO -hwL -hwL -aIv -vfO -hwL -qHt +dlu +qbM +wvu +wvu +bPR +qbM +wvu +bil iDt iDt iDt @@ -173374,14 +173277,14 @@ tjo thA thA thA -jEa -jEa -jEa -jEa -jEa -jEa -jEa -jEa +dlu +dlu +dlu +dlu +dlu +dlu +dlu +dlu iDx rrl iDx @@ -174878,7 +174781,7 @@ ihB ddp hBg nzj -dFr +dKr pOk par rsM @@ -189078,12 +188981,12 @@ xMq alM oxO ffe -lVs -abe -abe +qvN +qvN +qvN biI -abe -eOS +qvN +qvN qLY eGN lZX @@ -189335,12 +189238,12 @@ xMq alM oxO ffe -qGe -abe -cku +qvN +qvN +qvN uUn -xNa -eOS +qvN +qvN qLY vfe tsa @@ -189593,11 +189496,11 @@ alM oxO ffe viR -abe -abe +qvN +qvN bOT -abe -eLb +qvN +qvN qLY tkP fPv @@ -189850,10 +189753,10 @@ alM nsp ffe qLY -ctF +qLY uHS ujp -abe +qvN ctF qLY qLY @@ -191137,7 +191040,7 @@ ffe oqd vHq aZk -pMF +xNa pMF rdl iQM @@ -194482,7 +194385,7 @@ opD mxc hFb hFb -fcj +qRO mEL vqv fkN @@ -194996,7 +194899,7 @@ opD jGR hFb hFb -fcj +qRO rRl vfI vUY @@ -195251,9 +195154,9 @@ odm odm nqy jGR -fcj -fcj -fcj +qRO +qRO +qRO rRl ndb bnZ @@ -195501,10 +195404,10 @@ thA thA rcY iDt -uIf -uIf -uIf -uIf +fcj +fcj +fcj +fcj roW roW bId @@ -230670,7 +230573,7 @@ lJO qzs jnV lJO -xpH +sHy gHS iMT hqx @@ -233257,7 +233160,7 @@ pdf pdf wBb tKI -cnU +pPE alT dcs kin @@ -237678,7 +237581,7 @@ mNY kCn mNY dUn -mMj +eEm cpH kbJ kbJ @@ -237689,7 +237592,7 @@ epY vWe kIt kMY -eYU +wRc lha kAK iLY @@ -238093,7 +237996,7 @@ aWk diC bJj lyG -mci +jko bXy feJ xWb @@ -238152,7 +238055,7 @@ dkb kmi iYb xaA -crH +vXV wjv pec fJl @@ -238708,7 +238611,7 @@ mNY akL tvF tvF -uMw +aYS gTK ruO fKe @@ -238935,7 +238838,7 @@ ylU bep paM xxQ -vDG +nnM kzO gdP ykL @@ -239384,7 +239287,7 @@ feJ uGr uGr iDq -mNj +pLx lAL gPp iDq @@ -239405,7 +239308,7 @@ wqx gEb gYp bWn -itQ +tEn cGt wRI qdE @@ -239962,7 +239865,7 @@ dnq vrX pua paM -kyM +pEY vJI uud gdP @@ -239993,7 +239896,7 @@ mNY ixG aPf dzJ -cWn +neV twt mEw sSJ @@ -240168,9 +240071,9 @@ sDl sDl sDl psN -lYz +nUI dkY -oLW +nCW hzY bRn fng @@ -240237,7 +240140,7 @@ dPT pRj pMu gVD -tWF +gSQ ajF qwe uJH @@ -240761,7 +240664,7 @@ kKH pRj eAj sro -kjh +apL qkT kzA whW @@ -241020,7 +240923,7 @@ fFy mNY bTq xUP -ouE +fQU rpF twt fcg @@ -241534,7 +241437,7 @@ vkz uoF pcg deD -dsk +fLH qnC isX eBI @@ -241779,7 +241682,7 @@ vvv tTV jtA bID -bAW +rlL miw gCK cMd @@ -242044,7 +241947,7 @@ dcC jGB akz sCA -clX +aSw ojv bAT eri @@ -242289,7 +242192,7 @@ oyj gwK nEV bry -jkx +fDM fLq hro tKi @@ -242303,7 +242206,7 @@ wHj mBB juH ojv -kBw +hut mDw jDT qKQ @@ -242813,7 +242716,7 @@ bDz rSC inE oPU -hYU +wuV qnC qnC sCA @@ -245035,7 +244938,7 @@ ihb bnM iRM kkl -qFq +tAK gUs ykw lbk @@ -245559,7 +245462,7 @@ bln bln fsm bUx -cOY +uek wph fnS skl @@ -246895,7 +246798,7 @@ veU vEQ kRP kRP -pvd +oiB kRP pao cGA @@ -247664,7 +247567,7 @@ sEz jFZ uoV gnb -aCV +gTi whh pQL nCV @@ -250998,7 +250901,7 @@ pJC nKa dhk cDT -atC +iTE cAI cMN uYm @@ -251255,7 +251158,7 @@ nGA nKa nTV jPl -bjm +bGD kXM nKa xXV @@ -252282,7 +252185,7 @@ vwO pxn vBG mQr -mvU +idp rZZ opc qPI @@ -254868,7 +254771,7 @@ jIP qOH veX wHc -sKV +fPO pTU itt ily @@ -255645,7 +255548,7 @@ mfV xpA uHc cpg -qGi +gUX cpg cdl pMF @@ -256157,7 +256060,7 @@ mYq nyH lFW rEd -dnU +pZA gSN jbU wnX @@ -257426,8 +257329,8 @@ gqK nxU gjg dxg -doO -pmA +gJi +fVC dkr cHQ jDm @@ -257708,7 +257611,7 @@ kLy bGA lKq bNu -gBg +hUf bKm xMT hjE @@ -257716,8 +257619,8 @@ sJP bkS pJc iBO -oCm -tYL +tPx +trn bgx buv jhC @@ -259192,7 +259095,7 @@ fLb oHh kKL bpQ -vrl +bsc oih dmL lUC @@ -260024,7 +259927,7 @@ xUk aSB tHT nsZ -mko +lHm oZn sFj rck @@ -260254,7 +260157,7 @@ mrw kuV cAi qWn -kck +nQq fOR tFF tia @@ -260281,9 +260184,9 @@ xUk sqt duE nsZ -ukf -cMy -trb +ijW +xsP +rms sXC rDZ rDZ @@ -262837,7 +262740,7 @@ xnt egR pSz elw -hCx +gEe mEU enq kuy diff --git a/_maps/map_files/MetaStation/MetaStation.dmm b/_maps/map_files/MetaStation/MetaStation.dmm index 5e7ab642c2741..1d3725f66c0a5 100644 --- a/_maps/map_files/MetaStation/MetaStation.dmm +++ b/_maps/map_files/MetaStation/MetaStation.dmm @@ -269,6 +269,13 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/carpet, /area/station/commons/dorms) +"afM" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/delivery, +/turf/open/floor/iron, +/area/station/engineering/main) "afZ" = ( /obj/machinery/vending/coffee, /obj/structure/disposalpipe/segment, @@ -798,6 +805,14 @@ /obj/machinery/power/apc/auto_name/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/security/armory) +"apO" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/light/cold/directional/west, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "apS" = ( /obj/structure/sink/directional/east, /obj/effect/turf_decal/stripes/line{ @@ -1732,7 +1747,10 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 }, -/obj/machinery/firealarm/directional/east, +/obj/machinery/power/apc/auto_name/directional/east{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) "aHM" = ( @@ -1859,20 +1877,6 @@ /obj/structure/sign/warning/fire, /turf/closed/wall/r_wall, /area/station/engineering/supermatter) -"aJz" = ( -/obj/structure/table/glass, -/obj/item/tank/internals/emergency_oxygen{ - pixel_x = -8 - }, -/obj/item/clothing/mask/breath{ - pixel_x = 4 - }, -/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "aJI" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -2367,15 +2371,6 @@ "aRI" = ( /turf/open/floor/circuit/green, /area/station/science/robotics/mechbay) -"aRS" = ( -/obj/machinery/computer/security/telescreen/ce{ - dir = 1; - pixel_y = -30 - }, -/obj/machinery/pdapainter/engineering, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "aRV" = ( /obj/machinery/porta_turret/ai{ dir = 1 @@ -2730,29 +2725,12 @@ /turf/open/floor/iron, /area/station/engineering/break_room) "aYl" = ( -/obj/structure/table, -/obj/item/assembly/igniter{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/assembly/igniter{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/item/assembly/igniter{ - pixel_x = 2; - pixel_y = 6 - }, -/obj/item/assembly/igniter{ - pixel_x = 2; - pixel_y = -1 - }, /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Lab - Test Chamber"; network = list("ss13","rd","xeno") }, /obj/machinery/light/cold/directional/east, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "aYw" = ( /obj/machinery/door/airlock/external{ @@ -2936,6 +2914,12 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"baG" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/plating, +/area/station/maintenance/port/aft) "baM" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -3791,7 +3775,7 @@ /obj/item/clothing/mask/animal/horsehead, /obj/structure/table/wood, /obj/machinery/airalarm/directional/south, -/obj/item/clothing/mask/cigarette/pipe, +/obj/item/cigarette/pipe, /obj/item/clothing/mask/fakemoustache, /obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/wood, @@ -3814,7 +3798,7 @@ /area/station/engineering/atmospherics_engine) "bqC" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/pipe, +/obj/item/cigarette/pipe, /turf/open/floor/wood, /area/station/commons/lounge) "bqJ" = ( @@ -4233,7 +4217,7 @@ "bxr" = ( /obj/structure/sign/warning/electric_shock/directional/east, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "bxE" = ( /obj/machinery/camera/directional/south{ c_tag = "Chemistry South"; @@ -4297,6 +4281,31 @@ /obj/effect/landmark/start/assistant, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"byE" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/machinery/button/door/directional/north{ + id = "rdrnd"; + name = "Research and Development Containment Control"; + pixel_x = -6; + req_access = list("rd") + }, +/obj/machinery/button/door/directional/north{ + id = "rdordnance"; + name = "Ordnance Containment Control"; + pixel_x = 6; + req_access = list("rd") + }, +/obj/machinery/button/door/directional/north{ + id = "rdoffice"; + name = "Privacy Control"; + pixel_y = 34; + req_access = list("rd") + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/rd) "byQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -4554,7 +4563,7 @@ /obj/effect/mapping_helpers/airlock/locked, /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "bEA" = ( /obj/structure/cable, /obj/machinery/camera/directional/south{ @@ -4640,9 +4649,7 @@ /turf/open/floor/iron, /area/station/science/robotics/lab) "bFN" = ( -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/machinery/button/door/directional/north{ id = "pharmacy_shutters"; name = "pharmacy shutters control"; @@ -4872,15 +4879,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"bKi" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/west, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "bKv" = ( /obj/item/pen, /obj/structure/table/reinforced, @@ -5622,6 +5620,18 @@ }, /turf/open/floor/iron, /area/station/science/lab) +"bXg" = ( +/obj/effect/turf_decal/trimline/purple/filled/warning{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/explab) "bXk" = ( /obj/machinery/telecomms/server/presets/command, /turf/open/floor/circuit/telecomms/mainframe, @@ -5712,7 +5722,6 @@ /obj/structure/table, /obj/machinery/button/door{ id = "xenobio6"; - layer = 3.3; name = "Xenobio Pen 6 Blast Doors"; pixel_y = 1; req_access = list("xenobiology") @@ -5802,6 +5811,17 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"cbp" = ( +/obj/structure/chair/office{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/normal/directional/north, +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "cbz" = ( /turf/closed/wall, /area/station/cargo/storage) @@ -5857,6 +5877,11 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"cdS" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "cdX" = ( /turf/closed/wall, /area/station/engineering/storage/tech) @@ -5999,7 +6024,7 @@ "cgP" = ( /obj/machinery/air_sensor/ordnance_burn_chamber, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "cgZ" = ( /obj/machinery/light_switch/directional/east, /obj/structure/cable, @@ -7182,7 +7207,7 @@ pixel_x = 6; pixel_y = -4 }, -/obj/item/clothing/mask/cigarette/rollie/cannabis{ +/obj/item/cigarette/rollie/cannabis{ pixel_y = -3 }, /turf/open/space/basic, @@ -7242,6 +7267,17 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) +"cDO" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/extinguisher_cabinet/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "cDP" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -7417,12 +7453,6 @@ }, /turf/open/floor/plating, /area/station/science/genetics) -"cIl" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/maintenance/port/aft) "cIK" = ( /obj/machinery/smartfridge/chemistry/preloaded, /obj/effect/turf_decal/tile/yellow/fourcorners, @@ -7749,7 +7779,7 @@ dir = 1 }, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "cOX" = ( /obj/structure/sign/warning/radiation/rad_area/directional/north, /obj/effect/turf_decal/stripes/line{ @@ -7936,7 +7966,7 @@ use_power = 0 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "cTl" = ( /obj/structure/table/glass, /obj/item/reagent_containers/syringe, @@ -8933,6 +8963,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/hallway/primary/central) +"dkX" = ( +/obj/structure/cable, +/obj/machinery/light/cold/directional/north, +/obj/machinery/computer/security/telescreen/isolation/directional/north, +/turf/open/floor/iron, +/area/station/security/execution/transfer) "dla" = ( /obj/structure/chair/stool/directional/west, /obj/effect/turf_decal/trimline/red/warning{ @@ -9192,6 +9228,27 @@ /obj/structure/closet/emcloset, /turf/open/floor/plating, /area/station/hallway/secondary/entry) +"dqy" = ( +/obj/machinery/status_display/evac/directional/north, +/obj/machinery/porta_turret/ai, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) +"dqE" = ( +/obj/structure/closet/toolcloset, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/machinery/light/small/directional/north, +/obj/item/lightreplacer{ + pixel_y = 7 + }, +/turf/open/floor/iron/dark/corner{ + dir = 1 + }, +/area/station/engineering/storage_shared) "dqI" = ( /obj/effect/turf_decal/bot, /obj/machinery/vending/cigarette, @@ -9539,9 +9596,7 @@ /obj/structure/window/spawner/directional/south, /obj/structure/window/spawner/directional/north, /obj/structure/window/spawner/directional/west, -/obj/machinery/door/window/right/directional/east{ - layer = 3 - }, +/obj/machinery/door/window/right/directional/east, /turf/open/floor/plating, /area/station/maintenance/disposal) "dwJ" = ( @@ -9644,6 +9699,14 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"dzX" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/light_switch/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "dzY" = ( /obj/machinery/light/small/directional/south, /turf/open/floor/engine/n2o, @@ -9813,22 +9876,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"dEk" = ( -/obj/effect/turf_decal/bot, -/obj/structure/rack, -/obj/machinery/status_display/evac/directional/east, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -5 - }, -/obj/item/multitool{ - pixel_x = 8 - }, -/turf/open/floor/iron/checker, -/area/station/engineering/storage_shared) "dEx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -9846,7 +9893,7 @@ dir = 4 }, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "dEH" = ( /obj/effect/landmark/generic_maintenance_landmark, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -10216,7 +10263,7 @@ /obj/machinery/sparker/directional/north{ id = "Xenobio" }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "dLn" = ( /obj/structure/rack, @@ -10540,6 +10587,20 @@ }, /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) +"dQL" = ( +/obj/machinery/light_switch/directional/west{ + pixel_x = -20 + }, +/obj/machinery/computer/records/medical{ + dir = 4 + }, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/light/small/directional/west, +/obj/machinery/computer/security/telescreen/cmo/directional/west{ + name = "Medbay Monitor" + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "dQO" = ( /obj/effect/landmark/start/atmospheric_technician, /obj/effect/decal/cleanable/dirt, @@ -10751,7 +10812,7 @@ "dTN" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "dTQ" = ( /obj/effect/turf_decal/trimline/green/filled/corner{ dir = 4 @@ -10972,30 +11033,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/plating, /area/station/security/prison) -"dXp" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/crowbar, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/item/grenade/chem_grenade/smart_metal_foam, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -6; - pixel_y = 2 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = 4; - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "dXs" = ( /obj/structure/secure_safe/directional/north{ name = "armory safe A" @@ -11036,7 +11073,7 @@ /area/station/security/execution/education) "dXU" = ( /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "dYa" = ( /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, @@ -11685,18 +11722,6 @@ dir = 8 }, /area/station/service/chapel) -"ehL" = ( -/obj/effect/turf_decal/trimline/purple/filled/warning{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/siding/purple{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/science/explab) "ehX" = ( /turf/open/floor/iron/dark, /area/station/medical/storage) @@ -12480,6 +12505,25 @@ "eut" = ( /turf/closed/wall, /area/station/science/robotics/lab) +"euw" = ( +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/firealarm/directional/west, +/obj/machinery/camera/directional/north{ + c_tag = "Science Mechbay"; + network = list("ss13","rd") + }, +/obj/machinery/button/door/directional/north{ + id = "mechbay"; + name = "Mech Bay Shutters Control"; + req_access = list("robotics") + }, +/turf/open/floor/iron, +/area/station/science/robotics/mechbay) "euQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -12691,15 +12735,6 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron/white, /area/station/medical/surgery/theatre) -"eyz" = ( -/obj/machinery/cell_charger{ - pixel_y = 4 - }, -/obj/structure/table/glass, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "eyD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/cyan/visible, @@ -12735,24 +12770,9 @@ /obj/machinery/camera/directional/north, /obj/machinery/digital_clock/directional/east, /obj/structure/extinguisher_cabinet/directional/north, +/obj/item/poster/traitor, /turf/open/floor/wood/large, /area/station/command/heads_quarters/qm) -"ezP" = ( -/obj/structure/chair/office{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching output from station security cameras."; - name = "Security Camera Monitor"; - network = list("ss13"); - pixel_y = 30 - }, -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "ezT" = ( /obj/machinery/door/airlock/research{ name = "Research Division Access" @@ -13129,6 +13149,16 @@ /obj/machinery/light/small/directional/west, /turf/open/floor/iron/white, /area/station/science/research) +"eJd" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/book/manual/wiki/security_space_law, +/turf/open/floor/wood, +/area/station/service/lawoffice) "eJh" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -13641,7 +13671,7 @@ "eRn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "eRR" = ( /obj/structure/table, /obj/item/screwdriver{ @@ -13730,16 +13760,19 @@ pixel_x = -7; pixel_y = 8 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 8 }, /obj/effect/turf_decal/siding/wood{ dir = 9 }, +/obj/machinery/keycard_auth/directional/north{ + pixel_x = -5 + }, /turf/open/floor/wood/large, /area/station/command/heads_quarters/qm) "eTI" = ( @@ -14357,20 +14390,6 @@ /obj/item/aquarium_kit, /turf/open/floor/iron, /area/station/hallway/secondary/service) -"ffO" = ( -/obj/structure/closet/toolcloset, -/obj/effect/turf_decal/bot, -/obj/effect/turf_decal/tile/yellow{ - dir = 4 - }, -/obj/machinery/light/small/directional/north, -/obj/item/lightreplacer{ - pixel_y = 7 - }, -/turf/open/floor/iron/dark/corner{ - dir = 1 - }, -/area/station/engineering/storage_shared) "ffP" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating/foam{ @@ -14544,6 +14563,15 @@ }, /turf/open/floor/wood/large, /area/station/commons/lounge) +"fhU" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/machinery/light/small/directional/east, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ordnance/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "fia" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/hatch{ @@ -15214,19 +15242,6 @@ /obj/effect/mapping_helpers/airlock/access/all/security/entrance, /turf/open/floor/iron, /area/station/security/brig) -"frK" = ( -/obj/structure/table/glass, -/obj/machinery/cell_charger, -/obj/item/stack/cable_coil, -/obj/item/assembly/igniter, -/obj/item/stock_parts/power_store/cell, -/obj/machinery/power/apc/auto_name/directional/north, -/obj/structure/cable, -/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/science/lobby) "frZ" = ( /obj/effect/turf_decal/delivery, /obj/machinery/atmospherics/components/binary/pump{ @@ -15402,20 +15417,6 @@ /obj/structure/marker_beacon/olive, /turf/open/space/basic, /area/space/nearstation) -"fxE" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -8; - pixel_y = 9 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/turf/open/floor/iron, -/area/station/science/robotics/lab) "fxI" = ( /obj/machinery/door/firedoor, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -15564,6 +15565,13 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/iron/grimy, /area/station/service/chapel/office) +"fAA" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/machinery/airalarm/directional/east, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "fAE" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -15969,7 +15977,7 @@ "fIR" = ( /obj/structure/sign/warning/secure_area/directional/north, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "fIS" = ( /obj/machinery/airalarm/directional/south, /obj/structure/disposalpipe/segment{ @@ -16198,13 +16206,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) -"fMR" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/structure/disposalpipe/segment, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/plating, -/area/station/maintenance/starboard/greater) "fMT" = ( /obj/structure/table, /obj/item/radio/intercom/directional/south, @@ -16239,6 +16240,7 @@ /obj/effect/spawner/random/maintenance, /obj/effect/turf_decal/stripes/corner, /obj/item/reagent_containers/cup/soda_cans/pwr_game, +/obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/iron, /area/station/cargo/warehouse) "fNI" = ( @@ -16841,20 +16843,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"gaP" = ( -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/obj/item/gps, -/obj/structure/closet/crate/engineering, -/turf/open/floor/plating, -/area/station/engineering/main) "gaU" = ( /obj/machinery/button/door/directional/west{ id = "hop"; @@ -16881,6 +16869,25 @@ }, /turf/open/floor/iron/white, /area/station/medical/storage) +"gbn" = ( +/obj/machinery/computer/crew{ + dir = 4 + }, +/obj/machinery/keycard_auth/directional/south{ + pixel_x = 6 + }, +/obj/machinery/button/door/directional/south{ + id = "cmoprivacy"; + name = "CMO Privacy Shutters"; + pixel_x = -8; + req_access = list("cmo") + }, +/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/cmo/directional/west, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/cmo) "gbG" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/item/storage/box/lights/mixed, @@ -16911,20 +16918,6 @@ /obj/effect/mapping_helpers/airlock/unres, /turf/open/floor/plating, /area/station/science/research) -"gcz" = ( -/obj/structure/closet/crate, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/spawner/random/engineering/flashlight, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "gcA" = ( /obj/machinery/navbeacon{ codes_txt = "patrol;next_patrol=5-Customs"; @@ -16969,7 +16962,7 @@ pixel_x = 32 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "gdb" = ( /turf/closed/wall/r_wall, /area/station/security/range) @@ -17021,20 +17014,6 @@ /obj/effect/spawner/random/engineering/flashlight, /turf/open/floor/iron/dark, /area/station/security/office) -"gen" = ( -/obj/structure/table/glass, -/obj/item/folder/blue{ - pixel_y = 3 - }, -/obj/item/pen, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 1; - pixel_y = -28 - }, -/obj/effect/turf_decal/tile/blue, -/obj/structure/window/reinforced/spawner/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "gev" = ( /obj/effect/turf_decal/delivery, /turf/open/floor/iron, @@ -17151,17 +17130,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) -"ggw" = ( -/obj/structure/filingcabinet, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 8; - pixel_x = 26 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/engineering) "ggH" = ( /obj/effect/spawner/random/structure/chair_maintenance, /turf/open/floor/iron/checker, @@ -17242,7 +17210,7 @@ dir = 4 }, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "giA" = ( /turf/closed/wall/r_wall, /area/station/tcommsat/computer) @@ -17251,15 +17219,6 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron, /area/station/engineering/main) -"giR" = ( -/obj/machinery/computer/security/telescreen/minisat{ - dir = 1; - pixel_y = -29 - }, -/obj/structure/bed/dogbed/renault, -/mob/living/basic/pet/fox/renault, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain/private) "giT" = ( /obj/effect/spawner/random/structure/closet_maintenance, /obj/effect/spawner/random/maintenance/two, @@ -17328,7 +17287,6 @@ /obj/structure/table, /obj/machinery/button/door{ id = "xenobio7"; - layer = 3.3; name = "Xenobio Pen 7 Blast Doors"; pixel_y = 4; req_access = list("xenobiology") @@ -18159,7 +18117,7 @@ /area/station/engineering/atmos) "gyK" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/general/visible, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "gyO" = ( /obj/structure/cable, @@ -18487,12 +18445,6 @@ /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/service/chapel/funeral) -"gFb" = ( -/obj/structure/railing{ - dir = 1 - }, -/turf/open/space/basic, -/area/space) "gFd" = ( /obj/machinery/power/terminal, /obj/machinery/light/small/directional/east, @@ -18897,6 +18849,10 @@ }, /obj/item/stock_parts/matter_bin, /obj/item/stock_parts/micro_laser, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, +/obj/item/multitool, /turf/open/floor/iron, /area/station/science/lab) "gLY" = ( @@ -19348,6 +19304,19 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"gVE" = ( +/obj/structure/table/glass, +/obj/machinery/cell_charger, +/obj/item/stack/cable_coil, +/obj/item/assembly/igniter, +/obj/item/stock_parts/power_store/cell, +/obj/machinery/power/apc/auto_name/directional/north, +/obj/structure/cable, +/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/lobby) "gVO" = ( /obj/effect/turf_decal/trimline/purple/corner{ dir = 1 @@ -19436,21 +19405,6 @@ /obj/structure/table, /turf/open/floor/plating, /area/station/maintenance/port) -"gXg" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = 30 - }, -/obj/item/flashlight/lamp/green{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/restraints/handcuffs, -/turf/open/floor/carpet, -/area/station/security/detectives_office) "gXl" = ( /obj/structure/flora/rock/pile/jungle/style_random, /turf/open/floor/grass, @@ -19611,19 +19565,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/main) -"hac" = ( -/obj/machinery/status_display/ai/directional/north, -/obj/machinery/porta_turret/ai, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the RD's goons from the safety of his office."; - dir = 4; - name = "Research Monitor"; - network = list("rd"); - pixel_x = -28 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "hav" = ( /obj/machinery/door/airlock/maintenance, /obj/structure/cable, @@ -19749,16 +19690,6 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hcA" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stack/cable_coil, -/obj/item/multitool, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/engine, -/area/station/science/xenobiology) "hcP" = ( /obj/structure/reagent_dispensers/watertank, /turf/open/floor/plating, @@ -22029,6 +21960,20 @@ }, /turf/open/floor/wood, /area/station/service/cafeteria) +"hSi" = ( +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/obj/item/gps, +/obj/structure/closet/crate/engineering, +/turf/open/floor/plating, +/area/station/engineering/main) "hSl" = ( /obj/machinery/atmospherics/pipe/smart/simple/purple/visible{ dir = 4 @@ -22091,19 +22036,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/yellow/visible, /turf/open/floor/iron, /area/station/engineering/atmos) -"hTt" = ( -/obj/machinery/computer/station_alert{ - dir = 1 - }, -/obj/machinery/light/directional/south, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 1; - pixel_y = -29 - }, -/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/command/storage/satellite) "hTE" = ( /obj/structure/chair{ dir = 4 @@ -22463,6 +22395,23 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) +"hZg" = ( +/obj/structure/closet/crate, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/light_switch/directional/north, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 4 + }, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "hZn" = ( /obj/structure/cable, /obj/effect/turf_decal/siding/wood{ @@ -22891,6 +22840,15 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/engineering/storage/tech) +"ihN" = ( +/obj/machinery/computer/security/telescreen/prison/directional/south, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/landmark/event_spawn, +/turf/open/floor/iron, +/area/station/security/office) "ihW" = ( /obj/structure/lattice/catwalk, /obj/structure/disposalpipe/trunk{ @@ -23604,19 +23562,6 @@ }, /turf/open/floor/carpet, /area/station/command/bridge) -"itB" = ( -/obj/machinery/computer/security/telescreen{ - dir = 8; - name = "Telecomms Camera Monitor"; - network = list("tcomms"); - pixel_x = 26 - }, -/obj/machinery/computer/telecomms/monitor{ - dir = 8; - network = "tcommsat" - }, -/turf/open/floor/iron/grimy, -/area/station/tcommsat/computer) "itC" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -24737,7 +24682,6 @@ /obj/structure/table, /obj/machinery/button/door{ id = "xenobio2"; - layer = 3.3; name = "Xenobio Pen 2 Blast Doors"; pixel_y = 1; req_access = list("xenobiology") @@ -25086,6 +25030,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) +"iSU" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/rcl/pre_loaded, +/obj/effect/turf_decal/tile/neutral{ + dir = 8 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "iTc" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible{ dir = 4 @@ -25123,7 +25077,6 @@ /obj/structure/table, /obj/machinery/button/door{ id = "xenobio1"; - layer = 3.3; name = "Xenobio Pen 1 Blast Doors"; pixel_y = 1; req_access = list("xenobiology") @@ -26674,6 +26627,8 @@ dir = 4 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/firealarm/directional/east, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) "jvr" = ( @@ -27404,6 +27359,16 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/medical/treatment_center) +"jGN" = ( +/obj/machinery/computer/station_alert{ + dir = 1 + }, +/obj/machinery/light/directional/south, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/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/command/storage/satellite) "jGO" = ( /obj/machinery/hydroponics/soil, /obj/item/cultivator, @@ -27444,21 +27409,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/circuit, /area/station/ai_monitored/turret_protected/ai_upload) -"jHN" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - dir = 1; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = -30 - }, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/landmark/event_spawn, -/turf/open/floor/iron, -/area/station/security/office) "jHQ" = ( /obj/structure/chair/sofa/corp/left{ dir = 1 @@ -27951,14 +27901,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"jPi" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/machinery/light/small/directional/east, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "jPm" = ( /obj/machinery/atmospherics/components/tank/air, /obj/effect/turf_decal/tile/green/half/contrasted{ @@ -28032,8 +27974,7 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8 }, -/obj/effect/spawner/random/engineering/tracking_beacon, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "jQM" = ( /obj/machinery/door/firedoor, @@ -28663,6 +28604,7 @@ /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 }, +/obj/item/poster/traitor, /turf/open/floor/iron/dark, /area/station/security/evidence) "kbo" = ( @@ -28754,12 +28696,7 @@ /turf/open/floor/iron/dark, /area/station/command/bridge) "kcu" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron{ - amount = 10 - }, -/obj/item/electropack, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "kcF" = ( /obj/structure/disposalpipe/segment{ @@ -28952,7 +28889,7 @@ "kgC" = ( /obj/machinery/door/poddoor/incinerator_ordmix, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "kgV" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -29025,6 +28962,7 @@ pixel_x = -9 }, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/south, /turf/open/floor/iron, /area/station/cargo/warehouse) "kir" = ( @@ -29109,14 +29047,12 @@ /obj/effect/turf_decal/bot, /obj/machinery/button/door/directional/west{ id = "QMLoaddoor"; - layer = 4; name = "Loading Doors"; pixel_y = -8; req_access = list("cargo") }, /obj/machinery/button/door/directional/west{ id = "QMLoaddoor2"; - layer = 4; name = "Loading Doors"; pixel_y = 8; req_access = list("cargo") @@ -29628,40 +29564,10 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"ktt" = ( -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - icon_state = "control_stun"; - name = "AI Upload Turret Control"; - pixel_y = 28 - }, -/obj/item/radio/intercom/directional/north{ - broadcasting = 1; - frequency = 1447; - name = "Private Channel"; - pixel_x = -26 - }, -/obj/effect/landmark/start/cyborg, -/obj/machinery/light/small/directional/west, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the ai_upload."; - dir = 4; - name = "AI Upload Monitor"; - network = list("aiupload"); - pixel_x = -29 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/obj/machinery/power/apc/auto_name/directional/south, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "ktw" = ( /obj/structure/sign/warning/electric_shock/directional/north, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "ktz" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -29857,16 +29763,6 @@ /obj/effect/turf_decal/tile/yellow/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/medical/pharmacy) -"kxq" = ( -/obj/machinery/status_display/evac/directional/north, -/obj/machinery/porta_turret/ai, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 8; - pixel_x = 28 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat_interior) "kxw" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -29890,6 +29786,32 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/office) +"kxC" = ( +/obj/structure/table, +/obj/item/paper_bin{ + pixel_x = -1; + pixel_y = 5 + }, +/obj/item/pen, +/obj/machinery/button/door/directional/east{ + id = "Engineering"; + name = "Engineering Lockdown"; + pixel_y = 16; + req_access = list("engineering") + }, +/obj/machinery/button/door/directional/east{ + id = "atmos"; + name = "Atmospherics Lockdown"; + pixel_y = 24; + req_access = list("atmospherics") + }, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/directional/east, +/obj/machinery/computer/security/telescreen/engine/directional/east, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) "kxH" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -30378,6 +30300,24 @@ /obj/machinery/light/small/directional/north, /turf/open/floor/iron/white, /area/station/science/lab) +"kGR" = ( +/obj/machinery/button/ignition{ + id = "Xenobio"; + pixel_x = -4; + pixel_y = -3 + }, +/obj/machinery/button/door/directional/north{ + id = "Xenolab"; + name = "Test Chamber Blast Doors"; + pixel_x = 6; + pixel_y = -2; + req_access = list("xenobiology") + }, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron, +/area/station/science/xenobiology) "kHg" = ( /obj/structure/cable, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -32141,6 +32081,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/fore) +"loY" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 4 + }, +/obj/machinery/light/small/directional/west, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "lpo" = ( /obj/effect/turf_decal/tile/neutral/anticorner/contrasted{ dir = 4 @@ -32755,6 +32704,14 @@ "lBA" = ( /turf/open/floor/wood/large, /area/station/commons/lounge) +"lBN" = ( +/obj/machinery/computer/security/telescreen/tcomms/directional/east, +/obj/machinery/computer/telecomms/monitor{ + dir = 8; + network = "tcommsat" + }, +/turf/open/floor/iron/grimy, +/area/station/tcommsat/computer) "lCb" = ( /obj/structure/cable, /obj/structure/sign/poster/ripped/directional/south, @@ -33388,7 +33345,6 @@ /obj/structure/table, /obj/machinery/button/door{ id = "xenobio8"; - layer = 3.3; name = "Xenobio Pen 8 Blast Doors"; pixel_y = 4; req_access = list("xenobiology") @@ -33751,12 +33707,6 @@ /obj/structure/sign/warning/vacuum/directional/east, /turf/open/floor/plating, /area/station/maintenance/aft/lesser) -"lWS" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible, -/obj/effect/turf_decal/box, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron, -/area/station/science/xenobiology) "lXl" = ( /obj/machinery/hydroponics/constructable, /obj/effect/turf_decal/bot, @@ -33863,22 +33813,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"lYM" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the turbine vent."; - dir = 8; - name = "turbine vent monitor"; - network = list("turbine"); - pixel_x = 29 - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "lYP" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -34063,7 +33997,6 @@ /obj/structure/table, /obj/machinery/button/door{ id = "xenobio4"; - layer = 3.3; name = "Xenobio Pen 4 Blast Doors"; pixel_y = 4; req_access = list("xenobiology"); @@ -34936,16 +34869,6 @@ /obj/structure/sign/warning/pods, /turf/closed/wall, /area/station/hallway/secondary/entry) -"mtM" = ( -/obj/machinery/light/directional/south, -/obj/effect/turf_decal/delivery, -/obj/structure/table, -/obj/machinery/computer/security/telescreen/ordnance{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "mtO" = ( /obj/effect/landmark/event_spawn, /turf/open/floor/iron, @@ -35278,7 +35201,6 @@ "mzm" = ( /obj/structure/table, /obj/item/reagent_containers/condiment/saltshaker{ - layer = 3.1; pixel_x = -2; pixel_y = 2 }, @@ -35538,7 +35460,6 @@ /obj/structure/table, /obj/machinery/button/door{ id = "xenobio5"; - layer = 3.3; name = "Xenobio Pen 5 Blast Doors"; pixel_y = 4; req_access = list("xenobiology") @@ -35615,19 +35536,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/hallway/primary/starboard) -"mES" = ( -/obj/structure/rack, -/obj/item/aicard, -/obj/item/radio/off, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 1; - pixel_y = -29 - }, -/obj/effect/turf_decal/tile/blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "mET" = ( /obj/item/wrench, /obj/effect/decal/cleanable/dirt, @@ -36400,6 +36308,30 @@ /obj/effect/mapping_helpers/burnt_floor, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) +"mSI" = ( +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + icon_state = "control_stun"; + name = "AI Upload Turret Control"; + pixel_y = 28 + }, +/obj/item/radio/intercom/directional/north{ + broadcasting = 1; + frequency = 1447; + name = "Private Channel"; + pixel_x = -26 + }, +/obj/effect/landmark/start/cyborg, +/obj/machinery/light/small/directional/west, +/obj/machinery/computer/security/telescreen/aiupload/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/obj/machinery/power/apc/auto_name/directional/south, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "mSM" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -36579,7 +36511,7 @@ dir = 4 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "mWA" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -36709,6 +36641,11 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/qm) +"mYb" = ( +/obj/structure/chair, +/obj/machinery/computer/security/telescreen/interrogation/directional/west, +/turf/open/floor/iron/grimy, +/area/station/security/interrogation) "mYq" = ( /obj/effect/turf_decal/plaque{ icon_state = "L8" @@ -37220,6 +37157,13 @@ /obj/structure/sign/poster/official/random/directional/east, /turf/open/floor/plating, /area/station/commons/toilet/auxiliary) +"nhU" = ( +/obj/machinery/status_display/ai/directional/north, +/obj/machinery/porta_turret/ai, +/obj/machinery/computer/security/telescreen/research/directional/west, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat_interior) "nib" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 4 @@ -37496,7 +37440,7 @@ pixel_x = -4; pixel_y = 2 }, -/obj/item/clothing/mask/cigarette/cigar, +/obj/item/cigarette/cigar, /obj/item/reagent_containers/cup/glass/flask/gold, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain/private) @@ -37537,13 +37481,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/office) -"nnu" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/delivery, -/turf/open/floor/iron, -/area/station/engineering/main) "nnD" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -38155,8 +38092,7 @@ /obj/machinery/computer/upload/ai, /obj/machinery/door/window/right/directional/south{ name = "Upload Console Window"; - req_access = list("ai_upload"); - layer = 3.1 + req_access = list("ai_upload") }, /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/east, @@ -38819,9 +38755,7 @@ /turf/open/floor/iron, /area/station/hallway/secondary/command) "nJn" = ( -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 4 }, @@ -38839,7 +38773,7 @@ /area/station/medical/treatment_center) "nJr" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "nJu" = ( /obj/structure/closet/secure_closet/security/sec, @@ -38864,7 +38798,7 @@ }, /obj/effect/mapping_helpers/airlock/access/all/science/ordnance, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "nJG" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -39018,7 +38952,7 @@ "nLZ" = ( /obj/item/toy/beach_ball/branded, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "nMf" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39350,6 +39284,14 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/wood, /area/station/command/heads_quarters/captain/private) +"nRQ" = ( +/obj/machinery/light/directional/south, +/obj/effect/turf_decal/delivery, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ordnance/directional/south, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "nRU" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -39529,12 +39471,6 @@ /obj/effect/turf_decal/trimline/blue/filled/warning, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"nWF" = ( -/obj/structure/railing{ - dir = 8 - }, -/turf/open/space/basic, -/area/space) "nWS" = ( /obj/structure/window/reinforced/spawner/directional/west, /turf/open/space, @@ -39693,7 +39629,7 @@ dir = 8 }, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "oac" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -39864,12 +39800,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/rd) -"obU" = ( -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/crap, -/obj/structure/table/wood, -/turf/open/floor/carpet, -/area/station/command/corporate_showroom) "ocg" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/structure/cable, @@ -40006,7 +39936,7 @@ dir = 1 }, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "oew" = ( /turf/open/floor/iron, /area/station/commons/fitness/recreation) @@ -40339,6 +40269,14 @@ /obj/structure/sign/poster/random/directional/south, /turf/open/floor/plating, /area/station/hallway/secondary/service) +"omd" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/ai_monitored/command/storage/eva) "ome" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40835,37 +40773,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/starboard/greater) -"ouU" = ( -/obj/machinery/light/directional/east, -/obj/structure/table, -/obj/machinery/recharger{ - pixel_x = 6; - pixel_y = 4 - }, -/obj/item/paper_bin{ - pixel_x = -11; - pixel_y = 7 - }, -/obj/item/pen{ - pixel_x = -11; - pixel_y = 7 - }, -/obj/item/hand_labeler{ - pixel_x = -10; - pixel_y = -6 - }, -/obj/effect/turf_decal/trimline/dark_red/filled/line{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - dir = 8; - name = "Prison Monitor"; - network = list("prison"); - pixel_x = 30 - }, -/turf/open/floor/iron, -/area/station/security/warden) "ouX" = ( /obj/effect/turf_decal/box, /obj/machinery/atmospherics/components/unary/portables_connector/visible{ @@ -41249,6 +41156,30 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"oDH" = ( +/obj/structure/table, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/crowbar, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/item/grenade/chem_grenade/smart_metal_foam, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -6; + pixel_y = 2 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = 4; + pixel_y = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "oDJ" = ( /obj/structure/sign/warning/vacuum/external, /turf/closed/wall, @@ -41459,6 +41390,14 @@ /obj/effect/mapping_helpers/airlock/access/any/medical/maintenance, /turf/open/floor/plating, /area/station/medical/medbay/central) +"oGj" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible, +/obj/effect/turf_decal/box, +/obj/machinery/portable_atmospherics/canister, +/obj/item/radio/intercom/directional/north, +/obj/structure/sign/warning/gas_mask/directional/east, +/turf/open/floor/iron, +/area/station/science/xenobiology) "oGn" = ( /obj/machinery/door/airlock/maintenance{ name = "Fuel Closet" @@ -41474,6 +41413,31 @@ /obj/machinery/atmospherics/pipe/smart/simple/orange/visible, /turf/open/space/basic, /area/space/nearstation) +"oGH" = ( +/obj/machinery/light/directional/east, +/obj/structure/table, +/obj/machinery/recharger{ + pixel_x = 6; + pixel_y = 4 + }, +/obj/item/paper_bin{ + pixel_x = -11; + pixel_y = 7 + }, +/obj/item/pen{ + pixel_x = -11; + pixel_y = 7 + }, +/obj/item/hand_labeler{ + pixel_x = -10; + pixel_y = -6 + }, +/obj/effect/turf_decal/trimline/dark_red/filled/line{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/turf/open/floor/iron, +/area/station/security/warden) "oGK" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -41596,15 +41560,6 @@ }, /turf/open/floor/iron/dark, /area/station/engineering/atmos) -"oIO" = ( -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 8; - pixel_x = 30 - }, -/obj/effect/turf_decal/trimline/red/filled/corner, -/obj/machinery/light/directional/east, -/turf/open/floor/iron, -/area/station/security/brig) "oIW" = ( /obj/structure/sign/warning/vacuum/directional/east, /obj/effect/turf_decal/delivery, @@ -41769,6 +41724,14 @@ }, /turf/open/floor/plating, /area/station/command/heads_quarters/hos) +"oMh" = ( +/obj/structure/filingcabinet, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/engineering) "oMx" = ( /obj/effect/mapping_helpers/airlock/access/any/supply/bit_den, /obj/machinery/door/airlock/maintenance{ @@ -41949,21 +41912,6 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"oQc" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used for the Auxiliary Mining Base."; - dir = 1; - name = "Auxiliary Base Monitor"; - network = list("auxbase"); - pixel_y = -28 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) "oQg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -42013,32 +41961,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/service/kitchen) -"oRA" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/stack/cable_coil, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -3; - pixel_y = -2 - }, -/obj/item/clothing/ears/earmuffs{ - pixel_x = -5; - pixel_y = 6 - }, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_x = -4; - pixel_y = 6 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "oRM" = ( /obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ dir = 4 @@ -42276,6 +42198,14 @@ "oWk" = ( /turf/closed/wall/r_wall, /area/station/maintenance/starboard/aft) +"oWm" = ( +/obj/structure/disposalpipe/segment, +/obj/machinery/computer/security/telescreen/engine/directional/east, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "oWF" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, @@ -42614,15 +42544,6 @@ }, /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) -"pcP" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/command/gateway) "pcS" = ( /obj/item/stack/ore/silver, /obj/item/stack/ore/silver, @@ -43280,16 +43201,6 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/genetics) -"ppm" = ( -/obj/structure/cable, -/obj/machinery/computer/security/telescreen/interrogation{ - name = "isolation room monitor"; - network = list("isolation"); - pixel_y = 31 - }, -/obj/machinery/light/cold/directional/north, -/turf/open/floor/iron, -/area/station/security/execution/transfer) "ppB" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, @@ -45440,6 +45351,16 @@ }, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"qcD" = ( +/obj/structure/rack, +/obj/item/aicard, +/obj/item/radio/off, +/obj/effect/turf_decal/tile/blue/half/contrasted{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "qcP" = ( /obj/effect/landmark/blobstart, /obj/effect/mapping_helpers/burnt_floor, @@ -46158,6 +46079,30 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/miningoffice) +"qqs" = ( +/obj/structure/table, +/obj/item/multitool{ + pixel_x = 4; + pixel_y = 12 + }, +/obj/item/multitool{ + pixel_x = -4; + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = -4 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -4; + pixel_y = -6 + }, +/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, +/obj/item/multitool{ + pixel_y = 10 + }, +/turf/open/floor/iron/dark/textured, +/area/station/engineering/atmos) "qrg" = ( /obj/machinery/light_switch/directional/north, /turf/open/floor/circuit/green{ @@ -46188,6 +46133,12 @@ }, /turf/open/floor/engine/co2, /area/station/engineering/atmos) +"qrw" = ( +/obj/structure/bed/dogbed/renault, +/mob/living/basic/pet/fox/renault, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain/private) "qrF" = ( /obj/machinery/computer/exodrone_control_console{ dir = 1 @@ -46324,6 +46275,12 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/ce) +"qtq" = ( +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/crap, +/obj/structure/table/wood, +/turf/open/floor/carpet, +/area/station/command/corporate_showroom) "qua" = ( /obj/machinery/atmospherics/pipe/smart/manifold/yellow/visible{ dir = 1 @@ -46997,6 +46954,12 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) +"qHm" = ( +/obj/machinery/pdapainter/engineering, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/ce/directional/south, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "qHs" = ( /obj/structure/sign/warning/docking, /turf/closed/wall, @@ -47420,6 +47383,17 @@ }, /turf/open/floor/iron, /area/station/security/prison) +"qNO" = ( +/obj/structure/table/glass, +/obj/item/folder/blue{ + pixel_y = 3 + }, +/obj/item/pen, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/obj/effect/turf_decal/tile/blue, +/obj/structure/window/reinforced/spawner/directional/east, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "qNV" = ( /obj/machinery/holopad, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -47656,6 +47630,21 @@ }, /turf/open/floor/iron, /area/station/commons/locker) +"qRq" = ( +/obj/structure/table/glass, +/obj/item/tank/internals/emergency_oxygen{ + pixel_x = -8 + }, +/obj/item/clothing/mask/breath{ + pixel_x = 4 + }, +/obj/machinery/atmospherics/pipe/layer_manifold/supply/hidden, +/obj/effect/turf_decal/tile/blue{ + dir = 8 + }, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/engineering/transit_tube) "qRz" = ( /obj/machinery/atmospherics/components/unary/portables_connector/visible, /obj/effect/spawner/random/trash/janitor_supplies, @@ -47930,20 +47919,6 @@ /obj/effect/turf_decal/tile/neutral/half/contrasted, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"qVD" = ( -/obj/structure/disposalpipe/segment, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring the engine."; - dir = 8; - name = "Engine Monitor"; - network = list("engine"); - pixel_x = 32 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "qWg" = ( /obj/structure/lattice, /obj/structure/sign/warning/secure_area/directional/east, @@ -48526,10 +48501,6 @@ }, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"rgM" = ( -/obj/structure/sign/poster/traitor/random, -/turf/closed/wall, -/area/station/cargo/warehouse) "rgS" = ( /obj/machinery/modular_computer/preset/civilian{ dir = 1 @@ -48700,6 +48671,32 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/hallway/primary/aft) +"rkx" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/stack/cable_coil, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -3; + pixel_y = -2 + }, +/obj/item/clothing/ears/earmuffs{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_x = -4; + pixel_y = 6 + }, +/turf/open/floor/iron, +/area/station/engineering/main) "rkA" = ( /obj/structure/table, /obj/item/cultivator, @@ -49022,24 +49019,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/fore) -"rqc" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring medbay to ensure patient safety."; - dir = 4; - name = "Medbay Monitor"; - network = list("medbay"); - pixel_x = -32 - }, -/obj/machinery/light_switch/directional/west{ - pixel_x = -20 - }, -/obj/machinery/computer/records/medical{ - dir = 4 - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/machinery/light/small/directional/west, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "rqs" = ( /obj/effect/turf_decal/stripes/line{ dir = 10 @@ -49187,7 +49166,7 @@ "rtj" = ( /obj/machinery/igniter/incinerator_ordmix, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "rtz" = ( /obj/effect/turf_decal/siding/wood/corner, /obj/effect/turf_decal/siding/wood{ @@ -50289,7 +50268,6 @@ /obj/structure/table, /obj/machinery/button/door{ id = "xenobio3"; - layer = 3.3; name = "Xenobio Pen 3 Blast Doors"; pixel_y = 4; req_access = list("xenobiology") @@ -50523,7 +50501,7 @@ /obj/machinery/light/small/directional/north, /obj/structure/table/reinforced, /obj/machinery/requests_console/directional/north{ - department = "Quartermaster's Desk"; + department = "Security"; name = "Security Requests Console" }, /obj/effect/mapping_helpers/requests_console/assistance, @@ -50596,29 +50574,6 @@ /obj/effect/spawner/random/entertainment/cigarette, /turf/open/floor/wood, /area/station/commons/lounge) -"rRo" = ( -/obj/machinery/button/ignition{ - id = "Xenobio"; - pixel_x = -4; - pixel_y = -3 - }, -/obj/machinery/button/door/directional/north{ - id = "Xenolab"; - name = "Test Chamber Blast Doors"; - pixel_x = 6; - pixel_y = -2; - req_access = list("xenobiology") - }, -/obj/structure/table/reinforced/plastitaniumglass, -/obj/machinery/computer/security/telescreen{ - name = "Test Chamber Monitor"; - network = list("xeno"); - pixel_y = 9 - }, -/obj/item/radio/intercom/directional/north, -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/iron, -/area/station/science/xenobiology) "rRB" = ( /obj/machinery/door/airlock/external{ name = "Solar Maintenance" @@ -50950,6 +50905,9 @@ }, /turf/open/floor/iron, /area/station/security/prison/visit) +"rXT" = ( +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) "rXW" = ( /obj/item/radio/intercom/directional/west, /obj/structure/table/glass, @@ -52623,13 +52581,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"sDl" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/machinery/airalarm/directional/east, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "sDo" = ( /obj/structure/cable, /obj/effect/landmark/event_spawn, @@ -54430,6 +54381,20 @@ /obj/item/kirbyplants/random, /turf/open/floor/iron, /area/station/hallway/primary/port) +"tjc" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -8; + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/turf/open/floor/iron, +/area/station/science/robotics/lab) "tjf" = ( /obj/machinery/hydroponics/soil{ pixel_y = 8 @@ -54542,30 +54507,6 @@ /obj/item/radio/intercom/prison/directional/north, /turf/open/floor/iron, /area/station/security/prison) -"tkT" = ( -/obj/structure/table, -/obj/item/multitool{ - pixel_x = 4; - pixel_y = 12 - }, -/obj/item/multitool{ - pixel_x = -4; - pixel_y = 8 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = -4 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -4; - pixel_y = -6 - }, -/obj/machinery/atmospherics/pipe/smart/simple/cyan/visible/layer5, -/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, -/obj/item/multitool{ - pixel_y = 10 - }, -/turf/open/floor/iron/dark/textured, -/area/station/engineering/atmos) "tlh" = ( /obj/effect/turf_decal/stripes/line{ dir = 8 @@ -54722,6 +54663,7 @@ "tnF" = ( /obj/machinery/light/small/dim/directional/west, /obj/effect/decal/cleanable/dirt, +/obj/structure/sign/poster/contraband/random/directional/west, /turf/open/floor/iron, /area/station/cargo/warehouse) "tnG" = ( @@ -54799,6 +54741,15 @@ /obj/structure/window/reinforced/spawner/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/aisat/exterior) +"tpA" = ( +/obj/machinery/cell_charger{ + pixel_y = 4 + }, +/obj/structure/table/glass, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "tpD" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -54958,14 +54909,6 @@ /obj/item/knife/kitchen, /turf/open/floor/iron/white, /area/station/science/cytology) -"tsN" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/light_switch/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) "tsT" = ( /obj/effect/turf_decal/stripes/corner{ dir = 1 @@ -55888,7 +55831,7 @@ "tLb" = ( /obj/structure/sign/warning/electric_shock/directional/south, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "tLc" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -56561,7 +56504,7 @@ /obj/machinery/firealarm/directional/south, /obj/structure/rack, /obj/item/storage/briefcase/secure, -/obj/item/clothing/mask/cigarette/cigar, +/obj/item/cigarette/cigar, /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 }, @@ -57565,6 +57508,16 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"unK" = ( +/obj/structure/table/wood, +/obj/machinery/computer/security/telescreen/prison/directional/north, +/obj/item/flashlight/lamp/green{ + pixel_x = 1; + pixel_y = 5 + }, +/obj/item/restraints/handcuffs, +/turf/open/floor/carpet, +/area/station/security/detectives_office) "unL" = ( /turf/closed/wall, /area/station/maintenance/starboard/greater) @@ -57800,25 +57753,6 @@ /obj/structure/chair/stool/directional/east, /turf/open/floor/iron, /area/station/commons/dorms) -"urN" = ( -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/firealarm/directional/west, -/obj/machinery/camera/directional/north{ - c_tag = "Science Mechbay"; - network = list("ss13","rd") - }, -/obj/machinery/button/door/directional/north{ - id = "mechbay"; - name = "Mech Bay Shutters Control"; - req_access = list("robotics") - }, -/turf/open/floor/iron, -/area/station/science/robotics/mechbay) "urQ" = ( /obj/structure/lattice/catwalk, /obj/item/stack/cable_coil, @@ -58321,7 +58255,7 @@ use_power = 0 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "uzJ" = ( /obj/effect/turf_decal/trimline/blue/filled/warning{ dir = 4 @@ -58904,6 +58838,22 @@ /obj/machinery/computer/accounting, /turf/open/floor/wood, /area/station/command/heads_quarters/hop) +"uJz" = ( +/obj/effect/turf_decal/bot, +/obj/structure/rack, +/obj/machinery/status_display/evac/directional/east, +/obj/effect/turf_decal/tile/yellow{ + dir = 4 + }, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -5 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/turf/open/floor/iron/checker, +/area/station/engineering/storage_shared) "uJB" = ( /obj/structure/chair/stool/directional/east, /turf/open/floor/iron, @@ -59260,14 +59210,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics/garden) -"uPS" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/ai_monitored/command/storage/eva) "uQe" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59387,21 +59329,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/security/prison) -"uSq" = ( -/obj/structure/table/wood, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = 30 - }, -/obj/item/flashlight/lamp/green{ - pixel_x = 1; - pixel_y = 5 - }, -/obj/item/book/manual/wiki/security_space_law, -/turf/open/floor/wood, -/area/station/service/lawoffice) "uSz" = ( /obj/structure/table, /obj/item/phone{ @@ -59600,12 +59527,6 @@ /obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/science/research) -"uVG" = ( -/obj/effect/spawner/structure/window/reinforced, -/obj/structure/cable, -/obj/machinery/door/poddoor/preopen, -/turf/open/floor/plating, -/area/station/command/heads_quarters/qm) "uVJ" = ( /obj/effect/spawner/random/structure/grille, /obj/structure/girder, @@ -59686,38 +59607,6 @@ /obj/structure/cable, /turf/open/floor/circuit, /area/station/maintenance/port/aft) -"uWN" = ( -/obj/structure/table, -/obj/item/paper_bin{ - pixel_x = -1; - pixel_y = 5 - }, -/obj/item/pen, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring the engine."; - dir = 8; - name = "Engine Monitor"; - network = list("engine"); - pixel_x = 26 - }, -/obj/machinery/button/door/directional/east{ - id = "Engineering"; - name = "Engineering Lockdown"; - pixel_y = 16; - req_access = list("engineering") - }, -/obj/machinery/button/door/directional/east{ - id = "atmos"; - name = "Atmospherics Lockdown"; - pixel_y = 24; - req_access = list("atmospherics") - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/light/small/directional/east, -/turf/open/floor/iron, -/area/station/security/checkpoint/engineering) "uWS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -59904,14 +59793,6 @@ /obj/structure/aquarium/lawyer, /turf/open/floor/wood, /area/station/service/lawoffice) -"uZM" = ( -/obj/structure/table, -/obj/machinery/computer/security/telescreen/ordnance{ - dir = 1 - }, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "uZP" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -59931,6 +59812,13 @@ /obj/effect/turf_decal/tile/red/fourcorners, /turf/open/floor/iron/white, /area/station/security/prison/safe) +"vag" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/structure/disposalpipe/segment, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/plating, +/area/station/maintenance/starboard/greater) "vaB" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced, @@ -60233,9 +60121,7 @@ /turf/open/floor/iron/white, /area/station/command/heads_quarters/cmo) "vhb" = ( -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 8 }, @@ -60310,12 +60196,12 @@ /obj/item/folder/documents, /obj/effect/turf_decal/bot_white, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/poster/traitor, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) "viF" = ( /obj/machinery/computer/upload/borg, /obj/machinery/door/window/left/directional/south{ - layer = 3.1; name = "Cyborg Upload Console Window"; req_access = list("ai_upload") }, @@ -61100,6 +60986,20 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"vuz" = ( +/obj/structure/closet/crate, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/cable_coil{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/spawner/random/engineering/flashlight, +/obj/effect/spawner/random/engineering/flashlight, +/turf/open/floor/iron, +/area/station/cargo/miningoffice) "vuJ" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/engineering/glass{ @@ -61183,7 +61083,7 @@ /area/station/hallway/secondary/entry) "vwi" = ( /obj/structure/table, -/obj/item/clothing/mask/cigarette/pipe, +/obj/item/cigarette/pipe, /turf/open/floor/plating, /area/station/maintenance/port) "vwn" = ( @@ -61652,6 +61552,23 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/port) +"vEv" = ( +/obj/machinery/computer/mecha{ + dir = 8 + }, +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 5 + }, +/obj/machinery/requests_console/directional/east{ + department = "Research Director's Desk"; + name = "Research Director's Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/announcement, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/machinery/computer/security/telescreen/rd/directional/north, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/rd) "vEw" = ( /obj/structure/chair/stool/directional/south, /obj/item/radio/intercom/prison/directional/north, @@ -62273,28 +62190,6 @@ }, /turf/open/floor/iron/dark/textured, /area/station/engineering/atmos) -"vPO" = ( -/obj/machinery/computer/crew{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/cmo{ - dir = 4; - pixel_x = -30 - }, -/obj/machinery/keycard_auth/directional/south{ - pixel_x = 6 - }, -/obj/machinery/button/door/directional/south{ - id = "cmoprivacy"; - name = "CMO Privacy Shutters"; - pixel_x = -8; - req_access = list("cmo") - }, -/obj/effect/turf_decal/tile/blue/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/cmo) "vPV" = ( /obj/structure/rack, /obj/effect/turf_decal/bot, @@ -63002,6 +62897,16 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/greater) +"waf" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/obj/structure/cable, +/obj/machinery/computer/security/telescreen/turbine/directional/east, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "wag" = ( /obj/machinery/computer/records/medical, /obj/structure/cable, @@ -63522,16 +63427,6 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/hallway/secondary/entry) -"wiQ" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/rcl/pre_loaded, -/obj/effect/turf_decal/tile/neutral{ - dir = 8 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "wiS" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/structure/cable, @@ -63707,14 +63602,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"wne" = ( -/obj/structure/chair, -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 4; - pixel_x = -30 - }, -/turf/open/floor/iron/grimy, -/area/station/security/interrogation) "wnQ" = ( /obj/structure/sign/map/left{ desc = "A framed picture of the station. Clockwise from security at the top (red), you see engineering (yellow), science (purple), escape (red and white), medbay (green), arrivals (blue and white), and finally cargo (brown)."; @@ -63831,15 +63718,15 @@ pixel_x = -2; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4; pixel_y = 1 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = -4; pixel_y = 1 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba, +/obj/item/cigarette/cigar/cohiba, /obj/structure/table/wood, /turf/open/floor/carpet, /area/station/command/corporate_showroom) @@ -64432,17 +64319,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/starboard/fore) -"wAc" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/extinguisher_cabinet/directional/east, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "wAk" = ( /obj/machinery/status_display/evac/directional/south, /obj/structure/disposalpipe/segment{ @@ -65805,15 +65681,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/engineering/main) -"xbb" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/firealarm/directional/west, -/obj/effect/turf_decal/tile/blue{ - dir = 8 - }, -/obj/machinery/light/cold/directional/west, -/turf/open/floor/iron/dark, -/area/station/engineering/transit_tube) "xbd" = ( /obj/structure/extinguisher_cabinet/directional/south, /obj/structure/disposalpipe/segment{ @@ -65824,6 +65691,15 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) +"xbg" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/command/gateway) "xbT" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -66806,7 +66682,7 @@ "xtw" = ( /obj/item/stack/rods, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "xtz" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -66820,6 +66696,15 @@ /obj/effect/turf_decal/trimline/brown/filled/corner, /turf/open/floor/iron, /area/station/cargo/storage) +"xtY" = ( +/obj/machinery/computer/security/telescreen/auxbase/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "xtZ" = ( /obj/structure/lattice, /obj/machinery/atmospherics/pipe/smart/simple/green/visible, @@ -67006,35 +66891,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/port) -"xxh" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/machinery/button/door/directional/north{ - id = "rdrnd"; - name = "Research and Development Containment Control"; - pixel_x = -6; - req_access = list("rd") - }, -/obj/machinery/button/door/directional/north{ - id = "rdordnance"; - name = "Ordnance Containment Control"; - pixel_x = 6; - req_access = list("rd") - }, -/obj/machinery/button/door/directional/north{ - id = "rdoffice"; - name = "Privacy Control"; - pixel_y = 34; - req_access = list("rd") - }, -/obj/machinery/computer/security/telescreen/rd{ - pixel_x = 31; - pixel_y = 30 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/rd) "xxk" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk, @@ -67693,7 +67549,6 @@ "xIK" = ( /obj/structure/table, /obj/item/reagent_containers/condiment/enzyme{ - layer = 5; pixel_x = -7; pixel_y = 13 }, @@ -68329,6 +68184,12 @@ }, /turf/open/floor/engine/vacuum, /area/station/engineering/atmos) +"xWr" = ( +/obj/effect/turf_decal/trimline/red/filled/corner, +/obj/machinery/light/directional/east, +/obj/machinery/computer/security/telescreen/interrogation/directional/east, +/turf/open/floor/iron, +/area/station/security/brig) "xWE" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/turf_decal/tile/yellow/half/contrasted{ @@ -68545,7 +68406,7 @@ "xYZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "xZb" = ( /obj/effect/spawner/random/structure/grille, /turf/open/floor/plating, @@ -68554,23 +68415,6 @@ /obj/item/radio/intercom/directional/north, /turf/open/floor/iron, /area/station/security/courtroom) -"xZe" = ( -/obj/structure/closet/crate, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/item/stack/cable_coil{ - pixel_x = 3; - pixel_y = -7 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/light_switch/directional/north, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/spawner/random/engineering/flashlight, -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 4 - }, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/cargo/miningoffice) "xZu" = ( /obj/structure/sink/kitchen/directional/east{ desc = "A sink used for washing one's hands and face. It looks rusty and home-made"; @@ -68763,6 +68607,7 @@ /turf/open/floor/plating, /area/station/maintenance/port/fore) "ycv" = ( +/obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/white, /area/station/science/xenobiology) "ycw" = ( @@ -68903,22 +68748,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hos) -"yfa" = ( -/obj/machinery/computer/mecha{ - dir = 8 - }, -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 5 - }, -/obj/machinery/requests_console/directional/east{ - department = "Research Director's Desk"; - name = "Research Director's Requests Console" - }, -/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/white, -/area/station/command/heads_quarters/rd) "yfg" = ( /obj/effect/spawner/structure/window/reinforced, /obj/machinery/door/poddoor/shutters/preopen{ @@ -81479,7 +81308,7 @@ aDa aDa iYU oSc -oQc +xtY aDb rew lGL @@ -85318,7 +85147,7 @@ lMJ lMJ lMJ pnI -gcz +vuz xDu pcS pnI @@ -85855,7 +85684,7 @@ cbz dBE vQs vQs -rgM +vQs hor vQs vQs @@ -86115,7 +85944,7 @@ ePj tnF dKY kif -rgM +vQs dHc dHc bZY @@ -86859,7 +86688,7 @@ jXu bZz vRr paD -xZe +hZg dSG apC sUD @@ -87144,7 +86973,7 @@ kZI nbd vKn fNz -rgM +vQs vQs hyW xOw @@ -88201,7 +88030,7 @@ kRA jUb xYq dqN -cIl +baG jUb rvI jUb @@ -90726,7 +90555,7 @@ cNg kQP kQP mXO -uVG +mXO kQP kQP kQP @@ -92839,7 +92668,7 @@ rQd cJm jGw bJG -vPO +gbn bqX ulR qXL @@ -93073,7 +92902,7 @@ jIg dTr rIL bwN -uPS +omd ukk rGm gqX @@ -93083,7 +92912,7 @@ qPJ luN wde jJd -rqc +dQL umS qPJ bgS @@ -94029,7 +93858,7 @@ sjP sjP sjP sjP -ppm +dkX yey jTZ aBL @@ -94330,7 +94159,7 @@ aPv oWF eQg aJS -ktt +mSI aUx qhF htd @@ -94353,7 +94182,7 @@ ndS urA pFG gBD -tsN +dzX fRu hVE xXw @@ -95311,7 +95140,7 @@ aaa aaa aaa aaa -nWF +sKY aaa sIe gkn @@ -95885,7 +95714,7 @@ dUj gGy hmq fUj -mES +qcD duI duI lwt @@ -96100,7 +95929,7 @@ aaa aaa aeq xCo -bKi +loY tTP fdQ uou @@ -96142,7 +95971,7 @@ gGy qVc dMY jYL -eyz +tpA aAt duI pCO @@ -96414,7 +96243,7 @@ haP jzN fEC eQe -obU +qtq iAA oSo cgF @@ -96883,7 +96712,7 @@ ewj bkl wZU pMy -ouU +oGH orx eeq sDS @@ -97455,7 +97284,7 @@ rgZ suW hJF cZK -urN +euw cXg nyy gVl @@ -97491,7 +97320,7 @@ jjs dKC xLu dKC -ezP +cbp ctL oPD iUm @@ -98490,7 +98319,7 @@ cBV xlv eut bUo -fxE +tjc jtS bFH mMl @@ -98985,7 +98814,7 @@ nse bmb lwg aAK -pcP +xbg tvE qJU hPM @@ -99506,7 +99335,7 @@ kON ylQ bGC wHu -frK +gVE ibw ibw nIP @@ -99704,7 +99533,7 @@ wVt jzD wxj kZG -jHN +ihN kYg kYg ylZ @@ -99745,7 +99574,7 @@ jxv sqJ gPA lZM -giR +qrw syo lSz vQe @@ -100232,7 +100061,7 @@ jAP fEn xXC xNU -uSq +eJd xlf lWg byw @@ -100571,12 +100400,12 @@ fhi fhi uEo fiS -gyQ +rXT eRn -gyQ -gyQ -gyQ -gyQ +rXT +rXT +rXT +rXT lMJ uGg nFa @@ -100735,11 +100564,11 @@ pyY sNB xWm mLL -oIO +xWr vkb cLl sWV -gXg +unK mOt clq aKa @@ -101504,7 +101333,7 @@ gMZ cju gMZ mFf -wne +mYb sHt qrn qRg @@ -102083,7 +101912,7 @@ ftj wXF doM tZo -ehL +bXg oFT gvS oYZ @@ -103397,7 +103226,7 @@ guG iAs coe tfV -mtM +nRQ oLS lMJ aaa @@ -103629,7 +103458,7 @@ sIW bRb cKm tAg -xxh +byE poq vYE lAH @@ -103886,7 +103715,7 @@ sIW jSk rkT tAg -yfa +vEv pkx hBB wnY @@ -104939,8 +104768,8 @@ qBF nCG tqx bOm -jPi -uZM +fhU +cdS kYD aaa aaa @@ -107697,10 +107526,10 @@ psZ psZ qXB gAU -wAc +cDO oUK eRR -sDl +fAA cdX sDE hjS @@ -107711,7 +107540,7 @@ ggM ggM dLq lzL -fMR +vag lzL lzL scG @@ -108454,7 +108283,7 @@ rpx dPy loA poc -dXp +oDH uXd tfg tfg @@ -108711,12 +108540,12 @@ oKx gLK joo sHT -oRA +rkx uXd dVc bYp gXu -gaP +hSi uXd gMG dWG @@ -108728,7 +108557,7 @@ nLz fEL rSi pCt -aRS +qHm sqE mEO gnS @@ -109239,7 +109068,7 @@ woL jLo nwC nLz -wiQ +iSU hYE rEd sby @@ -109487,7 +109316,7 @@ cnK jPe dPy poc -nnu +afM cnK giH aJj @@ -109497,7 +109326,7 @@ fbf nie qtm fyJ -qVD +oWm cuc adz tUw @@ -109534,7 +109363,7 @@ svK yec xhb uQk -lYM +waf vzc gUY pnH @@ -111293,7 +111122,7 @@ qLw tdf mdk kYG -ffO +dqE oFH oFH sSz @@ -111807,7 +111636,7 @@ hko uLp qTX kYG -dEk +uJz iHy vSC eKw @@ -112076,8 +111905,8 @@ dRA wCe khu hUu -uWN -ggw +kxC +oMh mEG nRp dtY @@ -112590,9 +112419,9 @@ wsI fia sRW hKi -xbb +apO lLB -aJz +qRq rzT cWy xRZ @@ -113361,7 +113190,7 @@ rLZ fJy ygp tyE -gen +qNO bDq rRR laE @@ -113630,7 +113459,7 @@ efd nwK fFC uVf -tkT +qqs gDq ich jnQ @@ -116190,7 +116019,7 @@ twf lMJ lMJ blx -gFb +hHO aaa aaa fuu @@ -117005,7 +116834,7 @@ goW msN xiL jlU -rRo +kGR lyL mao mCu @@ -117262,7 +117091,7 @@ rDf uhs fjd jlU -lWS +oGj sZN msR xkv @@ -117475,7 +117304,7 @@ oAQ lMJ lMJ blx -gFb +hHO aaa aaa fuu @@ -117519,7 +117348,7 @@ rDf eUe eSb nnc -hdy +nnc nnc rvK nnc @@ -117776,11 +117605,11 @@ hbK mgS hbK jlU -mtu -mtu +kcu +kcu gyK -mtu -mtu +kcu +kcu jlU hbK mTg @@ -118034,10 +117863,10 @@ fGy wyo jlU dLm -mtu +kcu gyK -mtu -mtu +kcu +kcu jlU qgn mCV @@ -118290,11 +118119,11 @@ pWT rDf uLa jlU -mtu -mtu +kcu +kcu jQz nJr -mtu +kcu jlU lUS pHt @@ -118503,7 +118332,7 @@ oAQ lMJ lMJ blx -gFb +hHO aaa aaa aaa @@ -118547,11 +118376,11 @@ hbK wrc wrc jlU -mtu -mtu -mtu -mtu -mtu +kcu +kcu +kcu +kcu +kcu jlU wrc wrc @@ -118805,7 +118634,7 @@ aaa lMJ jlU jlU -hcA +kcu aYl kcu jlU @@ -123637,7 +123466,7 @@ uUX azv dKG bjQ -hac +nhU pQv tSP qiH @@ -124665,7 +124494,7 @@ iCV mCL pIE bjQ -kxq +dqy rNs tSP mZW @@ -124928,7 +124757,7 @@ txh bjQ giA hSe -itB +lBN pDe ueE jGr @@ -125439,7 +125268,7 @@ ldP xgE uFw tXz -hTt +jGN gfU gfU gfU diff --git a/_maps/map_files/Mining/Lavaland.dmm b/_maps/map_files/Mining/Lavaland.dmm index b38b99867ab47..5bc3a711a1b03 100644 --- a/_maps/map_files/Mining/Lavaland.dmm +++ b/_maps/map_files/Mining/Lavaland.dmm @@ -7308,7 +7308,7 @@ }, /area/mine/laborcamp) "Sc" = ( -/obj/item/clothing/mask/cigarette/robust{ +/obj/item/cigarette/robust{ pixel_x = 3; pixel_y = -10 }, @@ -7608,7 +7608,7 @@ /turf/open/floor/plating, /area/mine/laborcamp/security/maintenance) "TX" = ( -/obj/item/clothing/mask/cigarette/robust{ +/obj/item/cigarette/robust{ pixel_x = 8; pixel_y = 8 }, diff --git a/_maps/map_files/NorthStar/north_star.dmm b/_maps/map_files/NorthStar/north_star.dmm index 0791f34e05b23..b6ac5fb5feed9 100644 --- a/_maps/map_files/NorthStar/north_star.dmm +++ b/_maps/map_files/NorthStar/north_star.dmm @@ -72,6 +72,13 @@ /obj/machinery/duct, /turf/open/floor/iron, /area/station/commons/toilet) +"aaN" = ( +/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ + dir = 8 + }, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "aaO" = ( /obj/machinery/computer/atmos_alert{ dir = 4 @@ -207,7 +214,7 @@ dir = 8 }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "acp" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -284,7 +291,7 @@ /area/station/maintenance/floor3/starboard/fore) "acL" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/cigar/cohiba, +/obj/item/cigarette/cigar/cohiba, /obj/effect/turf_decal/trimline/blue/line{ dir = 1 }, @@ -3219,19 +3226,6 @@ }, /turf/open/floor/engine/xenobio, /area/station/science/xenobiology) -"aRl" = ( -/obj/machinery/door/airlock/highsecurity{ - name = "AI Upload" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/access/any/command/ai_upload, -/obj/effect/mapping_helpers/airlock/cyclelink_helper{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "aRz" = ( /obj/effect/turf_decal/trimline/blue/filled/corner{ dir = 1 @@ -3434,7 +3428,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/space) +/area/space/nearstation) "aTU" = ( /obj/effect/turf_decal/trimline/purple/line, /obj/effect/turf_decal/trimline/purple/line{ @@ -4147,11 +4141,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor2/port/aft) -"bbN" = ( -/obj/machinery/pdapainter/engineering, -/obj/machinery/camera/autoname/directional/west, -/turf/open/floor/iron/dark/textured, -/area/station/command/heads_quarters/ce) "bcb" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6897,6 +6886,7 @@ /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ dir = 8 }, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) "bJQ" = ( @@ -7103,14 +7093,6 @@ /obj/machinery/light/floor, /turf/open/floor/wood/tile, /area/station/service/library) -"bMu" = ( -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/machinery/computer/security/telescreen/rd{ - pixel_x = -30 - }, -/obj/machinery/pdapainter/research, -/turf/open/floor/iron/white, -/area/station/command/heads_quarters/rd) "bMz" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/girder, @@ -7230,7 +7212,7 @@ dir = 4 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "bOq" = ( /obj/machinery/door/airlock/maintenance/external, /obj/effect/turf_decal/stripes/line{ @@ -8449,6 +8431,12 @@ /obj/structure/closet/firecloset, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/port/aft) +"cep" = ( +/obj/effect/turf_decal/tile/blue/opposingcorners, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/machinery/computer/security/telescreen/minisat/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/teleporter) "cev" = ( /obj/structure/cable, /obj/machinery/door/airlock/hatch{ @@ -10682,6 +10670,20 @@ /obj/structure/lattice, /turf/open/space/basic, /area/space/nearstation) +"cIc" = ( +/obj/machinery/door/airlock/highsecurity{ + name = "AI Upload" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/access/any/command/ai_upload, +/obj/effect/mapping_helpers/airlock/cyclelink_helper{ + dir = 4 + }, +/obj/structure/sign/departments/aiupload/directional/south, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "cId" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 @@ -11440,6 +11442,10 @@ pixel_y = 9 }, /obj/effect/turf_decal/tile/purple/fourcorners, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, +/obj/item/multitool, /turf/open/floor/iron/white, /area/station/science/lab) "cSc" = ( @@ -12685,7 +12691,7 @@ dir = 4 }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "djd" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -12792,7 +12798,7 @@ dir = 4 }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "dks" = ( /obj/structure/girder, /obj/item/stack/sheet/iron, @@ -12839,6 +12845,17 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/prison/safe) +"dlR" = ( +/obj/item/radio/intercom/directional/north{ + broadcasting = 1; + frequency = 1447; + listening = 0; + name = "Private Channel" + }, +/obj/machinery/recharge_station, +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/turf/open/floor/circuit, +/area/station/ai_monitored/turret_protected/aisat/service) "dlW" = ( /turf/closed/wall, /area/station/maintenance/floor4/starboard/aft) @@ -14442,6 +14459,7 @@ /area/station/maintenance/floor1/starboard/fore) "dIJ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) "dIO" = ( @@ -14726,6 +14744,16 @@ }, /turf/open/floor/iron/dark/textured_large, /area/station/hallway/secondary/exit/departure_lounge) +"dMt" = ( +/obj/machinery/computer/security/telescreen/minisat/directional/east, +/obj/machinery/camera/directional/south{ + c_tag = "MiniSat Exterior Access"; + network = list("minisat") + }, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/firealarm/directional/south, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/aisat) "dMA" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -15620,9 +15648,7 @@ /obj/item/storage/box/syringes{ pixel_y = 6 }, -/obj/item/stack/medical/mesh{ - layer = 3.01 - }, +/obj/item/stack/medical/mesh, /turf/open/floor/iron/white, /area/station/medical/treatment_center) "dXz" = ( @@ -17124,6 +17150,21 @@ }, /turf/open/floor/plating, /area/station/engineering/supermatter) +"etb" = ( +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/effect/turf_decal/tile/brown{ + dir = 4 + }, +/obj/structure/cable, +/obj/machinery/airalarm/directional/north, +/obj/structure/rack, +/obj/item/stock_parts/power_store/cell/lead, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/cargo/storage) "etj" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -18182,6 +18223,21 @@ dir = 4 }, /area/station/command/bridge) +"eIg" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner, +/obj/machinery/turretid{ + control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; + icon_state = "control_stun"; + name = "AI Upload turret control"; + pixel_y = 28 + }, +/obj/machinery/computer/security/telescreen/aiupload/directional/west, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "eIq" = ( /obj/structure/chair/stool/directional/west, /obj/effect/turf_decal/trimline/red/warning{ @@ -18802,10 +18858,10 @@ /area/station/service/kitchen) "eSq" = ( /obj/structure/railing/corner, -/obj/machinery/atmospherics/pipe/smart/simple/purple, /obj/machinery/atmospherics/pipe/smart/simple/scrubbers/visible/layer4{ dir = 8 }, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) "eSw" = ( @@ -20545,11 +20601,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) -"frG" = ( -/obj/structure/rack, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "frL" = ( /turf/closed/wall, /area/station/engineering/gravity_generator) @@ -21214,9 +21265,6 @@ /obj/structure/stairs/north, /turf/open/floor/iron/white/small, /area/station/medical/chemistry) -"fCp" = ( -/turf/open/floor/plating/airless, -/area/space) "fCq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/effect/landmark/generic_maintenance_landmark, @@ -23246,9 +23294,7 @@ /obj/effect/turf_decal/tile/blue/fourcorners, /obj/structure/table/reinforced/rglass, /obj/item/pai_card, -/obj/item/reagent_containers/spray/cleaner{ - layer = 3.01 - }, +/obj/item/reagent_containers/spray/cleaner, /turf/open/floor/iron/white/textured, /area/station/medical/treatment_center) "gcs" = ( @@ -23606,6 +23652,24 @@ }, /turf/open/floor/catwalk_floor/iron_smooth, /area/station/maintenance/disposal) +"ghy" = ( +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/structure/table/reinforced/rglass, +/obj/machinery/cell_charger{ + pixel_y = 10 + }, +/obj/machinery/cell_charger{ + pixel_y = 1 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_y = 9; + pixel_x = -1 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -1 + }, +/turf/open/floor/iron/white/textured, +/area/station/medical/treatment_center) "ghH" = ( /obj/effect/turf_decal/tile/blue/half{ dir = 4 @@ -24269,24 +24333,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/security/prison/visit) -"gra" = ( -/obj/structure/rack, -/obj/item/stock_parts/micro_laser{ - pixel_y = 7 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -4; - pixel_y = -6 - }, -/obj/item/vending_refill/wardrobe/science_wardrobe{ - pixel_y = 18 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 8 - }, -/obj/item/radio/intercom/directional/east, -/turf/open/floor/iron/white, -/area/station/science/lower) "grb" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/effect/turf_decal/trimline/green/filled/line{ @@ -24657,6 +24703,7 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, +/obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) "gwl" = ( @@ -25659,6 +25706,10 @@ /obj/effect/landmark/start/captain, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/captain/private) +"gJl" = ( +/obj/machinery/computer/security/telescreen/engine_waste/directional/north, +/turf/open/floor/engine, +/area/station/engineering/supermatter/room) "gJm" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -26211,21 +26262,6 @@ initial_gas_mix = "TEMP=2.7" }, /area/station/science/ordnance/bomb) -"gQW" = ( -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/effect/turf_decal/tile/brown{ - dir = 4 - }, -/obj/structure/cable, -/obj/machinery/airalarm/directional/north, -/obj/structure/rack, -/obj/item/stock_parts/power_store/cell/lead, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/cargo/storage) "gRf" = ( /obj/machinery/door/airlock/public/glass{ name = "Public Airlock" @@ -26307,16 +26343,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard) -"gSr" = ( -/obj/structure/table/reinforced/plastitaniumglass, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/structure/cable, -/obj/machinery/computer/security/telescreen/engine{ - name = "Engineering and atmospherics monitor" - }, -/mob/living/basic/parrot/poly, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/command/heads_quarters/ce) "gSs" = ( /obj/effect/turf_decal/trimline/neutral/warning{ dir = 1 @@ -26427,6 +26453,14 @@ /obj/machinery/light/small/directional/south, /turf/open/floor/engine, /area/station/maintenance/disposal/incinerator) +"gTZ" = ( +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/computer/security/telescreen/engine_waste/directional/east, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron/dark/textured_large, +/area/station/engineering/atmos/pumproom) "gUc" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/light_switch/directional/south, @@ -27007,9 +27041,7 @@ /turf/open/floor/iron/dark, /area/station/security/courtroom) "hbW" = ( -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 }, @@ -28830,7 +28862,7 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, -/obj/machinery/atmospherics/pipe/smart/simple/purple, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) "hAI" = ( @@ -29289,6 +29321,24 @@ /obj/machinery/atmospherics/pipe/smart/simple/purple, /turf/open/floor/engine/vacuum, /area/station/science/ordnance/freezerchamber) +"hGG" = ( +/obj/structure/rack, +/obj/item/stock_parts/micro_laser{ + pixel_y = 7 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -4; + pixel_y = -6 + }, +/obj/item/vending_refill/wardrobe/science_wardrobe{ + pixel_y = 18 + }, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 8 + }, +/obj/item/radio/intercom/directional/east, +/turf/open/floor/iron/white, +/area/station/science/lower) "hGL" = ( /obj/machinery/light/small/directional/north, /obj/effect/decal/cleanable/dirt, @@ -30853,14 +30903,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/engineering/engine_smes) -"ibO" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high/empty, -/obj/structure/sign/poster/contraband/random/directional/east, -/turf/open/floor/iron/dark, -/area/station/commons/vacant_room/commissary) "ibT" = ( /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, @@ -31451,6 +31493,12 @@ dir = 1 }, /area/station/security/office) +"ijV" = ( +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/machinery/computer/security/telescreen/rd/directional/west, +/obj/machinery/pdapainter/research, +/turf/open/floor/iron/white, +/area/station/command/heads_quarters/rd) "ijX" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/directional, @@ -32115,14 +32163,6 @@ /obj/structure/railing/corner, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/starboard/aft) -"isp" = ( -/obj/machinery/computer/security/telescreen{ - name = "\improper Engine Waste Monitor"; - network = list("waste"); - pixel_y = 26 - }, -/turf/open/floor/engine, -/area/station/engineering/supermatter/room) "isq" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/effect/landmark/navigate_destination/dockaux, @@ -33217,6 +33257,13 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) +"iGR" = ( +/obj/structure/table, +/obj/effect/turf_decal/tile/purple/opposingcorners, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron/white, +/area/station/science/circuits) "iGY" = ( /obj/machinery/door/airlock/medical{ name = "Medical Break Room" @@ -33271,6 +33318,12 @@ name = "lab floor" }, /area/station/science/robotics/lab) +"iHL" = ( +/obj/machinery/pdapainter/engineering, +/obj/machinery/camera/autoname/directional/west, +/obj/machinery/computer/security/telescreen/engine/directional/south, +/turf/open/floor/iron/dark/textured, +/area/station/command/heads_quarters/ce) "iHM" = ( /obj/machinery/vending/wallmed/directional/west, /obj/effect/turf_decal/tile/blue/opposingcorners, @@ -33292,20 +33345,6 @@ /obj/item/weldingtool/largetank, /turf/open/floor/iron, /area/station/cargo/warehouse) -"iIb" = ( -/obj/item/kirbyplants/random, -/obj/machinery/airalarm/directional/west, -/obj/effect/turf_decal/tile/red{ - dir = 8 - }, -/obj/effect/turf_decal/tile/red{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/interrogation{ - pixel_y = 30 - }, -/turf/open/floor/iron/dark, -/area/station/security/interrogation) "iIm" = ( /obj/machinery/door/airlock/hatch{ name = "Maintenance Hatch" @@ -33627,16 +33666,6 @@ dir = 1 }, /area/station/hallway/floor2/fore) -"iNA" = ( -/obj/machinery/computer/security/telescreen/vault{ - dir = 8; - pixel_x = 26 - }, -/obj/machinery/computer/security{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/hop) "iNB" = ( /obj/machinery/light/directional/north, /obj/machinery/camera/autoname/directional/east, @@ -33772,8 +33801,7 @@ }, /obj/machinery/door/window/right/directional/south{ name = "Upload Console Window"; - req_access = list("ai_upload"); - layer = 3 + req_access = list("ai_upload") }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) @@ -35263,6 +35291,7 @@ /obj/effect/turf_decal/stripes{ dir = 1 }, +/obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) "jjo" = ( @@ -35346,6 +35375,17 @@ }, /turf/open/floor/mineral/silver, /area/station/service/chapel) +"jkD" = ( +/obj/structure/cable, +/obj/machinery/power/apc/auto_name/directional/east{ + cell_type = /obj/item/stock_parts/power_store/battery/hyper + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/light/small/directional/north, +/turf/open/floor/iron/smooth_large, +/area/station/tcommsat/server) "jkH" = ( /obj/machinery/holopad, /turf/open/floor/iron/white, @@ -36571,15 +36611,6 @@ /obj/effect/turf_decal/trimline/green/filled/line, /turf/open/floor/iron, /area/station/service/hydroponics) -"jAe" = ( -/obj/effect/turf_decal/tile/blue/opposingcorners, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 4; - pixel_x = -32 - }, -/turf/open/floor/iron/dark, -/area/station/command/teleporter) "jAl" = ( /obj/structure/table/wood/fancy/red, /obj/effect/turf_decal/siding/wood{ @@ -37314,7 +37345,7 @@ /area/station/maintenance/floor4/starboard) "jJM" = ( /obj/machinery/atmospherics/pipe/smart/manifold/purple/visible/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/purple, +/obj/machinery/atmospherics/pipe/smart/simple/purple/visible, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) "jJP" = ( @@ -40875,21 +40906,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/miningdock) -"kFk" = ( -/obj/machinery/atmospherics/pipe/smart/simple/purple/hidden/layer1{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/computer/security/telescreen{ - dir = 1; - name = "\improper Engine Waste Monitor"; - network = list("waste"); - pixel_y = -26 - }, -/turf/open/floor/catwalk_floor/iron, -/area/station/engineering/atmos/pumproom) "kFp" = ( /obj/effect/turf_decal/trimline/blue/warning{ dir = 10 @@ -41221,19 +41237,6 @@ }, /turf/open/floor/iron, /area/station/hallway/floor2/fore) -"kIT" = ( -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/computer/security/telescreen{ - dir = 8; - name = "\improper Engine Waste Monitor"; - network = list("waste"); - pixel_x = 26 - }, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron/dark/textured_large, -/area/station/engineering/atmos/pumproom) "kJg" = ( /obj/effect/turf_decal/trimline/purple/line{ dir = 1 @@ -41480,28 +41483,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/pod/dark, /area/station/maintenance/floor2/starboard) -"kMl" = ( -/obj/structure/table, -/obj/item/ai_module/reset/purge, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 10 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner{ - dir = 4 - }, -/obj/structure/window/reinforced/spawner/directional/north, -/obj/effect/spawner/random/aimodule/neutral{ - pixel_x = 15 - }, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the AI Upload."; - dir = 4; - name = "AI Upload Monitor"; - network = list("aiupload"); - pixel_x = -29 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "kMv" = ( /obj/machinery/plumbing/receiver, /obj/effect/turf_decal/tile/yellow/opposingcorners, @@ -41968,14 +41949,6 @@ }, /turf/open/floor/iron/dark/side, /area/station/engineering/engine_smes) -"kSG" = ( -/obj/effect/turf_decal/bot, -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/robotics/mechbay) "kSN" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -42178,19 +42151,6 @@ "kVp" = ( /turf/open/floor/engine/hull, /area/space/nearstation) -"kVs" = ( -/obj/machinery/computer/security/telescreen/minisat{ - dir = 8; - pixel_x = 28 - }, -/obj/machinery/camera/directional/south{ - c_tag = "MiniSat Exterior Access"; - network = list("minisat") - }, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/firealarm/directional/south, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/aisat) "kVu" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/structure/cable, @@ -42514,6 +42474,20 @@ /obj/machinery/light/directional/north, /turf/open/floor/eighties, /area/station/commons/dorms/room2) +"kZr" = ( +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/obj/item/gps, +/obj/structure/closet/crate/engineering, +/turf/open/floor/plating, +/area/station/engineering/lobby) "kZv" = ( /obj/machinery/power/apc/auto_name/directional/east, /obj/structure/cable, @@ -42538,14 +42512,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/hallway/floor3/fore) -"kZI" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/machinery/airalarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "kZS" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -44133,9 +44099,7 @@ /obj/effect/turf_decal/arrows{ dir = 4 }, -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /obj/effect/decal/cleanable/robot_debris, /obj/effect/landmark/start/bitrunner, /turf/open/floor/iron/dark/textured_large, @@ -46011,7 +45975,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/door/window/left/directional/south{ - layer = 3.1; name = "Cyborg Upload Console Window"; req_access = list("ai_upload") }, @@ -47444,6 +47407,22 @@ /obj/machinery/duct, /turf/open/floor/iron/dark/textured, /area/station/commons/fitness) +"mko" = ( +/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/ordnance/directional/north, +/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver, +/obj/structure/table, +/obj/item/binoculars{ + pixel_x = 6; + pixel_y = 6 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "mkE" = ( /obj/effect/turf_decal/tile/blue/opposingcorners, /obj/item/wrench, @@ -49081,6 +49060,12 @@ dir = 1 }, /area/station/hallway/secondary/exit) +"mFQ" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/ai_monitored/command/storage/eva) "mFV" = ( /obj/structure/bodycontainer/morgue, /obj/machinery/light/small/directional/west, @@ -49305,21 +49290,6 @@ }, /turf/open/floor/wood/tile, /area/station/command/heads_quarters/captain) -"mIV" = ( -/obj/machinery/computer/security/telescreen{ - desc = "Used for the Auxiliary Mining Base."; - dir = 1; - name = "Auxiliary Base Monitor"; - network = list("auxbase"); - pixel_y = -28 - }, -/obj/structure/cable, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/effect/turf_decal/tile/yellow/half/contrasted, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) "mIX" = ( /obj/machinery/ai_slipper{ uses = 10 @@ -51984,6 +51954,28 @@ }, /turf/open/floor/iron/dark/textured, /area/station/medical/cryo) +"nqP" = ( +/obj/structure/window/reinforced/plasma/spawner/directional/east, +/obj/structure/table/reinforced/plasmarglass, +/obj/item/stock_parts/power_store/cell/lead{ + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/usb_cable{ + name = "jumper cable"; + pixel_x = -10; + pixel_y = 12 + }, +/obj/item/lead_pipe{ + pixel_x = -5 + }, +/obj/item/reagent_containers/spray/cleaner{ + pixel_x = 6; + pixel_y = 7 + }, +/obj/item/reagent_containers/syringe, +/turf/open/floor/pod/dark, +/area/station/service/kitchen/abandoned) "nqU" = ( /obj/effect/turf_decal/stripes/line{ dir = 9 @@ -52391,12 +52383,6 @@ dir = 4 }, /area/station/hallway/floor1/fore) -"nwk" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/catwalk_floor/iron_dark, -/area/station/ai_monitored/command/storage/eva) "nwx" = ( /obj/item/wallframe/button, /obj/effect/mapping_helpers/burnt_floor, @@ -52453,28 +52439,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/disposal) -"nxB" = ( -/obj/structure/window/reinforced/plasma/spawner/directional/east, -/obj/structure/table/reinforced/plasmarglass, -/obj/item/stock_parts/power_store/cell/lead{ - pixel_x = -5; - pixel_y = 8 - }, -/obj/item/usb_cable{ - name = "jumper cable"; - pixel_x = -10; - pixel_y = 12 - }, -/obj/item/lead_pipe{ - pixel_x = -5 - }, -/obj/item/reagent_containers/spray/cleaner{ - pixel_x = 6; - pixel_y = 7 - }, -/obj/item/reagent_containers/syringe, -/turf/open/floor/pod/dark, -/area/station/service/kitchen/abandoned) "nxC" = ( /obj/effect/turf_decal/stripes/full, /obj/machinery/door/airlock{ @@ -52951,6 +52915,30 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard/fore) +"nDQ" = ( +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, +/obj/structure/table/reinforced, +/obj/structure/window/spawner/directional/south, +/obj/effect/turf_decal/trimline/yellow/corner{ + dir = 4 + }, +/obj/item/storage/toolbox/mechanical{ + pixel_x = 8; + pixel_y = -4 + }, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -6; + pixel_y = 5 + }, +/obj/item/multitool{ + pixel_x = 7; + pixel_y = 10 + }, +/turf/open/floor/iron/corner{ + dir = 4 + }, +/area/station/engineering/lobby) "nEa" = ( /obj/structure/table/wood, /obj/item/flashlight/lamp/green, @@ -53011,7 +52999,7 @@ /obj/item/fishing_rod, /obj/structure/closet, /obj/effect/spawner/random/maintenance/three, -/obj/item/clothing/mask/cigarette/pipe, +/obj/item/cigarette/pipe, /turf/open/floor/pod/light, /area/station/maintenance/floor2/starboard/fore) "nEO" = ( @@ -53411,16 +53399,6 @@ /obj/structure/foamedmetal, /turf/open/floor/engine, /area/station/maintenance/floor1/port/aft) -"nJz" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/stripes/white/line{ - dir = 8 - }, -/obj/machinery/status_display/ai/directional/east, -/turf/open/floor/iron/dark, -/area/station/science/auxlab) "nJC" = ( /obj/item/restraints/handcuffs, /obj/item/restraints/handcuffs, @@ -54603,26 +54581,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"nYQ" = ( -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/structure/table/reinforced/rglass, -/obj/machinery/cell_charger{ - pixel_y = 10 - }, -/obj/machinery/cell_charger{ - pixel_y = 1; - layer = 2.91 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_y = 9; - pixel_x = -1 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -1; - layer = 3.01 - }, -/turf/open/floor/iron/white/textured, -/area/station/medical/treatment_center) "nYZ" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55564,6 +55522,13 @@ /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor2/port/aft) +"omq" = ( +/obj/machinery/computer/security/telescreen/vault/directional/east, +/obj/machinery/computer/security{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/hop) "omr" = ( /turf/open/floor/iron/stairs{ dir = 8 @@ -55753,6 +55718,20 @@ /obj/machinery/light/warm/directional/north, /turf/open/floor/carpet/orange, /area/station/service/chapel/funeral) +"ooT" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/stripes/white/line{ + dir = 4 + }, +/obj/item/folder/white{ + pixel_y = 13 + }, +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/lab) "ooV" = ( /obj/effect/decal/cleanable/dirt, /obj/item/ammo_casing/c38{ @@ -56000,17 +55979,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, /area/station/medical/psychology) -"orW" = ( -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/east{ - cell_type = /obj/item/stock_parts/power_store/battery/hyper - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/machinery/light/small/directional/north, -/turf/open/floor/iron/smooth_large, -/area/station/tcommsat/server) "osk" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -56150,6 +56118,16 @@ /obj/structure/chair, /turf/open/floor/iron/kitchen/herringbone, /area/station/service/kitchen/diner) +"ouy" = ( +/obj/machinery/atmospherics/pipe/smart/simple/purple/hidden/layer1{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/computer/security/telescreen/engine_waste/directional/south, +/turf/open/floor/catwalk_floor/iron, +/area/station/engineering/atmos/pumproom) "ouD" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -57373,6 +57351,16 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"oLE" = ( +/obj/effect/turf_decal/trimline/neutral/warning{ + dir = 8 + }, +/obj/machinery/airalarm/directional/east, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/table/reinforced, +/turf/open/floor/iron/dark, +/area/station/command/gateway) "oLG" = ( /obj/structure/beebox, /turf/open/floor/grass, @@ -57609,6 +57597,11 @@ /obj/structure/extinguisher_cabinet/directional/north, /turf/open/floor/iron/white, /area/station/science/lower) +"oOW" = ( +/obj/structure/rack, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "oOY" = ( /obj/structure/table/wood/fancy/red, /obj/item/flashlight/flare/candle, @@ -58376,6 +58369,15 @@ /obj/item/tank/internals/emergency_oxygen, /turf/open/floor/iron/smooth, /area/station/tcommsat/computer) +"oZd" = ( +/obj/machinery/computer/security/telescreen/auxbase/directional/south, +/obj/structure/cable, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/effect/turf_decal/tile/yellow/half/contrasted, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "oZj" = ( /obj/effect/turf_decal/stripes/line{ dir = 1 @@ -58414,12 +58416,6 @@ /obj/structure/sign/poster/official/random/directional/west, /turf/open/floor/iron/dark, /area/station/security/checkpoint/second) -"oZB" = ( -/obj/structure/sign/departments/aiupload/directional/east, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/hallway/floor2/aft) "oZE" = ( /obj/machinery/door/airlock/hatch{ name = "Maintenance Hatch" @@ -59551,6 +59547,10 @@ /obj/machinery/atmospherics/pipe/smart/simple/dark/visible{ dir = 4 }, +/obj/machinery/power/apc/auto_name/directional/north{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance/testlab) "pqO" = ( @@ -60663,6 +60663,14 @@ /obj/structure/closet/firecloset, /turf/open/floor/pod/dark, /area/station/maintenance/floor3/starboard/aft) +"pEY" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high/empty, +/obj/structure/sign/poster/contraband/random/directional/east, +/turf/open/floor/iron/dark, +/area/station/commons/vacant_room/commissary) "pEZ" = ( /obj/structure/closet/radiation, /obj/effect/turf_decal/box, @@ -60769,6 +60777,10 @@ dir = 8 }, /area/station/security/office) +"pGz" = ( +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "pGG" = ( /obj/structure/ladder, /obj/structure/lattice/catwalk, @@ -61328,7 +61340,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/space) +/area/space/nearstation) "pNW" = ( /obj/effect/turf_decal/tile/blue/half/contrasted{ dir = 1 @@ -63075,20 +63087,6 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) -"qlT" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/stripes/white/line{ - dir = 4 - }, -/obj/item/folder/white{ - pixel_y = 13 - }, -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/science/lab) "qmb" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 1 @@ -64228,20 +64226,6 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white, /area/station/science/cytology) -"qzq" = ( -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/obj/item/gps, -/obj/structure/closet/crate/engineering, -/turf/open/floor/plating, -/area/station/engineering/lobby) "qzx" = ( /obj/structure/bookcase/random/fiction, /turf/open/floor/carpet/royalblack, @@ -65340,12 +65324,6 @@ /obj/effect/turf_decal/trimline/blue/filled/corner, /turf/open/floor/iron/dark/side, /area/station/hallway/floor2/aft) -"qOL" = ( -/obj/structure/rack, -/obj/item/mod/core/standard, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/pod/light, -/area/station/maintenance/floor3/port/aft) "qON" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/airalarm/directional/south, @@ -65635,7 +65613,7 @@ dir = 8 }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "qRW" = ( /obj/structure/disposalpipe/junction{ dir = 8 @@ -66523,6 +66501,12 @@ }, /turf/open/floor/glass/reinforced, /area/station/service/library) +"rdv" = ( +/obj/structure/rack, +/obj/item/mod/core/standard, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/pod/light, +/area/station/maintenance/floor3/port/aft) "rdx" = ( /obj/machinery/atmospherics/pipe/layer_manifold/scrubbers/visible{ dir = 4 @@ -66792,6 +66776,16 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/catwalk_floor/iron, /area/station/engineering/atmos) +"rgx" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/stripes/white/line{ + dir = 8 + }, +/obj/machinery/status_display/ai/directional/east, +/turf/open/floor/iron/dark, +/area/station/science/auxlab) "rgy" = ( /obj/effect/turf_decal/tile/purple/opposingcorners, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -66911,6 +66905,18 @@ /obj/machinery/light/small/blacklight/directional/east, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard) +"rhO" = ( +/obj/item/kirbyplants/random, +/obj/machinery/airalarm/directional/west, +/obj/effect/turf_decal/tile/red{ + dir = 8 + }, +/obj/effect/turf_decal/tile/red{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/interrogation/directional/north, +/turf/open/floor/iron/dark, +/area/station/security/interrogation) "rhR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -67019,7 +67025,6 @@ /turf/open/floor/iron/dark, /area/station/hallway/floor1/aft) "rjB" = ( -/obj/structure/sign/warning/biohazard/directional/east, /obj/machinery/light/cold/no_nightlight/directional/east, /turf/open/floor/engine/xenobio, /area/station/science/xenobiology) @@ -67886,20 +67891,6 @@ }, /turf/open/floor/iron/dark/side, /area/station/hallway/secondary/entry) -"rxu" = ( -/obj/item/radio/intercom/directional/north{ - broadcasting = 1; - frequency = 1447; - listening = 0; - name = "Private Channel" - }, -/obj/machinery/recharge_station, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 8; - pixel_x = 28 - }, -/turf/open/floor/circuit, -/area/station/ai_monitored/turret_protected/aisat/service) "rxz" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/trimline/blue/filled/line{ @@ -69863,6 +69854,7 @@ /area/station/maintenance/floor1/port) "sav" = ( /obj/effect/turf_decal/box/corners, +/obj/structure/sign/warning/biohazard/directional/east, /turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "saA" = ( @@ -70237,22 +70229,6 @@ dir = 9 }, /area/station/security/brig) -"sfE" = ( -/obj/structure/table, -/obj/item/storage/toolbox/emergency{ - pixel_y = 12 - }, -/obj/item/stack/cable_coil/cut{ - pixel_y = 7 - }, -/obj/item/stock_parts/power_store/cell/lead{ - pixel_x = 5; - pixel_y = 4 - }, -/obj/item/wirecutters, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/pod/light, -/area/station/maintenance/floor1/starboard/fore) "sfG" = ( /obj/item/radio/intercom/directional/north, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, @@ -70624,6 +70600,13 @@ /obj/structure/bookcase/random/fiction, /turf/open/floor/wood/tile, /area/station/service/library) +"slC" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/structure/cable, +/mob/living/basic/parrot/poly, +/turf/open/floor/catwalk_floor/iron_dark, +/area/station/command/heads_quarters/ce) "slI" = ( /obj/item/radio/intercom/directional/west, /obj/structure/window/reinforced/spawner/directional/south, @@ -71649,13 +71632,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"sAf" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/radio/intercom/directional/west, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/robotics/lab) "sAi" = ( /obj/effect/turf_decal/trimline/red/filled/line, /obj/effect/turf_decal/trimline/red/arrow_ccw{ @@ -71953,20 +71929,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/stairs/old, /area/station/service/theater) -"sEw" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/effect/turf_decal/trimline/blue/filled/corner, -/obj/machinery/turretid{ - control_area = "/area/station/ai_monitored/turret_protected/ai_upload"; - icon_state = "control_stun"; - name = "AI Upload turret control"; - pixel_y = 28 - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/turret_protected/ai_upload_foyer) "sEA" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -72534,7 +72496,7 @@ c_tag = "Minisat - Aft" }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "sLe" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -74591,7 +74553,7 @@ "tlJ" = ( /obj/machinery/camera/autoname/directional/east, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "tlK" = ( /obj/machinery/disposal/bin, /obj/structure/disposalpipe/trunk{ @@ -74753,6 +74715,16 @@ /obj/effect/spawner/random/contraband/prison, /turf/open/floor/iron/dark, /area/station/maintenance/floor2/starboard/aft) +"tnM" = ( +/obj/structure/table, +/obj/machinery/cell_charger{ + pixel_y = 5 + }, +/obj/item/stack/cable_coil, +/obj/item/multitool, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/pod, +/area/station/maintenance/floor4/port/fore) "tnN" = ( /obj/structure/railing{ dir = 8 @@ -75155,6 +75127,14 @@ dir = 8 }, /area/station/hallway/floor2/aft) +"tsB" = ( +/obj/effect/turf_decal/siding/white, +/obj/structure/railing, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/table/reinforced/rglass, +/turf/open/floor/iron/large, +/area/station/science/robotics/lab) "tsN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -75692,16 +75672,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/abandoned) -"tzz" = ( -/obj/effect/turf_decal/trimline/neutral/warning{ - dir = 8 - }, -/obj/machinery/airalarm/directional/east, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/table/reinforced, -/turf/open/floor/iron/dark, -/area/station/command/gateway) "tzA" = ( /obj/effect/turf_decal/siding/wood{ dir = 9 @@ -78324,7 +78294,7 @@ "ujI" = ( /obj/structure/railing, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "ujQ" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -80911,6 +80881,14 @@ }, /turf/open/floor/iron/checker, /area/station/cargo/miningdock) +"uSL" = ( +/obj/effect/turf_decal/bot, +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/robotics/mechbay) "uSN" = ( /obj/structure/railing, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -82559,9 +82537,7 @@ /area/station/maintenance/floor4/port/fore) "voX" = ( /obj/machinery/door/firedoor/border_only, -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /obj/machinery/atmospherics/components/unary/thermomachine/freezer{ dir = 1 }, @@ -82746,24 +82722,6 @@ /obj/structure/marker_beacon/burgundy, /turf/open/floor/pod/light, /area/station/maintenance/floor4/starboard/aft) -"vqW" = ( -/obj/machinery/atmospherics/pipe/smart/simple/yellow/visible{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/ordnance{ - pixel_y = 32 - }, -/obj/machinery/computer/pod/old/mass_driver_controller/ordnancedriver, -/obj/structure/table, -/obj/item/binoculars{ - pixel_x = 6; - pixel_y = 6 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "vrh" = ( /obj/effect/turf_decal/stripes/white/line{ dir = 4 @@ -83458,9 +83416,7 @@ /area/station/cargo/lobby) "vzo" = ( /obj/machinery/netpod, -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /turf/open/floor/catwalk_floor/iron_dark, /area/station/cargo/bitrunning/den) "vzu" = ( @@ -84668,6 +84624,21 @@ /obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/iron/cafeteria, /area/station/engineering/atmos) +"vQf" = ( +/obj/structure/table, +/obj/item/ai_module/reset/purge, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 10 + }, +/obj/effect/turf_decal/trimline/blue/filled/corner{ + dir = 4 + }, +/obj/structure/window/reinforced/spawner/directional/north, +/obj/effect/spawner/random/aimodule/neutral{ + pixel_x = 15 + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/turret_protected/ai_upload_foyer) "vQg" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -84932,6 +84903,7 @@ /obj/effect/turf_decal/box/corners{ dir = 4 }, +/obj/structure/sign/warning/gas_mask/directional/east, /turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "vTY" = ( @@ -85169,6 +85141,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured_large, /area/station/hallway/secondary/entry) +"vWP" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/radio/intercom/directional/west, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/robotics/lab) "vWQ" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -85600,7 +85579,7 @@ dir = 1 }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "wci" = ( /obj/effect/turf_decal/siding/wood/corner{ dir = 4 @@ -86338,7 +86317,6 @@ "wkP" = ( /obj/structure/table, /obj/item/reagent_containers/condiment/saltshaker{ - layer = 3.1; pixel_x = -2; pixel_y = 2 }, @@ -87445,30 +87423,6 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/pod/light, /area/station/maintenance/floor2/port/aft) -"wyg" = ( -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, -/obj/structure/table/reinforced, -/obj/structure/window/spawner/directional/south, -/obj/effect/turf_decal/trimline/yellow/corner{ - dir = 4 - }, -/obj/item/storage/toolbox/mechanical{ - pixel_x = 8; - pixel_y = -4 - }, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -6; - pixel_y = 5 - }, -/obj/item/multitool{ - pixel_x = 7; - pixel_y = 10 - }, -/turf/open/floor/iron/corner{ - dir = 4 - }, -/area/station/engineering/lobby) "wym" = ( /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -88199,14 +88153,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/pod/light, /area/station/maintenance/floor4/port/aft) -"wIf" = ( -/obj/effect/turf_decal/siding/white, -/obj/structure/railing, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/table/reinforced/rglass, -/turf/open/floor/iron/large, -/area/station/science/robotics/lab) "wIn" = ( /obj/structure/sign/poster/official/random/directional/west, /obj/structure/easel, @@ -88319,6 +88265,22 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hos) +"wIX" = ( +/obj/structure/table, +/obj/item/storage/toolbox/emergency{ + pixel_y = 12 + }, +/obj/item/stack/cable_coil/cut{ + pixel_y = 7 + }, +/obj/item/stock_parts/power_store/cell/lead{ + pixel_x = 5; + pixel_y = 4 + }, +/obj/item/wirecutters, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/pod/light, +/area/station/maintenance/floor1/starboard/fore) "wJf" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -90469,7 +90431,7 @@ dir = 4 }, /turf/open/floor/plating/airless, -/area/space) +/area/space/nearstation) "xlu" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -90601,16 +90563,6 @@ }, /turf/open/floor/pod/light, /area/station/maintenance/floor1/starboard/fore) -"xof" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stack/cable_coil, -/obj/item/multitool, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/pod, -/area/station/maintenance/floor4/port/fore) "xoj" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 6 @@ -90686,6 +90638,9 @@ }, /turf/open/floor/grass, /area/station/service/hydroponics/garden/abandoned) +"xpw" = ( +/turf/open/space/basic, +/area/space/nearstation) "xpA" = ( /obj/effect/turf_decal/siding/wood{ dir = 8 @@ -91160,9 +91115,7 @@ /obj/item/reagent_containers/cup/beaker{ pixel_x = 5 }, -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) "xvO" = ( @@ -91305,6 +91258,7 @@ /area/station/commons/vacant_room/office) "xxA" = ( /obj/machinery/holopad, +/obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/ordnance/testlab) "xxC" = ( @@ -92255,6 +92209,9 @@ }, /turf/open/floor/catwalk_floor, /area/station/maintenance/floor4/starboard) +"xIV" = ( +/turf/open/space/openspace, +/area/space/nearstation) "xJk" = ( /obj/machinery/seed_extractor, /obj/effect/turf_decal/tile/green/full, @@ -92340,7 +92297,7 @@ /area/station/maintenance/floor3/port) "xJX" = ( /obj/structure/table, -/obj/item/clothing/mask/cigarette/candy{ +/obj/item/cigarette/candy{ pixel_x = 4 }, /turf/open/floor/iron/dark/smooth_large, @@ -92378,7 +92335,7 @@ "xKt" = ( /obj/structure/railing/corner, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "xKy" = ( /obj/machinery/modular_computer/preset/id{ dir = 8 @@ -92531,6 +92488,14 @@ dir = 8 }, /area/station/hallway/floor3/aft) +"xMV" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/machinery/airalarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "xMW" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction{ @@ -93055,7 +93020,7 @@ dir = 1 }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "xUB" = ( /obj/machinery/light/floor, /turf/open/floor/iron/dark/side{ @@ -93703,13 +93668,6 @@ /obj/structure/table/reinforced, /turf/open/floor/iron/kitchen/herringbone, /area/station/service/kitchen) -"ydf" = ( -/obj/structure/table, -/obj/effect/turf_decal/tile/purple/opposingcorners, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron/white, -/area/station/science/circuits) "ydi" = ( /obj/machinery/firealarm/directional/south, /obj/effect/landmark/navigate_destination/chapel, @@ -110649,7 +110607,7 @@ wUH hyN wBR pTR -mIV +oZd wBR wBR wBR @@ -116266,7 +116224,7 @@ owI owI oic oic -sfE +wIX laR oic jdc @@ -118591,7 +118549,7 @@ eaW lSJ mxC jUP -gQW +etb myW kga uTH @@ -131976,7 +131934,7 @@ nor rcc sHG uxT -orW +jkD qkL snO jRp @@ -136607,7 +136565,7 @@ sQD lOI sjs oFr -bbN +iHL kzE fmb xgH @@ -136862,7 +136820,7 @@ nPb rCO cjc aRI -gSr +slC bgs hZt kzE @@ -137886,7 +137844,7 @@ wmU pVZ uKL rGe -wyg +nDQ wWw xFR gPc @@ -138639,7 +138597,7 @@ kDg vsL kDg rBP -qzq +kZr ykU mMO tCC @@ -140439,7 +140397,7 @@ oIy irk nDr kBz -kIT +gTZ bwl wlA kGK @@ -141465,13 +141423,13 @@ hQy vmr vmr skj -kFk +ouy sAH hhb gGt qEw sAH -isp +gJl jSD ppd uyD @@ -147102,247 +147060,25 @@ owI owI owI owI -aTO -fCp -pNV -aTO -fCp -fCp -xln -aTO -fCp -fCp -xln -teq -teq -teq -teq -teq -teq -teq -teq -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -iSU -iSU -iSU -iSU -iSU -iSU -iSU -iSU -fCp -fCp -xln -aTO -fCp -fCp -xln -aTO -fCp -pNV -aTO -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -"} -(207,1,1) = {" -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI -owI +aTO +rcO +pNV +aTO +rcO +rcO +xln +aTO +rcO +rcO +xln +teq +teq +teq +teq +teq +teq +teq +teq owI owI owI @@ -147360,20 +147096,31 @@ owI owI owI owI -fCp -fCp owI -fCp -fCp -fCp owI -fCp -fCp -fCp owI owI owI owI +iSU +iSU +iSU +iSU +iSU +iSU +iSU +iSU +rcO +rcO +xln +aTO +rcO +rcO +xln +aTO +rcO +pNV +aTO owI owI owI @@ -147409,16 +147156,8 @@ owI owI owI owI -fCp -fCp -fCp owI -fCp -fCp -fCp owI -fCp -fCp owI owI owI @@ -147479,6 +147218,8 @@ owI owI owI owI +"} +(207,1,1) = {" owI owI owI @@ -147517,8 +147258,126 @@ owI owI owI owI -"} -(208,1,1) = {" +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +rcO +rcO +owI +rcO +rcO +rcO +owI +rcO +rcO +rcO +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +rcO +rcO +rcO +owI +rcO +rcO +rcO +owI +rcO +rcO +owI owI owI owI @@ -147616,6 +147475,38 @@ owI owI owI owI +"} +(208,1,1) = {" +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI owI owI owI @@ -147687,6 +147578,73 @@ owI owI owI owI +xpw +xpw +xpw +owI +xpw +xpw +xpw +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +xpw +xpw +xpw +owI +xpw +xpw +xpw +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI +owI owI owI owI @@ -174656,7 +174614,7 @@ oyh oyh oyh oyh -ucA +xIV ucA ucA ucA @@ -174913,7 +174871,7 @@ oyh oyh oyh oyh -ucA +xIV ucA ucA ucA @@ -175170,7 +175128,7 @@ oyh oyh oyh oyh -ucA +xIV ucA ucA ucA @@ -175427,7 +175385,7 @@ oyh oyh oyh oyh -ucA +xIV ucA ucA ucA @@ -175684,7 +175642,7 @@ oyh oyh oyh oyh -ucA +xIV ucA ucA ucA @@ -175941,7 +175899,7 @@ oyh oyh oyh oyh -ucA +xIV ucA ucA ucA @@ -181592,7 +181550,7 @@ lQI lQI ozr jJu -nxB +nqP qiR rkZ kms @@ -182071,7 +182029,7 @@ mKZ sxl naI lNN -ydf +iGR xuv jBm xuv @@ -182850,7 +182808,7 @@ oFY mBZ ijS obj -nJz +rgx sEL biW xWe @@ -184650,7 +184608,7 @@ kJg kmR lcB kGf -qlT +ooT wXC ePa rNg @@ -187978,7 +187936,7 @@ hge hge hge oiO -bMu +ijV pKO aiN jDc @@ -189018,7 +188976,7 @@ kXZ wbS eGF dpL -gra +hGG bvx btp dpL @@ -197257,7 +197215,7 @@ woE biz dzM kUl -nYQ +ghy dzM dYM scx @@ -200859,7 +200817,7 @@ bet iAb bif fSi -sAf +vWP aal aAK ybG @@ -202899,7 +202857,7 @@ xDM ddA pZW wCG -oZB +jZS caF dKS bsv @@ -203157,7 +203115,7 @@ lkA pZW nyE nyE -aRl +cIc nyE nyE kuB @@ -203168,7 +203126,7 @@ igE hcr jbR cqR -kSG +uSL aFs jeF blv @@ -203413,9 +203371,9 @@ sBb ybB rkY nyE -sEw +eIg eiD -kMl +vQf nyE sgJ kzK @@ -204200,7 +204158,7 @@ bgz bid grk bmL -wIf +tsB mOH jhU btW @@ -262026,7 +261984,7 @@ oNV eLw cmh kSU -ibO +pEY piR piR roj @@ -267688,7 +267646,7 @@ hLo piR xRs bKR -qOL +rdv piR mom hcT @@ -309554,7 +309512,7 @@ bfx eGK onE aNs -kZI +xMV wFT gaJ qOq @@ -309566,7 +309524,7 @@ qNY iTN qGF uIx -xof +tnM lvm vSG mpK @@ -313168,7 +313126,7 @@ fUm oTx uqc nYe -jAe +cep fwj lOe uIx @@ -315706,8 +315664,8 @@ dWz lYx unQ wMU -oUW -rDL +aaN +pGz jjj dIJ oTq @@ -316234,7 +316192,7 @@ fkN fQx nTJ iXS -nwk +mFQ hNh hNh hNh @@ -317777,7 +317735,7 @@ xvr hIB nTo hns -tzz +oLE jbr iXS eHr @@ -318785,7 +318743,7 @@ ucA xuh lln lln -vqW +mko eNX bNP nQj @@ -320088,7 +320046,7 @@ nPE qPv iQe wqP -iNA +omq obK kpI dJC @@ -322683,7 +322641,7 @@ cbw lOp ira dtX -frG +oOW qjr qjr qjr @@ -326538,7 +326496,7 @@ bJm oZo gXi gDx -iIb +rhO ftZ tBk sCO @@ -333461,7 +333419,7 @@ oyh nbP tIl fEv -kVs +dMt nbP oyh oyh @@ -337822,7 +337780,7 @@ oyh aFj aFj aFj -rxu +dlR cRs uEb uEb diff --git a/_maps/map_files/debug/runtimestation.dmm b/_maps/map_files/debug/runtimestation.dmm index a2d6ba70275d9..7d949fb043d0c 100644 --- a/_maps/map_files/debug/runtimestation.dmm +++ b/_maps/map_files/debug/runtimestation.dmm @@ -1273,13 +1273,11 @@ /obj/effect/turf_decal/bot, /obj/machinery/button/door/directional/east{ id = "cargounload"; - layer = 4; name = "Loading Doors"; pixel_y = 8 }, /obj/machinery/button/door/directional/east{ id = "cargoload"; - layer = 4; name = "Loading Doors"; pixel_y = -8 }, diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index 0a8c38681990b..2346e028c49e9 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -914,8 +914,7 @@ /area/centcom/central_command_areas/control) "ec" = ( /obj/structure/railing{ - dir = 4; - layer = 4.1 + dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/dark{ @@ -2091,14 +2090,12 @@ "jy" = ( /obj/machinery/button/door/indestructible{ id = "XCCQMLoaddoor"; - layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = -5 }, /obj/machinery/button/door/indestructible{ id = "XCCQMLoaddoor2"; - layer = 4; name = "Loading Doors"; pixel_x = -27; pixel_y = 5 @@ -2798,7 +2795,6 @@ /obj/machinery/recharger, /obj/machinery/button/door/indestructible{ id = "XCCsecdepartment"; - layer = 3; name = "CC Security Checkpoint Control"; pixel_x = 24; pixel_y = 24 @@ -3259,6 +3255,7 @@ pixel_x = 32 }, /obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/computer/security/telescreen/research/directional/south, /turf/open/floor/iron/dark, /area/centcom/central_command_areas/admin) "oW" = ( @@ -4043,8 +4040,7 @@ /area/centcom/central_command_areas/ferry) "sw" = ( /obj/structure/railing{ - dir = 8; - layer = 4.1 + dir = 8 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/dark{ @@ -4909,14 +4905,12 @@ }, /obj/machinery/button/door/indestructible{ id = "XCCcustoms1"; - layer = 3.5; name = "CC Customs 1 Control"; pixel_x = 8; pixel_y = -24 }, /obj/machinery/button/door/indestructible{ id = "XCCcustoms2"; - layer = 3.5; name = "CC Customs 2 Control"; pixel_x = -8; pixel_y = -24 @@ -6449,8 +6443,7 @@ "CT" = ( /obj/structure/table/reinforced, /obj/structure/railing{ - dir = 8; - layer = 4.1 + dir = 8 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/dark{ @@ -7318,8 +7311,7 @@ /area/centcom/central_command_areas/control) "HZ" = ( /obj/structure/railing{ - dir = 6; - layer = 3.1 + dir = 6 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/dark{ @@ -7496,12 +7488,6 @@ /area/centcom/tdome/administration) "JO" = ( /obj/machinery/modular_computer/preset/id/centcom, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching the RD's goons and the AI's satellite from the safety of his office."; - name = "Research Monitor"; - network = list("rd","minisat"); - pixel_y = 28 - }, /turf/open/floor/iron/grimy, /area/centcom/central_command_areas/admin) "JU" = ( @@ -7803,8 +7789,7 @@ /area/centcom/central_command_areas/evacuation) "Lz" = ( /obj/structure/railing{ - dir = 10; - layer = 3.1 + dir = 10 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/dark{ @@ -8583,13 +8568,13 @@ pixel_x = -3; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 6 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = 2 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4.5 }, /obj/machinery/status_display/evac/directional/north, @@ -8770,13 +8755,13 @@ pixel_x = -3; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 6 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = 2 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4.5 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ @@ -8936,8 +8921,7 @@ "QB" = ( /obj/structure/table/reinforced, /obj/structure/railing{ - dir = 4; - layer = 4.1 + dir = 4 }, /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/effect/turf_decal/siding/dark{ @@ -9001,13 +8985,13 @@ pixel_x = -3; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 6 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = 2 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4.5 }, /obj/machinery/airalarm/directional/south, @@ -9480,7 +9464,7 @@ pixel_y = 19; pixel_x = 7 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = -6; pixel_y = 5 }, @@ -10095,7 +10079,6 @@ }, /obj/machinery/button/door/indestructible{ id = "XCCcustoms1"; - layer = 3; name = "CC Emergency Docks Control"; pixel_x = 24; pixel_y = 24 @@ -10247,13 +10230,13 @@ pixel_x = -3; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba{ +/obj/item/cigarette/cigar/cohiba{ pixel_x = 6 }, -/obj/item/clothing/mask/cigarette/cigar/havana{ +/obj/item/cigarette/cigar/havana{ pixel_x = 2 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4.5 }, /obj/machinery/newscaster/directional/north, diff --git a/_maps/map_files/tramstation/tramstation.dmm b/_maps/map_files/tramstation/tramstation.dmm index 9dd8fc2958e58..507bb388c1c73 100644 --- a/_maps/map_files/tramstation/tramstation.dmm +++ b/_maps/map_files/tramstation/tramstation.dmm @@ -1962,7 +1962,7 @@ /area/station/commons/vacant_room) "agG" = ( /obj/structure/dresser, -/obj/item/clothing/mask/cigarette/cigar/havana, +/obj/item/cigarette/cigar/havana, /turf/open/floor/iron/grimy, /area/station/commons/vacant_room) "agH" = ( @@ -2957,7 +2957,6 @@ /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") @@ -3171,20 +3170,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) -"arT" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/obj/structure/closet/radiation, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/engine{ - dir = 1; - pixel_y = -32 - }, -/turf/open/floor/iron, -/area/station/engineering/main) "arV" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/effect/turf_decal/box, @@ -3277,6 +3262,17 @@ }, /turf/open/floor/iron, /area/station/security/office) +"asI" = ( +/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/power_store/cell/high, +/turf/open/floor/iron, +/area/station/ai_monitored/command/storage/eva) "asQ" = ( /obj/structure/sign/warning/no_smoking, /turf/closed/wall, @@ -3587,10 +3583,6 @@ }, /turf/open/floor/iron, /area/station/security/processing) -"avE" = ( -/obj/structure/lattice, -/turf/open/space/openspace, -/area/space/nearstation) "avG" = ( /obj/structure/chair{ dir = 1 @@ -4100,16 +4092,6 @@ "aBY" = ( /turf/open/floor/iron, /area/station/hallway/secondary/command) -"aBZ" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 1; - pixel_y = -29 - }, -/turf/open/floor/carpet, -/area/station/command/heads_quarters/captain) "aCa" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/structure/cable, @@ -4183,11 +4165,6 @@ }, /turf/open/floor/iron, /area/station/command/bridge) -"aCE" = ( -/obj/structure/filingcabinet, -/obj/machinery/firealarm/directional/north, -/turf/open/floor/iron/grimy, -/area/station/security/detectives_office) "aCJ" = ( /obj/effect/turf_decal/loading_area, /obj/effect/turf_decal/trimline/brown/filled/corner{ @@ -6472,12 +6449,6 @@ /obj/machinery/light/directional/north, /turf/open/floor/iron, /area/station/engineering/atmospherics_engine) -"bhf" = ( -/obj/effect/spawner/random/engineering/tracking_beacon, -/obj/effect/landmark/event_spawn, -/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/engine, -/area/station/science/xenobiology) "bhr" = ( /turf/closed/wall/rock/porous, /area/station/security/prison/workout) @@ -6690,15 +6661,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/commons/dorms) -"bmd" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/trimline/white/filled/line{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "bmp" = ( /obj/effect/turf_decal/trimline/green/corner{ dir = 1 @@ -7709,6 +7671,16 @@ "bGJ" = ( /turf/open/floor/wood, /area/station/service/theater) +"bGP" = ( +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/ordnance/directional/south, +/turf/open/floor/iron, +/area/station/science/ordnance/testlab) "bGV" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 5 @@ -7869,13 +7841,6 @@ /obj/effect/turf_decal/siding/thinplating/dark, /turf/open/floor/iron/white, /area/station/science/research) -"bJN" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/trimline/neutral/filled/line, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "bJP" = ( /obj/structure/railing{ dir = 10 @@ -8483,6 +8448,16 @@ /obj/effect/turf_decal/siding/thinplating, /turf/open/floor/iron, /area/station/cargo/storage) +"bTI" = ( +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 6 + }, +/obj/machinery/computer/security/telescreen/prison/directional/east, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/turf/open/floor/iron, +/area/station/security/office) "bTN" = ( /obj/effect/turf_decal/trimline/neutral/filled/corner, /obj/structure/disposalpipe/segment{ @@ -9204,6 +9179,16 @@ /obj/effect/turf_decal/tile/neutral/fourcorners, /turf/open/floor/iron/dark, /area/station/science/robotics/lab) +"cdM" = ( +/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/gas_mask/directional/north, +/turf/open/floor/plating, +/area/station/science/xenobiology) "cdN" = ( /obj/machinery/button/ignition/incinerator/atmos, /turf/closed/wall/r_wall, @@ -9749,6 +9734,13 @@ }, /turf/open/floor/wood, /area/station/service/library) +"coV" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/trimline/neutral/filled/line, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "cpl" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /turf/open/floor/iron/white, @@ -10512,7 +10504,7 @@ /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, /obj/machinery/light/directional/north, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "cBo" = ( /obj/effect/mapping_helpers/airlock/cyclelink_helper{ @@ -10732,15 +10724,15 @@ pixel_x = -2; pixel_y = 3 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = -4; pixel_y = 1 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4; pixel_y = 1 }, -/obj/item/clothing/mask/cigarette/cigar/cohiba, +/obj/item/cigarette/cigar/cohiba, /turf/open/floor/wood, /area/station/command/meeting_room) "cFP" = ( @@ -13679,13 +13671,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/monastery) -"dGP" = ( -/obj/structure/table, -/obj/structure/extinguisher_cabinet/directional/north, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/ai_monitored/command/storage/eva) "dHc" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table, @@ -15026,6 +15011,21 @@ /obj/effect/turf_decal/stripes/white/line, /turf/open/floor/plating, /area/station/maintenance/tram/left) +"egx" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -5; + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 7; + pixel_y = 8 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/station/science/robotics/lab) "egD" = ( /obj/machinery/door/airlock/highsecurity{ name = "Prison Maintenance Access"; @@ -15101,6 +15101,11 @@ /obj/machinery/status_display/ai/directional/south, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat_interior) +"eiy" = ( +/obj/structure/table/reinforced, +/obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "eiR" = ( /obj/structure/disposalpipe/segment{ dir = 10 @@ -15931,6 +15936,13 @@ /obj/structure/cable, /turf/open/floor/iron/freezer, /area/station/medical/coldroom) +"eyh" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/minisat/directional/south, +/turf/open/floor/carpet, +/area/station/command/heads_quarters/captain) "eyy" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -17379,16 +17391,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/cargo/miningdock/oresilo) -"fcZ" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/storage/toolbox/electrical{ - pixel_x = 4; - pixel_y = 9 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron/dark, -/area/station/science/explab) "fdc" = ( /obj/machinery/brm, /obj/machinery/conveyor{ @@ -19582,20 +19584,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/cargo/office) -"fSY" = ( -/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) "fSZ" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /turf/open/floor/iron, @@ -19872,6 +19860,16 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/security/checkpoint/engineering) +"fXX" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 8 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/engineering/main) "fXY" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -20314,13 +20312,6 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel) -"ggW" = ( -/obj/structure/rack, -/obj/item/radio/intercom/directional/north, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "ghg" = ( /obj/effect/decal/cleanable/dirt, /turf/open/floor/catwalk_floor, @@ -22276,22 +22267,6 @@ /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 @@ -23141,6 +23116,7 @@ }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/item/circuitboard/machine/crystallizer, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) "hiZ" = ( @@ -23212,6 +23188,18 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"hks" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 1 + }, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/potato{ + pixel_x = 6; + pixel_y = 10 + }, +/turf/open/floor/iron/white, +/area/station/science/lobby) "hkt" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/trimline/yellow/corner{ @@ -23535,35 +23523,6 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/east, /turf/open/floor/wood/large, /area/station/service/barber) -"hqw" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/turf_decal/trimline/neutral/filled/line{ - dir = 4 - }, -/obj/effect/turf_decal/bot, -/obj/structure/closet/crate/preopen, -/obj/item/stock_parts/power_store/cell/empty, -/obj/effect/spawner/random/engineering/flashlight, -/turf/open/floor/iron, -/area/station/cargo/warehouse) -"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, @@ -23588,16 +23547,6 @@ /obj/structure/table/wood, /turf/open/floor/wood, /area/station/service/theater) -"hrq" = ( -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 8 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/engineering/main) "hrr" = ( /obj/structure/table/reinforced, /obj/machinery/microwave/engineering/cell_included, @@ -24013,18 +23962,6 @@ }, /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, -/obj/structure/cable, -/turf/open/floor/iron, -/area/station/maintenance/disposal/incinerator) "hCp" = ( /obj/structure/chair/stool/bar/directional/north, /obj/effect/turf_decal/siding/thinplating/dark{ @@ -24085,6 +24022,19 @@ /obj/structure/cable/layer1, /turf/open/floor/plating/airless, /area/station/solars/starboard/fore) +"hDF" = ( +/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/directional/west, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "hDI" = ( /turf/closed/wall/r_wall, /area/station/engineering/supermatter) @@ -24233,6 +24183,18 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"hGd" = ( +/obj/effect/turf_decal/trimline/purple/filled/line{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/aiupload/directional/west, +/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) "hGt" = ( /obj/structure/table, /obj/item/stack/sheet/glass/fifty, @@ -26166,6 +26128,14 @@ }, /turf/open/floor/iron/stairs/medium, /area/station/commons/dorms) +"itq" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/effect/turf_decal/siding/thinplating/corner, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/turf/open/floor/iron/dark, +/area/station/science/xenobiology) "itE" = ( /obj/modular_map_root/tramstation{ name = "atmoscilower"; @@ -26427,7 +26397,7 @@ dir = 8 }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "ixO" = ( /obj/structure/chair/comfy/brown{ dir = 8; @@ -26547,6 +26517,13 @@ }, /turf/open/floor/plating, /area/station/hallway/secondary/exit) +"iAr" = ( +/obj/effect/turf_decal/bot, +/obj/effect/spawner/random/structure/closet_empty/crate, +/obj/effect/spawner/random/maintenance/two, +/obj/item/stock_parts/power_store/cell/high/empty, +/turf/open/floor/iron, +/area/station/cargo/storage) "iAt" = ( /obj/structure/lattice/catwalk, /turf/open/openspace/airless, @@ -27187,16 +27164,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/hallway/primary/tram/center) -"iNs" = ( -/obj/structure/table, -/obj/machinery/cell_charger{ - pixel_y = 5 - }, -/obj/item/stack/cable_coil, -/obj/item/multitool, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/engine, -/area/station/science/xenobiology) "iNB" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/iron, @@ -27809,20 +27776,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/tram/right) -"iYa" = ( -/obj/structure/railing/corner{ - dir = 4 - }, -/obj/effect/turf_decal/trimline/red/filled/line, -/obj/effect/turf_decal/trimline/red/corner{ - dir = 4 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 4 - }, -/obj/machinery/light/small/directional/south, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "iYd" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/disposalpipe/segment{ @@ -28658,6 +28611,13 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) +"jlQ" = ( +/obj/structure/rack, +/obj/item/radio/intercom/directional/north, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "jlX" = ( /obj/effect/turf_decal/trimline/red/filled/line{ dir = 8 @@ -29271,6 +29231,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/medical/virology) +"jvW" = ( +/obj/structure/railing/corner{ + dir = 4 + }, +/obj/effect/turf_decal/trimline/red/filled/line, +/obj/effect/turf_decal/trimline/red/corner{ + dir = 4 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 4 + }, +/obj/machinery/light/small/directional/south, +/obj/item/radio/intercom/directional/south, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "jwa" = ( /obj/effect/turf_decal/trimline/brown/filled/line{ dir = 8 @@ -29654,24 +29629,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) -"jCi" = ( -/obj/effect/turf_decal/trimline/brown/filled/line{ - dir = 5 - }, -/obj/effect/turf_decal/trimline/yellow/filled/warning{ - dir = 5 - }, -/obj/structure/cable, -/obj/structure/table, -/obj/item/multitool{ - pixel_x = 8 - }, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -5 - }, -/turf/open/floor/iron, -/area/station/engineering/break_room) "jCn" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 1 @@ -30599,18 +30556,6 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/nuke_storage) -"jVK" = ( -/obj/effect/turf_decal/trimline/purple/filled/line{ - dir = 1 - }, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/potato{ - pixel_x = 6; - pixel_y = 10 - }, -/turf/open/floor/iron/white, -/area/station/science/lobby) "jVT" = ( /obj/structure/table, /obj/effect/turf_decal/trimline/neutral/filled/line{ @@ -31783,29 +31728,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"klq" = ( -/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/power_store/cell/high{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stock_parts/power_store/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) "kly" = ( /obj/structure/cable, /obj/structure/disposalpipe/junction/flip{ @@ -31905,13 +31827,6 @@ /obj/structure/sink/kitchen/directional/south, /turf/open/floor/iron/white, /area/station/commons/vacant_room) -"knq" = ( -/obj/structure/table/wood, -/obj/structure/sign/flag/nanotrasen/directional/north, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/crap, -/turf/open/floor/wood, -/area/station/command/meeting_room) "knO" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/effect/turf_decal/trimline/blue/filled/corner{ @@ -32198,6 +32113,7 @@ }, /obj/effect/turf_decal/siding/thinplating, /obj/effect/landmark/event_spawn, +/obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/iron/dark, /area/station/science/xenobiology) "ksm" = ( @@ -32547,6 +32463,15 @@ /obj/structure/cable, /turf/open/floor/iron/showroomfloor, /area/station/security/lockers) +"kzq" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 9 + }, +/obj/machinery/firealarm/directional/north, +/obj/machinery/computer/security/telescreen/cargo_sec/directional/west, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "kzw" = ( /obj/effect/spawner/random/vending/snackvend, /obj/effect/turf_decal/stripes/line{ @@ -32937,7 +32862,7 @@ dir = 1 }, /obj/structure/disposalpipe/trunk, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "kGA" = ( /obj/structure/railing, @@ -33579,6 +33504,13 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"kQP" = ( +/obj/structure/table, +/obj/structure/extinguisher_cabinet/directional/north, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/ai_monitored/command/storage/eva) "kQR" = ( /obj/structure/flora/bush/lavendergrass/style_random, /obj/item/food/grown/banana/bunch{ @@ -34050,23 +33982,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/virology) -"kXU" = ( -/obj/structure/rack, -/obj/item/clothing/glasses/meson{ - pixel_y = 4 - }, -/obj/item/lighter, -/obj/item/reagent_containers/pill/patch/aiuri, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/item/computer_disk/engineering, -/obj/item/computer_disk/engineering, -/obj/item/computer_disk/engineering, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "kXZ" = ( /obj/machinery/door/airlock{ name = "Private Quarters L"; @@ -34090,28 +34005,6 @@ }, /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{ @@ -35448,6 +35341,16 @@ }, /turf/open/floor/engine/plasma, /area/station/engineering/atmos) +"lxd" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/aiupload, +/turf/open/floor/iron/white, +/area/station/science/xenobiology) "lxi" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/cable, @@ -36075,6 +35978,11 @@ /obj/machinery/newscaster/directional/east, /turf/open/floor/iron, /area/station/commons/dorms) +"lHJ" = ( +/obj/machinery/pdapainter/research, +/obj/machinery/computer/security/telescreen/rd/directional/south, +/turf/open/floor/iron/cafeteria, +/area/station/command/heads_quarters/rd) "lHU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -37260,7 +37168,7 @@ c_tag = "Secure - AI Lower External North" }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "mbk" = ( /obj/effect/turf_decal/sand, /obj/effect/turf_decal/trimline/red/filled/line{ @@ -37628,25 +37536,6 @@ /obj/structure/cable, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"mgK" = ( -/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/power_store/cell/emproof, -/obj/item/stock_parts/power_store/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) "mgS" = ( /turf/open/floor/iron/cafeteria, /area/station/security/prison/mess) @@ -37707,6 +37596,16 @@ /obj/effect/mapping_helpers/airlock/locked, /turf/open/floor/plating, /area/station/hallway/primary/tram/center) +"mhJ" = ( +/obj/effect/turf_decal/trimline/brown/filled/corner{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/vault/directional/north, +/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ + dir = 4 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/qm) "min" = ( /obj/effect/turf_decal/trimline/green/filled/line{ dir = 4 @@ -37754,6 +37653,12 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/carpet, /area/station/command/heads_quarters/captain) +"mjl" = ( +/obj/machinery/computer/security/telescreen/turbine/directional/east, +/obj/effect/decal/cleanable/dirt, +/obj/structure/cable, +/turf/open/floor/iron, +/area/station/maintenance/disposal/incinerator) "mjp" = ( /obj/structure/transport/linear/tram/corner/southeast, /obj/structure/tram/spoiler{ @@ -38486,6 +38391,23 @@ /obj/machinery/light/dim/directional/east, /turf/open/floor/iron, /area/station/maintenance/port/central) +"mzi" = ( +/obj/structure/rack, +/obj/item/clothing/glasses/meson{ + pixel_y = 4 + }, +/obj/item/lighter, +/obj/item/reagent_containers/pill/patch/aiuri, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/item/computer_disk/engineering, +/obj/item/computer_disk/engineering, +/obj/item/computer_disk/engineering, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "mzs" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 8 @@ -38813,7 +38735,7 @@ /obj/machinery/sparker/directional/west{ id = "Xenobio" }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "mFo" = ( /obj/effect/turf_decal/trimline/red/filled/line{ @@ -38859,6 +38781,10 @@ "mGw" = ( /turf/closed/wall, /area/station/service/barber) +"mGB" = ( +/obj/structure/filingcabinet, +/turf/open/floor/iron/grimy, +/area/station/security/detectives_office) "mGN" = ( /obj/effect/turf_decal/siding/thinplating/end, /obj/machinery/button/door{ @@ -40327,21 +40253,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/white, /area/station/science/xenobiology) -"njk" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -5; - pixel_y = 8 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 7; - pixel_y = 8 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/station/science/robotics/lab) "njl" = ( /obj/machinery/duct, /obj/effect/turf_decal/trimline/neutral/filled/corner{ @@ -41141,14 +41052,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/misc/asteroid, /area/station/medical/chemistry) -"nwE" = ( -/obj/machinery/pdapainter/research, -/obj/machinery/computer/security/telescreen/rd{ - dir = 1; - pixel_y = -32 - }, -/turf/open/floor/iron/cafeteria, -/area/station/command/heads_quarters/rd) "nwI" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -41186,17 +41089,6 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit) -"nxM" = ( -/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/power_store/cell/high, -/turf/open/floor/iron, -/area/station/ai_monitored/command/storage/eva) "nxN" = ( /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, @@ -41559,6 +41451,10 @@ }, /obj/item/stock_parts/matter_bin, /obj/item/stock_parts/micro_laser, +/obj/item/multitool, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, /turf/open/floor/iron/white, /area/station/science/lab) "nDX" = ( @@ -42026,20 +41922,6 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/smooth, /area/station/maintenance/central/greater) -"nMw" = ( -/obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/chair/office/light{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/ordnance{ - dir = 8; - pixel_x = 30 - }, -/obj/effect/turf_decal/stripes/line{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "nMB" = ( /turf/open/floor/iron, /area/station/science/ordnance/testlab) @@ -42528,18 +42410,6 @@ /obj/machinery/atmospherics/pipe/smart/simple/green/visible, /turf/open/floor/plating, /area/station/engineering/atmos/pumproom) -"nVd" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/effect/turf_decal/trimline/red/filled/line{ - dir = 10 - }, -/obj/structure/cable, -/obj/machinery/light_switch/directional/south{ - pixel_x = 10; - pixel_y = -24 - }, -/turf/open/floor/iron, -/area/station/security/checkpoint/supply) "nVg" = ( /obj/machinery/door/airlock/hatch{ name = "Radstorm Shelter" @@ -44080,27 +43950,6 @@ }, /turf/open/space/openspace, /area/station/solars/starboard/fore) -"ozH" = ( -/obj/structure/table, -/obj/effect/decal/cleanable/dirt, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = 6; - pixel_y = 10 - }, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = 6; - pixel_y = 2 - }, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = -7; - pixel_y = 7 - }, -/obj/item/stock_parts/power_store/cell/crap/empty{ - pixel_x = -2; - pixel_y = -2 - }, -/turf/open/floor/iron/smooth, -/area/station/security/mechbay) "ozM" = ( /obj/structure/table/wood/poker, /obj/item/storage/dice, @@ -44878,6 +44727,25 @@ /obj/machinery/light/warm/directional/south, /turf/open/floor/wood, /area/station/service/theater) +"oSi" = ( +/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/power_store/cell/emproof, +/obj/item/stock_parts/power_store/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) "oSl" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -44903,23 +44771,6 @@ }, /turf/open/floor/iron, /area/station/security/office) -"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 @@ -45491,6 +45342,13 @@ }, /turf/open/floor/iron/dark, /area/station/command/bridge) +"pdX" = ( +/obj/machinery/computer/security/telescreen/cmo/directional/north, +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/cmo) "pdZ" = ( /obj/machinery/door/airlock/research/glass{ name = "Robotics Lab" @@ -46765,6 +46623,19 @@ /obj/effect/turf_decal/tile/bar/opposingcorners, /turf/open/floor/iron, /area/station/cargo/miningdock/cafeteria) +"pzq" = ( +/obj/structure/table, +/obj/item/stack/cable_coil{ + pixel_x = -3; + pixel_y = 3 + }, +/obj/item/stack/cable_coil, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/trimline/white/filled/corner{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "pzv" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 8 @@ -47220,10 +47091,6 @@ /obj/machinery/light/floor, /turf/open/floor/grass, /area/station/science/lower) -"pHM" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "pHX" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ dir = 1 @@ -47694,6 +47561,16 @@ dir = 10 }, /area/station/service/chapel) +"pPk" = ( +/obj/structure/window/reinforced/spawner/directional/north, +/obj/structure/chair/office/light{ + dir = 4 + }, +/obj/effect/turf_decal/stripes/line{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "pPn" = ( /obj/effect/turf_decal/trimline/purple/filled/corner{ dir = 8 @@ -47741,6 +47618,29 @@ "pQx" = ( /turf/open/misc/asteroid/dug, /area/station/science/explab) +"pQy" = ( +/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/power_store/cell/high{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/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) "pQF" = ( /obj/structure/table, /obj/machinery/reagentgrinder, @@ -47748,6 +47648,18 @@ /obj/effect/turf_decal/tile/green/fourcorners, /turf/open/floor/iron/dark, /area/station/service/hydroponics) +"pQL" = ( +/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, +/obj/machinery/firealarm/directional/north, +/turf/open/floor/iron/grimy, +/area/station/security/detectives_office) "pQO" = ( /obj/machinery/atmospherics/components/binary/pump/on{ name = "Gas to Cooling Loop"; @@ -47837,13 +47749,6 @@ }, /turf/open/floor/tram, /area/station/hallway/primary/tram/right) -"pTP" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/effect/turf_decal/siding/thinplating/corner, -/turf/open/floor/iron/dark, -/area/station/science/xenobiology) "pTW" = ( /obj/effect/turf_decal/trimline/neutral/filled/line{ dir = 4 @@ -48138,22 +48043,6 @@ }, /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 @@ -48173,13 +48062,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor, /area/station/maintenance/starboard/greater) -"pZg" = ( -/obj/effect/turf_decal/bot, -/obj/effect/spawner/random/structure/closet_empty/crate, -/obj/effect/spawner/random/maintenance/two, -/obj/item/stock_parts/power_store/cell/high/empty, -/turf/open/floor/iron, -/area/station/cargo/storage) "pZr" = ( /mob/living/basic/mouse/brown/tom, /turf/open/misc/asteroid, @@ -48264,6 +48146,24 @@ "qas" = ( /turf/closed/wall/rust, /area/station/hallway/primary/tram/center) +"qaH" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/effect/turf_decal/trimline/red/filled/line{ + dir = 10 + }, +/obj/structure/cable, +/obj/machinery/light_switch/directional/south{ + pixel_x = 10; + pixel_y = -24 + }, +/obj/machinery/button/door/directional/south{ + id = "crgdoor"; + req_access = list("brig_entrance"); + name = "Cargo Cell Control"; + normaldoorcontrol = 1 + }, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "qaM" = ( /obj/machinery/holopad, /obj/effect/turf_decal/bot, @@ -48405,19 +48305,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"qdr" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/turf/open/floor/plating, -/area/station/engineering/engine_smes) "qdy" = ( /obj/structure/cable, /turf/open/floor/iron, @@ -48941,6 +48828,17 @@ }, /turf/open/floor/iron/white, /area/station/science/xenobiology) +"qlK" = ( +/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/structure/cable, +/turf/open/floor/iron, +/area/station/security/checkpoint/supply) "qmc" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 5 @@ -49114,6 +49012,14 @@ /obj/effect/landmark/start/prisoner, /turf/open/floor/iron, /area/station/security/prison) +"qpr" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger{ + pixel_y = 4 + }, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/command/bridge) "qpu" = ( /obj/effect/turf_decal/trimline/red/filled/corner{ dir = 8 @@ -49449,6 +49355,24 @@ }, /turf/open/floor/iron, /area/station/security/prison/work) +"qwn" = ( +/obj/effect/turf_decal/trimline/brown/filled/line{ + dir = 5 + }, +/obj/effect/turf_decal/trimline/yellow/filled/warning{ + dir = 5 + }, +/obj/structure/cable, +/obj/structure/table, +/obj/item/multitool{ + pixel_x = 8 + }, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -5 + }, +/turf/open/floor/iron, +/area/station/engineering/break_room) "qwq" = ( /obj/structure/table/wood, /obj/item/radio/intercom, @@ -50265,6 +50189,18 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/server) +"qKW" = ( +/obj/structure/table/reinforced, +/obj/machinery/keycard_auth/directional/south, +/obj/item/rcl/pre_loaded, +/obj/machinery/computer/security/telescreen/ce/directional/west, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 1 + }, +/obj/item/clipboard, +/obj/item/paper/monitorkey, +/turf/open/floor/iron/dark, +/area/station/command/heads_quarters/ce) "qLD" = ( /obj/structure/disposalpipe/segment{ dir = 4 @@ -50502,6 +50438,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/commons/dorms) +"qPQ" = ( +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/obj/structure/closet/radiation, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/engine/directional/south, +/turf/open/floor/iron, +/area/station/engineering/main) "qPV" = ( /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, @@ -50803,26 +50750,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/primary/tram/left) -"qVL" = ( -/obj/structure/table, -/obj/item/assembly/igniter{ - pixel_x = -5; - pixel_y = 3 - }, -/obj/item/assembly/igniter{ - pixel_x = 5; - pixel_y = -4 - }, -/obj/item/assembly/igniter{ - pixel_x = 2; - pixel_y = 6 - }, -/obj/item/assembly/igniter{ - pixel_x = 2; - pixel_y = -1 - }, -/turf/open/floor/engine, -/area/station/science/xenobiology) "qVN" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -50944,15 +50871,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/tram/mid) -"qXs" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/turf/open/floor/iron/white, -/area/station/science/xenobiology) "qXv" = ( /obj/effect/turf_decal/trimline/neutral/filled/line, /obj/machinery/light/directional/south, @@ -51440,14 +51358,6 @@ /obj/effect/landmark/navigate_destination/aiupload, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/ai_upload) -"reJ" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger{ - pixel_y = 4 - }, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/command/bridge) "reU" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/camera/directional/south{ @@ -52450,15 +52360,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/storage) -"ryI" = ( -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 8 - }, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/science/ordnance/testlab) "ryJ" = ( /obj/effect/turf_decal/trimline/yellow/filled/corner{ dir = 1 @@ -52966,6 +52867,16 @@ /obj/structure/sign/clock/directional/north, /turf/open/floor/iron, /area/station/security/prison) +"rKD" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/storage/toolbox/electrical{ + pixel_x = 4; + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron/dark, +/area/station/science/explab) "rKL" = ( /obj/machinery/newscaster/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -53669,19 +53580,6 @@ }, /turf/open/floor/iron/cafeteria, /area/station/commons/dorms/laundry) -"rVw" = ( -/obj/structure/table, -/obj/item/stack/cable_coil{ - pixel_x = -3; - pixel_y = 3 - }, -/obj/item/stack/cable_coil, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/trimline/white/filled/corner{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/engineering/storage/tech) "rVD" = ( /obj/effect/turf_decal/trimline/green/corner, /obj/effect/turf_decal/trimline/green/corner{ @@ -53830,7 +53728,7 @@ /area/station/medical/storage) "rYE" = ( /turf/open/floor/plating/airless, -/area/space) +/area/space/nearstation) "rYL" = ( /obj/structure/chair/comfy/black{ dir = 8 @@ -54354,7 +54252,7 @@ dir = 5 }, /turf/open/floor/iron/airless, -/area/space) +/area/space/nearstation) "siZ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -55011,6 +54909,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/entry) +"stg" = ( +/obj/structure/table/wood, +/obj/structure/sign/flag/nanotrasen/directional/north, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/crap, +/turf/open/floor/wood, +/area/station/command/meeting_room) "stk" = ( /turf/open/floor/iron/smooth, /area/station/maintenance/department/science) @@ -57101,15 +57006,6 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2, /turf/open/floor/iron, /area/station/commons/dorms) -"tgw" = ( -/obj/machinery/computer/security/telescreen/cmo{ - pixel_y = 32 - }, -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/cmo) "tgB" = ( /obj/structure/toilet{ pixel_y = 13 @@ -57833,7 +57729,7 @@ /area/station/command/heads_quarters/captain/private) "ttj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/dark/visible, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "tto" = ( /obj/machinery/hydroponics/constructable, @@ -57869,6 +57765,17 @@ }, /turf/open/floor/iron, /area/station/cargo/miningdock) +"ttS" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/turf_decal/trimline/neutral/filled/line{ + dir = 4 + }, +/obj/effect/turf_decal/bot, +/obj/structure/closet/crate/preopen, +/obj/item/stock_parts/power_store/cell/empty, +/obj/effect/spawner/random/engineering/flashlight, +/turf/open/floor/iron, +/area/station/cargo/warehouse) "tuf" = ( /obj/structure/window/reinforced/spawner/directional/east, /obj/structure/table, @@ -58284,12 +58191,7 @@ /turf/open/floor/iron/white, /area/station/science/xenobiology) "tBo" = ( -/obj/structure/table, -/obj/item/stack/sheet/iron{ - amount = 10 - }, -/obj/item/electropack, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "tBu" = ( /obj/effect/decal/cleanable/dirt, @@ -58354,9 +58256,6 @@ }, /turf/open/floor/iron, /area/station/cargo/storage) -"tCf" = ( -/turf/open/misc/asteroid/airless, -/area/space) "tCi" = ( /turf/open/floor/iron/dark, /area/station/service/chapel/monastery) @@ -58457,7 +58356,7 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 4 }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "tED" = ( /obj/effect/turf_decal/tile/neutral/tram, @@ -59563,21 +59462,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/tram/right) -"tYe" = ( -/obj/structure/table/reinforced, -/obj/machinery/keycard_auth/directional/south, -/obj/item/rcl/pre_loaded, -/obj/machinery/computer/security/telescreen/ce{ - dir = 4; - pixel_x = -24 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 1 - }, -/obj/item/clipboard, -/obj/item/paper/monitorkey, -/turf/open/floor/iron/dark, -/area/station/command/heads_quarters/ce) "tYp" = ( /turf/closed/wall/r_wall, /area/station/command/heads_quarters/rd) @@ -59946,6 +59830,15 @@ "ufO" = ( /turf/open/floor/iron, /area/station/commons/fitness/recreation) +"ugd" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/trimline/white/filled/line{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/engineering/storage/tech) "ugf" = ( /obj/structure/bed{ dir = 8 @@ -61721,16 +61614,6 @@ /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, @@ -65426,35 +65309,12 @@ }, /turf/open/floor/plating, /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 }, /turf/open/floor/iron, /area/station/engineering/atmos) -"vTH" = ( -/obj/effect/turf_decal/trimline/brown/filled/corner{ - dir = 1 - }, -/obj/machinery/computer/security/telescreen/vault{ - pixel_y = 30 - }, -/obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ - dir = 4 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/qm) "vTZ" = ( /obj/effect/turf_decal/trimline/brown/filled/corner{ dir = 8 @@ -66417,6 +66277,19 @@ }, /turf/open/floor/iron/dark, /area/station/service/chapel/monastery) +"wnM" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/turf/open/floor/plating, +/area/station/engineering/engine_smes) "wnP" = ( /obj/machinery/door/airlock/hatch{ name = "Emergency Exit" @@ -66585,10 +66458,27 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/service) +"wrz" = ( +/obj/structure/rack, +/obj/structure/table, +/obj/machinery/computer/security/telescreen/test_chamber/directional/north, +/obj/item/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) "wrJ" = ( /obj/structure/railing{ - dir = 4; - layer = 3.1 + dir = 4 }, /obj/machinery/netpod, /turf/open/floor/catwalk_floor/iron_dark, @@ -67113,6 +67003,27 @@ /obj/structure/reagent_dispensers/foamtank, /turf/open/floor/iron, /area/station/engineering/atmos) +"wAH" = ( +/obj/structure/table, +/obj/effect/decal/cleanable/dirt, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = 6; + pixel_y = 10 + }, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = 6; + pixel_y = 2 + }, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = -7; + pixel_y = 7 + }, +/obj/item/stock_parts/power_store/cell/crap/empty{ + pixel_x = -2; + pixel_y = -2 + }, +/turf/open/floor/iron/smooth, +/area/station/security/mechbay) "wAI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -67522,7 +67433,7 @@ "wIP" = ( /obj/structure/lattice, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "wIT" = ( /obj/structure/chair/wood, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -69664,7 +69575,6 @@ /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") @@ -70481,7 +70391,7 @@ "xRm" = ( /obj/structure/lattice, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "xRn" = ( /turf/open/floor/plating, /area/station/hallway/secondary/service) @@ -87712,10 +87622,10 @@ jcT jcT ncE aek -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm fYW vXM vXM @@ -89512,10 +89422,10 @@ ncE jcT jcT aek -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm fYW vXM vXM @@ -92340,10 +92250,10 @@ jcT jcT ncE aek -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm fYW fYW fYW @@ -92600,7 +92510,7 @@ aac aac aac vXM -pHM +xRm vXM vXM vXM @@ -92610,7 +92520,7 @@ vXM vXM vXM vXM -pHM +xRm fYW fYW fYW @@ -92857,7 +92767,7 @@ aac aac aac vXM -pHM +xRm vXM vXM vXM @@ -92867,14 +92777,14 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM vXM vXM vXM -pHM +xRm vXM fYW vXM @@ -93114,9 +93024,9 @@ jcT jcT aac aek -pHM -pHM -pHM +xRm +xRm +xRm rWa vXM vXM @@ -93124,14 +93034,14 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -93375,12 +93285,12 @@ vXM rWa vXM qdd -pHM -pHM +xRm +xRm rWa -pHM -pHM -pHM +xRm +xRm +xRm rWa vXM vXM @@ -93388,7 +93298,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -93639,17 +93549,17 @@ vXM rWa vXM qdd -pHM -pHM +xRm +xRm rWa -pHM -pHM -pHM +xRm +xRm +xRm rWa -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm fYW vXM vXM @@ -94656,12 +94566,12 @@ ncE ncE aac aek -pHM -pHM -pHM +xRm +xRm +xRm rWa -pHM -pHM +xRm +xRm qdd vXM rWa @@ -94916,16 +94826,16 @@ aac aac vXM vXM -pHM +xRm vXM vXM rWa -pHM -pHM -pHM +xRm +xRm +xRm rWa -pHM -pHM +xRm +xRm qdd vXM rWa @@ -95173,25 +95083,25 @@ aac aac aac aac -pHM +xRm vXM vXM vXM vXM vXM vXM -pHM +xRm vXM vXM rWa -pHM -pHM -pHM +xRm +xRm +xRm rWa -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm fYW vXM vXM @@ -95437,14 +95347,14 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -95701,7 +95611,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -95958,7 +95868,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -96215,7 +96125,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -97992,9 +97902,9 @@ aak aak aak aak -pHM -pHM -pHM +xRm +xRm +xRm aak aak aak @@ -99026,7 +98936,7 @@ aeL aeL aeL aeJ -pHM +xRm aak aaN igy @@ -99252,7 +99162,7 @@ jIG jHb tPW tPW -mgK +oSi jIG abM abM @@ -99273,7 +99183,7 @@ vOU ney vNH aen -pHM +xRm aey aey aey @@ -99283,7 +99193,7 @@ aeL aeL aeL aeH -pHM +xRm aak aak amq @@ -99530,7 +99440,7 @@ dnE ney vNH aak -pHM +xRm aey aey aey @@ -99540,7 +99450,7 @@ aeL aeL aeL aeJ -pHM +xRm aak aaN igy @@ -99797,7 +99707,7 @@ aeL aeL aeL aeH -pHM +xRm aak aaa aaa @@ -100015,7 +99925,7 @@ mOW iwV nav fEK -bmd +ugd pkp jYz kSp @@ -100054,7 +99964,7 @@ aeL aeL aeL aeJ -pHM +xRm aak aaa aaa @@ -100188,19 +100098,19 @@ vXM vXM vXM cAd -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm aai aac aac @@ -100531,7 +100441,7 @@ bUj kdb yih pkp -qdr +wnM ifX iRe wJt @@ -101040,7 +100950,7 @@ abM jnq jIy tsa -rVw +pzq hJa kdb msU @@ -101576,10 +101486,10 @@ lku oxs sna gRQ -hrq +fXX cuQ arO -arT +qPQ qHs asA bWN @@ -101733,19 +101643,19 @@ vXM vXM vXM cAd -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm aai aac aac @@ -103117,7 +103027,7 @@ kHR tga rnf xBD -tYe +qKW sHH sHH sHH @@ -103376,7 +103286,7 @@ pTl ozd eOP wGk -pYU +hDF sHH ydk qHs @@ -103874,7 +103784,7 @@ ixT gYI cgR ial -jCi +qwn amV mvy iXQ @@ -103884,7 +103794,7 @@ dor fSp vKv roB -kXU +mzi iHK bAK jsW @@ -104162,7 +104072,7 @@ kgg eEp hzQ qHs -pHM +xRm aeV aeV prq @@ -105185,7 +105095,7 @@ mfB qga exl oNq -pHM +xRm ahD fKg hVy @@ -106141,7 +106051,7 @@ pCM kzx oSl kzx -bJN +coV alg aes khE @@ -107241,7 +107151,7 @@ ssw fja cPD oNq -pHM +xRm ahD gMi hNI @@ -107396,9 +107306,9 @@ vXM vXM vXM fYW -pHM -pHM -pHM +xRm +xRm +xRm aac aam hlS @@ -107510,8 +107420,8 @@ aaa aaa aac aai -pHM -pHM +xRm +xRm rge vXM vXM @@ -107755,7 +107665,7 @@ wIY pKo vaK hZr -pHM +xRm fjQ fjQ fjQ @@ -108012,7 +107922,7 @@ hZr hZr lCk hZr -pHM +xRm hZr vXM mQi @@ -108249,19 +108159,19 @@ aaa abM abM wQP -pHM +xRm oFH -pHM +xRm bWv -pHM +xRm oFH -pHM +xRm bWv -pHM +xRm oFH -pHM +xRm bWv -pHM +xRm oFH nYX jUW @@ -108269,7 +108179,7 @@ mHw orh uxn oNq -pHM +xRm hZr aaa oEf @@ -108279,8 +108189,8 @@ aac aac vXM vXM -pHM -pHM +xRm +xRm rge vXM vXM @@ -109047,8 +108957,8 @@ hYn aac aac vXM -pHM -pHM +xRm +xRm rge vXM vXM @@ -109453,9 +109363,9 @@ vXM vXM vXM fYW -pHM -pHM -pHM +xRm +xRm +xRm aac aam hlS @@ -110989,12 +110899,12 @@ vXM fYW vXM vXM -pHM +xRm vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -111246,12 +111156,12 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM vXM -pHM +xRm vXM vXM aac @@ -111354,7 +111264,7 @@ pts gEs nXQ rnA -hBY +mjl atX wAQ qWU @@ -111503,12 +111413,12 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM vXM -pHM +xRm vXM vXM aac @@ -111756,18 +111666,18 @@ vXM vXM vXM fYW -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm bwp -pHM -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm +xRm bwp -pHM +xRm aai aac aac @@ -113298,20 +113208,20 @@ vXM vXM vXM fYW -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm bwp -pHM -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm +xRm bwp -pHM -pHM -pHM +xRm +xRm +xRm aai hlS hlS @@ -113559,14 +113469,14 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM vXM vXM vXM -pHM +xRm vXM vXM aac @@ -113816,14 +113726,14 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM vXM vXM vXM -pHM +xRm vXM vXM aac @@ -114073,14 +113983,14 @@ vXM fYW vXM vXM -pHM +xRm vXM vXM vXM vXM vXM vXM -pHM +xRm vXM vXM aac @@ -115623,9 +115533,9 @@ vXM vXM vXM fYW -pHM -pHM -pHM +xRm +xRm +xRm aac aac aam @@ -117680,9 +117590,9 @@ vXM vXM vXM fYW -pHM -pHM -pHM +xRm +xRm +xRm aac aac aac @@ -117812,7 +117722,7 @@ vXM rxw rxw vXM -pHM +xRm vXM vXM vXM @@ -117823,7 +117733,7 @@ vXM vXM vXM vXM -pHM +xRm vXM rxw rxw @@ -118069,7 +117979,7 @@ rxw rxw vXM vXM -pHM +xRm oqp oqp oqp @@ -118080,7 +117990,7 @@ oqp oqp oqp oqp -pHM +xRm vXM vXM rxw @@ -118286,7 +118196,7 @@ qVr qVr kkx cJP -qXs +lxd mLE dGs dGs @@ -118578,7 +118488,7 @@ vXM vXM vXM vXM -pHM +xRm vXM oqp oqp @@ -118855,7 +118765,7 @@ mYt oqp oqp oqp -pHM +xRm rxw vXM vXM @@ -119036,7 +118946,7 @@ cJS nhj cVU oRz -klq +pQy sQZ nhj prI @@ -119290,7 +119200,7 @@ owO owO owO cJS -fcZ +rKD cVU cFW cFW @@ -119547,7 +119457,7 @@ sQZ sQZ sQZ sQZ -kYl +wrz hIY tVK vIF @@ -119587,22 +119497,22 @@ aaa aaa aaa aaa -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm xvl xvl xvl @@ -120098,25 +120008,25 @@ vwd pRm pRm pRm -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm dBj wXI jqs @@ -120345,7 +120255,7 @@ lxW iix qQa vtd -hqx +hGd iGF xkg tXA @@ -120548,8 +120458,8 @@ aac aac aac aai -pHM -pHM +xRm +xRm vle aaS aaa @@ -120612,25 +120522,25 @@ aGY pRm pRm pRm -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm dBj fMK fMK @@ -121124,27 +121034,27 @@ hJl iix iix iix -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm +xRm xvl xvl xvl @@ -121939,7 +121849,7 @@ mYt oqp oqp oqp -pHM +xRm rxw vXM vXM @@ -122125,7 +122035,7 @@ dfz mpd lEt glc -pHM +xRm pAT cHH bNp @@ -122176,7 +122086,7 @@ vXM vXM vXM vXM -pHM +xRm vXM oqp oqp @@ -122382,7 +122292,7 @@ dfz txW iMt glc -pHM +xRm hkN gIj loa @@ -122695,7 +122605,7 @@ rxw rxw vXM vXM -pHM +xRm oqp oqp oqp @@ -122706,7 +122616,7 @@ oqp oqp oqp oqp -pHM +xRm vXM vXM rxw @@ -122952,7 +122862,7 @@ vXM rxw rxw vXM -pHM +xRm vXM vXM vXM @@ -122963,7 +122873,7 @@ vXM vXM vXM vXM -pHM +xRm vXM rxw rxw @@ -123117,11 +123027,11 @@ aaP aaQ aac aaS -pHM -pHM -pHM -pHM -pHM +xRm +xRm +xRm +xRm +xRm aaS aaa aaa @@ -123370,7 +123280,7 @@ vXM vXM vXM vXM -pHM +xRm aaH aac aac @@ -123619,7 +123529,7 @@ aaa aaa aaa aaH -pHM +xRm vXM vXM vXM @@ -123627,7 +123537,7 @@ vXM vXM vXM vXM -pHM +xRm aaH aac aac @@ -123876,7 +123786,7 @@ aaa aaa aaa aaI -pHM +xRm vXM vXM vXM @@ -123884,7 +123794,7 @@ vXM vXM vXM vXM -pHM +xRm aaI aac aac @@ -124133,7 +124043,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -124141,7 +124051,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM aac @@ -124188,7 +124098,7 @@ kNE nMB qAl nMB -ryI +bGP frV wco lwt @@ -124390,7 +124300,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -124398,7 +124308,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM aac @@ -124647,7 +124557,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -124655,7 +124565,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -124700,7 +124610,7 @@ ign olR vvF vjA -nMw +pPk dWM ign ign @@ -124904,7 +124814,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -124912,7 +124822,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -125161,7 +125071,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -125169,7 +125079,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -125418,7 +125328,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -125426,7 +125336,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -125469,9 +125379,9 @@ aac aac aac aac -pHM +xRm vXM -pHM +xRm aac aac vXM @@ -125675,7 +125585,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -125683,7 +125593,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -125726,9 +125636,9 @@ vXM aac aac aac -pHM +xRm vXM -pHM +xRm aac aac vXM @@ -125932,7 +125842,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -125940,7 +125850,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -125983,9 +125893,9 @@ vXM vXM aac vXM -pHM +xRm vXM -pHM +xRm aac vXM vXM @@ -126189,7 +126099,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -126197,7 +126107,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -126240,9 +126150,9 @@ vXM vXM vXM vXM -pHM -pHM -pHM +xRm +xRm +xRm vXM vXM vXM @@ -126446,7 +126356,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -126454,7 +126364,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -126497,9 +126407,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -126703,7 +126613,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -126711,7 +126621,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -126754,9 +126664,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -126960,7 +126870,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -126968,7 +126878,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -127011,9 +126921,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -127217,7 +127127,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -127225,7 +127135,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -127268,9 +127178,9 @@ vXM vXM vXM vXM -pHM -pHM -pHM +xRm +xRm +xRm vXM vXM vXM @@ -127474,7 +127384,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -127482,7 +127392,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -127525,9 +127435,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -127731,7 +127641,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -127739,7 +127649,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -127782,9 +127692,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -127988,7 +127898,7 @@ vXM vXM vXM vXM -pHM +xRm vXM vXM vXM @@ -128039,9 +127949,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -128296,9 +128206,9 @@ vXM vXM vXM vXM -pHM -pHM -pHM +xRm +xRm +xRm vXM vXM vXM @@ -128553,9 +128463,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM fjj vXM @@ -128810,9 +128720,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -129067,9 +128977,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -129324,9 +129234,9 @@ vXM vXM vXM vXM -pHM -pHM -pHM +xRm +xRm +xRm vXM vXM vXM @@ -129581,9 +129491,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -129838,9 +129748,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -130095,9 +130005,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -130352,9 +130262,9 @@ vXM vXM vXM vXM -pHM -pHM -pHM +xRm +xRm +xRm vXM vXM vXM @@ -130609,9 +130519,9 @@ vXM vXM vXM vXM -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -130866,9 +130776,9 @@ vXM aaa aaa aaa -pHM +xRm vXM -pHM +xRm vXM vXM vXM @@ -131123,9 +131033,9 @@ aaa aaa aaa aaa -pHM +xRm vXM -pHM +xRm vXM vXM aaa @@ -139306,7 +139216,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -139563,7 +139473,7 @@ pMW pMW cAd pMW -avE +wIP pMW pMW pMW @@ -139583,7 +139493,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -139818,9 +139728,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -139840,7 +139750,7 @@ pMW pMW pMW pMW -avE +wIP pMW cAd pMW @@ -140075,9 +139985,9 @@ pMW pMW pMW pMW -avE -avE -avE +wIP +wIP +wIP pMW pMW pMW @@ -140097,9 +140007,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -140334,7 +140244,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -140354,9 +140264,9 @@ pMW pMW pMW pMW -avE -avE -avE +wIP +wIP +wIP pMW pMW pMW @@ -140591,7 +140501,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -140611,7 +140521,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -140848,7 +140758,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -140868,7 +140778,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -141105,7 +141015,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -141125,7 +141035,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -141876,7 +141786,7 @@ pMW pMW pMW pMW -pHM +xRm pMW pMW pMW @@ -141896,7 +141806,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -142133,7 +142043,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -142153,7 +142063,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -142904,8 +142814,8 @@ pMW pMW pMW pMW -avE -avE +wIP +wIP rOy rOy oKl @@ -142923,8 +142833,8 @@ pMW oKl rOy rOy -avE -avE +wIP +wIP pMW pMW pMW @@ -143165,7 +143075,7 @@ oKl pMW pMW pMW -avE +wIP pMW pMW pMW @@ -143177,7 +143087,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -143679,7 +143589,7 @@ oKl pMW pMW pMW -avE +wIP pMW pMW pMW @@ -143691,7 +143601,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -143932,8 +143842,8 @@ pMW pMW pMW pMW -avE -pHM +wIP +xRm rOy rOy rOy @@ -143951,8 +143861,8 @@ oKl rOy rOy rOy -pHM -avE +xRm +wIP pMW pMW pMW @@ -143963,7 +143873,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -144220,7 +144130,7 @@ pMW oKl rOy rOy -pHM +xRm rOy rOy pMW @@ -144451,7 +144361,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -144461,7 +144371,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -144474,12 +144384,12 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -144703,12 +144613,12 @@ pMW pMW pMW pMW -avE +wIP tPE tPE tPE tPE -avE +wIP pMW pMW pMW @@ -144718,12 +144628,12 @@ pMW pMW pMW pMW -avE +wIP tPE tPE tPE tPE -avE +wIP pMW pMW pMW @@ -144731,12 +144641,12 @@ pMW pMW pMW pMW -avE +wIP tPE tPE tPE tPE -avE +wIP pMW pMW pMW @@ -144960,7 +144870,7 @@ oKl oKl oKl oKl -avE +wIP tPE qnv tld @@ -144980,7 +144890,7 @@ nmY cPH dfL nmY -avE +wIP pMW pMW pMW @@ -144988,7 +144898,7 @@ pMW pMW pMW pMW -avE +wIP nmY hng xnH @@ -145212,7 +145122,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -145469,7 +145379,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -150854,7 +150764,7 @@ fLY tFk kcV xNL -ozH +wAH tFk aaa aaa @@ -151122,8 +151032,8 @@ hzN hzN hzN hzN -dGP -nxM +kQP +asI rcx hzN xQv @@ -153498,10 +153408,10 @@ jFJ aHp qgS jFJ -avE -avE -avE -avE +wIP +wIP +wIP +wIP pMW pMW pMW @@ -154012,10 +153922,10 @@ jYe gnr bIJ jFJ -avE -avE -avE -avE +wIP +wIP +wIP +wIP pMW pMW pMW @@ -154718,7 +154628,7 @@ mwg ceF avX qyZ -knq +stg joF kSZ bvq @@ -156237,7 +156147,7 @@ aaa aaa aaa dEv -ggW +jlQ sne ubk hgn @@ -156532,7 +156442,7 @@ aQO rup wzm rAh -reJ +qpr eUy mgq nhV @@ -156839,8 +156749,8 @@ vCZ wAA vCZ vCZ -avE -avE +wIP +wIP esT mAG tMW @@ -156848,9 +156758,9 @@ byH tMW tMW esT -avE -avE -avE +wIP +wIP +wIP kFx pMW pMW @@ -157867,8 +157777,8 @@ aaa aaa aaa aai -avE -avE +wIP +wIP esT tMW tMW @@ -157876,10 +157786,10 @@ sOg mAG mAG esT -avE -avE -avE -avE +wIP +wIP +wIP +wIP kFx kFx kFx @@ -158136,7 +158046,7 @@ sdb pMW pMW pMW -avE +wIP pMW pMW pMW @@ -158146,7 +158056,7 @@ pMW pMW pMW pMW -avE +wIP kFx kFx kFx @@ -158302,7 +158212,7 @@ wbH wbH qPI cQM -gRO +bTI ppr gki cGg @@ -158393,7 +158303,7 @@ sdb pMW pMW pMW -avE +wIP pMW pMW pMW @@ -158403,14 +158313,14 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW pMW pMW pMW -avE +wIP pMW kFx pMW @@ -158586,9 +158496,9 @@ kOr cvf iUw moq -aBZ +eyh xEo -aCE +mGB aCS pIl gdF @@ -158660,14 +158570,14 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -158845,7 +158755,7 @@ aBt crE tEl xEo -vTE +pQL kyq pIl dUl @@ -158924,7 +158834,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -159182,10 +159092,10 @@ sdb sdb sdb esT -avE -avE -avE -avE +wIP +wIP +wIP +wIP kFx pMW pMW @@ -160724,10 +160634,10 @@ sdb sdb sdb esT -avE -avE -avE -avE +wIP +wIP +wIP +wIP kFx pMW pMW @@ -160980,7 +160890,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -161237,7 +161147,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -161494,7 +161404,7 @@ pMW pMW pMW pMW -avE +wIP pMW kFx pMW @@ -166594,7 +166504,7 @@ gnM apC abM mBq -tgw +pdX kHy fxM qUL @@ -172932,10 +172842,10 @@ pMW pMW pMW kFx -avE -avE -avE -avE +wIP +wIP +wIP +wIP aTY iCA fZL @@ -174540,7 +174450,7 @@ afy age afy afy -agm +abW aaa abM abM @@ -174989,10 +174899,10 @@ pMW pMW pMW kFx -avE -avE -avE -avE +wIP +wIP +wIP +wIP aTY iCA iCA @@ -176525,12 +176435,12 @@ pMW kFx pMW pMW -avE +wIP pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -176782,12 +176692,12 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -177039,12 +176949,12 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -177292,10 +177202,10 @@ pMW pMW pMW kFx -avE -avE -avE -avE +wIP +wIP +wIP +wIP aTY uRv uRv @@ -178834,10 +178744,10 @@ pMW pMW pMW kFx -avE -avE -avE -avE +wIP +wIP +wIP +wIP aTY uRv uRv @@ -179095,14 +179005,14 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -179352,14 +179262,14 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -179609,14 +179519,14 @@ pMW kFx pMW pMW -avE +wIP pMW pMW pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -179919,7 +179829,7 @@ abM abM abM usY -fSY +kzq tJR usY abM @@ -180177,7 +180087,7 @@ abM abM usY kiT -iYa +jvW usY usY usY @@ -180203,7 +180113,7 @@ ixu eeE muZ gSF -njk +egx uje dLO dLO @@ -180435,8 +180345,8 @@ lZW usY mgh uYZ -oSB -nVd +qlK +qaH vUE bMb kdz @@ -180940,7 +180850,7 @@ uax uax mur qza -vTH +mhJ aAJ riJ aAJ @@ -181159,11 +181069,11 @@ pMW pMW pMW kFx -avE -avE -avE -avE -avE +wIP +wIP +wIP +wIP +wIP aTY iCA iCA @@ -181221,7 +181131,7 @@ mEd kuq aHq lfQ -jVK +hks aHQ tFB vnu @@ -182020,8 +181930,8 @@ umu qVr qVr mFh -bfH -bfH +tBo +tBo qVr gYw cHY @@ -182276,13 +182186,13 @@ mAL nKU qVr tEx -bfH -bfH -bfH +tBo +tBo +tBo qVr -pNa -uGJ -pTP +cdM +eiy +itq qyQ qyQ gun @@ -182472,7 +182382,7 @@ cdy iWz hFV gDr -pZg +iAr uax axG bTx @@ -182533,10 +182443,10 @@ bmz pIx qVr ttj -bfH -bfH -bfH -bfH +tBo +tBo +tBo +tBo pNa qNk xmY @@ -182791,7 +182701,7 @@ pHX qVr cAK ttj -bhf +ttj ttj ttj nzg @@ -183046,10 +182956,10 @@ pbH kBo kJA qVr -bfH -bfH -bfH -bfH +tBo +tBo +tBo +tBo kGv qSS cFQ @@ -183216,12 +183126,12 @@ pMW pMW pMW kFx -avE -avE -avE -avE -avE -avE +wIP +wIP +wIP +wIP +wIP +wIP aTY iCA fZL @@ -183298,15 +183208,15 @@ kye tes kye kye -nwE +lHJ pbH mAL nKU qVr -bfH -bfH -bfH -bfH +tBo +tBo +tBo +tBo qVr jqK ijR @@ -183350,14 +183260,14 @@ rxw rxw pMW pMW -avE +wIP pMW pMW pMW bGh pMW pMW -avE +wIP pMW pMW rxw @@ -183561,8 +183471,8 @@ vSa cJR qVr qVr -iNs -qVL +tBo +tBo tBo qVr gYw @@ -183859,7 +183769,7 @@ pMW pMW pMW pMW -avE +wIP pMW gFf gFf @@ -184391,7 +184301,7 @@ oMI gFf gFf gFf -avE +wIP rxw pMW pMW @@ -185122,23 +185032,23 @@ aaa aaa aaa aaS -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP vUu vUu lwj @@ -185303,7 +185213,7 @@ udQ udQ aWL tft -hqw +ttS qyg utY fHV @@ -185381,7 +185291,7 @@ aaa pMW pMW pMW -avE +wIP pMW pMW pMW @@ -185391,7 +185301,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -185638,7 +185548,7 @@ aaa pMW pMW pMW -avE +wIP pMW pMW pMW @@ -185648,7 +185558,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -185892,24 +185802,24 @@ aaa aaa aaa aaS -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP xSS lwj tqN @@ -186157,7 +186067,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -186414,7 +186324,7 @@ pMW pMW pMW pMW -avE +wIP pMW pMW pMW @@ -186659,28 +186569,28 @@ aac aaa aaa aaS -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE -avE +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP +wIP vUu vUu lwj @@ -187475,7 +187385,7 @@ oMI gFf gFf gFf -avE +wIP rxw pMW pMW @@ -187971,7 +187881,7 @@ pMW pMW pMW pMW -avE +wIP pMW gFf gFf @@ -188490,14 +188400,14 @@ rxw rxw pMW pMW -avE +wIP pMW pMW pMW ylt pMW pMW -avE +wIP pMW pMW rxw @@ -191006,7 +190916,7 @@ pMW pMW pMW iLP -tCf +aac iLP pMW pMW @@ -191262,9 +191172,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -191519,9 +191429,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -191776,9 +191686,9 @@ pMW pMW pMW pMW -avE -avE -avE +wIP +wIP +wIP pMW pMW pMW @@ -192033,9 +191943,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -192290,9 +192200,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -192547,9 +192457,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -192804,9 +192714,9 @@ pMW pMW pMW pMW -avE -avE -avE +wIP +wIP +wIP pMW pMW pMW @@ -193061,9 +192971,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -193318,9 +193228,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -193575,9 +193485,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -193832,9 +193742,9 @@ pMW pMW pMW pMW -avE -avE -avE +wIP +wIP +wIP pMW pMW pMW @@ -194089,9 +193999,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -194346,9 +194256,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -194603,9 +194513,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW pMW @@ -194860,9 +194770,9 @@ pMW pMW pMW pMW -avE -avE -avE +wIP +wIP +wIP pMW pMW pMW @@ -195117,9 +195027,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP pMW pMW aaa @@ -195374,9 +195284,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP aac aaa aac @@ -195631,9 +195541,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP aac aac aac @@ -195888,9 +195798,9 @@ pMW pMW pMW pMW -avE -avE -avE +wIP +wIP +wIP aac aac aac @@ -196145,9 +196055,9 @@ pMW pMW pMW pMW -avE +wIP pMW -avE +wIP aac aac aaa @@ -196402,9 +196312,9 @@ pMW aac aac aac -avE +wIP pMW -avE +wIP aaa aaa aaa @@ -196659,9 +196569,9 @@ aac aac aac aac -avE +wIP pMW -avE +wIP aaa aaa aaa diff --git a/_maps/map_files/wawastation/wawastation.dmm b/_maps/map_files/wawastation/wawastation.dmm index 7cd10a421e4bb..b6588bde5dcb3 100644 --- a/_maps/map_files/wawastation/wawastation.dmm +++ b/_maps/map_files/wawastation/wawastation.dmm @@ -129,18 +129,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/command/gateway) -"abP" = ( -/obj/effect/turf_decal/caution/stand_clear/red, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/door/poddoor/shutters/window/preopen{ - id = "ordstorage" - }, -/obj/structure/cable, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "abX" = ( /obj/machinery/door/airlock/public/glass{ name = "Library" @@ -593,6 +581,19 @@ }, /turf/open/floor/iron/textured_large, /area/station/medical/treatment_center) +"ajs" = ( +/obj/machinery/door/poddoor/shutters/window{ + id = "ordauxgarage"; + dir = 1 + }, +/obj/effect/turf_decal/caution/stand_clear, +/obj/effect/turf_decal/sand/plating, +/obj/effect/turf_decal/stripes/asteroid/line, +/obj/effect/turf_decal/stripes/asteroid/line{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/science/ordnance) "ajK" = ( /obj/machinery/door/firedoor, /obj/effect/landmark/navigate_destination/bar, @@ -978,6 +979,14 @@ "apQ" = ( /turf/closed/wall, /area/station/service/library) +"apW" = ( +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/spawner/random/structure/closet_empty/crate, +/obj/item/stock_parts/power_store/cell, +/obj/structure/broken_flooring, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/plating, +/area/station/cargo/warehouse) "aqa" = ( /obj/structure/railing, /obj/machinery/door/firedoor/border_only, @@ -1205,6 +1214,16 @@ /obj/effect/turf_decal/stripes/line, /turf/open/floor/iron/textured_large, /area/station/service/hydroponics/garden) +"auA" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "auB" = ( /turf/open/floor/engine, /area/station/medical/chemistry) @@ -1340,7 +1359,7 @@ "awf" = ( /obj/machinery/igniter/incinerator_ordmix, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "awi" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/cable, @@ -1691,15 +1710,6 @@ }, /turf/open/openspace, /area/station/security/prison/shower) -"aCh" = ( -/obj/structure/window/spawner/directional/east, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "aCp" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 @@ -2032,7 +2042,7 @@ dir = 8 }, /turf/open/floor/plating/airless, -/area/space) +/area/space/nearstation) "aIc" = ( /obj/structure/table, /obj/effect/spawner/random/bureaucracy/paper, @@ -2246,7 +2256,6 @@ "aKU" = ( /obj/effect/landmark/start/ai/secondary, /obj/machinery/door/window/brigdoor/left/directional/north{ - layer = 4.1; name = "Tertiary AI Core Access"; req_access = list("ai_upload"); pixel_y = 3 @@ -2282,17 +2291,6 @@ /obj/item/radio/intercom/directional/south, /turf/open/floor/iron, /area/station/cargo/warehouse/upper) -"aLF" = ( -/obj/machinery/door/firedoor/heavy, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/door/airlock/research{ - name = "Ordnance Auxiliary Storage" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "aLH" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -2368,6 +2366,11 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/wood, /area/station/commons/lounge) +"aMS" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "aMU" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/flora/bush/fullgrass/style_random, @@ -3326,7 +3329,7 @@ /obj/effect/decal/cleanable/blood/footprints{ dir = 8 }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "bga" = ( /obj/structure/chair/wood{ @@ -3523,18 +3526,6 @@ /obj/effect/spawner/random/structure/steam_vent, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"bjK" = ( -/obj/structure/barricade/wooden, -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ - dir = 4 - }, -/obj/item/flashlight/glowstick/blue{ - start_on = 1; - light_range = 2 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "bjM" = ( /obj/effect/turf_decal/tile/brown/opposingcorners{ dir = 1 @@ -3597,12 +3588,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/asteroid) -"blP" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/mapping_helpers/broken_floor, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "bme" = ( /obj/structure/sign/warning, /turf/closed/wall/r_wall, @@ -3655,6 +3640,13 @@ /obj/effect/spawner/random/engineering/tracking_beacon, /turf/open/floor/carpet, /area/station/service/theater) +"bnb" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/binary/valve{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "bnn" = ( /obj/effect/turf_decal/tile/purple/full, /turf/open/floor/iron/dark/smooth_large, @@ -3746,7 +3738,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/abandoned, /obj/effect/decal/cleanable/blood/old, /turf/open/floor/plating, @@ -4121,10 +4112,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/wood, /area/station/security/detectives_office/private_investigators_office) -"bwC" = ( -/obj/structure/lattice, -/turf/open/space/basic, -/area/space/nearstation) "bwQ" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -4477,6 +4464,16 @@ /obj/structure/girder/displaced, /turf/open/misc/asteroid, /area/station/maintenance/central/greater) +"bCr" = ( +/obj/machinery/computer/security/mining{ + dir = 8 + }, +/obj/machinery/keycard_auth/directional/east, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "bCv" = ( /obj/effect/decal/cleanable/blood/old, /obj/item/restraints/handcuffs, @@ -4637,9 +4634,6 @@ }, /turf/open/floor/iron/dark, /area/station/command/heads_quarters/hos) -"bFj" = ( -/turf/closed/wall/rock/porous, -/area/station/science/ordnance) "bFw" = ( /obj/machinery/door/window/right/directional/east{ name = "Delivery Door"; @@ -5200,6 +5194,21 @@ }, /turf/open/floor/iron/white, /area/station/medical/exam_room) +"bRl" = ( +/obj/machinery/suit_storage_unit/captain{ + req_access = list("captain") + }, +/obj/effect/turf_decal/siding/wood{ + dir = 4 + }, +/obj/machinery/airalarm/directional/north, +/obj/machinery/computer/security/telescreen/minisat/directional/west, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain/private) +"bRD" = ( +/obj/structure/table, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "bRI" = ( /obj/machinery/rnd/production/techfab/department/medical, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -5216,11 +5225,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"bRZ" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "bSr" = ( /obj/effect/turf_decal/siding/purple{ dir = 4 @@ -5361,6 +5365,16 @@ dir = 8 }, /area/station/science/xenobiology) +"bUu" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell, +/obj/effect/turf_decal/tile/purple/half/contrasted{ + dir = 1 + }, +/obj/machinery/airalarm/directional/north, +/turf/open/floor/iron/white, +/area/station/science/lobby) "bUx" = ( /obj/effect/landmark/event_spawn, /obj/effect/decal/cleanable/dirt, @@ -5758,17 +5772,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/catwalk_floor/iron_dark, /area/station/ai_monitored/turret_protected/aisat_interior) -"cbT" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/command, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/effect/mapping_helpers/airlock/autoname, -/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/any/admin/general, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/emergency_closet) "cca" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -6174,9 +6177,7 @@ /turf/open/floor/iron/dark, /area/station/engineering/supermatter/room) "ckb" = ( -/obj/effect/turf_decal/siding/dark_blue{ - dir = 2 - }, +/obj/effect/turf_decal/siding/dark_blue, /obj/machinery/holopad, /turf/open/floor/iron/textured_large, /area/station/command/bridge) @@ -6242,6 +6243,15 @@ /obj/item/storage/box/hug/medical, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"clQ" = ( +/obj/effect/spawner/structure/window/reinforced/plasma, +/obj/machinery/door/poddoor/preopen{ + id = "rdoffice"; + name = "Research Director's Shutters" + }, +/obj/structure/cable, +/turf/open/floor/plating, +/area/station/command/heads_quarters/rd) "clX" = ( /obj/machinery/seed_extractor, /obj/effect/turf_decal/stripes/line{ @@ -6396,6 +6406,12 @@ dir = 4 }, /area/station/hallway/secondary/exit/departure_lounge) +"cqf" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/mapping_helpers/broken_floor, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "cqm" = ( /obj/structure/cable, /obj/machinery/camera/autoname/directional/south{ @@ -6405,6 +6421,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/foyer) +"cqt" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/machinery/button/door/directional/east{ + name = "shutter control"; + id = "ordauxgarage" + }, +/turf/open/floor/plating, +/area/station/science/ordnance) "cqH" = ( /obj/structure/transit_tube, /obj/structure/lattice, @@ -6604,6 +6631,23 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, /area/station/construction/mining/aux_base) +"ctE" = ( +/obj/machinery/door/airlock/research{ + name = "Research Division Access" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/turf/open/floor/iron/white, +/area/station/science/research) "ctL" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/cable, @@ -6736,7 +6780,7 @@ /area/station/maintenance/central/lesser) "cxg" = ( /turf/open/misc/asteroid/airless, -/area/space) +/area/space/nearstation) "cxr" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/east, @@ -6883,6 +6927,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/cargo/storage) +"cAy" = ( +/obj/structure/table/glass, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker; + pixel_x = -5 + }, +/obj/item/multitool{ + pixel_x = 8 + }, +/turf/open/floor/iron, +/area/station/engineering/lobby) "cAC" = ( /obj/effect/turf_decal/stripes/end{ dir = 4 @@ -6900,7 +6955,7 @@ network = list("ss13","rd") }, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "cAQ" = ( /obj/vehicle/sealed/mecha/ripley/cargo, /obj/effect/decal/cleanable/dirt, @@ -7072,22 +7127,6 @@ /obj/effect/turf_decal/stripes, /turf/open/floor/engine, /area/station/engineering/atmospherics_engine) -"cEi" = ( -/obj/machinery/light/small/directional/north, -/obj/machinery/cell_charger, -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/camera/autoname/directional/east{ - network = list("ss13","rd") - }, -/obj/effect/turf_decal/siding/purple/corner{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/corner{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/science/robotics/mechbay) "cEr" = ( /obj/structure/chair/sofa/bench/right{ dir = 1 @@ -7384,7 +7423,7 @@ "cKD" = ( /mob/living/basic/mining/basilisk, /turf/open/misc/asteroid/airless, -/area/space) +/area/space/nearstation) "cLd" = ( /obj/machinery/oven/range, /obj/machinery/light/directional/north, @@ -7650,14 +7689,6 @@ dir = 4 }, /area/station/science/research) -"cPs" = ( -/obj/machinery/portable_atmospherics/pump, -/obj/effect/turf_decal/stripes/line{ - dir = 4 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "cPt" = ( /turf/closed/wall/r_wall, /area/station/science/lab) @@ -7738,7 +7769,7 @@ dir = 8 }, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "cQK" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -7769,6 +7800,13 @@ }, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) +"cQX" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/structure/cable, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "cRa" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/chair/office{ @@ -7865,6 +7903,13 @@ }, /turf/open/floor/iron, /area/station/command/heads_quarters/ce) +"cSI" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "cSJ" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/snack, @@ -8314,19 +8359,19 @@ }, /turf/open/floor/carpet/executive, /area/station/command/meeting_room) -"dbA" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 9 +"dbJ" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Bridge" }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ - dir = 4 +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/machinery/door/firedoor, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "bridgec" }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) +/obj/effect/mapping_helpers/airlock/access/any/admin/general, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "dbN" = ( /obj/effect/turf_decal/tile/neutral{ dir = 4 @@ -9014,6 +9059,24 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"dmE" = ( +/obj/machinery/door/airlock/research{ + name = "Research Division Access" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/turf/open/floor/iron/white, +/area/station/science/research) "dmH" = ( /obj/effect/turf_decal/siding/white{ dir = 4 @@ -9174,6 +9237,11 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"dpf" = ( +/obj/structure/transport/linear/public, +/obj/machinery/light/floor/transport, +/turf/open/floor/plating/elevatorshaft, +/area/station/medical/treatment_center) "dpj" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -9345,7 +9413,6 @@ dir = 4 }, /obj/structure/chair{ - dir = 2; name = "Defense" }, /obj/structure/cable, @@ -9499,6 +9566,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"duB" = ( +/obj/structure/cable, +/obj/structure/window/reinforced/spawner/directional/west, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/dark, +/area/station/security/prison) "duS" = ( /obj/machinery/duct, /obj/structure/cable, @@ -9658,7 +9731,7 @@ dir = 8 }, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "dyV" = ( /obj/structure/railing{ dir = 1 @@ -10029,9 +10102,7 @@ /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/eva) "dCv" = ( -/obj/structure/railing{ - layer = 3.01 - }, +/obj/structure/railing, /obj/structure/dresser, /obj/machinery/light_switch/directional/west, /turf/open/floor/carpet/red, @@ -10268,6 +10339,22 @@ }, /turf/open/floor/iron/white, /area/station/medical/paramedic) +"dHy" = ( +/obj/machinery/light/small/directional/north, +/obj/machinery/cell_charger, +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/camera/autoname/directional/east{ + network = list("ss13","rd") + }, +/obj/effect/turf_decal/siding/purple/corner{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/science/robotics/mechbay) "dHL" = ( /obj/machinery/atmospherics/pipe/smart/manifold/scrubbers/visible, /obj/effect/turf_decal/tile/yellow{ @@ -10420,10 +10507,9 @@ /turf/open/floor/iron/dark, /area/station/security/execution/education) "dJM" = ( -/obj/structure/table/optable, /obj/item/radio/intercom/directional/east, /obj/effect/decal/cleanable/blood/old, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "dKp" = ( /obj/structure/lattice/catwalk, @@ -10468,18 +10554,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"dLy" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/button/door/directional/south{ - id = "evashutter"; - name = "E.V.A. Storage Shutter Control"; - req_access = list("command") - }, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/eva) "dLI" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -10500,7 +10574,7 @@ "dLY" = ( /obj/structure/broken_flooring/singular/directional/east, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "dMa" = ( /obj/structure/chair/office, /obj/effect/turf_decal/tile/brown/fourcorners, @@ -10993,28 +11067,6 @@ /obj/machinery/computer/security/telescreen/entertainment/directional/east, /turf/open/floor/iron, /area/station/hallway/primary/central) -"dTV" = ( -/obj/machinery/light/dim/directional/west, -/obj/structure/cable, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/yellow{ - dir = 1 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/item/holosign_creator/atmos{ - pixel_y = 5 - }, -/obj/structure/table, -/obj/item/holosign_creator/atmos{ - pixel_y = 7 - }, -/turf/open/floor/iron/dark/corner{ - dir = 8 - }, -/area/station/engineering/atmos/upper) "dUb" = ( /obj/machinery/airalarm/directional/west, /obj/item/kirbyplants/random, @@ -11025,7 +11077,7 @@ "dUc" = ( /obj/structure/lattice, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "dUi" = ( /turf/closed/wall/r_wall, /area/station/engineering/lobby) @@ -11189,12 +11241,6 @@ }, /turf/open/floor/iron/dark, /area/station/security/lockers) -"dXh" = ( -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/turf/closed/wall, -/area/station/cargo/storage) "dXN" = ( /obj/machinery/door/airlock/research{ name = "Robotics Lab Storage" @@ -11384,22 +11430,6 @@ }, /turf/open/floor/iron, /area/station/engineering/main) -"eaY" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted{ - dir = 1 - }, -/obj/structure/table, -/obj/item/restraints/handcuffs/cable/yellow, -/obj/item/restraints/handcuffs, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching output from station security cameras."; - name = "Security Camera Monitor"; - network = list("ss13"); - pixel_x = -30; - dir = 4 - }, -/turf/open/floor/iron, -/area/station/hallway/secondary/exit/departure_lounge) "ebi" = ( /obj/structure/curtain/cloth/fancy/mechanical/start_closed{ desc = "A set of curtains serving as a fancy theater backdrop. They can only be opened by a button."; @@ -11474,15 +11504,13 @@ /turf/open/floor/iron/white, /area/station/medical/treatment_center) "ebE" = ( -/obj/effect/spawner/structure/window/hollow/end{ - dir = 2 - }, +/obj/effect/spawner/structure/window/hollow/end, /turf/open/floor/plating, /area/station/security/courtroom) "ebN" = ( /obj/structure/broken_flooring/pile/directional/east, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "ebP" = ( /obj/machinery/power/apc/auto_name/directional/west, /obj/effect/mapping_helpers/apc/cell_5k, @@ -11559,6 +11587,7 @@ pixel_x = 3; pixel_y = -2 }, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) "edv" = ( @@ -11655,7 +11684,7 @@ "efL" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "efQ" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -11703,7 +11732,7 @@ dir = 8 }, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "egY" = ( /obj/machinery/light_switch/directional/west, /turf/open/openspace, @@ -11979,6 +12008,11 @@ /obj/structure/door_assembly, /turf/open/misc/asteroid, /area/station/asteroid) +"elG" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "elT" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners{ dir = 1 @@ -11990,12 +12024,6 @@ /obj/machinery/igniter/incinerator_atmos, /turf/open/floor/engine/airless, /area/station/maintenance/disposal/incinerator) -"emb" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "emf" = ( /obj/structure/window/spawner/directional/south, /obj/structure/window/spawner/directional/north, @@ -12054,6 +12082,18 @@ /obj/structure/stairs/north, /turf/open/floor/iron, /area/station/command/corporate_showroom) +"enX" = ( +/obj/effect/turf_decal/caution/stand_clear/red, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/door/poddoor/shutters/window/preopen{ + id = "ordstorage" + }, +/obj/structure/cable, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "eon" = ( /obj/effect/spawner/random/structure/chair_comfy{ dir = 4 @@ -12343,6 +12383,24 @@ /obj/effect/spawner/random/maintenance, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"esX" = ( +/obj/structure/table/reinforced, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = 4; + pixel_y = 5 + }, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -8; + pixel_y = 9 + }, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/cell_charger, +/obj/item/borg/upgrade/rename{ + pixel_x = 3; + pixel_y = 18 + }, +/turf/open/floor/iron/dark/textured, +/area/station/science/robotics/lab) "etg" = ( /obj/machinery/shower/directional/north, /obj/effect/turf_decal/tile/green/anticorner/contrasted{ @@ -12391,15 +12449,6 @@ }, /turf/open/floor/iron, /area/station/service/hydroponics) -"etE" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Primary Tool Storage" - }, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "etI" = ( /obj/structure/table, /obj/effect/spawner/random/food_or_drink/snack, @@ -12509,6 +12558,18 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/maintenance/department/medical/central) +"ewa" = ( +/obj/effect/turf_decal/tile/yellow/fourcorners, +/obj/structure/table, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_y = 6 + }, +/obj/item/stock_parts/power_store/cell/emproof{ + pixel_y = 3 + }, +/obj/item/stock_parts/power_store/cell/emproof, +/turf/open/floor/iron, +/area/station/engineering/main) "ewr" = ( /obj/effect/spawner/random/trash/botanical_waste, /obj/effect/mapping_helpers/burnt_floor, @@ -12689,17 +12750,6 @@ }, /turf/open/floor/iron/white/smooth_large, /area/station/command/heads_quarters/cmo) -"ezH" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted{ - dir = 1 - }, -/obj/machinery/door/firedoor/border_only{ - dir = 4 - }, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron, -/area/station/cargo/storage) "ezL" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -13061,17 +13111,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"eFd" = ( -/obj/machinery/door/poddoor/shutters{ - id = "ordauxgarage"; - dir = 1 - }, -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/stripes/asteroid/end{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/science/ordnance) "eFj" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -13110,12 +13149,10 @@ /turf/open/floor/iron/textured, /area/station/security/processing) "eFJ" = ( -/obj/structure/table, -/obj/item/biopsy_tool, /obj/machinery/sparker/directional/north{ id = "Xenobio" }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "eFK" = ( /obj/structure/cable, @@ -13186,17 +13223,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/storage/art) -"eGL" = ( -/obj/machinery/door/poddoor/shutters{ - dir = 4; - id = "ordauxgarage" - }, -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/stripes/asteroid/end{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/science/ordnance) "eGN" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -13207,6 +13233,13 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) +"eHa" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/east, +/turf/open/floor/iron, +/area/station/command/bridge) "eHc" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -13242,8 +13275,7 @@ /area/station/engineering/supermatter/room) "eIo" = ( /obj/structure/statue/sandstone/venus{ - dir = 1; - layer = 3.3 + dir = 1 }, /turf/open/floor/grass, /area/station/science/research) @@ -13354,6 +13386,10 @@ pixel_y = 7 }, /obj/item/pipe_dispenser, +/obj/machinery/power/apc/auto_name/directional/south{ + areastring = "/area/station/science/ordnance/burnchamber" + }, +/obj/structure/cable, /turf/open/floor/iron/dark, /area/station/science/ordnance) "eLe" = ( @@ -13556,6 +13592,15 @@ /obj/structure/sign/poster/random/directional/west, /turf/open/floor/plating, /area/station/maintenance/department/medical) +"eQJ" = ( +/obj/structure/rack, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 1 + }, +/obj/item/radio/intercom/directional/south, +/obj/effect/spawner/random/armory/dragnet, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/security/armory) "eQQ" = ( /obj/machinery/door/firedoor/border_only{ dir = 4 @@ -14073,6 +14118,12 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/starboard) +"fbN" = ( +/obj/machinery/light/small/directional/south, +/obj/effect/spawner/random/structure/closet_empty/crate/with_loot, +/obj/item/coin/plasma, +/turf/open/misc/asteroid, +/area/station/maintenance/department/science) "fcH" = ( /obj/structure/frame/computer{ anchored = 1; @@ -14187,6 +14238,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/visible/layer2, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) +"feR" = ( +/obj/machinery/computer/security/telescreen/ordnance/directional/south, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "feU" = ( /obj/structure/cable, /obj/machinery/door/airlock/maintenance/external, @@ -14237,6 +14292,19 @@ }, /turf/closed/wall/r_wall, /area/station/engineering/atmos/pumproom) +"ffK" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 9 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "ffT" = ( /obj/structure/rack, /obj/effect/spawner/random/maintenance/no_decals/two, @@ -14292,20 +14360,6 @@ /obj/effect/turf_decal/sand/plating, /turf/open/floor/plating, /area/station/maintenance/solars/port/fore) -"fgZ" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Engineering Foyer" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/landmark/navigate_destination/engineering, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, -/turf/open/floor/iron, -/area/station/engineering/lobby) "fhs" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 8 @@ -14413,9 +14467,7 @@ /area/station/construction/mining/aux_base) "fjb" = ( /obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/engine, /area/station/science/xenobiology) "fjg" = ( @@ -14524,7 +14576,7 @@ dir = 8 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "flH" = ( /obj/structure/closet/boxinggloves, /obj/effect/landmark/start/hangover/closet, @@ -14543,17 +14595,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"flW" = ( -/obj/structure/table/wood, -/obj/item/stock_parts/power_store/cell/crap, -/obj/item/clothing/head/collectable/hop{ - name = "novelty HoP hat" - }, -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/turf/open/floor/wood/tile, -/area/station/command/corporate_showroom) "flZ" = ( /obj/structure/cable, /obj/structure/disposalpipe/sorting/mail/flip{ @@ -14903,6 +14944,28 @@ }, /turf/open/floor/iron/dark/smooth_large, /area/station/hallway/primary/central) +"fst" = ( +/obj/machinery/light/dim/directional/west, +/obj/structure/cable, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/yellow{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/item/holosign_creator/atmos{ + pixel_y = 5 + }, +/obj/structure/table, +/obj/item/holosign_creator/atmos{ + pixel_y = 7 + }, +/turf/open/floor/iron/dark/corner{ + dir = 8 + }, +/area/station/engineering/atmos/upper) "fsu" = ( /obj/structure/railing{ dir = 1 @@ -14974,7 +15037,7 @@ /obj/effect/decal/cleanable/blood/old{ icon_state = "gib3-old" }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "fsZ" = ( /obj/machinery/door/window/brigdoor/left/directional/south{ @@ -15083,6 +15146,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/science/ordnance/storage) +"fuZ" = ( +/obj/effect/turf_decal/trimline/green/filled/line{ + dir = 4 + }, +/obj/machinery/firealarm/directional/east, +/turf/open/floor/iron/white, +/area/station/hallway/secondary/entry) "fvd" = ( /obj/machinery/duct, /obj/effect/turf_decal/tile/dark_green/opposingcorners, @@ -15382,6 +15452,12 @@ /obj/machinery/air_sensor/carbon_tank, /turf/open/floor/engine/co2, /area/station/engineering/atmos) +"fzW" = ( +/obj/structure/table/glass, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron, +/area/station/engineering/lobby) "fzY" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -16021,13 +16097,6 @@ }, /turf/open/floor/carpet/purple, /area/station/service/library) -"fKp" = ( -/obj/structure/table/wood, -/obj/item/flashlight/lamp, -/obj/machinery/camera/autoname/directional/north, -/obj/machinery/keycard_auth/directional/north, -/turf/open/floor/carpet/green, -/area/station/command/heads_quarters/hop) "fKs" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -16074,6 +16143,11 @@ }, /turf/open/floor/iron/half, /area/station/security/breakroom) +"fLM" = ( +/obj/structure/transport/linear/public, +/obj/machinery/light/floor/transport, +/turf/open/floor/plating/elevatorshaft, +/area/station/cargo/storage) "fLU" = ( /obj/effect/spawner/random/trash/mess, /obj/effect/mapping_helpers/broken_floor, @@ -16200,6 +16274,10 @@ /obj/effect/landmark/carpspawn, /turf/open/space/openspace, /area/space) +"fOe" = ( +/obj/effect/landmark/carpspawn, +/turf/open/space/openspace, +/area/space/nearstation) "fOi" = ( /obj/effect/turf_decal/stripes{ dir = 8 @@ -16376,6 +16454,18 @@ /obj/structure/disposalpipe/trunk, /turf/open/floor/iron, /area/station/engineering/lobby) +"fQr" = ( +/obj/machinery/atmospherics/components/binary/pump{ + dir = 8 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/mapping_helpers/airalarm/mixingchamber_access, +/obj/effect/mapping_helpers/airalarm/link{ + chamber_id = "ordnancefreezer" + }, +/obj/effect/mapping_helpers/airalarm/tlv_no_checks, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "fQG" = ( /obj/machinery/door/airlock/virology/glass{ name = "Virology Lab"; @@ -16515,26 +16605,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/science/ordnance) -"fSH" = ( -/obj/effect/turf_decal/siding/wood{ - dir = 8 - }, -/obj/machinery/button/door/directional/south{ - id = "capshut"; - pixel_x = -8; - name = "shutter control" - }, -/obj/machinery/fax{ - fax_name = "Captain's Office"; - name = "Captain's Fax Machine" - }, -/obj/structure/table/reinforced, -/obj/machinery/keycard_auth/directional/south{ - pixel_y = -24; - pixel_x = 8 - }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain/private) "fSK" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 6 @@ -16701,21 +16771,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating/airless, /area/station/cargo/storage) -"fWa" = ( -/obj/machinery/suit_storage_unit/captain{ - req_access = list("captain") - }, -/obj/effect/turf_decal/siding/wood{ - dir = 4 - }, -/obj/machinery/airalarm/directional/north, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 4; - pixel_x = -30; - pixel_y = 1 - }, -/turf/open/floor/carpet/royalblue, -/area/station/command/heads_quarters/captain/private) "fWp" = ( /obj/effect/turf_decal/siding/white{ dir = 10 @@ -17187,13 +17242,6 @@ }, /turf/open/floor/wood/parquet, /area/station/medical/psychology) -"gez" = ( -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/east, -/turf/open/floor/iron, -/area/station/command/bridge) "geB" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -17406,18 +17454,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"giX" = ( -/obj/effect/turf_decal/tile/yellow/fourcorners, -/obj/structure/table, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_y = 6 - }, -/obj/item/stock_parts/power_store/cell/emproof{ - pixel_y = 3 - }, -/obj/item/stock_parts/power_store/cell/emproof, -/turf/open/floor/iron, -/area/station/engineering/main) "gjo" = ( /obj/structure/cable, /obj/machinery/button/door/directional/east{ @@ -17622,8 +17658,13 @@ /turf/open/floor/iron/dark, /area/station/security/mechbay) "gmm" = ( -/obj/structure/table, -/obj/item/storage/box/monkeycubes, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "Xenolab"; + name = "Test Chamber Blast Door" + }, +/obj/structure/sign/warning/gas_mask/directional/north, /turf/open/floor/engine, /area/station/science/xenobiology) "gms" = ( @@ -17686,6 +17727,16 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) +"gop" = ( +/obj/effect/landmark/blobstart, +/obj/structure/closet/crate/science{ + opened = 1; + icon_state = "scicrateopen" + }, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "goB" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/decal/cleanable/blood/tracks, @@ -17819,6 +17870,15 @@ /obj/structure/cable, /turf/open/floor/iron/white, /area/station/science/lobby) +"grm" = ( +/obj/machinery/door/poddoor/shutters/window{ + dir = 4; + id = "ordauxgarage" + }, +/obj/effect/turf_decal/stripes/asteroid/end, +/obj/effect/turf_decal/sand/plating, +/turf/open/floor/plating, +/area/station/science/ordnance) "grv" = ( /obj/structure/table/glass, /obj/item/clothing/head/cone{ @@ -17883,14 +17943,12 @@ }, /obj/machinery/button/door/directional/west{ id = "QMLoaddoor"; - layer = 4; name = "Loading Doors"; pixel_y = -8; req_access = list("cargo") }, /obj/machinery/button/door/directional/west{ id = "QMLoaddoor2"; - layer = 4; name = "Loading Doors"; pixel_y = 8; req_access = list("cargo") @@ -17927,6 +17985,9 @@ }, /turf/open/floor/iron, /area/station/engineering/lobby) +"gsW" = ( +/turf/closed/wall/rock/porous, +/area/station/science/ordnance) "gtj" = ( /obj/effect/turf_decal/tile/brown/anticorner/contrasted{ dir = 4 @@ -18759,6 +18820,41 @@ /obj/machinery/light/small/broken/directional/east, /turf/open/floor/iron/freezer, /area/station/maintenance/department/medical/central) +"gHL" = ( +/obj/structure/table, +/obj/effect/turf_decal/bot, +/obj/machinery/camera/directional/west{ + c_tag = "Science Ordnance Test Lab"; + network = list("ss13","rd") + }, +/obj/item/assembly/prox_sensor{ + pixel_y = 2 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = 9; + pixel_y = -2 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = -4; + pixel_y = 1 + }, +/obj/item/assembly/prox_sensor{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/machinery/requests_console/directional/west{ + department = "Ordnance Test Range"; + name = "Test Range Requests Console" + }, +/obj/effect/mapping_helpers/requests_console/information, +/obj/effect/mapping_helpers/requests_console/assistance, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/binoculars{ + pixel_y = -10; + pixel_x = -5 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "gHN" = ( /turf/closed/wall, /area/station/medical/chemistry/minisat) @@ -18879,13 +18975,6 @@ }, /turf/open/floor/plating, /area/station/service/chapel/funeral) -"gKe" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/airalarm/directional/north, -/obj/structure/filingcabinet, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "gKt" = ( /turf/closed/wall, /area/station/science/auxlab/firing_range) @@ -18994,6 +19083,21 @@ /obj/machinery/door/firedoor, /turf/open/floor/iron/white/textured_large, /area/station/science/xenobiology) +"gME" = ( +/obj/effect/turf_decal/delivery, +/obj/structure/table, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/item/raw_anomaly_core/random{ + pixel_x = -5; + pixel_y = 7 + }, +/obj/item/raw_anomaly_core/random, +/obj/item/raw_anomaly_core/random{ + pixel_x = 7; + pixel_y = 9 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "gMH" = ( /obj/machinery/door/airlock/maintenance, /obj/effect/mapping_helpers/airlock/abandoned, @@ -19278,7 +19382,7 @@ dir = 8 }, /obj/effect/spawner/random/entertainment/cigarette_pack, -/obj/item/clothing/mask/cigarette/rollie/mindbreaker, +/obj/item/cigarette/rollie/mindbreaker, /obj/machinery/airalarm/directional/east, /turf/open/floor/iron, /area/station/cargo/miningoffice) @@ -19868,21 +19972,6 @@ "hbV" = ( /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"hcd" = ( -/obj/machinery/door/airlock/research{ - name = "Research Division Access" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/iron/white, -/area/station/science/research) "hce" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -20080,19 +20169,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/engineering/atmos) -"hfq" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Break Room" - }, -/obj/effect/mapping_helpers/airlock/access/any/engineering/general, -/obj/structure/cable, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/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/any/engineering/construction, -/turf/open/floor/iron, -/area/station/engineering/break_room) "hfv" = ( /obj/effect/mapping_helpers/broken_floor, /obj/effect/decal/cleanable/dirt/dust, @@ -20157,15 +20233,6 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"hgq" = ( -/obj/machinery/door/poddoor/shutters/window{ - dir = 4; - id = "ordauxgarage" - }, -/obj/effect/turf_decal/stripes/asteroid/end, -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating, -/area/station/science/ordnance) "hgB" = ( /obj/machinery/door/airlock/maintenance/external, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, @@ -20175,16 +20242,6 @@ }, /turf/open/floor/plating, /area/station/science/lobby) -"hgE" = ( -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ - dir = 8 - }, -/obj/machinery/computer/security/telescreen/minisat{ - dir = 4; - pixel_x = -29 - }, -/turf/open/floor/iron, -/area/station/command/bridge) "hgN" = ( /obj/structure/cable, /obj/machinery/power/apc/auto_name/directional/west, @@ -20523,19 +20580,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/teleporter) -"hng" = ( -/obj/machinery/portable_atmospherics/canister/anesthetic_mix, -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 1 - }, -/obj/structure/window/reinforced/spawner/directional/east, -/obj/machinery/door/window/right/directional/north{ - req_access = list("medical"); - name = "Anti Assistant Protection Door" - }, -/obj/effect/turf_decal/tile/blue/fourcorners, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "hnh" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -20682,12 +20726,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hpC" = ( -/obj/machinery/light/small/directional/south, -/obj/effect/spawner/random/structure/closet_empty/crate/with_loot, -/obj/item/coin/plasma, -/turf/open/misc/asteroid, -/area/station/maintenance/department/science) "hpT" = ( /obj/machinery/door/airlock/command{ name = "Quartermaster's Office" @@ -21403,10 +21441,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"hCu" = ( -/obj/effect/turf_decal/sand/plating, -/turf/open/floor/plating/airless, -/area/space) "hCv" = ( /obj/machinery/mech_bay_recharge_port{ dir = 2 @@ -21481,6 +21515,17 @@ "hDo" = ( /turf/closed/wall/r_wall, /area/station/security/evidence) +"hDJ" = ( +/obj/machinery/door/poddoor/shutters{ + dir = 4; + id = "ordauxgarage" + }, +/obj/effect/turf_decal/sand/plating, +/obj/effect/turf_decal/stripes/asteroid/end{ + dir = 1 + }, +/turf/open/floor/plating, +/area/station/science/ordnance) "hDK" = ( /obj/effect/turf_decal/tile/neutral, /obj/machinery/camera/autoname/directional/south, @@ -21488,16 +21533,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) -"hDM" = ( -/obj/effect/turf_decal/sand/plating, -/obj/machinery/light/small/directional/south, -/obj/structure/broken_flooring/pile, -/obj/machinery/atmospherics/components/binary/pump/off/green/hidden{ - dir = 4; - name = "Aux Oxygen To Port" - }, -/turf/open/floor/plating, -/area/station/science/ordnance) "hDV" = ( /obj/effect/turf_decal/tile/yellow/diagonal_centre, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -21569,13 +21604,6 @@ /obj/machinery/atmospherics/components/tank/plasma, /turf/open/misc/asteroid, /area/station/maintenance/disposal/incinerator) -"hFq" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/binary/valve{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "hFA" = ( /obj/machinery/light/small/directional/south, /obj/effect/turf_decal/stripes/asteroid/line{ @@ -21593,7 +21621,7 @@ /obj/machinery/atmospherics/components/unary/outlet_injector/on{ dir = 8 }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "hFO" = ( /obj/machinery/power/apc/auto_name/directional/north, @@ -21779,19 +21807,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/science/robotics/mechbay) -"hJj" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "hJo" = ( /obj/structure/closet/emcloset, /turf/open/floor/plating, @@ -22377,9 +22392,7 @@ /obj/item/reagent_containers/cup/beaker{ pixel_x = 5 }, -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) "hUm" = ( @@ -22445,14 +22458,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/engine, /area/station/science/xenobiology) -"hVb" = ( -/obj/item/stock_parts/power_store/cell/bluespace{ - rigged = 1; - pixel_x = -5; - pixel_y = -8 - }, -/turf/open/misc/asteroid, -/area/station/asteroid) "hVe" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -22464,6 +22469,14 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/iron, /area/station/engineering/storage) +"hVm" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ + dir = 6 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "hVs" = ( /obj/structure/cable, /turf/open/floor/plating, @@ -22834,41 +22847,6 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/plating, /area/station/hallway/secondary/entry) -"idN" = ( -/obj/structure/table, -/obj/effect/turf_decal/bot, -/obj/machinery/camera/directional/west{ - c_tag = "Science Ordnance Test Lab"; - network = list("ss13","rd") - }, -/obj/item/assembly/prox_sensor{ - pixel_y = 2 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = 9; - pixel_y = -2 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = -4; - pixel_y = 1 - }, -/obj/item/assembly/prox_sensor{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/machinery/requests_console/directional/west{ - department = "Ordnance Test Range"; - name = "Test Range Requests Console" - }, -/obj/effect/mapping_helpers/requests_console/information, -/obj/effect/mapping_helpers/requests_console/assistance, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/binoculars{ - pixel_y = -10; - pixel_x = -5 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "idU" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, @@ -22981,7 +22959,7 @@ /area/station/engineering/lobby) "ifd" = ( /turf/open/floor/engine/airless, -/area/space) +/area/space/nearstation) "ifj" = ( /turf/open/floor/circuit/red, /area/station/ai_monitored/turret_protected/ai_upload) @@ -23425,6 +23403,11 @@ /obj/item/storage/box/monkeycubes, /turf/open/floor/iron/white/textured_half, /area/station/science/xenobiology) +"ioL" = ( +/obj/item/radio/intercom/directional/east, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "ioP" = ( /obj/structure/cable/multilayer/multiz, /obj/effect/decal/cleanable/dirt, @@ -23460,7 +23443,6 @@ "ipq" = ( /obj/structure/table, /obj/item/reagent_containers/condiment/saltshaker{ - layer = 3.1; pixel_x = -2; pixel_y = 2 }, @@ -23579,7 +23561,6 @@ "irf" = ( /obj/structure/ladder, /obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9; pixel_x = 3 }, /obj/machinery/door/window/brigdoor/left/directional/south{ @@ -24073,6 +24054,10 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/primary/central) +"iAM" = ( +/obj/machinery/computer/security/telescreen/rd/directional/south, +/turf/open/floor/glass/reinforced/plasma, +/area/station/command/heads_quarters/rd) "iBe" = ( /obj/structure/chair/pew/right{ dir = 4 @@ -24278,17 +24263,6 @@ dir = 1 }, /area/station/service/chapel) -"iEL" = ( -/obj/structure/table/glass, -/obj/item/flatpack{ - board = /obj/item/circuitboard/machine/flatpacker; - pixel_x = -5 - }, -/obj/item/multitool{ - pixel_x = 8 - }, -/turf/open/floor/iron, -/area/station/engineering/lobby) "iEO" = ( /turf/closed/wall, /area/station/security/prison/mess) @@ -24321,6 +24295,19 @@ }, /turf/open/floor/iron/white, /area/station/security/medical) +"iFn" = ( +/obj/structure/closet/crate, +/obj/item/stack/sheet/iron/fifty, +/obj/item/stack/rods/fifty, +/obj/item/stack/sheet/glass/fifty, +/obj/item/electronics/airlock, +/obj/item/electronics/airlock, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stack/sheet/mineral/plasma{ + amount = 30 + }, +/turf/open/floor/plating, +/area/station/engineering/storage) "iFq" = ( /obj/structure/cable, /obj/structure/disposalpipe/segment{ @@ -24610,22 +24597,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark/small, /area/station/science/cytology) -"iKb" = ( -/obj/machinery/door/poddoor/shutters/window/preopen{ - id = "ordstorage" - }, -/obj/effect/turf_decal/stripes/line, -/obj/machinery/button/door/directional/east{ - req_access = list("ordnance"); - name = "Ordnance Storage Shutter Control"; - id = "ordstorage" - }, -/obj/effect/turf_decal/caution/stand_clear/red, -/obj/effect/turf_decal/stripes/corner{ - dir = 4 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) +"iJZ" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/airalarm/directional/north, +/obj/structure/filingcabinet, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "iKc" = ( /turf/open/floor/iron/white, /area/station/science/lobby) @@ -24876,6 +24854,18 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, /area/station/maintenance/disposal) +"iPz" = ( +/obj/effect/turf_decal/stripes/line, +/obj/structure/window/reinforced/survival_pod/spawner/directional/south, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/bot{ + dir = 1 + }, +/obj/machinery/airalarm/directional/west, +/turf/open/floor/iron, +/area/station/command/gateway) "iPH" = ( /obj/structure/cable, /turf/open/floor/iron/dark, @@ -24889,6 +24879,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/command/corporate_showroom) +"iPW" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/components/tank/oxygen{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "iQt" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/random/trash/food_packaging, @@ -25348,9 +25345,7 @@ /area/station/medical/medbay/central) "jbL" = ( /obj/machinery/door/firedoor, -/obj/effect/turf_decal/tile/purple/anticorner/contrasted{ - dir = 2 - }, +/obj/effect/turf_decal/tile/purple/anticorner/contrasted, /turf/open/floor/iron/white, /area/station/science/lobby) "jbM" = ( @@ -26086,17 +26081,6 @@ }, /turf/open/floor/iron/textured, /area/station/cargo/storage) -"jnV" = ( -/obj/machinery/disposal/bin, -/obj/effect/turf_decal/tile/blue/fourcorners, -/obj/effect/turf_decal/box/white{ - color = "#52B4E9" - }, -/obj/structure/disposalpipe/trunk, -/obj/machinery/requests_console/auto_name/directional/north, -/obj/effect/mapping_helpers/requests_console/assistance, -/turf/open/floor/iron/white, -/area/station/medical/storage) "jnY" = ( /obj/effect/spawner/structure/window/reinforced/plasma, /obj/structure/cable, @@ -26371,11 +26355,6 @@ "jsC" = ( /turf/closed/wall/r_wall, /area/station/maintenance/department/medical/central) -"jsI" = ( -/turf/closed/mineral/random/stationside/asteroid/porus{ - mineralChance = 20 - }, -/area/space/nearstation) "jsL" = ( /obj/effect/turf_decal/bot{ dir = 1 @@ -26532,19 +26511,9 @@ }, /turf/open/floor/wood, /area/station/commons/lounge) -"jvU" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron, -/area/station/hallway/primary/central) "jvV" = ( -/obj/machinery/computer/operating{ - dir = 8 - }, /obj/structure/sign/warning/biohazard/directional/east, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "jwa" = ( /obj/structure/lattice, @@ -27126,15 +27095,21 @@ }, /turf/open/floor/engine, /area/station/medical/chemistry) +"jEw" = ( +/obj/effect/mapping_helpers/broken_floor, +/obj/structure/closet/crate/science{ + opened = 1; + icon_state = "scicrateopen" + }, +/obj/item/tank, +/obj/effect/decal/cleanable/dirt/dust, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "jED" = ( /obj/machinery/camera/autoname/directional/east, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) -"jEO" = ( -/obj/structure/transport/linear/public, -/obj/machinery/light/floor/transport, -/turf/open/floor/plating/elevatorshaft, -/area/station/medical/treatment_center) "jEX" = ( /obj/machinery/newscaster/directional/west, /turf/open/floor/carpet/orange, @@ -27295,15 +27270,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/iron/dark, /area/station/command/corporate_showroom) -"jHE" = ( -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ - dir = 9 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) "jHH" = ( /obj/machinery/disposal/bin, /obj/machinery/airalarm/directional/east, @@ -27410,7 +27376,6 @@ /area/station/maintenance/central/greater) "jIY" = ( /obj/structure/chair{ - dir = 2; name = "Defense" }, /obj/machinery/power/apc/auto_name/directional/north, @@ -27914,6 +27879,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/commons/vacant_room/commissary) +"jSs" = ( +/obj/machinery/door/airlock/command{ + name = "Head of Personnel's Booth" + }, +/obj/effect/turf_decal/siding/wood, +/obj/effect/mapping_helpers/airlock/access/any/command/hop, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "bridgehop" + }, +/turf/open/floor/carpet/green, +/area/station/command/heads_quarters/hop) "jSu" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 8 @@ -28165,13 +28145,6 @@ "jXb" = ( /turf/open/floor/iron/white/textured_large, /area/station/science/genetics) -"jXk" = ( -/obj/structure/closet/secure_closet/security/med, -/obj/structure/cable, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/item/radio/intercom/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "jXl" = ( /obj/effect/turf_decal/trimline/dark_red/arrow_cw{ dir = 5 @@ -28357,22 +28330,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/station/hallway/secondary/command) -"kaD" = ( -/obj/item/circuitboard/machine/thermomachine, -/obj/item/circuitboard/machine/thermomachine, -/obj/item/storage/bag/construction, -/obj/item/storage/bag/construction, -/obj/item/storage/bag/construction, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/closet/crate, -/obj/effect/turf_decal/stripes/line{ - dir = 1 - }, -/obj/machinery/light/dim/directional/south, -/turf/open/floor/iron/large, -/area/station/engineering/atmos) "kaJ" = ( /obj/effect/turf_decal/tile/red/half/contrasted, /obj/structure/cable, @@ -28415,18 +28372,6 @@ /obj/effect/turf_decal/bot, /turf/open/floor/iron/dark, /area/station/command/bridge) -"kbU" = ( -/obj/machinery/door/airlock/command{ - name = "Head of Personnel's Quarters" - }, -/obj/effect/turf_decal/siding/wood, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/command/hop, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "bridgehop" - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/hop) "kbW" = ( /obj/structure/chair/plastic{ dir = 8 @@ -28796,7 +28741,7 @@ /obj/effect/decal/cleanable/blood/old{ icon_state = "gib5-old" }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "khL" = ( /obj/effect/turf_decal/trimline/green/filled/line, @@ -28992,9 +28937,6 @@ /obj/structure/table/wood/fancy/orange, /turf/open/floor/wood, /area/station/command/heads_quarters/qm) -"kkx" = ( -/turf/open/misc/asteroid/airless, -/area/space/nearstation) "kkA" = ( /obj/machinery/light_switch/directional/east, /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ @@ -29024,6 +28966,18 @@ /obj/machinery/light/directional/east, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) +"kkJ" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/button/door/directional/south{ + id = "evashutter"; + name = "E.V.A. Storage Shutter Control"; + req_access = list("command") + }, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/eva) "kkK" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 4 @@ -29511,12 +29465,9 @@ "krz" = ( /obj/machinery/atmospherics/components/unary/thermomachine/freezer/on{ dir = 4; - name = "euthanization chamber freezer"; - layer = 2.89 - }, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 + name = "euthanization chamber freezer" }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/iron, /area/station/science/xenobiology) @@ -30058,6 +30009,18 @@ /obj/structure/cable, /turf/open/floor/iron/large, /area/station/service/hydroponics/garden) +"kBr" = ( +/obj/structure/barricade/wooden, +/obj/effect/decal/cleanable/dirt, +/obj/machinery/atmospherics/pipe/smart/simple/green/visible{ + dir = 4 + }, +/obj/item/flashlight/glowstick/blue{ + start_on = 1; + light_range = 2 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "kBt" = ( /obj/machinery/modular_computer/preset/civilian, /obj/machinery/button/door/directional/north{ @@ -30615,13 +30578,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/aft/upper) -"kKS" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/light_switch/directional/south, -/turf/open/floor/iron/white, -/area/station/science/lab) "kLi" = ( /turf/closed/wall/mineral/plastitanium/nodiagonal, /area/station/maintenance/department/medical/central) @@ -30727,16 +30683,6 @@ }, /turf/open/floor/engine, /area/station/command/corporate_dock) -"kNM" = ( -/obj/machinery/door/airlock/multi_tile/public{ - name = "Corporate Private Dock" - }, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/effect/mapping_helpers/airlock/access/any/admin/general, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/corporate_dock) "kNO" = ( /obj/effect/turf_decal/siding/wood, /obj/machinery/newscaster/directional/south, @@ -30897,6 +30843,16 @@ /obj/structure/sign/poster/random/directional/north, /turf/open/floor/iron, /area/station/cargo/storage) +"kQV" = ( +/obj/effect/turf_decal/trimline/dark_blue/filled/line{ + dir = 4 + }, +/obj/machinery/computer/security/telescreen/cmo/directional/east, +/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ + dir = 1 + }, +/turf/open/floor/holofloor/dark, +/area/station/command/heads_quarters/cmo) "kRl" = ( /obj/effect/landmark/event_spawn, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -31694,7 +31650,7 @@ dir = 8 }, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "lfu" = ( /obj/effect/turf_decal/tile/dark_red/opposingcorners, /obj/effect/landmark/start/bartender, @@ -32009,13 +31965,6 @@ /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, /area/station/maintenance/disposal/incinerator) -"lmc" = ( -/obj/machinery/computer/records/medical, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/cable, -/obj/machinery/power/apc/auto_name/directional/north, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "lmd" = ( /obj/effect/turf_decal/siding/wood/end{ dir = 1 @@ -32040,17 +31989,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"lmw" = ( -/obj/machinery/door/poddoor/shutters{ - id = "ordauxgarage"; - dir = 1 - }, -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/stripes/asteroid/end{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/science/ordnance) "lmI" = ( /obj/structure/lattice, /obj/machinery/atmospherics/components/unary/passive_vent/layer2{ @@ -32109,9 +32047,7 @@ /turf/open/floor/iron, /area/station/ai_monitored/command/storage/eva) "lny" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/light/directional/south, /turf/open/floor/engine, /area/station/science/xenobiology) @@ -32169,6 +32105,18 @@ /obj/item/toy/figure/borg, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/teleporter) +"loC" = ( +/obj/machinery/door/airlock/command{ + name = "Head of Personnel's Quarters" + }, +/obj/effect/turf_decal/siding/wood, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/command/hop, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "bridgehop" + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/hop) "loR" = ( /obj/effect/mapping_helpers/broken_floor, /obj/machinery/power/port_gen/pacman/pre_loaded, @@ -32265,11 +32213,6 @@ /obj/effect/landmark/event_spawn, /turf/open/floor/iron, /area/station/cargo/drone_bay) -"lqZ" = ( -/obj/item/radio/intercom/directional/east, -/obj/machinery/portable_atmospherics/canister/oxygen, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "lrc" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -32804,6 +32747,15 @@ dir = 4 }, /area/station/command/meeting_room) +"lBm" = ( +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ + dir = 9 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "lBu" = ( /obj/effect/turf_decal/tile/brown/half/contrasted{ dir = 1 @@ -32880,9 +32832,7 @@ /turf/open/floor/iron/white, /area/station/medical/chemistry/minisat) "lCK" = ( -/obj/effect/turf_decal/siding/dark_blue{ - dir = 2 - }, +/obj/effect/turf_decal/siding/dark_blue, /turf/open/floor/iron/textured_large, /area/station/command/bridge) "lCO" = ( @@ -33166,7 +33116,7 @@ /area/station/engineering/storage/tech) "lHp" = ( /obj/effect/spawner/random/medical/two_percent_xeno_egg_spawner, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "lHx" = ( /obj/machinery/door/airlock/engineering{ @@ -33581,6 +33531,15 @@ }, /turf/open/floor/plating, /area/station/maintenance/central/lesser) +"lQe" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/table, +/obj/effect/decal/cleanable/dirt/dust, +/obj/structure/cable/multilayer/connected, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/turf/open/floor/iron/dark, +/area/station/ai_monitored/command/storage/satellite) "lQl" = ( /obj/structure/cable, /obj/effect/spawner/structure/window/hollow/reinforced/end{ @@ -34007,6 +33966,13 @@ }, /turf/open/floor/iron/dark/textured, /area/station/science/robotics/lab) +"lYo" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron, +/area/station/hallway/primary/central) "lYp" = ( /obj/structure/railing/corner{ dir = 4 @@ -34157,10 +34123,6 @@ /obj/machinery/firealarm/directional/west, /turf/open/floor/wood, /area/station/commons/lounge) -"maT" = ( -/obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/glass/reinforced, -/area/station/security/prison) "maY" = ( /obj/structure/table/wood, /obj/effect/turf_decal/tile/red/half/contrasted{ @@ -34325,6 +34287,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/dark, /area/station/security/lockers) +"meT" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted, +/obj/machinery/disposal/bin, +/obj/structure/disposalpipe/trunk{ + dir = 1 + }, +/obj/machinery/digital_clock/directional/south, +/turf/open/floor/iron, +/area/station/cargo/storage) "mff" = ( /obj/effect/turf_decal/tile/blue/half/contrasted, /turf/open/floor/iron, @@ -34350,6 +34321,17 @@ /obj/effect/baseturf_helper/reinforced_plating/ceiling, /turf/open/floor/iron/dark, /area/station/science/ordnance) +"mgi" = ( +/obj/machinery/door/poddoor/shutters{ + id = "ordauxgarage"; + dir = 1 + }, +/obj/effect/turf_decal/sand/plating, +/obj/effect/turf_decal/stripes/asteroid/end{ + dir = 8 + }, +/turf/open/floor/plating, +/area/station/science/ordnance) "mgn" = ( /obj/docking_port/stationary{ dir = 8; @@ -34361,13 +34343,6 @@ }, /turf/open/space/basic, /area/space) -"mgD" = ( -/obj/machinery/computer/security/telescreen/ordnance{ - dir = 1; - pixel_y = -30 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) "mgH" = ( /obj/structure/disposalpipe/segment, /obj/structure/cable, @@ -34538,7 +34513,7 @@ dir = 8 }, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "miR" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -34803,9 +34778,7 @@ /turf/open/floor/iron/dark, /area/station/maintenance/department/engine) "mnm" = ( -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/item/radio/intercom/directional/north, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -34869,6 +34842,14 @@ "mnP" = ( /turf/open/floor/iron, /area/station/service/hydroponics) +"mnS" = ( +/obj/machinery/portable_atmospherics/pump, +/obj/effect/turf_decal/stripes/line{ + dir = 4 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "mnU" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -35153,6 +35134,21 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) +"mtG" = ( +/obj/machinery/door/airlock/command, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "bridgec" + }, +/obj/effect/mapping_helpers/airlock/access/any/admin/general, +/turf/open/floor/iron/dark/side{ + dir = 4 + }, +/area/station/command/corporate_showroom) "mtH" = ( /turf/open/floor/plating/airless, /area/station/solars/port) @@ -35591,6 +35587,20 @@ /obj/structure/weightmachine, /turf/open/floor/iron/white/textured_large, /area/station/commons/fitness/recreation) +"mBX" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Engineering Foyer" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/landmark/navigate_destination/engineering, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/turf/open/floor/iron, +/area/station/engineering/lobby) "mBY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 4 @@ -35650,16 +35660,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/kitchen, /area/station/service/kitchen) -"mCH" = ( -/obj/machinery/computer/security{ - dir = 4 - }, -/obj/structure/sign/poster/official/random/directional/west, -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ - dir = 8 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "mCN" = ( /obj/effect/spawner/structure/window/reinforced, /obj/structure/cable, @@ -35697,7 +35697,7 @@ "mDx" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "mDF" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 4 @@ -35776,6 +35776,17 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/port/greater) +"mFa" = ( +/obj/machinery/door/firedoor/heavy, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/door/airlock/research{ + name = "Ordnance Auxiliary Storage" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "mFb" = ( /obj/structure/fans/tiny, /obj/machinery/door/poddoor/massdriver_chapel, @@ -35804,21 +35815,21 @@ /obj/item/clothing/gloves/color/yellow, /turf/open/floor/iron/dark, /area/station/security/execution/education) +"mFR" = ( +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 4 + }, +/obj/structure/closet/toolcloset, +/obj/machinery/computer/security/telescreen/auxbase/directional/east, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/light_switch/directional/north, +/turf/open/floor/iron, +/area/station/construction/mining/aux_base) "mFT" = ( /obj/machinery/newscaster/directional/west, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/freezer, /area/station/security/prison/shower) -"mGg" = ( -/obj/effect/landmark/blobstart, -/obj/structure/closet/crate/science{ - opened = 1; - icon_state = "scicrateopen" - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "mGk" = ( /obj/machinery/atmospherics/pipe/smart/simple/cyan/visible{ dir = 9 @@ -35850,21 +35861,6 @@ /obj/effect/spawner/structure/window, /turf/open/floor/plating, /area/station/hallway/primary/central) -"mGw" = ( -/obj/machinery/door/airlock/command, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "bridgec" - }, -/obj/effect/mapping_helpers/airlock/access/any/admin/general, -/turf/open/floor/iron/dark/side{ - dir = 4 - }, -/area/station/command/corporate_showroom) "mGG" = ( /turf/closed/wall, /area/station/security/breakroom) @@ -35982,6 +35978,15 @@ }, /turf/open/floor/wood/large, /area/station/cargo/boutique) +"mIG" = ( +/obj/structure/window/spawner/directional/east, +/obj/effect/turf_decal/stripes/corner{ + dir = 1 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/portable_atmospherics/scrubber, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "mIH" = ( /obj/structure/lattice, /obj/effect/turf_decal/stripes/asteroid/line{ @@ -36106,6 +36111,13 @@ "mKD" = ( /turf/closed/wall, /area/station/hallway/secondary/command) +"mKF" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/machinery/light_switch/directional/south, +/turf/open/floor/iron/white, +/area/station/science/lab) "mKJ" = ( /obj/structure/lattice/catwalk, /obj/machinery/camera/autoname/directional/south, @@ -36271,6 +36283,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/security/courtroom) +"mOc" = ( +/obj/machinery/door/airlock/research{ + name = "Research Division Access" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/turf/open/floor/iron/white, +/area/station/science/research) "mOo" = ( /obj/effect/turf_decal/tile/brown/half/contrasted, /turf/open/floor/iron, @@ -36497,6 +36523,14 @@ /obj/item/pen, /turf/open/floor/carpet, /area/station/service/lawoffice) +"mTZ" = ( +/obj/structure/closet/secure_closet/security/med, +/obj/structure/cable, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/item/radio/intercom/directional/north, +/obj/machinery/power/apc/auto_name/directional/west, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "mUg" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /turf/open/floor/iron, @@ -36564,15 +36598,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos) -"mVR" = ( -/obj/structure/rack, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 1 - }, -/obj/item/radio/intercom/directional/south, -/obj/effect/spawner/random/armory/dragnet, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/security/armory) "mVU" = ( /obj/effect/spawner/random/maintenance/two, /obj/effect/spawner/random/structure/crate, @@ -36705,18 +36730,6 @@ }, /turf/open/floor/plating/airless, /area/station/maintenance/department/medical/central) -"mXT" = ( -/obj/effect/turf_decal/stripes/line, -/obj/structure/window/reinforced/survival_pod/spawner/directional/south, -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/bot{ - dir = 1 - }, -/obj/machinery/airalarm/directional/west, -/turf/open/floor/iron, -/area/station/command/gateway) "mXV" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 @@ -36986,7 +36999,7 @@ /area/station/medical/medbay/central) "nbS" = ( /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "ncc" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/window/spawner/directional/north, @@ -37063,19 +37076,6 @@ /obj/machinery/light_switch/directional/east, /turf/open/floor/iron/dark, /area/station/security/lockers) -"ndk" = ( -/obj/effect/turf_decal/trimline/dark_blue/filled/line{ - dir = 4 - }, -/obj/machinery/computer/security/telescreen/cmo{ - dir = 8; - pixel_x = 30 - }, -/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ - dir = 1 - }, -/turf/open/floor/holofloor/dark, -/area/station/command/heads_quarters/cmo) "ndo" = ( /obj/structure/flora/bush/flowers_br/style_random, /obj/structure/window/spawner/directional/west, @@ -37105,12 +37105,6 @@ }, /turf/closed/wall, /area/station/service/bar) -"ndC" = ( -/obj/structure/table/glass, -/obj/effect/spawner/random/food_or_drink/snack, -/obj/effect/spawner/random/food_or_drink/refreshing_beverage, -/turf/open/floor/iron, -/area/station/engineering/lobby) "ndI" = ( /obj/structure/table, /obj/item/hand_labeler, @@ -37224,6 +37218,13 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter) +"neH" = ( +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 8 + }, +/obj/machinery/computer/security/telescreen/minisat/directional/west, +/turf/open/floor/iron, +/area/station/command/bridge) "neM" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, /obj/structure/cable, @@ -37403,20 +37404,6 @@ dir = 10 }, /area/station/maintenance/radshelter/medical) -"nhc" = ( -/obj/machinery/door/airlock/research{ - name = "Research Division Access" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/iron/white, -/area/station/science/research) "nhf" = ( /obj/machinery/computer/records/medical/laptop{ dir = 8; @@ -37596,6 +37583,20 @@ dir = 1 }, /area/station/engineering/atmos) +"nkM" = ( +/turf/closed/wall/r_wall, +/area/station/science/ordnance/burnchamber) +"nli" = ( +/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/mixingchamber_access, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/effect/mapping_helpers/airalarm/link{ + chamber_id = "ordnanceburn" + }, +/obj/effect/mapping_helpers/airalarm/tlv_no_checks, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "nlu" = ( /obj/effect/turf_decal/trimline/blue/filled/line, /obj/structure/cable, @@ -37651,16 +37652,6 @@ /obj/structure/cable/multilayer/multiz, /turf/open/floor/plating, /area/station/maintenance/port/greater) -"nmF" = ( -/obj/machinery/computer/security/mining{ - dir = 8 - }, -/obj/machinery/keycard_auth/directional/east, -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ - dir = 4 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "nmG" = ( /obj/effect/turf_decal/trimline/blue/filled/end, /obj/structure/cable, @@ -37698,6 +37689,21 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/white, /area/station/medical/medbay/central) +"nnt" = ( +/obj/machinery/computer/security/qm, +/obj/effect/turf_decal/siding/wood{ + dir = 9 + }, +/obj/machinery/computer/security/telescreen/vault/directional/north, +/obj/machinery/button/door/directional/west{ + id = "qmprivacy"; + name = "Privacy Shutters Control" + }, +/obj/machinery/keycard_auth/directional/west{ + pixel_y = 12 + }, +/turf/open/floor/wood, +/area/station/command/heads_quarters/qm) "nnv" = ( /obj/structure/table/reinforced/rglass, /obj/effect/turf_decal/tile/blue/fourcorners, @@ -37974,10 +37980,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"nsH" = ( -/obj/structure/lattice, -/turf/open/space/openspace, -/area/space) "nsI" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -38021,8 +38023,7 @@ /area/station/service/chapel) "nur" = ( /obj/structure/chair/wood{ - dir = 1; - layer = 2.89 + dir = 1 }, /obj/machinery/light/small/directional/east, /turf/open/floor/carpet, @@ -38131,16 +38132,6 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/security/detectives_office) -"nwi" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell, -/obj/effect/turf_decal/tile/purple/half/contrasted{ - dir = 1 - }, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/iron/white, -/area/station/science/lobby) "nwp" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted{ dir = 8 @@ -38484,12 +38475,6 @@ /obj/machinery/power/port_gen/pacman/pre_loaded, /turf/open/floor/plating, /area/station/maintenance/aft/upper) -"nCv" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 5 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "nCH" = ( /obj/effect/turf_decal/tile/blue/anticorner/contrasted, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -38672,19 +38657,6 @@ /obj/structure/cable, /turf/open/floor/catwalk_floor/iron, /area/station/hallway/secondary/exit/departure_lounge) -"nHk" = ( -/obj/machinery/computer/security/telescreen/interrogation{ - dir = 8; - pixel_x = 30 - }, -/obj/effect/turf_decal/tile/red/half/contrasted{ - dir = 4 - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/structure/disposalpipe/segment, -/turf/open/floor/iron, -/area/station/security/interrogation) "nHm" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt/dust, @@ -38814,6 +38786,17 @@ /obj/effect/spawner/random/clothing/pirate_or_bandana, /turf/open/floor/plating, /area/station/maintenance/aft/upper) +"nKa" = ( +/obj/machinery/disposal/bin, +/obj/effect/turf_decal/tile/blue/fourcorners, +/obj/effect/turf_decal/box/white{ + color = "#52B4E9" + }, +/obj/structure/disposalpipe/trunk, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron/white, +/area/station/medical/storage) "nKc" = ( /obj/effect/turf_decal/tile/yellow/half/contrasted{ dir = 1 @@ -39038,6 +39021,12 @@ /obj/machinery/camera/autoname/directional/south, /turf/open/floor/iron, /area/station/hallway/primary/central) +"nNl" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 5 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "nNo" = ( /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 1 @@ -39149,7 +39138,7 @@ c_tag = "Secure - AI Upper External East" }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "nQs" = ( /obj/machinery/light/small/directional/north, /turf/open/misc/asteroid, @@ -39237,22 +39226,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"nSZ" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/machinery/portable_atmospherics/scrubber, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) -"nTb" = ( -/obj/effect/turf_decal/tile/brown/half/contrasted, -/obj/machinery/disposal/bin, -/obj/structure/disposalpipe/trunk{ - dir = 1 - }, -/obj/machinery/digital_clock/directional/south, -/turf/open/floor/iron, -/area/station/cargo/storage) "nTm" = ( /obj/structure/chair/office{ dir = 1 @@ -39433,11 +39406,6 @@ /obj/machinery/light/warm/directional/east, /turf/open/floor/wood/tile, /area/station/service/chapel) -"nYi" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "nYj" = ( /obj/effect/turf_decal/stripes/line, /obj/effect/decal/cleanable/dirt, @@ -39575,7 +39543,7 @@ /mob/living/basic/mothroach, /obj/item/stack/spacecash/c100, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "oaY" = ( /obj/effect/landmark/start/medical_doctor, /obj/effect/turf_decal/trimline/blue/filled/line, @@ -39935,6 +39903,12 @@ }, /turf/open/floor/iron/textured, /area/station/cargo/drone_bay) +"ojR" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "oka" = ( /obj/effect/turf_decal/siding/purple{ dir = 1 @@ -40054,22 +40028,6 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos) -"oml" = ( -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 4 - }, -/obj/structure/closet/toolcloset, -/obj/machinery/computer/security/telescreen{ - desc = "Used for the Auxiliary Mining Base."; - dir = 8; - name = "Auxiliary Base Monitor"; - network = list("auxbase"); - pixel_x = 28 - }, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/light_switch/directional/north, -/turf/open/floor/iron, -/area/station/construction/mining/aux_base) "omv" = ( /obj/structure/rack, /obj/effect/spawner/random/clothing/backpack, @@ -40094,6 +40052,12 @@ /obj/machinery/quantum_server, /turf/open/floor/circuit, /area/station/cargo/bitrunning/den) +"omE" = ( +/obj/structure/table/glass, +/obj/effect/spawner/random/food_or_drink/snack, +/obj/effect/spawner/random/food_or_drink/refreshing_beverage, +/turf/open/floor/iron, +/area/station/engineering/lobby) "omL" = ( /obj/machinery/door/firedoor/border_only{ dir = 8 @@ -40628,13 +40592,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) -"oxg" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/structure/cable, -/turf/open/floor/iron/white, -/area/station/science/ordnance/storage) "oxB" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -40659,6 +40616,20 @@ /obj/machinery/light_switch/directional/south, /turf/open/floor/iron, /area/station/service/hydroponics) +"oxN" = ( +/obj/machinery/door/airlock/multi_tile/public{ + dir = 4 + }, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 8 + }, +/obj/structure/cable, +/obj/effect/mapping_helpers/airlock/autoname, +/obj/effect/mapping_helpers/airlock/access/any/admin/general, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/meeting_room) "oxU" = ( /obj/effect/turf_decal/siding/wood{ dir = 1 @@ -41899,7 +41870,7 @@ spawn_scatter_radius = 1 }, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "oUm" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 8 @@ -41981,13 +41952,12 @@ /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai_upload) "oVV" = ( -/obj/structure/table, /obj/machinery/camera/directional/east{ c_tag = "Xenobiology Lab - Secure Pen"; network = list("ss13","rd","xeno") }, /obj/structure/sign/warning/biohazard/directional/east, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "oVX" = ( /obj/structure/table, @@ -42034,16 +42004,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/maintenance/solars/port) -"oWw" = ( -/obj/effect/turf_decal/stripes/line{ - dir = 9 - }, -/obj/effect/turf_decal/siding/thinplating/dark{ - dir = 9 - }, -/obj/machinery/firealarm/directional/west, -/turf/open/floor/iron/checker, -/area/station/science/research) "oWy" = ( /obj/effect/turf_decal/box/corners, /turf/open/floor/iron/dark, @@ -42581,6 +42541,12 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/security/detectives_office) +"pgJ" = ( +/obj/structure/table/reinforced, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/structure/cable, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "pgN" = ( /obj/machinery/light/small/dim/directional/east, /obj/structure/closet/crate/medical, @@ -42589,6 +42555,16 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/iron, /area/station/maintenance/department/cargo) +"pgS" = ( +/obj/effect/turf_decal/stripes/line{ + dir = 9 + }, +/obj/effect/turf_decal/siding/thinplating/dark{ + dir = 9 + }, +/obj/machinery/firealarm/directional/west, +/turf/open/floor/iron/checker, +/area/station/science/research) "pgW" = ( /obj/effect/turf_decal/trimline/blue/filled/corner, /obj/effect/landmark/start/medical_doctor, @@ -42726,20 +42702,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, /area/station/hallway/secondary/exit/departure_lounge) -"pjf" = ( -/obj/effect/turf_decal/trimline/blue/filled/line{ - dir = 9 - }, -/obj/machinery/lift_indicator/directional/south{ - linked_elevator_id = "medbay1"; - pixel_x = -32 - }, -/obj/machinery/button/elevator/directional/south{ - id = "medbay1"; - pixel_x = -32 - }, -/turf/open/floor/iron/white, -/area/station/medical/treatment_center) "pjk" = ( /obj/machinery/portable_atmospherics/canister/nitrogen, /turf/open/floor/engine/n2, @@ -42823,14 +42785,6 @@ dir = 1 }, /area/station/engineering/atmos/storage/gas) -"pka" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/light/small/broken/directional/north, -/obj/machinery/atmospherics/components/tank/oxygen{ - dir = 4 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "pkl" = ( /turf/closed/wall, /area/station/maintenance/solars/starboard/fore) @@ -43526,6 +43480,18 @@ /obj/effect/turf_decal/delivery, /turf/open/floor/iron/dark, /area/station/commons/locker) +"pwE" = ( +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 8 + }, +/obj/effect/turf_decal/box/red, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/machinery/camera/autoname/directional/north{ + network = list("ss13","rd") + }, +/obj/machinery/portable_atmospherics/canister, +/turf/open/floor/iron/dark, +/area/station/science/ordnance/testlab) "pwO" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 8 @@ -43535,7 +43501,7 @@ "pwU" = ( /obj/structure/fluff/iced_abductor, /turf/open/misc/asteroid/airless, -/area/space) +/area/space/nearstation) "pwV" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -43735,7 +43701,7 @@ "pAK" = ( /obj/item/stack/cable_coil, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "pAP" = ( /obj/effect/spawner/random/food_or_drink/seed{ spawn_all_loot = 1; @@ -43750,19 +43716,6 @@ /obj/machinery/newscaster/directional/south, /turf/open/floor/iron, /area/station/security/prison/garden) -"pBf" = ( -/obj/structure/closet/crate, -/obj/item/stack/sheet/iron/fifty, -/obj/item/stack/rods/fifty, -/obj/item/stack/sheet/glass/fifty, -/obj/item/electronics/airlock, -/obj/item/electronics/airlock, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stack/sheet/mineral/plasma{ - amount = 30 - }, -/turf/open/floor/plating, -/area/station/engineering/storage) "pBg" = ( /obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ dir = 1 @@ -44209,10 +44162,6 @@ }, /turf/open/floor/iron/white, /area/station/science/research) -"pIB" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/glass/reinforced, -/area/station/security/prison) "pIF" = ( /obj/structure/table/reinforced, /obj/machinery/door/window/brigdoor/right/directional/north{ @@ -44306,9 +44255,7 @@ "pKI" = ( /obj/structure/window/reinforced/spawner/directional/south, /obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/grass, /area/station/science/research) "pLd" = ( @@ -44495,9 +44442,7 @@ /area/station/maintenance/department/cargo) "pNW" = ( /obj/effect/turf_decal/trimline/yellow/filled/line, -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/machinery/light/directional/south, /turf/open/floor/iron/white, /area/station/medical/chemistry) @@ -44821,20 +44766,6 @@ /obj/item/food/sandwich/cheese, /turf/open/floor/iron/dark/textured, /area/station/command/heads_quarters/cmo) -"pTx" = ( -/obj/machinery/door/airlock/research{ - name = "Ordnance Lab" - }, -/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, -/obj/structure/cable, -/obj/machinery/door/firedoor/heavy, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ - dir = 4 - }, -/turf/open/floor/catwalk_floor/flat_white, -/area/station/science/ordnance) "pTC" = ( /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer2{ dir = 1 @@ -44956,8 +44887,7 @@ /area/station/commons/storage/art) "pVd" = ( /obj/structure/chair/wood{ - dir = 1; - layer = 2.89 + dir = 1 }, /obj/structure/railing, /turf/open/floor/carpet, @@ -45007,6 +44937,16 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/cargo/warehouse/upper) +"pWh" = ( +/obj/machinery/computer/security/telescreen/interrogation/directional/east, +/obj/effect/turf_decal/tile/red/half/contrasted{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/turf/open/floor/iron, +/area/station/security/interrogation) "pWn" = ( /obj/structure/railing/corner{ dir = 8 @@ -45230,7 +45170,7 @@ dir = 4 }, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "pZP" = ( /obj/machinery/atmospherics/pipe/multiz/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, @@ -45546,6 +45486,7 @@ "qgy" = ( /obj/effect/turf_decal/trimline/green/filled/line, /obj/structure/railing/corner, +/obj/machinery/firealarm/directional/south, /turf/open/floor/iron/white, /area/station/hallway/secondary/entry) "qgA" = ( @@ -45601,17 +45542,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron/textured_large, /area/station/engineering/storage/tech) -"qgZ" = ( -/obj/machinery/atmospherics/pipe/smart/simple/dark/visible, -/obj/machinery/airalarm/directional/east, -/obj/effect/mapping_helpers/airalarm/mixingchamber_access, +"qhg" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/command, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/effect/mapping_helpers/airlock/autoname, +/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/airalarm/link{ - chamber_id = "ordnanceburn" - }, -/obj/effect/mapping_helpers/airalarm/tlv_no_checks, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) +/obj/effect/mapping_helpers/airlock/access/any/admin/general, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/emergency_closet) "qhm" = ( /obj/effect/turf_decal/sand/plating, /obj/effect/turf_decal/stripes/asteroid/line{ @@ -45641,19 +45582,6 @@ "qhP" = ( /turf/closed/wall/r_wall, /area/station/security/execution/education) -"qhQ" = ( -/obj/machinery/door/poddoor/shutters/window{ - id = "ordauxgarage"; - dir = 1 - }, -/obj/effect/turf_decal/caution/stand_clear, -/obj/effect/turf_decal/sand/plating, -/obj/effect/turf_decal/stripes/asteroid/line, -/obj/effect/turf_decal/stripes/asteroid/line{ - dir = 1 - }, -/turf/open/floor/plating, -/area/station/science/ordnance) "qhS" = ( /obj/structure/disposalpipe/junction/flip{ dir = 1 @@ -45760,7 +45688,7 @@ "qjk" = ( /obj/structure/broken_flooring/singular/directional/south, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "qjp" = ( /obj/structure/flora/bush/flowers_yw/style_random, /obj/structure/window/spawner/directional/north, @@ -45873,6 +45801,17 @@ /obj/machinery/airalarm/directional/west, /turf/open/floor/circuit/green, /area/station/ai_monitored/command/nuke_storage) +"qmg" = ( +/obj/structure/table/wood, +/obj/item/stock_parts/power_store/cell/crap, +/obj/item/clothing/head/collectable/hop{ + name = "novelty HoP hat" + }, +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/turf/open/floor/wood/tile, +/area/station/command/corporate_showroom) "qml" = ( /obj/machinery/chem_master, /obj/effect/turf_decal/trimline/yellow/filled/line, @@ -45907,6 +45846,15 @@ /obj/machinery/door/firedoor, /turf/open/floor/plating, /area/station/hallway/secondary/command) +"qmD" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Primary Tool Storage" + }, +/obj/structure/cable, +/obj/structure/disposalpipe/segment, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "qmI" = ( /obj/effect/turf_decal/tile/purple/fourcorners, /obj/machinery/light/small/directional/north, @@ -45950,17 +45898,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/medbay/central) -"qny" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/bot, -/obj/machinery/button/door/directional/east{ - name = "shutter control"; - id = "ordauxgarage" - }, -/turf/open/floor/plating, -/area/station/science/ordnance) "qnQ" = ( /obj/effect/turf_decal/stripes/line, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -45969,6 +45906,14 @@ }, /turf/open/floor/iron/white/smooth_half, /area/station/science/robotics/lab) +"qnV" = ( +/obj/effect/decal/cleanable/dirt, +/obj/machinery/light/small/broken/directional/north, +/obj/machinery/atmospherics/components/tank/oxygen{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/maintenance/department/science) "qob" = ( /obj/structure/table, /obj/item/stock_parts/micro_laser{ @@ -46777,10 +46722,8 @@ /turf/open/floor/engine/cult, /area/station/service/library) "qEr" = ( -/obj/structure/table, -/obj/item/electropack, -/obj/item/electropack, -/turf/open/floor/engine, +/obj/machinery/light/floor, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "qEC" = ( /obj/effect/turf_decal/stripes{ @@ -46847,6 +46790,10 @@ }, /turf/open/floor/iron/dark, /area/station/ai_monitored/turret_protected/aisat/teleporter) +"qFS" = ( +/obj/structure/window/reinforced/spawner/directional/south, +/turf/open/floor/glass/reinforced, +/area/station/security/prison) "qGk" = ( /turf/closed/wall/r_wall, /area/station/hallway/secondary/command) @@ -46986,21 +46933,6 @@ /obj/structure/girder, /turf/open/misc/asteroid, /area/station/asteroid) -"qII" = ( -/obj/effect/turf_decal/delivery, -/obj/structure/table, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/item/raw_anomaly_core/random{ - pixel_x = -5; - pixel_y = 7 - }, -/obj/item/raw_anomaly_core/random, -/obj/item/raw_anomaly_core/random{ - pixel_x = 7; - pixel_y = 9 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "qIJ" = ( /obj/structure/table/wood, /obj/effect/spawner/random/engineering/tool, @@ -47590,7 +47522,6 @@ dir = 1 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/structure/disposalpipe/segment, /obj/effect/mapping_helpers/airlock/abandoned, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/plating, @@ -47828,17 +47759,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/catwalk_floor/iron_dark, /area/station/maintenance/department/engine) -"qZf" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/obj/machinery/light/directional/east, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ - dir = 10 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "qZh" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, @@ -48090,6 +48010,16 @@ }, /turf/open/floor/iron/checker, /area/station/maintenance/department/medical) +"rcz" = ( +/obj/machinery/computer/security{ + dir = 4 + }, +/obj/structure/sign/poster/official/random/directional/west, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 8 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "rcG" = ( /obj/machinery/mech_bay_recharge_port{ dir = 1 @@ -48155,9 +48085,7 @@ /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) "rdP" = ( -/obj/machinery/chem_dispenser{ - layer = 2.7 - }, +/obj/machinery/chem_dispenser, /obj/machinery/newscaster/directional/east, /obj/effect/turf_decal/trimline/yellow/filled/line{ dir = 6 @@ -48582,13 +48510,6 @@ }, /turf/open/floor/iron/dark, /area/station/hallway/primary/fore) -"rjv" = ( -/obj/machinery/computer/security/telescreen/rd{ - pixel_y = -30; - dir = 1 - }, -/turf/open/floor/glass/reinforced/plasma, -/area/station/command/heads_quarters/rd) "rjx" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/cable, @@ -48625,12 +48546,6 @@ /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/iron, /area/station/security/brig/entrance) -"rjP" = ( -/obj/structure/table/glass, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron, -/area/station/engineering/lobby) "rjX" = ( /turf/closed/wall, /area/station/security/courtroom) @@ -48642,6 +48557,15 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/xenobiology) +"rkd" = ( +/obj/structure/closet/crate/science, +/obj/item/wrench, +/obj/effect/decal/cleanable/dirt/dust, +/obj/machinery/firealarm/directional/west, +/obj/effect/spawner/random/maintenance, +/obj/effect/turf_decal/stripes/line, +/turf/open/floor/iron/dark/smooth_large, +/area/station/science/ordnance) "rkm" = ( /obj/machinery/washing_machine, /turf/open/floor/iron/freezer, @@ -48742,6 +48666,18 @@ }, /turf/open/floor/engine, /area/station/engineering/atmospherics_engine) +"rkZ" = ( +/obj/machinery/suit_storage_unit/ce, +/obj/machinery/requests_console/directional/south{ + department = "Chief Engineer's Desk"; + name = "Chief Engineer's Request Console" + }, +/obj/machinery/computer/security/telescreen/ce/directional/west, +/obj/effect/turf_decal/trimline/yellow/filled/line{ + dir = 10 + }, +/turf/open/floor/iron, +/area/station/command/heads_quarters/ce) "rlp" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/plating, @@ -48888,15 +48824,20 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/security) -"roH" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/table, -/obj/effect/decal/cleanable/dirt/dust, -/obj/structure/cable/multilayer/connected, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/turf/open/floor/iron/dark, -/area/station/ai_monitored/command/storage/satellite) +"roK" = ( +/obj/machinery/door/airlock/research{ + name = "Ordnance Lab" + }, +/obj/effect/mapping_helpers/airlock/access/all/science/ordnance, +/obj/structure/cable, +/obj/machinery/door/firedoor/heavy, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ + dir = 4 + }, +/turf/open/floor/catwalk_floor/flat_white, +/area/station/science/ordnance) "roO" = ( /obj/machinery/door/airlock/security/glass{ name = "Prison Wing" @@ -49027,7 +48968,7 @@ c_tag = "Secure - AI Upper External South" }, /turf/open/space/openspace, -/area/space) +/area/space/nearstation) "rqJ" = ( /obj/machinery/air_sensor/plasma_tank, /turf/open/floor/engine/plasma, @@ -49279,12 +49220,6 @@ }, /turf/open/floor/iron/white/textured, /area/station/maintenance/department/medical/central) -"rvu" = ( -/obj/structure/cable, -/obj/structure/window/reinforced/spawner/directional/west, -/obj/machinery/firealarm/directional/east, -/turf/open/floor/iron/dark, -/area/station/security/prison) "rwf" = ( /obj/effect/decal/cleanable/dirt/dust, /turf/open/floor/plating, @@ -49477,6 +49412,19 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/white, /area/station/medical/treatment_center) +"ryG" = ( +/obj/structure/cable, +/obj/machinery/door/airlock/engineering/glass{ + name = "Break Room" + }, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/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/any/engineering/general, +/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, +/turf/open/floor/iron, +/area/station/engineering/break_room) "ryP" = ( /obj/structure/closet/secure_closet/brig{ id = "Cell 2"; @@ -50219,16 +50167,6 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/hallway/secondary/exit/departure_lounge) -"rKH" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ - dir = 5 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "rKW" = ( /obj/machinery/photocopier, /obj/effect/turf_decal/bot_red, @@ -51271,18 +51209,6 @@ }, /turf/open/floor/engine, /area/station/hallway/secondary/entry) -"sbE" = ( -/obj/machinery/atmospherics/components/unary/portables_connector/visible{ - dir = 8 - }, -/obj/effect/turf_decal/box/red, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/machinery/camera/autoname/directional/north{ - network = list("ss13","rd") - }, -/obj/machinery/portable_atmospherics/canister, -/turf/open/floor/iron/dark, -/area/station/science/ordnance/testlab) "sbL" = ( /obj/machinery/door/airlock/engineering{ name = "Aft Port Solar Access" @@ -51301,12 +51227,6 @@ /obj/structure/lattice/catwalk, /turf/open/openspace, /area/station/science/xenobiology) -"sbS" = ( -/obj/machinery/power/apc/auto_name/directional/west, -/obj/structure/cable, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) "sbU" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/effect/spawner/random/structure/crate, @@ -51543,6 +51463,17 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, /area/station/engineering/main) +"sgR" = ( +/obj/effect/turf_decal/tile/brown/half/contrasted{ + dir = 1 + }, +/obj/machinery/door/firedoor/border_only{ + dir = 4 + }, +/obj/machinery/requests_console/auto_name/directional/north, +/obj/effect/mapping_helpers/requests_console/assistance, +/turf/open/floor/iron, +/area/station/cargo/storage) "sgW" = ( /obj/structure/chair/office/tactical{ dir = 8 @@ -52349,16 +52280,10 @@ /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "sug" = ( -/obj/structure/table, -/obj/item/assembly/igniter{ - pixel_x = 4; - pixel_y = 3 - }, -/obj/item/assembly/igniter, /obj/machinery/sparker/directional/south{ id = "Xenobio" }, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "suq" = ( /obj/effect/landmark/start/station_engineer, @@ -52855,9 +52780,7 @@ /turf/open/floor/iron, /area/station/engineering/break_room) "sDq" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/light/directional/north, /turf/open/floor/engine, /area/station/science/xenobiology) @@ -53282,7 +53205,7 @@ pixel_y = -24 }, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "sLt" = ( /obj/machinery/camera/autoname/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -53534,23 +53457,6 @@ }, /turf/open/floor/plating, /area/station/maintenance/port/lesser) -"sQi" = ( -/obj/machinery/computer/security/qm, -/obj/effect/turf_decal/siding/wood{ - dir = 9 - }, -/obj/machinery/computer/security/telescreen/vault{ - pixel_y = 30 - }, -/obj/machinery/button/door/directional/west{ - id = "qmprivacy"; - name = "Privacy Shutters Control" - }, -/obj/machinery/keycard_auth/directional/west{ - pixel_y = 12 - }, -/turf/open/floor/wood, -/area/station/command/heads_quarters/qm) "sQC" = ( /obj/structure/chair/pew/left{ dir = 4 @@ -54259,23 +54165,6 @@ "tdq" = ( /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"tdN" = ( -/obj/machinery/door/airlock/research{ - name = "Research Division Access" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/iron/white, -/area/station/science/research) "tdW" = ( /obj/effect/turf_decal/tile/red/anticorner/contrasted{ dir = 4 @@ -54350,23 +54239,6 @@ }, /turf/open/space/basic, /area/space/nearstation) -"tgn" = ( -/obj/machinery/computer/pod/old/mass_driver_controller/trash{ - pixel_x = -32; - pixel_y = 6; - range = 5 - }, -/obj/structure/cable, -/obj/machinery/button/door/directional/west{ - id = "Disposal Exit"; - name = "Disposal Vent Control"; - req_access = list("maint_tunnels"); - pixel_x = -32; - pixel_y = -6 - }, -/obj/effect/decal/cleanable/dirt/dust, -/turf/open/floor/plating, -/area/station/maintenance/disposal) "tgr" = ( /obj/machinery/atmospherics/pipe/heat_exchanging/simple{ dir = 6 @@ -54894,6 +54766,10 @@ /obj/machinery/camera/autoname/directional/north{ network = list("ss13","rd") }, +/obj/item/flatpack{ + board = /obj/item/circuitboard/machine/flatpacker + }, +/obj/item/multitool, /turf/open/floor/iron/white, /area/station/science/lab) "tpj" = ( @@ -55208,6 +55084,13 @@ /obj/structure/railing, /turf/open/floor/plating, /area/station/maintenance/central/greater) +"tuT" = ( +/obj/effect/turf_decal/siding/purple{ + dir = 1 + }, +/obj/machinery/computer/security/telescreen/ordnance/directional/south, +/turf/open/floor/iron/white, +/area/station/science/ordnance/testlab) "tuY" = ( /obj/effect/turf_decal/trimline/blue/arrow_ccw{ dir = 1 @@ -55435,15 +55318,6 @@ }, /turf/open/floor/iron/large, /area/station/hallway/secondary/exit/departure_lounge) -"tAs" = ( -/obj/machinery/suit_storage_unit/standard_unit, -/obj/machinery/door/window/brigdoor/right/directional/east{ - req_access = list("command") - }, -/obj/effect/turf_decal/bot, -/obj/machinery/light/small/dim/directional/west, -/turf/open/floor/iron, -/area/station/command/bridge) "tAt" = ( /obj/machinery/power/smes, /turf/open/floor/plating, @@ -55490,6 +55364,23 @@ }, /turf/open/floor/engine, /area/station/engineering/supermatter/room) +"tBe" = ( +/obj/machinery/computer/pod/old/mass_driver_controller/trash{ + pixel_x = -32; + pixel_y = 6; + range = 5 + }, +/obj/structure/cable, +/obj/machinery/button/door/directional/west{ + id = "Disposal Exit"; + name = "Disposal Vent Control"; + req_access = list("maint_tunnels"); + pixel_x = -32; + pixel_y = -6 + }, +/obj/effect/decal/cleanable/dirt/dust, +/turf/open/floor/plating, +/area/station/maintenance/disposal) "tBg" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -55538,7 +55429,7 @@ dir = 4 }, /obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) "tBF" = ( /obj/structure/closet/secure_closet/chief_medical, @@ -55728,13 +55619,6 @@ "tEy" = ( /turf/open/floor/plating, /area/station/maintenance/department/bridge) -"tEB" = ( -/obj/machinery/door/airlock/engineering/glass{ - name = "Primary Tool Storage" - }, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/turf/open/floor/iron, -/area/station/commons/storage/primary) "tEH" = ( /obj/machinery/light/directional/east, /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ @@ -55780,7 +55664,6 @@ dir = 1 }, /obj/effect/mapping_helpers/airlock/access/all/engineering/maintenance, -/obj/structure/disposalpipe/segment, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/maintenance/central/greater) @@ -55874,19 +55757,6 @@ /obj/machinery/light_switch/directional/west, /turf/open/floor/iron/white/smooth_large, /area/station/medical/chemistry) -"tGU" = ( -/obj/structure/cable, -/obj/machinery/door/airlock/engineering/glass{ - name = "Break Room" - }, -/obj/effect/turf_decal/tile/yellow/fourcorners, -/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/any/engineering/general, -/obj/effect/mapping_helpers/airlock/access/any/engineering/construction, -/turf/open/floor/iron, -/area/station/engineering/break_room) "tGW" = ( /obj/machinery/atmospherics/pipe/smart/simple/dark/visible, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -56170,9 +56040,7 @@ /turf/open/floor/plating/reinforced, /area/station/command/emergency_closet) "tMu" = ( -/obj/structure/railing{ - layer = 3.01 - }, +/obj/structure/railing, /obj/effect/spawner/random/structure/closet_private, /turf/open/floor/carpet/red, /area/station/command/heads_quarters/qm) @@ -56364,18 +56232,6 @@ /obj/machinery/telecomms/bus/preset_one, /turf/open/floor/circuit/green/telecomms/mainframe, /area/station/tcommsat/server) -"tOz" = ( -/obj/machinery/atmospherics/components/binary/pump{ - dir = 8 - }, -/obj/machinery/airalarm/directional/south, -/obj/effect/mapping_helpers/airalarm/mixingchamber_access, -/obj/effect/mapping_helpers/airalarm/link{ - chamber_id = "ordnancefreezer" - }, -/obj/effect/mapping_helpers/airalarm/tlv_no_checks, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "tOA" = ( /obj/machinery/door/airlock/highsecurity{ name = "Gravity Generator Room" @@ -56570,14 +56426,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/science/xenobiology) -"tRT" = ( -/obj/structure/table/reinforced, -/obj/item/storage/medkit/regular, -/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ - dir = 1 - }, -/turf/open/floor/iron/dark, -/area/station/command/bridge) "tRX" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -56714,6 +56562,13 @@ dir = 4 }, /area/station/command/meeting_room) +"tUF" = ( +/obj/structure/table/wood, +/obj/item/flashlight/lamp, +/obj/machinery/camera/autoname/directional/north, +/obj/machinery/keycard_auth/directional/north, +/turf/open/floor/carpet/green, +/area/station/command/heads_quarters/hop) "tUG" = ( /obj/structure/chair/stool/bar/directional/west, /obj/effect/turf_decal/siding/wood{ @@ -56735,14 +56590,6 @@ /obj/structure/cable, /turf/closed/wall/r_wall, /area/station/engineering/main) -"tVn" = ( -/obj/effect/turf_decal/tile/neutral/fourcorners, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ - dir = 6 - }, -/turf/open/floor/iron/dark, -/area/station/science/ordnance) "tVF" = ( /obj/effect/spawner/structure/window/hollow/reinforced/middle, /obj/structure/cable, @@ -57030,8 +56877,13 @@ /turf/open/floor/iron/showroomfloor, /area/station/maintenance/department/engine) "uak" = ( -/obj/structure/table, -/obj/item/restraints/handcuffs, +/obj/effect/spawner/structure/window/reinforced, +/obj/structure/cable, +/obj/machinery/door/poddoor/preopen{ + id = "Xenolab"; + name = "Test Chamber Blast Door" + }, +/obj/structure/sign/warning/gas_mask/directional/south, /turf/open/floor/engine, /area/station/science/xenobiology) "uat" = ( @@ -57140,24 +56992,6 @@ /obj/effect/landmark/start/hangover/closet, /turf/open/floor/iron, /area/station/commons/fitness/recreation) -"uby" = ( -/obj/structure/transport/linear/public, -/obj/machinery/light/floor/transport, -/turf/open/floor/plating/elevatorshaft, -/area/station/cargo/storage) -"ubF" = ( -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/machinery/door/firedoor, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "bridgec" - }, -/obj/effect/mapping_helpers/airlock/access/any/admin/general, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) "ubV" = ( /obj/structure/chair{ dir = 1 @@ -57357,6 +57191,16 @@ /obj/structure/cable, /turf/open/floor/iron/dark, /area/station/command/gateway) +"ufW" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted{ + dir = 1 + }, +/obj/structure/table, +/obj/item/restraints/handcuffs/cable/yellow, +/obj/item/restraints/handcuffs, +/obj/machinery/computer/security/telescreen/normal/directional/west, +/turf/open/floor/iron, +/area/station/hallway/secondary/exit/departure_lounge) "ugh" = ( /obj/machinery/door/airlock/research{ name = "Research and Development Lab" @@ -57768,9 +57612,7 @@ /area/station/hallway/primary/starboard) "umA" = ( /obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/engine, /area/station/science/xenobiology) "umK" = ( @@ -57866,9 +57708,7 @@ /turf/open/floor/plating, /area/station/maintenance/department/medical/central) "uoP" = ( -/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2{ - dir = 2 - }, +/obj/machinery/atmospherics/components/trinary/filter/atmos/flipped/co2, /obj/effect/turf_decal/tile/blue/fourcorners, /turf/open/floor/catwalk_floor/flat_white, /area/station/medical/treatment_center) @@ -58321,6 +58161,22 @@ /obj/structure/cable, /turf/open/floor/iron, /area/station/engineering/storage) +"uwV" = ( +/obj/machinery/door/poddoor/shutters/window/preopen{ + id = "ordstorage" + }, +/obj/effect/turf_decal/stripes/line, +/obj/machinery/button/door/directional/east{ + req_access = list("ordnance"); + name = "Ordnance Storage Shutter Control"; + id = "ordstorage" + }, +/obj/effect/turf_decal/caution/stand_clear/red, +/obj/effect/turf_decal/stripes/corner{ + dir = 4 + }, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "uwW" = ( /obj/structure/cable/layer1, /turf/open/floor/iron, @@ -58970,6 +58826,14 @@ /obj/structure/cable, /turf/open/floor/plating/airless, /area/station/solars/port) +"uJq" = ( +/obj/machinery/computer/records/medical, +/obj/effect/turf_decal/tile/red/fourcorners, +/obj/machinery/computer/security/telescreen/cmo/directional/north{ + name = "Medbay Monitor" + }, +/turf/open/floor/iron/dark, +/area/station/security/checkpoint/medical) "uJt" = ( /obj/effect/mapping_helpers/engraving, /turf/closed/wall, @@ -59340,6 +59204,20 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron/large, /area/station/service/hydroponics/garden) +"uPg" = ( +/obj/effect/turf_decal/trimline/blue/filled/line{ + dir = 9 + }, +/obj/machinery/lift_indicator/directional/south{ + linked_elevator_id = "medbay1"; + pixel_x = -32 + }, +/obj/machinery/button/elevator/directional/south{ + id = "medbay1"; + pixel_x = -32 + }, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "uPi" = ( /obj/effect/turf_decal/tile/brown/half/contrasted, /obj/effect/decal/cleanable/dirt, @@ -59714,6 +59592,19 @@ }, /turf/open/floor/iron/dark/corner, /area/station/engineering/atmos/upper) +"uXb" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/obj/structure/disposalpipe/segment{ + dir = 4 + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ + dir = 5 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "uXe" = ( /obj/structure/cable, /obj/effect/decal/cleanable/dirt, @@ -59723,20 +59614,6 @@ }, /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) -"uXk" = ( -/obj/effect/turf_decal/tile/red/anticorner/contrasted, -/obj/machinery/computer/security/telescreen{ - desc = "Used for watching Prison Wing holding areas."; - dir = 1; - name = "Prison Monitor"; - network = list("prison"); - pixel_y = -30 - }, -/obj/machinery/modular_computer/preset/cargochat/security{ - dir = 1 - }, -/turf/open/floor/iron, -/area/station/security/office) "uXp" = ( /obj/docking_port/stationary{ dir = 2; @@ -59925,6 +59802,14 @@ }, /turf/open/floor/iron/white, /area/station/medical/virology) +"vay" = ( +/obj/structure/table/reinforced, +/obj/item/storage/medkit/regular, +/obj/effect/turf_decal/tile/dark_blue/half/contrasted{ + dir = 1 + }, +/turf/open/floor/iron/dark, +/area/station/command/bridge) "vaC" = ( /turf/open/floor/catwalk_floor/iron_dark, /area/station/command/corporate_dock) @@ -59933,7 +59818,7 @@ name = "Delaminates-The-Supermatter" }, /turf/open/misc/asteroid/airless, -/area/space) +/area/space/nearstation) "vaY" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/broken_flooring/pile, @@ -60012,6 +59897,22 @@ /obj/effect/mapping_helpers/airlock/access/all/service/crematorium, /turf/open/floor/iron/dark, /area/station/service/chapel/office) +"vcZ" = ( +/obj/item/circuitboard/machine/thermomachine, +/obj/item/circuitboard/machine/thermomachine, +/obj/item/storage/bag/construction, +/obj/item/storage/bag/construction, +/obj/item/storage/bag/construction, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/closet/crate, +/obj/effect/turf_decal/stripes/line{ + dir = 1 + }, +/obj/machinery/light/dim/directional/south, +/turf/open/floor/iron/large, +/area/station/engineering/atmos) "vdb" = ( /obj/effect/turf_decal/trimline/blue/filled/line{ dir = 1 @@ -60210,7 +60111,7 @@ "vgW" = ( /obj/structure/lattice, /turf/open/floor/engine/airless, -/area/space) +/area/space/nearstation) "vhf" = ( /obj/machinery/atmospherics/pipe/multiz/supply/visible/layer4, /obj/machinery/atmospherics/pipe/multiz/scrubbers/visible/layer2, @@ -60263,7 +60164,7 @@ dir = 4 }, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "viK" = ( /obj/effect/turf_decal/tile/dark_blue/half/contrasted{ dir = 8 @@ -60333,6 +60234,17 @@ /obj/effect/turf_decal/tile/red/half/contrasted, /turf/open/floor/iron, /area/station/security/warden) +"vjB" = ( +/obj/machinery/door/poddoor/shutters{ + id = "ordauxgarage"; + dir = 1 + }, +/obj/effect/turf_decal/sand/plating, +/obj/effect/turf_decal/stripes/asteroid/end{ + dir = 4 + }, +/turf/open/floor/plating, +/area/station/science/ordnance) "vjD" = ( /obj/structure/cable, /obj/structure/sign/poster/random/directional/north, @@ -60377,6 +60289,14 @@ /obj/effect/turf_decal/stripes/full, /turf/open/floor/iron, /area/station/science/robotics/mechbay) +"vkv" = ( +/obj/item/stock_parts/power_store/cell/bluespace{ + rigged = 1; + pixel_x = -5; + pixel_y = -8 + }, +/turf/open/misc/asteroid, +/area/station/asteroid) "vkx" = ( /obj/machinery/recycler{ dir = 4 @@ -60406,22 +60326,6 @@ /obj/structure/tank_dispenser/oxygen, /turf/open/floor/plating, /area/station/engineering/supermatter/room) -"vkP" = ( -/obj/machinery/door/airlock/command/glass{ - name = "Bridge" - }, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/structure/cable, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "bridgec" - }, -/obj/effect/mapping_helpers/airlock/access/any/admin/general, -/turf/open/floor/iron, -/area/station/hallway/secondary/command) "vkR" = ( /obj/machinery/firealarm/directional/west, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ @@ -61018,7 +60922,7 @@ dir = 4 }, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "vyj" = ( /obj/structure/stairs/east, /obj/structure/railing, @@ -61280,13 +61184,6 @@ }, /turf/open/floor/engine, /area/station/science/xenobiology) -"vDA" = ( -/obj/effect/decal/cleanable/dirt, -/obj/machinery/atmospherics/components/tank/oxygen{ - dir = 8 - }, -/turf/open/floor/plating, -/area/station/maintenance/department/science) "vDK" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -61441,9 +61338,7 @@ "vFG" = ( /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/stairs/north, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron/dark/textured_large, /area/station/engineering/storage/tech) "vFH" = ( @@ -61703,9 +61598,7 @@ /area/station/maintenance/department/cargo) "vLa" = ( /obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/grass, /area/station/science/research) "vLs" = ( @@ -61795,6 +61688,19 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/service/bar) +"vME" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Break Room" + }, +/obj/effect/mapping_helpers/airlock/access/any/engineering/general, +/obj/structure/cable, +/obj/effect/turf_decal/tile/yellow/fourcorners, +/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/any/engineering/construction, +/turf/open/floor/iron, +/area/station/engineering/break_room) "vMN" = ( /obj/structure/flora/coconuts, /turf/open/floor/grass, @@ -61802,7 +61708,7 @@ "vMR" = ( /obj/machinery/door/poddoor/incinerator_ordmix, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "vNc" = ( /obj/machinery/modular_computer/preset/id{ dir = 1 @@ -61993,21 +61899,6 @@ /obj/effect/mapping_helpers/broken_floor, /turf/open/floor/plating, /area/station/maintenance/department/cargo) -"vPL" = ( -/obj/machinery/suit_storage_unit/ce, -/obj/machinery/requests_console/directional/south{ - department = "Chief Engineer's Desk"; - name = "Chief Engineer's Request Console" - }, -/obj/machinery/computer/security/telescreen/ce{ - dir = 4; - pixel_x = -30 - }, -/obj/effect/turf_decal/trimline/yellow/filled/line{ - dir = 10 - }, -/turf/open/floor/iron, -/area/station/command/heads_quarters/ce) "vPN" = ( /obj/structure/urinal/directional/north, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -62048,6 +61939,15 @@ /obj/structure/grille, /turf/open/floor/plating, /area/station/engineering/supermatter/room) +"vQf" = ( +/obj/machinery/suit_storage_unit/standard_unit, +/obj/machinery/door/window/brigdoor/right/directional/east{ + req_access = list("command") + }, +/obj/effect/turf_decal/bot, +/obj/machinery/light/small/dim/directional/west, +/turf/open/floor/iron, +/area/station/command/bridge) "vQn" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 @@ -62469,21 +62369,6 @@ /obj/structure/cable, /turf/open/floor/plating, /area/station/maintenance/department/medical/central) -"vXW" = ( -/obj/machinery/door/airlock/command{ - name = "Head of Personnel's Booth" - }, -/obj/effect/turf_decal/siding/wood, -/obj/effect/mapping_helpers/airlock/access/any/command/hop, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "bridgehop" - }, -/turf/open/floor/carpet/green, -/area/station/command/heads_quarters/hop) "vYg" = ( /obj/effect/turf_decal/bot/right, /turf/open/floor/engine, @@ -62497,15 +62382,6 @@ "vYz" = ( /turf/closed/wall/r_wall, /area/station/medical/chemistry/minisat) -"vYH" = ( -/obj/effect/spawner/structure/window/reinforced/plasma, -/obj/machinery/door/poddoor/preopen{ - id = "rdoffice"; - name = "Research Director's Shutters" - }, -/obj/structure/cable, -/turf/open/floor/plating, -/area/station/command/heads_quarters/rd) "vYL" = ( /obj/machinery/computer/atmos_control/nitrous_tank, /obj/effect/turf_decal/tile/yellow{ @@ -62706,14 +62582,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/fore) -"wcl" = ( -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/spawner/random/structure/closet_empty/crate, -/obj/item/stock_parts/power_store/cell, -/obj/structure/broken_flooring, -/obj/machinery/airalarm/directional/north, -/turf/open/floor/plating, -/area/station/cargo/warehouse) "wcm" = ( /obj/effect/turf_decal/tile/neutral/fourcorners, /obj/machinery/light/cold/directional/north, @@ -62953,7 +62821,7 @@ "wgI" = ( /obj/machinery/air_sensor/ordnance_burn_chamber, /turf/open/floor/engine/vacuum, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "wgK" = ( /obj/effect/turf_decal/box/corners{ dir = 8 @@ -63249,6 +63117,17 @@ /obj/effect/turf_decal/stripes, /turf/open/floor/iron/dark, /area/station/engineering/atmospherics_engine) +"wmM" = ( +/obj/effect/turf_decal/tile/neutral/fourcorners, +/obj/structure/cable, +/obj/machinery/light/directional/east, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/machinery/atmospherics/pipe/smart/simple/green/hidden{ + dir = 10 + }, +/turf/open/floor/iron/dark, +/area/station/science/ordnance) "wmO" = ( /obj/effect/spawner/structure/window/reinforced, /turf/open/floor/glass/reinforced, @@ -63284,6 +63163,12 @@ dir = 8 }, /area/station/science/xenobiology) +"wnH" = ( +/obj/machinery/power/apc/auto_name/directional/west, +/obj/structure/cable, +/obj/machinery/portable_atmospherics/canister/oxygen, +/turf/open/floor/iron/white, +/area/station/science/ordnance/storage) "wnL" = ( /turf/open/floor/plating, /area/station/medical/medbay/central) @@ -63907,24 +63792,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/station/ai_monitored/command/storage/satellite) -"wzW" = ( -/obj/machinery/door/airlock/research{ - name = "Research Division Access" - }, -/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ - cycle_id = "sci-entrance" - }, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 4 - }, -/obj/machinery/door/firedoor, -/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, -/obj/structure/disposalpipe/segment{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/all/science/general, -/turf/open/floor/iron/white, -/area/station/science/research) "wzX" = ( /obj/structure/flora/tree/palm/style_random, /turf/open/floor/grass, @@ -64450,7 +64317,7 @@ "wHl" = ( /obj/structure/girder, /turf/open/misc/asteroid/airless, -/area/space) +/area/space/nearstation) "wHo" = ( /obj/effect/turf_decal/tile/neutral, /obj/effect/spawner/random/entertainment/arcade{ @@ -64532,31 +64399,13 @@ }, /turf/open/floor/iron/dark, /area/station/medical/chemistry/minisat) -"wJo" = ( -/obj/structure/table/reinforced, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = 4; - pixel_y = 5 - }, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -8; - pixel_y = 9 - }, -/obj/item/stock_parts/power_store/cell/high, -/obj/machinery/cell_charger, -/obj/item/borg/upgrade/rename{ - pixel_x = 3; - pixel_y = 18 - }, -/turf/open/floor/iron/dark/textured, -/area/station/science/robotics/lab) "wJy" = ( /turf/closed/wall, /area/station/medical/storage) "wJC" = ( /obj/structure/sign/poster/contraband/communist_state/directional/east, /turf/open/space/basic, -/area/space) +/area/space/nearstation) "wJN" = ( /obj/machinery/space_heater/improvised_chem_heater, /turf/open/floor/plating, @@ -64998,7 +64847,7 @@ /area/station/hallway/primary/central) "wSj" = ( /turf/closed/mineral/asteroid, -/area/space) +/area/space/nearstation) "wSn" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/carpet, @@ -65135,6 +64984,21 @@ /obj/effect/spawner/structure/window/reinforced/plasma, /turf/open/floor/plating, /area/station/engineering/atmos) +"wVL" = ( +/obj/machinery/door/airlock/research{ + name = "Research Division Access" + }, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "sci-entrance" + }, +/obj/effect/mapping_helpers/airlock/unres{ + dir = 4 + }, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/effect/mapping_helpers/airlock/access/all/science/general, +/turf/open/floor/iron/white, +/area/station/science/research) "wWk" = ( /obj/effect/turf_decal/stripes{ dir = 1 @@ -65278,6 +65142,14 @@ /obj/effect/mapping_helpers/airlock/autoname, /turf/open/floor/iron, /area/station/command/heads_quarters/rd) +"wYO" = ( +/obj/effect/turf_decal/tile/red/anticorner/contrasted, +/obj/machinery/computer/security/telescreen/prison/directional/south, +/obj/machinery/modular_computer/preset/cargochat/security{ + dir = 1 + }, +/turf/open/floor/iron, +/area/station/security/office) "wYW" = ( /obj/machinery/door/airlock/research{ autoclose = 0; @@ -65433,6 +65305,19 @@ /obj/effect/turf_decal/siding/purple/corner, /turf/open/floor/iron/white/smooth_large, /area/station/science/research) +"xaC" = ( +/obj/machinery/portable_atmospherics/canister/anesthetic_mix, +/obj/machinery/atmospherics/components/unary/portables_connector/visible{ + dir = 1 + }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/machinery/door/window/right/directional/north{ + req_access = list("medical"); + name = "Anti Assistant Protection Door" + }, +/obj/effect/turf_decal/tile/blue/fourcorners, +/turf/open/floor/iron/white, +/area/station/medical/treatment_center) "xaH" = ( /obj/structure/filingcabinet, /obj/machinery/button/ticket_machine{ @@ -65507,6 +65392,10 @@ /obj/structure/rack, /turf/open/floor/plating, /area/station/asteroid) +"xbr" = ( +/obj/structure/window/reinforced/spawner/directional/west, +/turf/open/floor/glass/reinforced, +/area/station/security/prison) "xbs" = ( /obj/machinery/airalarm/directional/south, /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, @@ -65759,7 +65648,7 @@ "xfQ" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/closed/wall/r_wall, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "xfS" = ( /obj/structure/sign/departments/aisat/directional/east, /obj/effect/turf_decal/tile/dark_blue/anticorner/contrasted{ @@ -66137,10 +66026,24 @@ /turf/open/floor/iron, /area/station/maintenance/disposal/incinerator) "xna" = ( -/obj/structure/table, -/obj/item/tank/internals/anesthetic, -/turf/open/floor/engine, +/turf/open/floor/engine/xenobio, /area/station/science/xenobiology) +"xnc" = ( +/obj/machinery/door/airlock/command/glass{ + name = "Bridge" + }, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, +/obj/structure/disposalpipe/segment, +/obj/effect/mapping_helpers/airlock/cyclelink_helper_multi{ + cycle_id = "bridgec" + }, +/obj/effect/mapping_helpers/airlock/access/any/admin/general, +/turf/open/floor/iron, +/area/station/hallway/secondary/command) "xne" = ( /obj/structure/cable, /obj/effect/spawner/random/maintenance/two, @@ -66640,17 +66543,6 @@ /obj/structure/cable/layer1, /turf/open/floor/engine, /area/station/engineering/supermatter/room) -"xwJ" = ( -/obj/effect/mapping_helpers/broken_floor, -/obj/structure/closet/crate/science{ - opened = 1; - icon_state = "scicrateopen" - }, -/obj/item/tank, -/obj/effect/decal/cleanable/dirt/dust, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "xwO" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/disposalpipe/segment, @@ -66683,6 +66575,16 @@ }, /turf/open/floor/iron, /area/station/engineering/atmos/pumproom) +"xxs" = ( +/obj/machinery/door/airlock/multi_tile/public{ + name = "Corporate Private Dock" + }, +/obj/structure/cable, +/obj/machinery/door/firedoor, +/obj/effect/mapping_helpers/airlock/access/any/command/general, +/obj/effect/mapping_helpers/airlock/access/any/admin/general, +/turf/open/floor/iron/dark/smooth_large, +/area/station/command/corporate_dock) "xxH" = ( /obj/machinery/firealarm/directional/south, /obj/effect/turf_decal/stripes/line{ @@ -66702,9 +66604,7 @@ "xxO" = ( /obj/structure/window/reinforced/spawner/directional/north, /obj/structure/flora/bush/fullgrass/style_random, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/grass, /area/station/science/research) "xxT" = ( @@ -67304,6 +67204,16 @@ /obj/item/radio/intercom/directional/west, /turf/open/floor/iron, /area/station/hallway/primary/central) +"xJt" = ( +/obj/effect/turf_decal/sand/plating, +/obj/machinery/light/small/directional/south, +/obj/structure/broken_flooring/pile, +/obj/machinery/atmospherics/components/binary/pump/off/green/hidden{ + dir = 4; + name = "Aux Oxygen To Port" + }, +/turf/open/floor/plating, +/area/station/science/ordnance) "xJA" = ( /obj/structure/table/wood/fancy/blue, /obj/effect/spawner/random/aimodule/neutral, @@ -67441,6 +67351,26 @@ }, /turf/open/floor/iron/dark/textured, /area/station/medical/morgue) +"xNb" = ( +/obj/effect/turf_decal/siding/wood{ + dir = 8 + }, +/obj/machinery/button/door/directional/south{ + id = "capshut"; + pixel_x = -8; + name = "shutter control" + }, +/obj/machinery/fax{ + fax_name = "Captain's Office"; + name = "Captain's Fax Machine" + }, +/obj/structure/table/reinforced, +/obj/machinery/keycard_auth/directional/south{ + pixel_y = -24; + pixel_x = 8 + }, +/turf/open/floor/carpet/royalblue, +/area/station/command/heads_quarters/captain/private) "xNh" = ( /obj/effect/turf_decal/stripes/corner{ dir = 4 @@ -67658,20 +67588,6 @@ /obj/effect/spawner/random/structure/crate, /turf/open/floor/plating, /area/station/maintenance/central/greater) -"xQY" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen{ - desc = "Used for monitoring medbay to ensure patient safety."; - dir = 1; - name = "Medbay Monitor"; - network = list("medbay"); - pixel_x = -2; - pixel_y = 3 - }, -/obj/effect/turf_decal/tile/red/fourcorners, -/obj/structure/cable, -/turf/open/floor/iron/dark, -/area/station/security/checkpoint/medical) "xRj" = ( /obj/structure/fence{ dir = 4 @@ -67710,15 +67626,6 @@ }, /turf/open/floor/iron, /area/station/hallway/primary/central) -"xSa" = ( -/obj/structure/table, -/obj/machinery/computer/security/telescreen/ordnance{ - dir = 1; - pixel_y = 4; - pixel_x = 1 - }, -/turf/open/floor/iron/white, -/area/station/science/ordnance/testlab) "xSE" = ( /obj/machinery/door/poddoor/lift/preopen{ transport_linked_id = "cargo" @@ -67759,20 +67666,6 @@ /obj/structure/disposalpipe/segment, /turf/open/floor/iron, /area/station/cargo/storage) -"xTN" = ( -/obj/machinery/door/airlock/multi_tile/public{ - dir = 4 - }, -/obj/effect/mapping_helpers/airlock/access/any/command/general, -/obj/machinery/door/firedoor, -/obj/effect/mapping_helpers/airlock/unres{ - dir = 8 - }, -/obj/structure/cable, -/obj/effect/mapping_helpers/airlock/autoname, -/obj/effect/mapping_helpers/airlock/access/any/admin/general, -/turf/open/floor/iron/dark/smooth_large, -/area/station/command/meeting_room) "xTP" = ( /obj/machinery/atmospherics/pipe/smart/simple/green/visible{ dir = 5 @@ -67931,7 +67824,6 @@ "xWR" = ( /obj/effect/landmark/start/ai/secondary, /obj/machinery/door/window/brigdoor/right/directional/south{ - layer = 4.1; name = "Secondary AI Core Access"; req_access = list("ai_upload"); pixel_y = -4 @@ -67955,15 +67847,6 @@ }, /turf/open/floor/circuit/green, /area/station/ai_monitored/turret_protected/ai) -"xXf" = ( -/obj/structure/closet/crate/science, -/obj/item/wrench, -/obj/effect/decal/cleanable/dirt/dust, -/obj/machinery/firealarm/directional/west, -/obj/effect/spawner/random/maintenance, -/obj/effect/turf_decal/stripes/line, -/turf/open/floor/iron/dark/smooth_large, -/area/station/science/ordnance) "xXh" = ( /obj/machinery/power/shieldwallgen, /obj/effect/decal/cleanable/dirt/dust, @@ -68010,7 +67893,7 @@ "xXF" = ( /obj/machinery/atmospherics/components/binary/dp_vent_pump/high_volume/incinerator_ordmix, /turf/open/floor/engine, -/area/station/science/ordnance) +/area/station/science/ordnance/burnchamber) "xXY" = ( /obj/effect/turf_decal/tile/neutral/opposingcorners, /obj/effect/turf_decal/siding/wideplating/dark/end{ @@ -68340,6 +68223,13 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/plating, /area/station/service/theater) +"ydy" = ( +/obj/machinery/door/airlock/engineering/glass{ + name = "Primary Tool Storage" + }, +/obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, +/turf/open/floor/iron, +/area/station/commons/storage/primary) "ydC" = ( /obj/effect/decal/cleanable/dirt/dust, /obj/structure/holosign/barrier, @@ -73331,15 +73221,15 @@ cLf cLf iUF tLg -bwC -bwC -bwC -bwC -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc +dUc +dUc +dUc +dUc tLg iUF cLf @@ -73587,7 +73477,7 @@ cLf cLf cLf iUF -bwC +dUc wfz uuN uuN @@ -73597,7 +73487,7 @@ uuN uuN uuN wfz -bwC +dUc iUF cLf cLf @@ -73844,17 +73734,17 @@ cLf cLf cLf cLf -bwC +dUc uuN cLf cLf cLf -bwC +dUc cLf cLf cLf uuN -bwC +dUc cLf cLf cLf @@ -74101,17 +73991,17 @@ cLf cLf cLf cLf -bwC +dUc uuN cLf cLf cLf -bwC +dUc cLf cLf cLf uuN -bwC +dUc cLf cLf cLf @@ -74358,17 +74248,17 @@ cLf cLf cLf cLf -bwC +dUc uuN cLf cLf cLf -bwC +dUc cLf cLf cLf uuN -bwC +dUc cLf cLf cLf @@ -74615,17 +74505,17 @@ cLf cLf cLf cLf -bwC +dUc uuN -bwC -bwC -bwC +dUc +dUc +dUc itt -bwC -bwC -bwC +dUc +dUc +dUc uuN -bwC +dUc cLf cLf cLf @@ -74872,17 +74762,17 @@ cLf cLf cLf cLf -bwC +dUc uuN cLf cLf cLf -bwC +dUc cLf cLf cLf uuN -bwC +dUc cLf cLf cLf @@ -75129,17 +75019,17 @@ cLf cLf cLf cLf -bwC +dUc uuN cLf cLf cLf -bwC +dUc cLf cLf cLf uuN -bwC +dUc cLf cLf cLf @@ -75386,17 +75276,17 @@ cLf cLf cLf cLf -bwC +dUc uuN cLf cLf cLf -bwC +dUc cLf cLf cLf uuN -bwC +dUc cLf cLf cLf @@ -75643,7 +75533,7 @@ cLf cLf cLf iUF -bwC +dUc wfz uuN uuN @@ -75653,7 +75543,7 @@ uuN uuN uuN wfz -bwC +dUc iUF cLf cLf @@ -75901,15 +75791,15 @@ cLf cLf iUF tLg -bwC -bwC -bwC -bwC -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc +dUc +dUc +dUc +dUc tLg iUF cLf @@ -76118,16 +76008,16 @@ iUF iUF cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf iUF -bwC +dUc iUF cLf cLf @@ -76159,17 +76049,17 @@ cLf iUF iUF cLf -bwC +dUc cLf uuN uuN uuN cLf -bwC +dUc cLf iUF iUF -bwC +dUc cLf cLf cLf @@ -76375,16 +76265,16 @@ iUF cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf iUF -bwC +dUc iUF cLf cLf @@ -76416,17 +76306,17 @@ cLf cLf cLf cLf -bwC +dUc cLf uuN uuN uuN cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -76629,19 +76519,19 @@ cLf cLf cLf iUF -bwC -bwC -bwC +dUc +dUc +dUc rGO cLf qJB cLf rGO -bwC -bwC -bwC +dUc +dUc +dUc iUF -bwC +dUc iUF cLf cLf @@ -76673,22 +76563,22 @@ cLf cLf cLf cLf -bwC +dUc cLf uuN uuN uuN cLf -bwC +dUc cLf cLf cLf -bwC -bwC +dUc +dUc iUF iUF iUF -bwC +dUc cLf cLf cLf @@ -76898,7 +76788,7 @@ cLf cLf cLf iUF -bwC +dUc iUF cLf cLf @@ -76930,22 +76820,22 @@ cLf cLf cLf cLf -bwC +dUc cLf uuN uuN uuN cLf -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -77155,7 +77045,7 @@ cLf cLf cLf iUF -bwC +dUc iUF cLf cLf @@ -77187,22 +77077,22 @@ cLf cLf cLf cLf -bwC +dUc cLf uuN uuN uuN cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf kJV cLf -bwC +dUc cLf cLf cLf @@ -77412,7 +77302,7 @@ rGO cLf cLf iUF -bwC +dUc iUF cLf cLf @@ -77444,24 +77334,24 @@ cLf cLf cLf cLf -bwC +dUc cLf uuN uuN uuN cLf -bwC +dUc cLf cLf cLf iUF iUF -bwC -bwC -bwC +dUc +dUc +dUc iUF iUF -bwC +dUc mPv cLf cLf @@ -77669,7 +77559,7 @@ opZ rGO cLf iUF -bwC +dUc iUF cLf cLf @@ -77678,7 +77568,7 @@ cLf cLf cLf cLf -bwC +dUc iUF cLf cLf @@ -77695,12 +77585,12 @@ cLf cLf cLf iUF -bwC -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc +dUc iUF iUF kYn @@ -77712,18 +77602,18 @@ iUF iUF cLf cLf -bwC +dUc cLf cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -77914,7 +77804,7 @@ cLf cLf cLf iUF -bwC +dUc rGO sKL rGO @@ -77924,18 +77814,18 @@ nMk rGO sKL rGO -bwC +dUc iUF -bwC +dUc iUF -bwC -bwC +dUc +dUc iUF iUF iUF iUF -bwC -bwC +dUc +dUc cLf cLf cLf @@ -77952,7 +77842,7 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -77960,16 +77850,16 @@ cLf cLf iUF cLf -bwC +dUc cLf -bwC +dUc cLf -bwC +dUc cLf iUF cLf cLf -bwC +dUc cLf cLf cLf @@ -78183,14 +78073,14 @@ opZ opZ cLf iUF -bwC +dUc iUF cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -78209,19 +78099,19 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -78253,12 +78143,12 @@ kYn cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf shs @@ -78438,16 +78328,16 @@ nMk rGO sKL rGO -bwC +dUc iUF -bwC +dUc iUF cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -78466,19 +78356,19 @@ cLf cLf cLf tyd -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc cLf -bwC +dUc cLf -bwC +dUc cLf cLf rnk @@ -78505,8 +78395,8 @@ shs shs kYn shs -bwC -bwC +dUc +dUc cLf cLf oDH @@ -78515,7 +78405,7 @@ oDH cLf cLf cLf -bwC +dUc cLf cLf shs @@ -78685,7 +78575,7 @@ cLf cLf cLf iUF -bwC +dUc opZ opZ opZ @@ -78697,14 +78587,14 @@ opZ fYX cLf iUF -bwC +dUc iUF cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -78723,15 +78613,15 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc rnk rnk oFu @@ -78757,13 +78647,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf oDH weu @@ -78771,10 +78661,10 @@ oDH weu oDH bfl -bwC +dUc wfz -bwC -bwC +dUc +dUc shs cLf cLf @@ -78944,24 +78834,24 @@ cLf iUF cLf cLf -bwC +dUc cLf cLf pNk cLf cLf -bwC +dUc cLf cLf iUF -bwC +dUc iUF cLf cLf cLf cLf cLf -bwC +dUc cLf tyd cLf @@ -78980,7 +78870,7 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -79014,14 +78904,14 @@ vxX vxX vxX cLf -bwC +dUc cLf cLf cLf -bwC -bwC +dUc +dUc wfz -bwC +dUc oDH weu oDH @@ -79029,7 +78919,7 @@ weu oDH lTb oDH -bwC +dUc cLf cLf shs @@ -79201,24 +79091,24 @@ cLf iUF cLf cLf -bwC +dUc cLf cLf pNk cLf cLf -bwC +dUc cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -79237,7 +79127,7 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -79275,9 +79165,9 @@ loh loh loh loh -bwC +dUc cLf -bwC +dUc cLf oDH weu @@ -79286,7 +79176,7 @@ weu oDH weu oDH -bwC +dUc cLf cLf shs @@ -79458,24 +79348,24 @@ cLf cLf cLf cLf -bwC +dUc cLf oyS oDZ oyS cLf -bwC +dUc tyd cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -79494,7 +79384,7 @@ cLf cLf cLf cLf -bwC +dUc cLf vxX vxX @@ -79534,8 +79424,8 @@ sRo iFz iFz iFz -bwC -bwC +dUc +dUc lTb weu lTb @@ -79721,12 +79611,12 @@ oyS hPg oyS cLf -bwC +dUc cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -79751,7 +79641,7 @@ cLf cLf cLf cLf -bwC +dUc vxX vxX vxX @@ -79802,7 +79692,7 @@ kqy kqy kqy pBk -bwC +dUc shs cLf cLf @@ -79964,7 +79854,7 @@ cLf cLf cLf mPv -bwC +dUc nAb eSS eSS @@ -79978,12 +79868,12 @@ oyS qjc oyS oyS -bwC +dUc cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -79993,10 +79883,10 @@ vxX vxX vxX cLf -bwC -bwC +dUc +dUc mfA -bwC +dUc fVZ mWe aoL @@ -80048,8 +79938,8 @@ hVs iFz iFz iFz -bwC -bwC +dUc +dUc lTb weu lTb @@ -80238,9 +80128,9 @@ poi poi poi mxq -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -80250,7 +80140,7 @@ poi poi poi cLf -bwC +dUc cLf fsI cLf @@ -80303,9 +80193,9 @@ loh loh loh loh -bwC +dUc cLf -bwC +dUc cLf oDH weu @@ -80314,7 +80204,7 @@ weu oDH weu oDH -bwC +dUc cLf cLf shs @@ -80520,7 +80410,7 @@ uMa sdc sdc hCS -wcl +apW lLk lLk sWd @@ -80560,10 +80450,10 @@ sHh xyN nNv rnk -bwC -bwC +dUc +dUc wfz -bwC +dUc oDH weu oDH @@ -80571,7 +80461,7 @@ weu oDH lTb oDH -bwC +dUc cLf cLf shs @@ -80827,10 +80717,10 @@ oDH weu oDH bfl -bwC +dUc wfz dUc -bwC +dUc shs cLf cLf @@ -80992,7 +80882,7 @@ cLf cLf cLf mPv -bwC +dUc nAb eSS eSS @@ -81085,7 +80975,7 @@ oDH cLf cLf cLf -bwC +dUc cLf cLf shs @@ -81337,12 +81227,12 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf shs @@ -81495,22 +81385,22 @@ cLf cLf cLf cLf -bwC +dUc iUF iUF iUF -bwC +dUc iUF iUF iUF -bwC +dUc iUF iUF iUF -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc eSS cro cro @@ -81588,11 +81478,11 @@ fma fma gtK rnk -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc kYn shs shs @@ -81748,21 +81638,21 @@ cLf cLf cLf cLf -bwC +dUc iUF iUF iUF -bwC +dUc cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -81782,7 +81672,7 @@ eio eio mxq iPw -tgn +tBe vjZ jtd bPP @@ -81852,7 +81742,7 @@ rnk cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -82005,21 +81895,21 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -82318,7 +82208,7 @@ ghU icM hoX wOU -sQi +nnt dNW hdK xiV @@ -82364,8 +82254,8 @@ uoo bMx hiO oFu -bwC -bwC +dUc +dUc iUF cLf cLf @@ -82520,7 +82410,7 @@ cLf cLf cLf iUF -bwC +dUc xrb xrb dEG @@ -82563,7 +82453,7 @@ jch oey dhN sdc -ezH +sgR eQQ vSt umh @@ -82596,7 +82486,7 @@ pzx jgH yds kFT -jXk +mTZ hQK dPg fvo @@ -82604,7 +82494,7 @@ jPO osT dci piH -hng +xaC dKw dKw dKw @@ -82621,7 +82511,7 @@ sEY vJf rnk rnk -bwC +dUc cLf iUF cLf @@ -82793,7 +82683,7 @@ cem cem whY baH -bwC +dUc qhP dJK geh @@ -82853,7 +82743,7 @@ mBj jHx iJF kFT -lmc +uJq sGt ltj fvo @@ -82861,10 +82751,10 @@ pwn eaL eUB dgR -pjf +uPg bui yit -jEO +dpf yit dKw miD @@ -83033,7 +82923,7 @@ tyd cLf cLf cLf -bwC +dUc cLf xrb nEx @@ -83112,7 +83002,7 @@ vGn kFT moH bhZ -xQY +pgJ fvo lcM eaL @@ -83133,7 +83023,7 @@ lXG rnk cLf cLf -bwC +dUc kYn shs cLf @@ -83548,7 +83438,7 @@ cLf cLf cLf iUF -bwC +dUc xrb iNq oHi @@ -83849,11 +83739,11 @@ uDB uDB uDB sdc -uby +fLM soZ jCX jCX -uby +fLM sdc guF uyL @@ -84061,7 +83951,7 @@ cLf cLf cLf cLf -bwC +dUc cLf oPe xch @@ -84161,7 +84051,7 @@ oaP oFu cLf cLf -bwC +dUc cLf cLf cLf @@ -84318,7 +84208,7 @@ cLf cLf cLf cLf -bwC +dUc vxX ubm ubm @@ -84350,10 +84240,10 @@ uZc uZc uZc uZc -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc poi poi poi @@ -84372,7 +84262,7 @@ xSE twR uyL dUS -nTb +meT sdc mHU cAQ @@ -84386,7 +84276,7 @@ ylV wdx rnk rnk -jnV +nKa kxa gwA mcl @@ -84418,7 +84308,7 @@ oqj rnk vxX vxX -bwC +dUc cLf cLf cLf @@ -84614,7 +84504,7 @@ cLf cLf cLf cLf -bwC +dUc htf kpT jdK @@ -84871,17 +84761,17 @@ cLf cLf cLf cLf -bwC +dUc htf iHv rZJ rAK sdc -uby +fLM jCX qzF jCX -uby +fLM sdc dro uyL @@ -85128,7 +85018,7 @@ cLf cLf cLf cLf -bwC +dUc poi mhF jdK @@ -85385,7 +85275,7 @@ cLf cLf cLf cLf -bwC +dUc poi htf poi @@ -85642,7 +85532,7 @@ uOf cLf cLf cLf -bwC +dUc iua tdq cTa @@ -85897,8 +85787,8 @@ cLf ved gxu ved -bwC -bwC +dUc +dUc poi poi poi @@ -86473,7 +86363,7 @@ paa pEZ wiK mXM -bwC +dUc gGf cLf cLf @@ -87407,8 +87297,8 @@ cLf cLf cLf cLf -bwC -bwC +dUc +dUc cLf cLf cLf @@ -87499,7 +87389,7 @@ lKh dgp paa rnk -bwC +dUc iUF cLf cLf @@ -87756,7 +87646,7 @@ dgp dgp rFd rnk -bwC +dUc iUF cLf cLf @@ -88004,10 +87894,10 @@ kJT fhL kJT cLf -bwC +dUc cLf -bwC -kkx +dUc +cxg rnk wdV nHm @@ -88181,8 +88071,8 @@ pnS pnS pnS unk -bwC -bwC +dUc +dUc jza mbM mbM @@ -88261,9 +88151,9 @@ kJT kyi kJT cLf -bwC +dUc cLf -bwC +dUc cLf rnk xuD @@ -88440,7 +88330,7 @@ pnS pnS cLf cLf -bwC +dUc uuN uuN plA @@ -88517,11 +88407,11 @@ hDK kJT iTL kJT -bwC +dUc wfz uuN wfz -bwC +dUc jsC xWi jsC @@ -88697,7 +88587,7 @@ unk cLf cLf cLf -bwC +dUc uuN uuN plA @@ -88950,10 +88840,10 @@ cLf cLf cLf cLf -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc rTM rTM rTM @@ -88997,7 +88887,7 @@ axi bAw cGP ygb -mXT +iPz lQN qsI haf @@ -89224,7 +89114,7 @@ gPZ pDG nGd xst -uXk +wYO ecC wrx gpV @@ -89291,7 +89181,7 @@ pUY kJT hgV wJC -bwC +dUc uuN gJE paa @@ -89548,7 +89438,7 @@ hYg kJT rnk rnk -bwC +dUc wfz gJE paa @@ -89805,7 +89695,7 @@ ndI kJT afV rnk -bwC +dUc uuN gJE paa @@ -90494,7 +90384,7 @@ cLf cLf cLf iUF -bwC +dUc hDo sIM wVz @@ -90757,7 +90647,7 @@ laF mnX rkt bqr -nHk +pWh pyF waJ lEM @@ -90831,13 +90721,13 @@ uZx paa lqf rnk -jsI -jsI -jsI +vxX +vxX +vxX cLf cLf -bwC -bwC +dUc +dUc cLf cLf cLf @@ -91008,7 +90898,7 @@ cLf cLf cLf iUF -bwC +dUc hDo fmB rAu @@ -91088,13 +90978,13 @@ uZx paa pDQ rnk -jsI -jsI +vxX +vxX rnk rnk rnk rnk -bwC +dUc cLf cLf cLf @@ -91576,7 +91466,7 @@ tWs acc oRa hWx -jvU +lYo acc vjq pKb @@ -92373,13 +92263,13 @@ uZx rms tcN rnk -bwC -bwC +dUc +dUc rnk rnk rnk rnk -bwC +dUc cLf cLf cLf @@ -92563,14 +92453,14 @@ axD axD axD fYe -bwC -bwC -bwC +dUc +dUc +dUc uuN uuN -bwC -bwC -bwC +dUc +dUc +dUc fYe fYe fri @@ -92632,11 +92522,11 @@ lqf rnk cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -92811,7 +92701,7 @@ cLf cLf cLf cLf -bwC +dUc cLf fZF mGX @@ -92891,9 +92781,9 @@ hzF hzF hzF hzF -bwC -bwC -bwC +dUc +dUc +dUc cLf cLf cLf @@ -93150,7 +93040,7 @@ pCJ hzF cLf cLf -bwC +dUc cLf cLf cLf @@ -93320,29 +93210,29 @@ cLf cLf cLf iUF -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc axD axD axD axD -fWa +bRl jxq vEF axD axD -bwC +dUc uuN -bwC +dUc uuN uuN -bwC +dUc uuN -bwC -bwC +dUc +dUc fYe fri nAe @@ -93592,12 +93482,12 @@ dGh jqu hrM cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf fYe fYe @@ -93849,7 +93739,7 @@ nbm iDJ hrM cLf -bwC +dUc cLf cLf cLf @@ -94091,11 +93981,11 @@ cLf cLf cLf iUF -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc axD hnE axD @@ -94346,8 +94236,8 @@ cLf cLf cLf cLf -bwC -bwC +dUc +dUc cLf cLf cLf @@ -94360,11 +94250,11 @@ jpd jRc ruc jcW -fSH +xNb axD eKR sgz -fKp +tUF sPv eoo iLG @@ -94619,13 +94509,13 @@ aEP axD axD axD -tAs +vQf sgz vlD puT tsP wNa -vXW +jSs jzC mcw aKg @@ -94869,15 +94759,15 @@ cLf bqX bqX bhY -mCH +rcz eYO mrq eBK bQc -hgE +neH nZB fCY -kbU +loC ejb fZr bUM @@ -95375,11 +95265,11 @@ cLf cLf cLf iUF -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc eKR pVC yhk @@ -95910,7 +95800,7 @@ alc jZj nAx kaz -ubF +dbJ mMH sPS jww @@ -96167,7 +96057,7 @@ cgo wHs odL wHs -vkP +xnc rEp qgd xaI @@ -96660,11 +96550,11 @@ cLf cLf cLf iUF -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc eKR cNQ kjs @@ -96679,7 +96569,7 @@ oOP eKR eKR juw -mGw +mtG juw juw juw @@ -96748,7 +96638,7 @@ tNz nHK cLf cLf -bwC +dUc cLf cLf cLf @@ -96924,7 +96814,7 @@ cLf cLf bqX cQP -tRT +vay eon sZK sZK @@ -97003,8 +96893,8 @@ xcl xrd ppk hzF -bwC -bwC +dUc +dUc wfz cLf cLf @@ -97182,12 +97072,12 @@ cLf bqX bqX tsJ -nmF +bCr kYU jTd rkz lrc -gez +eHa vQP ita hOb @@ -97262,7 +97152,7 @@ azg azg cLf cLf -bwC +dUc cLf cLf cLf @@ -97695,7 +97585,7 @@ cLf cLf cLf cLf -bwC +dUc cLf eKR iSE @@ -97946,13 +97836,13 @@ cLf cLf cLf iUF -bwC -bwC -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc +dUc +dUc cLf eKR tju @@ -98467,7 +98357,7 @@ cLf cLf cLf iUF -bwC +dUc eKR eKR uCw @@ -98483,7 +98373,7 @@ juw juw juw wxW -flW +qmg dTd npg juw @@ -98731,13 +98621,13 @@ jVy brP jVy eKR -bwC -bwC -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc +dUc +dUc juw vOe vOe @@ -99242,10 +99132,10 @@ ili cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc dVE pjN hoe @@ -99489,8 +99379,8 @@ kGm aPz aPz xsN -bwC -bwC +dUc +dUc cLf cLf reg @@ -99574,7 +99464,7 @@ vFr vlM uEo cLf -bwC +dUc cLf cLf cLf @@ -99747,7 +99637,7 @@ oOC oOC xsN cLf -bwC +dUc cLf cLf dwF @@ -99756,7 +99646,7 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -99830,7 +99720,7 @@ mUU sLt dnt uEo -bwC +dUc iUF cLf cLf @@ -99998,7 +99888,7 @@ cLf cLf cLf iUF -bwC +dUc srs aPz aPz @@ -100278,7 +100168,7 @@ cLf iWV hJs xqe -bwC +dUc utM utM kOd @@ -100530,8 +100420,8 @@ vBs hfm eVE jEY -bwC -bwC +dUc +dUc vfJ hJs vfJ @@ -100792,7 +100682,7 @@ cLf iWV hJs iWV -bwC +dUc utM utM wWD @@ -101058,7 +100948,7 @@ lnZ dCu xUR vRm -dLy +kkJ utM xsv tHF @@ -101305,8 +101195,8 @@ cLf cLf cLf hJs -bwC -bwC +dUc +dUc obA utM utM @@ -101557,10 +101447,10 @@ eEx sYI sfY srs -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc hJs cLf cLf @@ -101795,8 +101685,8 @@ cLf cLf cLf iUF -bwC -bwC +dUc +dUc unk vxX srs @@ -101816,7 +101706,7 @@ srs srs cLf cLf -bwC +dUc cLf hqF epi @@ -102073,7 +101963,7 @@ skw srs cLf cLf -bwC +dUc cLf cLf cLf @@ -102130,7 +102020,7 @@ nSH oqz kXz oqz -tEB +ydy dct hqk jFc @@ -102143,7 +102033,7 @@ uFb jke kiK uFb -bwC +dUc iUF cLf cLf @@ -102330,7 +102220,7 @@ hnL srs cLf cLf -bwC +dUc cLf cLf cLf @@ -102339,7 +102229,7 @@ vfJ vfJ vfJ vfJ -nwi +bUu grl pJN iKc @@ -102401,7 +102291,7 @@ vBV cpF uFb cLf -bwC +dUc cLf cLf cLf @@ -102587,7 +102477,7 @@ kYu kYu cLf cLf -bwC +dUc cLf cLf cLf @@ -102843,10 +102733,10 @@ pgk ins kYu kYu -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc vxX vxX vxX @@ -102874,7 +102764,7 @@ nJF stw azv dZd -wJo +esX lYm azv azv @@ -103080,9 +102970,9 @@ cLf cLf cLf iUF -bwC -bwC -bwC +dUc +dUc +dUc dZy awB glq @@ -103158,7 +103048,7 @@ uLY teG sHg sHg -etE +qmD wKY iFq jFc @@ -103433,7 +103323,7 @@ jge uFb cLf cLf -bwC +dUc cLf iUF cLf @@ -103599,7 +103489,7 @@ cLf vxX dZy fhG -roH +lQe qrt rmx wHJ @@ -103890,7 +103780,7 @@ ipv tdk hkc swi -cEi +dHy cBB trL nMP @@ -103918,11 +103808,11 @@ kBM nMI cLf xAy -bwC -bwC +dUc +dUc xAy cLf -bwC +dUc xAy xAy xTw @@ -104143,9 +104033,9 @@ qIQ irJ rBI cPt -tdN +ctE ixU -nhc +mOc swi swi swi @@ -104174,7 +104064,7 @@ jUU kBM pWw cLf -bwC +dUc cLf cLf uuN @@ -104205,7 +104095,7 @@ wag xzJ kub pUr -bwC +dUc iUF cLf cLf @@ -104398,12 +104288,12 @@ cPt lcj tCz dfr -kKS +mKF cPt iQZ oqp dfM -oWw +pgS lMT ixU ixU @@ -104431,7 +104321,7 @@ jUU nyQ pWw cLf -bwC +dUc cLf cLf uuN @@ -104688,7 +104578,7 @@ jUU kBM pWw cLf -bwC +dUc cLf cLf axt @@ -104946,11 +104836,11 @@ ajQ nMI cLf xAy -bwC -bwC +dUc +dUc xAy cLf -bwC +dUc xAy xAy qXB @@ -104981,7 +104871,7 @@ ruZ ruZ ruZ fmY -bwC +dUc mPv cLf cLf @@ -105171,9 +105061,9 @@ hEw irJ cPt cPt -wzW +dmE ixU -hcd +wVL ixU ixU ixU @@ -105730,7 +105620,7 @@ cwk joB dUi nCe -fgZ +mBX xma dUi xma @@ -106009,7 +105899,7 @@ ykG ykG ykG fdj -bwC +dUc mPv vxX vxX @@ -106505,7 +106395,7 @@ gEJ jEc sJo xKC -ndC +omE jxd mQk dUi @@ -106756,13 +106646,13 @@ qsu kFp csB pAB -tGU +ryG sIx cFc iCM grv dUi -iEL +cAy vqI ger dUi @@ -106990,15 +106880,15 @@ niB hjI crU vxX -bwC -bwC +dUc +dUc nbu nbu nbu nbu nbu -bwC -bwC +dUc +dUc pLB dpU dpU @@ -107017,7 +106907,7 @@ gTV aGQ kEn jxd -rjP +fzW gur mkE jxd @@ -107247,16 +107137,16 @@ pXS hjI crU vxX -bwC -bwC +dUc +dUc nbu gxw gxw cxN nbu -bwC -bwC -bwC +dUc +dUc +dUc dpU iel hTX @@ -107504,16 +107394,16 @@ niB qAI crU vxX -bwC -bwC +dUc +dUc nbu gxw puQ gxw nbu -bwC -bwC -bwC +dUc +dUc +dUc dpU nav pJw @@ -107525,7 +107415,7 @@ vIi dpU eyg gTV -hfq +vME gTV eyg wpn @@ -107761,16 +107651,16 @@ qOs bpy crU vxX -bwC -bwC +dUc +dUc nbu cIx enn tBt nbu -bwC -bwC -bwC +dUc +dUc +dUc dpU iPu eoQ @@ -108018,16 +107908,16 @@ niB aoA crU vxX -bwC -bwC +dUc +dUc nbu wpM wVI bvl nbu -bwC -bwC -bwC +dUc +dUc +dUc dpU ppR mZA @@ -108064,10 +107954,10 @@ pGo ykG ykG ykG -bwC -bwC +dUc +dUc fmr -bwC +dUc cLf cLf vxX @@ -108230,9 +108120,9 @@ cLf cLf cLf cLf -bwC +dUc utU -bwC +dUc cLf cLf cLf @@ -108275,16 +108165,16 @@ ers dsL crU vxX -bwC -bwC -bwC +dUc +dUc +dUc gdP -bwC +dUc mXr -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc dpU kRq kLU @@ -108320,9 +108210,9 @@ ece kcz ykG mXK -bwC -bwC -bwC +dUc +dUc +dUc fmr cLf cLf @@ -108487,9 +108377,9 @@ cLf cLf cLf cLf -bwC +dUc utU -bwC +dUc cLf cLf cLf @@ -108748,14 +108638,14 @@ qVF izr qVF wNk -bwC -bwC -bwC -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc +dUc +dUc +dUc fYe vxX vxX @@ -108783,11 +108673,11 @@ gOY vxX cxg vxX -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc cNc pNi kUb @@ -108997,9 +108887,9 @@ cLf cLf cLf cLf -bwC -bwC -bwC +dUc +dUc +dUc wZz wZz qpj @@ -109008,7 +108898,7 @@ wZz cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -109032,7 +108922,7 @@ pQG atb qVB iOH -tOz +fQr gOY tDS cpJ @@ -109261,11 +109151,11 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -109283,7 +109173,7 @@ ilp jTB jTB mHc -emb +wnH gOY nQl jSR @@ -109518,7 +109408,7 @@ cLf cLf cLf cLf -bwC +dUc cLf fYe fYe @@ -109540,8 +109430,8 @@ ilp jTB jGd eBH -oxg -abP +cQX +enX rSB bwj mSG @@ -109559,7 +109449,7 @@ aXt jyO qsa wVI -bwC +dUc rLK vYL jSu @@ -109775,7 +109665,7 @@ cLf cLf cLf cLf -bwC +dUc cLf vxX vxX @@ -110026,12 +109916,12 @@ cLf cLf cLf shs -bwC +dUc wfz -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc vxX vxX vxX @@ -110073,7 +109963,7 @@ nbu nbu nbu nbu -bwC +dUc utf qKj jSu @@ -110284,7 +110174,7 @@ shs shs shs cLf -bwC +dUc cLf cLf cLf @@ -110338,7 +110228,7 @@ rFZ bND mjR bND -kaD +vcZ fTX fTX fTX @@ -110541,7 +110431,7 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -110550,7 +110440,7 @@ cLf vxX cLf cLf -bwC +dUc cLf cLf cLf @@ -110587,7 +110477,7 @@ pIV mBg rqJ wVI -bwC +dUc rLK nLD jSu @@ -110793,21 +110683,21 @@ cLf shs shs cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc cLf cLf cLf @@ -110825,13 +110715,13 @@ ilp jTB cuA cuA -nCv -iKb +nNl +uwV vNl nCo tGW tGW -qgZ +nli pLk vvE aWM @@ -111048,11 +110938,11 @@ cLf cLf cLf shs -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc pbP pih pbP @@ -111061,10 +110951,10 @@ pbP cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc cLf cLf cLf @@ -111082,13 +110972,13 @@ ilp jTB jTB kQB -lqZ +ioL gOY aks tTK tvB -nSZ -gOY +cSI +nkM vxZ dyS lfq @@ -111101,7 +110991,7 @@ nbu nbu nbu nbu -bwC +dUc utf hon jSu @@ -111318,10 +111208,10 @@ pih cLf cLf tyd -bwC +dUc cLf cLf -bwC +dUc cLf cLf cLf @@ -111344,7 +111234,7 @@ gOY gOY tTK rFA -aCh +mIG xfQ cAG xXF @@ -111575,10 +111465,10 @@ pih cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc cLf cLf pkl @@ -111592,21 +111482,21 @@ aku uOo aku aku -hpC -bFj -bFj -cPs -cPs +fbN +gsW +gsW +mnS +mnS gOY -gKe +iJZ lcd ecM eKT -gOY +nkM vxZ pZK lfq -gOY +nkM cxg cxg vxX @@ -111615,7 +111505,7 @@ msY qNM fzM wVI -bwC +dUc rLK fMS jSu @@ -111832,10 +111722,10 @@ pih cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc rXt rXt rXt @@ -111850,13 +111740,13 @@ uOo aku aku pkw -lmw -xXf -nYi -tVn -aLF -bRZ -hJj +mgi +rkd +aMS +hVm +mFa +elG +uXb cmn jgl efL @@ -111864,7 +111754,7 @@ cQu wgI vib vMR -bwC +dUc cxg vxX nbu @@ -111918,7 +111808,7 @@ cvL mCm cpG hRX -pBf +iFn prc prc prc @@ -112107,13 +111997,13 @@ uOo aku aku aku -qhQ -mGg -blP -hDM +ajs +gop +cqf +xJt gOY joD -dbA +ffK cut rcR efL @@ -112121,7 +112011,7 @@ miM awf egV vMR -bwC +dUc cxg vxX nbu @@ -112346,10 +112236,10 @@ pih cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc rXt rXt rXt @@ -112364,21 +112254,21 @@ aku aku aku aku -eFd -xwJ +vjB +jEw cmn -qny +cqt gOY kke -qZf -rKH +wmM +auA icz efL nbS nbS nbS vMR -bwC +dUc cLf vxX vxX @@ -112386,7 +112276,7 @@ vxX vxX vxX vxX -bwC +dUc wRN fdC uVP @@ -112603,10 +112493,10 @@ pih cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc cLf cLf pkl @@ -112621,29 +112511,29 @@ aku aku aku uro -bFj -eGL -hgq -bFj -gOY -gOY +gsW +hDJ +grm +gsW gOY -pTx gOY gOY +roK gOY -gOY -gOY -gOY -bwC +nkM +nkM +nkM +nkM +nkM +dUc cLf -bwC +dUc vxX vxX vxX vxX vxX -bwC +dUc fTX rLK hfp @@ -112860,10 +112750,10 @@ pih cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc cLf cLf cLf @@ -112884,34 +112774,34 @@ xAd wfU rbS kAI -sbS -jHE +ojR +lBm uvx mna gXw -idN +gHL jGy moe -bwC +dUc cLf -bwC +dUc vxX vxX vxX vxX vxX vxX -bwC +dUc eTZ -bwC +dUc xLu rZB pLe -bwC +dUc lfG rZB pLe -bwC +dUc lfG aUx kUX @@ -113104,11 +112994,11 @@ cLf cLf cLf shs -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc pbP pih pbP @@ -113117,14 +113007,14 @@ pbP cLf cLf cLf -bwC +dUc fYe fYe wfz -bwC +dUc vxX -bwC -bwC +dUc +dUc ilp ilp ilp @@ -113149,13 +113039,13 @@ uEV rRO yai moe -bwC -bwC -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc +dUc +dUc vxX vxX nbu @@ -113363,12 +113253,12 @@ cLf shs cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -113395,7 +113285,7 @@ tsz lJq obA vfJ -bjK +kBr vfJ moe tLh @@ -113406,13 +113296,13 @@ rxn rRO mIa moe -bwC +dUc cLf iUF cLf cLf cLf -bwC +dUc vxX vxX nbu @@ -113620,12 +113510,12 @@ cLf shs shs cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -113652,7 +113542,7 @@ uYH aQm obA upd -hFq +bnb upd moe rHG @@ -113663,13 +113553,13 @@ rxn rRO iNC moe -bwC +dUc cLf iUF cLf cLf cLf -bwC +dUc vxX vxX nbu @@ -113881,13 +113771,13 @@ shs shs shs shs -bwC +dUc wfz -bwC +dUc shs shs shs -bwC +dUc vxX vxX vxX @@ -113908,8 +113798,8 @@ lJq jBM lJq obA -pka -vDA +qnV +iPW hkG moe mJU @@ -113917,16 +113807,16 @@ bpW oix oix hmG -qII +gME xGg moe -bwC +dUc cLf iUF cLf cLf cLf -bwC +dUc vxX vxX nbu @@ -114169,21 +114059,21 @@ vfJ vfJ vfJ moe -sbE +pwE dlE xjq -mgD +feR moe fDj fDj moe -bwC +dUc cLf iUF cLf cLf cLf -bwC +dUc vxX vxX nbu @@ -114202,11 +114092,11 @@ nbu vxX mUQ cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf vxX vxX @@ -114431,16 +114321,16 @@ fDj moe iyE moe -bwC -bwC -bwC +dUc +dUc +dUc nmN cLf iUF cLf cLf cLf -bwC +dUc cLf vxX vxX @@ -114459,18 +114349,18 @@ fYe fYe uVI cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf vxX vxX vxX vxX -bwC +dUc cLf mDV uFC @@ -114682,13 +114572,13 @@ etW cLf cLf cLf -bwC -bwC -bwC +dUc +dUc +dUc moe aub moe -bwC +dUc cLf cLf cLf @@ -114697,12 +114587,12 @@ iUF cLf cLf cLf -bwC +dUc cLf cLf vxX cLf -bwC +dUc vxX vxX vxX @@ -114716,18 +114606,18 @@ fYe vxX mUQ vxX -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf vxX vxX vxX -bwC +dUc cLf mDV uFC @@ -114931,22 +114821,22 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc iUF iUF cLf cLf cLf -bwC +dUc ojz aHZ ojz -bwC -bwC +dUc +dUc iUF iUF iUF @@ -114954,12 +114844,12 @@ iUF cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -114973,19 +114863,19 @@ vxX vxX vxX vxX -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf vxX vxX vxX vxX -bwC -bwC +dUc +dUc mDV uFC ivC @@ -115197,7 +115087,7 @@ cLf iUF iUF iUF -bwC +dUc nmN dXU dXU @@ -115211,17 +115101,17 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -115230,11 +115120,11 @@ cLf cLf vxX vxX -bwC +dUc iUF iUF iUF -bwC +dUc vxX vxX vxX @@ -115258,10 +115148,10 @@ uFC vxX vxX vxX -kkx -kkx -kkx -kkx +cxg +cxg +cxg +cxg vxX vxX vxX @@ -115456,9 +115346,9 @@ cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -115468,17 +115358,17 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -115500,7 +115390,7 @@ mUQ fYe cLf cLf -bwC +dUc uFC kEu kEu @@ -115712,11 +115602,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -115725,17 +115615,17 @@ cLf cLf cLf cLf -bwC -bwC -bwC -bwC -bwC -bwC -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc +dUc +dUc +dUc +dUc +dUc +dUc cLf cLf cLf @@ -115968,13 +115858,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -115982,17 +115872,17 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -116225,13 +116115,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -116239,17 +116129,17 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -116483,11 +116373,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -116496,17 +116386,17 @@ cLf cLf cLf cLf -bwC -bwC +dUc +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC -bwC +dUc +dUc cLf cLf cLf @@ -116741,9 +116631,9 @@ cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -116754,15 +116644,15 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -116997,11 +116887,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -117011,15 +116901,15 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -117253,13 +117143,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -117268,15 +117158,15 @@ cLf cLf cLf shs -bwC -bwC +dUc +dUc jQS jQS jQS jQS jQS -bwC -bwC +dUc +dUc shs cLf cLf @@ -117510,13 +117400,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -117525,7 +117415,7 @@ cLf cLf cLf shs -bwC +dUc cLf jQS lgO @@ -117533,9 +117423,9 @@ czY kOL jQS cLf -bwC +dUc shs -bwC +dUc cLf cLf cLf @@ -117768,11 +117658,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -117780,19 +117670,19 @@ shs shs shs shs -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc jQS pRN kOL sgc jQS -bwC -bwC +dUc +dUc cLf -bwC +dUc shs shs shs @@ -118026,9 +117916,9 @@ cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -118282,15 +118172,15 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf -bwC +dUc cLf cLf cLf @@ -118310,8 +118200,8 @@ jQS uep qDP qDP -bwC -bwC +dUc +dUc cLf cLf cLf @@ -118538,17 +118428,17 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc jQS tLO jQS @@ -118568,7 +118458,7 @@ ifV jQS qDP cLf -bwC +dUc cLf cLf cLf @@ -118795,17 +118685,17 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC -bwC -bwC -bwC -bwC +dUc +dUc +dUc +dUc +dUc jQS xnB jQS @@ -119053,11 +118943,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -119311,9 +119201,9 @@ cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -119567,16 +119457,16 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf shs -bwC +dUc jQS hAL jQS @@ -119594,8 +119484,8 @@ tVV jQS ucG jQS -bwC -bwC +dUc +dUc shs cLf cLf @@ -119823,13 +119713,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf shs @@ -120080,13 +119970,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -120338,11 +120228,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -120596,9 +120486,9 @@ cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -120852,11 +120742,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -121108,13 +120998,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf fZF @@ -121365,13 +121255,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf fZF @@ -121395,7 +121285,7 @@ jQS jQS jQS fZF -bwC +dUc shs cLf cLf @@ -121623,11 +121513,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -121881,9 +121771,9 @@ cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf @@ -121909,7 +121799,7 @@ wTs jQS jQS fZF -bwC +dUc shs cLf cLf @@ -122137,11 +122027,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -122393,13 +122283,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc dUc dUc fZF @@ -122650,13 +122540,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc dUc dUc fZF @@ -122667,11 +122557,11 @@ jQS jQS jQS jQS -pXV +gmm pXV hNP pXV -pXV +uak jQS jQS jQS @@ -122908,11 +122798,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -122923,20 +122813,20 @@ fZF fZF jQS jQS -kOL -kOL +xna +xna fsV bfX -kOL -kOL -kOL +xna +xna +xna jQS jQS fZF fZF fZF fZF -bwC +dUc cLf cLf cLf @@ -123166,34 +123056,34 @@ cLf cLf cLf cLf -bwC +dUc cLf -bwC +dUc cLf cLf cLf cLf cLf cLf -bwC +dUc cLf fZF jQS jQS eFJ -kOL -kOL +xna +xna tBC -kOL -kOL -qEr +xna +xna +xna jQS jQS fZF tyd cLf -bwC -bwC +dUc +dUc cLf cLf cLf @@ -123422,26 +123312,26 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf cLf shs shs -bwC +dUc fZF jQS jQS -gmm -kOL -mvh +xna +xna +qEr hFN -mvh +qEr khJ sug jQS @@ -123678,13 +123568,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -123694,12 +123584,12 @@ cLf fZF jQS jQS -kOL -kOL -kOL -kOL -kOL -kOL +xna +xna +xna +xna +xna +xna lHp jQS jQS @@ -123935,13 +123825,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -123952,7 +123842,7 @@ fZF jQS jQS jQS -uak +xna oVV dJM jvV @@ -124193,11 +124083,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -124217,7 +124107,7 @@ jQS jQS jQS fZF -bwC +dUc cLf cLf cLf @@ -124451,9 +124341,9 @@ cLf cLf cLf cLf -bwC -bwC -bwC +dUc +dUc +dUc cLf cLf cLf @@ -124463,7 +124353,7 @@ cLf cLf cLf cLf -bwC +dUc fZF jQS jQS @@ -124474,7 +124364,7 @@ jQS jQS fZF cLf -bwC +dUc cLf cLf cLf @@ -124707,11 +124597,11 @@ cLf cLf cLf cLf -bwC -bwC +dUc +dUc nmN -bwC -bwC +dUc +dUc cLf cLf cLf @@ -124720,7 +124610,7 @@ cLf cLf cLf cLf -bwC +dUc cLf fZF fZF @@ -124731,7 +124621,7 @@ fZF fZF cLf cLf -bwC +dUc cLf cLf cLf @@ -124964,11 +124854,11 @@ cLf cLf cLf cLf -bwC +dUc xUA uuN oJv -bwC +dUc cLf cLf cLf @@ -124977,18 +124867,18 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -125221,11 +125111,11 @@ cLf cLf cLf cLf -bwC -bwC +dUc +dUc nmN -bwC -bwC +dUc +dUc cLf cLf cLf @@ -125234,18 +125124,18 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -125479,9 +125369,9 @@ cLf cLf cLf cLf -bwC -bwC -bwC +dUc +dUc +dUc cLf cLf cLf @@ -125494,11 +125384,11 @@ shs shs cLf cLf -bwC +dUc cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -125735,11 +125625,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -125991,13 +125881,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -126248,13 +126138,13 @@ cLf cLf cLf cLf -bwC +dUc cLf cLf cLf cLf cLf -bwC +dUc cLf cLf cLf @@ -126506,11 +126396,11 @@ cLf cLf cLf nmN -bwC -bwC +dUc +dUc cLf -bwC -bwC +dUc +dUc nmN cLf cLf @@ -126764,9 +126654,9 @@ cLf cLf cLf cLf -bwC -bwC -bwC +dUc +dUc +dUc cLf cLf cLf @@ -142999,9 +142889,9 @@ hhX hhX hhX hhX -hhX -hhX -hhX +hen +hen +hen hhX hhX hhX @@ -143256,9 +143146,9 @@ hhX hhX hhX hhX -hhX -hhX -hhX +hen +hen +hen hhX hhX hhX @@ -143513,9 +143403,9 @@ vxX hhX hhX fZF -hhX -hhX -hhX +hen +hen +hen fZF hhX hhX @@ -143770,9 +143660,9 @@ fYe fYe qHE fZF -hhX -hhX -hhX +hen +hen +hen fZF hhX hhX @@ -145756,11 +145646,11 @@ hhX hhX hhX hhX -hhX -hhX -hhX -hhX -hhX +hen +hen +hen +hen +hen vxX vxX vxX @@ -146013,11 +145903,11 @@ hhX hhX hhX hhX -hhX -fNW -hhX -hhX -hhX +hen +fOe +hen +hen +hen vxX vxX vxX @@ -146044,7 +145934,7 @@ wli aJP iaN sdc -dXh +sdc fVZ fVZ sdc @@ -146270,11 +146160,11 @@ hhX hhX hhX hhX -hhX -hhX -hhX -hhX -hhX +hen +hen +hen +hen +hen vxX vxX vxX @@ -150635,7 +150525,7 @@ jOV kDb ctL qCU -rvu +duB nvR fDi uEX @@ -151403,8 +151293,8 @@ hHw uRG oyP dAq -maT -pIB +xbr +qFS wSc jOV vxX @@ -151424,7 +151314,7 @@ mqA uaT tGw ipc -mVR +eQJ hED vxX vxX @@ -153276,7 +153166,7 @@ vxX gvw gjt jEf -ndk +kQV uKv evg gvw @@ -156312,10 +156202,10 @@ vxX vxX unk unk -kkx -kkx -kkx -kkx +cxg +cxg +cxg +cxg unk unk vxX @@ -156568,12 +156458,12 @@ vxX vxX vxX unk -kkx -kkx -kkx +cxg +cxg +cxg nQT -kkx -kkx +cxg +cxg unk jCD jCD @@ -156825,12 +156715,12 @@ dsG vxX vxX unk -kkx +cxg joM joM joM joM -kkx +cxg eOx wMY apb @@ -157082,12 +156972,12 @@ dsG dsG dsG any -kkx +cxg joM joM joM joM -kkx +cxg eOx fFt cTH @@ -157339,12 +157229,12 @@ fYe fYe fYe unk -kkx -kkx -kkx -kkx -kkx -kkx +cxg +cxg +cxg +cxg +cxg +cxg unk jCD jCD @@ -157597,10 +157487,10 @@ fYe fYe unk unk -kkx -kkx -kkx -kkx +cxg +cxg +cxg +cxg unk unk vxX @@ -157632,7 +157522,7 @@ oKx oKx dzu oKx -oKx +fuZ mCn cUv nsY @@ -161188,7 +161078,7 @@ jxE ttt ttt ttt -cbT +qhg ttt wcH fib @@ -161442,7 +161332,7 @@ tot pWn ylD rTc -kNM +xxs xeF flm qeA @@ -161757,7 +161647,7 @@ mGW mGW iZz nHK -eaY +ufW vwn eRf vRC @@ -162979,7 +162869,7 @@ fIv fIv fIv iEQ -xTN +oxN fIv fIv fIv @@ -165869,7 +165759,7 @@ vDa gMk gMk lAj -oml +mFR kRX hRO ajS @@ -167077,7 +166967,7 @@ oID hhX hhX hhX -kkx +cxg srs bFS bFS @@ -167333,7 +167223,7 @@ hhX oID jVV jVV -kkx +cxg pvT srs upF @@ -167590,8 +167480,8 @@ hhX oID hhX hhX -kkx -kkx +cxg +cxg srs mCt riQ @@ -167848,7 +167738,7 @@ oID hhX hhX hhX -kkx +cxg srs riQ bNI @@ -169132,7 +169022,7 @@ hhX oID hhX hhX -kkx +cxg mQE mQE gwF @@ -169388,8 +169278,8 @@ hhX hhX hhX hhX -kkx -kkx +cxg +cxg vxX imZ mQE @@ -169645,7 +169535,7 @@ hhX hhX hhX hhX -kkx +cxg pvT vxX vxX @@ -169921,7 +169811,7 @@ wYj pdo sJT vxX -pvT +uif hhX hhX fYe @@ -170732,7 +170622,7 @@ vxX vxX vxX gMk -hVb +vkv vxX dtQ vxX @@ -170773,9 +170663,9 @@ vxX vxX vxX vxX -hhX -hhX -hhX +hen +hen +hen jVV hhX hhX @@ -172233,7 +172123,7 @@ vAB kWb kWb kWb -cxg +fYe hhX hhX hhX @@ -172597,7 +172487,7 @@ uJc mml mml eLU -nsH +jVV oID hhX hhX @@ -172746,7 +172636,7 @@ kWb kWb kWb kWb -cxg +fYe hhX hhX hhX @@ -173072,7 +172962,7 @@ vHa aWD aWD aWD -giX +ewa gCT kgb gaI @@ -174343,7 +174233,7 @@ kHU kHU kHU ouG -dTV +fst dBp bPH dUi @@ -174617,7 +174507,7 @@ wtH wtH rsw vEq -vPL +rkZ wtH wtH aWD @@ -176621,7 +176511,7 @@ raz raz nzk fpY -vYH +clQ ssg vtN ylR @@ -177912,7 +177802,7 @@ gmH rXS tOL fPv -rjv +iAM iFN mZn oND @@ -179697,8 +179587,8 @@ uif mNZ mNZ fYe -hhX -hhX +hen +hen fYe mNZ mNZ @@ -179954,9 +179844,9 @@ fYe fYe fYe fYe -hhX -hhX -hhX +hen +hen +hen mNZ mNZ mNZ @@ -180211,10 +180101,10 @@ mNZ mNZ mNZ fYe -hhX -hhX -hhX -hCu +hen +hen +hen +umg hhX jVV hhX @@ -180468,9 +180358,9 @@ hhX hhX hhX hhX -hhX -hhX -hhX +hen +hen +hen hhX hhX jVV @@ -180725,9 +180615,9 @@ hhX hhX hhX hhX -hhX -hhX -hhX +hen +hen +hen hhX hhX uOY @@ -180763,9 +180653,9 @@ vxX vxX vxX vxX -cxg -cxg -cxg +fYe +fYe +fYe hhX hhX hhX @@ -180994,8 +180884,8 @@ fDj wou qSt jYT -hQq -xSa +tuT +bRD fDj hhX hhX diff --git a/_maps/modular_generic/ice_l_storage.dmm b/_maps/modular_generic/ice_l_storage.dmm index 5914568908c58..6aca9bec648fb 100644 --- a/_maps/modular_generic/ice_l_storage.dmm +++ b/_maps/modular_generic/ice_l_storage.dmm @@ -38,9 +38,7 @@ /turf/closed/wall/ice, /area/template_noop) "i" = ( -/obj/structure/railing{ - layer = 4 - }, +/obj/structure/railing, /obj/effect/decal/cleanable/dirt, /obj/machinery/space_heater, /turf/open/floor/plastic, @@ -122,17 +120,13 @@ }, /obj/item/trash/can, /obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - layer = 4 - }, +/obj/structure/railing, /turf/open/floor/plastic, /area/template_noop) "y" = ( /obj/structure/closet/crate/bin, /obj/effect/decal/cleanable/dirt, -/obj/structure/railing{ - layer = 4 - }, +/obj/structure/railing, /turf/open/floor/plastic, /area/template_noop) "z" = ( @@ -164,9 +158,7 @@ /turf/open/floor/plating, /area/template_noop) "D" = ( -/obj/structure/railing{ - layer = 4 - }, +/obj/structure/railing, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plastic, /area/template_noop) @@ -203,9 +195,7 @@ /obj/structure/chair/plastic{ dir = 1 }, -/obj/structure/railing{ - layer = 4 - }, +/obj/structure/railing, /obj/effect/decal/cleanable/dirt, /turf/open/floor/plastic, /area/template_noop) diff --git a/_maps/shuttles/emergency_birdshot.dmm b/_maps/shuttles/emergency_birdshot.dmm index cb50d42c56db0..0e265110bde50 100644 --- a/_maps/shuttles/emergency_birdshot.dmm +++ b/_maps/shuttles/emergency_birdshot.dmm @@ -99,7 +99,7 @@ pixel_x = 3; pixel_y = 2 }, -/obj/item/clothing/mask/cigarette/dromedary{ +/obj/item/cigarette/dromedary{ pixel_x = 8; pixel_y = 15 }, @@ -287,7 +287,7 @@ "mU" = ( /obj/structure/lattice, /turf/template_noop, -/area/template_noop) +/area/shuttle/escape) "no" = ( /obj/item/trash/popcorn/caramel, /turf/open/floor/mineral/titanium, @@ -552,7 +552,7 @@ /obj/structure/lattice, /obj/item/stack/rods/two, /turf/template_noop, -/area/template_noop) +/area/shuttle/escape) "Ay" = ( /obj/item/shard{ pixel_y = 19 diff --git a/_maps/shuttles/emergency_casino.dmm b/_maps/shuttles/emergency_casino.dmm index a3280acfeb7b4..c1332f0ef1ded 100644 --- a/_maps/shuttles/emergency_casino.dmm +++ b/_maps/shuttles/emergency_casino.dmm @@ -753,7 +753,6 @@ /area/shuttle/escape) "wv" = ( /obj/structure/tank_dispenser/oxygen{ - layer = 2.7; pixel_x = -1; pixel_y = 2 }, diff --git a/_maps/shuttles/emergency_cruise.dmm b/_maps/shuttles/emergency_cruise.dmm index 8045930388cef..c111505c14789 100644 --- a/_maps/shuttles/emergency_cruise.dmm +++ b/_maps/shuttles/emergency_cruise.dmm @@ -857,7 +857,6 @@ "sz" = ( /obj/machinery/shuttle_manipulator{ desc = "A holographic display of the cruise shuttle we're on right now."; - layer = 2.7; max_integrity = 99999; name = "shuttle holographic display" }, @@ -1345,7 +1344,6 @@ density = 1; icon = 'icons/obj/machines/shuttle_manipulator.dmi'; icon_state = "hologram_on"; - layer = 2.8; light_color = "#2cb2e8"; light_range = 2; max_integrity = 7500; @@ -1358,7 +1356,6 @@ desc = "This is the shuttle we're on. It's amazing what Nanotrasen can do once they actually put more than ten seconds of effort into their projects."; icon = 'icons/obj/machines/shuttle_manipulator.dmi'; icon_state = "hologram_whiteship"; - layer = 4; light_color = "#2cb2e8"; light_range = 7; max_integrity = 75000; diff --git a/_maps/shuttles/emergency_fame.dmm b/_maps/shuttles/emergency_fame.dmm index 368de11546d7a..919a8651b378a 100644 --- a/_maps/shuttles/emergency_fame.dmm +++ b/_maps/shuttles/emergency_fame.dmm @@ -605,7 +605,6 @@ /area/shuttle/escape/brig) "zc" = ( /obj/structure/tank_dispenser/oxygen{ - layer = 2.7; pixel_x = -1; pixel_y = 2 }, diff --git a/_maps/shuttles/emergency_fish.dmm b/_maps/shuttles/emergency_fish.dmm index 3726a7399d9ab..b99aa01b096bf 100644 --- a/_maps/shuttles/emergency_fish.dmm +++ b/_maps/shuttles/emergency_fish.dmm @@ -311,21 +311,18 @@ "qO" = ( /obj/structure/table/wood, /obj/item/fishing_line{ - layer = 4; pixel_x = 6; pixel_y = 3 }, -/obj/item/fishing_hook{ - layer = 5; - pixel_y = 3 - }, /obj/item/bait_can/worm{ - pixel_x = -5; pixel_y = 13 }, /obj/effect/turf_decal/tile/dark/half/contrasted{ dir = 4 }, +/obj/item/fishing_hook{ + pixel_y = 3 + }, /turf/open/floor/wood/tile, /area/shuttle/escape) "rj" = ( @@ -586,12 +583,7 @@ /area/shuttle/escape) "IM" = ( /obj/structure/table/wood, -/obj/item/fishing_hook{ - layer = 5; - pixel_y = 3 - }, /obj/item/fishing_line{ - layer = 4; pixel_x = 6; pixel_y = 3 }, @@ -602,6 +594,9 @@ /obj/effect/turf_decal/tile/dark/half/contrasted{ dir = 4 }, +/obj/item/fishing_hook{ + pixel_y = 3 + }, /turf/open/floor/wood/tile, /area/shuttle/escape) "Jh" = ( diff --git a/_maps/shuttles/emergency_kilo.dmm b/_maps/shuttles/emergency_kilo.dmm index b8710eb116450..4ebd7843239aa 100644 --- a/_maps/shuttles/emergency_kilo.dmm +++ b/_maps/shuttles/emergency_kilo.dmm @@ -630,11 +630,8 @@ /obj/structure/chair/comfy/shuttle{ dir = 8 }, -/obj/machinery/computer/security/telescreen{ - dir = 8; - name = "Shuttle Camera Monitor"; - network = list("ss13"); - pixel_x = 26 +/obj/machinery/computer/security/telescreen/normal/directional/east{ + name = "Shuttle Camera Monitor" }, /turf/open/floor/mineral/plastitanium, /area/shuttle/escape) diff --git a/_maps/shuttles/emergency_luxury.dmm b/_maps/shuttles/emergency_luxury.dmm index af17c03a0d8be..74b18ef61b4de 100644 --- a/_maps/shuttles/emergency_luxury.dmm +++ b/_maps/shuttles/emergency_luxury.dmm @@ -138,9 +138,7 @@ name = "Escape Shuttle Cell" }, /obj/effect/mapping_helpers/airlock/access/all/security/general, -/obj/machinery/scanner_gate/luxury_shuttle{ - layer = 2.6 - }, +/obj/machinery/scanner_gate/luxury_shuttle, /turf/open/indestructible/white, /area/shuttle/escape/brig) "gY" = ( @@ -340,9 +338,7 @@ /obj/structure/closet/crate/large, /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/item/toy/plush/rouny{ name = "rouny plushie" }, @@ -444,9 +440,7 @@ /obj/machinery/power/shuttle_engine/heater{ dir = 8 }, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/shuttle/escape) "sH" = ( @@ -630,9 +624,7 @@ /turf/open/floor/mineral/titanium/white, /area/shuttle/escape/luxury) "Bj" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/spawner/random/structure/closet_private, /turf/open/floor/iron/white/herringbone, /area/shuttle/escape/luxury) @@ -653,9 +645,7 @@ /area/shuttle/escape) "BK" = ( /obj/structure/girder, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron, @@ -667,9 +657,7 @@ /turf/open/floor/iron, /area/shuttle/escape) "Ck" = ( -/obj/machinery/scanner_gate/luxury_shuttle{ - layer = 2.6 - }, +/obj/machinery/scanner_gate/luxury_shuttle, /obj/machinery/door/airlock/silver{ name = "First Class" }, @@ -695,18 +683,14 @@ dir = 2; name = "Luxurious Emergency Shuttle" }, -/obj/machinery/scanner_gate/luxury_shuttle{ - layer = 2.6 - }, +/obj/machinery/scanner_gate/luxury_shuttle, /obj/machinery/door/airlock/silver{ name = "First Class" }, /turf/open/floor/carpet/blue, /area/shuttle/escape/luxury) "Dj" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/rack, /obj/effect/spawner/random/trash/soap, /turf/open/floor/iron/white/herringbone, @@ -792,9 +776,7 @@ /obj/structure/girder, /obj/effect/turf_decal/delivery, /obj/effect/decal/cleanable/dirt, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/iron, /area/shuttle/escape) "EZ" = ( @@ -1080,9 +1062,7 @@ /turf/open/floor/carpet/green, /area/shuttle/escape/luxury) "Rk" = ( -/obj/machinery/scanner_gate/luxury_shuttle{ - layer = 2.6 - }, +/obj/machinery/scanner_gate/luxury_shuttle, /obj/effect/mapping_helpers/airlock/access/all/security/general, /obj/machinery/door/airlock/security/glass{ name = "Escape Shuttle Cell" diff --git a/_maps/shuttles/emergency_meta.dmm b/_maps/shuttles/emergency_meta.dmm index 5a4ca2c48326f..f1064a77fdaf0 100644 --- a/_maps/shuttles/emergency_meta.dmm +++ b/_maps/shuttles/emergency_meta.dmm @@ -160,7 +160,6 @@ /area/shuttle/escape) "aA" = ( /obj/structure/tank_dispenser/oxygen{ - layer = 2.7; pixel_x = -1; pixel_y = 2 }, diff --git a/_maps/shuttles/emergency_meteor.dmm b/_maps/shuttles/emergency_meteor.dmm index 658c290b95684..9d05cf8cc62c4 100644 --- a/_maps/shuttles/emergency_meteor.dmm +++ b/_maps/shuttles/emergency_meteor.dmm @@ -6,9 +6,7 @@ /turf/closed/mineral/asteroid/porous, /area/shuttle/escape/meteor) "c" = ( -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/misc/asteroid, /area/shuttle/escape/meteor) "d" = ( diff --git a/_maps/shuttles/emergency_monastery.dmm b/_maps/shuttles/emergency_monastery.dmm index dbc203630102b..4041e4e0588c5 100644 --- a/_maps/shuttles/emergency_monastery.dmm +++ b/_maps/shuttles/emergency_monastery.dmm @@ -40,13 +40,6 @@ /obj/structure/grille/broken, /turf/open/space/basic, /area/shuttle/escape) -"aN" = ( -/obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, -/turf/open/space/basic, -/area/shuttle/escape) "aO" = ( /obj/structure/sign/plaques/kiddie{ desc = "It reads: PRIVATE EXHIBIT - Please inquire with library staff for guided tours."; @@ -65,16 +58,8 @@ /obj/effect/spawner/structure/window/reinforced, /turf/closed/wall, /area/shuttle/escape) -"aT" = ( -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, -/turf/open/space/basic, -/area/shuttle/escape) "aW" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/lattice, /turf/open/space/basic, /area/shuttle/escape) @@ -103,9 +88,7 @@ /area/shuttle/escape) "bl" = ( /obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/space/basic, /area/shuttle/escape) "bn" = ( @@ -145,13 +128,6 @@ /obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating, /area/shuttle/escape) -"bx" = ( -/obj/machinery/power/shuttle_engine/propulsion, -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, -/turf/open/floor/plating, -/area/shuttle/escape) "by" = ( /obj/effect/decal/cleanable/dirt, /obj/structure/sign/painting/library_private{ @@ -162,13 +138,9 @@ /area/shuttle/escape) "bC" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating, /area/shuttle/escape) "bI" = ( @@ -428,13 +400,6 @@ /obj/structure/window/reinforced/spawner/directional/east, /turf/open/space/basic, /area/shuttle/escape) -"hC" = ( -/obj/machinery/power/shuttle_engine/propulsion, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, -/turf/open/floor/plating, -/area/shuttle/escape) "hI" = ( /obj/machinery/atmospherics/components/binary/pump/on{ dir = 4; @@ -467,9 +432,7 @@ /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 1 }, -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/space/basic, /area/shuttle/escape) "hW" = ( @@ -495,7 +458,6 @@ "hZ" = ( /obj/structure/table/wood, /obj/item/paper_bin{ - layer = 2.9; pixel_x = -2; pixel_y = 4 }, @@ -633,9 +595,7 @@ "jt" = ( /obj/machinery/power/shuttle_engine/heater, /obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating, /area/shuttle/escape) "jx" = ( @@ -910,12 +870,6 @@ /obj/effect/spawner/structure/window/reinforced/tinted, /turf/open/floor/iron/dark, /area/shuttle/escape) -"nQ" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, -/turf/open/space/basic, -/area/shuttle/escape) "oa" = ( /obj/structure/chair/wood, /turf/open/floor/carpet, @@ -932,12 +886,6 @@ /obj/machinery/vending/wardrobe/curator_wardrobe, /turf/open/floor/iron/dark, /area/shuttle/escape) -"om" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, -/turf/open/space, -/area/shuttle/escape) "ov" = ( /obj/machinery/light/small/directional/east, /obj/machinery/camera/directional/east{ @@ -1078,7 +1026,6 @@ "qi" = ( /obj/structure/table/wood, /obj/item/paper_bin{ - layer = 2.9; pixel_x = -2; pixel_y = 4 }, @@ -1632,7 +1579,6 @@ "yP" = ( /obj/structure/table/wood, /obj/item/reagent_containers/condiment/saltshaker{ - layer = 3.1; pixel_x = -2; pixel_y = 2 }, @@ -1662,12 +1608,9 @@ /area/shuttle/escape) "zh" = ( /obj/effect/decal/cleanable/cobweb/cobweb2, -/obj/item/stack/sheet/glass/fifty{ - layer = 4 - }, +/obj/item/stack/sheet/glass/fifty, /obj/item/stack/sheet/iron{ - amount = 20; - layer = 3.1 + amount = 20 }, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4{ dir = 10 @@ -2162,9 +2105,7 @@ pixel_y = 4 }, /obj/item/reagent_containers/condiment/peppermill, -/obj/item/storage/box/ingredients/wildcard{ - layer = 3.1 - }, +/obj/item/storage/box/ingredients/wildcard, /turf/open/floor/iron, /area/shuttle/escape) "FA" = ( @@ -2664,12 +2605,6 @@ }, /turf/open/floor/iron/dark, /area/shuttle/escape) -"Ms" = ( -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, -/turf/open/space, -/area/shuttle/escape) "Mt" = ( /obj/structure/lattice, /turf/open/space, @@ -2712,12 +2647,8 @@ /area/shuttle/escape) "Nb" = ( /obj/machinery/power/shuttle_engine/propulsion, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating, /area/shuttle/escape) "Nf" = ( @@ -2886,9 +2817,7 @@ "Pb" = ( /obj/machinery/power/shuttle_engine/heater, /obj/structure/window/reinforced/spawner/directional/north, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, /area/shuttle/escape) "Pe" = ( @@ -2974,7 +2903,6 @@ "Qj" = ( /obj/structure/table/wood, /obj/item/paper_bin{ - layer = 2.9; pixel_x = -2; pixel_y = 4 }, @@ -3254,9 +3182,7 @@ /turf/open/floor/iron/dark, /area/shuttle/escape) "SU" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "SV" = ( @@ -3498,9 +3424,7 @@ /area/shuttle/escape) "VF" = ( /obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/west, /obj/machinery/atmospherics/components/unary/outlet_injector/on/layer2{ name = "Outlet Injector" }, @@ -3508,9 +3432,7 @@ /area/shuttle/escape) "VM" = ( /obj/machinery/mass_driver/chapelgun, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron/dark, /area/shuttle/escape) @@ -3632,9 +3554,7 @@ /turf/open/floor/iron/dark, /area/shuttle/escape) "Xx" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/atmospherics/components/unary/vent_pump/on/layer4{ dir = 1 }, @@ -3750,9 +3670,7 @@ /obj/structure/window/reinforced/spawner/directional/north{ pixel_y = 1 }, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/space/basic, /area/shuttle/escape) "YZ" = ( @@ -3797,9 +3715,7 @@ /area/shuttle/escape) "Zn" = ( /obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "Zr" = ( @@ -4380,8 +4296,8 @@ nr nr nr nr -om -nQ +af +hq JG JG JG @@ -5118,8 +5034,8 @@ nr nr nr nr -aT -aT +IM +IM JG JG JG @@ -5483,9 +5399,9 @@ JG (21,1,1) = {" af af -nQ +hq aW -nQ +hq bl zE jc @@ -6056,7 +5972,7 @@ JG "} (28,1,1) = {" JG -aN +jS zE wt Mf @@ -6216,7 +6132,7 @@ Ho Ho Ho jt -bx +bv "} (30,1,1) = {" JG @@ -6380,17 +6296,17 @@ Ho Ho Ho Pb -hC +Ye "} (32,1,1) = {" JG JG -aT -aT -Ms -Ms -Ms -aT +IM +IM +Jl +Jl +Jl +IM JG JG JG diff --git a/_maps/shuttles/emergency_nature.dmm b/_maps/shuttles/emergency_nature.dmm index a1fa04c1c6a73..0f793c714753e 100644 --- a/_maps/shuttles/emergency_nature.dmm +++ b/_maps/shuttles/emergency_nature.dmm @@ -177,7 +177,6 @@ dir = 10 }, /obj/structure/tank_dispenser/oxygen{ - layer = 2.7; pixel_x = -1; pixel_y = 2 }, diff --git a/_maps/shuttles/emergency_pubby.dmm b/_maps/shuttles/emergency_pubby.dmm index f346fe323c6e4..84780e4332b9d 100644 --- a/_maps/shuttles/emergency_pubby.dmm +++ b/_maps/shuttles/emergency_pubby.dmm @@ -276,9 +276,7 @@ /area/shuttle/escape) "bd" = ( /obj/structure/window/reinforced/spawner/directional/south, -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/west, /obj/structure/table, /obj/item/food/canned/beans{ pixel_x = 3; @@ -395,15 +393,11 @@ /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "bB" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "bC" = ( -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "bD" = ( @@ -485,9 +479,7 @@ /area/shuttle/escape) "jO" = ( /obj/structure/closet/secure_closet/freezer/fridge, -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/west, /obj/item/food/butterdog, /obj/item/food/cakeslice/apple, /obj/item/food/cakeslice/brioche, @@ -548,9 +540,7 @@ /turf/open/floor/mineral/plastitanium/red, /area/shuttle/escape/brig) "xt" = ( -/obj/structure/window/reinforced/spawner/directional/west{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/west, /turf/open/floor/plating, /area/shuttle/escape) "Br" = ( @@ -599,9 +589,7 @@ "ZM" = ( /obj/structure/table/glass, /obj/item/storage/medkit/regular, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/machinery/vending/wallmed/directional/north{ use_power = 0 }, diff --git a/_maps/shuttles/emergency_shadow.dmm b/_maps/shuttles/emergency_shadow.dmm index de99a937b35b1..5afa72919cb28 100644 --- a/_maps/shuttles/emergency_shadow.dmm +++ b/_maps/shuttles/emergency_shadow.dmm @@ -468,7 +468,7 @@ }, /obj/item/kirbyplants/organic/plant21, /obj/structure/sign/warning/hot_temp/directional/west, -/obj/item/clothing/mask/cigarette/rollie/cannabis, +/obj/item/cigarette/rollie/cannabis, /turf/open/floor/iron/dark/textured_large, /area/shuttle/escape) "yg" = ( diff --git a/_maps/shuttles/emergency_tranquility.dmm b/_maps/shuttles/emergency_tranquility.dmm index 5458e59c84316..3019f72a1d2da 100644 --- a/_maps/shuttles/emergency_tranquility.dmm +++ b/_maps/shuttles/emergency_tranquility.dmm @@ -37,8 +37,7 @@ dir = 4 }, /obj/structure/railing{ - dir = 4; - layer = 4.1 + dir = 4 }, /turf/open/floor/wood, /area/shuttle/escape) @@ -354,8 +353,7 @@ /obj/effect/turf_decal/siding/wood, /obj/structure/railing{ color = "#A47449"; - dir = 2; - layer = 3.1 + dir = 2 }, /obj/structure/table/wood, /obj/machinery/reagentgrinder{ @@ -461,8 +459,7 @@ "jl" = ( /obj/structure/railing{ color = "#A47449"; - dir = 10; - layer = 3.1 + dir = 10 }, /obj/structure/flora/bush/fullgrass/style_2, /obj/effect/turf_decal/siding/wood{ @@ -511,8 +508,7 @@ "jM" = ( /obj/structure/railing{ color = "#A47449"; - dir = 6; - layer = 3.1 + dir = 6 }, /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -537,8 +533,7 @@ }, /obj/structure/railing{ color = "#A47449"; - dir = 10; - layer = 3.1 + dir = 10 }, /obj/structure/flora/bush/fullgrass, /obj/effect/turf_decal/siding/wood{ @@ -695,8 +690,7 @@ "nA" = ( /obj/structure/railing/corner{ dir = 8; - color = "#A47449"; - layer = 3.1 + color = "#A47449" }, /obj/structure/flora/rock/pile/jungle/style_3{ pixel_x = -4 @@ -739,8 +733,7 @@ "oj" = ( /obj/structure/railing{ color = "#A47449"; - dir = 10; - layer = 3.1 + dir = 10 }, /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -767,8 +760,7 @@ }, /obj/structure/railing{ color = "#A47449"; - dir = 10; - layer = 3.1 + dir = 10 }, /turf/open/floor/grass, /area/shuttle/escape) @@ -819,8 +811,7 @@ "pf" = ( /obj/structure/railing{ color = "#A47449"; - dir = 6; - layer = 3.1 + dir = 6 }, /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -1013,8 +1004,7 @@ }, /obj/structure/railing{ color = "#A47449"; - dir = 6; - layer = 3.1 + dir = 6 }, /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -1058,9 +1048,7 @@ /area/shuttle/escape) "uR" = ( /obj/effect/turf_decal/siding/wood, -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /turf/open/floor/wood/large, /area/shuttle/escape) "uT" = ( @@ -1211,16 +1199,14 @@ dir = 4 }, /obj/structure/railing{ - dir = 4; - layer = 4.1 + dir = 4 }, /turf/open/floor/wood, /area/shuttle/escape) "ya" = ( /obj/structure/railing/corner{ dir = 8; - color = "#A47449"; - layer = 3.1 + color = "#A47449" }, /obj/structure/flora/bush/large/style_2{ pixel_x = -6; @@ -1283,8 +1269,7 @@ }, /obj/structure/railing{ color = "#A47449"; - dir = 6; - layer = 3.1 + dir = 6 }, /obj/effect/turf_decal/weather/dirt{ dir = 5 @@ -1315,8 +1300,7 @@ dir = 4 }, /obj/structure/railing{ - dir = 4; - layer = 4.1 + dir = 4 }, /obj/effect/turf_decal/siding/wood/corner{ dir = 8 @@ -1515,8 +1499,7 @@ "Ci" = ( /obj/structure/railing{ color = "#A47449"; - dir = 6; - layer = 3.1 + dir = 6 }, /obj/effect/turf_decal/siding/wood{ dir = 6 @@ -1563,8 +1546,7 @@ }, /obj/structure/railing{ color = "#A47449"; - dir = 2; - layer = 3.1 + dir = 2 }, /obj/machinery/chem_master/condimaster{ desc = "Used to separate out liquids - useful for purifying botanical extracts. Also dispenses condiments."; @@ -1796,9 +1778,7 @@ /turf/open/floor/iron/dark/small, /area/shuttle/escape) "Hq" = ( -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /obj/effect/turf_decal/siding/dark, /obj/effect/turf_decal/trimline/blue/line, /turf/open/floor/iron/dark/small, @@ -1944,9 +1924,7 @@ /turf/open/water, /area/shuttle/escape) "Kk" = ( -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /obj/effect/turf_decal/siding/dark, /obj/effect/turf_decal/trimline/blue/line, /obj/machinery/light/floor, @@ -2011,8 +1989,7 @@ }, /obj/structure/railing{ color = "#A47449"; - dir = 4; - layer = 3.2 + dir = 4 }, /obj/structure/flora/bush/flowers_pp, /obj/structure/flora/bush/flowers_pp/style_2, @@ -2122,8 +2099,7 @@ /obj/structure/flora/bush/fullgrass/style_random, /obj/structure/railing{ color = "#A47449"; - dir = 8; - layer = 3.2 + dir = 8 }, /turf/open/floor/grass, /area/shuttle/escape) @@ -2176,8 +2152,7 @@ "Oj" = ( /obj/structure/railing{ color = "#A47449"; - dir = 10; - layer = 3.1 + dir = 10 }, /obj/effect/turf_decal/siding/wood{ dir = 10 @@ -2357,8 +2332,7 @@ /obj/structure/table/wood, /obj/item/flashlight/lamp/green{ pixel_x = 7; - pixel_y = 14; - layer = 3.1 + pixel_y = 14 }, /obj/item/paper_bin{ pixel_x = -5; @@ -2377,15 +2351,11 @@ /area/shuttle/escape) "Sl" = ( /obj/effect/turf_decal/siding/wood, -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /turf/open/floor/wood/tile, /area/shuttle/escape) "St" = ( -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /obj/machinery/computer/communications{ dir = 8 }, @@ -2454,7 +2424,6 @@ /area/shuttle/escape) "Tw" = ( /obj/structure/statue/sandstone/venus{ - layer = 4; anchored = 1 }, /turf/open/floor/wood, @@ -2540,8 +2509,7 @@ /obj/effect/turf_decal/siding/wood, /obj/structure/railing{ color = "#A47449"; - dir = 2; - layer = 3.1 + dir = 2 }, /obj/machinery/microwave, /obj/structure/table/wood, diff --git a/_maps/shuttles/emergency_venture.dmm b/_maps/shuttles/emergency_venture.dmm index 6b72f22dc295a..29ad2a695d191 100644 --- a/_maps/shuttles/emergency_venture.dmm +++ b/_maps/shuttles/emergency_venture.dmm @@ -647,7 +647,6 @@ /area/shuttle/escape) "Jz" = ( /obj/structure/tank_dispenser/oxygen{ - layer = 2.7; pixel_x = -1; pixel_y = 2 }, diff --git a/_maps/shuttles/emergency_wawa.dmm b/_maps/shuttles/emergency_wawa.dmm index 01d03aa7c5d9c..458ffa8a17902 100644 --- a/_maps/shuttles/emergency_wawa.dmm +++ b/_maps/shuttles/emergency_wawa.dmm @@ -111,7 +111,7 @@ /obj/structure/lattice, /obj/structure/marker_beacon/burgundy, /turf/template_noop, -/area/template_noop) +/area/shuttle/escape) "au" = ( /obj/structure/chair/comfy/shuttle{ dir = 1 @@ -210,8 +210,7 @@ }, /obj/structure/fans/tiny/shield{ max_integrity = 400; - name = "recycling shield"; - layer = 2.61 + name = "recycling shield" }, /turf/open/floor/plating, /area/shuttle/escape) @@ -573,8 +572,7 @@ }, /obj/structure/fans/tiny/shield{ max_integrity = 400; - name = "recycling shield"; - layer = 2.61 + name = "recycling shield" }, /turf/open/floor/plating, /area/shuttle/escape) @@ -728,7 +726,7 @@ "Pw" = ( /obj/structure/lattice, /turf/template_noop, -/area/template_noop) +/area/shuttle/escape) "QP" = ( /obj/machinery/conveyor/auto/inverted{ dir = 1 diff --git a/_maps/shuttles/ferry_lighthouse.dmm b/_maps/shuttles/ferry_lighthouse.dmm index 18197d61f1401..b5bb7186693e8 100644 --- a/_maps/shuttles/ferry_lighthouse.dmm +++ b/_maps/shuttles/ferry_lighthouse.dmm @@ -192,8 +192,7 @@ "bb" = ( /obj/machinery/conveyor{ dir = 1; - id = "garbage"; - layer = 2.5 + id = "garbage" }, /turf/open/floor/wood, /area/shuttle/transport) diff --git a/_maps/shuttles/hunter_mi13_foodtruck.dmm b/_maps/shuttles/hunter_mi13_foodtruck.dmm new file mode 100644 index 0000000000000..9b42fab671f61 --- /dev/null +++ b/_maps/shuttles/hunter_mi13_foodtruck.dmm @@ -0,0 +1,998 @@ +//MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE +"aa" = ( +/obj/effect/spawner/structure/window/reinforced/shuttle, +/obj/machinery/door/poddoor/shutters{ + id = "foodtruck_backroom_shutters"; + dir = 4 + }, +/turf/open/floor/plating, +/area/shuttle/hunter/mi13_foodtruck) +"ab" = ( +/obj/machinery/computer/operating{ + dir = 1 + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"af" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/surgery_tray/full, +/obj/structure/sign/poster/contraband/hacking_guide/directional/south, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"ag" = ( +/obj/structure/tank_dispenser/oxygen, +/obj/structure/cable/layer1, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"ah" = ( +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/effect/mapping_helpers/airlock/access/any/syndicate/general, +/obj/machinery/door/airlock/vault{ + normalspeed = 0; + name = "Secure Door"; + desc = "An imposing looking door. It looks reinforced." + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"aj" = ( +/obj/machinery/power/shuttle_engine/heater, +/turf/closed/wall/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"al" = ( +/obj/structure/railing{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"ao" = ( +/obj/structure/sign/poster/contraband/bountyhunters/directional/north, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"bY" = ( +/turf/open/floor/iron/kitchen/small, +/area/shuttle/hunter/mi13_foodtruck) +"cm" = ( +/obj/structure/lattice, +/obj/structure/marker_beacon/burgundy, +/turf/template_noop, +/area/shuttle/hunter/mi13_foodtruck) +"dg" = ( +/obj/structure/closet/secure_closet/freezer/empty, +/obj/machinery/light/dim/directional/east, +/obj/item/food/fries{ + pixel_x = -2; + pixel_y = -8 + }, +/obj/item/food/fries{ + pixel_y = -11 + }, +/obj/item/food/fries{ + pixel_x = 3; + pixel_y = -7 + }, +/obj/item/food/fries{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/food/fries{ + pixel_x = -3 + }, +/obj/item/food/fries{ + pixel_x = 5; + pixel_y = -2 + }, +/obj/item/food/burger/cheese{ + pixel_y = 7; + pixel_x = -5 + }, +/obj/item/food/burger/cheese{ + pixel_y = 7; + pixel_x = 5 + }, +/obj/item/food/fishandchips{ + pixel_y = -8 + }, +/turf/open/floor/iron/kitchen/small, +/area/shuttle/hunter/mi13_foodtruck) +"dB" = ( +/obj/machinery/vending/clothing, +/obj/structure/sign/poster/official/high_class_martini/directional/north, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"dC" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/binoculars{ + pixel_y = 10 + }, +/obj/item/traitor_bug{ + pixel_y = 6; + pixel_x = 6 + }, +/obj/item/traitor_bug{ + pixel_y = 3; + pixel_x = -5 + }, +/obj/item/storage/box/zipties{ + pixel_y = -4; + pixel_x = 4 + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"dJ" = ( +/obj/machinery/computer/records/security/syndie, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"eA" = ( +/obj/machinery/vending/medical/syndicate_access/cybersun, +/obj/machinery/airalarm/directional/west, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"eP" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/machinery/light/dim/directional/north, +/obj/structure/cable/layer1, +/obj/machinery/button/door{ + id = "foodtruck_right_window"; + pixel_x = 6; + name = "SHUTTERS - R" + }, +/obj/machinery/button/door{ + id = "foodtruck_left_window"; + pixel_x = -6; + name = "SHUTTERS - L" + }, +/obj/item/reagent_containers/cup/glass/mug/tea{ + pixel_x = 8; + pixel_y = -9 + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"fo" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"gc" = ( +/obj/structure/closet/crate/cardboard/mothic, +/obj/item/storage/box/mothic_rations{ + pixel_x = -6; + pixel_y = 7 + }, +/obj/item/storage/box/mothic_rations{ + pixel_x = 8; + pixel_y = 7 + }, +/obj/item/storage/box/mothic_rations{ + pixel_x = -6; + pixel_y = -1 + }, +/obj/item/storage/box/mothic_rations{ + pixel_x = 8; + pixel_y = -1 + }, +/obj/item/poster/random_contraband{ + poster_type = /obj/structure/sign/poster/contraband/mothic_rations; + name = "mothic ration poster"; + desc = "A rolled up poster."; + pixel_y = 7 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"gs" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"gv" = ( +/obj/structure/closet/crate/freezer, +/obj/machinery/button/door/directional/west{ + name = "External Shutter Switch"; + id = "foodtruck_backroom_shutters" + }, +/obj/item/pizzabox/margherita{ + pixel_y = 5 + }, +/obj/item/food/burrito{ + pixel_x = -9; + pixel_y = 2 + }, +/obj/item/food/burrito{ + pixel_x = -1; + pixel_y = 2 + }, +/obj/item/food/burrito{ + pixel_x = 8; + pixel_y = 2 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"hB" = ( +/obj/machinery/power/shuttle_engine/propulsion, +/turf/template_noop, +/area/shuttle/hunter/mi13_foodtruck) +"iO" = ( +/obj/structure/noticeboard/directional/north, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"jb" = ( +/obj/machinery/light/dim/directional/south, +/obj/structure/cable/layer1, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/obj/machinery/power/terminal{ + dir = 1; + cable_layer = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"jc" = ( +/obj/machinery/light/floor, +/obj/structure/table/reinforced, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"jw" = ( +/obj/structure/closet/cardboard, +/obj/structure/cable/layer1, +/obj/item/cardboard_cutout, +/obj/item/cardboard_cutout, +/obj/item/cardboard_cutout, +/obj/item/cardboard_cutout, +/obj/item/storage/crayons, +/obj/item/soap/syndie{ + pixel_y = -7 + }, +/obj/item/mop{ + pixel_y = 2; + pixel_x = 4 + }, +/obj/effect/spawner/random/trash/bucket, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"jA" = ( +/obj/effect/turf_decal/siding/dark_red/corner, +/obj/item/storage/toolbox/syndicate, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"kf" = ( +/obj/effect/turf_decal/box, +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/hunter/mi13_foodtruck) +"kj" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/ammo_box/c9mm{ + pixel_x = 5; + pixel_y = 8 + }, +/obj/item/ammo_box/magazine/m9mm/ap{ + pixel_x = -7 + }, +/obj/item/ammo_box/magazine/m9mm/ap, +/obj/item/ammo_box/magazine/m9mm/ap{ + pixel_x = 7 + }, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"ku" = ( +/turf/closed/wall/mineral/titanium/nodiagonal, +/area/shuttle/hunter/mi13_foodtruck) +"kv" = ( +/obj/machinery/door/window/brigdoor/right/directional/east{ + req_access = list("syndicate") + }, +/obj/effect/turf_decal/caution/stand_clear{ + dir = 8 + }, +/obj/effect/turf_decal/bot, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"lp" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"lX" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/structure/sign/poster/contraband/kss13/directional/north, +/obj/machinery/reagentgrinder, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"mT" = ( +/obj/machinery/power/smes/magical{ + cable_layer = 1; + name = "cybersun power storage unit"; + desc = "A high-capacity superconducting magnetic energy storage (SMES) unit. Produces power via a top-secret method." + }, +/obj/structure/cable/layer1, +/turf/open/floor/circuit/red, +/area/shuttle/hunter/mi13_foodtruck) +"nh" = ( +/obj/structure/sign/poster/ripped/directional/south, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"oA" = ( +/obj/structure/railing{ + dir = 8 + }, +/obj/effect/turf_decal/arrows{ + pixel_y = 16 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"pQ" = ( +/obj/structure/cable/layer1, +/obj/machinery/computer/shuttle/hunter{ + req_access = list("syndicate") + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"pU" = ( +/obj/structure/chair/comfy/shuttle/tactical{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red/end{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"pZ" = ( +/obj/structure/railing/corner{ + dir = 1 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"sN" = ( +/obj/structure/table/reinforced, +/obj/machinery/computer/security/telescreen/entertainment/directional/north, +/obj/structure/railing{ + dir = 4 + }, +/obj/item/reagent_containers/condiment/vinegar{ + pixel_y = 9 + }, +/obj/item/reagent_containers/condiment/mayonnaise{ + pixel_x = 5; + pixel_y = 6 + }, +/obj/item/reagent_containers/condiment/ketchup{ + pixel_x = -5; + pixel_y = 6 + }, +/obj/item/reagent_containers/condiment/saltshaker{ + pixel_x = -2; + pixel_y = -3 + }, +/obj/item/reagent_containers/condiment/peppermill{ + pixel_y = -4; + pixel_x = 4 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"te" = ( +/obj/structure/fans/tiny, +/obj/docking_port/stationary{ + dir = 4; + dwidth = 7; + height = 15; + name = "Deep Space"; + shuttle_id = "huntership_home"; + width = 13 + }, +/obj/docking_port/mobile{ + name = "food truck"; + rechargeTime = 1800; + dir = 4; + shuttle_id = "huntership"; + port_direction = 8 + }, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "foodtruck_shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/shuttle/hunter/mi13_foodtruck) +"tW" = ( +/obj/structure/table/optable, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"ua" = ( +/obj/structure/sign/poster/contraband/donk_co/directional/south, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"ui" = ( +/obj/structure/table/reinforced, +/obj/item/food/classic_hard_shell_taco{ + pixel_x = 2; + pixel_y = 10 + }, +/obj/item/food/classic_hard_shell_taco{ + pixel_y = 8 + }, +/obj/item/food/classic_hard_shell_taco{ + pixel_y = 6; + pixel_x = -2 + }, +/obj/item/food/classic_hard_shell_taco{ + pixel_y = 4; + pixel_x = -4 + }, +/obj/item/food/classic_hard_shell_taco{ + pixel_y = 2; + pixel_x = -6 + }, +/obj/item/food/classic_hard_shell_taco{ + pixel_x = -8 + }, +/obj/structure/sign/poster/contraband/eat/directional/east, +/turf/open/floor/iron/kitchen/small, +/area/shuttle/hunter/mi13_foodtruck) +"uq" = ( +/obj/effect/mob_spawn/ghost_role/human/fugitive/mi13/chef{ + dir = 4 + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"we" = ( +/obj/machinery/power/apc/auto_name/directional/south{ + cable_layer = 1 + }, +/obj/structure/cable/layer1, +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 1 + }, +/obj/effect/mapping_helpers/apc/syndicate_access, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"wA" = ( +/obj/structure/lattice/catwalk, +/turf/template_noop, +/area/shuttle/hunter/mi13_foodtruck) +"xg" = ( +/obj/structure/chair/comfy/shuttle/tactical{ + dir = 1 + }, +/obj/structure/cable/layer1, +/obj/effect/turf_decal/siding/dark_red/end{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"xG" = ( +/obj/structure/railing/corner{ + dir = 8 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"zJ" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"Ak" = ( +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/hunter{ + x_offset = -6; + y_offset = -7 + }, +/obj/structure/cable/layer1, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"Am" = ( +/obj/structure/lattice, +/turf/template_noop, +/area/shuttle/hunter/mi13_foodtruck) +"An" = ( +/obj/effect/spawner/structure/window/reinforced/shuttle, +/obj/structure/cable/layer1, +/obj/machinery/door/poddoor{ + id = "foodtruck_right_window" + }, +/turf/open/floor/plating, +/area/shuttle/hunter/mi13_foodtruck) +"Ay" = ( +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/obj/effect/turf_decal/siding/dark_red, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"AF" = ( +/obj/structure/fans/tiny, +/obj/machinery/door/poddoor/shutters{ + id = "foodtruck_shutters"; + dir = 8 + }, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/turf/open/floor/plating, +/area/shuttle/hunter/mi13_foodtruck) +"AP" = ( +/obj/effect/turf_decal/arrows, +/obj/structure/railing{ + dir = 8 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"Bn" = ( +/obj/machinery/computer/crew/syndie, +/turf/open/floor/circuit/red, +/area/shuttle/hunter/mi13_foodtruck) +"CF" = ( +/obj/structure/fans/tiny, +/obj/effect/turf_decal/stripes{ + dir = 8 + }, +/obj/machinery/door/poddoor/shutters{ + id = "foodtruck_shutters"; + dir = 8 + }, +/turf/open/floor/plating, +/area/shuttle/hunter/mi13_foodtruck) +"CY" = ( +/obj/machinery/deepfryer, +/obj/structure/noticeboard/directional/north, +/turf/open/floor/iron/kitchen/small, +/area/shuttle/hunter/mi13_foodtruck) +"Dp" = ( +/obj/effect/turf_decal/arrows{ + dir = 8; + pixel_x = 16 + }, +/obj/structure/railing/corner{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"Ev" = ( +/obj/effect/spawner/structure/window/reinforced/shuttle, +/obj/structure/cable/layer1, +/obj/machinery/door/poddoor{ + id = "foodtruck_left_window" + }, +/turf/open/floor/plating, +/area/shuttle/hunter/mi13_foodtruck) +"Ff" = ( +/obj/effect/turf_decal/siding/dark_red, +/obj/effect/turf_decal/siding/dark_red{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"Fv" = ( +/obj/machinery/light/dim/directional/west, +/obj/effect/turf_decal/siding/dark_red{ + dir = 4 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"IG" = ( +/obj/structure/marker_beacon/burgundy, +/obj/structure/lattice, +/turf/template_noop, +/area/shuttle/hunter/mi13_foodtruck) +"Jv" = ( +/obj/structure/cable/layer1, +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 1 + }, +/obj/machinery/airalarm/directional/south, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"KV" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/reagent_containers/cup/glass/mug/tea{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = 8 + }, +/obj/item/reagent_containers/cup/beaker{ + pixel_x = -5; + pixel_y = 3 + }, +/obj/item/reagent_containers/pill/cyanide{ + pixel_y = -9; + pixel_x = -2 + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"Lm" = ( +/obj/machinery/vending/dinnerware, +/obj/machinery/airalarm/directional/east, +/obj/effect/mapping_helpers/airalarm/syndicate_access, +/turf/open/floor/iron/kitchen/small, +/area/shuttle/hunter/mi13_foodtruck) +"Ml" = ( +/obj/machinery/computer/camera_advanced/syndie{ + dir = 1 + }, +/turf/open/floor/circuit/red, +/area/shuttle/hunter/mi13_foodtruck) +"MZ" = ( +/obj/effect/mob_spawn/ghost_role/human/fugitive/mi13{ + dir = 4 + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"NJ" = ( +/obj/effect/turf_decal/siding/dark_red, +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 1 + }, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"OU" = ( +/obj/machinery/fugitive_locator, +/turf/open/floor/circuit/red, +/area/shuttle/hunter/mi13_foodtruck) +"Pq" = ( +/turf/template_noop, +/area/template_noop) +"PE" = ( +/obj/machinery/fugitive_capture, +/turf/open/floor/circuit/red, +/area/shuttle/hunter/mi13_foodtruck) +"QV" = ( +/obj/effect/turf_decal/siding/dark_red/corner{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark_red, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"RO" = ( +/obj/machinery/button/door/directional/east{ + id = "foodtruck_shutters"; + name = "External Shutter Switch" + }, +/obj/structure/table/reinforced, +/obj/item/storage/cans/sixsoda, +/turf/open/floor/iron/kitchen/small, +/area/shuttle/hunter/mi13_foodtruck) +"Sw" = ( +/obj/machinery/door/airlock/vault{ + normalspeed = 0; + name = "Secure Door"; + desc = "An imposing looking door. It looks reinforced." + }, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/obj/effect/mapping_helpers/airlock/access/any/syndicate/general, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"SP" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/pinpointer/shuttle, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"UF" = ( +/obj/machinery/door/airlock/external{ + name = "Fire Escape"; + desc = "If you really need to escape in a hurry, try this door."; + id_tag = "foodtruck_firescape" + }, +/obj/structure/fans/tiny, +/obj/effect/mapping_helpers/airlock/access/any/syndicate/general, +/obj/effect/mapping_helpers/airlock/locked, +/obj/effect/mapping_helpers/airlock/cutaiwire, +/turf/open/floor/mineral/plastitanium, +/area/shuttle/hunter/mi13_foodtruck) +"Xc" = ( +/obj/effect/turf_decal/arrows{ + dir = 4 + }, +/obj/structure/railing/corner, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) +"XE" = ( +/obj/machinery/suit_storage_unit/syndicate{ + mod_type = null; + suit_type = /obj/item/clothing/suit/space/syndicate/black; + helmet_type = /obj/item/clothing/head/helmet/space/syndicate/black + }, +/obj/machinery/button/door/directional/east{ + id = "foodtruck_firescape"; + normaldoorcontrol = 1; + specialfunctions = 4; + pixel_y = -10; + name = "Fire Escape Bolt Switch" + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"Yi" = ( +/obj/structure/table/reinforced/plastitaniumglass, +/obj/item/reagent_containers/syringe{ + pixel_y = -3; + pixel_x = -5 + }, +/obj/item/reagent_containers/dropper{ + pixel_y = 6; + pixel_x = -3 + }, +/obj/item/reagent_containers/cup/beaker/large{ + pixel_y = 6; + pixel_x = 8 + }, +/obj/item/reagent_containers/pill/cyanide{ + pixel_y = -6; + pixel_x = 10 + }, +/turf/open/floor/circuit/red/off, +/area/shuttle/hunter/mi13_foodtruck) +"YW" = ( +/obj/structure/table/reinforced, +/obj/structure/railing{ + dir = 4 + }, +/obj/effect/turf_decal/siding/dark{ + dir = 4 + }, +/turf/open/floor/mineral/titanium, +/area/shuttle/hunter/mi13_foodtruck) + +(1,1,1) = {" +Pq +Pq +Pq +Pq +Pq +ku +AF +CF +te +CF +CF +CF +ku +Pq +Pq +"} +(2,1,1) = {" +Pq +Pq +Pq +cm +Am +ku +ao +Xc +al +al +Dp +ua +ku +IG +Pq +"} +(3,1,1) = {" +Pq +Pq +Pq +Pq +wA +ku +iO +xG +oA +AP +pZ +nh +ku +aj +hB +"} +(4,1,1) = {" +cm +Ev +Ev +ku +ku +ku +sN +jc +YW +YW +jc +kv +ku +aj +hB +"} +(5,1,1) = {" +Ev +Ev +jw +MZ +zJ +Sw +bY +bY +bY +bY +bY +bY +ku +cm +Pq +"} +(6,1,1) = {" +Ev +Ak +xg +gs +Jv +ku +CY +ui +dg +Lm +bY +RO +ku +Pq +Pq +"} +(7,1,1) = {" +ku +eP +SP +mT +jb +ku +ku +ku +ku +ku +ah +kf +ku +Pq +Pq +"} +(8,1,1) = {" +An +pQ +xg +gs +we +ku +eA +jA +Fv +fo +QV +gv +ku +Pq +Pq +"} +(9,1,1) = {" +An +An +ag +XE +zJ +ah +lp +NJ +PE +OU +Ay +gc +ku +cm +Pq +"} +(10,1,1) = {" +cm +An +An +ku +UF +ku +dB +Ff +MZ +uq +Ay +tW +ku +aj +hB +"} +(11,1,1) = {" +Pq +Pq +Pq +Pq +wA +ku +dJ +pU +Ml +Bn +pU +ab +ku +aj +hB +"} +(12,1,1) = {" +Pq +Pq +Pq +cm +Am +ku +lX +KV +Yi +dC +kj +af +ku +IG +Pq +"} +(13,1,1) = {" +Pq +Pq +Pq +Pq +Pq +ku +aa +aa +aa +aa +aa +aa +ku +Pq +Pq +"} diff --git a/_maps/shuttles/labour_box.dmm b/_maps/shuttles/labour_box.dmm index f1eeb8e5b04d9..4adb12a5321b2 100644 --- a/_maps/shuttles/labour_box.dmm +++ b/_maps/shuttles/labour_box.dmm @@ -104,9 +104,7 @@ /area/shuttle/labor) "r" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating/airless, /area/shuttle/labor) "s" = ( diff --git a/_maps/shuttles/labour_delta.dmm b/_maps/shuttles/labour_delta.dmm index 62b590b8c82fc..aa4e90090d985 100644 --- a/_maps/shuttles/labour_delta.dmm +++ b/_maps/shuttles/labour_delta.dmm @@ -242,9 +242,7 @@ /area/shuttle/labor) "x" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/labor) diff --git a/_maps/shuttles/labour_generic.dmm b/_maps/shuttles/labour_generic.dmm index 82b20d6f5ed28..fe7c0b4b12ebc 100644 --- a/_maps/shuttles/labour_generic.dmm +++ b/_maps/shuttles/labour_generic.dmm @@ -99,9 +99,7 @@ /area/shuttle/labor) "r" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating/airless, /area/shuttle/labor) "s" = ( diff --git a/_maps/shuttles/mining_box.dmm b/_maps/shuttles/mining_box.dmm index c9771c932e5a2..98607ead77fc3 100644 --- a/_maps/shuttles/mining_box.dmm +++ b/_maps/shuttles/mining_box.dmm @@ -45,9 +45,7 @@ /area/shuttle/mining) "j" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, diff --git a/_maps/shuttles/mining_common_meta.dmm b/_maps/shuttles/mining_common_meta.dmm index 0acf76371b881..f8aee42a870a7 100644 --- a/_maps/shuttles/mining_common_meta.dmm +++ b/_maps/shuttles/mining_common_meta.dmm @@ -45,9 +45,7 @@ /area/shuttle/mining) "j" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, /obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/plating, diff --git a/_maps/shuttles/mining_delta.dmm b/_maps/shuttles/mining_delta.dmm index 8b731c6f024d2..7ee1e5662e812 100644 --- a/_maps/shuttles/mining_delta.dmm +++ b/_maps/shuttles/mining_delta.dmm @@ -224,9 +224,7 @@ /area/shuttle/mining) "t" = ( /obj/machinery/power/shuttle_engine/propulsion/burst, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/stripes/line, /turf/open/floor/plating/airless, /area/shuttle/mining) diff --git a/_maps/shuttles/mining_freight.dmm b/_maps/shuttles/mining_freight.dmm index 70605f222e7fd..ead08ff80ac31 100644 --- a/_maps/shuttles/mining_freight.dmm +++ b/_maps/shuttles/mining_freight.dmm @@ -106,7 +106,7 @@ /obj/effect/spawner/structure/window/reinforced/shuttle, /obj/machinery/power/shuttle_engine/heater, /turf/open/floor/plating, -/area/template_noop) +/area/shuttle/mining) "q" = ( /obj/structure/ore_box, /obj/effect/turf_decal/delivery, diff --git a/_maps/shuttles/mining_large.dmm b/_maps/shuttles/mining_large.dmm index 56cf2ef7d3333..f1c0d3a4cf2e6 100644 --- a/_maps/shuttles/mining_large.dmm +++ b/_maps/shuttles/mining_large.dmm @@ -322,9 +322,7 @@ /area/shuttle/mining/large) "G" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating/airless, /area/shuttle/mining/large) "H" = ( diff --git a/_maps/shuttles/pirate_default.dmm b/_maps/shuttles/pirate_default.dmm index 6acff639725ff..43c72a9d2bfa3 100644 --- a/_maps/shuttles/pirate_default.dmm +++ b/_maps/shuttles/pirate_default.dmm @@ -475,7 +475,7 @@ pixel_x = 6; pixel_y = 12 }, -/obj/item/clothing/mask/cigarette/cigar, +/obj/item/cigarette/cigar, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/stripes/line, /turf/open/floor/wood, @@ -837,8 +837,7 @@ }, /obj/effect/decal/cleanable/dirt, /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/storage/box/lethalshot, /obj/item/gun/ballistic/shotgun/automatic/combat{ diff --git a/_maps/shuttles/pirate_dutchman.dmm b/_maps/shuttles/pirate_dutchman.dmm index fb36638173ed1..1d1a0b0902b86 100644 --- a/_maps/shuttles/pirate_dutchman.dmm +++ b/_maps/shuttles/pirate_dutchman.dmm @@ -487,8 +487,9 @@ "xA" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ dir = 1; - x_offset = -4; - y_offset = -8 + x_offset = 7; + y_offset = -3; + view_range = 10 }, /turf/open/floor/carpet/royalblack/airless, /area/shuttle/pirate/flying_dutchman) @@ -618,7 +619,7 @@ pixel_x = -4; pixel_y = 12 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4 }, /obj/item/reagent_containers/cup/glass/drinkingglass/shotglass{ diff --git a/_maps/shuttles/pirate_ex_interdyne.dmm b/_maps/shuttles/pirate_ex_interdyne.dmm index e5e576e3d65f9..dce984f19c993 100644 --- a/_maps/shuttles/pirate_ex_interdyne.dmm +++ b/_maps/shuttles/pirate_ex_interdyne.dmm @@ -169,7 +169,7 @@ "aF" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ dir = 4; - x_offset = -3; + x_offset = 0; y_offset = 7 }, /turf/open/floor/iron/dark, diff --git a/_maps/shuttles/pirate_geode.dmm b/_maps/shuttles/pirate_geode.dmm index afb582e432203..2f6a573aae050 100644 --- a/_maps/shuttles/pirate_geode.dmm +++ b/_maps/shuttles/pirate_geode.dmm @@ -430,8 +430,7 @@ "vY" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ dir = 8; - x_offset = 10; - y_offset = 5 + x_offset = -8 }, /obj/effect/turf_decal/weather/dirt{ dir = 3 @@ -487,7 +486,7 @@ /obj/effect/turf_decal/stripes/white/line{ dir = 8 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/pirate) "yz" = ( /obj/structure/flora/lunar_plant/style_3, @@ -838,7 +837,7 @@ /obj/machinery/power/shuttle_engine/propulsion{ dir = 8 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/pirate) "Pr" = ( /obj/structure/table/wood, diff --git a/_maps/shuttles/pirate_grey.dmm b/_maps/shuttles/pirate_grey.dmm index 23bc06b5dc922..22356be732c36 100644 --- a/_maps/shuttles/pirate_grey.dmm +++ b/_maps/shuttles/pirate_grey.dmm @@ -353,8 +353,9 @@ /obj/machinery/light/small/directional/west, /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ dir = 4; - x_offset = -3; - y_offset = 7 + x_offset = -5; + y_offset = 12; + view_range = 10 }, /obj/effect/decal/cleanable/dirt, /obj/machinery/firealarm/directional/south, @@ -854,7 +855,7 @@ }, /obj/effect/mapping_helpers/airlock/cutaiwire, /obj/docking_port/mobile/pirate{ - dir = 4 + dir = 8 }, /obj/structure/fans/tiny, /turf/open/floor/pod/light, @@ -1231,7 +1232,7 @@ /area/shuttle/pirate) "Pn" = ( /turf/closed/wall, -/area/template_noop) +/area/shuttle/pirate) "PM" = ( /obj/effect/decal/cleanable/dirt, /obj/effect/spawner/random/trash/grille_or_waste, diff --git a/_maps/shuttles/pirate_irs.dmm b/_maps/shuttles/pirate_irs.dmm index e01639a9a9fe6..4fd5a8c357342 100644 --- a/_maps/shuttles/pirate_irs.dmm +++ b/_maps/shuttles/pirate_irs.dmm @@ -1027,9 +1027,7 @@ /obj/structure/railing{ dir = 10 }, -/obj/machinery/shower/directional/south{ - layer = 4 - }, +/obj/machinery/shower/directional/south, /obj/effect/turf_decal/box, /obj/structure/fluff/shower_drain, /turf/open/floor/iron/dark, @@ -1420,7 +1418,11 @@ }, /area/shuttle/pirate) "LV" = ( -/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate, +/obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ + y_offset = 11; + x_offset = -4; + view_range = 10 + }, /obj/effect/turf_decal/trimline/dark_blue/filled/line{ dir = 5 }, diff --git a/_maps/shuttles/pirate_silverscale.dmm b/_maps/shuttles/pirate_silverscale.dmm index f32e70b1e451d..519a17b4659d9 100644 --- a/_maps/shuttles/pirate_silverscale.dmm +++ b/_maps/shuttles/pirate_silverscale.dmm @@ -79,10 +79,6 @@ /obj/effect/turf_decal/trimline/yellow/warning, /turf/open/floor/plating/airless, /area/shuttle/pirate) -"eK" = ( -/obj/machinery/power/shuttle_engine/propulsion, -/turf/open/floor/plating/airless, -/area/shuttle/pirate) "eU" = ( /obj/structure/chair/comfy/shuttle, /turf/open/floor/carpet/royalblack, @@ -337,7 +333,7 @@ dir = 6 }, /turf/open/floor/plating/airless, -/area/template_noop) +/area/shuttle/pirate) "xj" = ( /obj/structure/table/glass, /obj/item/storage/medkit/brute, @@ -355,8 +351,7 @@ /area/shuttle/pirate) "xR" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/melee/energy/sword/saber/purple{ pixel_y = 12 @@ -462,7 +457,7 @@ width = 26 }, /obj/docking_port/mobile/pirate{ - dir = 4; + dir = 8; launch_status = 0; movement_force = list("KNOCKDOWN"=0,"THROW"=0); name = "Silverscale Cruiser"; @@ -652,8 +647,9 @@ "Mo" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/pirate{ dir = 8; - x_offset = 10; - y_offset = 5 + x_offset = 12; + y_offset = 5; + view_range = 10 }, /turf/open/floor/iron/dark/side{ dir = 8 @@ -695,12 +691,10 @@ pixel_y = 10 }, /obj/item/reagent_containers/cup/glass/bottle/hcider{ - layer = 3.1; pixel_x = -6; pixel_y = 8 }, /obj/item/reagent_containers/cup/glass/bottle/rum{ - layer = 3.2; pixel_x = -15; pixel_y = 4 }, @@ -713,7 +707,6 @@ pixel_y = 15 }, /obj/item/reagent_containers/cup/glass/bottle/wine{ - layer = 3.1; pixel_x = 3; pixel_y = 5 }, @@ -784,8 +777,7 @@ /area/shuttle/pirate) "RO" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/ammo_box/strilka310, /obj/item/ammo_box/strilka310{ @@ -942,8 +934,7 @@ /area/shuttle/pirate) "Yj" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/storage/box/lethalshot, /obj/item/storage/box/lethalshot, @@ -1022,7 +1013,7 @@ rB Ww Ww Ww -eK +Ww Ww Ww Ww diff --git a/_maps/shuttles/ruin_cyborg_mothership.dmm b/_maps/shuttles/ruin_cyborg_mothership.dmm index 8ee4eb11a6a32..4e0fff656e83d 100644 --- a/_maps/shuttles/ruin_cyborg_mothership.dmm +++ b/_maps/shuttles/ruin_cyborg_mothership.dmm @@ -43,9 +43,7 @@ /area/shuttle/ruin/cyborg_mothership) "dI" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/template_noop, /area/shuttle/ruin/cyborg_mothership) "dO" = ( @@ -232,9 +230,7 @@ /turf/open/floor/plating/airless, /area/shuttle/ruin/cyborg_mothership) "nM" = ( -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/closet/crate/preopen, /obj/effect/turf_decal/stripes/asteroid/line{ dir = 8 @@ -733,9 +729,7 @@ /area/shuttle/ruin/cyborg_mothership) "OY" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/west, /turf/template_noop, /area/shuttle/ruin/cyborg_mothership) @@ -796,9 +790,7 @@ /area/shuttle/ruin/cyborg_mothership) "SV" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/window/reinforced/spawner/directional/east, /turf/template_noop, /area/shuttle/ruin/cyborg_mothership) @@ -809,9 +801,7 @@ /area/shuttle/ruin/cyborg_mothership) "TH" = ( /obj/effect/decal/cleanable/dirt, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/effect/turf_decal/stripes/asteroid/line{ dir = 4 }, diff --git a/_maps/shuttles/starfury_corvette.dmm b/_maps/shuttles/starfury_corvette.dmm index 498f8198cb421..877375fa4e785 100644 --- a/_maps/shuttles/starfury_corvette.dmm +++ b/_maps/shuttles/starfury_corvette.dmm @@ -58,7 +58,9 @@ /area/shuttle/sbc_corvette) "ai" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/syndicate/corvette{ - dir = 8 + dir = 8; + y_offset = 0; + x_offset = -3 }, /obj/effect/turf_decal/stripes/red/line{ dir = 4 @@ -70,7 +72,10 @@ id_tag = "SBC_corvette_bolt"; name = "Syndicate Corvette Airlock" }, -/obj/docking_port/mobile/syndicate_corvette, +/obj/docking_port/mobile/syndicate_corvette{ + preferred_direction = 1; + port_direction = 4 + }, /obj/structure/fans/tiny, /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /obj/effect/turf_decal/siding/thinplating_new/dark{ @@ -290,8 +295,7 @@ /area/shuttle/sbc_corvette) "aO" = ( /obj/machinery/door/poddoor/preopen{ - id = "SBC_corvette_blast"; - layer = 3 + id = "SBC_corvette_blast" }, /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, /turf/open/floor/plating, diff --git a/_maps/shuttles/whiteship_birdshot.dmm b/_maps/shuttles/whiteship_birdshot.dmm index 593b84827bf3f..ed1936e3a1cf8 100644 --- a/_maps/shuttles/whiteship_birdshot.dmm +++ b/_maps/shuttles/whiteship_birdshot.dmm @@ -26,9 +26,6 @@ /obj/machinery/meter, /turf/open/floor/catwalk_floor, /area/shuttle/abandoned/engine) -"bp" = ( -/turf/closed/wall/mineral/titanium/overspace, -/area/shuttle/abandoned/engine) "bq" = ( /obj/effect/turf_decal/siding/thinplating/dark{ dir = 1 @@ -181,11 +178,12 @@ /obj/machinery/porta_turret/centcom_shuttle/weak{ dir = 4 }, -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned/crew) "gj" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ - dir = 1 + dir = 1; + x_offset = 4 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/small, @@ -339,9 +337,6 @@ /obj/machinery/atmospherics/components/unary/vent_pump/on, /turf/open/floor/iron/smooth_large, /area/shuttle/abandoned/cargo) -"ma" = ( -/turf/closed/wall/mineral/titanium/overspace, -/area/shuttle/abandoned/cargo) "mU" = ( /obj/structure/toilet{ pixel_y = 8 @@ -366,9 +361,7 @@ /area/shuttle/abandoned/crew) "nz" = ( /obj/structure/closet/secure_closet/freezer/fridge/open, -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /obj/item/food/meat/slab/synthmeat{ pixel_x = -3; pixel_y = 3 @@ -538,7 +531,7 @@ /turf/open/floor/iron/small, /area/shuttle/abandoned/medbay) "ry" = ( -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned/bar) "rO" = ( /obj/effect/decal/cleanable/dirt, @@ -598,9 +591,6 @@ /obj/structure/sign/poster/official/random/directional/north, /turf/open/floor/catwalk_floor, /area/shuttle/abandoned/engine) -"uk" = ( -/turf/closed/wall/mineral/titanium/overspace, -/area/shuttle/abandoned/pod) "ur" = ( /obj/effect/decal/cleanable/dirt, /obj/machinery/atmospherics/components/unary/vent_pump/on{ @@ -1170,7 +1160,7 @@ /obj/machinery/porta_turret/centcom_shuttle/weak{ dir = 4 }, -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned/pod) "Ll" = ( /obj/structure/cable, @@ -1277,7 +1267,7 @@ /obj/machinery/porta_turret/centcom_shuttle/weak{ dir = 4 }, -/turf/closed/wall/mineral/titanium/overspace, +/turf/closed/wall/mineral/titanium, /area/shuttle/abandoned/bridge) "Ql" = ( /obj/effect/decal/cleanable/dirt, @@ -1448,9 +1438,6 @@ /obj/machinery/light/built/directional/west, /turf/open/floor/carpet/green, /area/shuttle/abandoned/bar) -"WG" = ( -/turf/closed/wall/mineral/titanium/overspace, -/area/shuttle/abandoned/bridge) "WW" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 4 @@ -1538,9 +1525,9 @@ (1,1,1) = {" lt lt -bp +Gi BH -bp +Gi lt lt lt @@ -1552,15 +1539,15 @@ lt lt lt lt -bp +Gi BH -bp +Gi lt lt "} (2,1,1) = {" lt -bp +Gi Om oe Gi @@ -1578,7 +1565,7 @@ BH Gi oe Om -bp +Gi lt "} (3,1,1) = {" @@ -1588,7 +1575,7 @@ Wu RH Gi oe -bp +Gi lt lt lt @@ -1596,7 +1583,7 @@ lt lt lt lt -bp +Gi oe Gi qn @@ -1674,7 +1661,7 @@ Gi lt "} (7,1,1) = {" -ma +Tg kQ DK er @@ -1694,7 +1681,7 @@ uF uF BR kQ -ma +Tg "} (8,1,1) = {" kQ @@ -1928,7 +1915,7 @@ lt "} (18,1,1) = {" lt -uk +PN pv pv pv @@ -1946,7 +1933,7 @@ KR JP JP JP -WG +XB lt "} (19,1,1) = {" @@ -2021,7 +2008,7 @@ lt (22,1,1) = {" lt lt -uk +PN pv xr qO @@ -2032,12 +2019,12 @@ lt lt lt lt -WG +XB JP Hk Bs JP -WG +XB lt lt "} @@ -2045,7 +2032,7 @@ lt lt lt lt -uk +PN BZ BZ Lj @@ -2059,7 +2046,7 @@ lt Qf YJ YJ -WG +XB lt lt lt diff --git a/_maps/shuttles/whiteship_cere.dmm b/_maps/shuttles/whiteship_cere.dmm index aac0c4d7ada83..df697dc1739c1 100644 --- a/_maps/shuttles/whiteship_cere.dmm +++ b/_maps/shuttles/whiteship_cere.dmm @@ -685,7 +685,9 @@ "Hw" = ( /obj/machinery/light/small/directional/east, /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ - dir = 1 + dir = 1; + x_offset = 0; + y_offset = 10 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark, diff --git a/_maps/shuttles/whiteship_donut.dmm b/_maps/shuttles/whiteship_donut.dmm index eff7c2bfaadb7..1c28cd3481875 100644 --- a/_maps/shuttles/whiteship_donut.dmm +++ b/_maps/shuttles/whiteship_donut.dmm @@ -36,9 +36,7 @@ /area/shuttle/abandoned) "aX" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating/airless, /area/shuttle/abandoned) "be" = ( @@ -468,7 +466,9 @@ /area/shuttle/abandoned) "XY" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ - dir = 1 + dir = 1; + x_offset = 0; + y_offset = 9 }, /obj/effect/decal/cleanable/dirt, /obj/item/disk/holodisk/donutstation/whiteship, diff --git a/_maps/shuttles/whiteship_kilo.dmm b/_maps/shuttles/whiteship_kilo.dmm index 8034d78126d68..3dda9d34da2a1 100644 --- a/_maps/shuttles/whiteship_kilo.dmm +++ b/_maps/shuttles/whiteship_kilo.dmm @@ -207,7 +207,7 @@ /obj/machinery/power/shuttle_engine/propulsion/left{ dir = 8 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "jM" = ( /obj/structure/table, @@ -249,8 +249,8 @@ launch_status = 0; movement_force = list("KNOCKDOWN"=0,"THROW"=0); name = "Mining Shuttle"; - port_direction = 4; - preferred_direction = 8 + port_direction = 8; + preferred_direction = 4 }, /turf/open/floor/plating, /area/shuttle/abandoned/cargo) @@ -327,7 +327,7 @@ /obj/machinery/power/shuttle_engine/propulsion{ dir = 8 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "nt" = ( /obj/effect/turf_decal/stripes/line{ @@ -355,7 +355,7 @@ /obj/machinery/power/shuttle_engine/propulsion/right{ dir = 8 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/bar) "pI" = ( /obj/effect/turf_decal/delivery, @@ -416,7 +416,7 @@ /obj/machinery/power/shuttle_engine/propulsion/right{ dir = 8 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "rX" = ( /obj/effect/decal/cleanable/dirt, @@ -868,7 +868,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "Nh" = ( /turf/closed/wall/mineral/plastitanium, @@ -909,7 +909,7 @@ /obj/effect/turf_decal/stripes/line{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/bar) "Pe" = ( /obj/machinery/button/door/directional/north{ @@ -931,7 +931,7 @@ /obj/machinery/power/shuttle_engine/propulsion/left{ dir = 8 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/bar) "PR" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden{ @@ -1031,7 +1031,9 @@ }, /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ dir = 4; - view_range = 14 + view_range = 14; + y_offset = 5; + x_offset = 0 }, /obj/effect/turf_decal/stripes/corner{ dir = 8 diff --git a/_maps/shuttles/whiteship_meta.dmm b/_maps/shuttles/whiteship_meta.dmm index 9939b4b55ff87..1557622647809 100644 --- a/_maps/shuttles/whiteship_meta.dmm +++ b/_maps/shuttles/whiteship_meta.dmm @@ -1361,7 +1361,6 @@ pixel_y = 14 }, /obj/item/reagent_containers/condiment/enzyme{ - layer = 5; pixel_x = -5; pixel_y = 6 }, diff --git a/_maps/shuttles/whiteship_obelisk.dmm b/_maps/shuttles/whiteship_obelisk.dmm index 4b8eb9ee91b84..0f1e07b1a213e 100644 --- a/_maps/shuttles/whiteship_obelisk.dmm +++ b/_maps/shuttles/whiteship_obelisk.dmm @@ -206,7 +206,7 @@ /obj/machinery/power/shuttle_engine/propulsion/left{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "mQ" = ( /obj/structure/cable, @@ -271,14 +271,14 @@ dir = 4 }, /obj/structure/window/reinforced/spawner/directional/west, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "ot" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ dir = 4; view_range = 14; - x_offset = -3; - y_offset = -3 + x_offset = -2; + y_offset = -7 }, /obj/effect/decal/cleanable/dirt, /obj/effect/turf_decal/tile/dark_blue/anticorner{ @@ -438,7 +438,7 @@ /obj/effect/turf_decal/stripes{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "zj" = ( /obj/structure/cable, @@ -699,7 +699,7 @@ /obj/machinery/power/shuttle_engine/propulsion/right{ dir = 4 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "PR" = ( /obj/structure/table/wood, diff --git a/_maps/shuttles/whiteship_personalshuttle.dmm b/_maps/shuttles/whiteship_personalshuttle.dmm index 8e041082bc6d9..7666f6c63add1 100644 --- a/_maps/shuttles/whiteship_personalshuttle.dmm +++ b/_maps/shuttles/whiteship_personalshuttle.dmm @@ -90,7 +90,7 @@ /obj/machinery/power/shuttle_engine/propulsion/right{ dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "cM" = ( /turf/template_noop, @@ -100,7 +100,7 @@ dir = 1 }, /obj/structure/window/reinforced/spawner/directional/south, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "cY" = ( /obj/machinery/atmospherics/components/unary/vent_pump/on, @@ -372,9 +372,8 @@ "DT" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ dir = 1; - view_range = 14; - x_offset = -3; - y_offset = -3 + x_offset = 0; + y_offset = -5 }, /obj/effect/decal/cleanable/dirt, /turf/open/floor/mineral/plastitanium, @@ -523,7 +522,7 @@ /obj/machinery/power/shuttle_engine/propulsion/left{ dir = 1 }, -/turf/open/floor/plating, +/turf/open/floor/plating/airless, /area/shuttle/abandoned/engine) "WL" = ( /obj/machinery/light/cold/no_nightlight/directional/west, diff --git a/_maps/shuttles/whiteship_pubby.dmm b/_maps/shuttles/whiteship_pubby.dmm index 56f85fcd80218..39024a6f0a391 100644 --- a/_maps/shuttles/whiteship_pubby.dmm +++ b/_maps/shuttles/whiteship_pubby.dmm @@ -271,7 +271,7 @@ "lV" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ y_offset = 2; - x_offset = -7 + x_offset = -8 }, /obj/effect/decal/cleanable/cobweb/cobweb2, /obj/effect/decal/cleanable/dirt, @@ -550,7 +550,7 @@ shuttle_id = "whiteship"; launch_status = 0; name = "White Ship"; - port_direction = 2 + port_direction = 4 }, /turf/open/floor/plating, /area/shuttle/abandoned) @@ -595,9 +595,7 @@ /area/shuttle/abandoned) "zw" = ( /obj/machinery/power/shuttle_engine/heater, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /turf/open/floor/plating/airless, /area/shuttle/abandoned) "zY" = ( diff --git a/_maps/shuttles/whiteship_tram.dmm b/_maps/shuttles/whiteship_tram.dmm index 84f438accfd1d..7666e2c70ac85 100644 --- a/_maps/shuttles/whiteship_tram.dmm +++ b/_maps/shuttles/whiteship_tram.dmm @@ -1164,7 +1164,9 @@ /area/shuttle/abandoned/cargo) "Ft" = ( /obj/machinery/computer/camera_advanced/shuttle_docker/whiteship{ - dir = 8 + dir = 8; + x_offset = 0; + y_offset = 13 }, /obj/effect/turf_decal/stripes/white/corner{ dir = 1 diff --git a/_maps/templates/battlecruiser_starfury.dmm b/_maps/templates/battlecruiser_starfury.dmm index ca9ff3858872e..59d6b325fdaac 100644 --- a/_maps/templates/battlecruiser_starfury.dmm +++ b/_maps/templates/battlecruiser_starfury.dmm @@ -21,8 +21,7 @@ /area/shuttle/sbc_starfury) "ad" = ( /obj/machinery/door/poddoor/preopen{ - id = "syndie_battlecruier_bridge_blast"; - layer = 3 + id = "syndie_battlecruier_bridge_blast" }, /obj/structure/cable, /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, @@ -409,8 +408,7 @@ /area/shuttle/sbc_starfury) "bx" = ( /obj/machinery/door/poddoor/preopen{ - id = "syndie_battlecruier_bridge_blast"; - layer = 3 + id = "syndie_battlecruier_bridge_blast" }, /obj/effect/spawner/structure/window/reinforced/plasma/plastitanium, /obj/structure/cable, @@ -645,14 +643,6 @@ }, /turf/open/floor/iron/dark, /area/shuttle/sbc_starfury) -"cy" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/siding/thinplating_new/dark, -/obj/effect/turf_decal/stripes/red/line, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/sbc_starfury) "cz" = ( /obj/machinery/newscaster/directional/south, /obj/structure/table/reinforced/plastitaniumglass, @@ -997,7 +987,6 @@ /obj/structure/sign/warning/secure_area/directional/east{ desc = "A warning sign which reads 'KEEP CLEAR: SHUTTLE BAY'"; icon_state = "space"; - layer = 4; name = "KEEP CLEAR: SHUTTLE BAY" }, /obj/effect/turf_decal/stripes/red/line, @@ -1007,7 +996,6 @@ /obj/structure/sign/warning/secure_area/directional/west{ desc = "A warning sign which reads 'KEEP CLEAR: SHUTTLE BAY'"; icon_state = "space"; - layer = 4; name = "KEEP CLEAR: SHUTTLE BAY" }, /obj/effect/turf_decal/stripes/red/line, @@ -1592,6 +1580,15 @@ /obj/machinery/door/airlock/multi_tile/public/glass, /turf/open/floor/pod/light, /area/shuttle/sbc_starfury) +"fE" = ( +/obj/structure/table/reinforced, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ + dir = 8 + }, +/turf/open/floor/iron, +/area/shuttle/sbc_starfury) "fF" = ( /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /obj/machinery/door/firedoor/heavy, @@ -1614,6 +1611,14 @@ /obj/effect/mapping_helpers/airlock/access/all/syndicate/general, /turf/open/floor/iron/showroomfloor, /area/shuttle/sbc_starfury) +"fR" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/effect/turf_decal/siding/thinplating_new/dark, +/obj/effect/turf_decal/stripes/red/line, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/sbc_starfury) "fS" = ( /obj/structure/cable, /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, @@ -1641,7 +1646,6 @@ /obj/structure/sign/warning/secure_area/directional/east{ desc = "A warning sign which reads 'KEEP CLEAR: SHUTTLE BAY'"; icon_state = "space"; - layer = 4; name = "KEEP CLEAR: SHUTTLE BAY" }, /obj/effect/turf_decal/stripes/red/line{ @@ -1682,7 +1686,6 @@ /obj/structure/sign/warning/secure_area/directional/west{ desc = "A warning sign which reads 'KEEP CLEAR: SHUTTLE BAY'"; icon_state = "space"; - layer = 4; name = "KEEP CLEAR: SHUTTLE BAY" }, /obj/effect/turf_decal/stripes/line{ @@ -1732,19 +1735,6 @@ /obj/machinery/atmospherics/pipe/smart/manifold4w/scrubbers/hidden/layer2, /turf/open/floor/iron, /area/shuttle/sbc_starfury) -"gN" = ( -/obj/structure/table, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/structure/cable, -/obj/effect/turf_decal/siding/thinplating_new/dark{ - dir = 8 - }, -/obj/effect/turf_decal/stripes/red/line{ - dir = 8 - }, -/turf/open/floor/mineral/plastitanium/red, -/area/shuttle/sbc_starfury) "gO" = ( /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 8 @@ -2196,8 +2186,7 @@ /area/shuttle/sbc_starfury) "hZ" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/gun/ballistic/automatic/m90{ pixel_x = -3; @@ -2212,8 +2201,7 @@ /area/shuttle/sbc_starfury) "ia" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/gun/ballistic/shotgun/bulldog{ pixel_x = -3; @@ -2258,21 +2246,6 @@ /obj/structure/extinguisher_cabinet/directional/east, /turf/open/floor/pod/light, /area/shuttle/sbc_starfury) -"ic" = ( -/obj/machinery/computer/security/telescreen/entertainment{ - pixel_x = -31 - }, -/obj/item/book/manual/wiki/barman_recipes, -/obj/item/reagent_containers/cup/glass/shaker{ - pixel_x = 10 - }, -/obj/structure/table/reinforced/plastitaniumglass, -/obj/effect/turf_decal/siding/dark{ - dir = 1 - }, -/obj/effect/turf_decal/tile/bar, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_starfury) "id" = ( /obj/item/toy/cards/deck/syndicate{ pixel_x = -6; @@ -2389,8 +2362,7 @@ /area/shuttle/sbc_starfury) "io" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/gun/ballistic/revolver/syndicate{ pixel_x = 2; @@ -2470,8 +2442,7 @@ /area/shuttle/sbc_starfury) "ix" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/storage/belt/military, /obj/item/ammo_box/magazine/m7mm, @@ -2537,7 +2508,7 @@ pixel_x = -5; pixel_y = 2 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 5; pixel_y = 7 }, @@ -2578,8 +2549,7 @@ /area/shuttle/sbc_starfury) "iN" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/mod/control/pre_equipped/elite{ pixel_x = 1; @@ -3195,7 +3165,6 @@ /obj/structure/sign/warning/secure_area/directional/north{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; - layer = 4; name = "EXTERNAL AIRLOCK" }, /obj/effect/turf_decal/stripes/line{ @@ -3267,7 +3236,6 @@ /obj/structure/sign/warning/secure_area/directional/north{ desc = "A warning sign which reads 'EXTERNAL AIRLOCK'"; icon_state = "space"; - layer = 4; name = "EXTERNAL AIRLOCK" }, /obj/effect/turf_decal/stripes/line{ @@ -3276,15 +3244,6 @@ /obj/machinery/light/small/red/directional/north, /turf/open/floor/plating, /area/shuttle/sbc_starfury) -"lg" = ( -/obj/structure/table/reinforced, -/obj/machinery/cell_charger, -/obj/item/stock_parts/power_store/cell/high, -/obj/effect/turf_decal/tile/yellow/anticorner/contrasted{ - dir = 8 - }, -/turf/open/floor/iron, -/area/shuttle/sbc_starfury) "lh" = ( /obj/effect/turf_decal/tile/yellow{ dir = 8 @@ -4577,6 +4536,19 @@ /obj/structure/cable, /turf/open/floor/iron/dark/textured, /area/shuttle/sbc_starfury) +"Dy" = ( +/obj/structure/table, +/obj/machinery/cell_charger, +/obj/item/stock_parts/power_store/cell/high, +/obj/structure/cable, +/obj/effect/turf_decal/siding/thinplating_new/dark{ + dir = 8 + }, +/obj/effect/turf_decal/stripes/red/line{ + dir = 8 + }, +/turf/open/floor/mineral/plastitanium/red, +/area/shuttle/sbc_starfury) "Dz" = ( /obj/item/crowbar/red, /obj/structure/cable, @@ -4902,8 +4874,7 @@ /area/shuttle/sbc_starfury) "Jl" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/machinery/airalarm/directional/east, /obj/item/storage/belt/military, @@ -4943,8 +4914,7 @@ /area/shuttle/sbc_starfury) "JL" = ( /obj/structure/rack{ - dir = 8; - layer = 2.9 + dir = 8 }, /obj/item/card/emag{ pixel_x = -2; @@ -5088,17 +5058,6 @@ /obj/machinery/light/small/red/directional/north, /turf/open/floor/plating, /area/shuttle/sbc_starfury) -"MQ" = ( -/obj/structure/closet/crate, -/obj/item/stock_parts/power_store/cell/high, -/obj/item/stock_parts/power_store/cell/high{ - pixel_x = -3; - pixel_y = -3 - }, -/obj/item/inducer/syndicate, -/obj/effect/turf_decal/tile/neutral/fourcorners, -/turf/open/floor/iron/dark, -/area/shuttle/sbc_starfury) "MR" = ( /obj/effect/turf_decal/stripes/line{ dir = 4 @@ -5371,6 +5330,19 @@ /obj/machinery/firealarm/directional/south, /turf/open/floor/engine, /area/shuttle/sbc_starfury) +"RX" = ( +/obj/item/book/manual/wiki/barman_recipes, +/obj/item/reagent_containers/cup/glass/shaker{ + pixel_x = 10 + }, +/obj/structure/table/reinforced/plastitaniumglass, +/obj/effect/turf_decal/siding/dark{ + dir = 1 + }, +/obj/effect/turf_decal/tile/bar, +/obj/machinery/computer/security/telescreen/entertainment/directional/west, +/turf/open/floor/iron/dark, +/area/shuttle/sbc_starfury) "Sb" = ( /obj/machinery/door/firedoor, /obj/machinery/door/airlock/centcom{ @@ -5631,6 +5603,17 @@ /obj/effect/decal/cleanable/dirt, /turf/open/floor/iron/dark/side, /area/shuttle/sbc_starfury) +"WI" = ( +/obj/structure/closet/crate, +/obj/item/stock_parts/power_store/cell/high, +/obj/item/stock_parts/power_store/cell/high{ + pixel_x = -3; + pixel_y = -3 + }, +/obj/item/inducer/syndicate, +/obj/effect/turf_decal/tile/neutral/fourcorners, +/turf/open/floor/iron/dark, +/area/shuttle/sbc_starfury) "WV" = ( /obj/machinery/atmospherics/pipe/smart/manifold4w/supply/hidden/layer4, /turf/open/floor/iron, @@ -6066,7 +6049,7 @@ ce ae hd hD -ic +RX iq iy ae @@ -6486,7 +6469,7 @@ Jf ae kz kO -lg +fE ae ae Fc @@ -6720,7 +6703,7 @@ ay ag dY UB -cy +fR ec eB aH @@ -7286,7 +7269,7 @@ ST ae ae gB -gN +Dy gY Fl hS @@ -7772,7 +7755,7 @@ mQ ae nR Xr -MQ +WI ae ko ae diff --git a/_maps/templates/holodeck_basketball.dmm b/_maps/templates/holodeck_basketball.dmm index 7af2c536439bb..3260193010956 100644 --- a/_maps/templates/holodeck_basketball.dmm +++ b/_maps/templates/holodeck_basketball.dmm @@ -9,8 +9,7 @@ /area/template_noop) "b" = ( /obj/structure/hoop{ - dir = 1; - layer = 4.1 + dir = 1 }, /obj/effect/turf_decal/tile/green/half/contrasted, /turf/open/floor/holofloor, @@ -44,9 +43,7 @@ /turf/open/floor/holofloor, /area/template_noop) "k" = ( -/obj/structure/hoop{ - layer = 3.9 - }, +/obj/structure/hoop, /obj/effect/turf_decal/tile/red/half/contrasted{ dir = 1 }, diff --git a/_maps/templates/holodeck_kobayashi.dmm b/_maps/templates/holodeck_kobayashi.dmm index babaeaac2a0d1..bb8c5c297acf1 100644 --- a/_maps/templates/holodeck_kobayashi.dmm +++ b/_maps/templates/holodeck_kobayashi.dmm @@ -5,14 +5,12 @@ "c" = ( /obj/machinery/button/massdriver/indestructible{ id = "trektorpedo1"; - layer = 3.9; name = "photon torpedo button"; pixel_x = -16; pixel_y = -5 }, /obj/machinery/button/massdriver/indestructible{ id = "trektorpedo2"; - layer = 3.9; name = "photon torpedo button"; pixel_x = 16; pixel_y = -5 @@ -131,9 +129,7 @@ /obj/structure/rack, /obj/item/clothing/under/trek/engsec, /obj/item/clothing/under/trek/engsec, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, @@ -144,9 +140,7 @@ /turf/open/floor/holofloor/plating, /area/template_noop) "J" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /obj/effect/turf_decal/tile/neutral/half/contrasted{ dir = 1 }, diff --git a/_maps/templates/holodeck_lounge.dmm b/_maps/templates/holodeck_lounge.dmm index 3807be667cbf9..1bcec197d7b66 100644 --- a/_maps/templates/holodeck_lounge.dmm +++ b/_maps/templates/holodeck_lounge.dmm @@ -33,9 +33,7 @@ /area/template_noop) "f" = ( /obj/structure/table/wood, -/obj/item/flashlight/lamp/green{ - layer = 3.3 - }, +/obj/item/flashlight/lamp/green, /turf/open/floor/holofloor{ dir = 9; icon_state = "wood" @@ -43,7 +41,7 @@ /area/template_noop) "h" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/pipe, +/obj/item/cigarette/pipe, /obj/effect/holodeck_effect/random_book, /turf/open/floor/holofloor/carpet, /area/template_noop) @@ -56,9 +54,7 @@ }, /area/template_noop) "j" = ( -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/holofloor{ dir = 9; icon_state = "wood" @@ -74,9 +70,7 @@ /area/template_noop) "l" = ( /obj/structure/chair/stool/bar/directional/south, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/holofloor{ dir = 9; icon_state = "wood" @@ -256,7 +250,7 @@ /area/template_noop) "T" = ( /obj/structure/table/wood/poker, -/obj/item/clothing/mask/cigarette/pipe, +/obj/item/cigarette/pipe, /turf/open/floor/holofloor{ dir = 9; icon_state = "wood" @@ -279,9 +273,7 @@ /area/template_noop) "Y" = ( /obj/structure/table/wood/shuttle_bar, -/obj/structure/window/reinforced/spawner/directional/east{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/east, /turf/open/floor/holofloor{ dir = 9; icon_state = "wood" diff --git a/_maps/templates/lazy_templates/ninja_den.dmm b/_maps/templates/lazy_templates/ninja_den.dmm index b1506b72efed5..88f4bce19d45a 100644 --- a/_maps/templates/lazy_templates/ninja_den.dmm +++ b/_maps/templates/lazy_templates/ninja_den.dmm @@ -1691,7 +1691,6 @@ pixel_y = 4 }, /obj/item/reagent_containers/condiment/enzyme{ - layer = 5; pixel_x = 10; pixel_y = 2 }, @@ -2040,9 +2039,7 @@ /obj/item/food/grown/cabbage, /obj/item/food/grown/cherries, /obj/item/food/grown/cherries, -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /obj/item/food/grown/redbeet, /turf/open/floor/catwalk_floor, /area/centcom/central_command_areas/holding) diff --git a/_maps/templates/lazy_templates/nukie_base.dmm b/_maps/templates/lazy_templates/nukie_base.dmm index febfc926cdc0e..60c5b1dcb5825 100644 --- a/_maps/templates/lazy_templates/nukie_base.dmm +++ b/_maps/templates/lazy_templates/nukie_base.dmm @@ -1487,9 +1487,7 @@ /obj/item/food/grown/tomato, /obj/item/food/grown/tomato, /obj/item/food/grown/tomato, -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /obj/item/storage/fancy/egg_box, /obj/item/storage/fancy/egg_box, /obj/item/reagent_containers/condiment/milk, @@ -2590,7 +2588,7 @@ pixel_x = 3; pixel_y = 6 }, -/obj/item/clothing/mask/cigarette/robust{ +/obj/item/cigarette/robust{ pixel_x = -4; pixel_y = 1 }, diff --git a/_maps/templates/lazy_templates/wizard_den.dmm b/_maps/templates/lazy_templates/wizard_den.dmm index 472dde511c475..887e1c0817639 100644 --- a/_maps/templates/lazy_templates/wizard_den.dmm +++ b/_maps/templates/lazy_templates/wizard_den.dmm @@ -46,7 +46,7 @@ /area/centcom/wizard_station) "dr" = ( /obj/structure/table/wood, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_y = -9; pixel_x = -5 }, @@ -328,11 +328,8 @@ /turf/open/floor/iron, /area/centcom/wizard_station) "qg" = ( +/obj/structure/railing, /obj/structure/railing{ - layer = 3.1 - }, -/obj/structure/railing{ - layer = 3.1; dir = 1 }, /turf/open/floor/engine/cult, @@ -511,9 +508,7 @@ /turf/open/floor/plastic, /area/centcom/wizard_station) "yX" = ( -/obj/structure/railing{ - layer = 3.1 - }, +/obj/structure/railing, /obj/structure/railing/corner{ dir = 4 }, diff --git a/_maps/templates/shelter_2.dmm b/_maps/templates/shelter_2.dmm index b12848b01daf6..38a742b85fd53 100644 --- a/_maps/templates/shelter_2.dmm +++ b/_maps/templates/shelter_2.dmm @@ -62,9 +62,7 @@ /turf/open/floor/pod, /area/misc/survivalpod) "n" = ( -/obj/structure/window/reinforced/survival_pod/spawner/directional/west{ - layer = 3 - }, +/obj/structure/window/reinforced/survival_pod/spawner/directional/west, /obj/machinery/door/window/survival_pod/left/directional/north, /turf/open/floor/carpet/black, /area/misc/survivalpod) diff --git a/_maps/virtual_domains/beach_bar.dmm b/_maps/virtual_domains/beach_bar.dmm index 6368168416193..5e1c6f753b8ac 100644 --- a/_maps/virtual_domains/beach_bar.dmm +++ b/_maps/virtual_domains/beach_bar.dmm @@ -491,9 +491,7 @@ /area/virtual_domain/fullbright) "xR" = ( /obj/structure/window/reinforced/spawner/directional/east, -/obj/structure/window/reinforced/spawner/directional/north{ - layer = 2.9 - }, +/obj/structure/window/reinforced/spawner/directional/north, /obj/structure/chair/stool/directional/south, /obj/item/storage/backpack/duffelbag, /obj/item/clothing/under/shorts/red, @@ -685,9 +683,7 @@ /turf/closed/wall/mineral/sandstone, /area/virtual_domain/fullbright) "Em" = ( -/obj/item/reagent_containers/condiment/enzyme{ - layer = 5 - }, +/obj/item/reagent_containers/condiment/enzyme, /obj/item/reagent_containers/cup/beaker{ pixel_x = 5 }, diff --git a/_maps/virtual_domains/pirates.dmm b/_maps/virtual_domains/pirates.dmm index 28e64519e5738..5ad9c23595d64 100644 --- a/_maps/virtual_domains/pirates.dmm +++ b/_maps/virtual_domains/pirates.dmm @@ -186,7 +186,7 @@ /obj/item/melee/energy/sword/pirate{ pixel_y = 10 }, -/obj/item/clothing/mask/cigarette/cigar{ +/obj/item/cigarette/cigar{ pixel_x = 4 }, /obj/item/lighter{ diff --git a/_maps/virtual_domains/syndicate_assault.dmm b/_maps/virtual_domains/syndicate_assault.dmm index 3822d2cc1e076..a40945410c11b 100644 --- a/_maps/virtual_domains/syndicate_assault.dmm +++ b/_maps/virtual_domains/syndicate_assault.dmm @@ -296,16 +296,6 @@ }, /turf/open/floor/mineral/plastitanium, /area/ruin/space/has_grav/powered/virtual_domain) -"ki" = ( -/obj/structure/table/reinforced, -/obj/machinery/computer/security/telescreen/interrogation{ - name = "Cameras monitor"; - network = list("fsci"); - req_access = list("syndicate"); - screen_loc = "" - }, -/turf/open/floor/mineral/plastitanium, -/area/ruin/space/has_grav/powered/virtual_domain) "kI" = ( /obj/machinery/computer/atmos_alert{ dir = 8 @@ -864,6 +854,7 @@ /obj/structure/table/reinforced, /obj/item/paper, /obj/item/pen, +/obj/machinery/computer/security/telescreen/forgotten_ship/sci/directional/south, /turf/open/floor/carpet/royalblack, /area/ruin/space/has_grav/powered/virtual_domain) "IH" = ( @@ -2460,7 +2451,7 @@ ru Lo ru tv -ki +hD nU wb EB diff --git a/code/__DEFINES/ai/bot_keys.dm b/code/__DEFINES/ai/bot_keys.dm index 05c0b7aff1899..c7285d18acac6 100644 --- a/code/__DEFINES/ai/bot_keys.dm +++ b/code/__DEFINES/ai/bot_keys.dm @@ -109,6 +109,18 @@ DEFINE_BITFIELD(honkbot_flags, list( ///key that holds our honk ability #define BB_HONK_ABILITY "honk_ability" +//firebot keys +///things we can extinguish +#define BB_FIREBOT_CAN_EXTINGUISH "can_extinguish" +///the target we will extinguish +#define BB_FIREBOT_EXTINGUISH_TARGET "extinguish_target" +///lines we say when we detect a fire +#define BB_FIREBOT_FIRE_DETECTED_LINES "fire_detected_lines" +///lines we say when we are idle +#define BB_FIREBOT_IDLE_LINES "idle_lines" +///lines we say when we are emagged +#define BB_FIREBOT_EMAGGED_LINES "emagged_lines" + //vibebots ///key that holds our partying ability #define BB_VIBEBOT_PARTY_ABILITY "party_ability" diff --git a/code/__DEFINES/antagonists.dm b/code/__DEFINES/antagonists.dm index c865c578d6324..9a943474de6f9 100644 --- a/code/__DEFINES/antagonists.dm +++ b/code/__DEFINES/antagonists.dm @@ -113,6 +113,7 @@ #define CONSTRUCT_JUGGERNAUT "Juggernaut" #define CONSTRUCT_WRAITH "Wraith" #define CONSTRUCT_ARTIFICER "Artificer" +#define CONSTRUCT_HARVESTER "Harvester" /// The Classic Wizard wizard loadout. #define WIZARD_LOADOUT_CLASSIC "loadout_classic" @@ -364,6 +365,7 @@ GLOBAL_LIST_INIT(human_invader_antagonists, list( #define HUNTER_PACK_RUSSIAN "Russian Fugitive Hunters" #define HUNTER_PACK_BOUNTY "Bounty Fugitive Hunters" #define HUNTER_PACK_PSYKER "Psyker Fugitive Hunters" +#define HUNTER_PACK_MI13 "MI13 Fugitive Hunters" /// Changeling abilities with DNA cost = this are innately given to all changelings #define CHANGELING_POWER_INNATE -1 diff --git a/code/__DEFINES/cameranets.dm b/code/__DEFINES/cameranets.dm index 15b4493738e2f..935e015e0cda0 100644 --- a/code/__DEFINES/cameranets.dm +++ b/code/__DEFINES/cameranets.dm @@ -18,12 +18,22 @@ #define CAMERANET_NETWORK_XENOBIOLOGY "xeno" #define CAMERANET_NETWORK_TEST_CHAMBER "test" #define CAMERANET_NETWORK_PRISON "prison" +#define CAMERANET_NETWORK_ISOLATION "isolation" #define CAMERANET_NETWORK_MEDBAY "medbay" #define CAMERANET_NETWORK_ENGINE "engine" +#define CAMERANET_NETWORK_WASTE "waste" #define CAMERANET_NETWORK_TELECOMMS "tcomms" #define CAMERANET_NETWORK_TURBINE "turbine" #define CAMERANET_NETWORK_THUNDERDOME "thunder" #define CAMERANET_NETWORK_BAR "bar" #define CAMERANET_NETWORK_INTERROGATION "interrogation" +#define CAMERA_NETWORK_CARGO "cargo" #define CAMERANET_NETWORK_ABDUCTOR "abductor" #define OPERATIVE_CAMERA_NET "operative" + +// Ruins/Away missiosn/Misc camera nets +#define CAMERANET_NETWORK_MOON19_XENO "mo19x" +#define CAMERANET_NETWORK_MOON19_RESEARCH "mo19r" +#define CAMERANET_NETWORK_UGO45_RESEARCH "uo45r" +#define CAMERANET_NETWORK_FSCI "fsci" +#define CAMERA_NETWORK_BUNKER "bunker1" diff --git a/code/__DEFINES/colors.dm b/code/__DEFINES/colors.dm index d1f489f0555ef..72159bde0540e 100644 --- a/code/__DEFINES/colors.dm +++ b/code/__DEFINES/colors.dm @@ -72,6 +72,7 @@ #define COLOR_LIME "#32CD32" #define COLOR_DARK_LIME "#00aa00" #define COLOR_VERY_PALE_LIME_GREEN "#DDFFD3" +#define COLOR_HERETIC_GREEN COLOR_VERY_PALE_LIME_GREEN // i am co-opting this as heretic glow. #define COLOR_VERY_DARK_LIME_GREEN "#003300" #define COLOR_GREEN "#008000" #define COLOR_CHRISTMAS_GREEN "#00873E" @@ -130,6 +131,7 @@ #define COLOR_DARK_ORANGE "#C3630C" #define COLOR_PRISONER_ORANGE "#A54900" #define COLOR_DARK_MODERATE_ORANGE "#8B633B" +#define COLOR_RUSTED_GLASS "#917c65" #define COLOR_BROWN "#BA9F6D" #define COLOR_DARK_BROWN "#997C4F" diff --git a/code/__DEFINES/cult.dm b/code/__DEFINES/cult.dm index 06393d145f8ca..005b0ca27eef8 100644 --- a/code/__DEFINES/cult.dm +++ b/code/__DEFINES/cult.dm @@ -9,6 +9,8 @@ #define RUNE_COLOR_SUMMON COLOR_VIBRANT_LIME //blood magic +/// The maximum number of cult spell slots each cultist is allowed to scribe at once. +#define ENHANCED_BLOODCHARGE 5 #define MAX_BLOODCHARGE 4 #define RUNELESS_MAX_BLOODCHARGE 1 /// percent before rise @@ -28,6 +30,8 @@ #define THEME_CULT "cult" #define THEME_WIZARD "wizard" #define THEME_HOLY "holy" +/// Only used for heretic Harvesters, obtained from sacrificing cultists +#define THEME_HERETIC "heretic" /// Defines for cult item_dispensers. #define PREVIEW_IMAGE "preview" @@ -51,3 +55,8 @@ GLOBAL_LIST(sacrificed) #define CULT_VICTORY 1 #define CULT_LOSS 0 #define CULT_NARSIE_KILLED -1 + +// Used to keep track of items rewarded after a heretic is sacked. +#define CURSED_BLADE_UNLOCKED "Cursed Blade" +#define CRIMSON_FOCUS_UNLOCKED "Crimson Focus" +#define PROTEON_ORB_UNLOCKED "Proteon Orb" diff --git a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm index 3725c549df4e5..c612d174ac354 100644 --- a/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm +++ b/code/__DEFINES/dcs/signals/signals_atom/signals_atom_main.dm @@ -134,6 +134,9 @@ ///cancel clean #define COMSIG_ATOM_CANCEL_CLEAN (1<<0) +/// From /obj/item/stack/make_item() +#define COMSIG_ATOM_CONSTRUCTED "atom_constructed" + /// From /obj/effect/particle_effect/sparks/proc/sparks_touched(datum/source, atom/movable/singed) #define COMSIG_ATOM_TOUCHED_SPARKS "atom_touched_sparks" #define COMSIG_ATOM_TOUCHED_HAZARDOUS_SPARKS "atom_touched_hazardous_sparks" diff --git a/code/__DEFINES/dcs/signals/signals_closet.dm b/code/__DEFINES/dcs/signals/signals_closet.dm index fb78d69b8a11b..8945e876ccb5f 100644 --- a/code/__DEFINES/dcs/signals/signals_closet.dm +++ b/code/__DEFINES/dcs/signals/signals_closet.dm @@ -1,2 +1,2 @@ /// Called in /obj/structure/closet/PopulateContents() -#define COMSIG_CLOSET_POPULATE_CONTENTS "closet_populate_contents" +#define COMSIG_CLOSET_CONTENTS_INITIALIZED "closet_initialize_contents" diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm index 2f011f2e5a326..598ddc5187852 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_carbon.dm @@ -158,7 +158,7 @@ /// Return to skip default nutrition -> blood conversion #define HANDLE_BLOOD_NO_NUTRITION_DRAIN (1<<1) /// Return to skip oxyloss and similar effecst from blood level - #define HANDLE_BLOOD_NO_EFFECTS (1<<2) + #define HANDLE_BLOOD_NO_OXYLOSS (1<<2) /// from /datum/status_effect/limp/proc/check_step(mob/whocares, OldLoc, Dir, forced) iodk where it shuld go #define COMSIG_CARBON_LIMPING "mob_limp_check" diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm index 1515c8b7347ff..517048bbd4d1d 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_living.dm @@ -178,6 +178,7 @@ #define TREAT_MESSAGE_ARG 1 #define TREAT_TTS_MESSAGE_ARG 2 #define TREAT_TTS_FILTER_ARG 3 + #define TREAT_CAPITALIZE_MESSAGE 4 ///From obj/item/toy/crayon/spraycan #define COMSIG_LIVING_MOB_PAINTED "living_mob_painted" @@ -203,6 +204,10 @@ #define STOP_SACRIFICE (1<<0) /// Don't send a message for sacrificing this thing, we have our own #define SILENCE_SACRIFICE_MESSAGE (1<<1) + /// Don't send a message for sacrificing this thing UNLESS it's the cult target + #define SILENCE_NONTARGET_SACRIFICE_MESSAGE (1<<2) + /// Dusts the target instead of gibbing them (no soulstone) + #define DUST_SACRIFICE (1<<3) /// From /mob/living/befriend() : (mob/living/new_friend) #define COMSIG_LIVING_BEFRIENDED "living_befriended" diff --git a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm index 8ada1c30be3c3..8be5b1fdb64aa 100644 --- a/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm +++ b/code/__DEFINES/dcs/signals/signals_mob/signals_mob_main.dm @@ -155,7 +155,7 @@ ///Mob is trying to open the wires of a target [/atom], from /datum/wires/interactable(): (atom/target) #define COMSIG_TRY_WIRES_INTERACT "try_wires_interact" #define COMPONENT_CANT_INTERACT_WIRES (1<<0) -///Mob is trying to emote, from /datum/emote/proc/run_emote(): (key, params, type_override, intentional) +///Mob is trying to emote, from /datum/emote/proc/run_emote(): (key, params, type_override, intentional, emote) #define COMSIG_MOB_PRE_EMOTED "mob_pre_emoted" #define COMPONENT_CANT_EMOTE (1<<0) #define COMSIG_MOB_EMOTED(emote_key) "mob_emoted_[emote_key]" @@ -205,7 +205,7 @@ ///Sent by pilot of mech in /obj/vehicle/sealed/mecha/on_mouseclick when using mech equipment : (/obj/vehicle/sealed/mecha/mech) #define COMSIG_MOB_USED_MECH_EQUIPMENT "mob_used_mech_equipment" ///Sent by pilot of mech in /obj/vehicle/sealed/mecha/on_mouseclick when triggering mech punch : (/obj/vehicle/sealed/mecha/mech) -#define COMSIG_MOB_USED_MECH_MELEE "mob_used_mech_melee" +#define COMSIG_MOB_USED_CLICK_MECH_MELEE "mob_used_click_mech_melee" ///from living/flash_act(), when a mob is successfully flashed. #define COMSIG_MOB_FLASHED "mob_flashed" diff --git a/code/__DEFINES/dcs/signals/signals_xeno_control.dm b/code/__DEFINES/dcs/signals/signals_xeno_control.dm index c67756a64f385..660dc9ce44627 100644 --- a/code/__DEFINES/dcs/signals/signals_xeno_control.dm +++ b/code/__DEFINES/dcs/signals/signals_xeno_control.dm @@ -1,7 +1,5 @@ //Xenobio hotkeys -///from slime AltClickOn(): (/mob) -#define COMSIG_XENO_SLIME_CLICK_ALT "xeno_slime_click_alt" ///from slime ShiftClickOn(): (/mob) #define COMSIG_XENO_SLIME_CLICK_SHIFT "xeno_slime_click_shift" ///from turf ShiftClickOn(): (/mob) diff --git a/code/__DEFINES/economy.dm b/code/__DEFINES/economy.dm index 47e3db38e11c8..5ffa92c05b691 100644 --- a/code/__DEFINES/economy.dm +++ b/code/__DEFINES/economy.dm @@ -64,7 +64,8 @@ #define CIV_JOB_MED 11 #define CIV_JOB_GROW 12 #define CIV_JOB_ATMOS 13 -#define CIV_JOB_RANDOM 14 +#define CIV_JOB_BITRUN 14 +#define CIV_JOB_RANDOM 15 //These defines are to be used to with the payment component, determines which lines will be used during a transaction. If in doubt, go with clinical. #define PAYMENT_CLINICAL "clinical" diff --git a/code/__DEFINES/icon_smoothing.dm b/code/__DEFINES/icon_smoothing.dm index 94e9105f4a387..a853fde0c5dee 100644 --- a/code/__DEFINES/icon_smoothing.dm +++ b/code/__DEFINES/icon_smoothing.dm @@ -3,34 +3,33 @@ #define SMOOTH_CORNERS (1<<0) /// Smoothing system in where adjacencies are calculated and used to select a pre-baked icon_state, encoded by bitmasking. #define SMOOTH_BITMASK (1<<1) +/// Limits SMOOTH_BITMASK to only cardinal directions, for use with cardinal smoothing +#define SMOOTH_BITMASK_CARDINALS (1<<2) /// Atom has diagonal corners, with underlays under them. -#define SMOOTH_DIAGONAL_CORNERS (1<<2) +#define SMOOTH_DIAGONAL_CORNERS (1<<3) /// Atom will smooth with the borders of the map. -#define SMOOTH_BORDER (1<<3) +#define SMOOTH_BORDER (1<<4) /// Atom is currently queued to smooth. -#define SMOOTH_QUEUED (1<<4) +#define SMOOTH_QUEUED (1<<5) /// Smooths with objects, and will thus need to scan turfs for contents. -#define SMOOTH_OBJ (1<<5) +#define SMOOTH_OBJ (1<<6) /// Uses directional object smoothing, so we care not only about something being on the right turf, but also its direction /// Changes the meaning of smoothing_junction, instead of representing the directions we are smoothing in /// it represents the sides of our directional border object that have a neighbor /// Is incompatible with SMOOTH_CORNERS because border objects don't have corners -#define SMOOTH_BORDER_OBJECT (1<<6) -/// Has a smooth broken sprite, used to decide whether to apply an offset to the broken overlay or not. For /turf/open only. -#define SMOOTH_BROKEN_TURF (1<<7) -/// Has a smooth burnt sprite, used to decide whether to apply an offset to the burnt overlay or not. For /turf/open only. -#define SMOOTH_BURNT_TURF (1<<8) +#define SMOOTH_BORDER_OBJECT (1<<7) + +#define USES_SMOOTHING (SMOOTH_CORNERS|SMOOTH_BITMASK|SMOOTH_BITMASK_CARDINALS) DEFINE_BITFIELD(smoothing_flags, list( "SMOOTH_CORNERS" = SMOOTH_CORNERS, "SMOOTH_BITMASK" = SMOOTH_BITMASK, + "SMOOTH_BITMASK_CARDINALS" = SMOOTH_BITMASK_CARDINALS, "SMOOTH_DIAGONAL_CORNERS" = SMOOTH_DIAGONAL_CORNERS, "SMOOTH_BORDER" = SMOOTH_BORDER, "SMOOTH_QUEUED" = SMOOTH_QUEUED, "SMOOTH_OBJ" = SMOOTH_OBJ, "SMOOTH_BORDER_OBJECT" = SMOOTH_BORDER_OBJECT, - "SMOOTH_BROKEN_TURF" = SMOOTH_BROKEN_TURF, - "SMOOTH_BURNT_TURF" = SMOOTH_BURNT_TURF, )) /// Components of a smoothing junction @@ -44,6 +43,9 @@ DEFINE_BITFIELD(smoothing_flags, list( #define SOUTHWEST_JUNCTION (1<<6) #define NORTHWEST_JUNCTION (1<<7) +#define CARDINAL_SMOOTHING_JUNCTIONS (NORTH_JUNCTION|SOUTH_JUNCTION|EAST_JUNCTION|WEST_JUNCTION) +#define ALL_SMOOTHING_JUNCTIONS (NORTH_JUNCTION|SOUTH_JUNCTION|EAST_JUNCTION|WEST_JUNCTION|NORTHEAST_JUNCTION|SOUTHEAST_JUNCTION|SOUTHWEST_JUNCTION|NORTHWEST_JUNCTION) + DEFINE_BITFIELD(smoothing_junction, list( "NORTH_JUNCTION" = NORTH_JUNCTION, "SOUTH_JUNCTION" = SOUTH_JUNCTION, @@ -57,7 +59,7 @@ DEFINE_BITFIELD(smoothing_junction, list( /*smoothing macros*/ -#define QUEUE_SMOOTH(thing_to_queue) if(thing_to_queue.smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) {SSicon_smooth.add_to_queue(thing_to_queue)} +#define QUEUE_SMOOTH(thing_to_queue) if(thing_to_queue.smoothing_flags & USES_SMOOTHING) {SSicon_smooth.add_to_queue(thing_to_queue)} #define QUEUE_SMOOTH_NEIGHBORS(thing_to_queue) for(var/atom/atom_neighbor as anything in orange(1, thing_to_queue)) {QUEUE_SMOOTH(atom_neighbor)} diff --git a/code/__DEFINES/is_helpers.dm b/code/__DEFINES/is_helpers.dm index 3430f97dd7dcd..ba467347e87d2 100644 --- a/code/__DEFINES/is_helpers.dm +++ b/code/__DEFINES/is_helpers.dm @@ -231,6 +231,8 @@ GLOBAL_LIST_INIT(turfs_pass_meteor, typecacheof(list( #define islandmine(A) (istype(A, /obj/effect/mine)) +#define iscloset(A) (istype(A, /obj/structure/closet)) + #define issupplypod(A) (istype(A, /obj/structure/closet/supplypod)) #define isammocasing(A) (istype(A, /obj/item/ammo_casing)) diff --git a/code/__DEFINES/living.dm b/code/__DEFINES/living.dm index 1f2316e8e1240..63993f4bc620b 100644 --- a/code/__DEFINES/living.dm +++ b/code/__DEFINES/living.dm @@ -1,3 +1,6 @@ // living_flags /// Simple mob trait, indicating it may follow continuous move actions controlled by code instead of by user input. #define MOVES_ON_ITS_OWN (1<<0) +/// Always does *deathgasp when they die +/// If unset mobs will only deathgasp if supplied a death sound or custom death message +#define ALWAYS_DEATHGASP (1<<1) diff --git a/code/__DEFINES/mobs.dm b/code/__DEFINES/mobs.dm index f1a48df79faee..4265428e56f9b 100644 --- a/code/__DEFINES/mobs.dm +++ b/code/__DEFINES/mobs.dm @@ -16,10 +16,11 @@ #define BLOOD_VOLUME_MAXIMUM 2000 #define BLOOD_VOLUME_SLIME_SPLIT 1120 #define BLOOD_VOLUME_NORMAL 560 -#define BLOOD_VOLUME_SAFE 475 -#define BLOOD_VOLUME_OKAY 336 -#define BLOOD_VOLUME_BAD 224 -#define BLOOD_VOLUME_SURVIVE 122 +#define BLOOD_VOLUME_SAFE (BLOOD_VOLUME_NORMAL * (1 - 0.15)) // Latter number is percentage of blood lost, for readability! +#define BLOOD_VOLUME_OKAY (BLOOD_VOLUME_NORMAL * (1 - 0.30)) +#define BLOOD_VOLUME_RISKY (BLOOD_VOLUME_NORMAL * (1 - 0.45)) +#define BLOOD_VOLUME_BAD (BLOOD_VOLUME_NORMAL * (1 - 0.60)) +#define BLOOD_VOLUME_SURVIVE (BLOOD_VOLUME_NORMAL * (1 - 0.80)) /// How efficiently humans regenerate blood. #define BLOOD_REGEN_FACTOR 0.25 @@ -837,8 +838,10 @@ GLOBAL_LIST_INIT(layers_to_offset, list( #define NEED_VENTCRAWL (1<<8) /// Skips adjacency checks #define BYPASS_ADJACENCY (1<<9) +/// Skips reccursive loc checks +#define NOT_INSIDE_TARGET (1<<10) /// Checks for base adjacency, but silences the error -#define SILENT_ADJACENCY (1<<10) +#define SILENT_ADJACENCY (1<<11) /// The default mob sprite size (used for shrinking or enlarging the mob sprite to regular size) #define RESIZE_DEFAULT_SIZE 1 diff --git a/code/__DEFINES/obj_flags.dm b/code/__DEFINES/obj_flags.dm index c050c73f23133..9f575de9fbc55 100644 --- a/code/__DEFINES/obj_flags.dm +++ b/code/__DEFINES/obj_flags.dm @@ -75,20 +75,18 @@ #define DANGEROUS_OBJECT (1<<10) /// Clothes that use large icons, for applying the proper overlays like blood #define LARGE_WORN_ICON (1<<11) -/// Clothes that block speech (i.e the muzzle). Can be applied to any clothing piece. -#define BLOCKS_SPEECH (1<<12) /// prevents from placing on plasmaman helmet or modsuit hat holder -#define STACKABLE_HELMET_EXEMPT (1<<13) +#define STACKABLE_HELMET_EXEMPT (1<<12) /// Prevents plasmamen from igniting when wearing this -#define PLASMAMAN_PREVENT_IGNITION (1<<14) +#define PLASMAMAN_PREVENT_IGNITION (1<<13) /// Usable as casting clothes by wizards (matters for suits, glasses and headwear) -#define CASTING_CLOTHES (1<<15) +#define CASTING_CLOTHES (1<<14) ///Moths can't eat the clothing that has this flag. -#define INEDIBLE_CLOTHING (1<<16) +#define INEDIBLE_CLOTHING (1<<15) /// Headgear/helmet allows internals -#define HEADINTERNALS (1<<17) +#define HEADINTERNALS (1<<16) /// Prevents masks from getting adjusted from enabling internals -#define INTERNALS_ADJUST_EXEMPT (1<<18) +#define INTERNALS_ADJUST_EXEMPT (1<<17) /// Integrity defines for clothing (not flags but close enough) #define CLOTHING_PRISTINE 0 // We have no damage on the clothing diff --git a/code/__DEFINES/research/techweb_nodes.dm b/code/__DEFINES/research/techweb_nodes.dm new file mode 100644 index 0000000000000..a31c3e1a2f278 --- /dev/null +++ b/code/__DEFINES/research/techweb_nodes.dm @@ -0,0 +1,122 @@ +#define TECHWEB_NODE_AI "ai" +#define TECHWEB_NODE_AI_LAWS "ai_laws" +#define TECHWEB_NODE_ALIEN_ENGI "alien_engi" +#define TECHWEB_NODE_ALIEN_SURGERY "alien_surgery" +#define TECHWEB_NODE_ALIENTECH "alientech" +#define TECHWEB_NODE_ANOMALY_RESEARCH "anomaly_research" +#define TECHWEB_NODE_ANOMALY_SHELLS "anomaly_shells" +#define TECHWEB_NODE_APPLIED_BLUESPACE "applied_bluespace" +#define TECHWEB_NODE_ATMOS "atmos" +#define TECHWEB_NODE_AUGMENTATION "augmentation" +#define TECHWEB_NODE_AUS_SECURITY "aus_security" +#define TECHWEB_NODE_BASIC_ARMS "basic_arms" +#define TECHWEB_NODE_BCI "bci" +#define TECHWEB_NODE_BEAM_WEAPONS "beam_weapons" +#define TECHWEB_NODE_BIO_SCAN "bio_scan" +#define TECHWEB_NODE_BITRUNNING "bitrunning" +#define TECHWEB_NODE_BLUESPACE "bluespace" +#define TECHWEB_NODE_BLUESPACE_THEORY "bluespace_theory" +#define TECHWEB_NODE_BLUESPACE_TRAVEL "bluespace_travel" +#define TECHWEB_NODE_BORG_ENGI "borg_engi" +#define TECHWEB_NODE_BORG_MEDICAL "borg_medical" +#define TECHWEB_NODE_BORG_MINING "borg_mining" +#define TECHWEB_NODE_BORG_SERVICES "borg_services" +#define TECHWEB_NODE_BORG_UTILITY "borg_utility" +#define TECHWEB_NODE_BOTANY_EQUIP "botany_equip" +#define TECHWEB_NODE_CAFETERIA_EQUIP "cafeteria_equip" +#define TECHWEB_NODE_CHEM_SYNTHESIS "chem_synthesis" +#define TECHWEB_NODE_CIRCUIT_SHELLS "circuit_shells" +#define TECHWEB_NODE_COMBAT_IMPLANTS "combat_implants" +#define TECHWEB_NODE_CONSOLES "consoles" +#define TECHWEB_NODE_CONSTRUCTION "construction" +#define TECHWEB_NODE_CRYOSTASIS "cryostasis" +#define TECHWEB_NODE_CYBER_IMPLANTS "cyber_implants" +#define TECHWEB_NODE_CYBER_ORGANS "cyber_organs" +#define TECHWEB_NODE_CYBER_ORGANS_ADV "cyber_organs_adv" +#define TECHWEB_NODE_CYBER_ORGANS_UPGRADED "cyber_organs_upgraded" +#define TECHWEB_NODE_CYBERNETICS "cybernetics" +#define TECHWEB_NODE_CYTOLOGY "cytology" +#define TECHWEB_NODE_ELECTRIC_WEAPONS "electric_weapons" +#define TECHWEB_NODE_ENERGY_MANIPULATION "energy_manipulation" +#define TECHWEB_NODE_EXODRONE "exodrone" +#define TECHWEB_NODE_EXOTIC_AMMO "exotic_ammo" +#define TECHWEB_NODE_EXP_TOOLS "exp_tools" +#define TECHWEB_NODE_EXPLOSIVES "explosives" +#define TECHWEB_NODE_EXTREME_OFFICE "extreme_office" +#define TECHWEB_NODE_FISHING_EQUIP "fishing_equip" +#define TECHWEB_NODE_FISHING_EQUIP_ADV "fishing_equip_adv" +#define TECHWEB_NODE_FOOD_PROC "food_proc" +#define TECHWEB_NODE_FUNDIMENTAL_SCI "fundimental_sci" +#define TECHWEB_NODE_FUSION "fusion" +#define TECHWEB_NODE_GAMING "gaming" +#define TECHWEB_NODE_GAS_COMPRESSION "gas_compression" +#define TECHWEB_NODE_GENE_ENGINEERING "gene_engineering" +#define TECHWEB_NODE_HOLOGRAPHICS "holographics" +#define TECHWEB_NODE_HUD "hud" +#define TECHWEB_NODE_HYDROPONICS "hydroponics" +#define TECHWEB_NODE_INTERGRATED_TOOLSETS "intergrated_toolsets" +#define TECHWEB_NODE_INTERROGATION "interrogation" +#define TECHWEB_NODE_LIGHT_APPS "light_apps" +#define TECHWEB_NODE_LOW_PRESSURE_EXCAVATION "low_pressure_excavation" +#define TECHWEB_NODE_MARINE_UTIL "marine_util" +#define TECHWEB_NODE_MATERIAL_PROC "material_proc" +#define TECHWEB_NODE_MECH_ASSAULT "mech_assault" +#define TECHWEB_NODE_MECH_ASSEMBLY "mech_assembly" +#define TECHWEB_NODE_MECH_CLOWN "mech_clown" +#define TECHWEB_NODE_MECH_COMBAT "mech_combat" +#define TECHWEB_NODE_MECH_ENERGY_GUNS "mech_energy_guns" +#define TECHWEB_NODE_MECH_EQUIPMENT "mech_equipment" +#define TECHWEB_NODE_MECH_FIREARMS "mech_firearms" +#define TECHWEB_NODE_MECH_HEAVY "mech_heavy" +#define TECHWEB_NODE_MECH_HEAVY_ARMS "mech_heavy_arms" +#define TECHWEB_NODE_MECH_INFILTRATOR "mech_infiltrator" +#define TECHWEB_NODE_MECH_LIGHT "mech_light" +#define TECHWEB_NODE_MECH_MEDICAL "mech_medical" +#define TECHWEB_NODE_MECH_MINING "mech_mining" +#define TECHWEB_NODE_MEDBAY_EQUIP "medbay_equip" +#define TECHWEB_NODE_MEDBAY_EQUIP_ADV "medbay_equip_adv" +#define TECHWEB_NODE_MINING "mining" +#define TECHWEB_NODE_MINING_ADV "mining_adv" +#define TECHWEB_NODE_MOD_ANOMALY "mod_anomaly" +#define TECHWEB_NODE_MOD_ENGI "mod_engi" +#define TECHWEB_NODE_MOD_ENGI_ADV "mod_engi_adv" +#define TECHWEB_NODE_MOD_ENTERTAINMENT "mod_entertainment" +#define TECHWEB_NODE_MOD_EQUIP "mod_equip" +#define TECHWEB_NODE_MOD_EXPERIMENTAL "mod_experimental" +#define TECHWEB_NODE_MOD_MEDICAL "mod_medical" +#define TECHWEB_NODE_MOD_MEDICAL_ADV "mod_medical_adv" +#define TECHWEB_NODE_MOD_SECURITY "mod_security" +#define TECHWEB_NODE_MOD_SUIT "mod_suit" +#define TECHWEB_NODE_NIGHT_VISION "night_vision" +#define TECHWEB_NODE_OFFICE_EQUIP "office_equip" +#define TECHWEB_NODE_OLDSTATION_SURGERY "oldstation_surgery" +#define TECHWEB_NODE_PARTS "parts" +#define TECHWEB_NODE_PARTS_ADV "parts_adv" +#define TECHWEB_NODE_PARTS_BLUESPACE "parts_bluespace" +#define TECHWEB_NODE_PARTS_UPG "parts_upg" +#define TECHWEB_NODE_PASSIVE_IMPLANTS "passive_implants" +#define TECHWEB_NODE_PLASMA_CONTROL "plasma_control" +#define TECHWEB_NODE_PLASMA_MINING "plasma_mining" +#define TECHWEB_NODE_PLUMBING "plumbing" +#define TECHWEB_NODE_POSITRONIC_SPHERE "positronic_sphere" +#define TECHWEB_NODE_PROGRAMMED_ROBOT "programmed_robot" +#define TECHWEB_NODE_PROGRAMMED_SERVER "programmed_server" +#define TECHWEB_NODE_PROGRAMMING "programming" +#define TECHWEB_NODE_RCD_UPGRADE "rcd_upgrade" +#define TECHWEB_NODE_RIOT_SUPRESSION "riot_supression" +#define TECHWEB_NODE_ROBOTICS "robotics" +#define TECHWEB_NODE_SANITATION "sanitation" +#define TECHWEB_NODE_SEC_EQUIP "sec_equip" +#define TECHWEB_NODE_SELECTION "selection" +#define TECHWEB_NODE_SPEC_ENG "spec_eng" +#define TECHWEB_NODE_STICKY_ADVANCED "sticky_advanced" +#define TECHWEB_NODE_SURGERY "surgery" +#define TECHWEB_NODE_SURGERY_ADV "surgery_adv" +#define TECHWEB_NODE_SURGERY_EXP "surgery_exp" +#define TECHWEB_NODE_SURGERY_TOOLS "surgery_tools" +#define TECHWEB_NODE_SYNDICATE_BASIC "syndicate_basic" +#define TECHWEB_NODE_TACKLE_ADVANCED "tackle_advanced" +#define TECHWEB_NODE_TELECOMS "telecoms" +#define TECHWEB_NODE_TOYS "toys" +#define TECHWEB_NODE_UNREGULATED_BLUESPACE "unregulated_bluespace" +#define TECHWEB_NODE_XENOBIOLOGY "xenobiology" diff --git a/code/__DEFINES/robots.dm b/code/__DEFINES/robots.dm index bcca92e606091..393e0f7b5f7d3 100644 --- a/code/__DEFINES/robots.dm +++ b/code/__DEFINES/robots.dm @@ -244,6 +244,21 @@ DEFINE_BITFIELD(medical_mode_flags, list( "MEDBOT_TIPPED_MODE" = MEDBOT_TIPPED_MODE, )) +///Whether we are stationary or not +#define FIREBOT_STATIONARY_MODE (1<<0) +///If we will extinguish people +#define FIREBOT_EXTINGUISH_PEOPLE (1<<1) +///if we will extinguish turfs on flames +#define FIREBOT_EXTINGUISH_FLAMES (1<<2) + +DEFINE_BITFIELD(firebot_mode_flags, list( + "FIREBOT_STATIONARY_MODE" = FIREBOT_STATIONARY_MODE, + "FIREBOT_EXTINGUISH_PEOPLE" = FIREBOT_EXTINGUISH_PEOPLE, + "FIREBOT_EXTINGUISH_FLAMES" = FIREBOT_EXTINGUISH_FLAMES, +)) + + + //cleanBOT defines on what to clean #define CLEANBOT_CLEAN_BLOOD (1<<0) #define CLEANBOT_CLEAN_TRASH (1<<1) @@ -284,6 +299,9 @@ DEFINE_BITFIELD(janitor_mode_flags, list( #define FIREBOT_VOICED_ONLY_YOU "Only you can prevent station fires." #define FIREBOT_VOICED_TEMPERATURE_NOMINAL "Temperature nominal." #define FIREBOT_VOICED_KEEP_COOL "Keep it cool." +#define FIREBOT_VOICED_CANDLE_TIP "Keep candles near curtains for cozy night lights!" +#define FIREBOT_VOICED_ELECTRIC_FIRE "Keep full buckets of water near outlets in case of an electric fire!" +#define FIREBOT_VOICED_FUEL_TIP "Pouring fuel on fire makes it burn out faster!" #define HYGIENEBOT_VOICED_UNHYGIENIC "Unhygienic client found. Please stand still so I can clean you." #define HYGIENEBOT_VOICED_ENJOY_DAY "Enjoy your clean and tidy day!" diff --git a/code/__DEFINES/traits/declarations.dm b/code/__DEFINES/traits/declarations.dm index 8d2b54ab72f87..c04b57241c7e0 100644 --- a/code/__DEFINES/traits/declarations.dm +++ b/code/__DEFINES/traits/declarations.dm @@ -69,6 +69,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai // Antagonizes the above. #define TRAIT_DISCOORDINATED_TOOL_USER "discoordinated_tool_user" #define TRAIT_PACIFISM "pacifism" +// Trait added to the user of a hippocratic oath status effect +#define TRAIT_HIPPOCRATIC_OATH "hippocratic_oath" #define TRAIT_IGNORESLOWDOWN "ignoreslow" #define TRAIT_IGNOREDAMAGESLOWDOWN "ignoredamageslowdown" /// Makes it so the mob can use guns regardless of tool user status @@ -96,6 +98,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_IWASBATONED "iwasbatoned" #define TRAIT_SLEEPIMMUNE "sleep_immunity" #define TRAIT_PUSHIMMUNE "push_immunity" +/// can't be kicked to the side +#define TRAIT_NO_SIDE_KICK "no_side_kick" /// Are we immune to shocks? #define TRAIT_SHOCKIMMUNE "shock_immunity" /// Are we immune to specifically tesla / SM shocks? @@ -613,6 +617,8 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai #define TRAIT_CHEF_KISS "chefs_kiss" /// Allows clowns to bend balloons into animals #define TRAIT_BALLOON_SUTRA "balloon_sutra" +/// Allows detectives to identify chemicals by taste +#define TRAIT_DETECTIVES_TASTE "detectives_taste" ///Movement type traits for movables. See elements/movetype_handler.dm #define TRAIT_MOVE_GROUND "move_ground" @@ -1087,6 +1093,11 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Note this doesn't mean all spells are guaranteed to work or the mob is guaranteed to cast #define TRAIT_CASTABLE_LOC "castable_loc" +/// Needs above trait to work. +/// This trait makes it so that any cast spells will attempt to transfer to the location's location. +/// For example, a heretic inside the haunted blade's spells would emanate from the mob wielding the sword. +#define TRAIT_SPELLS_TRANSFER_TO_LOC "spells_transfer_to_loc" + ///Trait given by /datum/element/relay_attacker #define TRAIT_RELAYING_ATTACKER "relaying_attacker" @@ -1149,6 +1160,9 @@ Remember to update _globalvars/traits.dm if you're adding/removing/renaming trai /// Trait applied to objects and mobs that can attack a boulder and break it down. (See /obj/item/boulder/manual_process()) #define TRAIT_BOULDER_BREAKER "boulder_breaker" +/// Trait given to anything linked to, not necessarily allied to, the mansus +#define TRAIT_MANSUS_TOUCHED "mansus_touched" + /// Trait given to mobs wearing the clown mask #define TRAIT_PERCEIVED_AS_CLOWN "perceived_as_clown" /// Does this item bypass ranged armor checks? diff --git a/code/__DEFINES/traits/sources.dm b/code/__DEFINES/traits/sources.dm index 278510bd23fbe..759101dc2abd5 100644 --- a/code/__DEFINES/traits/sources.dm +++ b/code/__DEFINES/traits/sources.dm @@ -190,6 +190,8 @@ #define MOD_TRAIT "mod" /// Trait applied to tram passengers #define TRAM_PASSENGER_TRAIT "tram-passenger" +/// Trait given by a fulton extraction pack +#define FULTON_PACK_TRAIT "fulton-pack" /// Trait granted by the berserker hood. #define BERSERK_TRAIT "berserk_trait" diff --git a/code/__HELPERS/atoms.dm b/code/__HELPERS/atoms.dm index cb1e2a87f767e..406ea75143c66 100644 --- a/code/__HELPERS/atoms.dm +++ b/code/__HELPERS/atoms.dm @@ -325,14 +325,3 @@ rough example of the "cone" made by the 3 dirs checked "x" = icon_width > world.icon_size && pixel_x != 0 ? (icon_width - world.icon_size) * 0.5 : 0, "y" = icon_height > world.icon_size && pixel_y != 0 ? (icon_height - world.icon_size) * 0.5 : 0, ) - -/** - * Called before an item is put into this atom's storage datum via the item clicking on this atom - * - * This can be used to add item-atom interactions that you want handled before inserting something into storage - * (But it's also fairly snowflakey) - * - * Returning FALSE will block that item from being put into our storage - */ -/atom/proc/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - return TRUE diff --git a/code/__HELPERS/icon_smoothing.dm b/code/__HELPERS/icon_smoothing.dm index 5c5ff5a059a30..c53d9df2d2c05 100644 --- a/code/__HELPERS/icon_smoothing.dm +++ b/code/__HELPERS/icon_smoothing.dm @@ -177,7 +177,7 @@ xxx xxx xxx corners_diagonal_smooth(calculate_adjacencies()) else corners_cardinal_smooth(calculate_adjacencies()) - else if(smoothing_flags & SMOOTH_BITMASK) + else if(smoothing_flags & (SMOOTH_BITMASK|SMOOTH_BITMASK_CARDINALS)) bitmask_smooth() else CRASH("smooth_icon called for [src] with smoothing_flags == [smoothing_flags]") @@ -430,7 +430,7 @@ xxx xxx xxx SET_ADJ_IN_DIR(WEST, WEST) // If there's nothing going on already - if(!(new_junction & (NORTH|SOUTH)) || !(new_junction & (EAST|WEST))) + if(smoothing_flags & SMOOTH_BITMASK_CARDINALS || !(new_junction & (NORTH|SOUTH)) || !(new_junction & (EAST|WEST))) set_smoothed_icon_state(new_junction) return @@ -518,13 +518,13 @@ xxx xxx xxx /proc/smooth_zlevel(zlevel, now = FALSE) var/list/away_turfs = Z_TURFS(zlevel) for(var/turf/turf_to_smooth as anything in away_turfs) - if(turf_to_smooth.smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(turf_to_smooth.smoothing_flags & USES_SMOOTHING) if(now) turf_to_smooth.smooth_icon() else QUEUE_SMOOTH(turf_to_smooth) for(var/atom/movable/movable_to_smooth as anything in turf_to_smooth) - if(movable_to_smooth.smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(movable_to_smooth.smoothing_flags & USES_SMOOTHING) if(now) movable_to_smooth.smooth_icon() else @@ -655,15 +655,6 @@ xxx xxx xxx smoothing_groups = null canSmoothWith = null -#undef NORTH_JUNCTION -#undef SOUTH_JUNCTION -#undef EAST_JUNCTION -#undef WEST_JUNCTION -#undef NORTHEAST_JUNCTION -#undef NORTHWEST_JUNCTION -#undef SOUTHEAST_JUNCTION -#undef SOUTHWEST_JUNCTION - #undef NO_ADJ_FOUND #undef ADJ_FOUND #undef NULLTURF_BORDER diff --git a/code/__HELPERS/paths/jps.dm b/code/__HELPERS/paths/jps.dm index 2dc46dea1b7cf..fbdccdef12c56 100644 --- a/code/__HELPERS/paths/jps.dm +++ b/code/__HELPERS/paths/jps.dm @@ -34,7 +34,7 @@ previous_node = incoming_previous_node number_tiles = previous_node.number_tiles + jumps node_goal = previous_node.node_goal - heuristic = get_dist(tile, node_goal) + heuristic = get_dist_euclidean(tile, node_goal) f_value = number_tiles + heuristic // otherwise, no parent node means this is from a subscan lateral scan, so we just need the tile for now until we call [datum/jps/proc/update_parent] on it @@ -47,7 +47,7 @@ node_goal = previous_node.node_goal jumps = get_dist(tile, previous_node.tile) number_tiles = previous_node.number_tiles + jumps - heuristic = get_dist(tile, node_goal) + heuristic = get_dist_euclidean(tile, node_goal) f_value = number_tiles + heuristic /proc/HeapPathWeightCompare(datum/jps_node/a, datum/jps_node/b) diff --git a/code/__HELPERS/screen_objs.dm b/code/__HELPERS/screen_objs.dm index 7debecf816f3c..cb8520225ab8c 100644 --- a/code/__HELPERS/screen_objs.dm +++ b/code/__HELPERS/screen_objs.dm @@ -101,3 +101,15 @@ /proc/cut_relative_direction(fragment) var/static/regex/regex = regex(@"([A-Z])\w+", "g") return regex.Replace(fragment, "") + +/// Returns a screen_loc format for a tiling screen objects from start and end positions. Start should be bottom left corner, and end top right corner. +/proc/spanning_screen_loc(start_px, start_py, end_px, end_py) + var/starting_tile_x = round(start_px / 32) + start_px -= starting_tile_x * 32 + var/starting_tile_y = round(start_py/ 32) + start_py -= starting_tile_y * 32 + var/ending_tile_x = round(end_px / 32) + end_px -= ending_tile_x * 32 + var/ending_tile_y = round(end_py / 32) + end_py -= ending_tile_y * 32 + return "[starting_tile_x]:[start_px],[starting_tile_y]:[start_py] to [ending_tile_x]:[end_px],[ending_tile_y]:[end_py]" diff --git a/code/__HELPERS/spatial_info.dm b/code/__HELPERS/spatial_info.dm index c23e3a408a53c..529532f50cf4d 100644 --- a/code/__HELPERS/spatial_info.dm +++ b/code/__HELPERS/spatial_info.dm @@ -283,7 +283,7 @@ return atoms ///Returns the distance between two atoms -/proc/get_dist_euclidian(atom/first_location as turf|mob|obj, atom/second_location as turf|mob|obj) +/proc/get_dist_euclidean(atom/first_location, atom/second_location) var/dx = first_location.x - second_location.x var/dy = first_location.y - second_location.y diff --git a/code/__HELPERS/turfs.dm b/code/__HELPERS/turfs.dm index c44845a5854b7..88509b88ce802 100644 --- a/code/__HELPERS/turfs.dm +++ b/code/__HELPERS/turfs.dm @@ -400,8 +400,8 @@ Turf and target are separate in case you want to teleport some distance from a t /** * Checks whether or not a particular typepath or subtype of it is present on a turf * - * Returns TRUE if an instance of the desired type or a subtype of it is found - * Returns FALSE if the type is not found, or if no turf is supplied + * Returns the first instance located if an instance of the desired type or a subtype of it is found + * Returns null if the type is not found, or if no turf is supplied * * Arguments: * * location - The turf to be checked for the desired type @@ -409,10 +409,9 @@ Turf and target are separate in case you want to teleport some distance from a t */ /proc/is_type_on_turf(turf/location, type_to_find) if(!location) - return FALSE - if(locate(type_to_find) in location) - return TRUE - return FALSE + return + var/found_type = locate(type_to_find) in location + return found_type /** * get_blueprint_data diff --git a/code/_globalvars/bitfields.dm b/code/_globalvars/bitfields.dm index f98178d537fa3..ea1b16d71cef8 100644 --- a/code/_globalvars/bitfields.dm +++ b/code/_globalvars/bitfields.dm @@ -83,7 +83,6 @@ DEFINE_BITFIELD(car_traits, list( DEFINE_BITFIELD(clothing_flags, list( "ANTI_TINFOIL_MANEUVER" = ANTI_TINFOIL_MANEUVER, - "BLOCKS_SPEECH" = BLOCKS_SPEECH, "BLOCK_GAS_SMOKE_EFFECT" = BLOCK_GAS_SMOKE_EFFECT, "CASTING_CLOTHES" = CASTING_CLOTHES, "GAS_FILTERING" = GAS_FILTERING, diff --git a/code/_globalvars/configuration.dm b/code/_globalvars/configuration.dm index e43d803fc4f29..5bece07319c78 100644 --- a/code/_globalvars/configuration.dm +++ b/code/_globalvars/configuration.dm @@ -11,10 +11,6 @@ GLOBAL_VAR_INIT(hub_visibility, FALSE) GLOBAL_VAR_INIT(ooc_allowed, TRUE) // used with admin verbs to disable ooc - not a config option apparently GLOBAL_VAR_INIT(dooc_allowed, TRUE) -GLOBAL_VAR_INIT(enter_allowed, TRUE) -GLOBAL_VAR_INIT(shuttle_frozen, FALSE) -GLOBAL_VAR_INIT(shuttle_left, FALSE) -GLOBAL_VAR_INIT(tinted_weldhelh, TRUE) // Debug is used exactly once (in living.dm) but is commented out in a lot of places. It is not set anywhere and only checked. diff --git a/code/_globalvars/game_modes.dm b/code/_globalvars/game_modes.dm index 8a1493e383dbc..10d923343717e 100644 --- a/code/_globalvars/game_modes.dm +++ b/code/_globalvars/game_modes.dm @@ -1,8 +1,6 @@ GLOBAL_VAR(common_report) //Contains common part of roundend report GLOBAL_VAR(survivor_report) //Contains shared survivor report for roundend report (part of personal report) - -GLOBAL_VAR_INIT(wavesecret, 0) // meteor mode, delays wave progression, terrible name GLOBAL_DATUM(start_state, /datum/station_state) // Used in round-end report /// We want reality_smash_tracker to exist only once and be accessible from anywhere. diff --git a/code/_globalvars/lists/mapping.dm b/code/_globalvars/lists/mapping.dm index 45f59fb447514..a7c7584d23aad 100644 --- a/code/_globalvars/lists/mapping.dm +++ b/code/_globalvars/lists/mapping.dm @@ -132,9 +132,6 @@ GLOBAL_LIST_EMPTY(bar_areas) /// List of all the maps that have been cached for /proc/load_map GLOBAL_LIST_EMPTY(cached_maps) -/// Away missions -GLOBAL_LIST_EMPTY(vr_spawnpoints) - /// Just a list of all the area objects in the game /// Note, areas can have duplicate types GLOBAL_LIST_EMPTY(areas) diff --git a/code/_globalvars/lists/mobs.dm b/code/_globalvars/lists/mobs.dm index 942c8cbf6b121..d91eec6e1bc87 100644 --- a/code/_globalvars/lists/mobs.dm +++ b/code/_globalvars/lists/mobs.dm @@ -43,7 +43,6 @@ GLOBAL_LIST_INIT(abstract_mob_types, list( GLOBAL_LIST_EMPTY(player_list) //all mobs **with clients attached**. GLOBAL_LIST_EMPTY(keyloop_list) //as above but can be limited to boost performance GLOBAL_LIST_EMPTY(mob_list) //all mobs, including clientless -GLOBAL_LIST_EMPTY(mob_directory) //mob_id -> mob GLOBAL_LIST_EMPTY(alive_mob_list) //all alive mobs, including clientless. Excludes /mob/dead/new_player GLOBAL_LIST_EMPTY(suicided_mob_list) //contains a list of all mobs that suicided, including their associated ghosts. GLOBAL_LIST_EMPTY(drones_list) @@ -56,7 +55,6 @@ GLOBAL_LIST_EMPTY(mob_living_list) //all instances of /mob/living and subtypes GLOBAL_LIST_EMPTY(carbon_list) //all instances of /mob/living/carbon and subtypes, notably does not contain brains or simple animals GLOBAL_LIST_EMPTY(human_list) //all instances of /mob/living/carbon/human and subtypes GLOBAL_LIST_EMPTY(ai_list) -GLOBAL_LIST_EMPTY(pai_list) GLOBAL_LIST_EMPTY(available_ai_shells) GLOBAL_LIST_INIT(simple_animals, list(list(),list(),list())) // One for each AI_* status define GLOBAL_LIST_EMPTY(spidermobs) //all sentient spider mobs @@ -133,8 +131,6 @@ GLOBAL_LIST_INIT_TYPED(species_prototypes, /datum/species, init_species_prototyp species_list[species_type] = new species_type() return species_list -GLOBAL_LIST_EMPTY(sentient_disease_instances) - GLOBAL_LIST_EMPTY(latejoin_ai_cores) GLOBAL_LIST_EMPTY(mob_config_movespeed_type_lookup) diff --git a/code/_globalvars/phobias.dm b/code/_globalvars/phobias.dm index ea1d939351ddb..131e530ce82ac 100644 --- a/code/_globalvars/phobias.dm +++ b/code/_globalvars/phobias.dm @@ -245,7 +245,7 @@ GLOBAL_LIST_INIT(phobia_objs, list( /obj/item/clothing/suit/hooded/carp_costume, /obj/item/clothing/head/fedora/carpskin, /obj/item/clothing/mask/gas/carp, - /obj/item/clothing/mask/cigarette/carp, + /obj/item/cigarette/carp, /obj/item/clothing/under/suit/carpskin, /obj/item/food/cubancarp, /obj/item/food/fishmeat/carp, @@ -492,7 +492,6 @@ GLOBAL_LIST_INIT(phobia_objs, list( /obj/item/clothing/suit/wizrobe, /obj/item/clothing/under/rank/civilian/chaplain, /obj/item/codex_cicatrix, - /obj/item/cult_bastard, /obj/item/gun/magic, /obj/item/melee/cultblade, /obj/item/melee/rune_carver, diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 5d1e88667b738..3d01e86d17e1b 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -56,6 +56,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NO_MISSING_ITEM_ERROR" = TRAIT_NO_MISSING_ITEM_ERROR, "TRAIT_NO_THROW_HITPUSH" = TRAIT_NO_THROW_HITPUSH, "TRAIT_NOT_ENGRAVABLE" = TRAIT_NOT_ENGRAVABLE, + "TRAIT_SPELLS_TRANSFER_TO_LOC" = TRAIT_SPELLS_TRANSFER_TO_LOC, "TRAIT_ODD_CUSTOMIZABLE_FOOD_INGREDIENT" = TRAIT_ODD_CUSTOMIZABLE_FOOD_INGREDIENT, "TRAIT_RUNECHAT_HIDDEN" = TRAIT_RUNECHAT_HIDDEN, "TRAIT_SECLUDED_LOCATION" = TRAIT_SECLUDED_LOCATION, @@ -149,6 +150,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_BOMBIMMUNE" = TRAIT_BOMBIMMUNE, "TRAIT_BONSAI" = TRAIT_BONSAI, "TRAIT_BOOZE_SLIDER" = TRAIT_BOOZE_SLIDER, + "TRAIT_BOXING_READY" = TRAIT_BOXING_READY, "TRAIT_BORN_MONKEY" = TRAIT_BORN_MONKEY, "TRAIT_BOXING_READY" = TRAIT_BOXING_READY, "TRAIT_BRAINWASHING" = TRAIT_BRAINWASHING, @@ -182,6 +184,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_DEATHCOMA" = TRAIT_DEATHCOMA, "TRAIT_DEFIB_BLACKLISTED" = TRAIT_DEFIB_BLACKLISTED, "TRAIT_DEPRESSION" = TRAIT_DEPRESSION, + "TRAIT_DETECTIVES_TASTE" = TRAIT_DETECTIVES_TASTE, "TRAIT_DETECT_STORM" = TRAIT_DETECT_STORM, "TRAIT_DIAGNOSTIC_HUD" = TRAIT_DIAGNOSTIC_HUD, "TRAIT_DISCOORDINATED_TOOL_USER" = TRAIT_DISCOORDINATED_TOOL_USER, @@ -296,6 +299,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_MAGICALLY_GIFTED" = TRAIT_MAGICALLY_GIFTED, "TRAIT_MAGICALLY_PHASED" = TRAIT_MAGICALLY_PHASED, "TRAIT_MARTIAL_ARTS_IMMUNE" = TRAIT_MARTIAL_ARTS_IMMUNE, + "TRAIT_MANSUS_TOUCHED" = TRAIT_MANSUS_TOUCHED, "TRAIT_MEDIBOTCOMINGTHROUGH" = TRAIT_MEDIBOTCOMINGTHROUGH, "TRAIT_MEDICAL_HUD" = TRAIT_MEDICAL_HUD, "TRAIT_MESON_VISION" = TRAIT_MESON_VISION, @@ -363,6 +367,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NO_TWOHANDING" = TRAIT_NO_TWOHANDING, "TRAIT_NO_UNDERWEAR" = TRAIT_NO_UNDERWEAR, "TRAIT_NO_ZOMBIFY" = TRAIT_NO_ZOMBIFY, + "TRAIT_HIPPOCRATIC_OATH" = TRAIT_HIPPOCRATIC_OATH, "TRAIT_NUKEIMMUNE" = TRAIT_NUKEIMMUNE, "TRAIT_OFF_BALANCE_TACKLER" = TRAIT_OFF_BALANCE_TACKLER, "TRAIT_OIL_FRIED" = TRAIT_OIL_FRIED, @@ -534,6 +539,7 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_NO_BARCODES" = TRAIT_NO_BARCODES, "TRAIT_NO_STORAGE_INSERT" = TRAIT_NO_STORAGE_INSERT, "TRAIT_NO_TELEPORT" = TRAIT_NO_TELEPORT, + "TRAIT_NO_SIDE_KICK" = TRAIT_NO_SIDE_KICK, "TRAIT_NODROP" = TRAIT_NODROP, "TRAIT_OMNI_BAIT" = TRAIT_OMNI_BAIT, "TRAIT_PLANT_WILDMUTATE" = TRAIT_PLANT_WILDMUTATE, diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm index d709113d2b175..e29a140bfe03a 100644 --- a/code/_globalvars/traits/admin_tooling.dm +++ b/code/_globalvars/traits/admin_tooling.dm @@ -163,6 +163,7 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_OIL_FRIED" = TRAIT_OIL_FRIED, "TRAIT_OVERWATCH_IMMUNE" = TRAIT_OVERWATCH_IMMUNE, "TRAIT_PACIFISM" = TRAIT_PACIFISM, + "TRAIT_HIPPOCRATIC_OATH" = TRAIT_HIPPOCRATIC_OATH, "TRAIT_PAPER_MASTER" = TRAIT_PAPER_MASTER, "TRAIT_PARALYSIS_L_ARM" = TRAIT_PARALYSIS_L_ARM, "TRAIT_PARALYSIS_L_LEG" = TRAIT_PARALYSIS_L_LEG, diff --git a/code/_onclick/click.dm b/code/_onclick/click.dm index 4dde5a7f04aeb..117c8e162d607 100644 --- a/code/_onclick/click.dm +++ b/code/_onclick/click.dm @@ -93,9 +93,9 @@ return if(LAZYACCESS(modifiers, ALT_CLICK)) // alt and alt-gr (rightalt) if(LAZYACCESS(modifiers, RIGHT_CLICK)) - base_click_alt_secondary(A) + AltClickSecondaryOn(A) else - base_click_alt(A) + AltClickOn(A) return if(LAZYACCESS(modifiers, CTRL_CLICK)) CtrlClickOn(A) @@ -225,6 +225,10 @@ next += target.loc checking = next + + if(SEND_SIGNAL(src, COMSIG_ATOM_CANREACH, ultimate_target) & COMPONENT_ALLOW_REACH) + return TRUE + return FALSE /atom/movable/proc/DirectAccess() diff --git a/code/_onclick/click_alt.dm b/code/_onclick/click_alt.dm index 51c58408e2557..28801b9816d36 100644 --- a/code/_onclick/click_alt.dm +++ b/code/_onclick/click_alt.dm @@ -1,5 +1,9 @@ +///Main proc for primary alt click +/mob/proc/AltClickOn(atom/target) + base_click_alt(target) + /** - * ### Base proc for alt click interaction left click. + * ### Base proc for alt click interaction left click. Returns if the click was intercepted & handled * * If you wish to add custom `click_alt` behavior for a single type, use that proc. */ @@ -8,43 +12,36 @@ // Check if they've hooked in to prevent src from alt clicking anything if(SEND_SIGNAL(src, COMSIG_MOB_ALTCLICKON, target) & COMSIG_MOB_CANCEL_CLICKON) - return - - // Is it visible (and we're not wearing it (our clothes are invisible))? - if(!CAN_I_SEE(target)) - return + return TRUE - if(is_blind() && !IN_GIVEN_RANGE(src, target, 1)) - return + // If it has a signal handler that returns a click action, done. + if(SEND_SIGNAL(target, COMSIG_CLICK_ALT, src) & CLICK_ACTION_ANY) + return TRUE - var/turf/tile = get_turf(target) + // If it has a custom click_alt that returns success/block, done. + if(can_perform_action(target, (target.interaction_flags_click | SILENT_ADJACENCY))) + return target.click_alt(src) & CLICK_ACTION_ANY - // Ghosties just see loot - if(isobserver(src) || isrevenant(src)) - client.loot_panel.open(tile) - return + return FALSE - if(can_perform_action(target, (target.interaction_flags_click | SILENT_ADJACENCY))) - // If it has a signal handler that returns a click action, done. - if(SEND_SIGNAL(target, COMSIG_CLICK_ALT, src) & CLICK_ACTION_ANY) - return +/mob/living/base_click_alt(atom/target) + SHOULD_NOT_OVERRIDE(TRUE) - // If it has a custom click_alt that returns success/block, done. - if(target.click_alt(src) & CLICK_ACTION_ANY) - return + . = ..() + if(. || !CAN_I_SEE(target) || (is_blind() && !IN_GIVEN_RANGE(src, target, 1))) + return // No alt clicking to view turf from beneath if(HAS_TRAIT(src, TRAIT_MOVE_VENTCRAWLING)) return /// No loot panel if it's on our person - if(isobj(target) && isliving(src)) - var/mob/living/user = src - if(target in user.get_all_gear()) - to_chat(user, span_warning("You can't search for this item, it's already in your inventory! Take it off first.")) - return + if(isobj(target) && (target in get_all_gear())) + to_chat(src, span_warning("You can't search for this item, it's already in your inventory! Take it off first.")) + return - client.loot_panel.open(tile) + client.loot_panel.open(get_turf(target)) + return TRUE /** * ## Custom alt click interaction @@ -78,6 +75,10 @@ return NONE +///Main proc for secondary alt click +/mob/proc/AltClickSecondaryOn(atom/target) + base_click_alt_secondary(target) + /** * ### Base proc for alt click interaction right click. * @@ -90,17 +91,13 @@ if(SEND_SIGNAL(src, COMSIG_MOB_ALTCLICKON_SECONDARY, target) & COMSIG_MOB_CANCEL_CLICKON) return - if(!can_perform_action(target, target.interaction_flags_click | SILENT_ADJACENCY)) - return - //Hook on the atom to intercept the click if(SEND_SIGNAL(target, COMSIG_CLICK_ALT_SECONDARY, src) & COMPONENT_CANCEL_CLICK_ALT_SECONDARY) return - if(isobserver(src) && client && check_rights_for(client, R_DEBUG)) - client.toggle_tag_datum(src) - return - target.click_alt_secondary(src) + // If it has a custom click_alt_secondary then do that + if(can_perform_action(target, target.interaction_flags_click | SILENT_ADJACENCY)) + target.click_alt_secondary(src) /** * ## Custom alt click secondary interaction diff --git a/code/_onclick/click_ctrl.dm b/code/_onclick/click_ctrl.dm index 2e80f01781603..72f67b4271ed7 100644 --- a/code/_onclick/click_ctrl.dm +++ b/code/_onclick/click_ctrl.dm @@ -20,12 +20,11 @@ if(SEND_SIGNAL(target, COMSIG_CLICK_CTRL, src) & CLICK_ACTION_ANY) return TRUE - // This means the action has been processed even though nothing happened - if(!can_perform_action(target, target.interaction_flags_click | SILENT_ADJACENCY)) - return TRUE - // If it has a custom click_alt that returns success/block, done. - return target.click_ctrl(src) & CLICK_ACTION_ANY + if(can_perform_action(target, target.interaction_flags_click | SILENT_ADJACENCY)) + return target.click_ctrl(src) & CLICK_ACTION_ANY + + return FALSE /** * Ctrl click @@ -35,7 +34,7 @@ SHOULD_NOT_OVERRIDE(TRUE) . = ..() - if(. || world.time < next_move || !CanReach(target)) + if(. || world.time < next_move || !can_perform_action(target, NOT_INSIDE_TARGET | SILENT_ADJACENCY)) return . = TRUE diff --git a/code/_onclick/hud/action_button.dm b/code/_onclick/hud/action_button.dm index b3d2de3683b67..71d8a81b397c3 100644 --- a/code/_onclick/hud/action_button.dm +++ b/code/_onclick/hud/action_button.dm @@ -130,6 +130,9 @@ our_hud.position_action_relative(src, button) save_position() return + + . = ..() + our_hud.position_action(src, screen_loc) save_position() diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index 2cfa8147c490f..f8f79f442940b 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -525,7 +525,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." alerttooltipstyle = "cult" var/static/image/narnar var/angle = 0 - var/mob/living/basic/construct/Cviewer + var/mob/living/basic/construct/construct_owner /atom/movable/screen/alert/bloodsense/Initialize(mapload, datum/hud/hud_owner) . = ..() @@ -533,7 +533,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." START_PROCESSING(SSprocessing, src) /atom/movable/screen/alert/bloodsense/Destroy() - Cviewer = null + construct_owner = null STOP_PROCESSING(SSprocessing, src) return ..() @@ -543,45 +543,53 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." if(!owner.mind) return + if(isconstruct(owner)) + construct_owner = owner + else + construct_owner = null + + // construct track + if(construct_owner?.seeking && construct_owner.master) + blood_target = construct_owner.master + desc = "Your blood sense is leading you to [construct_owner.master]" + + // cult track var/datum/antagonist/cult/antag = owner.mind.has_antag_datum(/datum/antagonist/cult,TRUE) - if(!antag) - return - var/datum/objective/sacrifice/sac_objective = locate() in antag.cult_team.objectives + if(antag) + var/datum/objective/sacrifice/sac_objective = locate() in antag.cult_team.objectives + if(antag.cult_team.blood_target) + if(!get_turf(antag.cult_team.blood_target)) + antag.cult_team.unset_blood_target() + else + blood_target = antag.cult_team.blood_target + if(!blood_target) + if(sac_objective && !sac_objective.check_completion()) + if(icon_state == "runed_sense0") + return + animate(src, transform = null, time = 1, loop = 0) + angle = 0 + cut_overlays() + icon_state = "runed_sense0" + desc = "Nar'Sie demands that [sac_objective.target] be sacrificed before the summoning ritual can begin." + add_overlay(sac_objective.sac_image) + else + var/datum/objective/eldergod/summon_objective = locate() in antag.cult_team.objectives + if(!summon_objective) + return + var/list/location_list = list() + for(var/area/area_to_check in summon_objective.summon_spots) + location_list += area_to_check.get_original_area_name() + desc = "The sacrifice is complete, summon Nar'Sie! The summoning can only take place in [english_list(location_list)]!" + if(icon_state == "runed_sense1") + return + animate(src, transform = null, time = 1, loop = 0) + angle = 0 + cut_overlays() + icon_state = "runed_sense1" + add_overlay(narnar) + return - if(antag.cult_team.blood_target) - if(!get_turf(antag.cult_team.blood_target)) - antag.cult_team.unset_blood_target() - else - blood_target = antag.cult_team.blood_target - if(Cviewer?.seeking && Cviewer.master) - blood_target = Cviewer.master - desc = "Your blood sense is leading you to [Cviewer.master]" - if(!blood_target) - if(sac_objective && !sac_objective.check_completion()) - if(icon_state == "runed_sense0") - return - animate(src, transform = null, time = 1, loop = 0) - angle = 0 - cut_overlays() - icon_state = "runed_sense0" - desc = "Nar'Sie demands that [sac_objective.target] be sacrificed before the summoning ritual can begin." - add_overlay(sac_objective.sac_image) - else - var/datum/objective/eldergod/summon_objective = locate() in antag.cult_team.objectives - if(!summon_objective) - return - var/list/location_list = list() - for(var/area/area_to_check in summon_objective.summon_spots) - location_list += area_to_check.get_original_area_name() - desc = "The sacrifice is complete, summon Nar'Sie! The summoning can only take place in [english_list(location_list)]!" - if(icon_state == "runed_sense1") - return - animate(src, transform = null, time = 1, loop = 0) - angle = 0 - cut_overlays() - icon_state = "runed_sense1" - add_overlay(narnar) - return + // actual tracking var/turf/P = get_turf(blood_target) var/turf/Q = get_turf(owner) if(!P || !Q || (P.z != Q.z)) //The target is on a different Z level, we cannot sense that far. @@ -593,6 +601,7 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." desc = "You are currently tracking [real_target.real_name] in [get_area_name(blood_target)]." else desc = "You are currently tracking [blood_target] in [get_area_name(blood_target)]." + var/target_angle = get_angle(Q, P) var/target_dist = get_dist(P, Q) cut_overlays() diff --git a/code/_onclick/hud/screen_objects.dm b/code/_onclick/hud/screen_objects.dm index 2fc1fe644eec1..8cc29740870ca 100644 --- a/code/_onclick/hud/screen_objects.dm +++ b/code/_onclick/hud/screen_objects.dm @@ -294,7 +294,8 @@ /atom/movable/screen/close name = "close" plane = ABOVE_HUD_PLANE - icon_state = "backpack_close" + icon = 'icons/hud/screen_midnight.dmi' + icon_state = "storage_close" /atom/movable/screen/close/Initialize(mapload, datum/hud/hud_owner, new_master) . = ..() @@ -439,8 +440,8 @@ /atom/movable/screen/storage name = "storage" - icon_state = "block" - screen_loc = "7,7 to 10,8" + icon = 'icons/hud/screen_midnight.dmi' + icon_state = "storage_cell" plane = HUD_PLANE /atom/movable/screen/storage/Initialize(mapload, datum/hud/hud_owner, new_master) @@ -465,6 +466,27 @@ return TRUE +/atom/movable/screen/storage/corner + name = "storage" + icon_state = "storage_corner_topleft" + +/atom/movable/screen/storage/corner/top_right + icon_state = "storage_corner_topright" + +/atom/movable/screen/storage/corner/bottom_left + icon_state = "storage_corner_bottomleft" + +/atom/movable/screen/storage/corner/bottom_right + icon_state = "storage_corner_bottomright" + +/atom/movable/screen/storage/rowjoin + name = "storage" + icon_state = "storage_rowjoin_left" + alpha = 0 + +/atom/movable/screen/storage/rowjoin/right + icon_state = "storage_rowjoin_right" + /atom/movable/screen/throw_catch name = "throw/catch" icon = 'icons/hud/screen_midnight.dmi' diff --git a/code/controllers/subsystem/ambience.dm b/code/controllers/subsystem/ambience.dm index e138c2d6048c5..cae5d85246d80 100644 --- a/code/controllers/subsystem/ambience.dm +++ b/code/controllers/subsystem/ambience.dm @@ -27,6 +27,9 @@ SUBSYSTEM_DEF(ambience) client_old_areas -= client_iterator continue + if(!client_mob.can_hear()) //WHAT? I CAN'T HEAR YOU + continue + //Check to see if the client-mob is in a valid area var/area/current_area = get_area(client_mob) if(!current_area) //Something's gone horribly wrong @@ -83,3 +86,52 @@ SUBSYSTEM_DEF(ambience) if(!M.has_light_nearby() && prob(0.5)) return ..(M, pick(minecraft_cave_noises)) return ..() + +/** + * Ambience buzz handling called by either area/Enter() or refresh_looping_ambience() + */ + +/mob/proc/update_ambience_area(area/new_area) + + var/old_tracked_area = ambience_tracked_area + if(old_tracked_area) + UnregisterSignal(old_tracked_area, COMSIG_AREA_POWER_CHANGE) + ambience_tracked_area = null + if(!client) + return + if(new_area) + ambience_tracked_area = new_area + RegisterSignal(ambience_tracked_area, COMSIG_AREA_POWER_CHANGE, PROC_REF(refresh_looping_ambience), TRUE) + + refresh_looping_ambience() + +/mob/proc/refresh_looping_ambience() + SIGNAL_HANDLER + + if(!client) // If a tree falls in the woods. + return + + var/area/my_area = get_area(src) + var/sound_to_use = my_area.ambient_buzz + + if(!sound_to_use || !(client.prefs.read_preference(/datum/preference/toggle/sound_ship_ambience))) + SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = CHANNEL_BUZZ)) + client.current_ambient_sound = null + return + + if(!can_hear()) // Can the mob hear? + SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = CHANNEL_BUZZ)) + client.current_ambient_sound = null + return + + //Station ambience is dependant on a functioning and charged APC with enviorment power enabled. + if(!is_mining_level(my_area.z) && ((!my_area.apc || !my_area.apc.operating || !my_area.apc.cell?.charge && my_area.requires_power || !my_area.power_environ))) + SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = CHANNEL_BUZZ)) + client.current_ambient_sound = null + return + else + if(sound_to_use == client.current_ambient_sound) // Don't reset current loops + return + + client.current_ambient_sound = sound_to_use + SEND_SOUND(src, sound(my_area.ambient_buzz, repeat = 1, wait = 0, volume = my_area.ambient_buzz_vol, channel = CHANNEL_BUZZ)) diff --git a/code/controllers/subsystem/radiation.dm b/code/controllers/subsystem/radiation.dm index d52fe83856a45..6a9cc631cf529 100644 --- a/code/controllers/subsystem/radiation.dm +++ b/code/controllers/subsystem/radiation.dm @@ -74,7 +74,7 @@ SUBSYSTEM_DEF(radiation) if(pulse_information.chance < 100) // Prevents log(0) runtime if chance is 100% intensity = -log(1 - pulse_information.chance / 100) * (1 + pulse_information.max_range / 2) ** 2 - perceived_intensity = intensity * INVERSE((1 + get_dist_euclidian(source, target)) ** 2) // Diminishes over range. + perceived_intensity = intensity * INVERSE((1 + get_dist_euclidean(source, target)) ** 2) // Diminishes over range. perceived_intensity *= (current_insulation - pulse_information.threshold) * INVERSE(1 - pulse_information.threshold) // Perceived intensity decreases as objects that absorb radiation block its trajectory. perceived_chance = 100 * (1 - NUM_E ** -perceived_intensity) else diff --git a/code/datums/actions/items/cult_dagger.dm b/code/datums/actions/items/cult_dagger.dm index 76e92c7b23198..6b188e85e9071 100644 --- a/code/datums/actions/items/cult_dagger.dm +++ b/code/datums/actions/items/cult_dagger.dm @@ -17,10 +17,10 @@ return ..() /datum/action/item_action/cult_dagger/Trigger(trigger_flags) - for(var/obj/item/held_item as anything in owner.held_items) // In case we were already holding a dagger - if(istype(held_item, /obj/item/melee/cultblade/dagger)) - held_item.attack_self(owner) - return + if(target in owner.held_items) + var/obj/item/target_item = target + target_item.attack_self(owner) + return var/obj/item/target_item = target if(owner.can_equip(target_item, ITEM_SLOT_HANDS)) owner.temporarilyRemoveItemFromInventory(target_item) diff --git a/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm index 14f0d03207959..07b544bc0a296 100644 --- a/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm +++ b/code/datums/ai/basic_mobs/targeting_strategies/basic_targeting_strategy.dm @@ -137,3 +137,10 @@ /datum/targeting_strategy/basic/same_faction/faction_check(mob/living/living_mob, mob/living/the_target) return !..() // inverts logic to ONLY target mobs that share a faction + +/datum/targeting_strategy/basic/allow_turfs + +/datum/targeting_strategy/basic/allow_turfs/can_attack(mob/living/living_mob, atom/the_target, vision_range) + if(isturf(the_target)) + return TRUE + return ..() diff --git a/code/datums/ai/objects/mod.dm b/code/datums/ai/objects/mod.dm index edad77aa4c4af..2b4c1f7e2b001 100644 --- a/code/datums/ai/objects/mod.dm +++ b/code/datums/ai/objects/mod.dm @@ -4,6 +4,7 @@ BB_MOD_TARGET, BB_MOD_IMPLANT, ) + can_idle = FALSE max_target_distance = MOD_AI_RANGE //a little spicy but its one specific item that summons it, and it doesn't run otherwise ai_movement = /datum/ai_movement/jps/modsuit ///ID card generated from the suit's required access. Used for pathing. diff --git a/code/datums/ai/oldhostile/hostile_tameable.dm b/code/datums/ai/oldhostile/hostile_tameable.dm index d76ffb8a282d4..1c30cb95487c1 100644 --- a/code/datums/ai/oldhostile/hostile_tameable.dm +++ b/code/datums/ai/oldhostile/hostile_tameable.dm @@ -106,10 +106,11 @@ if(!COOLDOWN_FINISHED(src, command_cooldown)) return - if(!istype(clicker) || blackboard[BB_HOSTILE_FRIEND] != clicker) + if(!istype(clicker) || blackboard[BB_HOSTILE_FRIEND] != clicker || !clicker.can_perform_action(source)) return - . = CLICK_ACTION_BLOCKING + INVOKE_ASYNC(src, PROC_REF(command_radial), clicker) + return CLICK_ACTION_BLOCKING /// Show the command radial menu /datum/ai_controller/hostile_friend/proc/command_radial(mob/living/clicker) diff --git a/code/datums/elements/amputating_limbs.dm b/code/datums/components/amputating_limbs.dm similarity index 65% rename from code/datums/elements/amputating_limbs.dm rename to code/datums/components/amputating_limbs.dm index 8684a76f47fc3..bfaf52ca90ca5 100644 --- a/code/datums/elements/amputating_limbs.dm +++ b/code/datums/components/amputating_limbs.dm @@ -1,7 +1,5 @@ /// This component will intercept bare-handed attacks by the owner on sufficiently injured carbons and amputate random limbs instead -/datum/element/amputating_limbs - element_flags = ELEMENT_BESPOKE - argument_hash_start_idx = 2 +/datum/component/amputating_limbs /// How long does it take? var/surgery_time /// What is the means by which we describe the act of amputation? @@ -12,34 +10,38 @@ var/snip_chance /// The types of limb we can remove var/list/target_zones + /// Callback for a proc right before confirming the attack. If it returns FALSE, cancel + var/datum/callback/pre_hit_callback -/datum/element/amputating_limbs/Attach( - datum/target, +/datum/component/amputating_limbs/Initialize( surgery_time = 5 SECONDS, surgery_verb = "prying", minimum_stat = SOFT_CRIT, snip_chance = 100, list/target_zones = list(BODY_ZONE_L_ARM, BODY_ZONE_L_LEG, BODY_ZONE_R_ARM, BODY_ZONE_R_LEG), + datum/callback/pre_hit_callback, ) . = ..() - if (!isliving(target)) - return ELEMENT_INCOMPATIBLE + if (!isliving(parent)) + return COMPONENT_INCOMPATIBLE if (!length(target_zones)) - CRASH("[src] for [target] was not provided a valid list of body zones to target.") + CRASH("[src] for [parent] was not provided a valid list of body zones to target.") src.surgery_time = surgery_time src.surgery_verb = surgery_verb src.minimum_stat = minimum_stat src.snip_chance = snip_chance src.target_zones = target_zones - RegisterSignals(target, list(COMSIG_LIVING_UNARMED_ATTACK, COMSIG_HOSTILE_PRE_ATTACKINGTARGET), PROC_REF(try_amputate)) + src.pre_hit_callback = pre_hit_callback -/datum/element/amputating_limbs/Detach(datum/source) - UnregisterSignal(source, list(COMSIG_LIVING_UNARMED_ATTACK, COMSIG_HOSTILE_PRE_ATTACKINGTARGET)) - return ..() +/datum/component/amputating_limbs/RegisterWithParent() + RegisterSignals(parent, list(COMSIG_LIVING_UNARMED_ATTACK, COMSIG_HOSTILE_PRE_ATTACKINGTARGET), PROC_REF(try_amputate)) + +/datum/component/amputating_limbs/UnregisterFromParent() + UnregisterSignal(parent, list(COMSIG_LIVING_UNARMED_ATTACK, COMSIG_HOSTILE_PRE_ATTACKINGTARGET)) /// Called when you click on literally anything with your hands, see if it is an injured carbon and then try to cut it up -/datum/element/amputating_limbs/proc/try_amputate(mob/living/surgeon, atom/victim, proximity, modifiers) +/datum/component/amputating_limbs/proc/try_amputate(mob/living/surgeon, atom/victim, proximity, modifiers) SIGNAL_HANDLER if (!proximity || !iscarbon(victim) || HAS_TRAIT(victim, TRAIT_NODISMEMBER) || !prob(snip_chance)) return @@ -52,6 +54,9 @@ surgeon.balloon_alert(surgeon, "already busy!") return COMPONENT_CANCEL_ATTACK_CHAIN + if(pre_hit_callback && !pre_hit_callback.Invoke(victim)) + return + var/list/valid_targets = list() for (var/obj/item/bodypart/possible_target as anything in limbed_victim.bodyparts) if (possible_target.bodypart_flags & BODYPART_UNREMOVABLE) @@ -67,8 +72,9 @@ return COMPONENT_CANCEL_ATTACK_CHAIN /// Chop one off -/datum/element/amputating_limbs/proc/amputate(mob/living/surgeon, mob/living/carbon/victim, obj/item/bodypart/to_remove) - surgeon.visible_message(span_warning("[surgeon] [surgery_verb] [to_remove] off of [victim]!")) +/datum/component/amputating_limbs/proc/amputate(mob/living/surgeon, mob/living/carbon/victim, obj/item/bodypart/to_remove) + if(surgery_time > 0 SECONDS) + surgeon.visible_message(span_warning("[surgeon] is [surgery_verb] the [to_remove] off of [victim]!")) if (surgery_time > 0 && !do_after(surgeon, delay = surgery_time, target = victim)) return to_remove.dismember() diff --git a/code/datums/components/crafting/robot.dm b/code/datums/components/crafting/robot.dm index 2398a8b54fbbe..09c8455a77b39 100644 --- a/code/datums/components/crafting/robot.dm +++ b/code/datums/components/crafting/robot.dm @@ -75,21 +75,7 @@ var/obj/item/storage/medkit/medkit = bot.contents[3] bot.medkit_type = medkit bot.health_analyzer = bot.contents[4] - - ///if you add a new one don't forget to update /obj/item/storage/medkit/attackby() - if (istype(medkit, /obj/item/storage/medkit/fire)) - bot.skin = "ointment" - else if (istype(medkit, /obj/item/storage/medkit/toxin)) - bot.skin = "tox" - else if (istype(medkit, /obj/item/storage/medkit/o2)) - bot.skin = "o2" - else if (istype(medkit, /obj/item/storage/medkit/brute)) - bot.skin = "brute" - else if (istype(medkit, /obj/item/storage/medkit/advanced)) - bot.skin = "advanced" - else if (istype(src, /obj/item/storage/medkit/tactical)) - bot.skin = "bezerk" - + bot.skin = medkit.get_medbot_skin() bot.damage_type_healer = initial(medkit.damagetype_healed) ? initial(medkit.damagetype_healed) : BRUTE bot.update_appearance() @@ -107,7 +93,7 @@ /datum/crafting_recipe/firebot name = "Firebot" - result = /mob/living/simple_animal/bot/firebot + result = /mob/living/basic/bot/firebot reqs = list( /obj/item/extinguisher = 1, /obj/item/bodypart/arm/right/robot = 1, diff --git a/code/datums/components/crafting/tiles.dm b/code/datums/components/crafting/tiles.dm index 5f7c41e012e0c..3125f4c1e85cf 100644 --- a/code/datums/components/crafting/tiles.dm +++ b/code/datums/components/crafting/tiles.dm @@ -7,3 +7,23 @@ result = /obj/item/stack/tile/carpet/black result_amount = 50 category = CAT_TILES + +/datum/crafting_recipe/wired_glass + name = "Wired Glass Tile" + result = /obj/item/stack/tile/light + reqs = list( + /obj/item/stack/sheet/iron = 1, + /obj/item/stack/sheet/glass = 1, + /obj/item/stack/cable_coil = 5, + ) + category = CAT_TILES + +/datum/crafting_recipe/circuit + name = "Circuit Tile" + result = /obj/item/stack/tile/circuit + reqs = list( + /obj/item/stack/sheet/iron = 1, + /obj/item/stack/sheet/glass = 1, + /obj/item/stack/cable_coil = 5, + ) + category = CAT_TILES diff --git a/code/datums/components/cult_ritual_item.dm b/code/datums/components/cult_ritual_item.dm index 7d9710977cecb..dedd30bda0ef5 100644 --- a/code/datums/components/cult_ritual_item.dm +++ b/code/datums/components/cult_ritual_item.dm @@ -128,6 +128,7 @@ INVOKE_ASYNC(src, PROC_REF(do_destroy_girder), target, cultist) return COMPONENT_NO_AFTERATTACK + if(istype(target, /obj/structure/destructible/cult)) INVOKE_ASYNC(src, PROC_REF(do_unanchor_structure), target, cultist) return COMPONENT_NO_AFTERATTACK diff --git a/code/datums/components/damage_aura.dm b/code/datums/components/damage_aura.dm index 98d323aa6d532..9c4e996113b84 100644 --- a/code/datums/components/damage_aura.dm +++ b/code/datums/components/damage_aura.dm @@ -36,6 +36,12 @@ /// Which factions are immune to the damage aura var/list/immune_factions = null + /// If set, gives a message when damaged + var/damage_message = null + + /// Probability for above. + var/message_probability = 0 + /// Sets a special set of conditions for the owner var/datum/weakref/current_owner = null @@ -54,6 +60,8 @@ organ_damage = null, simple_damage = 0, immune_factions = null, + damage_message = null, + message_probability = 0, mob/living/current_owner = null, ) if (!isatom(parent)) @@ -72,6 +80,8 @@ src.organ_damage = organ_damage src.simple_damage = simple_damage src.immune_factions = immune_factions + src.damage_message = damage_message + src.message_probability = message_probability src.current_owner = WEAKREF(current_owner) /datum/component/damage_aura/Destroy(force) @@ -120,6 +130,9 @@ if (candidate.health < candidate.maxHealth) new /obj/effect/temp_visual/cosmic_gem(get_turf(candidate)) + if(damage_message && prob(message_probability)) + to_chat(candidate, damage_message) + if (iscarbon(candidate) || issilicon(candidate) || isbasicmob(candidate)) candidate.adjustBruteLoss(brute_damage * seconds_per_tick, updating_health = FALSE) candidate.adjustFireLoss(burn_damage * seconds_per_tick, updating_health = FALSE) diff --git a/code/datums/components/ghost_direct_control.dm b/code/datums/components/ghost_direct_control.dm index de5bca4fcadde..fb3a2c06e8360 100644 --- a/code/datums/components/ghost_direct_control.dm +++ b/code/datums/components/ghost_direct_control.dm @@ -142,13 +142,20 @@ return if (extra_control_checks && !extra_control_checks.Invoke(harbinger)) return + harbinger.log_message("took control of [new_body].", LOG_GAME) + // doesn't transfer mind because that transfers antag datum as well new_body.key = harbinger.key - to_chat(new_body, span_boldnotice(assumed_control_message)) - after_assumed_control?.Invoke(harbinger) + + // Already qdels due to below proc but just in case qdel(src) -/// When someone else assumes control via some other means, get rid of our component -/datum/component/ghost_direct_control/proc/on_login() +/// When someone assumes control, get rid of our component +/datum/component/ghost_direct_control/proc/on_login(mob/harbinger) SIGNAL_HANDLER + // This proc is called the very moment .key is set, so we need to force mind to initialize here if we want the invoke to affect the mind of the mob + if(isnull(harbinger.mind)) + harbinger.mind_initialize() + to_chat(harbinger, span_boldnotice(assumed_control_message)) + after_assumed_control?.Invoke(harbinger) qdel(src) diff --git a/code/datums/components/knockoff.dm b/code/datums/components/knockoff.dm index db72072789c45..3fe007736a1d0 100644 --- a/code/datums/components/knockoff.dm +++ b/code/datums/components/knockoff.dm @@ -23,6 +23,10 @@ /datum/component/knockoff/RegisterWithParent() RegisterSignal(parent, COMSIG_ITEM_EQUIPPED, PROC_REF(on_equipped)) RegisterSignal(parent, COMSIG_ITEM_DROPPED, PROC_REF(on_dropped)) + var/atom/movable/atom_parent = parent + var/mob/living/as_mob = atom_parent.loc + if(ismob(as_mob)) + on_equipped(atom_parent, as_mob, as_mob.get_slot_by_item(atom_parent)) // lie a little /datum/component/knockoff/UnregisterFromParent() UnregisterSignal(parent, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) diff --git a/code/datums/components/lockable_storage.dm b/code/datums/components/lockable_storage.dm index c559c008c7923..482cb134159e0 100644 --- a/code/datums/components/lockable_storage.dm +++ b/code/datums/components/lockable_storage.dm @@ -47,7 +47,6 @@ if(can_hack_open) RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_SCREWDRIVER), PROC_REF(on_screwdriver_act)) RegisterSignal(parent, COMSIG_ATOM_TOOL_ACT(TOOL_MULTITOOL), PROC_REF(on_multitool_act)) - RegisterSignal(parent, COMSIG_ATOM_STORAGE_ITEM_INTERACT_INSERT, PROC_REF(block_insert)) RegisterSignal(parent, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) RegisterSignal(parent, COMSIG_ATOM_REQUESTING_CONTEXT_FROM_ITEM, PROC_REF(on_requesting_context_from_item)) @@ -117,6 +116,7 @@ return NONE panel_open = !panel_open + tool.play_tool_sound(source) source.balloon_alert(user, "panel [panel_open ? "opened" : "closed"]") return ITEM_INTERACT_SUCCESS @@ -137,20 +137,11 @@ ///Does a do_after to hack the storage open, takes a long time cause idk. /datum/component/lockable_storage/proc/hack_open(atom/source, mob/user, obj/item/tool) - if(!tool.use_tool(parent, user, 40 SECONDS)) + if(!tool.use_tool(parent, user, 40 SECONDS, volume = 50)) return source.balloon_alert(user, "hacked") lock_code = null -/// Stops you from shoving your tools into the storage if you're trying to hack it -/datum/component/lockable_storage/proc/block_insert(atom/source, obj/item/inserting, mob/living/user) - SIGNAL_HANDLER - if(!can_hack_open || !source.atom_storage.locked) - return NONE // allow insert - if(inserting.tool_behaviour == TOOL_MULTITOOL || inserting.tool_behaviour == TOOL_SCREWDRIVER) - return BLOCK_STORAGE_INSERT // block insert - return NONE - ///Updates the icon state depending on if we're locked or not. /datum/component/lockable_storage/proc/on_update_icon_state(obj/source) SIGNAL_HANDLER diff --git a/code/datums/components/pet_commands/obeys_commands.dm b/code/datums/components/pet_commands/obeys_commands.dm index ec3a04c940a2a..8aaa7e7179294 100644 --- a/code/datums/components/pet_commands/obeys_commands.dm +++ b/code/datums/components/pet_commands/obeys_commands.dm @@ -66,7 +66,7 @@ SIGNAL_HANDLER var/mob/living/living_parent = parent - if (IS_DEAD_OR_INCAP(living_parent)) + if (IS_DEAD_OR_INCAP(living_parent) || !clicker.can_perform_action(living_parent)) return if (!(clicker in living_parent.ai_controller?.blackboard[BB_FRIENDS_LIST])) return // Not our friend, can't boss us around diff --git a/code/datums/components/riding/riding_mob.dm b/code/datums/components/riding/riding_mob.dm index 78158c55e8eb7..3cc853cc77a17 100644 --- a/code/datums/components/riding/riding_mob.dm +++ b/code/datums/components/riding/riding_mob.dm @@ -137,25 +137,18 @@ return ..() /// Yeets the rider off, used for animals and cyborgs, redefined for humans who shove their piggyback rider off -/datum/component/riding/creature/proc/force_dismount(mob/living/rider, gentle = FALSE) +/datum/component/riding/creature/proc/force_dismount(mob/living/rider, throw_range = 8, throw_speed = 3, gentle = FALSE) var/atom/movable/movable_parent = parent movable_parent.unbuckle_mob(rider) - + rider.Knockdown(3 SECONDS) + if(throw_range == 0) + return if(!iscyborg(movable_parent) && !isanimal_or_basicmob(movable_parent)) return - var/turf/target = get_edge_target_turf(movable_parent, movable_parent.dir) - var/turf/targetm = get_step(get_turf(movable_parent), movable_parent.dir) - rider.Move(targetm) - rider.Knockdown(3 SECONDS) - if(gentle) - rider.visible_message(span_warning("[rider] is thrown clear of [movable_parent]!"), \ - span_warning("You're thrown clear of [movable_parent]!")) - rider.throw_at(target, 8, 3, movable_parent, gentle = TRUE) - else - rider.visible_message(span_warning("[rider] is thrown violently from [movable_parent]!"), \ - span_warning("You're thrown violently from [movable_parent]!")) - rider.throw_at(target, 14, 5, movable_parent, gentle = FALSE) + rider.visible_message(span_warning("[rider] is thrown clear of [movable_parent]!"), \ + span_warning("You're thrown clear of [movable_parent]!")) + rider.throw_at(target, throw_range, throw_speed, movable_parent, gentle = gentle) /// If we're a cyborg or animal and we spin, we yeet whoever's on us off us /datum/component/riding/creature/proc/check_emote(mob/living/user, datum/emote/emote) @@ -540,7 +533,33 @@ /datum/component/riding/creature/raptor require_minigame = TRUE - ride_check_flags = RIDER_NEEDS_ARM + ride_check_flags = RIDER_NEEDS_ARM | UNBUCKLE_DISABLED_RIDER + +/datum/component/riding/creature/raptor/Initialize(mob/living/riding_mob, force, ride_check_flags, potion_boost) + . = ..() + RegisterSignal(parent, COMSIG_PROJECTILE_PREHIT, PROC_REF(on_bullet_hit)) + RegisterSignal(parent, COMSIG_MOB_AFTER_APPLY_DAMAGE, PROC_REF(on_attacked)) + +/datum/component/riding/creature/raptor/proc/on_bullet_hit(atom/target, list/bullet_args, obj/projectile/hit_projectile) + SIGNAL_HANDLER + + if(hit_projectile.armor_flag == ENERGY) + freak_out() + +/datum/component/riding/creature/raptor/proc/on_attacked(mob/living/source, damage_dealt, damagetype, def_zone, blocked, wound_bonus, bare_wound_bonus, sharpness, attack_direction, obj/item/attacking_item) + SIGNAL_HANDLER + + if(damagetype == STAMINA) + freak_out() + +/datum/component/riding/creature/raptor/proc/freak_out() + var/mob/living/living_parent = parent + if(!length(living_parent.buckled_mobs)) + return + living_parent.balloon_alert_to_viewers("freaks out!") + living_parent.spin(spintime = 2 SECONDS, speed = 1) + for(var/mob/living/buckled_mob in living_parent.buckled_mobs) + force_dismount(buckled_mob, throw_range = 2, gentle = TRUE) /datum/component/riding/creature/raptor/handle_specials() . = ..() diff --git a/code/datums/components/rotation.dm b/code/datums/components/rotation.dm index f872c6bfd6939..6ff8197e09319 100644 --- a/code/datums/components/rotation.dm +++ b/code/datums/components/rotation.dm @@ -55,6 +55,7 @@ /datum/component/simple_rotation/proc/rotate_right(datum/source, mob/user) SIGNAL_HANDLER rotate(user, ROTATION_CLOCKWISE) + return CLICK_ACTION_SUCCESS /datum/component/simple_rotation/proc/rotate_left(datum/source, mob/user) SIGNAL_HANDLER diff --git a/code/datums/components/spawner.dm b/code/datums/components/spawner.dm index 29767d11ce6d1..26dbffaef6ff6 100644 --- a/code/datums/components/spawner.dm +++ b/code/datums/components/spawner.dm @@ -11,6 +11,8 @@ var/list/faction /// List of weak references to things we have already created var/list/spawned_things = list() + /// Callback to a proc that is called when a mob is spawned. Primarily used for sentient spawners. + var/datum/callback/spawn_callback /// How many mobs can we spawn maximum each time we try to spawn? (1 - max) var/max_spawn_per_attempt /// Distance from the spawner to spawn mobs @@ -19,7 +21,7 @@ var/spawn_distance_exclude COOLDOWN_DECLARE(spawn_delay) -/datum/component/spawner/Initialize(spawn_types = list(), spawn_time = 30 SECONDS, max_spawned = 5, max_spawn_per_attempt = 1 , faction = list(FACTION_MINING), spawn_text = null, spawn_distance = 1, spawn_distance_exclude = 0) +/datum/component/spawner/Initialize(spawn_types = list(), spawn_time = 30 SECONDS, max_spawned = 5, max_spawn_per_attempt = 1 , faction = list(FACTION_MINING), spawn_text = null, datum/callback/spawn_callback = null, spawn_distance = 1, spawn_distance_exclude = 0, initial_spawn_delay = 0 SECONDS) if (!islist(spawn_types)) CRASH("invalid spawn_types to spawn specified for spawner component!") src.spawn_time = spawn_time @@ -27,9 +29,13 @@ src.faction = faction src.spawn_text = spawn_text src.max_spawned = max_spawned + src.spawn_callback = spawn_callback src.max_spawn_per_attempt = max_spawn_per_attempt src.spawn_distance = spawn_distance src.spawn_distance_exclude = spawn_distance_exclude + // If set, doesn't instantly spawn a creature when the spawner component is applied. + if(initial_spawn_delay) + COOLDOWN_START(src, spawn_delay, spawn_time) RegisterSignal(parent, COMSIG_QDELETING, PROC_REF(stop_spawning)) RegisterSignal(parent, COMSIG_VENT_WAVE_CONCLUDED, PROC_REF(stop_spawning)) @@ -89,6 +95,7 @@ SEND_SIGNAL(src, COMSIG_SPAWNER_SPAWNED, created) RegisterSignal(created, COMSIG_QDELETING, PROC_REF(on_deleted)) + spawn_callback?.Invoke(created) if (spawn_text) diff --git a/code/datums/components/spirit_holding.dm b/code/datums/components/spirit_holding.dm index 578e378b51cb9..a7accc38352ee 100644 --- a/code/datums/components/spirit_holding.dm +++ b/code/datums/components/spirit_holding.dm @@ -6,12 +6,20 @@ /datum/component/spirit_holding ///bool on if this component is currently polling for observers to inhabit the item var/attempting_awakening = FALSE + /// Allows renaming the bound item + var/allow_renaming + /// Allows channeling + var/allow_channeling ///mob contained in the item. var/mob/living/basic/shade/bound_spirit -/datum/component/spirit_holding/Initialize() +/datum/component/spirit_holding/Initialize(datum/mind/soul_to_bind, mob/awakener, allow_renaming = TRUE, allow_channeling = TRUE) if(!ismovable(parent)) //you may apply this to mobs, i take no responsibility for how that works out return COMPONENT_INCOMPATIBLE + src.allow_renaming = allow_renaming + src.allow_channeling = allow_channeling + if(soul_to_bind) + bind_the_soule(soul_to_bind, awakener, soul_to_bind.name) /datum/component/spirit_holding/Destroy(force) . = ..() @@ -30,7 +38,7 @@ /datum/component/spirit_holding/proc/on_examine(datum/source, mob/user, list/examine_list) SIGNAL_HANDLER if(!bound_spirit) - examine_list += span_notice("[parent] sleeps. Use [parent] in your hands to attempt to awaken it.") + examine_list += span_notice("[parent] sleeps.[allow_channeling ? " Use [parent] in your hands to attempt to awaken it." : ""]") return examine_list += span_notice("[parent] is alive.") @@ -48,6 +56,9 @@ thing.balloon_alert(user, "spirits are unwilling!") to_chat(user, span_warning("Anomalous otherworldly energies block you from awakening [parent]!")) return + if(!allow_channeling && bound_spirit) + to_chat(user, span_warning("Try as you might, the spirit within slumbers.")) + return attempting_awakening = TRUE thing.balloon_alert(user, "channeling...") var/mob/chosen_one = SSpolling.poll_ghosts_for_target( @@ -74,28 +85,29 @@ // Immediately unregister to prevent making a new spirit UnregisterSignal(parent, COMSIG_ITEM_ATTACK_SELF) - if(QDELETED(parent)) //if the thing that we're conjuring a spirit in has been destroyed, don't create a spirit to_chat(ghost, span_userdanger("The new vessel for your spirit has been destroyed! You remain an unbound ghost.")) return - bound_spirit = new(parent) - bound_spirit.ckey = ghost.ckey - bound_spirit.fully_replace_character_name(null, "The spirit of [parent]") - bound_spirit.status_flags |= GODMODE - bound_spirit.copy_languages(awakener, LANGUAGE_MASTER) //Make sure the sword can understand and communicate with the awakener. - bound_spirit.get_language_holder().omnitongue = TRUE //Grants omnitongue + bind_the_soule(ghost, awakener) - //Add new signals for parent and stop attempting to awaken - RegisterSignal(parent, COMSIG_ATOM_RELAYMOVE, PROC_REF(block_buckle_message)) - RegisterSignal(parent, COMSIG_BIBLE_SMACKED, PROC_REF(on_bible_smacked)) + attempting_awakening = FALSE + if(!allow_renaming) + return // Now that all of the important things are in place for our spirit, it's time for them to choose their name. var/valid_input_name = custom_name(awakener) if(valid_input_name) bound_spirit.fully_replace_character_name(null, "The spirit of [valid_input_name]") - attempting_awakening = FALSE +/datum/component/spirit_holding/proc/bind_the_soule(datum/mind/chosen_spirit, mob/awakener, name_override) + bound_spirit = new(parent) + chosen_spirit.transfer_to(bound_spirit) + bound_spirit.fully_replace_character_name(null, "The spirit of [name_override ? name_override : parent]") + bound_spirit.get_language_holder().omnitongue = TRUE //Grants omnitongue + + RegisterSignal(parent, COMSIG_ATOM_RELAYMOVE, PROC_REF(block_buckle_message)) + RegisterSignal(parent, COMSIG_BIBLE_SMACKED, PROC_REF(on_bible_smacked)) /** * custom_name : Simply sends a tgui input text box to the blade asking what name they want to be called, and retries it if the input is invalid. diff --git a/code/datums/components/style/style_meter.dm b/code/datums/components/style/style_meter.dm index c06fc35aca383..94263700dda21 100644 --- a/code/datums/components/style/style_meter.dm +++ b/code/datums/components/style/style_meter.dm @@ -93,10 +93,10 @@ /obj/item/style_meter/proc/on_click_alt(datum/source, mob/user) SIGNAL_HANDLER - if(!istype(loc, /obj/item/clothing/glasses)) + if(!istype(loc, /obj/item/clothing/glasses) || !user.can_perform_action(source)) return CLICK_ACTION_BLOCKING - clean_up() + clean_up(loc) forceMove(get_turf(src)) return CLICK_ACTION_SUCCESS diff --git a/code/datums/components/supermatter_crystal.dm b/code/datums/components/supermatter_crystal.dm index 9ff049e21fcbb..81a29b56c6d81 100644 --- a/code/datums/components/supermatter_crystal.dm +++ b/code/datums/components/supermatter_crystal.dm @@ -161,8 +161,8 @@ return if(is_type_in_typecache(item, sm_item_whitelist)) return FALSE - if(istype(item, /obj/item/clothing/mask/cigarette)) - var/obj/item/clothing/mask/cigarette/cig = item + if(istype(item, /obj/item/cigarette)) + var/obj/item/cigarette/cig = item var/clumsy = HAS_TRAIT(user, TRAIT_CLUMSY) if(clumsy) var/which_hand = BODY_ZONE_L_ARM diff --git a/code/datums/components/toggle_suit.dm b/code/datums/components/toggle_suit.dm index aee7522745e77..022fc37c07a26 100644 --- a/code/datums/components/toggle_suit.dm +++ b/code/datums/components/toggle_suit.dm @@ -36,24 +36,15 @@ * source - the atom being clicked on * user - the mob doing the click */ -/datum/component/toggle_icon/proc/on_click_alt(atom/source, mob/user) +/datum/component/toggle_icon/proc/on_click_alt(atom/source, mob/living/living_user) SIGNAL_HANDLER - if(!isliving(user)) + if(!isliving(living_user) || !living_user.can_perform_action(source)) return - var/mob/living/living_user = user - - if(!living_user.Adjacent(source)) - return - - if(living_user.incapacitated()) - source.balloon_alert(user, "you're incapacitated!") - return CLICK_ACTION_BLOCKING - if(living_user.usable_hands <= 0) - source.balloon_alert(user, "you don't have hands!") - return CLICK_ACTION_BLOCKING + source.balloon_alert(living_user, "you don't have hands!") + return do_icon_toggle(source, living_user) return CLICK_ACTION_SUCCESS diff --git a/code/datums/components/trapdoor.dm b/code/datums/components/trapdoor.dm index f76dcf35e705a..32b72c48853e5 100644 --- a/code/datums/components/trapdoor.dm +++ b/code/datums/components/trapdoor.dm @@ -349,8 +349,8 @@ . = ..() AddElement(/datum/element/openspace_item_click_handler) -/obj/item/trapdoor_kit/handle_openspace_click(turf/target, mob/user, click_parameters) - interact_with_atom(target, user, click_parameters) +/obj/item/trapdoor_kit/handle_openspace_click(turf/target, mob/user, list/modifiers) + interact_with_atom(target, user, modifiers) /obj/item/trapdoor_kit/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) var/turf/target_turf = get_turf(interacting_with) diff --git a/code/datums/diseases/_disease.dm b/code/datums/diseases/_disease.dm index 639637af1d7e9..9560820f2f048 100644 --- a/code/datums/diseases/_disease.dm +++ b/code/datums/diseases/_disease.dm @@ -171,9 +171,9 @@ if(SANITY_LEVEL_UNSTABLE) recovery_prob += 0 if(SANITY_LEVEL_CRAZY) - recovery_prob += -0.1 - if(SANITY_LEVEL_INSANE) recovery_prob += -0.2 + if(SANITY_LEVEL_INSANE) + recovery_prob += -0.4 if((HAS_TRAIT(affected_mob, TRAIT_NOHUNGER) || !(affected_mob.satiety < 0 || affected_mob.nutrition < NUTRITION_LEVEL_STARVING)) && HAS_TRAIT(affected_mob, TRAIT_KNOCKEDOUT)) //resting starved won't help, but resting helps var/turf/rest_turf = get_turf(affected_mob) diff --git a/code/datums/elements/cult_eyes.dm b/code/datums/elements/cult_eyes.dm index 3a46aa42c951a..3e685419836f7 100644 --- a/code/datums/elements/cult_eyes.dm +++ b/code/datums/elements/cult_eyes.dm @@ -1,4 +1,4 @@ -/** +/*** * # Cult eyes element * * Applies and removes the glowing cult eyes @@ -16,8 +16,7 @@ /** * Cult eye setter proc - * - * Changes the eye color, and adds the glowing eye trait to the mob. + * * Changes the eye color, and adds the glowing eye trait to the mob. */ /datum/element/cult_eyes/proc/set_eyes(mob/living/target) SIGNAL_HANDLER diff --git a/code/datums/elements/eyestab.dm b/code/datums/elements/eyestab.dm index 5686524d793bc..b8c0d78c4ae5c 100644 --- a/code/datums/elements/eyestab.dm +++ b/code/datums/elements/eyestab.dm @@ -94,8 +94,9 @@ eyes.set_organ_damage(eyes.low_threshold) // At over 10 damage, there is a 50% chance they drop all their items - if (prob(50)) - if (target.stat != DEAD && target.drop_all_held_items()) + if (prob(50) && target.stat != DEAD) + var/list/dropped = target.drop_all_held_items() + if(length(dropped)) to_chat(target, span_danger("You drop what you're holding and clutch at your eyes!")) target.adjust_eye_blur_up_to(20 SECONDS, EYESTAB_MAX_BLUR) target.Unconscious(2 SECONDS) diff --git a/code/datums/elements/leeching_walk.dm b/code/datums/elements/leeching_walk.dm new file mode 100644 index 0000000000000..c0afc52b24583 --- /dev/null +++ b/code/datums/elements/leeching_walk.dm @@ -0,0 +1,57 @@ +/// Buffs and heals the target while standing on rust. +/datum/element/leeching_walk + +/datum/element/leeching_walk/Attach(datum/target) + . = ..() + if (!isliving(target)) + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) + RegisterSignal(target, COMSIG_LIVING_LIFE, PROC_REF(on_life)) + +/datum/element/leeching_walk/Detach(datum/source) + . = ..() + UnregisterSignal(source, list(COMSIG_MOVABLE_MOVED, COMSIG_LIVING_LIFE)) + +/* + * Signal proc for [COMSIG_MOVABLE_MOVED]. + * + * Checks if we should have baton resistance on the new turf. + */ +/datum/element/leeching_walk/proc/on_move(mob/source, atom/old_loc, dir, forced, list/old_locs) + SIGNAL_HANDLER + + var/turf/mover_turf = get_turf(source) + if(HAS_TRAIT(mover_turf, TRAIT_RUSTY)) + ADD_TRAIT(source, TRAIT_BATON_RESISTANCE, type) + return + + REMOVE_TRAIT(source, TRAIT_BATON_RESISTANCE, type) + +/** + * Signal proc for [COMSIG_LIVING_LIFE]. + * + * Gradually heals the heretic ([source]) on rust, + * including baton knockdown and stamina damage. + */ +/datum/element/leeching_walk/proc/on_life(mob/living/source, seconds_per_tick, times_fired) + SIGNAL_HANDLER + + var/turf/our_turf = get_turf(source) + if(!HAS_TRAIT(our_turf, TRAIT_RUSTY)) + return + + // Heals all damage + Stamina + var/need_mob_update = FALSE + need_mob_update += source.adjustBruteLoss(-3, updating_health = FALSE) + need_mob_update += source.adjustFireLoss(-3, updating_health = FALSE) + need_mob_update += source.adjustToxLoss(-3, updating_health = FALSE, forced = TRUE) // Slimes are people to + need_mob_update += source.adjustOxyLoss(-1.5, updating_health = FALSE) + need_mob_update += source.adjustStaminaLoss(-10, updating_stamina = FALSE) + if(need_mob_update) + source.updatehealth() + // Reduces duration of stuns/etc + source.AdjustAllImmobility(-0.5 SECONDS) + // Heals blood loss + if(source.blood_volume < BLOOD_VOLUME_NORMAL) + source.blood_volume += 2.5 * seconds_per_tick diff --git a/code/datums/elements/muffles_speech.dm b/code/datums/elements/muffles_speech.dm new file mode 100644 index 0000000000000..bbf41e3c4deef --- /dev/null +++ b/code/datums/elements/muffles_speech.dm @@ -0,0 +1,48 @@ +/datum/element/muffles_speech + +/datum/element/muffles_speech/Attach(datum/target) + . = ..() + if(!isitem(target)) + return ELEMENT_INCOMPATIBLE + + RegisterSignal(target, COMSIG_ITEM_EQUIPPED, PROC_REF(equipped)) + RegisterSignal(target, COMSIG_ITEM_DROPPED, PROC_REF(dropped)) + +/datum/element/muffles_speech/Detach(datum/source) + . = ..() + UnregisterSignal(source, list(COMSIG_ITEM_EQUIPPED, COMSIG_ITEM_DROPPED)) + +/datum/element/muffles_speech/proc/equipped(obj/item/source, mob/user, slot) + SIGNAL_HANDLER + if(source.slot_flags & slot) + RegisterSignal(user, COMSIG_MOB_SAY, PROC_REF(muzzle_talk)) + RegisterSignal(user, COMSIG_MOB_PRE_EMOTED, PROC_REF(emote_override)) + +/datum/element/muffles_speech/proc/dropped(obj/item/source, mob/user) + SIGNAL_HANDLER + UnregisterSignal(user, list(COMSIG_MOB_PRE_EMOTED, COMSIG_MOB_SAY)) + +/datum/element/muffles_speech/proc/emote_override(mob/living/source, key, params, type_override, intentional, datum/emote/emote) + SIGNAL_HANDLER + if(!emote.hands_use_check && (emote.emote_type & EMOTE_AUDIBLE)) + source.audible_message("makes a [pick("strong ", "weak ", "")]noise.", audible_message_flags = EMOTE_MESSAGE|ALWAYS_SHOW_SELF_MESSAGE) + return COMPONENT_CANT_EMOTE + return NONE + +/datum/element/muffles_speech/proc/muzzle_talk(datum/source, list/speech_args) + SIGNAL_HANDLER + + var/spoken_message = speech_args[SPEECH_MESSAGE] + if(spoken_message) + var/list/words = splittext(spoken_message, " ") + var/yell_suffix = copytext(spoken_message, findtext(spoken_message, "!")) + spoken_message = "" + + for(var/ind = 1 to length(words)) + var/new_word = "" + for(var/i = 1 to length(words[ind]) + rand(-1,1)) + new_word += "m" + new_word += "f" + words[ind] = yell_suffix ? uppertext(new_word) : new_word + spoken_message = "[jointext(words, " ")][yell_suffix]" + speech_args[SPEECH_MESSAGE] = spoken_message diff --git a/code/datums/elements/openspace_item_click_handler.dm b/code/datums/elements/openspace_item_click_handler.dm index f34bd0f0bda1f..9059223fb0c35 100644 --- a/code/datums/elements/openspace_item_click_handler.dm +++ b/code/datums/elements/openspace_item_click_handler.dm @@ -8,22 +8,19 @@ . = ..() if(!isitem(target)) return ELEMENT_INCOMPATIBLE - RegisterSignal(target, COMSIG_ITEM_INTERACTING_WITH_ATOM, PROC_REF(divert_interaction)) + RegisterSignal(target, COMSIG_RANGED_ITEM_INTERACTING_WITH_ATOM, PROC_REF(divert_interaction)) /datum/element/openspace_item_click_handler/Detach(datum/source) - UnregisterSignal(source, COMSIG_ITEM_INTERACTING_WITH_ATOM) + UnregisterSignal(source, COMSIG_RANGED_ITEM_INTERACTING_WITH_ATOM) return ..() //Invokes the proctype with a turf above as target. -/datum/element/openspace_item_click_handler/proc/divert_interaction(obj/item/source, mob/user, atom/target, click_parameters) +/datum/element/openspace_item_click_handler/proc/divert_interaction(obj/item/source, mob/user, atom/target, list/modifiers) SIGNAL_HANDLER if((target.z == 0) || (user.z == 0) || target.z == user.z) return NONE - var/turf/checked_turf = get_turf(target) - while(!isnull(checked_turf)) - checked_turf = GET_TURF_ABOVE(checked_turf) - if(checked_turf?.z == user.z && user.CanReach(checked_turf, source)) - INVOKE_ASYNC(source, TYPE_PROC_REF(/obj/item, handle_openspace_click), checked_turf, user, click_parameters) - return ITEM_INTERACT_BLOCKING - + var/turf/target_turf = parse_caught_click_modifiers(modifiers, get_turf(user.client?.eye || user), user.client) + if(target_turf?.z == user.z && user.CanReach(target_turf, source)) + INVOKE_ASYNC(source, TYPE_PROC_REF(/obj/item, handle_openspace_click), target_turf, user, modifiers) + return ITEM_INTERACT_BLOCKING return NONE diff --git a/code/datums/elements/relay_attackers.dm b/code/datums/elements/relay_attackers.dm index 5f5bf7ed5893f..fd87cb3bc2c8e 100644 --- a/code/datums/elements/relay_attackers.dm +++ b/code/datums/elements/relay_attackers.dm @@ -85,7 +85,7 @@ SIGNAL_HANDLER relay_attacker(target, attacker, ATTACKER_DAMAGING_ATTACK) -/datum/element/relay_attackers/proc/on_attack_mech(atom/target, obj/vehicle/sealed/mecha/mecha_attacker, mob/living/pilot) +/datum/element/relay_attackers/proc/on_attack_mech(atom/target, obj/vehicle/sealed/mecha/mecha_attacker, mob/living/pilot, mecha_attack_cooldown) SIGNAL_HANDLER relay_attacker(target, mecha_attacker, ATTACKER_DAMAGING_ATTACK) diff --git a/code/datums/elements/wall_walker.dm b/code/datums/elements/wall_walker.dm index 92ac3318c1287..abea9db3af8da 100644 --- a/code/datums/elements/wall_walker.dm +++ b/code/datums/elements/wall_walker.dm @@ -4,16 +4,20 @@ argument_hash_start_idx = 2 /// What kind of walls can we pass through? var/wall_type + /// What trait on turfs allows us to pass through? Can be used as OR if wall_type is null, or AND if it's set. + var/or_trait /datum/element/wall_walker/Attach( datum/target, wall_type = /turf/closed/wall, + or_trait, ) . = ..() if (!isliving(target)) return ELEMENT_INCOMPATIBLE src.wall_type = wall_type + src.or_trait = or_trait RegisterSignal(target, COMSIG_LIVING_WALL_BUMP, PROC_REF(try_pass_wall)) RegisterSignal(target, COMSIG_LIVING_WALL_EXITED, PROC_REF(exit_wall)) @@ -23,7 +27,10 @@ /// If the wall is of the proper type, pass into it and keep hold on whatever you're pulling /datum/element/wall_walker/proc/try_pass_wall(mob/living/passing_mob, turf/closed/bumped_wall) - if(!istype(bumped_wall, wall_type)) + if(wall_type && !istype(bumped_wall, wall_type)) + return + + if(or_trait && !HAS_TRAIT(bumped_wall, or_trait)) return var/atom/movable/stored_pulling = passing_mob.pulling diff --git a/code/datums/emotes.dm b/code/datums/emotes.dm index 36d405450af15..7006d6d6daa71 100644 --- a/code/datums/emotes.dm +++ b/code/datums/emotes.dm @@ -38,8 +38,6 @@ var/emote_type = EMOTE_VISIBLE /// Checks if the mob can use its hands before performing the emote. var/hands_use_check = FALSE - /// Will only work if the emote is EMOTE_AUDIBLE. - var/muzzle_ignore = FALSE /// Types that are allowed to use that emote. var/list/mob_type_allowed_typecache = /mob /// Types that are NOT allowed to use that emote. @@ -90,7 +88,7 @@ /datum/emote/proc/run_emote(mob/user, params, type_override, intentional = FALSE) if(!can_run_emote(user, TRUE, intentional)) return FALSE - if(SEND_SIGNAL(user, COMSIG_MOB_PRE_EMOTED, key, params, type_override, intentional) & COMPONENT_CANT_EMOTE) + if(SEND_SIGNAL(user, COMSIG_MOB_PRE_EMOTED, key, params, type_override, intentional, src) & COMPONENT_CANT_EMOTE) return TRUE // We don't return FALSE because the error output would be incorrect, provide your own if necessary. var/msg = select_message_type(user, message, intentional) if(params && message_param) @@ -259,8 +257,6 @@ return . var/mob/living/living_user = user - if(!muzzle_ignore && user.is_muzzled() && emote_type & EMOTE_AUDIBLE) - return "makes a [pick("strong ", "weak ", "")]noise." if(HAS_MIND_TRAIT(user, TRAIT_MIMING) && message_mime) . = message_mime if(isalienadult(user) && message_alien) @@ -338,9 +334,7 @@ * Returns a bool about whether or not the user should play a sound when performing the emote. */ /datum/emote/proc/should_play_sound(mob/user, intentional = FALSE) - if(emote_type & EMOTE_AUDIBLE && !muzzle_ignore) - if(user.is_muzzled()) - return FALSE + if(emote_type & EMOTE_AUDIBLE && !hands_use_check) if(HAS_TRAIT(user, TRAIT_MUTE)) return FALSE if(ishuman(user)) diff --git a/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm b/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm index 69e78ec74b31e..a3866971aae5f 100644 --- a/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm +++ b/code/datums/greyscale/config_types/greyscale_configs/greyscale_items.dm @@ -255,7 +255,7 @@ /datum/greyscale_config/vape name = "Vape" - icon_file = 'icons/obj/clothing/masks.dmi' + icon_file = 'icons/obj/cigarettes.dmi' json_config = 'code/datums/greyscale/json_configs/vape.json' /datum/greyscale_config/vape/worn diff --git a/code/datums/id_trim/ruins.dm b/code/datums/id_trim/ruins.dm index de58590ba8a9f..36284e06b72c4 100644 --- a/code/datums/id_trim/ruins.dm +++ b/code/datums/id_trim/ruins.dm @@ -27,7 +27,7 @@ /// Trim for the oldstation ruin/Charlie station to access APCs and other equipment /datum/id_trim/away/old/equipment - access = list(ACCESS_AWAY_GENERAL, ACCESS_ENGINEERING, ACCESS_ENGINE_EQUIP) + access = list(ACCESS_AWAY_GENERAL, ACCESS_AWAY_ENGINEERING, ACCESS_ENGINEERING, ACCESS_ENGINE_EQUIP) assignment = "Engine Equipment Access" /// Trim for the oldstation ruin/Charlie station to access robots, and downloading of paper publishing software for experiments diff --git a/code/datums/looping_sounds/machinery_sounds.dm b/code/datums/looping_sounds/machinery_sounds.dm index 2ed95232df19a..2d5e3564e6d09 100644 --- a/code/datums/looping_sounds/machinery_sounds.dm +++ b/code/datums/looping_sounds/machinery_sounds.dm @@ -79,6 +79,15 @@ end_sound = 'sound/machines/microwave/microwave-end.ogg' volume = 90 +/datum/looping_sound/lathe_print + mid_sounds = list('sound/machines/lathe/lathe_print.ogg' = 1) + mid_length = 20 + volume = 50 + vary = TRUE + ignore_walls = FALSE + falloff_distance = 1 + mid_length_vary = 10 + /datum/looping_sound/jackpot mid_length = 11 mid_sounds = list('sound/machines/roulettejackpot.ogg' = 1) diff --git a/code/datums/martial/boxing.dm b/code/datums/martial/boxing.dm index 8e20dfbef9cb9..4e6400163a34b 100644 --- a/code/datums/martial/boxing.dm +++ b/code/datums/martial/boxing.dm @@ -93,7 +93,7 @@ attacker.do_attack_animation(defender, ATTACK_EFFECT_PUNCH) - //Determines damage dealt on a punch. Against a boxing defender, we apply our skill bonus. + // Determines damage dealt on a punch. Against a boxing defender, we apply our skill bonus. var/damage = rand(lower_force, upper_force) if(honor_check(defender)) @@ -135,6 +135,9 @@ to_chat(attacker, span_danger("You [current_atk_verbed] [defender]!")) + // Determines the total amount of experience earned per punch + var/experience_earned = round(damage * 0.25, 0.1) + defender.apply_damage(damage, damage_type, affecting, armor_block) log_combat(attacker, defender, "punched (boxing) ") @@ -181,9 +184,11 @@ to_chat(attacker, span_danger("You stagger [defender] with a haymaker!")) log_combat(attacker, defender, "staggered (boxing) ") + experience_earned *= 2 //Double our experience gain on a crit hit + playsound(defender, 'sound/effects/coin2.ogg', 40, TRUE) new /obj/effect/temp_visual/crit(get_turf(defender)) - skill_experience_adjustment(attacker, (damage/lower_force)) //double experience for a successful crit + skill_experience_adjustment(attacker, experience_earned) //double experience for a successful crit return TRUE @@ -203,7 +208,7 @@ var/gravity_modifier = boxer.has_gravity() > STANDARD_GRAVITY ? 1 : 0.5 //You gotta sleep before you get any experience! - boxer.mind?.adjust_experience(/datum/skill/athletics, experience_value * gravity_modifier) + boxer.mind?.adjust_experience(/datum/skill/athletics, round(experience_value * gravity_modifier, 0.1)) boxer.apply_status_effect(/datum/status_effect/exercised) /// Handles our blocking signals, similar to hit_reaction() on items. Only blocks while the boxer is in throw mode. @@ -227,14 +232,22 @@ var/block_text = pick("block", "evade") - if(!prob(block_chance)) - return NONE - var/mob/living/attacker = GET_ASSAILANT(hitby) if(!honor_check(attacker)) return NONE + var/experience_earned = round(damage * 0.25, 0.1) + + if(!damage) + experience_earned = 2 + + // WE reward experience for getting punched while boxing + skill_experience_adjustment(boxer, experience_earned) //just getting hit a bunch doesn't net you much experience however + + if(!prob(block_chance)) + return NONE + if(istype(attacker) && boxer.Adjacent(attacker)) attacker.apply_damage(10, STAMINA) boxer.apply_damage(5, STAMINA) @@ -246,8 +259,6 @@ if(block_text == "evade") playsound(boxer.loc, active_arm.unarmed_miss_sound, 25, TRUE, -1) - skill_experience_adjustment(boxer, 1) //just getting hit a bunch doesn't net you much experience - return SUCCESSFUL_BLOCK /datum/martial_art/boxing/can_use(mob/living/martial_artist) diff --git a/code/datums/mutations/_combined.dm b/code/datums/mutations/_combined.dm index cce25beb2161d..534d94550c41b 100644 --- a/code/datums/mutations/_combined.dm +++ b/code/datums/mutations/_combined.dm @@ -25,6 +25,18 @@ required = "/datum/mutation/human/insulated; /datum/mutation/human/radioactive" result = /datum/mutation/human/shock +/datum/generecipe/cindikinesis + required = "/datum/mutation/human/geladikinesis; /datum/mutation/human/fire_breath" + result = /datum/mutation/human/geladikinesis/ash + +/datum/generecipe/pyrokinesis + required = "/datum/mutation/human/cryokinesis; /datum/mutation/human/fire_breath" + result = /datum/mutation/human/cryokinesis/pyrokinesis + +/datum/generecipe/thermal_adaptation + required = "/datum/mutation/human/adaptation/cold; /datum/mutation/human/adaptation/heat" + result = /datum/mutation/human/adaptation/thermal + /datum/generecipe/antiglow required = "/datum/mutation/human/glow; /datum/mutation/human/void" result = /datum/mutation/human/glow/anti @@ -36,3 +48,7 @@ /datum/generecipe/martyrdom required = "/datum/mutation/human/strong; /datum/mutation/human/stimmed" result = /datum/mutation/human/martyrdom + +/datum/generecipe/heckacious + required = "/datum/mutation/human/wacky; /datum/mutation/human/trichromatic" + result = /datum/mutation/human/heckacious diff --git a/code/datums/mutations/_mutations.dm b/code/datums/mutations/_mutations.dm index 95f59ade38c39..ba3c20a0cfe74 100644 --- a/code/datums/mutations/_mutations.dm +++ b/code/datums/mutations/_mutations.dm @@ -96,6 +96,8 @@ var/energy_coeff = -1 /// List of strings of valid chromosomes this mutation can accept. var/list/valid_chrom_list = list() + /// List of traits that are added or removed by the mutation with GENETIC_TRAIT source. + var/list/mutation_traits /datum/mutation/human/New(class = MUT_OTHER, timer, datum/mutation/human/copymut) . = ..() @@ -141,6 +143,8 @@ owner.overlays_standing[layer_used] = mut_overlay owner.apply_overlay(layer_used) grant_power() //we do checks here so nothing about hulk getting magic + if(mutation_traits) + owner.add_traits(mutation_traits, GENETIC_MUTATION) if(!modified) addtimer(CALLBACK(src, PROC_REF(modify), 0.5 SECONDS)) //gonna want children calling ..() to run first @@ -165,6 +169,9 @@ owner.overlays_standing[layer_used] = mut_overlay owner.apply_overlay(layer_used) + if(mutation_traits) + owner.remove_traits(mutation_traits, GENETIC_MUTATION) + /mob/living/carbon/proc/update_mutations_overlay() return diff --git a/code/datums/mutations/active.dm b/code/datums/mutations/active.dm new file mode 100644 index 0000000000000..42c11e9c6f804 --- /dev/null +++ b/code/datums/mutations/active.dm @@ -0,0 +1,49 @@ +/datum/mutation/human/adrenaline_rush + name = "Adrenaline Rush" + desc = "Allows the host to trigger their body's adrenaline response at will." + quality = POSITIVE + text_gain_indication = span_notice("You feel pumped up!") + instability = POSITIVE_INSTABILITY_MODERATE + power_path = /datum/action/cooldown/adrenaline + + energy_coeff = 1 + synchronizer_coeff = 1 + power_coeff = 1 + +/datum/mutation/human/adrenaline_rush/modify() + . = ..() + var/datum/action/cooldown/adrenaline/to_modify = . + if(!istype(to_modify)) // null or invalid + return + + to_modify.adrenaline_amount = 10 * GET_MUTATION_POWER(src) + to_modify.comedown_amount = 7 / GET_MUTATION_SYNCHRONIZER(src) + +/datum/action/cooldown/adrenaline + name = "Adrenaline!" + desc = "Energize yourself, pushing your body to its limits!" + button_icon = 'icons/mob/actions/actions_genetic.dmi' + button_icon_state = "adrenaline" + + cooldown_time = 2 MINUTES + check_flags = AB_CHECK_CONSCIOUS + /// How many units of each positive reagent injected during adrenaline. + var/adrenaline_amount = 10 + /// How many units of each negative reagent injected after comedown. + var/comedown_amount = 7 + + +/datum/action/cooldown/adrenaline/Activate(mob/living/carbon/cast_on) + . = ..() + to_chat(cast_on, span_userdanger("You feel pumped up! It's time to GO!")) + cast_on.reagents.add_reagent(/datum/reagent/drug/pumpup, adrenaline_amount) + cast_on.reagents.add_reagent(/datum/reagent/medicine/synaptizine, adrenaline_amount) + cast_on.reagents.add_reagent(/datum/reagent/determination, adrenaline_amount) + addtimer(CALLBACK(src, PROC_REF(get_tired), cast_on), 25 SECONDS, TIMER_UNIQUE|TIMER_OVERRIDE) + return TRUE + +/datum/action/cooldown/adrenaline/proc/get_tired(mob/living/carbon/cast_on) + to_chat(cast_on, span_danger("Your adrenaline rush makes way for a bout of nausea and a deep feeling of exhaustion in your muscles.")) + cast_on.reagents.add_reagent(/datum/reagent/peaceborg/tire, comedown_amount) + cast_on.reagents.add_reagent(/datum/reagent/peaceborg/confuse, comedown_amount) + cast_on.set_dizzy_if_lower(10 SECONDS) diff --git a/code/datums/mutations/adaptation.dm b/code/datums/mutations/adaptation.dm index 2cac87dd4b4c4..7e332984cf9b9 100644 --- a/code/datums/mutations/adaptation.dm +++ b/code/datums/mutations/adaptation.dm @@ -1,53 +1,58 @@ -/datum/mutation/human/temperature_adaptation - name = "Temperature Adaptation" +/datum/mutation/human/adaptation + name = "Adaptation" desc = "A strange mutation that renders the host immune to damage from extreme temperatures. Does not protect from vacuums." quality = POSITIVE difficulty = 16 - text_gain_indication = "Your body feels warm!" - instability = POSITIVE_INSTABILITY_MAJOR - conflicts = list(/datum/mutation/human/pressure_adaptation) - -/datum/mutation/human/temperature_adaptation/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) + text_gain_indication = span_notice("Your body feels normal!") + instability = NEGATIVE_STABILITY_MAJOR + locked = TRUE // fake parent + conflicts = list(/datum/mutation/human/adaptation) + mutation_traits = list(TRAIT_WADDLING) + /// Icon used for the adaptation overlay + var/adapt_icon = "meow" + +/datum/mutation/human/adaptation/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) ..() + conflicts = typesof(src) if(!(type in visual_indicators)) - visual_indicators[type] = list(mutable_appearance('icons/mob/effects/genetics.dmi', "fire", -MUTATIONS_LAYER)) + visual_indicators[type] = list(mutable_appearance('icons/mob/effects/genetics.dmi', adapt_icon, -MUTATIONS_LAYER)) -/datum/mutation/human/temperature_adaptation/get_visual_indicator() +/datum/mutation/human/adaptation/get_visual_indicator() return visual_indicators[type][1] -/datum/mutation/human/temperature_adaptation/on_acquiring(mob/living/carbon/human/owner) - if(..()) - return - owner.add_traits(list(TRAIT_RESISTCOLD, TRAIT_RESISTHEAT), GENETIC_MUTATION) - -/datum/mutation/human/temperature_adaptation/on_losing(mob/living/carbon/human/owner) - if(..()) - return - owner.remove_traits(list(TRAIT_RESISTCOLD, TRAIT_RESISTHEAT), GENETIC_MUTATION) +/datum/mutation/human/adaptation/cold + name = "Cold Adaptation" + desc = "A strange mutation that renders the host immune to damage from low temperature environments. It also prevents the host from slipping on ice." + text_gain_indication = span_notice("Your body feels refreshingly cold.") + instability = POSITIVE_INSTABILITY_MODERATE + mutation_traits = list(TRAIT_RESISTCOLD, TRAIT_NO_SLIP_ICE) + adapt_icon = "cold" + locked = FALSE + +/datum/mutation/human/adaptation/heat + name = "Heat Adaptation" + desc = "A strange mutation that renders the host immune to damage from high temperature, including being set alight, though the flame itself still burns clothing. It also seems to make the host resist ash storms." + text_gain_indication = span_notice("Your body feels invigoratingly warm.") + instability = POSITIVE_INSTABILITY_MODERATE + mutation_traits = list(TRAIT_RESISTHEAT, TRAIT_ASHSTORM_IMMUNE) + adapt_icon = "fire" + locked = FALSE + +/datum/mutation/human/adaptation/thermal + name = "Thermal Adaptation" + desc = "A strange mutation that renders the host immune to damage from both low and high temperature environments. Does not protect from high or low pressure environments." + difficulty = 32 + text_gain_indication = span_notice("Your body feels pleasantly room temperature.") + instability = POSITIVE_INSTABILITY_MAJOR + mutation_traits = list(TRAIT_RESISTHEAT, TRAIT_RESISTCOLD) + adapt_icon = "thermal" + locked = TRUE // recipe -/datum/mutation/human/pressure_adaptation +/datum/mutation/human/adaptation/pressure name = "Pressure Adaptation" desc = "A strange mutation that renders the host immune to damage from both low and high pressure environments. Does not protect from temperature, including the cold of space." - quality = POSITIVE - difficulty = 16 - text_gain_indication = "Your body feels numb!" - instability = POSITIVE_INSTABILITY_MAJOR - conflicts = list(/datum/mutation/human/temperature_adaptation) - -/datum/mutation/human/pressure_adaptation/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) - ..() - if(!(type in visual_indicators)) - visual_indicators[type] = list(mutable_appearance('icons/mob/effects/genetics.dmi', "pressure", -MUTATIONS_LAYER)) - -/datum/mutation/human/pressure_adaptation/get_visual_indicator() - return visual_indicators[type][1] - -/datum/mutation/human/pressure_adaptation/on_acquiring(mob/living/carbon/human/owner) - if(..()) - return - owner.add_traits(list(TRAIT_RESISTLOWPRESSURE, TRAIT_RESISTHIGHPRESSURE), GENETIC_MUTATION) - -/datum/mutation/human/pressure_adaptation/on_losing(mob/living/carbon/human/owner) - if(..()) - return - owner.remove_traits(list(TRAIT_RESISTLOWPRESSURE, TRAIT_RESISTHIGHPRESSURE), GENETIC_MUTATION) + text_gain_indication = span_notice("Your body feels impressively pressurized.") + instability = POSITIVE_INSTABILITY_MODERATE + adapt_icon = "pressure" + mutation_traits = list(TRAIT_RESISTLOWPRESSURE, TRAIT_RESISTHIGHPRESSURE) + locked = FALSE diff --git a/code/datums/mutations/antenna.dm b/code/datums/mutations/antenna.dm index f33b90fd7a911..5684b20c454f7 100644 --- a/code/datums/mutations/antenna.dm +++ b/code/datums/mutations/antenna.dm @@ -2,8 +2,8 @@ name = "Antenna" desc = "The affected person sprouts an antenna. This is known to allow them to access common radio channels passively." quality = POSITIVE - text_gain_indication = "You feel an antenna sprout from your forehead." - text_lose_indication = "Your antenna shrinks back down." + text_gain_indication = span_notice("You feel an antenna sprout from your forehead.") + text_lose_indication = span_notice("Your antenna shrinks back down.") instability = POSITIVE_INSTABILITY_MINOR difficulty = 8 var/datum/weakref/radio_weakref @@ -44,8 +44,8 @@ name = "Mind Reader" desc = "The affected person can look into the recent memories of others." quality = POSITIVE - text_gain_indication = "You hear distant voices at the corners of your mind." - text_lose_indication = "The distant voices fade." + text_gain_indication = span_notice("You hear distant voices at the corners of your mind.") + text_lose_indication = span_notice("The distant voices fade.") power_path = /datum/action/cooldown/spell/pointed/mindread instability = POSITIVE_INSTABILITY_MINOR difficulty = 8 diff --git a/code/datums/mutations/body.dm b/code/datums/mutations/body.dm index 7ddeea502d947..f2db642261633 100644 --- a/code/datums/mutations/body.dm +++ b/code/datums/mutations/body.dm @@ -6,7 +6,7 @@ desc = "A genetic defect that sporadically causes seizures." instability = NEGATIVE_STABILITY_MODERATE quality = NEGATIVE - text_gain_indication = "You get a headache." + text_gain_indication = span_danger("You get a headache.") synchronizer_coeff = 1 power_coeff = 1 @@ -53,7 +53,7 @@ desc = "Strange mutation that causes the holder to randomly mutate." instability = NEGATIVE_STABILITY_MAJOR quality = NEGATIVE - text_gain_indication = "You feel strange." + text_gain_indication = span_danger("You feel strange.") locked = TRUE /datum/mutation/human/bad_dna/on_acquiring(mob/living/carbon/human/owner) @@ -83,7 +83,7 @@ desc = "A chronic cough." instability = NEGATIVE_STABILITY_MODERATE quality = MINOR_NEGATIVE - text_gain_indication = "You start coughing." + text_gain_indication = span_danger("You start coughing.") synchronizer_coeff = 1 power_coeff = 1 @@ -101,8 +101,8 @@ desc = "Subject is easily terrified, and may suffer from hallucinations." instability = NEGATIVE_STABILITY_MODERATE quality = NEGATIVE - text_gain_indication = "You feel screams echo through your mind..." - text_lose_indication = "The screaming in your mind fades." + text_gain_indication = span_danger("You feel screams echo through your mind...") + text_lose_indication = span_notice("The screaming in your mind fades.") /datum/mutation/human/paranoia/on_life(seconds_per_tick, times_fired) if(SPT_PROB(2.5, seconds_per_tick) && owner.stat == CONSCIOUS) @@ -198,7 +198,7 @@ desc = "A genome that inhibits certain brain functions, causing the holder to appear clumsy. Honk!" instability = NEGATIVE_STABILITY_MAJOR quality = MINOR_NEGATIVE - text_gain_indication = "You feel lightheaded." + text_gain_indication = span_danger("You feel lightheaded.") /datum/mutation/human/clumsy/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -217,7 +217,7 @@ desc = "A chronic twitch that forces the user to scream bad words." //definitely needs rewriting quality = NEGATIVE instability = 0 - text_gain_indication = "You twitch." + text_gain_indication = span_danger("You twitch.") synchronizer_coeff = 1 /datum/mutation/human/tourettes/on_life(seconds_per_tick, times_fired) @@ -241,7 +241,7 @@ desc = "The holder of this genome is completely deaf." instability = NEGATIVE_STABILITY_MAJOR quality = NEGATIVE - text_gain_indication = "You can't seem to hear anything." + text_gain_indication = span_danger("You can't seem to hear anything.") /datum/mutation/human/deaf/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -286,7 +286,7 @@ name = "Glowy" desc = "You permanently emit a light with a random color and intensity." quality = POSITIVE - text_gain_indication = "Your skin begins to glow softly." + text_gain_indication = span_notice("Your skin begins to glow softly.") instability = POSITIVE_INSTABILITY_MINI power_coeff = 1 conflicts = list(/datum/mutation/human/glow/anti) @@ -323,7 +323,7 @@ /datum/mutation/human/glow/anti name = "Anti-Glow" desc = "Your skin seems to attract and absorb nearby light creating 'darkness' around you." - text_gain_indication = "The light around you seems to disappear." + text_gain_indication = span_notice("The light around you seems to disappear.") conflicts = list(/datum/mutation/human/glow) instability = POSITIVE_INSTABILITY_MINOR locked = TRUE @@ -336,7 +336,7 @@ name = "Strength" desc = "The user's muscles slightly expand. Commonly seen in top-ranking boxers." quality = POSITIVE - text_gain_indication = "You feel strong." + text_gain_indication = span_notice("You feel strong.") instability = POSITIVE_INSTABILITY_MINI difficulty = 16 @@ -358,7 +358,7 @@ desc = "The user's chemical balance is more robust. This mutation is known to slightly improve workout efficiency." quality = POSITIVE instability = POSITIVE_INSTABILITY_MINI - text_gain_indication = "You feel stimmed." + text_gain_indication = span_notice("You feel stimmed.") difficulty = 16 /datum/mutation/human/stimmed/on_acquiring(mob/living/carbon/human/owner) @@ -377,8 +377,8 @@ name = "Insulated" desc = "The affected person does not conduct electricity." quality = POSITIVE - text_gain_indication = "Your fingertips go numb." - text_lose_indication = "Your fingertips regain feeling." + text_gain_indication = span_notice("Your fingertips go numb.") + text_lose_indication = span_notice("Your fingertips regain feeling.") difficulty = 16 instability = POSITIVE_INSTABILITY_MODERATE @@ -396,8 +396,9 @@ name = "Fiery Sweat" desc = "The user's skin will randomly combust, but is generally a lot more resilient to burning." quality = NEGATIVE - text_gain_indication = "You feel hot." - text_lose_indication = "You feel a lot cooler." + text_gain_indication = span_warning("You feel hot.") + text_lose_indication = span_notice("You feel a lot cooler.") + conflicts = list(/datum/mutation/human/adaptation/heat) difficulty = 14 synchronizer_coeff = 1 power_coeff = 1 @@ -421,8 +422,8 @@ name = "Spatial Instability" desc = "The victim of the mutation has a very weak link to spatial reality, and may be displaced. Often causes extreme nausea." quality = NEGATIVE - text_gain_indication = "The space around you twists sickeningly." - text_lose_indication = "The space around you settles back to normal." + text_gain_indication = span_warning("The space around you twists sickeningly.") + text_lose_indication = span_notice("The space around you settles back to normal.") difficulty = 18//high so it's hard to unlock and abuse instability = NEGATIVE_STABILITY_MODERATE synchronizer_coeff = 1 @@ -452,8 +453,8 @@ desc = "Subject has acidic chemicals building up underneath the skin. This is often lethal." instability = NEGATIVE_STABILITY_MAJOR quality = NEGATIVE - text_gain_indication = "A horrible burning sensation envelops you as your flesh turns to acid!" - text_lose_indication = "A feeling of relief fills you as your flesh goes back to normal." + text_gain_indication = span_userdanger("A horrible burning sensation envelops you as your flesh turns to acid!") + text_lose_indication = span_notice("A feeling of relief fills you as your flesh goes back to normal.") difficulty = 18//high so it's hard to unlock and use on others /// The cooldown for the warning message COOLDOWN_DECLARE(msgcooldown) @@ -473,8 +474,8 @@ desc = "Subject suffers from muscle spasms." instability = NEGATIVE_STABILITY_MODERATE quality = NEGATIVE - text_gain_indication = "You flinch." - text_lose_indication = "Your flinching subsides." + text_gain_indication = span_warning("You flinch.") + text_lose_indication = span_notice("Your flinching subsides.") difficulty = 16 /datum/mutation/human/spastic/on_acquiring() @@ -492,8 +493,8 @@ desc = "A mutation that replaces the right foot with another left foot. Symptoms include kissing the floor when taking a step." instability = NEGATIVE_STABILITY_MODERATE quality = NEGATIVE - text_gain_indication = "Your right foot feels... left." - text_lose_indication = "Your right foot feels alright." + text_gain_indication = span_warning("Your right foot feels... left.") + text_lose_indication = span_notice("Your right foot feels alright.") difficulty = 16 /datum/mutation/human/extrastun/on_acquiring() @@ -525,8 +526,8 @@ instability = NEGATIVE_STABILITY_MAJOR // free stability >:) locked = TRUE quality = POSITIVE //not that cloning will be an option a lot but generally lets keep this around i guess? - text_gain_indication = "You get an intense feeling of heartburn." - text_lose_indication = "Your internal organs feel at ease." + text_gain_indication = span_warning("You get an intense feeling of heartburn.") + text_lose_indication = span_notice("Your internal organs feel at ease.") /datum/mutation/human/martyrdom/on_acquiring() . = ..() @@ -573,7 +574,7 @@ instability = NEGATIVE_STABILITY_MAJOR difficulty = 12 //pretty good for traitors quality = NEGATIVE //holy shit no eyes or tongue or ears - text_gain_indication = "Something feels off." + text_gain_indication = span_warning("Something feels off.") /datum/mutation/human/headless/on_acquiring() . = ..() diff --git a/code/datums/mutations/chameleon.dm b/code/datums/mutations/chameleon.dm index e3ce8826a9438..6a42c69cb51d8 100644 --- a/code/datums/mutations/chameleon.dm +++ b/code/datums/mutations/chameleon.dm @@ -4,8 +4,8 @@ desc = "A genome that causes the holder's skin to become transparent over time." quality = POSITIVE difficulty = 16 - text_gain_indication = "You feel one with your surroundings." - text_lose_indication = "You feel oddly exposed." + text_gain_indication = span_notice("You feel one with your surroundings.") + text_lose_indication = span_notice("You feel oddly exposed.") instability = POSITIVE_INSTABILITY_MAJOR power_coeff = 1 diff --git a/code/datums/mutations/cold.dm b/code/datums/mutations/cold.dm index 32e162bf7d3a0..fd060bc8ca5e0 100644 --- a/code/datums/mutations/cold.dm +++ b/code/datums/mutations/cold.dm @@ -2,7 +2,7 @@ name = "Geladikinesis" desc = "Allows the user to concentrate moisture and sub-zero forces into snow." quality = POSITIVE - text_gain_indication = "Your hand feels cold." + text_gain_indication = span_notice("Your hand feels cold.") instability = POSITIVE_INSTABILITY_MINOR difficulty = 10 synchronizer_coeff = 1 @@ -24,7 +24,7 @@ name = "Cryokinesis" desc = "Draws negative energy from the sub-zero void to freeze surrounding temperatures at subject's will." quality = POSITIVE //upsides and downsides - text_gain_indication = "Your hand feels cold." + text_gain_indication = span_notice("Your hand feels cold.") instability = POSITIVE_INSTABILITY_MODERATE difficulty = 12 synchronizer_coeff = 1 diff --git a/code/datums/mutations/fire_breath.dm b/code/datums/mutations/fire_breath.dm index 5836997729456..56915ff0130ea 100644 --- a/code/datums/mutations/fire_breath.dm +++ b/code/datums/mutations/fire_breath.dm @@ -4,8 +4,8 @@ quality = POSITIVE difficulty = 12 locked = TRUE - text_gain_indication = "Your throat is burning!" - text_lose_indication = "Your throat is cooling down." + text_gain_indication = span_notice("Your throat is burning!") + text_lose_indication = span_notice("Your throat is cooling down.") power_path = /datum/action/cooldown/spell/cone/staggered/fire_breath instability = POSITIVE_INSTABILITY_MODERATE energy_coeff = 1 diff --git a/code/datums/mutations/hot.dm b/code/datums/mutations/hot.dm new file mode 100644 index 0000000000000..574bc95d1e404 --- /dev/null +++ b/code/datums/mutations/hot.dm @@ -0,0 +1,31 @@ +/datum/mutation/human/geladikinesis/ash + name = "Cindikinesis" + desc = "Allows the user to concentrate nearby heat into a pile of ash. Wow. Very interesting." + text_gain_indication = span_notice("Your hand feels warm.") + locked = TRUE + power_path = /datum/action/cooldown/spell/conjure_item/snow/ash + +/datum/action/cooldown/spell/conjure_item/snow/ash + name = "Create Ash" + desc = "Concentrates pyrokinetic forces to create ash, useful for basically nothing." + button_icon_state = "ash" + + item_type = /obj/effect/decal/cleanable/ash + +/datum/mutation/human/cryokinesis/pyrokinesis + name = "Pyrokinesis" + desc = "Draws positive energy from the surroundings to heat surrounding temperatures at subject's will." + text_gain_indication = span_notice("Your hand feels hot!") + locked = TRUE + power_path = /datum/action/cooldown/spell/pointed/projectile/cryo/pyro + +/datum/action/cooldown/spell/pointed/projectile/cryo/pyro + name = "Pyrobeam" + desc = "This power fires a heated bolt at a target." + button_icon_state = "firebeam" + base_icon_state = "firebeam" + cooldown_time = 30 SECONDS + + active_msg = "You focus your pyrokinesis!" + deactive_msg = "You cool down." + projectile_type = /obj/projectile/temp/pyro diff --git a/code/datums/mutations/hulk.dm b/code/datums/mutations/hulk.dm index 3fdc5de52ce2b..7a09687ea40bc 100644 --- a/code/datums/mutations/hulk.dm +++ b/code/datums/mutations/hulk.dm @@ -5,14 +5,14 @@ quality = POSITIVE locked = TRUE difficulty = 16 - text_gain_indication = "Your muscles hurt!" + text_gain_indication = span_notice("Your muscles hurt!") species_allowed = list(SPECIES_HUMAN) //no skeleton/lizard hulk health_req = 25 instability = POSITIVE_INSTABILITY_MAJOR var/scream_delay = 50 var/last_scream = 0 /// List of traits to add/remove when someone gets this mutation. - var/list/mutation_traits = list( + mutation_traits = list( TRAIT_CHUNKYFINGERS, TRAIT_HULK, TRAIT_IGNOREDAMAGESLOWDOWN, @@ -24,7 +24,6 @@ /datum/mutation/human/hulk/on_acquiring(mob/living/carbon/human/owner) if(..()) return - owner.add_traits(mutation_traits, GENETIC_MUTATION) for(var/obj/item/bodypart/part as anything in owner.bodyparts) part.variable_color = COLOR_DARK_LIME owner.update_body_parts() @@ -87,7 +86,6 @@ /datum/mutation/human/hulk/on_losing(mob/living/carbon/human/owner) if(..()) return - owner.remove_traits(mutation_traits, GENETIC_MUTATION) for(var/obj/item/bodypart/part as anything in owner.bodyparts) part.variable_color = null owner.update_body_parts() diff --git a/code/datums/mutations/olfaction.dm b/code/datums/mutations/olfaction.dm index f487702a3c6c8..b3273c8dd9577 100644 --- a/code/datums/mutations/olfaction.dm +++ b/code/datums/mutations/olfaction.dm @@ -3,8 +3,8 @@ desc = "Your sense of smell is comparable to that of a canine." quality = POSITIVE difficulty = 12 - text_gain_indication = "Smells begin to make more sense..." - text_lose_indication = "Your sense of smell goes back to normal." + text_gain_indication = span_notice("Smells begin to make more sense...") + text_lose_indication = span_notice("Your sense of smell goes back to normal.") power_path = /datum/action/cooldown/spell/olfaction instability = POSITIVE_INSTABILITY_MODERATE synchronizer_coeff = 1 diff --git a/code/datums/mutations/passive.dm b/code/datums/mutations/passive.dm index 14135fe426ea4..46859db686968 100644 --- a/code/datums/mutations/passive.dm +++ b/code/datums/mutations/passive.dm @@ -17,8 +17,8 @@ desc = "Causes the subject to feel just a little bit smarter. Most effective in specimens with low levels of intelligence." quality = POSITIVE instability = POSITIVE_INSTABILITY_MODERATE // literally makes you on par with station equipment - text_gain_indication = "You feel a little bit smarter." - text_lose_indication = "Your mind feels a little bit foggy." + text_gain_indication = span_danger("You feel a little bit smarter.") + text_lose_indication = span_danger("Your mind feels a little bit foggy.") /datum/mutation/human/clever/on_acquiring(mob/living/carbon/human/owner) if(..()) diff --git a/code/datums/mutations/radioactive.dm b/code/datums/mutations/radioactive.dm index 8700e405662a6..b2a17b5341275 100644 --- a/code/datums/mutations/radioactive.dm +++ b/code/datums/mutations/radioactive.dm @@ -2,7 +2,7 @@ name = "Radioactivity" desc = "A volatile mutation that causes the host to sent out deadly beta radiation. This affects both the hosts and their surroundings." quality = NEGATIVE - text_gain_indication = "You can feel it in your bones!" + text_gain_indication = span_warning("You can feel it in your bones!") instability = NEGATIVE_STABILITY_MAJOR difficulty = 8 power_coeff = 1 diff --git a/code/datums/mutations/reach.dm b/code/datums/mutations/reach.dm new file mode 100644 index 0000000000000..5186a1be0627a --- /dev/null +++ b/code/datums/mutations/reach.dm @@ -0,0 +1,112 @@ +///Telekinesis lets you interact with objects from range, and gives you a light blue halo around your head. +/datum/mutation/human/telekinesis + name = "Telekinesis" + desc = "A strange mutation that allows the holder to interact with objects through thought." + quality = POSITIVE + difficulty = 18 + text_gain_indication = span_notice("You feel smarter!") + limb_req = BODY_ZONE_HEAD + instability = POSITIVE_INSTABILITY_MAJOR + ///Typecache of atoms that TK shouldn't interact with + var/static/list/blacklisted_atoms = typecacheof(list(/atom/movable/screen)) + +/datum/mutation/human/telekinesis/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) + ..() + if(!(type in visual_indicators)) + visual_indicators[type] = list(mutable_appearance('icons/mob/effects/genetics.dmi', "telekinesishead", -MUTATIONS_LAYER)) + +/datum/mutation/human/telekinesis/on_acquiring(mob/living/carbon/human/homan) + . = ..() + if(.) + return + RegisterSignal(homan, COMSIG_MOB_ATTACK_RANGED, PROC_REF(on_ranged_attack)) + +/datum/mutation/human/telekinesis/on_losing(mob/living/carbon/human/homan) + . = ..() + if(.) + return + UnregisterSignal(homan, COMSIG_MOB_ATTACK_RANGED) + +/datum/mutation/human/telekinesis/get_visual_indicator() + return visual_indicators[type][1] + +///Triggers on COMSIG_MOB_ATTACK_RANGED. Usually handles stuff like picking up items at range. +/datum/mutation/human/telekinesis/proc/on_ranged_attack(mob/source, atom/target) + SIGNAL_HANDLER + if(is_type_in_typecache(target, blacklisted_atoms)) + return + if(!tkMaxRangeCheck(source, target) || source.z != target.z) + return + return target.attack_tk(source) + +/datum/mutation/human/elastic_arms + name = "Elastic Arms" + desc = "Subject's arms have become elastic, allowing them to stretch up to a meter away. However, this elasticity makes it difficult to wear gloves, handle complex tasks, or grab large objects." + quality = POSITIVE + instability = POSITIVE_INSTABILITY_MAJOR + text_gain_indication = span_warning("You feel armstrong!") + text_lose_indication = span_warning("Your arms stop feeling so saggy all the time.") + difficulty = 32 + mutation_traits = list(TRAIT_CHUNKYFINGERS, TRAIT_NO_TWOHANDING) + +/datum/mutation/human/elastic_arms/on_acquiring(mob/living/carbon/human/homan) + . = ..() + if(.) + return + RegisterSignal(homan, COMSIG_ATOM_CANREACH, PROC_REF(on_canreach)) + RegisterSignal(homan, COMSIG_LIVING_TRY_PUT_IN_HAND, PROC_REF(on_owner_equipping_item)) + RegisterSignal(homan, COMSIG_LIVING_TRY_PULL, PROC_REF(on_owner_try_pull)) + +/datum/mutation/human/elastic_arms/on_losing(mob/living/carbon/human/homan) + . = ..() + if(.) + return + UnregisterSignal(homan, list(COMSIG_ATOM_CANREACH, COMSIG_LIVING_TRY_PUT_IN_HAND, COMSIG_LIVING_TRY_PULL)) + +/// signal sent when prompting if an item can be equipped +/datum/mutation/human/elastic_arms/proc/on_owner_equipping_item(mob/living/carbon/human/owner, obj/item/pick_item) + SIGNAL_HANDLER + if(pick_item.w_class > WEIGHT_CLASS_BULKY) // cant decide if i should limit to huge or bulky. + pick_item.balloon_alert(owner, "arms too floppy to wield!") + return COMPONENT_LIVING_CANT_PUT_IN_HAND + +/// signal sent when owner tries to pull +/datum/mutation/human/elastic_arms/proc/on_owner_try_pull(mob/living/carbon/owner, atom/movable/target, force) + SIGNAL_HANDLER + if(isliving(target)) + var/mob/living/living_target = target + if(living_target.mob_size > MOB_SIZE_HUMAN) + living_target.balloon_alert(owner, "arms too floppy to pull this!") + return COMSIG_LIVING_CANCEL_PULL + if(isitem(target)) + var/obj/item/item_target = target + if(item_target.w_class > WEIGHT_CLASS_BULKY) + item_target.balloon_alert(owner, "arms too floppy to pull this!") + return COMSIG_LIVING_CANCEL_PULL + +// probably buggy. let's enlist our players as bug testers +/datum/mutation/human/elastic_arms/proc/on_canreach(mob/source, atom/target) + SIGNAL_HANDLER + + var/distance = get_dist(target, source) + + // We only care about handling the reach distance, anything closer or further is handled normally. + // Also, no z-level shenanigans. Yet. + if((distance != 2) || source.z != target.z) + return + + var/direction = get_dir(source, target) + if(!direction) + return + var/turf/open/adjacent_turf = get_step(source, direction) + + // Make sure it's an open turf we're trying to pass over. + if(!istype(adjacent_turf)) + return + + // Check if there's something dense inbetween, then allow it. + for(var/atom/thing in adjacent_turf) + if(thing.density) + return + + return COMPONENT_ALLOW_REACH diff --git a/code/datums/mutations/sight.dm b/code/datums/mutations/sight.dm index 66e307c247846..3aceb3e7d8ad2 100644 --- a/code/datums/mutations/sight.dm +++ b/code/datums/mutations/sight.dm @@ -4,7 +4,7 @@ desc = "The holder of this mutation has poor eyesight." instability = NEGATIVE_STABILITY_MODERATE quality = MINOR_NEGATIVE - text_gain_indication = "You can't see very well." + text_gain_indication = span_danger("You can't see very well.") /datum/mutation/human/nearsight/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -22,7 +22,7 @@ desc = "Renders the subject completely blind." instability = NEGATIVE_STABILITY_MAJOR quality = NEGATIVE - text_gain_indication = "You can't seem to see anything." + text_gain_indication = span_danger("You can't seem to see anything.") /datum/mutation/human/blind/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -40,8 +40,8 @@ desc = "The user of this genome can visually perceive the unique human thermal signature." quality = POSITIVE difficulty = 18 - text_gain_indication = "You can see the heat rising off of your skin..." - text_lose_indication = "You can no longer see the heat rising off of your skin..." + text_gain_indication = span_notice("You can see the heat rising off of your skin...") + text_lose_indication = span_notice("You can no longer see the heat rising off of your skin...") instability = POSITIVE_INSTABILITY_MAJOR // thermals aren't station equipment synchronizer_coeff = 1 power_coeff = 1 @@ -111,7 +111,7 @@ /datum/mutation/human/xray name = "X Ray Vision" desc = "A strange genome that allows the user to see between the spaces of walls." //actual x-ray would mean you'd constantly be blasting rads, wich might be fun for later //hmb - text_gain_indication = "The walls suddenly disappear!" + text_gain_indication = span_notice("The walls suddenly disappear!") instability = POSITIVE_INSTABILITY_MAJOR locked = TRUE @@ -135,7 +135,7 @@ quality = POSITIVE locked = TRUE difficulty = 16 - text_gain_indication = "You feel pressure building up behind your eyes." + text_gain_indication = span_notice("You feel pressure building up behind your eyes.") layer_used = FRONT_MUTATIONS_LAYER limb_req = BODY_ZONE_HEAD @@ -186,8 +186,8 @@ desc = "Causes a severe case of Aphasia that prevents reading or writing." instability = NEGATIVE_STABILITY_MAJOR quality = NEGATIVE - text_gain_indication = "You feel unable to read or write." - text_lose_indication = "You feel able to read and write again." + text_gain_indication = span_danger("You feel unable to read or write.") + text_lose_indication = span_danger("You feel able to read and write again.") /datum/mutation/human/illiterate/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -198,3 +198,4 @@ if(..()) return REMOVE_TRAIT(owner, TRAIT_ILLITERATE, GENETIC_MUTATION) + diff --git a/code/datums/mutations/speech.dm b/code/datums/mutations/speech.dm index 1400503dfc45d..5b917aa1397b9 100644 --- a/code/datums/mutations/speech.dm +++ b/code/datums/mutations/speech.dm @@ -1,12 +1,17 @@ //These are all minor mutations that affect your speech somehow. //Individual ones aren't commented since their functions should be evident at a glance +// no they arent bro + +#define ALPHABET list("a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z") +#define VOWELS list("a", "e", "i", "o", "u") +#define CONSONANTS (ALPHABET - VOWELS) /datum/mutation/human/nervousness name = "Nervousness" desc = "Causes the holder to stutter." instability = NEGATIVE_STABILITY_MINI quality = MINOR_NEGATIVE - text_gain_indication = "You feel nervous." + text_gain_indication = span_danger("You feel nervous.") /datum/mutation/human/nervousness/on_life(seconds_per_tick, times_fired) if(SPT_PROB(5, seconds_per_tick)) @@ -17,8 +22,8 @@ desc = "You are not a clown. You are the entire circus." instability = NEGATIVE_STABILITY_MINI quality = MINOR_NEGATIVE - text_gain_indication = "You feel an off sensation in your voicebox." - text_lose_indication = "The off sensation passes." + text_gain_indication = span_sans(span_notice("You feel an off sensation in your voicebox.")) + text_lose_indication = span_notice("The off sensation passes.") /datum/mutation/human/wacky/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -35,13 +40,185 @@ speech_args[SPEECH_SPANS] |= SPAN_SANS +// Lower rust floor probability +// Make it only happen on open turf +// Add early return to wall hitting +// Fix throw at on cult sac +// Reduce tochat prob on rust floor +// add trait rusty to windows +// aim assist on rc doesnt work +// also in general +// give master seek to rusted harvester + +/datum/mutation/human/heckacious + name = "heckacious larincks" + desc = "duge what is WISH your words man..........." + quality = MINOR_NEGATIVE + text_gain_indication = span_sans(span_red("aw SHIT man. your throat feels like FUCKASS.")) + text_lose_indication = span_notice("The demonic entity possessing your larynx has finally released its grasp.") + locked = TRUE + conflicts = list(/datum/mutation/human/trichromatic) // they both modify with the same spans. also would be way too annoying + +/datum/mutation/human/heckacious/on_acquiring(mob/living/carbon/human/owner) + if(..()) + return + RegisterSignal(owner, COMSIG_LIVING_TREAT_MESSAGE, PROC_REF(handle_caps)) + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + +/datum/mutation/human/heckacious/on_losing(mob/living/carbon/human/owner) + if(..()) + return + UnregisterSignal(owner, list(COMSIG_LIVING_TREAT_MESSAGE, COMSIG_MOB_SAY)) + +/datum/mutation/human/heckacious/proc/handle_caps(atom/movable/source, list/message_args) + SIGNAL_HANDLER + message_args[TREAT_CAPITALIZE_MESSAGE] = FALSE + +/datum/mutation/human/heckacious/proc/handle_speech(datum/source, list/speech_args) + + var/message = speech_args[SPEECH_MESSAGE] + if(!message) + return + // Split for swapping purposes + message = " [message] " + + // Splitting up each word in the text to manually apply our intended changes + var/list/message_words = splittext(message, " ") + // What we use in the end + var/list/edited_message_words + + for(var/editing_word in message_words) + if(editing_word == " " || editing_word == "" ) + continue + // Used to replace the original later + var/og_word = editing_word + // Iterating through each replaceable-string in the .json + var/list/static/super_wacky_words = strings("heckacious.json", "heckacious") + + // If the word doesn't get replaced we might do something with it later + var/word_edited + for(var/key in super_wacky_words) + var/value = super_wacky_words[key] + // If list, pick one value from said list + if(islist(value)) + value = pick(value) + editing_word = replacetextEx(editing_word, "[uppertext(key)]", "[uppertext(value)]") + editing_word = replacetextEx(editing_word, "[capitalize(key)]", "[capitalize(value)]") + editing_word = replacetextEx(editing_word, "[key]", "[value]") + // Enable if we actually found something to change + if(editing_word != og_word) + word_edited = TRUE + + // Random caps + if(prob(10)) + editing_word = uppertext(editing_word) + // some times....... we add DOTS... + if(prob(10)) + for(var/dotnum in 1 to rand(2, 8)) + editing_word += "." + + // If no replacement we do it manually + if(!word_edited) + if(prob(65)) + editing_word = replacetext(editing_word, pick(VOWELS), pick(VOWELS)) + // Many more consonants, double it! + for(var/i in 1 to rand(1, 2)) + editing_word = replacetext(editing_word, pick(CONSONANTS), pick(CONSONANTS)) + // rarely, lettter is DOUBBLED... + var/patchword = "" + for(var/letter in 1 to length(editing_word)) + if(prob(92)) + patchword += editing_word[letter] + continue + patchword += replacetext(editing_word[letter], "", editing_word[letter] + editing_word[letter]) + editing_word = patchword + + // Some words are randomly recolored and resized so they get a few of these + editing_word = span_class_handler(editing_word) + + LAZYADD(edited_message_words, editing_word) + + var/edited_message = jointext(edited_message_words, " ") + + message = trim(edited_message) + + speech_args[SPEECH_MESSAGE] = message + +/datum/mutation/human/heckacious/proc/span_class_handler(message, looped = FALSE) + // Sadly combining span colors will not combine the colors of the message + if(prob(15)) + switch(rand(1,3)) + if(1) + message = span_red(message) + if(2) + message = span_blue(message) + if(3) + message = span_green(message) + if(prob(15)) + switch(rand(1,2)) + if(1) + message = span_big(message) + if(2) + message = span_small(message) + // do it AGAIN + if(prob(40)) + span_class_handler(message, looped = TRUE) + return message + +/datum/mutation/human/trichromatic + name = "Trichromatic Larynx" + desc = "A strange mutation originating from Clown Planet which alters the color of the patient's vocal chords." + quality = MINOR_NEGATIVE + text_gain_indication = span_red("You") + span_blue(" feel ") + span_green("Weird.") + text_lose_indication = span_notice("Your colors feel normal again.") + conflicts = list(/datum/mutation/human/heckacious) + +/datum/mutation/human/trichromatic/on_acquiring(mob/living/carbon/human/owner) + if(..()) + return + RegisterSignal(owner, COMSIG_MOB_SAY, PROC_REF(handle_speech)) + +/datum/mutation/human/trichromatic/on_losing(mob/living/carbon/human/owner) + if(..()) + return + UnregisterSignal(owner, COMSIG_MOB_SAY) + +/datum/mutation/human/trichromatic/proc/handle_speech(datum/source, list/speech_args) + SIGNAL_HANDLER + + var/message = speech_args[SPEECH_MESSAGE] + + var/list/message_words = splittext(message, " ") + var/list/static/span_combo_list = list("green", "red", "blue") + var/words_key = 1 + for(var/i in message_words) + message_words[words_key] = span_class_handler(message_words[words_key]) + words_key++ + + var/edited_message = jointext(message_words, " ") + + message = trim(edited_message) + + speech_args[SPEECH_MESSAGE] = message + +/datum/mutation/human/trichromatic/proc/span_class_handler(message) + // Sadly combining span colors will not combine the colors of the message + switch(rand(1,3)) + if(1) + message = span_red(message) + if(2) + message = span_blue(message) + if(3) + message = span_green(message) + return message + /datum/mutation/human/mute name = "Mute" desc = "Completely inhibits the vocal section of the brain." instability = NEGATIVE_STABILITY_MAJOR quality = NEGATIVE - text_gain_indication = "You feel unable to express yourself at all." - text_lose_indication = "You feel able to speak freely again." + text_gain_indication = span_danger("You feel unable to express yourself at all.") + text_lose_indication = span_danger("You feel able to speak freely again.") /datum/mutation/human/mute/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -58,8 +235,8 @@ desc = "Partially inhibits the vocal center of the brain, severely distorting speech." instability = NEGATIVE_STABILITY_MODERATE quality = NEGATIVE - text_gain_indication = "You can't seem to form any coherent thoughts!" - text_lose_indication = "Your mind feels more clear." + text_gain_indication = span_danger("You can't seem to form any coherent thoughts!") + text_lose_indication = span_danger("Your mind feels more clear.") /datum/mutation/human/unintelligible/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -76,8 +253,8 @@ desc = "A horrible mutation originating from the distant past. Thought to be eradicated after the incident in 2037." instability = NEGATIVE_STABILITY_MINI quality = MINOR_NEGATIVE - text_gain_indication = "You feel Swedish, however that works." - text_lose_indication = "The feeling of Swedishness passes." + text_gain_indication = span_notice("You feel Swedish, however that works.") + text_lose_indication = span_notice("The feeling of Swedishness passes.") /datum/mutation/human/swedish/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -108,8 +285,8 @@ desc = "Unknown" instability = NEGATIVE_STABILITY_MINI quality = MINOR_NEGATIVE - text_gain_indication = "Ye feel like a reet prat like, innit?" - text_lose_indication = "You no longer feel like being rude and sassy." + text_gain_indication = span_notice("Ye feel like a reet prat like, innit?") + text_lose_indication = span_notice("You no longer feel like being rude and sassy.") /datum/mutation/human/chav/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -146,9 +323,8 @@ desc = "A terrifying mutation named after its 'patient-zero'." instability = NEGATIVE_STABILITY_MINI quality = MINOR_NEGATIVE - locked = TRUE - text_gain_indication = "You feel pretty good, honeydoll." - text_lose_indication = "You feel a little less conversation would be great." + text_gain_indication = span_notice("You feel pretty good, honeydoll.") + text_lose_indication = span_notice("You feel a little less conversation would be great.") /datum/mutation/human/elvis/on_life(seconds_per_tick, times_fired) switch(pick(1,2)) @@ -194,8 +370,8 @@ desc = "A common mutation that severely decreases intelligence." quality = NEGATIVE locked = TRUE - text_gain_indication = "You feel...totally chill, man!" - text_lose_indication = "You feel like you have a better sense of time." + text_gain_indication = span_notice("You feel...totally chill, man!") + text_lose_indication = span_notice("You feel like you have a better sense of time.") /datum/mutation/human/stoner/on_acquiring(mob/living/carbon/human/owner) ..() @@ -212,8 +388,8 @@ desc = "A horrible mutation originating from the distant past, thought to have once been a common gene in all of old world Europe." instability = NEGATIVE_STABILITY_MINI quality = MINOR_NEGATIVE - text_gain_indication = "You feel like seeking the holy grail!" - text_lose_indication = "You no longer feel like seeking anything." + text_gain_indication = span_notice("You feel like seeking the holy grail!") + text_lose_indication = span_notice("You no longer feel like seeking anything.") /datum/mutation/human/medieval/on_acquiring(mob/living/carbon/human/owner) if(..()) @@ -272,3 +448,7 @@ var/spoken_message = speech_args[SPEECH_MESSAGE] spoken_message = piglatin_sentence(spoken_message) speech_args[SPEECH_MESSAGE] = spoken_message + +#undef ALPHABET +#undef VOWELS +#undef CONSONANTS diff --git a/code/datums/mutations/telekinesis.dm b/code/datums/mutations/telekinesis.dm deleted file mode 100644 index bd6ba13070df3..0000000000000 --- a/code/datums/mutations/telekinesis.dm +++ /dev/null @@ -1,40 +0,0 @@ -///Telekinesis lets you interact with objects from range, and gives you a light blue halo around your head. -/datum/mutation/human/telekinesis - name = "Telekinesis" - desc = "A strange mutation that allows the holder to interact with objects through thought." - quality = POSITIVE - difficulty = 18 - text_gain_indication = "You feel smarter!" - limb_req = BODY_ZONE_HEAD - instability = POSITIVE_INSTABILITY_MAJOR - ///Typecache of atoms that TK shouldn't interact with - var/static/list/blacklisted_atoms = typecacheof(list(/atom/movable/screen)) - -/datum/mutation/human/telekinesis/New(class_ = MUT_OTHER, timer, datum/mutation/human/copymut) - ..() - if(!(type in visual_indicators)) - visual_indicators[type] = list(mutable_appearance('icons/mob/effects/genetics.dmi', "telekinesishead", -MUTATIONS_LAYER)) - -/datum/mutation/human/telekinesis/on_acquiring(mob/living/carbon/human/H) - . = ..() - if(.) - return - RegisterSignal(H, COMSIG_MOB_ATTACK_RANGED, PROC_REF(on_ranged_attack)) - -/datum/mutation/human/telekinesis/on_losing(mob/living/carbon/human/H) - . = ..() - if(.) - return - UnregisterSignal(H, COMSIG_MOB_ATTACK_RANGED) - -/datum/mutation/human/telekinesis/get_visual_indicator() - return visual_indicators[type][1] - -///Triggers on COMSIG_MOB_ATTACK_RANGED. Usually handles stuff like picking up items at range. -/datum/mutation/human/telekinesis/proc/on_ranged_attack(mob/source, atom/target) - SIGNAL_HANDLER - if(is_type_in_typecache(target, blacklisted_atoms)) - return - if(!tkMaxRangeCheck(source, target) || source.z != target.z) - return - return target.attack_tk(source) diff --git a/code/datums/mutations/telepathy.dm b/code/datums/mutations/telepathy.dm index 0e3dffb48b4a4..4fa2a38db140a 100644 --- a/code/datums/mutations/telepathy.dm +++ b/code/datums/mutations/telepathy.dm @@ -2,8 +2,8 @@ name = "Telepathy" desc = "A rare mutation that allows the user to telepathically communicate to others." quality = POSITIVE - text_gain_indication = "You can hear your own voice echoing in your mind!" - text_lose_indication = "You don't hear your mind echo anymore." + text_gain_indication = span_notice("You can hear your own voice echoing in your mind!") + text_lose_indication = span_notice("You don't hear your mind echo anymore.") difficulty = 12 power_path = /datum/action/cooldown/spell/list_target/telepathy instability = POSITIVE_INSTABILITY_MINOR // basically a mediocre PDA messager diff --git a/code/datums/mutations/touch.dm b/code/datums/mutations/touch.dm index eaa4909703525..d80510fb1feec 100644 --- a/code/datums/mutations/touch.dm +++ b/code/datums/mutations/touch.dm @@ -4,8 +4,8 @@ quality = POSITIVE locked = TRUE difficulty = 16 - text_gain_indication = "You feel power flow through your hands." - text_lose_indication = "The energy in your hands subsides." + text_gain_indication = span_notice("You feel power flow through your hands.") + text_lose_indication = span_notice("The energy in your hands subsides.") power_path = /datum/action/cooldown/spell/touch/shock instability = POSITIVE_INSTABILITY_MODERATE // bad stun baton energy_coeff = 1 @@ -85,3 +85,192 @@ icon = 'icons/obj/weapons/hand.dmi' icon_state = "zapper" inhand_icon_state = "zapper" + +/datum/mutation/human/lay_on_hands + name = "Mending Touch" + desc = "The affected can lay their hands on other people to transfer a small amount of their injuries to themselves." + quality = POSITIVE + locked = FALSE + difficulty = 16 + text_gain_indication = span_notice("Your hand feels blessed!") + text_lose_indication = span_notice("Your hand feels secular once more.") + power_path = /datum/action/cooldown/spell/touch/lay_on_hands + instability = POSITIVE_INSTABILITY_MAJOR + energy_coeff = 1 + power_coeff = 1 + synchronizer_coeff = 1 + +/datum/mutation/human/lay_on_hands/modify() + . = ..() + var/datum/action/cooldown/spell/touch/lay_on_hands/to_modify =. + + if(!istype(to_modify)) // null or invalid + return + + // More healing if powered up. + to_modify.heal_multiplier = GET_MUTATION_POWER(src) + // Less pain if synchronized. + to_modify.pain_multiplier = GET_MUTATION_SYNCHRONIZER(src) + +/datum/action/cooldown/spell/touch/lay_on_hands + name = "Mending Touch" + desc = "You can now lay your hands on other people to transfer a small amount of their physical injuries to yourself." + button_icon = 'icons/mob/actions/actions_genetic.dmi' + button_icon_state = "mending_touch" + sound = 'sound/magic/staff_healing.ogg' + cooldown_time = 12 SECONDS + school = SCHOOL_RESTORATION + invocation_type = INVOCATION_NONE + spell_requirements = NONE + antimagic_flags = NONE + + hand_path = /obj/item/melee/touch_attack/lay_on_hands + draw_message = span_notice("You ready your hand to transfer injuries to yourself.") + drop_message = span_notice("You lower your hand.") + /// Multiplies the amount healed, without increasing the received damage. + var/heal_multiplier = 1 + /// Multiplies the incoming pain from healing. + var/pain_multiplier = 1 + /// Icon used for beaming effect + var/beam_icon = "blood" + +/datum/action/cooldown/spell/touch/lay_on_hands/cast_on_hand_hit(obj/item/melee/touch_attack/hand, atom/victim, mob/living/carbon/mendicant) + + var/mob/living/hurtguy = victim + + // Heal more, hurt a bit more. + // If you crunch the numbers it sounds crazy good, + // but I think that's a fair reward for combining the efforts of Genetics, Medbay, and Mining to reach a hidden mechanic. + if(HAS_TRAIT_FROM(mendicant, TRAIT_HIPPOCRATIC_OATH, HIPPOCRATIC_OATH_TRAIT)) + heal_multiplier *= 2 + pain_multiplier *= 0.5 + to_chat(mendicant, span_green("You can feel the magic of the Rod of Aesculapius aiding your efforts!")) + beam_icon = "sendbeam" + var/obj/item/rod_of_asclepius/rod = locate() in mendicant.contents + if(rod) + rod.add_filter("cool_glow", 2, list("type" = "outline", "color" = COLOR_VERY_PALE_LIME_GREEN, "size" = 1.25)) + addtimer(CALLBACK(rod, TYPE_PROC_REF(/datum, remove_filter), "cool_glow"), 6 SECONDS) + + + // If a normal pacifist, heal and hurt more! + else if(HAS_TRAIT(mendicant, TRAIT_PACIFISM)) + heal_multiplier *= 1.75 + pain_multiplier *= 1.75 + to_chat(mendicant, span_green("Your peaceful nature helps you guide all the pain to yourself.")) + + var/success + if(iscarbon(hurtguy)) + success = do_complicated_heal(mendicant, hurtguy, heal_multiplier, pain_multiplier) + else + success = do_simple_heal(mendicant, hurtguy, heal_multiplier, pain_multiplier) + + // Both types can be ignited (technically at least), so we can just do this here. + if(hurtguy.has_status_effect(/datum/status_effect/fire_handler/fire_stacks)) + mendicant.set_fire_stacks(hurtguy.fire_stacks * pain_multiplier, remove_wet_stacks = TRUE) + if(hurtguy.on_fire) + mendicant.ignite_mob() + hurtguy.extinguish_mob() + + // No healies in the end, cancel + if(!success) + return FALSE + + mendicant.Beam(hurtguy, icon_state = beam_icon, time = 0.5 SECONDS) + beam_icon = initial(beam_icon) + + hurtguy.update_damage_overlays() + mendicant.update_damage_overlays() + + hurtguy.visible_message(span_notice("[mendicant] lays hands on [hurtguy]!")) + to_chat(target, span_boldnotice("[mendicant] lays hands on you, healing you!")) + new /obj/effect/temp_visual/heal(get_turf(hurtguy), COLOR_VERY_PALE_LIME_GREEN) + return success + +/datum/action/cooldown/spell/touch/lay_on_hands/proc/do_simple_heal(mob/living/carbon/mendicant, mob/living/hurtguy, heal_multiplier, pain_multiplier) + // Did the transfer work? + . = FALSE + + // Damage to heal + var/brute_to_heal = min(hurtguy.getBruteLoss(), 35 * heal_multiplier) + // no double dipping + var/burn_to_heal = min(hurtguy.getFireLoss(), (35 - brute_to_heal) * heal_multiplier) + + // Get at least organic limb to transfer the damage to + var/list/mendicant_organic_limbs = list() + for(var/obj/item/bodypart/possible_limb in mendicant.bodyparts) + if(IS_ORGANIC_LIMB(possible_limb)) + mendicant_organic_limbs += possible_limb + // None? Gtfo + if(isnull(mendicant_organic_limbs)) + return . + + // Try to use our active hand, otherwise pick at random + var/obj/item/bodypart/mendicant_transfer_limb = mendicant.get_active_hand() + if(!(mendicant_transfer_limb in mendicant_organic_limbs)) + mendicant_transfer_limb = pick(mendicant_organic_limbs) + mendicant_transfer_limb.receive_damage(brute_to_heal * pain_multiplier, burn_to_heal * pain_multiplier, forced = TRUE, wound_bonus = CANT_WOUND) + + if(brute_to_heal) + hurtguy.adjustBruteLoss(brute_to_heal) + . = TRUE + + if(burn_to_heal) + hurtguy.adjustFireLoss(burn_to_heal) + . = TRUE + + return . + +/datum/action/cooldown/spell/touch/lay_on_hands/proc/do_complicated_heal(mob/living/carbon/mendicant, mob/living/carbon/hurtguy, heal_multiplier, pain_multiplier) + + // Did the transfer work? + . = FALSE + // Get the hurtguy's limbs and the mendicant's limbs to attempt a 1-1 transfer. + var/list/hurt_limbs = hurtguy.get_damaged_bodyparts(1, 1, BODYTYPE_ORGANIC) + hurtguy.get_wounded_bodyparts(BODYTYPE_ORGANIC) + var/list/mendicant_organic_limbs = list() + for(var/obj/item/bodypart/possible_limb in mendicant.bodyparts) + if(IS_ORGANIC_LIMB(possible_limb)) + mendicant_organic_limbs += possible_limb + + // If we have no organic available limbs just give up. + if(!length(mendicant_organic_limbs) || !length(hurt_limbs)) + return + + // Counter to make sure we don't take too much from separate limbs + var/total_damage_healed = 0 + // Transfer damage from one limb to the mendicant's counterpart. + for(var/obj/item/bodypart/affected_limb as anything in hurt_limbs) + var/obj/item/bodypart/mendicant_transfer_limb = mendicant.get_bodypart(affected_limb.body_zone) + // If the compared limb isn't organic, skip it and pick a random one. + if(!(mendicant_transfer_limb in mendicant_organic_limbs)) + mendicant_transfer_limb = pick(mendicant_organic_limbs) + + // Transfer at most 35 damage by default. + var/brute_damage = min(affected_limb.brute_dam, 35 * heal_multiplier) + // no double dipping + var/burn_damage = min(affected_limb.burn_dam, (35 * heal_multiplier) - brute_damage) + if((brute_damage || burn_damage) && total_damage_healed < (35 * heal_multiplier)) + total_damage_healed = brute_damage + burn_damage + . = TRUE + // Heal! + affected_limb.heal_damage(brute_damage * heal_multiplier, burn_damage * heal_multiplier, required_bodytype = BODYTYPE_ORGANIC) + // Hurt! + mendicant_transfer_limb.receive_damage(brute_damage * pain_multiplier, burn_damage * pain_multiplier, forced = TRUE, wound_bonus = CANT_WOUND) + + // Force light wounds onto you. + for(var/datum/wound/iter_wound as anything in affected_limb.wounds) + if(iter_wound.severity > WOUND_SEVERITY_MODERATE) + continue + . = TRUE + iter_wound.remove_wound() + iter_wound.apply_wound(mendicant_transfer_limb) + + + return . + +/obj/item/melee/touch_attack/lay_on_hands + name = "mending touch" + desc = "Unlike in your favorite tabletop games, you sadly can't cast this on yourself, so you can't use that as a Scapegoat." // mayus is reference. if you get it youre cool + icon = 'icons/obj/weapons/hand.dmi' + icon_state = "greyscale" + color = COLOR_VERY_PALE_LIME_GREEN + inhand_icon_state = "greyscale" diff --git a/code/datums/mutations/webbing.dm b/code/datums/mutations/webbing.dm index 002687d55be0f..e372cb4bf5cdb 100644 --- a/code/datums/mutations/webbing.dm +++ b/code/datums/mutations/webbing.dm @@ -3,7 +3,7 @@ name = "Webbing Production" desc = "Allows the user to lay webbing, and travel through it." quality = POSITIVE - text_gain_indication = "Your skin feels webby." + text_gain_indication = span_notice("Your skin feels webby.") instability = POSITIVE_INSTABILITY_MODERATE // useful until you're lynched power_path = /datum/action/cooldown/mob_cooldown/lay_web/genetic energy_coeff = 1 diff --git a/code/datums/proximity_monitor/field.dm b/code/datums/proximity_monitor/field.dm index 67bbef948ef3d..03e7c054d0908 100644 --- a/code/datums/proximity_monitor/field.dm +++ b/code/datums/proximity_monitor/field.dm @@ -129,7 +129,7 @@ if(current_range > 0) local_field_turfs += RANGE_TURFS(current_range - 1, center) if(current_range > 1) - local_edge_turfs = local_field_turfs - RANGE_TURFS(current_range, center) + local_edge_turfs = RANGE_TURFS(current_range, center) - local_field_turfs return list(FIELD_TURFS_KEY = local_field_turfs, EDGE_TURFS_KEY = local_edge_turfs) //Gets edge direction/corner, only works with square radius/WDH fields! @@ -169,6 +169,7 @@ name = "strange multitool" desc = "Seems to project a colored field!" var/operating = FALSE + var/range_to_use = 5 var/datum/proximity_monitor/advanced/debug/current = null /obj/item/multitool/field_debug/Destroy() @@ -176,7 +177,7 @@ return ..() /obj/item/multitool/field_debug/proc/setup_debug_field() - current = new(src, 5, FALSE) + current = new(src, range_to_use, FALSE) current.set_fieldturf_color = "#aaffff" current.set_edgeturf_color = "#ffaaff" current.recalculate_field(full_recalc = TRUE) diff --git a/code/datums/proximity_monitor/fields/projectile_dampener.dm b/code/datums/proximity_monitor/fields/projectile_dampener.dm index 3e696e5fb132d..fe23fe0be33e5 100644 --- a/code/datums/proximity_monitor/fields/projectile_dampener.dm +++ b/code/datums/proximity_monitor/fields/projectile_dampener.dm @@ -28,6 +28,10 @@ release_projectile(projectile) return ..() +/datum/proximity_monitor/advanced/projectile_dampener/recalculate_field(full_recalc) + full_recalc = TRUE // We always perform a full recalc because we need to update ALL the sprites + return ..() + /datum/proximity_monitor/advanced/projectile_dampener/process() var/list/ranged = list() for(var/obj/projectile/projectile in range(current_range, get_turf(host))) diff --git a/code/datums/quirks/negative_quirks/addict.dm b/code/datums/quirks/negative_quirks/addict.dm index f97dae32c260f..767d9283baef0 100644 --- a/code/datums/quirks/negative_quirks/addict.dm +++ b/code/datums/quirks/negative_quirks/addict.dm @@ -123,7 +123,7 @@ /obj/effect/spawner/random/entertainment/cigarette_pack, /obj/effect/spawner/random/entertainment/cigar, /obj/effect/spawner/random/entertainment/lighter, - /obj/item/clothing/mask/cigarette/pipe, + /obj/item/cigarette/pipe, ) /datum/quirk_constant_data/smoker @@ -162,7 +162,7 @@ . = ..() var/mob/living/carbon/human/human_holder = quirk_holder var/obj/item/mask_item = human_holder.get_item_by_slot(ITEM_SLOT_MASK) - if(istype(mask_item, /obj/item/clothing/mask/cigarette)) + if(istype(mask_item, /obj/item/cigarette)) var/obj/item/storage/fancy/cigarettes/cigarettes = drug_container_type if(istype(mask_item, initial(cigarettes.spawn_type))) quirk_holder.clear_mood_event("wrong_cigs") diff --git a/code/datums/shuttles/hunter.dm b/code/datums/shuttles/hunter.dm index d8b7f708324e2..ade978c937e07 100644 --- a/code/datums/shuttles/hunter.dm +++ b/code/datums/shuttles/hunter.dm @@ -17,3 +17,7 @@ /datum/map_template/shuttle/hunter/psyker suffix = "psyker" name = "Psyker Fortune-Telling Ship" + +/datum/map_template/shuttle/hunter/mi13_foodtruck + suffix = "mi13_foodtruck" + name = "Perfectly Ordinary Food Truck" diff --git a/code/datums/shuttles/whiteship.dm b/code/datums/shuttles/whiteship.dm index 0b48575e057c2..b8dbcfd4bd76e 100644 --- a/code/datums/shuttles/whiteship.dm +++ b/code/datums/shuttles/whiteship.dm @@ -24,7 +24,7 @@ /datum/map_template/shuttle/whiteship/birdshot suffix = "birdshot" name = "NT Patrol Bee" - description = "A small patrol vessel with a central corridor connecting all rooms. Features 2 small cargo bays and a brig. Spawns with an agressive and deadly Gelatinous Cube" + description = "A small patrol vessel with a central corridor connecting all rooms. Features 2 small cargo bays and a brig. Spawns with an aggressive and deadly Gelatinous Cube" /datum/map_template/shuttle/whiteship/kilo suffix = "kilo" diff --git a/code/datums/status_effects/agent_pinpointer.dm b/code/datums/status_effects/agent_pinpointer.dm index 29dfbd4338782..c22242be400fd 100644 --- a/code/datums/status_effects/agent_pinpointer.dm +++ b/code/datums/status_effects/agent_pinpointer.dm @@ -43,7 +43,7 @@ if(here.z != there.z) linked_alert.icon_state = "pinonnull" return - if(get_dist_euclidian(here,there) <= minimum_range + rand(0, range_fuzz_factor)) + if(get_dist_euclidean(here,there) <= minimum_range + rand(0, range_fuzz_factor)) linked_alert.icon_state = "pinondirect" return linked_alert.setDir(get_dir(here, there)) diff --git a/code/datums/status_effects/buffs.dm b/code/datums/status_effects/buffs.dm index e8c4be7869707..04ab2ee8f1783 100644 --- a/code/datums/status_effects/buffs.dm +++ b/code/datums/status_effects/buffs.dm @@ -277,14 +277,14 @@ ) //Makes the user passive, it's in their oath not to harm! - ADD_TRAIT(owner, TRAIT_PACIFISM, HIPPOCRATIC_OATH_TRAIT) + owner.add_traits(list(TRAIT_PACIFISM, TRAIT_HIPPOCRATIC_OATH), HIPPOCRATIC_OATH_TRAIT) var/datum/atom_hud/med_hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] med_hud.show_to(owner) return ..() /datum/status_effect/hippocratic_oath/on_remove() QDEL_NULL(aura_healing) - REMOVE_TRAIT(owner, TRAIT_PACIFISM, HIPPOCRATIC_OATH_TRAIT) + owner.remove_traits(list(TRAIT_PACIFISM, TRAIT_HIPPOCRATIC_OATH), HIPPOCRATIC_OATH_TRAIT) var/datum/atom_hud/med_hud = GLOB.huds[DATA_HUD_MEDICAL_ADVANCED] med_hud.hide_from(owner) diff --git a/code/datums/storage/storage.dm b/code/datums/storage/storage.dm index 2a5bd2a98fd7a..8c98d7d56bd16 100644 --- a/code/datums/storage/storage.dm +++ b/code/datums/storage/storage.dm @@ -4,6 +4,7 @@ * The parent and real_location variables are both weakrefs, so they must be resolved before they can be used. * If you're looking to create custom storage type behaviors, check ../subtypes */ + /datum/storage /** * A reference to the atom linked to this storage object @@ -22,10 +23,8 @@ /// List of all the mobs currently viewing the contents of this storage. VAR_PRIVATE/list/mob/is_using = list() - /// The storage display screen object. - VAR_PRIVATE/atom/movable/screen/storage/boxes - /// The 'close button' screen object. - VAR_PRIVATE/atom/movable/screen/close/closer + /// Associated list that keeps track of all storage UI datums per person. + VAR_PRIVATE/list/datum/storage_interface/storage_interfaces = null /// Typecache of items that can be inserted into this storage. /// By default, all item types can be inserted (assuming other conditions are met). @@ -131,9 +130,6 @@ qdel(src) return - boxes = new(null, null, src) - closer = new(null, null, src) - set_parent(parent) set_real_location(parent) @@ -141,22 +137,16 @@ src.max_specific_storage = max_specific_storage src.max_total_storage = max_total_storage - orient_to_hud() - /datum/storage/Destroy() - parent = null - real_location = null for(var/mob/person in is_using) - if(person.active_storage == src) - person.active_storage = null - person.client?.screen -= boxes - person.client?.screen -= closer - - QDEL_NULL(boxes) - QDEL_NULL(closer) + hide_contents(person) is_using.Cut() + QDEL_LIST_ASSOC_VAL(storage_interfaces) + + parent = null + real_location = null return ..() @@ -863,69 +853,6 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) return toreturn -/// Updates the storage UI to fit all objects inside storage. -/datum/storage/proc/orient_to_hud() - var/adjusted_contents = real_location.contents.len - - //Numbered contents display - var/list/datum/numbered_display/numbered_contents - if(numerical_stacking) - numbered_contents = process_numerical_display() - adjusted_contents = numbered_contents.len - //if the ammount of contents reaches some multiplier of the final column (and its not the last slot), let the player view an additional row - var/additional_row = (!(adjusted_contents % screen_max_columns) && adjusted_contents < max_slots) - - var/columns = clamp(max_slots, 1, screen_max_columns) - var/rows = clamp(CEILING(adjusted_contents / columns, 1) + additional_row, 1, screen_max_rows) - - orient_item_boxes(rows, columns, numbered_contents) - -/// Generates the actual UI objects, their location, and alignments whenever we open storage up. -/datum/storage/proc/orient_item_boxes(rows, cols, list/obj/item/numerical_display_contents) - boxes.screen_loc = "[screen_start_x]:[screen_pixel_x],[screen_start_y]:[screen_pixel_y] to [screen_start_x+cols-1]:[screen_pixel_x],[screen_start_y+rows-1]:[screen_pixel_y]" - var/current_x = screen_start_x - var/current_y = screen_start_y - var/turf/our_turf = get_turf(real_location) - - if(islist(numerical_display_contents)) - for(var/type in numerical_display_contents) - var/datum/numbered_display/numberdisplay = numerical_display_contents[type] - - var/obj/item/display_sample = numberdisplay.sample_object - display_sample.mouse_opacity = MOUSE_OPACITY_OPAQUE - display_sample.screen_loc = "[current_x]:[screen_pixel_x],[current_y]:[screen_pixel_y]" - display_sample.maptext = MAPTEXT("[(numberdisplay.number > 1)? "[numberdisplay.number]" : ""]") - SET_PLANE(display_sample, ABOVE_HUD_PLANE, our_turf) - - current_x++ - - if(current_x - screen_start_x >= cols) - current_x = screen_start_x - current_y++ - - if(current_y - screen_start_y >= rows) - break - - else - for(var/obj/item in real_location) - item.mouse_opacity = MOUSE_OPACITY_OPAQUE - item.screen_loc = "[current_x]:[screen_pixel_x],[current_y]:[screen_pixel_y]" - item.maptext = "" - item.plane = ABOVE_HUD_PLANE - SET_PLANE(item, ABOVE_HUD_PLANE, our_turf) - - current_x++ - - if(current_x - screen_start_x >= cols) - current_x = screen_start_x - current_y++ - - if(current_y - screen_start_y >= rows) - break - - closer.screen_loc = "[screen_start_x + cols]:[screen_pixel_x],[screen_start_y]:[screen_pixel_y]" - - /// Signal handler for when we get attacked with secondary click by an item. /datum/storage/proc/on_item_interact_secondary(datum/source, mob/user, atom/weapon) SIGNAL_HANDLER @@ -954,8 +881,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) if(!click_alt_open) return - return open_storage_on_signal(source, user) - + return open_storage_on_signal(source, user) ? CLICK_ACTION_SUCCESS : NONE /// Opens the storage to the mob, showing them the contents to their UI. /datum/storage/proc/open_storage(mob/to_show) @@ -963,11 +889,7 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) show_contents(to_show) return FALSE - if(!to_show.CanReach(parent)) - parent.balloon_alert(to_show, "can't reach!") - return FALSE - - if(!isliving(to_show) || to_show.incapacitated()) + if(!isliving(to_show) || !to_show.can_perform_action(parent, ALLOW_RESTING | FORBID_TELEKINESIS_REACH)) return FALSE if(locked) @@ -1004,10 +926,10 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) /// Async version of putting something into a mobs hand. -/datum/storage/proc/put_in_hands_async(mob/toshow, obj/item/toremove) - if(!toshow.put_in_hands(toremove)) +/datum/storage/proc/put_in_hands_async(mob/to_show, obj/item/toremove) + if(!to_show.put_in_hands(toremove)) if(!silent) - toremove.balloon_alert(toshow, "fumbled!") + toremove.balloon_alert(to_show, "fumbled!") return TRUE /// Signal handler for whenever a mob walks away with us, close if they can't reach us. @@ -1042,48 +964,55 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) * Show our storage to a mob. * * Arguments - * * mob/toshow - the mob to show the storage to + * * mob/to_show - the mob to show the storage to * * Returns * * FALSE if the show failed * * TRUE otherwise */ -/datum/storage/proc/show_contents(mob/toshow) - if(!toshow.client) +/datum/storage/proc/show_contents(mob/to_show) + if(!to_show.client) return FALSE // You can only inspect hidden contents if you're an observer - if(!isobserver(toshow) && !display_contents) + if(!isobserver(to_show) && !display_contents) return FALSE - if(toshow.active_storage != src && (toshow.stat == CONSCIOUS)) + if(to_show.active_storage != src && (to_show.stat == CONSCIOUS)) for(var/obj/item/thing in real_location) - if(thing.on_found(toshow)) - toshow.active_storage.hide_contents(toshow) + if(thing.on_found(to_show)) + to_show.active_storage.hide_contents(to_show) - if(toshow.active_storage) - toshow.active_storage.hide_contents(toshow) + if(to_show.active_storage) + to_show.active_storage.hide_contents(to_show) - toshow.active_storage = src + to_show.active_storage = src if(ismovable(real_location)) var/atom/movable/movable_loc = real_location movable_loc.become_active_storage(src) - orient_to_hud() + LAZYINITLIST(storage_interfaces) + + var/ui_style = ui_style2icon(to_show.client?.prefs?.read_preference(/datum/preference/choiced/ui_style)) + + if (isnull(storage_interfaces[to_show])) + storage_interfaces[to_show] = new /datum/storage_interface(ui_style, src) + + orient_storage() - is_using |= toshow + is_using |= to_show + + to_show.client.screen |= storage_interfaces[to_show].list_ui_elements() + to_show.client.screen |= real_location.contents - toshow.client.screen |= boxes - toshow.client.screen |= closer - toshow.client.screen |= real_location.contents return TRUE /** * Hide our storage from a mob. * * Arguments - * * mob/toshow - the mob to hide the storage from + * * mob/to_hide - the mob to hide the storage from */ /datum/storage/proc/hide_contents(mob/to_hide) if(!to_hide.client) @@ -1095,13 +1024,19 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) var/atom/movable/movable_loc = real_location movable_loc.lose_active_storage(src) + if (isnull(storage_interfaces[to_hide])) + return TRUE + is_using -= to_hide - to_hide.client.screen -= boxes - to_hide.client.screen -= closer + to_hide.client.screen -= storage_interfaces[to_hide].list_ui_elements() to_hide.client.screen -= real_location.contents + QDEL_NULL(storage_interfaces[to_hide]) + storage_interfaces -= to_hide + return TRUE + /datum/storage/proc/action_trigger(datum/source, datum/action/triggered) SIGNAL_HANDLER @@ -1112,10 +1047,54 @@ GLOBAL_LIST_EMPTY(cached_storage_typecaches) modeswitch_action = null +/// Updates views of all objects in storage and stretches UI to appropriate size +/datum/storage/proc/orient_storage() + var/adjusted_contents = length(real_location.contents) + var/list/datum/numbered_display/numbered_contents + if(numerical_stacking) + numbered_contents = process_numerical_display() + adjusted_contents = length(numbered_contents) + + //if the ammount of contents reaches some multiplier of the final column (and its not the last slot), let the player view an additional row + var/additional_row = (!(adjusted_contents % screen_max_columns) && adjusted_contents < max_slots) + + var/columns = clamp(max_slots, 1, screen_max_columns) + var/rows = clamp(CEILING(adjusted_contents / columns, 1) + additional_row, 1, screen_max_rows) + + for (var/ui_user in storage_interfaces) + storage_interfaces[ui_user].update_position(screen_start_x, screen_pixel_x, screen_start_y, screen_pixel_y, columns, rows) + + var/current_x = screen_start_x + var/current_y = screen_start_y + var/turf/our_turf = get_turf(real_location) + + var/list/obj/storage_contents = list() + if (islist(numbered_contents)) + for(var/content_type in numbered_contents) + var/datum/numbered_display/numberdisplay = numbered_contents[content_type] + storage_contents[numberdisplay.sample_object] = MAPTEXT("[(numberdisplay.number > 1)? "[numberdisplay.number]" : ""]") + else + for(var/obj/item as anything in real_location) + storage_contents[item] = "" + + for(var/obj/item as anything in storage_contents) + item.mouse_opacity = MOUSE_OPACITY_OPAQUE + item.screen_loc = "[current_x]:[screen_pixel_x],[current_y]:[screen_pixel_y]" + item.maptext = storage_contents[item] + SET_PLANE(item, ABOVE_HUD_PLANE, our_turf) + current_x++ + if(current_x - screen_start_x < columns) + continue + current_x = screen_start_x + + current_y++ + if(current_y - screen_start_y >= rows) + break + /** * Toggles the collectmode of our storage. * - * @param mob/toshow the mob toggling us + * @param mob/to_show the mob toggling us */ /datum/storage/proc/toggle_collection_mode(mob/user) collection_mode = (collection_mode + 1) % 3 diff --git a/code/datums/storage/storage_interface.dm b/code/datums/storage/storage_interface.dm new file mode 100644 index 0000000000000..cd28b9eb3f7a1 --- /dev/null +++ b/code/datums/storage/storage_interface.dm @@ -0,0 +1,68 @@ +/// Datum tracker for storage UI +/datum/storage_interface + /// UI elements for this theme + var/atom/movable/screen/close/closer + var/atom/movable/screen/storage/cells + var/atom/movable/screen/storage/corner/corner_top_left + var/atom/movable/screen/storage/corner/top_right/corner_top_right + var/atom/movable/screen/storage/corner/bottom_left/corner_bottom_left + var/atom/movable/screen/storage/corner/bottom_right/corner_bottom_right + var/atom/movable/screen/storage/rowjoin/rowjoin_left + var/atom/movable/screen/storage/rowjoin/right/rowjoin_right + + /// Storage that owns us + var/datum/storage/parent_storage + +/datum/storage_interface/New(ui_style, parent_storage) + ..() + src.parent_storage = parent_storage + closer = new(null, null, parent_storage) + cells = new(null, null, parent_storage) + corner_top_left = new(null, null, parent_storage) + corner_top_right = new(null, null, parent_storage) + corner_bottom_left = new(null, null, parent_storage) + corner_bottom_right = new(null, null, parent_storage) + rowjoin_left = new(null, null, parent_storage) + rowjoin_right = new(null, null, parent_storage) + for (var/atom/movable/screen/ui_elem as anything in list_ui_elements()) + ui_elem.icon = ui_style + +/// Returns all UI elements under this theme +/datum/storage_interface/proc/list_ui_elements() + return list(cells, corner_top_left, corner_top_right, corner_bottom_left, corner_bottom_right, rowjoin_left, rowjoin_right, closer) + +/datum/storage_interface/Destroy(force) + QDEL_NULL(cells) + QDEL_NULL(corner_top_left) + QDEL_NULL(corner_top_right) + QDEL_NULL(corner_bottom_left) + QDEL_NULL(corner_bottom_right) + QDEL_NULL(rowjoin_left) + QDEL_NULL(rowjoin_right) + parent_storage = null + return ..() + +/// Updates position of all UI elements +/datum/storage_interface/proc/update_position(screen_start_x, screen_pixel_x, screen_start_y, screen_pixel_y, columns, rows) + var/start_pixel_x = screen_start_x * 32 + screen_pixel_x + var/start_pixel_y = screen_start_y * 32 + screen_pixel_y + var/end_pixel_x = start_pixel_x + (columns - 1) * 32 + var/end_pixel_y = start_pixel_y + (rows - 1) * 32 + + cells.screen_loc = spanning_screen_loc(start_pixel_x, start_pixel_y, end_pixel_x, end_pixel_y) + var/left_edge_loc = spanning_screen_loc(min(start_pixel_x + 32, end_pixel_x), start_pixel_y, end_pixel_x, end_pixel_y) + var/right_edge_loc = spanning_screen_loc(start_pixel_x, start_pixel_y, max(start_pixel_x, end_pixel_x - 32), end_pixel_y) + corner_top_left.screen_loc = left_edge_loc + corner_bottom_left.screen_loc = left_edge_loc + corner_top_right.screen_loc = right_edge_loc + corner_bottom_right.screen_loc = right_edge_loc + + var/row_left_loc = spanning_screen_loc(start_pixel_x, start_pixel_y + 27, start_pixel_x, start_pixel_y + 27 + max(0, rows - 2) * 32) + rowjoin_left.screen_loc = row_left_loc + rowjoin_left.alpha = (rows > 1) * 255 + + var/row_right_loc = spanning_screen_loc(end_pixel_x, start_pixel_y + 27, end_pixel_x, start_pixel_y + 27 + max(0, rows - 2) * 32) + rowjoin_right.screen_loc = row_right_loc + rowjoin_right.alpha = (rows > 1) * 255 + + closer.screen_loc = "[screen_start_x + columns]:[screen_pixel_x - 5],[screen_start_y]:[screen_pixel_y]" diff --git a/code/datums/storage/subtypes/pockets.dm b/code/datums/storage/subtypes/pockets.dm index d441c6fdc5ff6..edf3816c274ee 100644 --- a/code/datums/storage/subtypes/pockets.dm +++ b/code/datums/storage/subtypes/pockets.dm @@ -108,7 +108,7 @@ /obj/item/ammo_box/magazine/toy/pistol, /obj/item/ammo_casing, /obj/item/lipstick, - /obj/item/clothing/mask/cigarette, + /obj/item/cigarette, /obj/item/lighter, /obj/item/match, /obj/item/holochip, @@ -116,7 +116,7 @@ /obj/item/reagent_containers/cup/glass/flask), list(/obj/item/screwdriver/power, /obj/item/ammo_casing/rocket, - /obj/item/clothing/mask/cigarette/pipe, + /obj/item/cigarette/pipe, /obj/item/toy/crayon/spraycan) ) @@ -134,7 +134,7 @@ /obj/item/ammo_box/magazine/m9mm, /obj/item/ammo_casing, /obj/item/bikehorn, - /obj/item/clothing/mask/cigarette, + /obj/item/cigarette, /obj/item/dnainjector, /obj/item/firing_pin, /obj/item/holochip, @@ -158,7 +158,7 @@ ), cant_hold_list = list( /obj/item/ammo_casing/rocket, - /obj/item/clothing/mask/cigarette/pipe, + /obj/item/cigarette/pipe, /obj/item/screwdriver/power, /obj/item/toy/crayon/spraycan, ), diff --git a/code/datums/wounds/cranial_fissure.dm b/code/datums/wounds/cranial_fissure.dm index 9bd9969f428cd..0b7c00dee7e32 100644 --- a/code/datums/wounds/cranial_fissure.dm +++ b/code/datums/wounds/cranial_fissure.dm @@ -12,10 +12,16 @@ viable_zones = list(BODY_ZONE_HEAD) /datum/wound_pregen_data/cranial_fissure/get_weight(obj/item/bodypart/limb, woundtype, damage, attack_direction, damage_source) - if (limb.owner?.stat < HARD_CRIT) - return 0 + if (isnull(limb.owner)) + return ..() - return ..() + if (HAS_TRAIT(limb.owner, TRAIT_CURSED) && (limb.get_mangled_state() & BODYPART_MANGLED_INTERIOR)) + return ..() + + if (limb.owner.stat >= HARD_CRIT) + return ..() + + return 0 /// A wound applied when receiving significant enough damage to the head. /// Will allow other players to take your eyes out of your head, and slipping diff --git a/code/game/area/areas.dm b/code/game/area/areas.dm index 347dfc480b95f..36ce8c5a24fe4 100644 --- a/code/game/area/areas.dm +++ b/code/game/area/areas.dm @@ -540,26 +540,9 @@ GLOBAL_LIST_EMPTY(teleportlocs) for(var/atom/movable/recipient as anything in arrived.important_recursive_contents[RECURSIVE_CONTENTS_AREA_SENSITIVE]) SEND_SIGNAL(recipient, COMSIG_ENTER_AREA, src) - if(!isliving(arrived)) - return - - var/mob/living/L = arrived - if(!L.ckey) - return - - if(ambient_buzz != old_area.ambient_buzz) - L.refresh_looping_ambience() - -///Tries to play looping ambience to the mobs. -/mob/proc/refresh_looping_ambience() - var/area/my_area = get_area(src) - - if(!(client?.prefs.read_preference(/datum/preference/toggle/sound_ship_ambience)) || !my_area.ambient_buzz) - SEND_SOUND(src, sound(null, repeat = 0, wait = 0, channel = CHANNEL_BUZZ)) - return - - SEND_SOUND(src, sound(my_area.ambient_buzz, repeat = 1, wait = 0, volume = my_area.ambient_buzz_vol, channel = CHANNEL_BUZZ)) - + if(ismob(arrived)) + var/mob/mob = arrived + mob.update_ambience_area(src) /** * Called when an atom exits an area diff --git a/code/game/area/areas/shuttles.dm b/code/game/area/areas/shuttles.dm index e27d330ae250e..504efe0742ad1 100644 --- a/code/game/area/areas/shuttles.dm +++ b/code/game/area/areas/shuttles.dm @@ -73,6 +73,11 @@ name = "Russian Cargo Hauler" requires_power = TRUE +/area/shuttle/hunter/mi13_foodtruck + name = "Perfectly Ordinary Food Truck" + requires_power = TRUE + ambience_index = AMBIENCE_DANGER + ////////////////////////////White Ship//////////////////////////// /area/shuttle/abandoned diff --git a/code/game/atom/atom_tool_acts.dm b/code/game/atom/atom_tool_acts.dm index bacdae83b1316..d055f22759e3e 100644 --- a/code/game/atom/atom_tool_acts.dm +++ b/code/game/atom/atom_tool_acts.dm @@ -9,6 +9,11 @@ SHOULD_CALL_PARENT(TRUE) PROTECTED_PROC(TRUE) + if(!user.combat_mode) + var/tool_return = tool_act(user, tool, modifiers) + if(tool_return) + return tool_return + var/is_right_clicking = LAZYACCESS(modifiers, RIGHT_CLICK) var/is_left_clicking = !is_right_clicking var/early_sig_return = NONE @@ -45,10 +50,36 @@ if(interact_return) return interact_return + return NONE + +/** + * + * ## Tool Act + * + * Handles using specific tools on this atom directly. + * Only called when combat mode is off. + * + * Handles the tool_acts in particular, such as wrenches and screwdrivers. + * + * This can be overriden to handle unique "tool interactions" + * IE using an item like a tool (when it's not actually one) + * This is particularly useful for things that shouldn't be inserted into storage + * (because tool acting runs before storage checks) + * but otherwise does nothing that [item_interaction] doesn't already do. + * + * In other words, use sparingly. It's harder to use (correctly) than [item_interaction]. + */ +/atom/proc/tool_act(mob/living/user, obj/item/tool, list/modifiers) + SHOULD_CALL_PARENT(TRUE) + PROTECTED_PROC(TRUE) + var/tool_type = tool.tool_behaviour - if(!tool_type) // here on only deals with ... tools + if(!tool_type) return NONE + var/is_right_clicking = LAZYACCESS(modifiers, RIGHT_CLICK) + var/is_left_clicking = !is_right_clicking + var/list/processing_recipes = list() var/signal_result = is_left_clicking \ ? SEND_SIGNAL(src, COMSIG_ATOM_TOOL_ACT(tool_type), user, tool, processing_recipes) \ @@ -57,6 +88,7 @@ return signal_result if(length(processing_recipes)) process_recipes(user, tool, processing_recipes) + return ITEM_INTERACT_SUCCESS if(QDELETED(tool)) return ITEM_INTERACT_SUCCESS // Safe-ish to assume that if we deleted our item something succeeded @@ -291,3 +323,23 @@ /// Called on an object when a tool with analyzer capabilities is used to right click an object /atom/proc/analyzer_act_secondary(mob/living/user, obj/item/tool) return + +/** + * Called before this item is placed into a storage container + * via the item clicking on the target atom + * + * Returning FALSE will prevent the item from being stored. + */ +/obj/item/proc/storage_insert_on_interaction(datum/storage, atom/storage_holder, mob/user) + return TRUE + +/** + * Called before an item is put into this atom's storage datum via the item clicking on this atom + * + * This can be used to add item-atom interactions that you want handled before inserting something into storage + * (But it's also fairly snowflakey) + * + * Returning FALSE will block that item from being put into our storage. + */ +/atom/proc/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) + return TRUE diff --git a/code/game/machinery/autolathe.dm b/code/game/machinery/autolathe.dm index c1baa172dbfd3..d1025b52b321f 100644 --- a/code/game/machinery/autolathe.dm +++ b/code/game/machinery/autolathe.dm @@ -29,8 +29,11 @@ var/datum/component/material_container/materials ///direction we output onto (if 0, on top of us) var/drop_direction = 0 + //looping sound for printing items + var/datum/looping_sound/lathe_print/print_sound /obj/machinery/autolathe/Initialize(mapload) + print_sound = new(src, FALSE) materials = AddComponent( \ /datum/component/material_container, \ SSmaterials.materials_by_category[MAT_CATEGORY_ITEM_MATERIAL], \ @@ -48,6 +51,7 @@ register_context() /obj/machinery/autolathe/Destroy() + QDEL_NULL(print_sound) materials = null QDEL_NULL(wires) return ..() @@ -125,7 +129,6 @@ ui = new(user, src, "Autolathe") ui.open() - /** * Converts all the designs supported by this autolathe into UI data * Arguments @@ -187,7 +190,6 @@ return data - /obj/machinery/autolathe/ui_assets(mob/user) return list( get_asset_datum(/datum/asset/spritesheet/sheetmaterials), @@ -292,6 +294,8 @@ busy = TRUE icon_state = "autolathe_n" SStgui.update_uis(src) + // play this after all checks passed individually for each item. + print_sound.start() var/turf/target_location if(drop_direction) target_location = get_step(src, drop_direction) @@ -389,7 +393,7 @@ */ /obj/machinery/autolathe/proc/finalize_build() PROTECTED_PROC(TRUE) - + print_sound.stop() icon_state = initial(icon_state) busy = FALSE SStgui.update_uis(src) diff --git a/code/game/machinery/computer/apc_control.dm b/code/game/machinery/computer/apc_control.dm index 2b5cfa14c7c28..97bf368d3e25e 100644 --- a/code/game/machinery/computer/apc_control.dm +++ b/code/game/machinery/computer/apc_control.dm @@ -205,3 +205,6 @@ . = ..() if(active_apc) disconnect_apc() + +/obj/machinery/computer/apc_control/away + req_access = list(ACCESS_AWAY_ENGINEERING) diff --git a/code/game/machinery/computer/arcade/battle.dm b/code/game/machinery/computer/arcade/battle.dm index b97dac9e15dad..9733759b5caf4 100644 --- a/code/game/machinery/computer/arcade/battle.dm +++ b/code/game/machinery/computer/arcade/battle.dm @@ -505,7 +505,7 @@ return TRUE if(BATTLE_ARCADE_PLAYER_HEAVY_ATTACK) if(player_current_mp < SPELL_MP_COST) - say("You don't have enough MP to counterattack!") + say("You don't have enough MP to heavy attack!") player_turn = TRUE return TRUE player_current_mp -= SPELL_MP_COST diff --git a/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm b/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm index de2f3d82275b2..c8cfa12f9abfe 100644 --- a/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm +++ b/code/game/machinery/computer/orders/order_items/mining/order_consumables.dm @@ -31,11 +31,11 @@ cost_per_order = 100 /datum/orderable_item/consumables/havana_cigars - item_path = /obj/item/clothing/mask/cigarette/cigar/havana + item_path = /obj/item/cigarette/cigar/havana cost_per_order = 150 /datum/orderable_item/consumables/havana_cigars - item_path = /obj/item/clothing/mask/cigarette/cigar/havana + item_path = /obj/item/cigarette/cigar/havana cost_per_order = 150 /datum/orderable_item/consumables/tracking_implants diff --git a/code/game/machinery/computer/telescreen.dm b/code/game/machinery/computer/telescreen.dm index 2c17e1e088a6b..c421ca0c90308 100644 --- a/code/game/machinery/computer/telescreen.dm +++ b/code/game/machinery/computer/telescreen.dm @@ -148,6 +148,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai ) frame_type = /obj/item/wallframe/telescreen/rd +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/rd, 32) + /obj/item/wallframe/telescreen/rd name = "\improper Research Director's telescreen frame" result_path = /obj/machinery/computer/security/telescreen/rd @@ -162,6 +164,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "research telescreen frame" result_path = /obj/machinery/computer/security/telescreen/research +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/research, 32) + /obj/machinery/computer/security/telescreen/ce name = "\improper Chief Engineer's telescreen" desc = "Used for watching the engine, telecommunications and the minisat." @@ -172,6 +176,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "\improper Chief Engineer's telescreen frame" result_path = /obj/machinery/computer/security/telescreen/ce +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/ce, 32) + /obj/machinery/computer/security/telescreen/cmo name = "\improper Chief Medical Officer's telescreen" desc = "A telescreen with access to the medbay's camera network." @@ -182,6 +188,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "\improper Chief Engineer'stelescreen frame" result_path = /obj/machinery/computer/security/telescreen/cmo +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/cmo, 32) + /obj/machinery/computer/security/telescreen/vault name = "vault monitor" desc = "A telescreen that connects to the vault's camera network." @@ -192,6 +200,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "vault telescreen frame" result_path = /obj/machinery/computer/security/telescreen/vault +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/vault, 32) + /obj/machinery/computer/security/telescreen/ordnance name = "bomb test site monitor" desc = "A telescreen that connects to the bomb test site's camera." @@ -202,6 +212,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "bomb test site telescreen frame" result_path = /obj/machinery/computer/security/telescreen/ordnance +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/ordnance, 32) + /obj/machinery/computer/security/telescreen/engine name = "engine monitor" desc = "A telescreen that connects to the engine's camera network." @@ -212,6 +224,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "engine telescreen frame" result_path = /obj/machinery/computer/security/telescreen/engine +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/engine, 32) + /obj/machinery/computer/security/telescreen/turbine name = "turbine monitor" desc = "A telescreen that connects to the turbine's camera." @@ -222,6 +236,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "turbine telescreen frame" result_path = /obj/machinery/computer/security/telescreen/turbine +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/turbine, 32) + /obj/machinery/computer/security/telescreen/interrogation name = "interrogation room monitor" desc = "A telescreen that connects to the interrogation room's camera." @@ -232,6 +248,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "interrogation telescreen frame" result_path = /obj/machinery/computer/security/telescreen/interrogation +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/interrogation, 32) + /obj/machinery/computer/security/telescreen/prison name = "prison monitor" desc = "A telescreen that connects to the permabrig's camera network." @@ -242,6 +260,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "prison telescreen frame" result_path = /obj/machinery/computer/security/telescreen/prison +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/prison, 32) + /obj/machinery/computer/security/telescreen/auxbase name = "auxiliary base monitor" desc = "A telescreen that connects to the auxiliary base's camera." @@ -252,6 +272,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "auxiliary base telescreen frame" result_path = /obj/machinery/computer/security/telescreen/auxbase +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/auxbase, 32) + /obj/machinery/computer/security/telescreen/minisat name = "minisat monitor" desc = "A telescreen that connects to the minisat's camera network." @@ -262,6 +284,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "minisat telescreen frame" result_path = /obj/machinery/computer/security/telescreen/minisat +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/minisat, 32) + /obj/machinery/computer/security/telescreen/aiupload name = "\improper AI upload monitor" desc = "A telescreen that connects to the AI upload's camera network." @@ -272,6 +296,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "\improper AI upload telescreen frame" result_path = /obj/machinery/computer/security/telescreen/aiupload +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/aiupload, 32) + /obj/machinery/computer/security/telescreen/bar name = "bar monitor" desc = "A telescreen that connects to the bar's camera network. Perfect for checking on customers." @@ -282,6 +308,129 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/entertai name = "bar telescreen frame" result_path = /obj/machinery/computer/security/telescreen/bar +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/bar, 32) + +/obj/machinery/computer/security/telescreen/isolation + name = "isolation cell monitor" + desc = "A telescreen that connects to the isolation cells camera network." + network = list(CAMERANET_NETWORK_ISOLATION) + frame_type = /obj/item/wallframe/telescreen/bar + +/obj/item/wallframe/telescreen/isolation + name = "isolation telescreen frame" + result_path = /obj/machinery/computer/security/telescreen/isolation + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/isolation, 32) + +/obj/machinery/computer/security/telescreen/normal + name = "security camera monitor" + desc = "A telescreen that connects to the stations camera network." + network = list(CAMERANET_NETWORK_SS13) + frame_type = /obj/item/wallframe/telescreen/normal + +/obj/item/wallframe/telescreen/normal + name = "security camera telescreen frame" + result_path = /obj/machinery/computer/security/telescreen/normal + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/normal, 32) + +/obj/machinery/computer/security/telescreen/tcomms + name = "tcomms camera monitor" + desc = "A telescreen that connects to the tcomms camera network." + network = list(CAMERANET_NETWORK_TELECOMMS) + frame_type = /obj/item/wallframe/telescreen/tcomms + +/obj/item/wallframe/telescreen/tcomms + name = "tcomms camera telescreen frame" + result_path = /obj/machinery/computer/security/telescreen/tcomms + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/tcomms, 32) + +/obj/machinery/computer/security/telescreen/test_chamber + name = "xenobiology test chamber camera monitor" + desc = "A telescreen that connects to the xenobiology test chamber camera network." + network = list(CAMERANET_NETWORK_XENOBIOLOGY) + frame_type = /obj/item/wallframe/telescreen/test_chamber + +/obj/item/wallframe/telescreen/test_chamber + name = "xenobiology test chamber camera telescreen frame" + result_path = /obj/machinery/computer/security/telescreen/test_chamber + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/test_chamber, 32) + +/obj/machinery/computer/security/telescreen/engine_waste + name = "\improper Engine Waste Monitor" + desc = "A telescreen that connects to the engine waste camera network." + network = list(CAMERANET_NETWORK_WASTE) + frame_type = /obj/item/wallframe/telescreen/engine_waste + +/obj/item/wallframe/telescreen/engine_waste + name = "\improper Engine Waste telescreen frame" + result_path = /obj/machinery/computer/security/telescreen/engine_waste + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/engine_waste, 32) + +/obj/machinery/computer/security/telescreen/cargo_sec + name = "cargo camera monitor" + desc = "A telescreen that connects to the cargo and main station camera network." + network = list(CAMERANET_NETWORK_SS13, + CAMERA_NETWORK_CARGO, + ) + frame_type = /obj/item/wallframe/telescreen/cargo_sec + +/obj/item/wallframe/telescreen/cargo_sec + name = "cargo telescreen frame" + result_path = /obj/machinery/computer/security/telescreen/cargo_sec + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/cargo_sec, 32) + +// This is used in moonoutpost19.dmm +/obj/machinery/computer/security/telescreen/moon_outpost + +/obj/machinery/computer/security/telescreen/moon_outpost/research + name = "research monitor" + desc = "Used for monitoring the research division and the labs within." + network = list(CAMERANET_NETWORK_MOON19_RESEARCH, + CAMERANET_NETWORK_MOON19_XENO, + ) + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/moon_outpost/research, 32) + +/obj/machinery/computer/security/telescreen/moon_outpost/xenobio + name = "xenobiology monitor" + desc = "Used for watching the contents of the xenobiology containment pen." + network = list(CAMERANET_NETWORK_MOON19_XENO) + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/moon_outpost/xenobio, 32) + +// This is used in undergroundoutpost45.dmm +/obj/machinery/computer/security/telescreen/underground_outpost + +/obj/machinery/computer/security/telescreen/underground_outpost/research + name = "research monitor" + desc = "Used for monitoring the research division and the labs within." + network = list(CAMERANET_NETWORK_UGO45_RESEARCH) + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/underground_outpost/research, 32) + +// This is used in forgottenship.dmm +/obj/machinery/computer/security/telescreen/forgotten_ship + +/obj/machinery/computer/security/telescreen/forgotten_ship/sci + name = "Cameras monitor" + network = list(CAMERANET_NETWORK_FSCI) + req_access = list("syndicate") + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/forgotten_ship/sci, 32) + +// This is used in deepstorage.dmm +/obj/machinery/computer/security/telescreen/deep_storage + +/obj/machinery/computer/security/telescreen/deep_storage/bunker + name = "Bunker Entrance monitor" + network = list(CAMERA_NETWORK_BUNKER) + +MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/computer/security/telescreen/deep_storage/bunker, 32) /// A button that adds a camera network to the entertainment monitors /obj/machinery/button/showtime diff --git a/code/game/machinery/doors/airlock.dm b/code/game/machinery/doors/airlock.dm index 37310e2aceb49..67f069c062c4c 100644 --- a/code/game/machinery/doors/airlock.dm +++ b/code/game/machinery/doors/airlock.dm @@ -611,7 +611,9 @@ . = ..() if(closeOtherId) . += span_warning("This airlock cycles on ID: [sanitize(closeOtherId)].") - else if(!closeOtherId) + else if(cyclelinkedairlock) + . += span_warning("This airlock cycles with: [cyclelinkedairlock.name].") + else . += span_warning("This airlock does not cycle.") if(obj_flags & EMAGGED) . += span_warning("Its access panel is smoking slightly.") diff --git a/code/game/machinery/doors/brigdoors.dm b/code/game/machinery/doors/brigdoors.dm index 34a161acac1b3..26dc09204a70c 100644 --- a/code/game/machinery/doors/brigdoors.dm +++ b/code/game/machinery/doors/brigdoors.dm @@ -173,21 +173,21 @@ * * seconds - Return the time in seconds if TRUE, else deciseconds. */ /obj/machinery/status_display/door_timer/proc/time_left(seconds = FALSE) - . = max(0, timer_duration + activation_time - world.time) + . = max(0, timer_duration + (activation_time ? activation_time - world.time : 0)) if(seconds) . /= (1 SECONDS) /** * Set the timer. Does NOT automatically start counting down, but does update the display. * - * returns TRUE if no change occurred + * returns FALSE if no change occurred * * Arguments: * value - time in deciseconds to set the timer for. */ /obj/machinery/status_display/door_timer/proc/set_timer(value) - var/new_time = clamp(value, 0, MAX_TIMER + world.time - activation_time) - . = new_time == timer_duration //return 1 on no change + var/new_time = clamp(value, 0, MAX_TIMER) + . = new_time != timer_duration //return 1 on change timer_duration = new_time update_content() diff --git a/code/game/machinery/doors/windowdoor.dm b/code/game/machinery/doors/windowdoor.dm index c69c865f6d122..8dca3d1bdadb2 100644 --- a/code/game/machinery/doors/windowdoor.dm +++ b/code/game/machinery/doors/windowdoor.dm @@ -111,9 +111,9 @@ return autoclose = TRUE if(check_access(null)) - sleep(5 SECONDS) + sleep(8 SECONDS) else //secure doors close faster - sleep(2 SECONDS) + sleep(5 SECONDS) if(!density && autoclose) //did someone change state while we slept? close() @@ -317,6 +317,13 @@ /obj/machinery/door/window/narsie_act() add_atom_colour(NARSIE_WINDOW_COLOUR, FIXED_COLOUR_PRIORITY) +/obj/machinery/door/window/rust_heretic_act() + add_atom_colour(COLOR_RUSTED_GLASS, FIXED_COLOUR_PRIORITY) + AddElement(/datum/element/rust) + set_armor(/datum/armor/none) + take_damage(get_integrity() * 0.5) + modify_max_integrity(max_integrity * 0.5) + /obj/machinery/door/window/should_atmos_process(datum/gas_mixture/air, exposed_temperature) return (exposed_temperature > T0C + (reinf ? 1600 : 800)) diff --git a/code/game/machinery/flatpacker.dm b/code/game/machinery/flatpacker.dm index 03382dce8d81e..182db1edc08d9 100644 --- a/code/game/machinery/flatpacker.dm +++ b/code/game/machinery/flatpacker.dm @@ -1,4 +1,6 @@ +///Incremets an an value assosiated by an key in the list creating that value if nessassary #define CREATE_AND_INCREMENT(L, I, increment) if(!(I in L)) { L[I] = 0; } L[I] += increment; + /obj/machinery/flatpacker name = "flatpacker" desc = "It produces items using iron, glass, plastic and maybe some more." @@ -27,6 +29,8 @@ var/flatpack_time = 4.5 SECONDS /obj/machinery/flatpacker/Initialize(mapload) + register_context() + materials = AddComponent( \ /datum/component/material_container, \ SSmaterials.materials_by_category[MAT_CATEGORY_SILO], \ @@ -34,10 +38,64 @@ MATCONTAINER_EXAMINE, \ container_signals = list(COMSIG_MATCONTAINER_ITEM_CONSUMED = TYPE_PROC_REF(/obj/machinery/flatpacker, AfterMaterialInsert)) \ ) + return ..() +/obj/machinery/flatpacker/Destroy() + materials = null + QDEL_NULL(inserted_board) + . = ..() + +/obj/machinery/flatpacker/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = NONE + if(!QDELETED(inserted_board)) + context[SCREENTIP_CONTEXT_CTRL_LMB] = "Eject board" + . = CONTEXTUAL_SCREENTIP_SET + + if(!isnull(held_item)) + if(istype(held_item, /obj/item/circuitboard/machine)) + context[SCREENTIP_CONTEXT_LMB] = "Insert board" + return CONTEXTUAL_SCREENTIP_SET + else 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 + +/obj/machinery/flatpacker/examine(mob/user) + . += ..() + if(!in_range(user, src) && !isobserver(user)) + return + + . += span_notice("The status display reads:") + . += span_notice("Capable of packing up to Tier [max_part_tier].") + . += span_notice("Storing up to [materials.max_amount] material units.") + . += span_notice("Material consumption at [creation_efficiency * 100]%") + + . += span_notice("Its maintainence panel can be [EXAMINE_HINT("screwed")] [panel_open ? "close" : "open"]") + if(panel_open) + . += span_notice("It can be [EXAMINE_HINT("pried")] apart") + if(!QDELETED(inserted_board)) + . += span_notice("The board can be ejected via [EXAMINE_HINT("Ctrl Click")]") + +/obj/machinery/flatpacker/update_overlays() + . = ..() + + if(!QDELETED(inserted_board)) + . += mutable_appearance(icon, "[base_icon_state]_c") + +/obj/machinery/flatpacker/Exited(atom/movable/gone, direction) + . = ..() + if(gone == inserted_board) + inserted_board = null + needed_mats.Cut() + print_tier = 1 + update_appearance(UPDATE_OVERLAYS) + /obj/machinery/flatpacker/RefreshParts() . = ..() + var/mat_capacity = 0 for(var/datum/stock_part/matter_bin/new_matter_bin in component_parts) mat_capacity += new_matter_bin.tier * 25 * SHEET_MATERIAL_AMOUNT @@ -51,220 +109,250 @@ efficiency -= laser.tier * 0.2 creation_efficiency = max(1.2, efficiency) -/obj/machinery/flatpacker/examine(mob/user) - . += ..() - if(in_range(user, src) || isobserver(user)) - . += span_notice("The status display reads:") - . += span_notice("Capable of packing up to Tier [max_part_tier].") - . += span_notice("Storing up to [materials.max_amount] material units.") - . += span_notice("Material consumption at [creation_efficiency*100]%") - /obj/machinery/flatpacker/proc/AfterMaterialInsert(container, obj/item/item_inserted, last_inserted_id, mats_consumed, amount_inserted, atom/context) SIGNAL_HANDLER - flick_overlay_view("[base_icon_state]_[item_inserted.has_material_type(/datum/material/glass) ? "glass" : "metal"]", 1.4 SECONDS) + //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_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', "flatpacker_bar"), 1 SECONDS) - directly_use_energy(min(active_power_usage * 0.25, amount_inserted / 100)) + var/datum/material/highest_mat_ref + var/highest_mat = 0 + for(var/datum/material/mat as anything in mats_consumed) + var/present_mat = mats_consumed[mat] + if(present_mat > highest_mat) + highest_mat = present_mat + highest_mat_ref = mat -/obj/machinery/flatpacker/update_overlays() - . = ..() + flick_overlay_view(material_insertion_animation(highest_mat_ref.greyscale_colors), 1 SECONDS) - if(!isnull(inserted_board)) - . += mutable_appearance(icon, "[base_icon_state]_c") - -/obj/machinery/flatpacker/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "Flatpacker") - ui.open() +/** + * Attempts to find the total material cost of a typepath (including our creation efficiency), modifying a list + * The list is modified as an assoc list: Material datum typepath = Cost + * If the type is found on a techweb, uses material costs from there + * Otherwise, the typepath is created in nullspace and fetches materials from the initialized one, then deleted. + * + * Args: + * part_type - Typepath of the item we are trying to find the costs of + * costs - Assoc list we modify and return + */ +/obj/machinery/flatpacker/proc/analyze_cost(part_type, costs) + PRIVATE_PROC(TRUE) -/obj/machinery/flatpacker/ui_static_data(mob/user) - return materials.ui_static_data() + var/comp_type = part_type + if(ispath(part_type, /datum/stock_part)) + var/datum/stock_part/as_part = part_type + comp_type = initial(as_part.physical_object_type) + if(as_part.tier > print_tier) + print_tier = as_part.tier -/obj/machinery/flatpacker/ui_data(mob/user) - var/list/data = list() - - var/atom/build = initial(inserted_board.build_path) - data["materials"] = materials.ui_data() - data["boardInserted"] = !isnull(inserted_board) - data["busy"] = busy - var/list/cost_mats = list() - for(var/datum/material/mat_type as anything in needed_mats) - var/list/new_entry = list() - new_entry["name"] = initial(mat_type.name) - new_entry["amount"] = needed_mats[mat_type] - cost_mats += list(new_entry) + var/list/mat_list + var/obj/item/null_comp + if(!isnull(SSresearch.item_to_design[comp_type])) + mat_list = SSresearch.item_to_design[comp_type][1].materials + else + var/datum/stock_part/part = GLOB.stock_part_datums_per_object[comp_type] + if(part) + mat_list = part.physical_object_reference.custom_materials + else + null_comp = new comp_type + mat_list = null_comp.custom_materials - var/list/design - if(data["boardInserted"]) - var/disableReason = "" - var/has_materials = materials.has_materials(needed_mats, creation_efficiency) - if(!has_materials) - disableReason += "Not enough materials. " - if(print_tier > max_part_tier) - disableReason += "This design is too advanced for this machine. " - design = list( - "name" = initial(build.name), - "requiredMaterials" = cost_mats, - "icon" = icon2base64(icon(initial(build.icon), initial(build.icon_state), frame = 1)), - "canPrint" = has_materials && print_tier <= max_part_tier, - "disableReason" = disableReason - ) - data["design"] = design - return data + for(var/atom/mat as anything in mat_list) + CREATE_AND_INCREMENT(costs, mat.type, mat_list[mat] * inserted_board.req_components[part_type]) -/obj/machinery/flatpacker/ui_assets(mob/user) - return list( - get_asset_datum(/datum/asset/spritesheet/sheetmaterials), - get_asset_datum(/datum/asset/spritesheet/research_designs), - ) + if(null_comp) + qdel(null_comp) + return costs /obj/machinery/flatpacker/item_interaction(mob/living/user, obj/item/attacking_item, params) + . = NONE + if(user.combat_mode || attacking_item.flags_1 & HOLOGRAM_1 || attacking_item.item_flags & ABSTRACT) + return ITEM_INTERACT_SKIP_TO_ATTACK + if(istype(attacking_item, /obj/item/circuitboard/machine)) if(busy) balloon_alert(user, "busy!") return ITEM_INTERACT_BLOCKING if (!user.transferItemToLoc(attacking_item, src)) return ITEM_INTERACT_BLOCKING + // If insertion was successful and there's already a diskette in the console, eject the old one. if(inserted_board) inserted_board.forceMove(drop_location()) - inserted_board = attacking_item - // 5 sheets of iron and 5 of cable coil - needed_mats = list() + + //compute the needed mats from its stock parts for(var/type as anything in inserted_board.req_components) needed_mats = analyze_cost(type, needed_mats) + // 5 sheets of iron and 5 of cable coil CREATE_AND_INCREMENT(needed_mats, /datum/material/iron, (SHEET_MATERIAL_AMOUNT * 5 + (SHEET_MATERIAL_AMOUNT / 20))) CREATE_AND_INCREMENT(needed_mats, /datum/material/glass, (SHEET_MATERIAL_AMOUNT / 20)) - update_appearance() + update_appearance(UPDATE_OVERLAYS) return ITEM_INTERACT_SUCCESS - return NONE +/obj/machinery/flatpacker/screwdriver_act(mob/living/user, obj/item/tool) + . = ITEM_INTERACT_BLOCKING + if(default_deconstruction_screwdriver(user, "[base_icon_state]_o", base_icon_state, tool)) + return ITEM_INTERACT_SUCCESS -/** - * Attempts to find the total material cost of a typepath (including our creation efficiency), modifying a list - * The list is modified as an assoc list: Material datum typepath = Cost - * If the type is found on a techweb, uses material costs from there - * Otherwise, the typepath is created in nullspace and fetches materials from the initialized one, then deleted. - * - * Args: - * type - Typepath of the item we are trying to find the costs of - * costs - Assoc list we modify and return - */ -/obj/machinery/flatpacker/proc/analyze_cost(type, costs) - var/comp_type = type - if(ispath(type, /datum/stock_part)) - var/datum/stock_part/as_part = type - comp_type = initial(as_part.physical_object_type) - if(as_part.tier > print_tier) - print_tier = as_part.tier +/obj/machinery/flatpacker/crowbar_act(mob/living/user, obj/item/tool) + . = ITEM_INTERACT_BLOCKING + if(default_deconstruction_crowbar(tool)) + return ITEM_INTERACT_SUCCESS - var/by_techweb = !isnull(SSresearch.item_to_design[comp_type]) - var/obj/item/null_comp = by_techweb ? null : new comp_type - var/list/mat_list = by_techweb ? SSresearch.item_to_design[comp_type][1].materials : null_comp.custom_materials - for(var/atom/mat as anything in mat_list) - var/mat_type = mat.type +/obj/machinery/flatpacker/ui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "Flatpacker") + ui.open() - CREATE_AND_INCREMENT(costs, mat_type, mat_list[mat] * inserted_board.req_components[type]) +/obj/machinery/flatpacker/ui_assets(mob/user) + return list( + get_asset_datum(/datum/asset/spritesheet/sheetmaterials), + get_asset_datum(/datum/asset/spritesheet/research_designs), + ) - qdel(null_comp) - return costs +/obj/machinery/flatpacker/ui_static_data(mob/user) + return materials.ui_static_data() -/// Start building the currently inserted board, if possible -/obj/machinery/flatpacker/proc/start_build() - . = FALSE - if(!inserted_board) - return - if(!materials.has_materials(needed_mats, creation_efficiency)) - say("Not enough materials to begin production.") - return - if(print_tier > max_part_tier) - say("Design too complex.") - return - materials.use_materials(needed_mats, creation_efficiency) - playsound(src, 'sound/items/rped.ogg', 50, TRUE) - busy = TRUE +/obj/machinery/flatpacker/ui_data(mob/user) + . = list() - addtimer(CALLBACK(src, PROC_REF(finish_build), inserted_board), flatpack_time) - return TRUE + .["materials"] = materials.ui_data() + .["busy"] = busy -/// turns the supplied board into a flatpack, and sets the machine as not busy -/obj/machinery/flatpacker/proc/finish_build(board) - busy = FALSE - new /obj/item/flatpack(drop_location(), board) + var/list/design + if(!QDELETED(inserted_board)) + var/list/cost_mats = list() + for(var/datum/material/mat_type as anything in needed_mats) + var/list/new_entry = list() + new_entry["name"] = initial(mat_type.name) + new_entry["amount"] = OPTIMAL_COST(needed_mats[mat_type] * creation_efficiency) + cost_mats += list(new_entry) -/obj/machinery/flatpacker/Exited(atom/movable/gone, direction) - . = ..() - if(gone == inserted_board) - inserted_board = null - needed_mats = null - print_tier = 1 - update_appearance() + var/atom/build = initial(inserted_board.build_path) -/obj/machinery/flatpacker/ui_act(action, list/params) - . = ..() + var/disableReason = "" + var/has_materials = materials.has_materials(needed_mats, creation_efficiency) + if(!has_materials) + disableReason += "Not enough materials. " + if(print_tier > max_part_tier) + disableReason += "This design is too advanced for this machine. " + design = list( + "name" = initial(build.name), + "requiredMaterials" = cost_mats, + "icon" = icon2base64(icon(initial(build.icon), initial(build.icon_state), frame = 1)), + "canPrint" = has_materials && print_tier <= max_part_tier, + "disableReason" = disableReason + ) + .["design"] = design +/obj/machinery/flatpacker/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() if(.) return - switch(action) if("build") if(busy) - return FALSE - start_build() + return + + if(QDELETED(inserted_board)) + return + if(print_tier > max_part_tier) + say("Design too complex.") + return + if(!materials.has_materials(needed_mats, creation_efficiency)) + say("Not enough materials to begin production.") + return + playsound(src, 'sound/items/rped.ogg', 50, TRUE) + + busy = TRUE + flick_overlay_view(mutable_appearance('icons/obj/machines/lathes.dmi', "flatpacker_bar"), flatpack_time) + addtimer(CALLBACK(src, PROC_REF(finish_build), inserted_board), flatpack_time) return TRUE if("ejectBoard") - inserted_board.forceMove(drop_location()) + try_put_in_hand(inserted_board, ui.user) return TRUE if("eject") - var/datum/material/ejecting = locate(params["ref"]) - var/amount = text2num(params["amount"]) - if(!isnum(amount) || !istype(ejecting)) - return FALSE + var/datum/material/material = locate(params["ref"]) + if(!istype(material)) + return - materials.retrieve_sheets(amount, ejecting, drop_location()) + var/amount = params["amount"] + if(isnull(amount)) + return + + amount = text2num(amount) + if(isnull(amount)) + 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_energy(ROUND_UP((amount / MAX_STACK_SIZE) * 0.4 * initial(active_power_usage)))) + say("No power to dispense sheets") + return + + materials.retrieve_sheets(amount, material) return TRUE -/obj/machinery/flatpacker/screwdriver_act(mob/living/user, obj/item/tool) - . = ITEM_INTERACT_BLOCKING - if(default_deconstruction_screwdriver(user, icon_state, icon_state, tool)) - return ITEM_INTERACT_SUCCESS +/** + * Turns the supplied board into a flatpack, and sets the machine as not busy + * Arguments + * + * * board - the board to put inside the flatpack + */ +/obj/machinery/flatpacker/proc/finish_build(board) + PRIVATE_PROC(TRUE) -/obj/machinery/flatpacker/Destroy() - QDEL_NULL(inserted_board) - . = ..() + busy = FALSE + + materials.use_materials(needed_mats, creation_efficiency) + new /obj/item/flatpack(drop_location(), board) + + SStgui.update_uis(src) + +/obj/machinery/flatpacker/click_ctrl(mob/user) + if(QDELETED(inserted_board) || busy) + return CLICK_ACTION_BLOCKING + + try_put_in_hand(inserted_board, user) + + return CLICK_ACTION_SUCCESS + +#undef CREATE_AND_INCREMENT /obj/item/flatpack name = "flatpack" desc = "A box containing a compactly packed machine. Use multitool to deploy." icon = 'icons/obj/devices/circuitry_n_data.dmi' icon_state = "flatpack" + density = TRUE w_class = WEIGHT_CLASS_HUGE //cart time throw_range = 2 item_flags = SLOWS_WHILE_IN_HAND | IMMUTABLE_SLOW slowdown = 2.5 drag_slowdown = 3.5 //use the cart stupid + /// The board we deploy var/obj/item/circuitboard/machine/board /obj/item/flatpack/Initialize(mapload, obj/item/circuitboard/machine/new_board) + if(isnull(board) && isnull(new_board)) + return INITIALIZE_HINT_QDEL //how + . = ..() - var/static/list/tool_behaviors - if(!tool_behaviors) - tool_behaviors = string_assoc_nested_list(list( + + var/static/list/tool_behaviors = list( TOOL_MULTITOOL = list( SCREENTIP_CONTEXT_LMB = "Deploy", ), - )) + ) AddElement(/datum/element/contextual_screentip_tools, tool_behaviors) - if(isnull(board) && isnull(new_board)) - return INITIALIZE_HINT_QDEL //how board = !isnull(new_board) ? new_board : new board(src) // i got board if(board.loc != src) @@ -272,34 +360,55 @@ var/obj/machinery/build = initial(board.build_path) name += " ([initial(build.name)])" - /obj/item/flatpack/Destroy() QDEL_NULL(board) . = ..() +/obj/item/flatpack/examine(mob/user) + . = ..() + if(!in_range(user, src) && !isobserver(user)) + return + + if(loc == user) + . += span_warning("You can't deploy while holding it in your hand.") + else if(isturf(loc)) + var/turf/location = loc + if(!isopenturf(location)) + . += span_warning("Can't deploy in this location") + else if(location.is_blocked_turf(source_atom = src)) + . += span_warning("No space for deployment") + /obj/item/flatpack/multitool_act(mob/living/user, obj/item/tool) . = NONE + if(isnull(board)) return ITEM_INTERACT_BLOCKING - if(!isopenturf(loc)) - user.balloon_alert(user, "cant deploy here!") + if(loc == user) + balloon_alert(user, "can't deploy in hand") return ITEM_INTERACT_BLOCKING + else if(isturf(loc)) + var/turf/location = loc + if(!isopenturf(location)) + balloon_alert(user, "can't deploy here") + return ITEM_INTERACT_BLOCKING + else if(location.is_blocked_turf(source_atom = src)) + balloon_alert(user, "no space for deployment") + return ITEM_INTERACT_BLOCKING balloon_alert_to_viewers("deploying!") if(!do_after(user, 1 SECONDS, target = src)) return ITEM_INTERACT_BLOCKING + new /obj/effect/temp_visual/mook_dust(loc) var/obj/machinery/new_machine = new board.build_path(loc) loc.visible_message(span_warning("[src] deploys!")) playsound(src, 'sound/machines/terminal_eject.ogg', 70, TRUE) - new_machine.RefreshParts() new_machine.on_construction(user) - - for(var/mob/living/victim in loc) - step(victim, pick(GLOB.cardinals)) - qdel(src) return ITEM_INTERACT_SUCCESS +///Maximum number of flatpacks in a cart +#define MAX_FLAT_PACKS 3 + /obj/structure/flatpack_cart name = "flatpack cart" desc = "A cart specifically made to hold flatpacks from a flatpacker, evenly distributing weight. Convenient!" @@ -307,20 +416,32 @@ icon_state = "flatcart" density = TRUE opacity = FALSE - /// max flatpacks - var/max_flatpacks = 3 /obj/structure/flatpack_cart/Initialize(mapload) . = ..() + + register_context() + AddElement(/datum/element/noisy_movement, volume = 45) // i hate noise -/obj/structure/flatpack_cart/atom_destruction(damage_flag) +/obj/structure/flatpack_cart/atom_deconstruct(disassembled) for(var/atom/movable/content as anything in contents) content.forceMove(drop_location()) - return ..() + +/obj/structure/flatpack_cart/add_context(atom/source, list/context, obj/item/held_item, mob/user) + . = NONE + if(isnull(held_item)) + return + + if(istype(held_item, /obj/item/flatpack)) + context[SCREENTIP_CONTEXT_LMB] = "Load pack" + return CONTEXTUAL_SCREENTIP_SET /obj/structure/flatpack_cart/examine(mob/user) . = ..() + if(!in_range(user, src) && !isobserver(user)) + return + . += "From bottom to top, this cart contains:" for(var/obj/item/flatpack as anything in contents) . += flatpack.name @@ -343,9 +464,10 @@ update_appearance(UPDATE_OVERLAYS) /obj/structure/flatpack_cart/item_interaction(mob/living/user, obj/item/attacking_item, params) - if(!istype(attacking_item, /obj/item/flatpack)) - return NONE - if (length(contents) >= max_flatpacks) + if(!istype(attacking_item, /obj/item/flatpack) || user.combat_mode || attacking_item.flags_1 & HOLOGRAM_1 || attacking_item.item_flags & ABSTRACT) + return ITEM_INTERACT_SKIP_TO_ATTACK + + if (length(contents) >= MAX_FLAT_PACKS) balloon_alert(user, "full!") return ITEM_INTERACT_BLOCKING if (!user.transferItemToLoc(attacking_item, src)) @@ -353,4 +475,4 @@ update_appearance(UPDATE_OVERLAYS) return ITEM_INTERACT_SUCCESS -#undef CREATE_AND_INCREMENT +#undef MAX_FLAT_PACKS diff --git a/code/game/machinery/launch_pad.dm b/code/game/machinery/launch_pad.dm index f8dc9887758d4..444e44125c80a 100644 --- a/code/game/machinery/launch_pad.dm +++ b/code/game/machinery/launch_pad.dm @@ -351,15 +351,15 @@ user.transferItemToLoc(src, pad, TRUE) atom_storage.close_all() -/obj/item/storage/briefcase/launchpad/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - if(istype(inserted, /obj/item/launchpad_remote)) - var/obj/item/launchpad_remote/remote = inserted - if(remote.pad == WEAKREF(src.pad)) - return TRUE - remote.pad = WEAKREF(src.pad) - to_chat(user, span_notice("You link [pad] to [remote].")) - return FALSE // no insert - return TRUE +/obj/item/storage/briefcase/launchpad/tool_act(mob/living/user, obj/item/tool, list/modifiers) + if(!istype(tool, /obj/item/launchpad_remote)) + return ..() + var/obj/item/launchpad_remote/remote = tool + if(remote.pad == WEAKREF(src.pad)) + return ..() + remote.pad = WEAKREF(src.pad) + to_chat(user, span_notice("You link [pad] to [remote].")) + return ITEM_INTERACT_BLOCKING /obj/item/launchpad_remote name = "folder" diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index f9075b4318fac..04883800f31ef 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -42,8 +42,8 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) if(isnull(held_item)) context[SCREENTIP_CONTEXT_LMB] = area.lightswitch ? "Flick off" : "Flick on" return CONTEXTUAL_SCREENTIP_SET - if(held_item.tool_behaviour != TOOL_SCREWDRIVER) - context[SCREENTIP_CONTEXT_RMB] = "Deconstruct" + if(held_item.tool_behaviour == TOOL_SCREWDRIVER) + context[SCREENTIP_CONTEXT_LMB] = "Deconstruct" return CONTEXTUAL_SCREENTIP_SET return . @@ -69,17 +69,20 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light_switch, 26) /obj/machinery/light_switch/examine(mob/user) . = ..() . += "It is [(machine_stat & NOPOWER) ? "unpowered" : (area.lightswitch ? "on" : "off")]." + . += span_notice("It's screwed and secured to the wall.") /obj/machinery/light_switch/interact(mob/user) . = ..() set_lights(!area.lightswitch) -/obj/machinery/light_switch/attackby_secondary(obj/item/weapon, mob/user, params) - if(weapon.tool_behaviour == TOOL_SCREWDRIVER) - to_chat(user, "You pop \the [src] off the wall.") - deconstruct() - return COMPONENT_CANCEL_ATTACK_CHAIN - return ..() +/obj/machinery/light_switch/screwdriver_act(mob/living/user, obj/item/tool) + user.visible_message(span_notice("[user] starts unscrewing [src]..."), span_notice("You start unscrewing [src]...")) + if(!tool.use_tool(src, user, 40, volume = 50)) + return ITEM_INTERACT_BLOCKING + user.visible_message(span_notice("[user] unscrews [src]!"), span_notice("You detach [src] from the wall.")) + playsound(src, 'sound/items/deconstruct.ogg', 50, TRUE) + deconstruct(TRUE) + return ITEM_INTERACT_SUCCESS /obj/machinery/light_switch/proc/set_lights(status) if(area.lightswitch == status) diff --git a/code/game/machinery/porta_turret/portable_turret_cover.dm b/code/game/machinery/porta_turret/portable_turret_cover.dm index 149a0e7723ded..e81c13af60892 100644 --- a/code/game/machinery/porta_turret/portable_turret_cover.dm +++ b/code/game/machinery/porta_turret/portable_turret_cover.dm @@ -43,12 +43,12 @@ if(!parent_turret.anchored) parent_turret.set_anchored(TRUE) to_chat(user, span_notice("You secure the exterior bolts on the turret.")) - parent_turret.SetInvisibility(INVISIBILITY_NONE, id=type, priority=INVISIBILITY_PRIORITY_TURRET_COVER) + parent_turret.SetInvisibility(INVISIBILITY_MAXIMUM, id=parent_turret.type, priority=INVISIBILITY_PRIORITY_TURRET_COVER) parent_turret.update_appearance() else parent_turret.set_anchored(FALSE) to_chat(user, span_notice("You unsecure the exterior bolts on the turret.")) - parent_turret.SetInvisibility(INVISIBILITY_MAXIMUM, id=type, priority=INVISIBILITY_PRIORITY_TURRET_COVER) + parent_turret.SetInvisibility(INVISIBILITY_NONE, id=parent_turret.type, priority=INVISIBILITY_PRIORITY_TURRET_COVER) parent_turret.update_appearance() qdel(src) return diff --git a/code/game/machinery/shieldgen.dm b/code/game/machinery/shieldgen.dm index 4e7a80e166388..d961c68dc8ed6 100644 --- a/code/game/machinery/shieldgen.dm +++ b/code/game/machinery/shieldgen.dm @@ -286,6 +286,10 @@ icon = 'icons/obj/machines/shield_generator.dmi' icon_state = "shield_wall_gen" base_icon_state = "shield_wall_gen" + light_on = FALSE + light_range = 2.5 + light_power = 2 + light_color = LIGHT_COLOR_BLUE anchored = FALSE density = TRUE req_access = list(ACCESS_TELEPORTER) @@ -325,6 +329,10 @@ RegisterSignal(src, COMSIG_ATOM_SINGULARITY_TRY_MOVE, PROC_REF(block_singularity_if_active)) set_wires(new /datum/wires/shieldwallgen(src)) +/obj/machinery/power/shieldwallgen/update_appearance(updates) + . = ..() + set_light(l_on = !!active) + /obj/machinery/power/shieldwallgen/update_icon_state() icon_state = "[base_icon_state][active ? "_on" : ""]" return ..() @@ -530,7 +538,10 @@ icon_state = "shieldwall" density = TRUE resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF - light_range = 3 + light_range = 2.5 + light_power = 0.7 + light_color = LIGHT_COLOR_BLUE + var/primary_direction = NONE var/needs_power = FALSE var/obj/machinery/power/shieldwallgen/gen_primary var/obj/machinery/power/shieldwallgen/gen_secondary @@ -554,6 +565,10 @@ gen_secondary = null return ..() +/obj/machinery/shieldwall/update_overlays() + . = ..() + . += emissive_appearance(icon, icon_state, src, alpha = 200) + /obj/machinery/shieldwall/process() if(needs_power) if(!gen_primary || !gen_primary.active || !gen_secondary || !gen_secondary.active) diff --git a/code/game/machinery/spaceheater.dm b/code/game/machinery/spaceheater.dm index 2d6c5339de494..a74d7456ed8ef 100644 --- a/code/game/machinery/spaceheater.dm +++ b/code/game/machinery/spaceheater.dm @@ -2,7 +2,7 @@ #define HEATER_MODE_HEAT "heat" #define HEATER_MODE_COOL "cool" #define HEATER_MODE_AUTO "auto" -#define BASE_HEATING_ENERGY (40 KILO JOULES) +#define BASE_HEATING_ENERGY (STANDARD_CELL_RATE * 0.1) /obj/machinery/space_heater anchored = FALSE @@ -20,7 +20,7 @@ //We don't use area power, we always use the cell use_power = NO_POWER_USE ///The cell we spawn with - var/obj/item/stock_parts/power_store/cell = /obj/item/stock_parts/power_store/cell + var/obj/item/stock_parts/power_store/cell = /obj/item/stock_parts/power_store/cell/high ///Is the machine on? var/on = FALSE ///What is the mode we are in now? @@ -30,7 +30,7 @@ ///The temperature we trying to get to var/target_temperature = T20C ///How much heat/cold we can deliver - var/heating_energy = 40 KILO JOULES + var/heating_energy = BASE_HEATING_ENERGY ///How efficiently we can deliver that heat/cold (higher indicates less cell consumption) var/efficiency = 20 ///The amount of degrees above and below the target temperature for us to change mode to heater or cooler @@ -468,7 +468,7 @@ for(var/datum/stock_part/capacitor/capacitor in component_parts) capacitors_rating += capacitor.tier - heating_energy = lasers_rating * 20000 + heating_energy = lasers_rating * BASE_HEATING_ENERGY settable_temperature_range = capacitors_rating * 50 //-20 - 80 at base efficiency = (capacitors_rating + 1) * 10 diff --git a/code/game/machinery/syndicatebomb.dm b/code/game/machinery/syndicatebomb.dm index 693668e9e8900..e4f7b0a8338b8 100644 --- a/code/game/machinery/syndicatebomb.dm +++ b/code/game/machinery/syndicatebomb.dm @@ -642,7 +642,7 @@ var/skip_sound = TRUE if(num_affected % 5) //makes it play the sound more sparingly skip_sound = FALSE - var/time_mult = round(get_dist_euclidian(get_turf(src), affected)) + 1 + var/time_mult = round(get_dist_euclidean(get_turf(src), affected)) + 1 addtimer(CALLBACK(theme_to_use, TYPE_PROC_REF(/datum/dimension_theme, apply_theme), affected, skip_sound, TRUE), 0.1 SECONDS * time_mult) qdel(src) diff --git a/code/game/objects/effects/decals/cleanable.dm b/code/game/objects/effects/decals/cleanable.dm index b0af5c3ca029e..21eff5028b57e 100644 --- a/code/game/objects/effects/decals/cleanable.dm +++ b/code/game/objects/effects/decals/cleanable.dm @@ -84,7 +84,7 @@ qdel(src) return if(W.get_temperature()) //todo: make heating a reagent holder proc - if(istype(W, /obj/item/clothing/mask/cigarette)) + if(istype(W, /obj/item/cigarette)) return else var/hotness = W.get_temperature() diff --git a/code/game/objects/effects/decals/cleanable/humans.dm b/code/game/objects/effects/decals/cleanable/humans.dm index c95bffdc62676..0f4c9dee3127f 100644 --- a/code/game/objects/effects/decals/cleanable/humans.dm +++ b/code/game/objects/effects/decals/cleanable/humans.dm @@ -97,6 +97,15 @@ /obj/effect/decal/cleanable/trail_holder/can_bloodcrawl_in() return TRUE +// normal version of the above trail holder object for use in less convoluted things +/obj/effect/decal/cleanable/blood/trails + desc = "Looks like a corpse was smeared all over the floor like ketchup. Kinda makes you hungry." + random_icon_states = list("trails_1", "trails_2") + icon_state = "trails_1" + beauty = -50 + dryname = "dried tracks" + drydesc = "Looks like a corpse was smeared all over the floor like ketchup, but it's all dried up and nasty now, ew. You lose some of your appetite." + /obj/effect/decal/cleanable/blood/gibs name = "gibs" desc = "They look bloody and gruesome." diff --git a/code/game/objects/effects/decals/cleanable/misc.dm b/code/game/objects/effects/decals/cleanable/misc.dm index fcc4afa14944d..04da0c517b0a6 100644 --- a/code/game/objects/effects/decals/cleanable/misc.dm +++ b/code/game/objects/effects/decals/cleanable/misc.dm @@ -81,11 +81,11 @@ if(T.tiled_dirt) smoothing_flags = SMOOTH_BITMASK QUEUE_SMOOTH(src) - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) /obj/effect/decal/cleanable/dirt/Destroy() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) return ..() diff --git a/code/game/objects/effects/spawners/costume.dm b/code/game/objects/effects/spawners/costume.dm index 6eb3f801f7365..e5280f7e66184 100644 --- a/code/game/objects/effects/spawners/costume.dm +++ b/code/game/objects/effects/spawners/costume.dm @@ -40,7 +40,7 @@ items = list( /obj/item/clothing/under/rank/captain/suit, /obj/item/clothing/head/flatcap, - /obj/item/clothing/mask/cigarette/cigar/havana, + /obj/item/cigarette/cigar/havana, /obj/item/clothing/shoes/jackboots, ) diff --git a/code/game/objects/effects/spawners/random/entertainment.dm b/code/game/objects/effects/spawners/random/entertainment.dm index 3ad477b0294f3..74ca4213b0dc5 100644 --- a/code/game/objects/effects/spawners/random/entertainment.dm +++ b/code/game/objects/effects/spawners/random/entertainment.dm @@ -121,10 +121,10 @@ icon_state = "pill" loot = list( /obj/item/reagent_containers/cup/glass/bottle/hooch = 50, - /obj/item/clothing/mask/cigarette/rollie/cannabis = 15, + /obj/item/cigarette/rollie/cannabis = 15, /obj/item/reagent_containers/syringe = 15, /obj/item/cigbutt/roach = 15, - /obj/item/clothing/mask/cigarette/rollie/mindbreaker = 5, + /obj/item/cigarette/rollie/mindbreaker = 5, ) /obj/effect/spawner/random/entertainment/dice @@ -157,23 +157,23 @@ name = "cigarette spawner" icon_state = "cigarettes" loot = list( - /obj/item/clothing/mask/cigarette/space_cigarette = 3, - /obj/item/clothing/mask/cigarette/rollie/cannabis = 3, - /obj/item/clothing/mask/cigarette/rollie/nicotine = 3, - /obj/item/clothing/mask/cigarette/dromedary = 2, - /obj/item/clothing/mask/cigarette/uplift = 2, - /obj/item/clothing/mask/cigarette/robust = 2, - /obj/item/clothing/mask/cigarette/carp = 1, - /obj/item/clothing/mask/cigarette/robustgold = 1, + /obj/item/cigarette/space_cigarette = 3, + /obj/item/cigarette/rollie/cannabis = 3, + /obj/item/cigarette/rollie/nicotine = 3, + /obj/item/cigarette/dromedary = 2, + /obj/item/cigarette/uplift = 2, + /obj/item/cigarette/robust = 2, + /obj/item/cigarette/carp = 1, + /obj/item/cigarette/robustgold = 1, ) /obj/effect/spawner/random/entertainment/cigar name = "cigar spawner" icon_state = "cigarettes" loot = list( - /obj/item/clothing/mask/cigarette/cigar = 3, - /obj/item/clothing/mask/cigarette/cigar/havana = 2, - /obj/item/clothing/mask/cigarette/cigar/cohiba = 1, + /obj/item/cigarette/cigar = 3, + /obj/item/cigarette/cigar/havana = 2, + /obj/item/cigarette/cigar/cohiba = 1, ) /obj/effect/spawner/random/entertainment/wallet_lighter diff --git a/code/game/objects/effects/spawners/random/structure.dm b/code/game/objects/effects/spawners/random/structure.dm index b5b2c226d11d6..b6af49275028b 100644 --- a/code/game/objects/effects/spawners/random/structure.dm +++ b/code/game/objects/effects/spawners/random/structure.dm @@ -123,7 +123,7 @@ /obj/effect/spawner/random/structure/closet_empty/crate/with_loot/make_item(spawn_loc, type_path_to_make) var/obj/structure/closet/closet_to_fill = ..() - closet_to_fill.RegisterSignal(closet_to_fill, COMSIG_CLOSET_POPULATE_CONTENTS, TYPE_PROC_REF(/obj/structure/closet/, populate_with_random_maint_loot)) + closet_to_fill.RegisterSignal(closet_to_fill, COMSIG_CLOSET_CONTENTS_INITIALIZED, TYPE_PROC_REF(/obj/structure/closet/, populate_with_random_maint_loot)) return closet_to_fill diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 79dd9d7e6ed05..1cdeaa89bafcb 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -1426,7 +1426,7 @@ mob_loc.update_clothing(slot_flags) /// Called on [/datum/element/openspace_item_click_handler/proc/on_afterattack]. Check the relative file for information. -/obj/item/proc/handle_openspace_click(turf/target, mob/user, click_parameters) +/obj/item/proc/handle_openspace_click(turf/target, mob/user, list/modifiers) stack_trace("Undefined handle_openspace_click() behaviour. Ascertain the openspace_item_click_handler element has been attached to the right item and that its proc override doesn't call parent.") /** @@ -1460,15 +1460,6 @@ SHOULD_CALL_PARENT(TRUE) SEND_SIGNAL(src, COMSIG_ITEM_EQUIPPED_AS_OUTFIT, outfit_wearer, visuals_only, item_slot) -/** - * Called before this item is placed into a storage container - * via the item clicking on the target atom - * - * Returning FALSE will prevent the item from being stored - */ -/obj/item/proc/storage_insert_on_interaction(datum/storage, atom/storage_holder, mob/user) - return TRUE - /obj/item/proc/do_pickup_animation(atom/target, turf/source) if(!source) if(!istype(loc, /turf)) diff --git a/code/game/objects/items/cigs_lighters.dm b/code/game/objects/items/cigs_lighters.dm index 7c0ebfda5f4a8..27647feb924f9 100644 --- a/code/game/objects/items/cigs_lighters.dm +++ b/code/game/objects/items/cigs_lighters.dm @@ -94,7 +94,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM message_admins("[ADMIN_LOOKUPFLW(user)] set [key_name_admin(M)] on fire with [src] at [AREACOORD(user)]") user.log_message("set [key_name(M)] on fire with [src]", LOG_ATTACK) - var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) + var/obj/item/cigarette/cig = help_light_cig(M) if(!lit || !cig || user.combat_mode) ..() return @@ -109,7 +109,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /// Finds a cigarette on another mob to help light. /obj/item/proc/help_light_cig(mob/living/M) var/mask_item = M.get_item_by_slot(ITEM_SLOT_MASK) - if(istype(mask_item, /obj/item/clothing/mask/cigarette)) + if(istype(mask_item, /obj/item/cigarette)) return mask_item /obj/item/match/get_temperature() @@ -129,14 +129,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM ////////////////// //FINE SMOKABLES// ////////////////// -/obj/item/clothing/mask/cigarette +/obj/item/cigarette name = "cigarette" desc = "A roll of tobacco and nicotine." + icon = 'icons/obj/cigarettes.dmi' icon_state = "cigoff" inhand_icon_state = "cigon" //gets overriden during intialize(), just have it for unit test sanity. throw_speed = 0.5 w_class = WEIGHT_CLASS_TINY - body_parts_covered = null + slot_flags = ITEM_SLOT_MASK grind_results = list() heat = 1000 throw_verb = "flick" @@ -180,7 +181,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /// How long the current mob has been smoking this cigarette VAR_FINAL/how_long_have_we_been_smokin = 0 SECONDS -/obj/item/clothing/mask/cigarette/Initialize(mapload) +/obj/item/cigarette/Initialize(mapload) . = ..() create_reagents(chem_volume, INJECTABLE | NO_REACT) if(list_reagents) @@ -193,24 +194,23 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_state = icon_off inhand_icon_state = inhand_icon_off -/obj/item/clothing/mask/cigarette/Destroy() +/obj/item/cigarette/Destroy() STOP_PROCESSING(SSobj, src) QDEL_NULL(mob_smoke) QDEL_NULL(cig_smoke) return ..() -/obj/item/clothing/mask/cigarette/equipped(mob/equipee, slot) +/obj/item/cigarette/equipped(mob/equipee, slot) . = ..() if(!(slot & ITEM_SLOT_MASK)) UnregisterSignal(equipee, list(COMSIG_HUMAN_FORCESAY, COMSIG_ATOM_DIR_CHANGE)) return RegisterSignal(equipee, COMSIG_HUMAN_FORCESAY, PROC_REF(on_forcesay)) RegisterSignal(equipee, COMSIG_ATOM_DIR_CHANGE, PROC_REF(on_mob_dir_change)) - if(lit && iscarbon(loc)) make_mob_smoke(loc) -/obj/item/clothing/mask/cigarette/dropped(mob/dropee, silent) +/obj/item/cigarette/dropped(mob/dropee) . = ..() // Moving the cigarette from mask to hands (or pocket I guess) will emit a larger puff of smoke if(!QDELETED(src) && !QDELETED(dropee) && how_long_have_we_been_smokin >= 4 SECONDS && iscarbon(dropee) && iscarbon(loc)) @@ -223,17 +223,17 @@ CIGARETTE PACKETS ARE IN FANCY.DM QDEL_NULL(mob_smoke) how_long_have_we_been_smokin = 0 SECONDS -/obj/item/clothing/mask/cigarette/proc/on_forcesay(mob/living/source) +/obj/item/cigarette/proc/on_forcesay(mob/living/source) SIGNAL_HANDLER source.apply_status_effect(/datum/status_effect/choke, src, lit, choke_forever ? -1 : rand(25 SECONDS, choke_time_max)) -/obj/item/clothing/mask/cigarette/proc/on_mob_dir_change(mob/living/source, old_dir, new_dir) +/obj/item/cigarette/proc/on_mob_dir_change(mob/living/source, old_dir, new_dir) SIGNAL_HANDLER if(isnull(mob_smoke)) return update_particle_position(mob_smoke, new_dir) -/obj/item/clothing/mask/cigarette/proc/update_particle_position(obj/effect/abstract/particle_holder/to_edit, new_dir = loc.dir) +/obj/item/cigarette/proc/update_particle_position(obj/effect/abstract/particle_holder/to_edit, new_dir = loc.dir) var/new_x = 0 var/new_layer = initial(to_edit.layer) if(new_dir & NORTH) @@ -248,11 +248,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM to_edit.set_particle_position(new_x, 8, 0) to_edit.layer = new_layer -/obj/item/clothing/mask/cigarette/suicide_act(mob/living/user) +/obj/item/cigarette/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is huffing [src] as quickly as [user.p_they()] can! It looks like [user.p_theyre()] trying to give [user.p_them()]self cancer.")) return (TOXLOSS|OXYLOSS) -/obj/item/clothing/mask/cigarette/attackby(obj/item/W, mob/user, params) +/obj/item/cigarette/attackby(obj/item/W, mob/user, params) if(lit) return ..() @@ -270,7 +270,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM to_chat(user, span_warning("There is nothing to smoke!")) /// Checks that we have enough air to smoke -/obj/item/clothing/mask/cigarette/proc/check_oxygen(mob/user) +/obj/item/cigarette/proc/check_oxygen(mob/user) if (reagents.has_reagent(/datum/reagent/oxygen)) return TRUE var/datum/gas_mixture/air = return_air() @@ -281,7 +281,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM var/mob/living/carbon/the_smoker = user return the_smoker.can_breathe_helmet() -/obj/item/clothing/mask/cigarette/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) +/obj/item/cigarette/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(lit) //can't dip if cigarette is lit (it will heat the reagents in the glass instead) return NONE var/obj/item/reagent_containers/cup/glass = interacting_with @@ -298,7 +298,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM to_chat(user, span_warning("[src] is full!")) return ITEM_INTERACT_SUCCESS -/obj/item/clothing/mask/cigarette/update_icon_state() +/obj/item/cigarette/update_icon_state() . = ..() if(lit) icon_state = icon_on @@ -308,7 +308,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM inhand_icon_state = inhand_icon_off -/obj/item/clothing/mask/cigarette/proc/sparks_touched(datum/source, obj/effect/particle_effect) +/obj/item/cigarette/proc/sparks_touched(datum/source, obj/effect/particle_effect) SIGNAL_HANDLER if(lit) @@ -316,7 +316,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM light() /// Lights the cigarette with given flavor text. -/obj/item/clothing/mask/cigarette/proc/light(flavor_text = null) +/obj/item/cigarette/proc/light(flavor_text = null) if(lit) return @@ -357,7 +357,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(src == smoker.wear_mask) make_mob_smoke(smoker) -/obj/item/clothing/mask/cigarette/extinguish() +/obj/item/cigarette/extinguish() . = ..() if(!lit) return @@ -375,7 +375,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM QDEL_NULL(cig_smoke) QDEL_NULL(mob_smoke) -/obj/item/clothing/mask/cigarette/proc/long_exhale(mob/living/carbon/smoker) +/obj/item/cigarette/proc/long_exhale(mob/living/carbon/smoker) smoker.visible_message( span_notice("[smoker] exhales a large cloud of smoke from [src]."), span_notice("You exhale a large cloud of smoke from [src]."), @@ -388,7 +388,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM QDEL_IN(big_smoke, big_smoke.particles.lifespan) /// Handles processing the reagents in the cigarette. -/obj/item/clothing/mask/cigarette/proc/handle_reagents(seconds_per_tick) +/obj/item/cigarette/proc/handle_reagents(seconds_per_tick) if(!reagents.total_volume) return reagents.expose_temperature(heat, 0.05) @@ -424,7 +424,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!reagents.trans_to(smoker, to_smoke, methods = INGEST, ignore_stomach = TRUE)) reagents.remove_all(to_smoke) -/obj/item/clothing/mask/cigarette/process(seconds_per_tick) +/obj/item/cigarette/process(seconds_per_tick) var/mob/living/user = isliving(loc) ? loc : null user?.ignite_mob() @@ -442,12 +442,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM COOLDOWN_START(src, drag_cooldown, dragtime) handle_reagents(seconds_per_tick) -/obj/item/clothing/mask/cigarette/attack_self(mob/user) +/obj/item/cigarette/attack_self(mob/user) if(lit) put_out(user, TRUE) return ..() -/obj/item/clothing/mask/cigarette/proc/put_out(mob/user, done_early = FALSE) +/obj/item/cigarette/proc/put_out(mob/user, done_early = FALSE) var/atom/location = drop_location() if(!isnull(user)) if(done_early) @@ -463,13 +463,13 @@ CIGARETTE PACKETS ARE IN FANCY.DM new type_butt(location) qdel(src) -/obj/item/clothing/mask/cigarette/attack(mob/living/carbon/M, mob/living/carbon/user) +/obj/item/cigarette/attack(mob/living/carbon/M, mob/living/carbon/user) if(!istype(M)) return ..() if(M.on_fire && !lit) light(span_notice("[user] lights [src] with [M]'s burning body. What a cold-blooded badass.")) return - var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) + var/obj/item/cigarette/cig = help_light_cig(M) if(!lit || !cig || user.combat_mode) return ..() @@ -480,54 +480,54 @@ CIGARETTE PACKETS ARE IN FANCY.DM else cig.light(span_notice("[user] holds the [name] out for [M], and lights [M.p_their()] [cig.name].")) -/obj/item/clothing/mask/cigarette/fire_act(exposed_temperature, exposed_volume) +/obj/item/cigarette/fire_act(exposed_temperature, exposed_volume) light() -/obj/item/clothing/mask/cigarette/get_temperature() +/obj/item/cigarette/get_temperature() return lit * heat -/obj/item/clothing/mask/cigarette/proc/make_mob_smoke(mob/living/smoker) +/obj/item/cigarette/proc/make_mob_smoke(mob/living/smoker) mob_smoke = new(smoker, /particles/smoke/cig) update_particle_position(mob_smoke, smoker.dir) return mob_smoke -/obj/item/clothing/mask/cigarette/proc/make_cig_smoke() +/obj/item/cigarette/proc/make_cig_smoke() cig_smoke = new(src, /particles/smoke/cig) cig_smoke.particles.scale *= 1.5 return cig_smoke // Cigarette brands. -/obj/item/clothing/mask/cigarette/space_cigarette +/obj/item/cigarette/space_cigarette desc = "A Space brand cigarette that can be smoked anywhere." list_reagents = list(/datum/reagent/drug/nicotine = 9, /datum/reagent/oxygen = 9) smoketime = 4 MINUTES // space cigs have a shorter burn time than normal cigs smoke_all = TRUE // so that it doesn't runout of oxygen while being smoked in space -/obj/item/clothing/mask/cigarette/dromedary +/obj/item/cigarette/dromedary desc = "A DromedaryCo brand cigarette. Contrary to popular belief, does not contain Calomel, but is reported to have a watery taste." list_reagents = list(/datum/reagent/drug/nicotine = 13, /datum/reagent/water = 5) //camel has water -/obj/item/clothing/mask/cigarette/uplift +/obj/item/cigarette/uplift desc = "An Uplift Smooth brand cigarette. Smells refreshing." list_reagents = list(/datum/reagent/drug/nicotine = 13, /datum/reagent/consumable/menthol = 5) -/obj/item/clothing/mask/cigarette/robust +/obj/item/cigarette/robust desc = "A Robust brand cigarette." -/obj/item/clothing/mask/cigarette/robustgold +/obj/item/cigarette/robustgold desc = "A Robust Gold brand cigarette." list_reagents = list(/datum/reagent/drug/nicotine = 15, /datum/reagent/gold = 3) // Just enough to taste a hint of expensive metal. -/obj/item/clothing/mask/cigarette/carp +/obj/item/cigarette/carp desc = "A Carp Classic brand cigarette. A small label on its side indicates that it does NOT contain carpotoxin." -/obj/item/clothing/mask/cigarette/carp/Initialize(mapload) +/obj/item/cigarette/carp/Initialize(mapload) . = ..() if(!prob(5)) return reagents?.add_reagent(/datum/reagent/toxin/carpotoxin , 3) // They lied -/obj/item/clothing/mask/cigarette/syndicate +/obj/item/cigarette/syndicate desc = "An unknown brand cigarette." chem_volume = 60 smoketime = 2 MINUTES @@ -535,19 +535,19 @@ CIGARETTE PACKETS ARE IN FANCY.DM lung_harm = 1.5 list_reagents = list(/datum/reagent/drug/nicotine = 10, /datum/reagent/medicine/omnizine = 15) -/obj/item/clothing/mask/cigarette/shadyjims +/obj/item/cigarette/shadyjims desc = "A Shady Jim's Super Slims cigarette." lung_harm = 1.5 list_reagents = list(/datum/reagent/drug/nicotine = 15, /datum/reagent/toxin/lipolicide = 4, /datum/reagent/ammonia = 2, /datum/reagent/toxin/plantbgone = 1, /datum/reagent/toxin = 1.5) -/obj/item/clothing/mask/cigarette/xeno +/obj/item/cigarette/xeno desc = "A Xeno Filtered brand cigarette." lung_harm = 2 list_reagents = list (/datum/reagent/drug/nicotine = 20, /datum/reagent/medicine/regen_jelly = 15, /datum/reagent/drug/krokodil = 4) // Rollies. -/obj/item/clothing/mask/cigarette/rollie +/obj/item/cigarette/rollie name = "rollie" desc = "A roll of dried plant matter wrapped in thin paper." icon_state = "spliffoff" @@ -560,7 +560,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM list_reagents = null choke_time_max = 40 SECONDS -/obj/item/clothing/mask/cigarette/rollie/Initialize(mapload) +/obj/item/cigarette/rollie/Initialize(mapload) name = pick(list( "bifta", "bifter", @@ -606,20 +606,20 @@ CIGARETTE PACKETS ARE IN FANCY.DM pixel_x = rand(-5, 5) pixel_y = rand(-5, 5) -/obj/item/clothing/mask/cigarette/rollie/nicotine +/obj/item/cigarette/rollie/nicotine list_reagents = list(/datum/reagent/drug/nicotine = 15) -/obj/item/clothing/mask/cigarette/rollie/trippy +/obj/item/cigarette/rollie/trippy list_reagents = list(/datum/reagent/drug/nicotine = 15, /datum/reagent/drug/mushroomhallucinogen = 35) starts_lit = TRUE -/obj/item/clothing/mask/cigarette/rollie/cannabis +/obj/item/cigarette/rollie/cannabis list_reagents = list(/datum/reagent/drug/cannabis = 15) -/obj/item/clothing/mask/cigarette/rollie/mindbreaker +/obj/item/cigarette/rollie/mindbreaker list_reagents = list(/datum/reagent/toxin/mindbreaker = 35, /datum/reagent/toxin/lipolicide = 15) -/obj/item/clothing/mask/cigarette/candy +/obj/item/cigarette/candy name = "\improper Little Timmy's candy cigarette" desc = "For all ages*! Doesn't contain any amount of nicotine. Health and safety risks can be read on the tip of the cigarette." smoketime = 2 MINUTES @@ -633,7 +633,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM list_reagents = list(/datum/reagent/consumable/sugar = 20) choke_time_max = 70 SECONDS // This shit really is deadly -/obj/item/clothing/mask/cigarette/candy/nicotine +/obj/item/cigarette/candy/nicotine desc = "For all ages*! Doesn't contain any* amount of nicotine. Health and safety risks can be read on the tip of the cigarette." type_butt = /obj/item/food/candy_trash/nicotine list_reagents = list(/datum/reagent/consumable/sugar = 20, /datum/reagent/drug/nicotine = 20) //oh no! @@ -653,7 +653,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM //////////// // CIGARS // //////////// -/obj/item/clothing/mask/cigarette/cigar +/obj/item/cigarette/cigar name = "cigar" desc = "A brown roll of tobacco and... well, you're not quite sure. This thing's huge!" icon_state = "cigaroff" @@ -669,11 +669,11 @@ CIGARETTE PACKETS ARE IN FANCY.DM list_reagents = list(/datum/reagent/drug/nicotine = 25) choke_time_max = 40 SECONDS -/obj/item/clothing/mask/cigarette/cigar/premium +/obj/item/cigarette/cigar/premium name = "premium cigar" //this is the version that actually spawns in premium cigar cases, the distinction is made so that the smoker quirk can differentiate between the default cigar box and its subtypes -/obj/item/clothing/mask/cigarette/cigar/cohiba +/obj/item/cigarette/cigar/cohiba name = "\improper Cohiba Robusto cigar" desc = "There's little more you could want from a cigar." icon_state = "cigar2off" @@ -683,7 +683,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM chem_volume = 80 list_reagents = list(/datum/reagent/drug/nicotine = 40) -/obj/item/clothing/mask/cigarette/cigar/havana +/obj/item/cigarette/cigar/havana name = "premium Havanian cigar" desc = "A cigar fit for only the best of the best." icon_state = "cigar2off" @@ -696,7 +696,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/cigbutt name = "cigarette butt" desc = "A manky old cigarette butt." - icon = 'icons/obj/clothing/masks.dmi' + icon = 'icons/obj/cigarettes.dmi' icon_state = "cigbutt" w_class = WEIGHT_CLASS_TINY throwforce = 0 @@ -710,7 +710,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM ///////////////// //SMOKING PIPES// ///////////////// -/obj/item/clothing/mask/cigarette/pipe +/obj/item/cigarette/pipe name = "smoking pipe" desc = "A pipe, for smoking. Probably made of meerschaum or something." icon_state = "pipeoff" @@ -727,15 +727,15 @@ CIGARETTE PACKETS ARE IN FANCY.DM ///name of the stuff packed inside this pipe var/packeditem -/obj/item/clothing/mask/cigarette/pipe/Initialize(mapload) +/obj/item/cigarette/pipe/Initialize(mapload) . = ..() update_appearance(UPDATE_NAME) -/obj/item/clothing/mask/cigarette/pipe/update_name() +/obj/item/cigarette/pipe/update_name() . = ..() name = packeditem ? "[packeditem]-packed [initial(name)]" : "empty [initial(name)]" -/obj/item/clothing/mask/cigarette/pipe/put_out(mob/user, done_early = FALSE) +/obj/item/cigarette/pipe/put_out(mob/user, done_early = FALSE) lit = FALSE if(done_early) user.visible_message(span_notice("[user] puts out [src]."), span_notice("You put out [src].")) @@ -748,7 +748,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM STOP_PROCESSING(SSobj, src) QDEL_NULL(cig_smoke) -/obj/item/clothing/mask/cigarette/pipe/attackby(obj/item/thing, mob/user, params) +/obj/item/cigarette/pipe/attackby(obj/item/thing, mob/user, params) if(!istype(thing, /obj/item/food/grown)) return ..() @@ -769,7 +769,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM qdel(to_smoke) -/obj/item/clothing/mask/cigarette/pipe/attack_self(mob/user) +/obj/item/cigarette/pipe/attack_self(mob/user) var/atom/location = drop_location() if(packeditem && !lit) to_chat(user, span_notice("You empty [src] onto [location].")) @@ -781,7 +781,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM return return ..() -/obj/item/clothing/mask/cigarette/pipe/cobpipe +/obj/item/cigarette/pipe/cobpipe name = "corn cob pipe" desc = "A nicotine delivery system popularized by folksy backwoodsmen and kept popular in the modern age and beyond by space hipsters. Can be loaded with objects." icon_state = "cobpipeoff" @@ -962,7 +962,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(lit && M.ignite_mob()) message_admins("[ADMIN_LOOKUPFLW(user)] set [key_name_admin(M)] on fire with [src] at [AREACOORD(user)]") log_game("[key_name(user)] set [key_name(M)] on fire with [src] at [AREACOORD(user)]") - var/obj/item/clothing/mask/cigarette/cig = help_light_cig(M) + var/obj/item/cigarette/cig = help_light_cig(M) if(!lit || !cig || user.combat_mode) ..() return @@ -1110,13 +1110,13 @@ CIGARETTE PACKETS ARE IN FANCY.DM /obj/item/rollingpaper/Initialize(mapload) . = ..() - AddComponent(/datum/component/customizable_reagent_holder, /obj/item/clothing/mask/cigarette/rollie, CUSTOM_INGREDIENT_ICON_NOCHANGE, ingredient_type=CUSTOM_INGREDIENT_TYPE_DRYABLE, max_ingredients=2) + AddComponent(/datum/component/customizable_reagent_holder, /obj/item/cigarette/rollie, CUSTOM_INGREDIENT_ICON_NOCHANGE, ingredient_type=CUSTOM_INGREDIENT_TYPE_DRYABLE, max_ingredients=2) /////////////// //VAPE NATION// /////////////// -/obj/item/clothing/mask/vape +/obj/item/vape name = "\improper E-Cigarette" desc = "A classy and highly sophisticated electronic cigarette, for classy and dignified gentlemen. A warning label reads \"Warning: Do not fill with flammable materials.\""//<<< i'd vape to that. icon_state = "vape" @@ -1126,6 +1126,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM greyscale_colors = "#2e2e2e" inhand_icon_state = null w_class = WEIGHT_CLASS_TINY + slot_flags = ITEM_SLOT_MASK flags_1 = IS_PLAYER_COLORABLE_1 /// The capacity of the vape. @@ -1139,16 +1140,16 @@ CIGARETTE PACKETS ARE IN FANCY.DM /// Whether the vape has been overloaded to spread smoke. var/super = FALSE -/obj/item/clothing/mask/vape/Initialize(mapload) +/obj/item/vape/Initialize(mapload) . = ..() create_reagents(chem_volume, NO_REACT) reagents.add_reagent(/datum/reagent/drug/nicotine, 50) -/obj/item/clothing/mask/vape/suicide_act(mob/living/user) +/obj/item/vape/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] is puffin hard on dat vape, [user.p_they()] trying to join the vape life on a whole notha plane!"))//it doesn't give you cancer, it is cancer return (TOXLOSS|OXYLOSS) -/obj/item/clothing/mask/vape/screwdriver_act(mob/living/user, obj/item/tool) +/obj/item/vape/screwdriver_act(mob/living/user, obj/item/tool) if(!screw) screw = TRUE to_chat(user, span_notice("You open the cap on [src].")) @@ -1169,7 +1170,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM icon_state = initial(icon_state) set_greyscale(new_config = initial(greyscale_config)) -/obj/item/clothing/mask/vape/multitool_act(mob/living/user, obj/item/tool) +/obj/item/vape/multitool_act(mob/living/user, obj/item/tool) . = TRUE if(screw && !(obj_flags & EMAGGED))//also kinky if(!super) @@ -1186,7 +1187,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(screw && (obj_flags & EMAGGED)) to_chat(user, span_warning("[src] can't be modified!")) -/obj/item/clothing/mask/vape/emag_act(mob/user, obj/item/card/emag/emag_card) // I WON'T REGRET WRITTING THIS, SURLY. +/obj/item/vape/emag_act(mob/user, obj/item/card/emag/emag_card) // I WON'T REGRET WRITTING THIS, SURLY. if (!screw) balloon_alert(user, "open the cap first!") @@ -1206,12 +1207,12 @@ CIGARETTE PACKETS ARE IN FANCY.DM sp.start() return TRUE -/obj/item/clothing/mask/vape/attack_self(mob/user) +/obj/item/vape/attack_self(mob/user) if(reagents.total_volume > 0) to_chat(user, span_notice("You empty [src] of all reagents.")) reagents.clear_reagents() -/obj/item/clothing/mask/vape/equipped(mob/user, slot) +/obj/item/vape/equipped(mob/user, slot) . = ..() if(!(slot & ITEM_SLOT_MASK)) return @@ -1224,13 +1225,13 @@ CIGARETTE PACKETS ARE IN FANCY.DM reagents.flags &= ~(NO_REACT) START_PROCESSING(SSobj, src) -/obj/item/clothing/mask/vape/dropped(mob/user) +/obj/item/vape/dropped(mob/user) . = ..() if(user.get_item_by_slot(ITEM_SLOT_MASK) == src) reagents.flags |= NO_REACT STOP_PROCESSING(SSobj, src) -/obj/item/clothing/mask/vape/proc/handle_reagents() +/obj/item/vape/proc/handle_reagents() if(!reagents.total_volume) return @@ -1253,7 +1254,7 @@ CIGARETTE PACKETS ARE IN FANCY.DM if(!reagents.trans_to(vaper, REAGENTS_METABOLISM, methods = INGEST, ignore_stomach = TRUE)) reagents.remove_all(REAGENTS_METABOLISM) -/obj/item/clothing/mask/vape/process(seconds_per_tick) +/obj/item/vape/process(seconds_per_tick) var/mob/living/M = loc if(isliving(loc)) @@ -1292,34 +1293,34 @@ CIGARETTE PACKETS ARE IN FANCY.DM handle_reagents() -/obj/item/clothing/mask/vape/red +/obj/item/vape/red greyscale_colors = "#A02525" flags_1 = NONE -/obj/item/clothing/mask/vape/blue +/obj/item/vape/blue greyscale_colors = "#294A98" flags_1 = NONE -/obj/item/clothing/mask/vape/purple +/obj/item/vape/purple greyscale_colors = "#9900CC" flags_1 = NONE -/obj/item/clothing/mask/vape/green +/obj/item/vape/green greyscale_colors = "#3D9829" flags_1 = NONE -/obj/item/clothing/mask/vape/yellow +/obj/item/vape/yellow greyscale_colors = "#DAC20E" flags_1 = NONE -/obj/item/clothing/mask/vape/orange +/obj/item/vape/orange greyscale_colors = "#da930e" flags_1 = NONE -/obj/item/clothing/mask/vape/black +/obj/item/vape/black greyscale_colors = "#2e2e2e" flags_1 = NONE -/obj/item/clothing/mask/vape/white +/obj/item/vape/white greyscale_colors = "#DCDCDC" flags_1 = NONE diff --git a/code/game/objects/items/crayons.dm b/code/game/objects/items/crayons.dm index b4fb604d4574a..f50909eee12c9 100644 --- a/code/game/objects/items/crayons.dm +++ b/code/game/objects/items/crayons.dm @@ -831,6 +831,16 @@ . += "It is empty." . += span_notice("Alt-click [src] to [ is_capped ? "take the cap off" : "put the cap on"]. Right-click a colored object to match its existing color.") + +/obj/item/toy/crayon/spraycan/can_use_on(atom/target, mob/user, list/modifiers) + if(iscarbon(target)) + return TRUE + if(ismob(target) && (HAS_TRAIT(target, TRAIT_SPRAY_PAINTABLE))) + return TRUE + if(isobj(target) && !(target.flags_1 & UNPAINTABLE_1)) + return TRUE + return ..() + /obj/item/toy/crayon/spraycan/use_on(atom/target, mob/user, list/modifiers) if(is_capped) balloon_alert(user, "take the cap off first!") diff --git a/code/game/objects/items/devices/laserpointer.dm b/code/game/objects/items/devices/laserpointer.dm index 1e47fd8044d66..554db2beb5399 100644 --- a/code/game/objects/items/devices/laserpointer.dm +++ b/code/game/objects/items/devices/laserpointer.dm @@ -80,11 +80,11 @@ diode = null return TRUE -/obj/item/laser_pointer/item_interaction(mob/living/user, obj/item/tool, list/modifiers) +/obj/item/laser_pointer/tool_act(mob/living/user, obj/item/tool, list/modifiers) if(isnull(crystal_lens)) - return NONE + return ..() if(tool_behaviour != TOOL_WIRECUTTER && tool_behaviour != TOOL_HEMOSTAT) - return NONE + return ..() tool.play_tool_sound(src) balloon_alert(user, "removed crystal lens") crystal_lens.forceMove(drop_location()) diff --git a/code/game/objects/items/dna_injector.dm b/code/game/objects/items/dna_injector.dm index 8fee497a4f9ee..dde01baac03ee 100644 --- a/code/game/objects/items/dna_injector.dm +++ b/code/game/objects/items/dna_injector.dm @@ -426,12 +426,12 @@ /obj/item/dnainjector/pressuremut name = "\improper DNA injector (Pressure Adaptation)" desc = "Gives you fire." - add_mutations = list(/datum/mutation/human/pressure_adaptation) + add_mutations = list(/datum/mutation/human/adaptation/pressure) /obj/item/dnainjector/antipressure name = "\improper DNA injector (Anti-Pressure Adaptation)" desc = "Cures fire." - remove_mutations = list(/datum/mutation/human/pressure_adaptation) + remove_mutations = list(/datum/mutation/human/adaptation/pressure) /obj/item/dnainjector/radioactive name = "\improper DNA injector (Radioactive)" @@ -500,12 +500,12 @@ /obj/item/dnainjector/firemut name = "\improper DNA injector (Temp Adaptation)" desc = "Gives you fire." - add_mutations = list(/datum/mutation/human/temperature_adaptation) + add_mutations = list(/datum/mutation/human/adaptation/thermal) /obj/item/dnainjector/antifire name = "\improper DNA injector (Anti-Temp Adaptation)" desc = "Cures fire." - remove_mutations = list(/datum/mutation/human/temperature_adaptation) + remove_mutations = list(/datum/mutation/human/adaptation/thermal) /obj/item/dnainjector/thermal name = "\improper DNA injector (Thermal Vision)" diff --git a/code/game/objects/items/extinguisher.dm b/code/game/objects/items/extinguisher.dm index ac309e275d77c..1e879d4422ced 100644 --- a/code/game/objects/items/extinguisher.dm +++ b/code/game/objects/items/extinguisher.dm @@ -190,7 +190,7 @@ balloon_alert(user, "already full!") return TRUE // Make sure we're refilling with the proper chem. - if(!(target.reagents.has_reagent(chem))) + if(!(target.reagents.has_reagent(chem, check_subtypes = TRUE))) balloon_alert(user, "can't refill with this liquid!") return TRUE var/obj/structure/reagent_dispensers/W = target //will it work? diff --git a/code/game/objects/items/food/pizza.dm b/code/game/objects/items/food/pizza.dm index 834484872d650..71dd87af8e183 100644 --- a/code/game/objects/items/food/pizza.dm +++ b/code/game/objects/items/food/pizza.dm @@ -127,6 +127,13 @@ foodtypes = GRAIN | VEGETABLES | DAIRY | MEAT crafting_complexity = FOOD_COMPLEXITY_3 +/obj/item/food/pizzaslice/meat/pizzeria //Reward for pizzeria bitrunning domain + name = "pizzeria meatpizza slice" + desc = "An ostensibly nutritious slice of meatpizza from a long-closed pizzeria." + food_reagents = null + tastes = list("crust" = 1, "ketchup" = 1, "'cheese'" = 1, "mystery meat" = 1, "glue" = 1) + foodtypes = null + /obj/item/food/pizza/mushroom name = "mushroom pizza" desc = "Very special pizza." diff --git a/code/game/objects/items/food/snacks.dm b/code/game/objects/items/food/snacks.dm index 1c3cb7736cec0..cb64c6df52204 100644 --- a/code/game/objects/items/food/snacks.dm +++ b/code/game/objects/items/food/snacks.dm @@ -157,7 +157,7 @@ /obj/item/food/candy_trash name = "candy cigarette butt" - icon = 'icons/obj/clothing/masks.dmi' + icon = 'icons/obj/cigarettes.dmi' icon_state = "candybum" desc = "The leftover from a smoked-out candy cigarette. Can be eaten!" food_reagents = list( diff --git a/code/game/objects/items/handcuffs.dm b/code/game/objects/items/handcuffs.dm index d3e8bdd0ad88d..5b74053299931 100644 --- a/code/game/objects/items/handcuffs.dm +++ b/code/game/objects/items/handcuffs.dm @@ -537,6 +537,8 @@ gender = NEUTER ///Amount of time to knock the target down for once it's hit in deciseconds. var/knockdown = 0 + ///Reference of the mob we will attempt to snare + var/datum/weakref/ensnare_mob_ref /obj/item/restraints/legcuffs/bola/throw_at(atom/target, range, speed, mob/thrower, spin=1, diagonals_first = 0, datum/callback/callback, gentle = FALSE, quickstart = TRUE) if(!..()) @@ -546,21 +548,32 @@ /obj/item/restraints/legcuffs/bola/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) if(..() || !iscarbon(hit_atom))//if it gets caught or the target can't be cuffed, return//abort - ensnare(hit_atom) + //The mob has been hit, save the reference for ensnaring + ensnare_mob_ref = WEAKREF(hit_atom) + +/obj/item/restraints/legcuffs/bola/after_throw(datum/callback/callback) + . = ..() + if (isnull(ensnare_mob_ref)) + return + var/atom/ensnare_mob = ensnare_mob_ref.resolve() + if (!isnull(ensnare_mob)) + ensnare(ensnare_mob) + ensnare_mob_ref = null /** * Attempts to legcuff someone with the bola * * Arguments: - * * C - the carbon that we will try to ensnare + * * snared_mob - the carbon that we will try to ensnare */ -/obj/item/restraints/legcuffs/bola/proc/ensnare(mob/living/carbon/C) - if(!C.legcuffed && C.num_legs >= 2) - visible_message(span_danger("\The [src] ensnares [C]!"), span_userdanger("\The [src] ensnares you!")) - C.equip_to_slot(src, ITEM_SLOT_LEGCUFFED) - SSblackbox.record_feedback("tally", "handcuffs", 1, type) - C.Knockdown(knockdown) - playsound(src, 'sound/effects/snap.ogg', 50, TRUE) +/obj/item/restraints/legcuffs/bola/proc/ensnare(mob/living/carbon/snared_mob) + if(snared_mob.legcuffed || snared_mob.num_legs < 2) + return + visible_message(span_danger("\The [src] ensnares [snared_mob]!"), span_userdanger("\The [src] ensnares you!")) + snared_mob.equip_to_slot(src, ITEM_SLOT_LEGCUFFED) + SSblackbox.record_feedback("tally", "handcuffs", 1, type) + snared_mob.Knockdown(knockdown) + playsound(src, 'sound/effects/snap.ogg', 50, TRUE) /** * A traitor variant of the bola. diff --git a/code/game/objects/items/holosign_creator.dm b/code/game/objects/items/holosign_creator.dm index ff4d0260c4f35..926131151e92b 100644 --- a/code/game/objects/items/holosign_creator.dm +++ b/code/game/objects/items/holosign_creator.dm @@ -26,8 +26,8 @@ AddElement(/datum/element/openspace_item_click_handler) RegisterSignal(src, COMSIG_OBJ_PAINTED, TYPE_PROC_REF(/obj/item/holosign_creator, on_color_change)) -/obj/item/holosign_creator/handle_openspace_click(turf/target, mob/user, click_parameters) - interact_with_atom(target, user, click_parameters) +/obj/item/holosign_creator/handle_openspace_click(turf/target, mob/user, list/modifiers) + interact_with_atom(target, user, modifiers) /obj/item/holosign_creator/examine(mob/user) . = ..() diff --git a/code/game/objects/items/inducer.dm b/code/game/objects/items/inducer.dm index ea312fc0df848..d74bb7aa8d10e 100644 --- a/code/game/objects/items/inducer.dm +++ b/code/game/objects/items/inducer.dm @@ -11,13 +11,13 @@ var/power_transfer_multiplier = 1 var/opened = FALSE var/cell_type = /obj/item/stock_parts/power_store/battery/high - var/obj/item/stock_parts/power_store/cell + var/obj/item/stock_parts/power_store/powerdevice var/recharging = FALSE /obj/item/inducer/Initialize(mapload) . = ..() - if(!cell && cell_type) - cell = new cell_type + if(!powerdevice && cell_type) + powerdevice = new cell_type /obj/item/inducer/proc/induce(obj/item/stock_parts/power_store/target, coefficient) var/obj/item/stock_parts/power_store/our_cell = get_cell() @@ -30,7 +30,7 @@ target.update_appearance() /obj/item/inducer/get_cell() - return cell + return powerdevice /obj/item/inducer/emp_act(severity) . = ..() @@ -81,14 +81,14 @@ return /obj/item/inducer/attackby(obj/item/used_item, mob/user) - if(istype(used_item, /obj/item/stock_parts/power_store/cell)) + if(istype(used_item, /obj/item/stock_parts/power_store)) if(opened) var/obj/item/stock_parts/power_store/our_cell = get_cell() if(isnull(our_cell)) if(!user.transferItemToLoc(used_item, src)) return to_chat(user, span_notice("You insert [used_item] into [src].")) - cell = used_item + powerdevice = used_item update_appearance() return else @@ -158,11 +158,11 @@ /obj/item/inducer/attack_self(mob/user) - if(opened && cell) - user.visible_message(span_notice("[user] removes [cell] from [src]!"), span_notice("You remove [cell].")) - cell.update_appearance() - user.put_in_hands(cell) - cell = null + if(opened && powerdevice) + user.visible_message(span_notice("[user] removes [powerdevice] from [src]!"), span_notice("You remove [powerdevice].")) + powerdevice.update_appearance() + user.put_in_hands(powerdevice) + powerdevice = null update_appearance() diff --git a/code/game/objects/items/pinpointer.dm b/code/game/objects/items/pinpointer.dm index 3a020ec5393ea..5d7fc1957f4f4 100644 --- a/code/game/objects/items/pinpointer.dm +++ b/code/game/objects/items/pinpointer.dm @@ -78,7 +78,7 @@ ///Called by update_icon after sanity. There is a target /obj/item/pinpointer/proc/get_direction_icon(here, there) - if(get_dist_euclidian(here,there) <= minimum_range) + if(get_dist_euclidean(here,there) <= minimum_range) return "pinon[alert ? "alert" : ""]direct[icon_suffix]" else setDir(get_dir(here, there)) diff --git a/code/game/objects/items/plushes.dm b/code/game/objects/items/plushes.dm index c56e1eb7cdc15..35e4c7ff72e9f 100644 --- a/code/game/objects/items/plushes.dm +++ b/code/game/objects/items/plushes.dm @@ -676,7 +676,7 @@ ) AddElement(/datum/element/connect_loc, loc_connections) -/obj/item/toy/plush/goatplushie/attackby(obj/item/clothing/mask/cigarette/rollie/fat_dart, mob/user, params) +/obj/item/toy/plush/goatplushie/attackby(obj/item/cigarette/rollie/fat_dart, mob/user, params) if(!istype(fat_dart)) return ..() if(splat) diff --git a/code/game/objects/items/rcd/RCD.dm b/code/game/objects/items/rcd/RCD.dm index 2a7611235310c..cf254e447818d 100644 --- a/code/game/objects/items/rcd/RCD.dm +++ b/code/game/objects/items/rcd/RCD.dm @@ -70,6 +70,7 @@ construction_mode = mode GLOB.rcd_list += src + AddElement(/datum/element/openspace_item_click_handler) /obj/item/construction/rcd/Destroy() QDEL_NULL(airlock_electronics) @@ -420,6 +421,9 @@ rcd_create(interacting_with, user) return ITEM_INTERACT_SUCCESS +/obj/item/construction/rcd/handle_openspace_click(turf/target, mob/user, list/modifiers) + interact_with_atom(target, user, modifiers) + /obj/item/construction/rcd/proc/detonate_pulse() audible_message("[src] begins to vibrate and \ buzz loudly!","[src] begins \ diff --git a/code/game/objects/items/rcd/RSF.dm b/code/game/objects/items/rcd/RSF.dm index b267ecd05cf14..ef0be22acc476 100644 --- a/code/game/objects/items/rcd/RSF.dm +++ b/code/game/objects/items/rcd/RSF.dm @@ -45,7 +45,7 @@ RSF /obj/item/toy/cards/deck = 200, /obj/item/paper = 10, /obj/item/pen = 50, - /obj/item/clothing/mask/cigarette = 10, + /obj/item/cigarette = 10, ) ///An associated list of fuel and it's value var/list/matter_by_item = list(/obj/item/rcd_ammo = 10,) diff --git a/code/game/objects/items/robot/items/tools.dm b/code/game/objects/items/robot/items/tools.dm index 8cdf65a431a6a..8a4ccff8ced20 100644 --- a/code/game/objects/items/robot/items/tools.dm +++ b/code/game/objects/items/robot/items/tools.dm @@ -300,10 +300,9 @@ deselect() return ..() -/obj/item/borg/cyborg_omnitool/pre_attack(atom/atom, mob/living/user, params) +/obj/item/borg/cyborg_omnitool/melee_attack_chain(mob/user, atom/target, params) if(selected) - selected.melee_attack_chain(user, atom, params) - return TRUE + return selected.melee_attack_chain(user, target, params) return ..() /obj/item/borg/cyborg_omnitool/engineering diff --git a/code/game/objects/items/robot/robot_upgrades.dm b/code/game/objects/items/robot/robot_upgrades.dm index 84de0c577c32a..b2994028c7006 100644 --- a/code/game/objects/items/robot/robot_upgrades.dm +++ b/code/game/objects/items/robot/robot_upgrades.dm @@ -421,6 +421,9 @@ model_type = list(/obj/item/robot_model/medical, /obj/item/robot_model/syndicate_medical) model_flags = BORG_MODEL_MEDICAL + items_to_add = list(/obj/item/healthanalyzer/advanced) + items_to_remove = list(/obj/item/healthanalyzer) + /obj/item/borg/upgrade/surgery_omnitool/action(mob/living/silicon/robot/cyborg, mob/living/user = usr) . = ..() if(!.) diff --git a/code/game/objects/items/stacks/rods.dm b/code/game/objects/items/stacks/rods.dm index 6011e0b396159..82f19d09d9692 100644 --- a/code/game/objects/items/stacks/rods.dm +++ b/code/game/objects/items/stacks/rods.dm @@ -63,8 +63,8 @@ GLOBAL_LIST_INIT(rod_recipes, list ( \ slapcraft_recipes = slapcraft_recipe_list,\ ) -/obj/item/stack/rods/handle_openspace_click(turf/target, mob/user, click_parameters) - target.attackby(src, user, click_parameters) +/obj/item/stack/rods/handle_openspace_click(turf/target, mob/user, list/modifiers) + target.attackby(src, user, list2params(modifiers)) /obj/item/stack/rods/get_main_recipes() . = ..() diff --git a/code/game/objects/items/stacks/sheets/mineral.dm b/code/game/objects/items/stacks/sheets/mineral.dm index c969b1dbe50cc..0d4393efea6a4 100644 --- a/code/game/objects/items/stacks/sheets/mineral.dm +++ b/code/game/objects/items/stacks/sheets/mineral.dm @@ -367,7 +367,7 @@ GLOBAL_LIST_INIT(snow_recipes, list ( \ GLOBAL_LIST_INIT(adamantine_recipes, list( - new /datum/stack_recipe("incomplete servant golem shell", /obj/item/golem_shell/servant, req_amount=1, res_amount=1, category = CAT_ROBOT), + new /datum/stack_recipe("incomplete servant golem shell", /obj/item/golem_shell/servant, req_amount=3, res_amount=1, category = CAT_ROBOT), )) /obj/item/stack/sheet/mineral/adamantine diff --git a/code/game/objects/items/stacks/sheets/sheet_types.dm b/code/game/objects/items/stacks/sheets/sheet_types.dm index 662f94c61d5e1..d32df2562402f 100644 --- a/code/game/objects/items/stacks/sheets/sheet_types.dm +++ b/code/game/objects/items/stacks/sheets/sheet_types.dm @@ -87,9 +87,9 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ new/datum/stack_recipe("wall girders (anchored)", /obj/structure/girder, 2, time = 4 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, placement_checks = STACK_CHECK_TRAM_FORBIDDEN, trait_booster = TRAIT_QUICK_BUILD, trait_modifier = 0.75, category = CAT_STRUCTURE), \ null, \ null, \ - new/datum/stack_recipe("computer frame", /obj/structure/frame/computer, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_EQUIPMENT), \ - new/datum/stack_recipe("modular console", /obj/machinery/modular_computer, 10, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_EQUIPMENT), \ - new/datum/stack_recipe("machine frame", /obj/structure/frame/machine, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("computer frame", /obj/structure/frame/computer, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("modular console", /obj/machinery/modular_computer, 10, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("machine frame", /obj/structure/frame/machine, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ null, \ new /datum/stack_recipe_list("airlock assemblies", list( \ new /datum/stack_recipe("standard airlock assembly", /obj/structure/door_assembly, 4, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_DOORS), \ @@ -113,24 +113,37 @@ GLOBAL_LIST_INIT(metal_recipes, list ( \ )), \ null, \ new/datum/stack_recipe("firelock frame", /obj/structure/firelock_frame, 3, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_DOORS), \ - new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_EQUIPMENT), \ - new/datum/stack_recipe("meatspike frame", /obj/structure/kitchenspike_frame, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_EQUIPMENT), \ - new/datum/stack_recipe("reflector frame", /obj/structure/reflector, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("turret frame", /obj/machinery/porta_turret_construct, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("meatspike frame", /obj/structure/kitchenspike_frame, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("reflector frame", /obj/structure/reflector, 5, time = 2.5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ null, \ new/datum/stack_recipe("grenade casing", /obj/item/grenade/chem_grenade, crafting_flags = NONE, category = CAT_CHEMISTRY), \ - new/datum/stack_recipe("light fixture frame", /obj/item/wallframe/light_fixture, 2, crafting_flags = NONE, category = CAT_EQUIPMENT), \ - new/datum/stack_recipe("small light fixture frame", /obj/item/wallframe/light_fixture/small, 1, crafting_flags = NONE, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("light fixture frame", /obj/item/wallframe/light_fixture, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("small light fixture frame", /obj/item/wallframe/light_fixture/small, 1, crafting_flags = NONE, category = CAT_STRUCTURE), \ null, \ - new/datum/stack_recipe("apc frame", /obj/item/wallframe/apc, 2, crafting_flags = NONE, category = CAT_EQUIPMENT), \ - new/datum/stack_recipe("air alarm frame", /obj/item/wallframe/airalarm, 2, crafting_flags = NONE, category = CAT_EQUIPMENT), \ - new/datum/stack_recipe("fire alarm frame", /obj/item/wallframe/firealarm, 2, crafting_flags = NONE, category = CAT_EQUIPMENT), \ - new/datum/stack_recipe("extinguisher cabinet frame", /obj/item/wallframe/extinguisher_cabinet, 2, crafting_flags = NONE, category = CAT_EQUIPMENT), \ - new/datum/stack_recipe("button frame", /obj/item/wallframe/button, 1, crafting_flags = NONE, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("apc frame", /obj/item/wallframe/apc, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("air alarm frame", /obj/item/wallframe/airalarm, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("fire alarm frame", /obj/item/wallframe/firealarm, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("extinguisher cabinet frame", /obj/item/wallframe/extinguisher_cabinet, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("button frame", /obj/item/wallframe/button, 1, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("light switch frame", /obj/item/wallframe/light_switch, 1, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("sparker frame", /obj/item/wallframe/sparker, 1, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("turret control frame", /obj/item/wallframe/turret_control, 6, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("camera assembly", /obj/item/wallframe/camera, 1, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("newscaster frame", /obj/item/wallframe/newscaster, 7, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("status display frame", /obj/item/wallframe/status_display, 7, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("intercom frame", /obj/item/wallframe/intercom, 2, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("requests console frame", /obj/item/wallframe/requests_console, 7, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("telescreen turbine frame", /obj/item/wallframe/telescreen/turbine, 7, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("telescreen engine frame", /obj/item/wallframe/telescreen/engine, 7, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("telescreen auxbase frame", /obj/item/wallframe/telescreen/auxbase, 7, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("tram controller frame", /obj/item/wallframe/tram/controller, 20, crafting_flags = NONE, category = CAT_STRUCTURE), \ + new/datum/stack_recipe("tram display frame", /obj/item/wallframe/indicator_display, 7, crafting_flags = NONE, category = CAT_STRUCTURE), \ null, \ new/datum/stack_recipe("iron door", /obj/structure/mineral_door/iron, 20, time = 5 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND | CRAFT_APPLIES_MATS, category = CAT_DOORS), \ new/datum/stack_recipe("filing cabinet", /obj/structure/filingcabinet, 2, time = 10 SECONDS, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_FURNITURE), \ new/datum/stack_recipe("desk bell", /obj/structure/desk_bell, 2, time = 3 SECONDS, crafting_flags = NONE, category = CAT_FURNITURE), \ - new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_EQUIPMENT), \ + new/datum/stack_recipe("floodlight frame", /obj/structure/floodlight_frame, 5, crafting_flags = CRAFT_CHECK_DENSITY | CRAFT_ONE_PER_TURF | CRAFT_ON_SOLID_GROUND, category = CAT_STRUCTURE), \ new/datum/stack_recipe("voting box", /obj/structure/votebox, 15, time = 5 SECONDS, crafting_flags = NONE, category = CAT_ENTERTAINMENT), \ new/datum/stack_recipe("pestle", /obj/item/pestle, 1, time = 5 SECONDS, crafting_flags = NONE, category = CAT_CHEMISTRY), \ new/datum/stack_recipe("hygienebot assembly", /obj/item/bot_assembly/hygienebot, 2, time = 5 SECONDS, crafting_flags = NONE, category = CAT_ROBOT), \ @@ -326,7 +339,7 @@ GLOBAL_LIST_INIT(wood_recipes, list ( \ new/datum/stack_recipe("apiary", /obj/structure/beebox, 40, time = 5 SECONDS, crafting_flags = NONE, category = CAT_TOOLS),\ new/datum/stack_recipe("mannequin", /obj/structure/mannequin/wood, 25, time = 5 SECONDS, crafting_flags = CRAFT_ONE_PER_TURF, category = CAT_ENTERTAINMENT), \ new/datum/stack_recipe("tiki mask", /obj/item/clothing/mask/gas/tiki_mask, 2, crafting_flags = NONE, category = CAT_CLOTHING), \ - new/datum/stack_recipe("smoking pipe", /obj/item/clothing/mask/cigarette/pipe, 2, crafting_flags = NONE, category = CAT_CLOTHING), \ + new/datum/stack_recipe("smoking pipe", /obj/item/cigarette/pipe, 2, crafting_flags = NONE, category = CAT_CLOTHING), \ new/datum/stack_recipe("honey frame", /obj/item/honey_frame, 5, time = 1 SECONDS, crafting_flags = NONE, category = CAT_TOOLS),\ new/datum/stack_recipe("wooden bucket", /obj/item/reagent_containers/cup/bucket/wooden, 3, time = 1 SECONDS, crafting_flags = NONE, category = CAT_CONTAINERS),\ new/datum/stack_recipe("rake", /obj/item/cultivator/rake, 5, time = 1 SECONDS, crafting_flags = NONE, category = CAT_TOOLS),\ diff --git a/code/game/objects/items/stacks/stack.dm b/code/game/objects/items/stacks/stack.dm index 4258465f3a07e..c748ba4c494a1 100644 --- a/code/game/objects/items/stacks/stack.dm +++ b/code/game/objects/items/stacks/stack.dm @@ -426,6 +426,7 @@ if(created) created.setDir(builder.dir) + SEND_SIGNAL(created, COMSIG_ATOM_CONSTRUCTED, builder) on_item_crafted(builder, created) // Use up the material diff --git a/code/game/objects/items/stacks/tiles/tile_types.dm b/code/game/objects/items/stacks/tiles/tile_types.dm index 700116ac1e18f..89e6cae389dbd 100644 --- a/code/game/objects/items/stacks/tiles/tile_types.dm +++ b/code/game/objects/items/stacks/tiles/tile_types.dm @@ -101,8 +101,8 @@ playsound(target_plating, 'sound/weapons/genhit.ogg', 50, TRUE) return target_plating -/obj/item/stack/tile/handle_openspace_click(turf/target, mob/user, click_parameters) - target.attackby(src, user, click_parameters) +/obj/item/stack/tile/handle_openspace_click(turf/target, mob/user, list/modifiers) + target.attackby(src, user, list2params(modifiers)) //Grass /obj/item/stack/tile/grass @@ -1075,6 +1075,11 @@ inhand_icon_state = "tile-bcircuit" turf_type = /turf/open/floor/circuit merge_type = /obj/item/stack/tile/circuit + tile_reskin_types = list( + /obj/item/stack/tile/circuit, + /obj/item/stack/tile/circuit/green, + /obj/item/stack/tile/circuit/red, + ) /obj/item/stack/tile/circuit/green name = "green circuit tile" diff --git a/code/game/objects/items/storage/backpack.dm b/code/game/objects/items/storage/backpack.dm index 10c95056afffb..c01203e3d50fb 100644 --- a/code/game/objects/items/storage/backpack.dm +++ b/code/game/objects/items/storage/backpack.dm @@ -32,10 +32,6 @@ * Backpack Types */ -/obj/item/storage/backpack/old/Initialize(mapload) - . = ..() - atom_storage.max_total_storage = 12 - /obj/item/bag_of_holding_inert name = "inert bag of holding" desc = "What is currently a just an unwieldly block of metal with a slot ready to accept a bluespace anomaly core." diff --git a/code/game/objects/items/storage/bags.dm b/code/game/objects/items/storage/bags.dm index e363687618988..996cd933647a1 100644 --- a/code/game/objects/items/storage/bags.dm +++ b/code/game/objects/items/storage/bags.dm @@ -363,7 +363,7 @@ atom_storage.max_specific_storage = WEIGHT_CLASS_BULKY //Plates are required bulky to keep them out of backpacks atom_storage.set_holdable( can_hold_list = list( - /obj/item/clothing/mask/cigarette, + /obj/item/cigarette, /obj/item/food, /obj/item/kitchen, /obj/item/lighter, diff --git a/code/game/objects/items/storage/boxes/food_boxes.dm b/code/game/objects/items/storage/boxes/food_boxes.dm index bab60320c957f..bccb04f14d006 100644 --- a/code/game/objects/items/storage/boxes/food_boxes.dm +++ b/code/game/objects/items/storage/boxes/food_boxes.dm @@ -94,27 +94,27 @@ desc = "A paper sack with a crude smile etched onto the side." return ..() -/obj/item/storage/box/papersack/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - if(IS_WRITING_UTENSIL(inserted)) - var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, PROC_REF(check_menu), user, inserted), radius = 36, require_near = TRUE) +/obj/item/storage/box/papersack/tool_act(mob/living/user, obj/item/tool, list/modifiers) + if(IS_WRITING_UTENSIL(tool)) + var/choice = show_radial_menu(user, src , papersack_designs, custom_check = CALLBACK(src, PROC_REF(check_menu), user, tool), radius = 36, require_near = TRUE) if(!choice || choice == design_choice) - return FALSE + return ITEM_INTERACT_BLOCKING design_choice = choice balloon_alert(user, "modified") update_appearance() - return FALSE - if(inserted.get_sharpness() && !contents.len) + return ITEM_INTERACT_SUCCESS + if(tool.get_sharpness() && !contents.len) if(design_choice == "None") user.show_message(span_notice("You cut eyeholes into [src]."), MSG_VISUAL) new /obj/item/clothing/head/costume/papersack(drop_location()) qdel(src) - return FALSE + return ITEM_INTERACT_SUCCESS else if(design_choice == "SmileyFace") user.show_message(span_notice("You cut eyeholes into [src] and modify the design."), MSG_VISUAL) new /obj/item/clothing/head/costume/papersack/smiley(drop_location()) qdel(src) - return FALSE - return TRUE + return ITEM_INTERACT_SUCCESS + return ..() /** * check_menu: Checks if we are allowed to interact with a radial menu diff --git a/code/game/objects/items/storage/boxes/job_boxes.dm b/code/game/objects/items/storage/boxes/job_boxes.dm index 7785099a2262c..ea9189cc5f2b0 100644 --- a/code/game/objects/items/storage/boxes/job_boxes.dm +++ b/code/game/objects/items/storage/boxes/job_boxes.dm @@ -171,20 +171,20 @@ desc = "A colorful cardboard box for the clown" illustration = "clown" -/obj/item/storage/box/clown/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - if(istype(inserted, /obj/item/bodypart/arm/left/robot) || istype(inserted, /obj/item/bodypart/arm/right/robot)) - if(contents.len) //prevent accidently deleting contents - balloon_alert(user, "items inside!") - return FALSE - if(!user.temporarilyRemoveItemFromInventory(inserted)) - return FALSE - qdel(inserted) - loc.balloon_alert(user, "wheels added, honk!") - var/obj/item/bot_assembly/honkbot/A = new - qdel(src) - user.put_in_hands(A) - return FALSE - return TRUE +/obj/item/storage/box/clown/tool_act(mob/living/user, obj/item/tool, list/modifiers) + if(!istype(tool, /obj/item/bodypart/arm/left/robot) && !istype(tool, /obj/item/bodypart/arm/right/robot)) + return ..() + if(contents.len) //prevent accidently deleting contents + balloon_alert(user, "items inside!") + return ITEM_INTERACT_BLOCKING + if(!user.temporarilyRemoveItemFromInventory(tool)) + return ITEM_INTERACT_BLOCKING + qdel(tool) + loc.balloon_alert(user, "wheels added, honk!") + var/obj/item/bot_assembly/honkbot/A = new + qdel(src) + user.put_in_hands(A) + return ITEM_INTERACT_SUCCESS /obj/item/storage/box/clown/suicide_act(mob/living/user) user.visible_message(span_suicide("[user] opens [src] and gets consumed by [p_them()]! It looks like [user.p_theyre()] trying to commit suicide!")) diff --git a/code/game/objects/items/storage/boxes/service_boxes.dm b/code/game/objects/items/storage/boxes/service_boxes.dm index e4d6a86553f4c..ee558d863daf4 100644 --- a/code/game/objects/items/storage/boxes/service_boxes.dm +++ b/code/game/objects/items/storage/boxes/service_boxes.dm @@ -92,19 +92,17 @@ atom_storage.max_slots = 10 atom_storage.set_holdable(/obj/item/match) -/obj/item/storage/box/matches/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - return !istype(inserted, /obj/item/match) +/obj/item/storage/box/matches/tool_act(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/match)) + var/obj/item/match/match = tool + match.matchignite() + return ITEM_INTERACT_SUCCESS + return ..() /obj/item/storage/box/matches/PopulateContents() for(var/i in 1 to 10) new /obj/item/match(src) -/obj/item/storage/box/matches/item_interaction(mob/living/user, obj/item/match/match, list/modifiers) - if(istype(match)) - match.matchignite() - return ITEM_INTERACT_SUCCESS - return NONE - /obj/item/storage/box/matches/update_icon_state() . = ..() switch(length(contents)) diff --git a/code/game/objects/items/storage/fancy.dm b/code/game/objects/items/storage/fancy.dm index 4aa93cc543332..1c5490301a5c0 100644 --- a/code/game/objects/items/storage/fancy.dm +++ b/code/game/objects/items/storage/fancy.dm @@ -202,7 +202,7 @@ w_class = WEIGHT_CLASS_TINY throwforce = 0 slot_flags = ITEM_SLOT_BELT - spawn_type = /obj/item/clothing/mask/cigarette/space_cigarette + spawn_type = /obj/item/cigarette/space_cigarette spawn_count = 6 custom_price = PAYCHECK_CREW age_restricted = TRUE @@ -233,18 +233,18 @@ /obj/item/storage/fancy/cigarettes/Initialize(mapload) . = ..() atom_storage.display_contents = FALSE - atom_storage.set_holdable(list(/obj/item/clothing/mask/cigarette, /obj/item/lighter)) + atom_storage.set_holdable(list(/obj/item/cigarette, /obj/item/lighter)) register_context() /obj/item/storage/fancy/cigarettes/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) . = ..() if(interacting_with != user) // you can quickly put a cigarette in your mouth only return ..() - quick_remove_item(/obj/item/clothing/mask/cigarette, user, equip_to_mouth = TRUE) + quick_remove_item(/obj/item/cigarette, user, equip_to_mouth = TRUE) /obj/item/storage/fancy/cigarettes/attack_hand_secondary(mob/user, list/modifiers) . = ..() - quick_remove_item(/obj/item/clothing/mask/cigarette, user) + quick_remove_item(/obj/item/cigarette, user) return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN /obj/item/storage/fancy/cigarettes/click_alt(mob/user) @@ -252,7 +252,7 @@ if(lighter) quick_remove_item(lighter, user) else - quick_remove_item(/obj/item/clothing/mask/cigarette, user) + quick_remove_item(/obj/item/cigarette, user) return CLICK_ACTION_SUCCESS /// Removes an item or puts it in mouth from the packet, if any @@ -316,49 +316,49 @@ desc = "A packet of six imported DromedaryCo cancer sticks. A label on the packaging reads, \"Wouldn't a slow death make a change?\"" icon_state = "dromedary" base_icon_state = "dromedary" - spawn_type = /obj/item/clothing/mask/cigarette/dromedary + spawn_type = /obj/item/cigarette/dromedary /obj/item/storage/fancy/cigarettes/cigpack_uplift name = "\improper Uplift Smooth packet" desc = "Your favorite brand, now menthol flavored." icon_state = "uplift" base_icon_state = "uplift" - spawn_type = /obj/item/clothing/mask/cigarette/uplift + spawn_type = /obj/item/cigarette/uplift /obj/item/storage/fancy/cigarettes/cigpack_robust name = "\improper Robust packet" desc = "Smoked by the robust." icon_state = "robust" base_icon_state = "robust" - spawn_type = /obj/item/clothing/mask/cigarette/robust + spawn_type = /obj/item/cigarette/robust /obj/item/storage/fancy/cigarettes/cigpack_robustgold name = "\improper Robust Gold packet" desc = "Smoked by the truly robust." icon_state = "robustg" base_icon_state = "robustg" - spawn_type = /obj/item/clothing/mask/cigarette/robustgold + spawn_type = /obj/item/cigarette/robustgold /obj/item/storage/fancy/cigarettes/cigpack_carp name = "\improper Carp Classic packet" desc = "Since 2313." icon_state = "carp" base_icon_state = "carp" - spawn_type = /obj/item/clothing/mask/cigarette/carp + spawn_type = /obj/item/cigarette/carp /obj/item/storage/fancy/cigarettes/cigpack_syndicate name = "cigarette packet" desc = "An obscure brand of cigarettes." icon_state = "syndie" base_icon_state = "syndie" - spawn_type = /obj/item/clothing/mask/cigarette/syndicate + spawn_type = /obj/item/cigarette/syndicate /obj/item/storage/fancy/cigarettes/cigpack_midori name = "\improper Midori Tabako packet" desc = "You can't understand the runes, but the packet smells funny." icon_state = "midori" base_icon_state = "midori" - spawn_type = /obj/item/clothing/mask/cigarette/rollie/nicotine + spawn_type = /obj/item/cigarette/rollie/nicotine /obj/item/storage/fancy/cigarettes/cigpack_candy name = "\improper Timmy's First Candy Smokes packet" @@ -366,42 +366,42 @@ icon_state = "candy" base_icon_state = "candy" contents_tag = "candy cigarette" - spawn_type = /obj/item/clothing/mask/cigarette/candy + spawn_type = /obj/item/cigarette/candy candy = TRUE age_restricted = FALSE /obj/item/storage/fancy/cigarettes/cigpack_candy/Initialize(mapload) . = ..() if(prob(7)) - spawn_type = /obj/item/clothing/mask/cigarette/candy/nicotine //uh oh! + spawn_type = /obj/item/cigarette/candy/nicotine //uh oh! /obj/item/storage/fancy/cigarettes/cigpack_shadyjims name = "\improper Shady Jim's Super Slims packet" desc = "Is your weight slowing you down? Having trouble running away from gravitational singularities? Can't stop stuffing your mouth? Smoke Shady Jim's Super Slims and watch all that fat burn away. Guaranteed results!" icon_state = "shadyjim" base_icon_state = "shadyjim" - spawn_type = /obj/item/clothing/mask/cigarette/shadyjims + spawn_type = /obj/item/cigarette/shadyjims /obj/item/storage/fancy/cigarettes/cigpack_xeno name = "\improper Xeno Filtered packet" desc = "Loaded with 100% pure slime. And also nicotine." icon_state = "slime" base_icon_state = "slime" - spawn_type = /obj/item/clothing/mask/cigarette/xeno + spawn_type = /obj/item/cigarette/xeno /obj/item/storage/fancy/cigarettes/cigpack_cannabis name = "\improper Freak Brothers' Special packet" desc = "A label on the packaging reads, \"Endorsed by Phineas, Freddy and Franklin.\"" icon_state = "midori" base_icon_state = "midori" - spawn_type = /obj/item/clothing/mask/cigarette/rollie/cannabis + spawn_type = /obj/item/cigarette/rollie/cannabis /obj/item/storage/fancy/cigarettes/cigpack_mindbreaker name = "\improper Leary's Delight packet" desc = "Banned in over 36 galaxies." icon_state = "shadyjim" base_icon_state = "shadyjim" - spawn_type = /obj/item/clothing/mask/cigarette/rollie/mindbreaker + spawn_type = /obj/item/cigarette/rollie/mindbreaker /obj/item/storage/fancy/rollingpapers name = "rolling paper pack" @@ -437,14 +437,14 @@ base_icon_state = "cigarcase" w_class = WEIGHT_CLASS_NORMAL contents_tag = "premium cigar" - spawn_type = /obj/item/clothing/mask/cigarette/cigar/premium + spawn_type = /obj/item/cigarette/cigar/premium spawn_count = 5 spawn_coupon = FALSE display_cigs = FALSE /obj/item/storage/fancy/cigarettes/cigars/Initialize(mapload) . = ..() - atom_storage.set_holdable(/obj/item/clothing/mask/cigarette/cigar) + atom_storage.set_holdable(/obj/item/cigarette/cigar) /obj/item/storage/fancy/cigarettes/cigars/update_icon_state() . = ..() @@ -456,7 +456,7 @@ if(!open_status) return var/cigar_position = 1 //generate sprites for cigars in the box - for(var/obj/item/clothing/mask/cigarette/cigar/smokes in contents) + for(var/obj/item/cigarette/cigar/smokes in contents) . += "[smokes.icon_off]_[cigar_position]" cigar_position++ @@ -465,14 +465,14 @@ desc = "A case of imported Cohiba cigars, renowned for their strong flavor." icon_state = "cohibacase" base_icon_state = "cohibacase" - spawn_type = /obj/item/clothing/mask/cigarette/cigar/cohiba + spawn_type = /obj/item/cigarette/cigar/cohiba /obj/item/storage/fancy/cigarettes/cigars/havana name = "\improper premium Havanian cigar case" desc = "A case of classy Havanian cigars." icon_state = "cohibacase" base_icon_state = "cohibacase" - spawn_type = /obj/item/clothing/mask/cigarette/cigar/havana + spawn_type = /obj/item/cigarette/cigar/havana /* * Heart Shaped Box w/ Chocolates diff --git a/code/game/objects/items/storage/lockbox.dm b/code/game/objects/items/storage/lockbox.dm index 3f80f0e22af55..a1dbe0e690c71 100644 --- a/code/game/objects/items/storage/lockbox.dm +++ b/code/game/objects/items/storage/lockbox.dm @@ -12,6 +12,7 @@ var/open = FALSE var/icon_locked = "lockbox+l" var/icon_closed = "lockbox" + var/icon_open = "lockbox" var/icon_broken = "lockbox+b" /obj/item/storage/lockbox/Initialize(mapload) @@ -19,48 +20,54 @@ atom_storage.max_specific_storage = WEIGHT_CLASS_NORMAL atom_storage.max_total_storage = 14 atom_storage.max_slots = 4 - atom_storage.locked = TRUE + atom_storage.locked = STORAGE_FULLY_LOCKED register_context() + update_appearance() + +/obj/item/storage/lockbox/tool_act(mob/living/user, obj/item/tool, list/modifiers) + var/obj/item/card/card = tool.GetID() + if(isnull(card)) + return ..() + + if(can_unlock(user, card)) + if(atom_storage.locked) + atom_storage.locked = STORAGE_NOT_LOCKED + else + atom_storage.locked = STORAGE_FULLY_LOCKED + atom_storage.close_all() + balloon_alert(user, atom_storage.locked ? "locked" : "unlocked") + update_appearance() + return ITEM_INTERACT_SUCCESS + + return ITEM_INTERACT_BLOCKING + +/obj/item/storage/lockbox/proc/can_unlock(mob/living/user, obj/item/card/id/id_card) + if(check_access(id_card)) + return TRUE + + balloon_alert(user, "access denied!") + return FALSE -/obj/item/storage/lockbox/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - var/locked = atom_storage.locked - if(inserted.GetID()) - if(broken) - balloon_alert(user, "broken!") - return FALSE - if(allowed(user)) - if(atom_storage.locked) - atom_storage.locked = STORAGE_NOT_LOCKED - else - atom_storage.locked = STORAGE_FULLY_LOCKED - locked = atom_storage.locked - if(locked) - icon_state = icon_locked - atom_storage.close_all() - else - icon_state = icon_closed - - balloon_alert(user, locked ? "locked" : "unlocked") - return FALSE - - balloon_alert(user, "access denied!") - return FALSE - - if(locked) - balloon_alert(user, "locked!") - return FALSE - - return TRUE +/obj/item/storage/lockbox/update_icon_state() + . = ..() + if(broken) + icon_state = icon_broken + else if(atom_storage?.locked) + icon_state = icon_locked + else if(open) + icon_state = icon_open + else + icon_state = icon_closed /obj/item/storage/lockbox/emag_act(mob/user, obj/item/card/emag/emag_card) if(!broken) broken = TRUE atom_storage.locked = STORAGE_NOT_LOCKED - icon_state = src.icon_broken balloon_alert(user, "lock destroyed") if (emag_card && user) user.visible_message(span_warning("[user] swipes [emag_card] over [src], breaking it!")) + update_appearance() return TRUE return FALSE @@ -108,6 +115,7 @@ icon_locked = "medalbox+l" icon_closed = "medalbox" icon_broken = "medalbox+b" + icon_open = "medalboxopen" /obj/item/storage/lockbox/medal/Initialize(mapload) . = ..() @@ -123,7 +131,7 @@ /obj/item/storage/lockbox/medal/click_alt(mob/user) if(!atom_storage.locked) - open = (open ? FALSE : TRUE) + open = !open update_appearance() return CLICK_ACTION_SUCCESS @@ -138,18 +146,6 @@ for(var/i in 1 to 3) new /obj/item/clothing/accessory/medal/conduct(src) -/obj/item/storage/lockbox/medal/update_icon_state() - if(atom_storage?.locked) - icon_state = "medalbox+l" - return ..() - - icon_state = "medalbox" - if(open) - icon_state += "open" - if(broken) - icon_state += "+b" - return ..() - /obj/item/storage/lockbox/medal/update_overlays() . = ..() if(!contents || !open) @@ -238,13 +234,13 @@ icon_state = "secure" icon_closed = "secure" icon_locked = "secure_locked" - icon_broken = "secure+b" + icon_broken = "secure_locked" + icon_open = "secure" inhand_icon_state = "sec-case" lefthand_file = 'icons/mob/inhands/equipment/briefcase_lefthand.dmi' righthand_file = 'icons/mob/inhands/equipment/briefcase_righthand.dmi' w_class = WEIGHT_CLASS_HUGE var/datum/bank_account/buyer_account - var/privacy_lock = TRUE /obj/item/storage/lockbox/order/Initialize(mapload, datum/bank_account/_buyer_account) . = ..() @@ -252,26 +248,11 @@ ADD_TRAIT(src, TRAIT_NO_MISSING_ITEM_ERROR, TRAIT_GENERIC) ADD_TRAIT(src, TRAIT_NO_MANIFEST_CONTENTS_ERROR, TRAIT_GENERIC) -/obj/item/storage/lockbox/order/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - var/obj/item/card/id/id_card = inserted.GetID() - if(!id_card) - return ..() - - if(id_card.registered_account != buyer_account) - balloon_alert(user, "incorrect bank account!") - return FALSE +/obj/item/storage/lockbox/order/can_unlock(mob/living/user, obj/item/card/id/id_card) + if(id_card.registered_account == buyer_account) + return TRUE - if(privacy_lock) - atom_storage.locked = STORAGE_NOT_LOCKED - icon_state = icon_locked - else - atom_storage.locked = STORAGE_FULLY_LOCKED - icon_state = icon_closed - privacy_lock = atom_storage.locked - user.visible_message( - span_notice("[user] [privacy_lock ? "" : "un"]locks [src]'s privacy lock."), - span_notice("You [privacy_lock ? "" : "un"]lock [src]'s privacy lock."), - ) + balloon_alert(user, "incorrect bank account!") return FALSE ///screentips for lockboxes diff --git a/code/game/objects/items/storage/medkit.dm b/code/game/objects/items/storage/medkit.dm index b1ca307e939f1..944289598d17b 100644 --- a/code/game/objects/items/storage/medkit.dm +++ b/code/game/objects/items/storage/medkit.dm @@ -171,6 +171,9 @@ inhand_icon_state = "medkit-ointment" damagetype_healed = BURN +/obj/item/storage/medkit/fire/get_medbot_skin() + return "ointment" + /obj/item/storage/medkit/fire/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] begins rubbing \the [src] against [user.p_them()]self! It looks like [user.p_theyre()] trying to start a fire!")) return FIRELOSS @@ -192,6 +195,9 @@ inhand_icon_state = "medkit-toxin" damagetype_healed = TOX +/obj/item/storage/medkit/toxin/get_medbot_skin() + return "tox" + /obj/item/storage/medkit/toxin/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] begins licking the lead paint off \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return TOXLOSS @@ -216,6 +222,9 @@ inhand_icon_state = "medkit-o2" damagetype_healed = OXY +/obj/item/storage/medkit/o2/get_medbot_skin() + return "o2" + /obj/item/storage/medkit/o2/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] begins hitting [user.p_their()] neck with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return OXYLOSS @@ -237,6 +246,9 @@ inhand_icon_state = "medkit-brute" damagetype_healed = BRUTE +/obj/item/storage/medkit/brute/get_medbot_skin() + return "brute" + /obj/item/storage/medkit/brute/suicide_act(mob/living/carbon/user) user.visible_message(span_suicide("[user] begins beating [user.p_them()]self over the head with \the [src]! It looks like [user.p_theyre()] trying to commit suicide!")) return BRUTELOSS @@ -261,6 +273,9 @@ custom_premium_price = PAYCHECK_COMMAND * 6 damagetype_healed = HEAL_ALL_DAMAGE +/obj/item/storage/medkit/advanced/get_medbot_skin() + return "advanced" + /obj/item/storage/medkit/advanced/PopulateContents() if(empty) return @@ -277,6 +292,9 @@ inhand_icon_state = "medkit-tactical" damagetype_healed = HEAL_ALL_DAMAGE +/obj/item/storage/medkit/tactical_lite/get_medbot_skin() + return "bezerk" + /obj/item/storage/medkit/tactical_lite/PopulateContents() if(empty) return @@ -399,35 +417,28 @@ generate_items_inside(items_inside,src) //medibot assembly -/obj/item/storage/medkit/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - if(!istype(inserted, /obj/item/bodypart/arm/left/robot) && !istype(inserted, /obj/item/bodypart/arm/right/robot)) - return TRUE +/obj/item/storage/medkit/tool_act(mob/living/user, obj/item/tool, list/modifiers) + if(!istype(tool, /obj/item/bodypart/arm/left/robot) && !istype(tool, /obj/item/bodypart/arm/right/robot)) + return ..() //Making a medibot! if(contents.len >= 1) balloon_alert(user, "items inside!") - return FALSE - - ///if you add a new one don't forget to update /datum/crafting_recipe/medbot/on_craft_completion() - var/obj/item/bot_assembly/medbot/medbot_assembly = new - if (istype(src, /obj/item/storage/medkit/fire)) - medbot_assembly.set_skin("ointment") - else if (istype(src, /obj/item/storage/medkit/toxin)) - medbot_assembly.set_skin("tox") - else if (istype(src, /obj/item/storage/medkit/o2)) - medbot_assembly.set_skin("o2") - else if (istype(src, /obj/item/storage/medkit/brute)) - medbot_assembly.set_skin("brute") - else if (istype(src, /obj/item/storage/medkit/advanced)) - medbot_assembly.set_skin("advanced") - else if (istype(src, /obj/item/storage/medkit/tactical)) - medbot_assembly.set_skin("bezerk") + return ITEM_INTERACT_BLOCKING + + var/obj/item/bot_assembly/medbot/medbot_assembly = new() + medbot_assembly.set_skin(get_medbot_skin()) user.put_in_hands(medbot_assembly) medbot_assembly.balloon_alert(user, "arm added") - medbot_assembly.robot_arm = inserted.type + medbot_assembly.robot_arm = tool.type medbot_assembly.medkit_type = type - qdel(inserted) + qdel(tool) qdel(src) - return FALSE + return ITEM_INTERACT_SUCCESS + +/// Gets what skin (icon_state) this medkit uses for a medbot +/obj/item/storage/medkit/proc/get_medbot_skin() + // The skin var is nullsafe so returning nothing is A-OK + return /* * Pill Bottles @@ -733,14 +744,7 @@ icon_state = "[base_icon_state][cooling ? "-working" : null]" return ..() -/obj/item/storage/organbox/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - if(is_reagent_container(inserted) && inserted.is_open_container()) - return FALSE - if(istype(inserted, /obj/item/plunger)) - return FALSE - return TRUE - -/obj/item/storage/organbox/item_interaction(mob/living/user, obj/item/tool, list/modifiers) +/obj/item/storage/organbox/tool_act(mob/living/user, obj/item/tool, list/modifiers) if(is_reagent_container(tool) && tool.is_open_container()) var/obj/item/reagent_containers/RC = tool var/units = RC.reagents.trans_to(src, RC.amount_per_transfer_from_this, transferred_by = user) @@ -754,7 +758,7 @@ balloon_alert(user, "plunged") reagents.clear_reagents() return ITEM_INTERACT_SUCCESS - return NONE + return ..() /obj/item/storage/organbox/suicide_act(mob/living/carbon/user) if(HAS_TRAIT(user, TRAIT_RESISTCOLD)) //if they're immune to cold, just do the box suicide diff --git a/code/game/objects/items/storage/toolbox.dm b/code/game/objects/items/storage/toolbox.dm index 5420121945b92..7c5bc74e07550 100644 --- a/code/game/objects/items/storage/toolbox.dm +++ b/code/game/objects/items/storage/toolbox.dm @@ -273,9 +273,9 @@ new /obj/item/gun_maintenance_supplies(src) //floorbot assembly -/obj/item/storage/toolbox/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - if(!istype(inserted, /obj/item/stack/tile/iron)) - return TRUE +/obj/item/storage/toolbox/tool_act(mob/living/user, obj/item/tool, list/modifiers) + if(!istype(tool, /obj/item/stack/tile/iron)) + return ..() var/static/list/allowed_toolbox = list( /obj/item/storage/toolbox/artistic, /obj/item/storage/toolbox/electrical, @@ -285,11 +285,11 @@ ) if(!is_type_in_list(src, allowed_toolbox) && (type != /obj/item/storage/toolbox)) - return TRUE + return ITEM_INTERACT_BLOCKING if(contents.len >= 1) balloon_alert(user, "not empty!") - return FALSE - if(inserted.use(10)) + return ITEM_INTERACT_BLOCKING + if(tool.use(10)) var/obj/item/bot_assembly/floorbot/B = new B.toolbox = type switch(B.toolbox) @@ -307,9 +307,9 @@ B.update_appearance() B.balloon_alert(user, "tiles added") qdel(src) - return FALSE + return ITEM_INTERACT_BLOCKING balloon_alert(user, "needs 10 tiles!") - return FALSE + return ITEM_INTERACT_SUCCESS /obj/item/storage/toolbox/haunted name = "old toolbox" diff --git a/code/game/objects/items/storage/wallets.dm b/code/game/objects/items/storage/wallets.dm index 469a14e0e7810..e485d6997f05f 100644 --- a/code/game/objects/items/storage/wallets.dm +++ b/code/game/objects/items/storage/wallets.dm @@ -18,7 +18,7 @@ /obj/item/stack/spacecash, /obj/item/holochip, /obj/item/card, - /obj/item/clothing/mask/cigarette, + /obj/item/cigarette, /obj/item/clothing/accessory/dogtag, /obj/item/coin, /obj/item/coupon, diff --git a/code/game/objects/items/tanks/tank_types.dm b/code/game/objects/items/tanks/tank_types.dm index 70c0ea0822a41..40989915a68ce 100644 --- a/code/game/objects/items/tanks/tank_types.dm +++ b/code/game/objects/items/tanks/tank_types.dm @@ -77,6 +77,14 @@ . += span_notice("A warning is etched into [src]...") . += span_warning("There is no process in the body that uses N2O, so patients will exhale the N2O... exposing you to it. Make sure to work in a well-ventilated space to avoid sleepy mishaps.") +/obj/item/tank/internals/anesthetic/pure + desc = "A tank with pure N2O. There is a warning sticker crudely slapped onto the tank." + icon_state = "anesthetic_warning" + +/obj/item/tank/internals/anesthetic/pure/populate_gas() + air_contents.assert_gases(/datum/gas/nitrous_oxide) + air_contents.gases[/datum/gas/nitrous_oxide][MOLES] = (10*ONE_ATMOSPHERE)*volume/(R_IDEAL_GAS_EQUATION*T20C) + /* * Plasma */ diff --git a/code/game/objects/items/theft_tools.dm b/code/game/objects/items/theft_tools.dm index 41edfaea37e88..e13251fe8e5ea 100644 --- a/code/game/objects/items/theft_tools.dm +++ b/code/game/objects/items/theft_tools.dm @@ -247,13 +247,6 @@ if(ismob(loc)) to_chat(loc, span_warning("[src] is permanently sealed, [sliver] is safely contained.")) -/obj/item/nuke_core_container/supermatter/attackby(obj/item/hemostat/supermatter/tongs, mob/user) - if(istype(tongs)) - //try to load shard into core - load(tongs, user) - else - return ..() - /obj/item/scalpel/supermatter name = "supermatter scalpel" desc = "A scalpel with a fragile tip of condensed hyper-noblium gas, searingly cold to the touch, that can safely shave a sliver off a supermatter crystal." @@ -295,11 +288,15 @@ /obj/item/hemostat/supermatter/interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(!sliver) - return NONE + return ..() + if (istype(interacting_with, /obj/item/nuke_core_container/supermatter)) + var/obj/item/nuke_core_container/supermatter/container = interacting_with + container.load(src, user) + return ITEM_INTERACT_SUCCESS if(ismovable(interacting_with) && interacting_with != sliver) Consume(interacting_with, user) return ITEM_INTERACT_SUCCESS - return NONE + return ..() /obj/item/hemostat/supermatter/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) // no instakill supermatter javelins if(sliver) diff --git a/code/game/objects/items/tools/crowbar.dm b/code/game/objects/items/tools/crowbar.dm index b4185732ce96c..c6b0d52cdc1c3 100644 --- a/code/game/objects/items/tools/crowbar.dm +++ b/code/game/objects/items/tools/crowbar.dm @@ -160,8 +160,8 @@ return COMPONENT_NO_DEFAULT_MESSAGE /obj/item/crowbar/power/syndicate - name = "Syndicate jaws of life" - desc = "A pocket sized re-engineered copy of Nanotrasen's standard jaws of life. Can be used to force open airlocks in its crowbar configuration." + name = "jaws of death" + desc = "An improved, faster, and smaller copy of Nanotrasen's standard jaws of life. Can be used to force open airlocks in its crowbar configuration." icon_state = "jaws_syndie" w_class = WEIGHT_CLASS_SMALL toolspeed = 0.5 diff --git a/code/game/objects/structures.dm b/code/game/objects/structures.dm index f43cc8dfa1cd4..ff6e6e171bb06 100644 --- a/code/game/objects/structures.dm +++ b/code/game/objects/structures.dm @@ -19,7 +19,7 @@ /obj/structure/Initialize(mapload) . = ..() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH(src) QUEUE_SMOOTH_NEIGHBORS(src) if(smoothing_flags & SMOOTH_CORNERS) @@ -28,7 +28,7 @@ /obj/structure/Destroy(force) GLOB.cameranet.updateVisibility(src) - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) return ..() diff --git a/code/game/objects/structures/beds_chairs/chair.dm b/code/game/objects/structures/beds_chairs/chair.dm index e8b5ed4c13d43..1783d4b236a63 100644 --- a/code/game/objects/structures/beds_chairs/chair.dm +++ b/code/game/objects/structures/beds_chairs/chair.dm @@ -11,7 +11,7 @@ integrity_failure = 0.1 custom_materials = list(/datum/material/iron =SHEET_MATERIAL_AMOUNT) layer = OBJ_LAYER - interaction_flags_mouse_drop = NEED_HANDS | NEED_DEXTERITY + interaction_flags_mouse_drop = ALLOW_RESTING var/buildstacktype = /obj/item/stack/sheet/iron var/buildstackamount = 1 @@ -437,7 +437,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/chair/stool/bar, 0) buildstacktype = /obj/item/stack/sheet/bronze buildstackamount = 1 item_chair = null - interaction_flags_click = NEED_DEXTERITY /// Total rotations made var/turns = 0 diff --git a/code/game/objects/structures/bedsheet_bin.dm b/code/game/objects/structures/bedsheet_bin.dm index 32ed0d14d873b..5e6b35531f182 100644 --- a/code/game/objects/structures/bedsheet_bin.dm +++ b/code/game/objects/structures/bedsheet_bin.dm @@ -581,6 +581,10 @@ LINEN BINS anchored = FALSE +/obj/structure/bedsheetbin/Initialize(mapload) + . = ..() + register_context() + /obj/structure/bedsheetbin/examine(mob/user) . = ..() if(amount < 1) @@ -590,6 +594,28 @@ LINEN BINS else . += "There are [amount] bed sheets in the bin." +/obj/structure/bedsheetbin/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + if(isnull(held_item)) + if(amount) + context[SCREENTIP_CONTEXT_LMB] = "Take bedsheet" + return CONTEXTUAL_SCREENTIP_SET + return + + if(istype(held_item, /obj/item/bedsheet)) + context[SCREENTIP_CONTEXT_LMB] = "Put in" + return CONTEXTUAL_SCREENTIP_SET + + if(held_item.tool_behaviour == TOOL_SCREWDRIVER) + context[SCREENTIP_CONTEXT_RMB] = "Disassemble" + . = CONTEXTUAL_SCREENTIP_SET + else if(held_item.tool_behaviour == TOOL_WRENCH) + context[SCREENTIP_CONTEXT_RMB] = "[anchored ? "Una" : "A"]nchor" + . = CONTEXTUAL_SCREENTIP_SET + + if(amount && held_item.w_class < WEIGHT_CLASS_BULKY) + context[SCREENTIP_CONTEXT_LMB] = "Hide item in" + . = CONTEXTUAL_SCREENTIP_SET + return . /obj/structure/bedsheetbin/update_icon_state() switch(amount) @@ -607,7 +633,7 @@ LINEN BINS update_appearance() ..() -/obj/structure/bedsheetbin/screwdriver_act(mob/living/user, obj/item/tool) +/obj/structure/bedsheetbin/screwdriver_act_secondary(mob/living/user, obj/item/tool) if(amount) to_chat(user, span_warning("The [src] must be empty first!")) return ITEM_INTERACT_SUCCESS @@ -617,27 +643,45 @@ LINEN BINS qdel(src) return ITEM_INTERACT_SUCCESS -/obj/structure/bedsheetbin/wrench_act(mob/living/user, obj/item/tool) +/obj/structure/bedsheetbin/wrench_act_secondary(mob/living/user, obj/item/tool) . = ..() default_unfasten_wrench(user, tool, time = 0.5 SECONDS) return ITEM_INTERACT_SUCCESS -/obj/structure/bedsheetbin/attackby(obj/item/I, mob/user, params) - if(istype(I, /obj/item/bedsheet)) - if(!user.transferItemToLoc(I, src)) - return - sheets.Add(I) - amount++ - to_chat(user, span_notice("You put [I] in [src].")) - update_appearance() +/obj/structure/bedsheetbin/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/bedsheet)) + return bedsheet_act(user, tool) - else if(amount && !hidden && I.w_class < WEIGHT_CLASS_BULKY) //make sure there's sheets to hide it among, make sure nothing else is hidden in there. - if(!user.transferItemToLoc(I, src)) - to_chat(user, span_warning("\The [I] is stuck to your hand, you cannot hide it among the sheets!")) - return - hidden = I - to_chat(user, span_notice("You hide [I] among the sheets.")) + // Everything else we try to hide + return hide_item_act(user, tool) +/obj/structure/bedsheetbin/proc/bedsheet_act(mob/living/user, obj/item/tool) + if(!user.transferItemToLoc(tool, src, silent = FALSE)) + return ITEM_INTERACT_BLOCKING + sheets.Add(tool) + amount++ + to_chat(user, span_notice("You put [tool] in [src].")) + update_appearance() + return ITEM_INTERACT_SUCCESS + +/obj/structure/bedsheetbin/proc/hide_item_act(mob/living/user, obj/item/tool) + if(user.combat_mode) + return NONE + if(tool.w_class >= WEIGHT_CLASS_BULKY) + balloon_alert(user, "too big!") + return ITEM_INTERACT_BLOCKING + if(!amount) + balloon_alert(user, "nothing to hide under!") + return ITEM_INTERACT_BLOCKING + if(hidden) + balloon_alert(user, "already something there!") + return ITEM_INTERACT_BLOCKING + if(!user.transferItemToLoc(tool, src, silent = FALSE)) + to_chat(user, span_warning("\The [tool] is stuck to your hand, you cannot hide it among the sheets!")) + return ITEM_INTERACT_BLOCKING + hidden = tool + to_chat(user, span_notice("You hide [tool] among the sheets.")) + return ITEM_INTERACT_SUCCESS /obj/structure/bedsheetbin/attack_paw(mob/user, list/modifiers) return attack_hand(user, modifiers) diff --git a/code/game/objects/structures/crates_lockers/closets.dm b/code/game/objects/structures/crates_lockers/closets.dm index 8fd16036811fe..4484e3c512ef3 100644 --- a/code/game/objects/structures/crates_lockers/closets.dm +++ b/code/game/objects/structures/crates_lockers/closets.dm @@ -182,7 +182,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) //USE THIS TO FILL IT, NOT INITIALIZE OR NEW /obj/structure/closet/proc/PopulateContents() - SEND_SIGNAL(src, COMSIG_CLOSET_POPULATE_CONTENTS) + return /// Populate the closet with stuff that needs to be added before it is opened. /// This is useful for things like traitor objectives. @@ -452,6 +452,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) if (!contents_initialized) contents_initialized = TRUE PopulateContents() + SEND_SIGNAL(src, COMSIG_CLOSET_CONTENTS_INITIALIZED) var/atom/L = drop_location() for(var/atom/movable/AM in src) @@ -1012,7 +1013,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) return FALSE return TRUE -/obj/structure/closet/container_resist_act(mob/living/user) +/obj/structure/closet/container_resist_act(mob/living/user, loc_required = TRUE) if(isstructure(loc)) relay_container_resist_act(user, loc) if(opened) @@ -1037,7 +1038,7 @@ GLOBAL_LIST_EMPTY(roundstart_station_closets) addtimer(CALLBACK(src, PROC_REF(check_if_shake)), 1 SECONDS) if(do_after(user,(breakout_time), target = src)) - if(!user || user.stat != CONSCIOUS || user.loc != src || opened || (!locked && !welded) ) + if(!user || user.stat != CONSCIOUS || (loc_required && (user.loc != src)) || opened || (!locked && !welded) ) return //we check after a while whether there is a point of resisting anymore and whether the user is capable of resisting user.visible_message(span_danger("[user] successfully broke out of [src]!"), diff --git a/code/game/objects/structures/crates_lockers/closets/bodybag.dm b/code/game/objects/structures/crates_lockers/closets/bodybag.dm index 8eb5cc3b8c0d4..ac8b444e47dc7 100644 --- a/code/game/objects/structures/crates_lockers/closets/bodybag.dm +++ b/code/game/objects/structures/crates_lockers/closets/bodybag.dm @@ -276,7 +276,7 @@ else icon_state = initial(icon_state) -/obj/structure/closet/body_bag/environmental/prisoner/container_resist_act(mob/living/user) +/obj/structure/closet/body_bag/environmental/prisoner/container_resist_act(mob/living/user, loc_required = TRUE) /// copy-pasted with changes because flavor text as well as some other misc stuff if(opened) return diff --git a/code/game/objects/structures/crates_lockers/crates.dm b/code/game/objects/structures/crates_lockers/crates.dm index c44cd0972aad1..baf239284ac2f 100644 --- a/code/game/objects/structures/crates_lockers/crates.dm +++ b/code/game/objects/structures/crates_lockers/crates.dm @@ -140,7 +140,7 @@ for (var/i in 1 to rand(2,6)) new /obj/effect/spawner/random/maintenance(src) - UnregisterSignal(src, COMSIG_CLOSET_POPULATE_CONTENTS) + UnregisterSignal(src, COMSIG_CLOSET_CONTENTS_INITIALIZED) ///Removes the supply manifest from the closet /obj/structure/closet/crate/proc/tear_manifest(mob/user) diff --git a/code/game/objects/structures/false_walls.dm b/code/game/objects/structures/false_walls.dm index cace64a710169..0564223a7c759 100644 --- a/code/game/objects/structures/false_walls.dm +++ b/code/game/objects/structures/false_walls.dm @@ -91,9 +91,9 @@ qdel(src) return T -/obj/structure/falsewall/item_interaction(mob/living/user, obj/item/tool, list/modifiers) +/obj/structure/falsewall/tool_act(mob/living/user, obj/item/tool, list/modifiers) if(!opening || !tool.tool_behaviour) - return NONE + return ..() to_chat(user, span_warning("You must wait until the door has stopped moving!")) return ITEM_INTERACT_BLOCKING diff --git a/code/game/objects/structures/grille.dm b/code/game/objects/structures/grille.dm index 37b894e277307..3bd3e00cc273b 100644 --- a/code/game/objects/structures/grille.dm +++ b/code/game/objects/structures/grille.dm @@ -42,7 +42,7 @@ return . = ..() - if((updates & UPDATE_SMOOTHING) && (smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK))) + if((updates & UPDATE_SMOOTHING) && (smoothing_flags & USES_SMOOTHING)) QUEUE_SMOOTH(src) /obj/structure/grille/update_icon_state() diff --git a/code/game/objects/structures/gym/punching_bag.dm b/code/game/objects/structures/gym/punching_bag.dm index ef0db16e953e3..03a64725ab5e3 100644 --- a/code/game/objects/structures/gym/punching_bag.dm +++ b/code/game/objects/structures/gym/punching_bag.dm @@ -57,12 +57,12 @@ stamina_exhaustion = 2 if (is_heavy_gravity) stamina_exhaustion *= 1.5 - + if(HAS_TRAIT(user, TRAIT_STRENGTH)) //The strong get reductions to stamina damage taken while exercising stamina_exhaustion *= 0.5 user.adjustStaminaLoss(stamina_exhaustion) - user.mind?.adjust_experience(/datum/skill/athletics, is_heavy_gravity ? 0.2 : 0.1) + user.mind?.adjust_experience(/datum/skill/athletics, is_heavy_gravity ? 0.6 : 0.3) user.apply_status_effect(/datum/status_effect/exercised) /obj/structure/punching_bag/wrench_act_secondary(mob/living/user, obj/item/tool) diff --git a/code/game/objects/structures/lavaland/necropolis_tendril.dm b/code/game/objects/structures/lavaland/necropolis_tendril.dm index 58308b9b9cf2b..2ede6833aa992 100644 --- a/code/game/objects/structures/lavaland/necropolis_tendril.dm +++ b/code/game/objects/structures/lavaland/necropolis_tendril.dm @@ -6,7 +6,7 @@ icon = 'icons/mob/simple/lavaland/nest.dmi' icon_state = "tendril" - faction = list(FACTION_MINING) + faction = list(FACTION_MINING, FACTION_ASHWALKER) max_mobs = 3 max_integrity = 250 mob_types = list(/mob/living/basic/mining/watcher) diff --git a/code/game/objects/structures/lavaland/ore_vent.dm b/code/game/objects/structures/lavaland/ore_vent.dm index c1e81862ac934..27e05b6dc540d 100644 --- a/code/game/objects/structures/lavaland/ore_vent.dm +++ b/code/game/objects/structures/lavaland/ore_vent.dm @@ -560,7 +560,7 @@ boss_string = "A giant, armored behemoth" if(/mob/living/simple_animal/hostile/megafauna/demonic_frost_miner) boss_string = "A bloody drillmark" - if(/mob/living/simple_animal/hostile/megafauna/wendigo) + if(/mob/living/simple_animal/hostile/megafauna/wendigo/noportal) boss_string = "A chilling skull" . += span_notice("[boss_string] is etched onto the side of the vent.") @@ -585,7 +585,7 @@ icon_state_tapped = "ore_vent_ice_active" defending_mobs = list( /mob/living/simple_animal/hostile/megafauna/demonic_frost_miner, - /mob/living/simple_animal/hostile/megafauna/wendigo, + /mob/living/simple_animal/hostile/megafauna/wendigo/noportal, /mob/living/simple_animal/hostile/megafauna/colossus, ) diff --git a/code/game/objects/structures/mineral_doors.dm b/code/game/objects/structures/mineral_doors.dm index d794f24dd0894..d67f61e9442bb 100644 --- a/code/game/objects/structures/mineral_doors.dm +++ b/code/game/objects/structures/mineral_doors.dm @@ -300,7 +300,7 @@ /obj/structure/mineral_door/paperframe/Initialize(mapload) . = ..() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) /obj/structure/mineral_door/paperframe/examine(mob/user) @@ -333,6 +333,6 @@ return ..() /obj/structure/mineral_door/paperframe/Destroy() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) return ..() diff --git a/code/game/objects/structures/reflector.dm b/code/game/objects/structures/reflector.dm index 0700f19818a39..e27f5fcf42b40 100644 --- a/code/game/objects/structures/reflector.dm +++ b/code/game/objects/structures/reflector.dm @@ -79,10 +79,10 @@ P.decayedRange = max(P.decayedRange--, 0) return BULLET_ACT_FORCE_PIERCE -/obj/structure/reflector/item_interaction(mob/living/user, obj/item/tool, list/modifiers) +/obj/structure/reflector/tool_act(mob/living/user, obj/item/tool, list/modifiers) if(admin && tool.tool_behaviour) return ITEM_INTERACT_BLOCKING - return NONE + return ..() /obj/structure/reflector/screwdriver_act(mob/living/user, obj/item/tool) can_rotate = !can_rotate diff --git a/code/game/objects/structures/secure_safe.dm b/code/game/objects/structures/secure_safe.dm index 76c3ab4575f6c..9e1bf9b5adef9 100644 --- a/code/game/objects/structures/secure_safe.dm +++ b/code/game/objects/structures/secure_safe.dm @@ -74,15 +74,15 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/secure_safe, 32) There appears to be a small amount of surface corrosion. It doesn't look like it could withstand much of an explosion.\ Due to the expensive material, it was made incredibly small to cut corners, leaving only enough room to fit something as slim as an ID card." icon = 'icons/obj/structures.dmi' - icon_state = "safe" - base_icon_state = "safe" + icon_state = "spare_safe" + base_icon_state = "spare_safe" armor_type = /datum/armor/safe_caps_spare max_integrity = 300 damage_deflection = 30 // prevents stealing the captain's spare using null rods/lavaland monsters/AP projectiles density = TRUE - anchored_tabletop_offset = 4 + anchored_tabletop_offset = 6 custom_materials = list(/datum/material/gold = SMALL_MATERIAL_AMOUNT) - material_flags = MATERIAL_EFFECTS | MATERIAL_COLOR + material_flags = MATERIAL_EFFECTS /datum/armor/safe_caps_spare melee = 100 @@ -95,9 +95,6 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/secure_safe, 32) /obj/structure/secure_safe/caps_spare/Initialize(mapload) . = ..() - var/matrix/small_safe_transformation = new - small_safe_transformation.Scale(0.6) - transform = small_safe_transformation atom_storage.set_holdable(/obj/item/card/id) AddComponent(/datum/component/lockable_storage, \ lock_code = SSid_access.spare_id_safe_code, \ diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm index 5f9450e435838..743d76ef182b2 100644 --- a/code/game/objects/structures/spawner.dm +++ b/code/game/objects/structures/spawner.dm @@ -70,7 +70,9 @@ spawn_time = spawn_time, \ max_spawned = max_mobs, \ faction = faction, \ - spawn_text = spawn_text, \ + spawn_text = spawn_text,\ + spawn_callback = CALLBACK(src, PROC_REF(on_mob_spawn)), \ + initial_spawn_delay = !mapload, \ ) /obj/structure/spawner/attack_animal(mob/living/simple_animal/user, list/modifiers) @@ -78,6 +80,8 @@ return return ..() +/obj/structure/spawner/proc/on_mob_spawn(atom/created_atom) + return /obj/structure/spawner/syndicate name = "warp beacon" @@ -226,3 +230,74 @@ newmob.desc = "It's [living_mob], but [living_mob.p_their()] flesh has an ashy texture, and [living_mob.p_their()] face is featureless save an eerie smile." src.visible_message(span_warning("[living_mob] reemerges from the link!")) qdel(living_mob) + +/obj/structure/spawner/sentient + var/role_name = "A sentient mob" + var/assumed_control_message = "You are a sentient mob from a badly coded spawner" + +/obj/structure/spawner/sentient/Initialize(mapload) + . = ..() + notify_ghosts( + "A [name] has been created in \the [get_area(src)]!", + source = src, + header = "Sentient Spawner Created", + notify_flags = NOTIFY_CATEGORY_NOFLASH, + ) + +/obj/structure/spawner/sentient/on_mob_spawn(atom/created_atom) + created_atom.AddComponent(\ + /datum/component/ghost_direct_control,\ + role_name = src.role_name,\ + assumed_control_message = src.assumed_control_message,\ + after_assumed_control = CALLBACK(src, PROC_REF(became_player_controlled)),\ + ) + +/obj/structure/spawner/sentient/proc/became_player_controlled(mob/proteon) + return + +/obj/structure/spawner/sentient/proteon_spawner + name = "eldritch gateway" + desc = "A dizzying structure that somehow links into Nar'Sie's own domain. The screams of the damned echo continously." + icon = 'icons/obj/antags/cult/structures.dmi' + icon_state = "hole" + light_power = 2 + light_color = COLOR_CULT_RED + max_integrity = 50 + density = FALSE + max_mobs = 2 + spawn_time = 15 SECONDS + mob_types = list(/mob/living/basic/construct/proteon/hostile) + spawn_text = "arises from" + faction = list(FACTION_CULT) + role_name = "A proteon cult construct" + assumed_control_message = null + +/obj/structure/spawner/sentient/proteon_spawner/examine_status(mob/user) + if(IS_CULTIST(user) || !isliving(user)) + return span_cult("It's at [round(atom_integrity * 100 / max_integrity)]% stability.") + return ..() + +/obj/structure/spawner/sentient/proteon_spawner/examine(mob/user) + . = ..() + if(!IS_CULTIST(user) && isliving(user)) + var/mob/living/living_user = user + living_user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15) + . += span_danger("The voices of the damned echo relentlessly in your mind, continously rebounding on the walls of your self the more you focus on [src]. Your head pounds, better keep away...") + else + . += span_cult("The gateway will create one weak proteon construct every [spawn_time * 0.1] seconds, up to a total of [max_mobs], that may be controlled by the spirits of the dead.") + +/obj/structure/spawner/sentient/proteon_spawner/became_player_controlled(mob/living/basic/construct/proteon/proteon) + proteon.mind.add_antag_datum(/datum/antagonist/cult) + proteon.add_filter("awoken_proteon", 3, list("type" = "outline", "color" = COLOR_CULT_RED, "size" = 2)) + visible_message(span_cult_bold("[proteon] awakens, glowing an eerie red as it stirs from its stupor!")) + playsound(proteon, 'sound/items/haunted/ghostitemattack.ogg', 100, TRUE) + proteon.balloon_alert_to_viewers("awoken!") + addtimer(CALLBACK(src, PROC_REF(remove_wake_outline), proteon), 8 SECONDS) + +/obj/structure/spawner/sentient/proteon_spawner/proc/remove_wake_outline(mob/proteon) + proteon.remove_filter("awoken_proteon") + proteon.add_filter("sentient_proteon", 3, list("type" = "outline", "color" = COLOR_CULT_RED, "size" = 2, "alpha" = 40)) + +/obj/structure/spawner/sentient/proteon_spawner/handle_deconstruct(disassembled) + playsound('sound/hallucinations/veryfar_noise.ogg', 125) + visible_message(span_cult_bold("[src] completely falls apart, the screams of the damned reaching a feverous pitch before slowly fading away into nothing.")) diff --git a/code/game/objects/structures/tables_racks.dm b/code/game/objects/structures/tables_racks.dm index 04be4f9d72331..69c6aca505f36 100644 --- a/code/game/objects/structures/tables_racks.dm +++ b/code/game/objects/structures/tables_racks.dm @@ -92,7 +92,7 @@ /obj/structure/table/update_icon(updates=ALL) . = ..() - if((updates & UPDATE_SMOOTHING) && (smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK))) + if((updates & UPDATE_SMOOTHING) && (smoothing_flags & USES_SMOOTHING)) QUEUE_SMOOTH(src) QUEUE_SMOOTH_NEIGHBORS(src) @@ -225,11 +225,6 @@ return ITEM_INTERACT_SUCCESS /obj/structure/table/item_interaction_secondary(mob/living/user, obj/item/tool, list/modifiers) - if(tool.tool_behaviour == TOOL_SCREWDRIVER || tool.tool_behaviour == TOOL_WRENCH) - // continue to tool act - // ...we need a better way to do this natively. - // maybe flag to call tool acts before item interaction specifically? - return NONE if(istype(tool, /obj/item/construction/rcd)) return NONE @@ -864,12 +859,6 @@ deconstruct(TRUE) return ITEM_INTERACT_SUCCESS -/obj/structure/rack/item_interaction_secondary(mob/living/user, obj/item/tool, list/modifiers) - if(tool.tool_behaviour == TOOL_WRENCH) - return NONE - - return item_interaction(user, tool, modifiers) - /obj/structure/rack/item_interaction(mob/living/user, obj/item/tool, list/modifiers) if((tool.item_flags & ABSTRACT) || user.combat_mode) return NONE diff --git a/code/game/objects/structures/tank_dispenser.dm b/code/game/objects/structures/tank_dispenser.dm index 2c0b3bdc95bbd..2d16ea30a69e4 100644 --- a/code/game/objects/structures/tank_dispenser.dm +++ b/code/game/objects/structures/tank_dispenser.dm @@ -2,7 +2,7 @@ /obj/structure/tank_dispenser name = "tank dispenser" - desc = "A simple yet bulky storage device for gas tanks. Holds up to 10 oxygen tanks and 10 plasma tanks." + desc = "A simple yet bulky storage device for gas tanks." icon = 'icons/obj/structures.dmi' icon_state = "dispenser" density = TRUE @@ -19,6 +19,7 @@ /obj/structure/tank_dispenser/Initialize(mapload) . = ..() + AddElement(/datum/element/contextual_screentip_bare_hands, lmb_text = "Take Plasma Tank", rmb_text = "Take Oxygen Tank") update_appearance() /obj/structure/tank_dispenser/update_overlays() @@ -34,6 +35,25 @@ if(5 to TANK_DISPENSER_CAPACITY) . += "plasma-5" +/obj/structure/tank_dispenser/attack_hand(mob/living/user, list/modifiers) + . = ..() + if (!plasmatanks) + balloon_alert(user, "no plasma tanks!") + return + dispense(/obj/item/tank/internals/plasma, user) + plasmatanks-- + update_appearance() + +/obj/structure/tank_dispenser/attack_hand_secondary(mob/user, list/modifiers) + . = ..() + if (!oxygentanks) + balloon_alert(user, "no oxygen tanks!") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + dispense(/obj/item/tank/internals/oxygen, user) + oxygentanks-- + update_appearance() + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + /obj/structure/tank_dispenser/wrench_act(mob/living/user, obj/item/tool) . = ..() default_unfasten_wrench(user, tool) @@ -52,67 +72,37 @@ else full = TRUE else if(!user.combat_mode) - to_chat(user, span_notice("[I] does not fit into [src].")) + balloon_alert(user, "can't insert!") return else return ..() if(full) - to_chat(user, span_notice("[src] can't hold any more of [I].")) + balloon_alert(user, "it is full!") return if(!user.transferItemToLoc(I, src)) return - to_chat(user, span_notice("You put [I] in [src].")) + balloon_alert(user, "tank inserted") update_appearance() -/obj/structure/tank_dispenser/ui_state(mob/user) - return GLOB.physical_state - -/obj/structure/tank_dispenser/ui_interact(mob/user, datum/tgui/ui) - ui = SStgui.try_update_ui(user, src, ui) - if(!ui) - ui = new(user, src, "TankDispenser", name) - ui.open() - -/obj/structure/tank_dispenser/ui_data(mob/user) - var/list/data = list() - data["oxygen"] = oxygentanks - data["plasma"] = plasmatanks - - return data - -/obj/structure/tank_dispenser/ui_act(action, params) - . = ..() - if(.) - return - switch(action) - if("plasma") - if (plasmatanks == 0) - return TRUE - - dispense(/obj/item/tank/internals/plasma, usr) - plasmatanks-- - if("oxygen") - if (oxygentanks == 0) - return TRUE - - dispense(/obj/item/tank/internals/oxygen, usr) - oxygentanks-- - - update_appearance() - return TRUE - - /obj/structure/tank_dispenser/atom_deconstruct(disassembled = TRUE) for(var/X in src) var/obj/item/I = X I.forceMove(loc) new /obj/item/stack/sheet/iron (loc, 2) +/obj/structure/tank_dispenser/examine(mob/user) + . = ..() + if(plasmatanks && oxygentanks) + . += span_notice("It has [plasmatanks] plasma tank\s and [oxygentanks] oxygen tank\s left.") + else if(plasmatanks || oxygentanks) + . += span_notice("It has [plasmatanks ? "[plasmatanks] plasma" : "[oxygentanks] oxygen"] tank\s left.") + /obj/structure/tank_dispenser/proc/dispense(tank_type, mob/receiver) var/existing_tank = locate(tank_type) in src if (isnull(existing_tank)) existing_tank = new tank_type receiver.put_in_hands(existing_tank) + balloon_alert(receiver, "tank received") #undef TANK_DISPENSER_CAPACITY diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 5ddac3f5a5245..6c41b2f8b157d 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -188,11 +188,11 @@ return return ..() -/obj/structure/window/item_interaction(mob/living/user, obj/item/tool, list/modifiers) +/obj/structure/window/tool_act(mob/living/user, obj/item/tool, list/modifiers) if(!can_be_reached(user)) return ITEM_INTERACT_SKIP_TO_ATTACK // Guess you get to hit it add_fingerprint(user) - return NONE + return ..() /obj/structure/window/welder_act(mob/living/user, obj/item/tool) if(atom_integrity >= max_integrity) @@ -393,7 +393,7 @@ //This proc is used to update the icons of nearby windows. /obj/structure/window/proc/update_nearby_icons() update_appearance() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) //merges adjacent full-tile windows into one @@ -402,7 +402,7 @@ if(QDELETED(src) || !fulltile) return - if((updates & UPDATE_SMOOTHING) && (smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK))) + if((updates & UPDATE_SMOOTHING) && (smoothing_flags & USES_SMOOTHING)) QUEUE_SMOOTH(src) var/ratio = atom_integrity / max_integrity @@ -568,6 +568,14 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/spawner, 0) MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/unanchored/spawner, 0) +// You can't rust glass! So only reinforced glass can be impacted. +/obj/structure/window/reinforced/rust_heretic_act() + add_atom_colour(COLOR_RUSTED_GLASS, FIXED_COLOUR_PRIORITY) + AddElement(/datum/element/rust) + set_armor(/datum/armor/none) + take_damage(get_integrity() * 0.5) + modify_max_integrity(max_integrity * 0.5) + /obj/structure/window/plasma name = "plasma window" desc = "A window made out of a plasma-silicate alloy. It looks insanely tough to break and burn through." @@ -893,7 +901,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/structure/window/reinforced/tinted/frosted/spaw /obj/structure/window/paperframe/update_icon(updates=ALL) . = ..() - if((updates & UPDATE_SMOOTHING) && (smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK))) + if((updates & UPDATE_SMOOTHING) && (smoothing_flags & USES_SMOOTHING)) QUEUE_SMOOTH(src) /obj/structure/window/paperframe/update_overlays() diff --git a/code/game/turfs/open/_open.dm b/code/game/turfs/open/_open.dm index 8270e3d791a90..7297f8433261e 100644 --- a/code/game/turfs/open/_open.dm +++ b/code/game/turfs/open/_open.dm @@ -11,7 +11,11 @@ /// Determines the type of damage overlay that will be used for the tile var/damaged_dmi = null var/broken = FALSE + /// Are broken overlays smoothed? if they are we have to change a little bit about how we render them + var/smooth_broken = FALSE var/burnt = FALSE + /// Are burnt overlays smoothed? if they are we have to change a little bit about how we render them + var/smooth_burnt = FALSE /// Returns a list of every turf state considered "broken". @@ -47,7 +51,7 @@ if(broken) var/mutable_appearance/broken_appearance = mutable_appearance(damaged_dmi, pick(broken_states())) - if(smoothing_flags && !(smoothing_flags & SMOOTH_BROKEN_TURF)) + if(smoothing_flags && !smooth_broken) var/matrix/translation = new translation.Translate(-LARGE_TURF_SMOOTHING_X_OFFSET, -LARGE_TURF_SMOOTHING_Y_OFFSET) broken_appearance.transform = translation @@ -62,7 +66,7 @@ else burnt_appearance = mutable_appearance(damaged_dmi, pick(broken_states())) - if(smoothing_flags && !(smoothing_flags & SMOOTH_BURNT_TURF)) + if(smoothing_flags && !smooth_burnt) var/matrix/translation = new translation.Translate(-LARGE_TURF_SMOOTHING_X_OFFSET, -LARGE_TURF_SMOOTHING_Y_OFFSET) burnt_appearance.transform = translation @@ -320,7 +324,7 @@ for(var/mob/living/L in contents) if(L.bodytemperature <= 50 && !HAS_TRAIT(L, TRAIT_RESISTCOLD)) L.apply_status_effect(/datum/status_effect/freon) - MakeSlippery(TURF_WET_PERMAFROST, 50) + MakeSlippery(TURF_WET_PERMAFROST, 10 SECONDS) return TRUE /turf/open/proc/water_vapor_gas_act() diff --git a/code/game/turfs/open/asteroid.dm b/code/game/turfs/open/asteroid.dm index aa295e1e8346e..8db5753a7196b 100644 --- a/code/game/turfs/open/asteroid.dm +++ b/code/game/turfs/open/asteroid.dm @@ -223,7 +223,7 @@ GLOBAL_LIST_EMPTY(dug_up_basalt) return TRUE return FALSE -/turf/open/misc/grass/burnt_states() +/turf/open/misc/asteroid/snow/burnt_states() return list("snow_dug") /turf/open/misc/asteroid/snow/icemoon diff --git a/code/game/turfs/open/floor/fancy_floor.dm b/code/game/turfs/open/floor/fancy_floor.dm index e9331872907f4..4d79e6b1b3141 100644 --- a/code/game/turfs/open/floor/fancy_floor.dm +++ b/code/game/turfs/open/floor/fancy_floor.dm @@ -160,6 +160,9 @@ AddElement(/datum/element/diggable, /obj/item/stack/ore/glass, 2, worm_chance = 50, \ action_text = "uproot", action_text_third_person = "uproots") +/turf/open/floor/grass/Airless + initial_gas_mix = AIRLESS_ATMOS + /turf/open/floor/grass/proc/spawniconchange() icon_state = "grass[rand(0,3)]" @@ -273,11 +276,11 @@ if(!. || !(updates & UPDATE_SMOOTHING)) return if(!broken && !burnt) - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH(src) else make_plating() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) /turf/open/floor/carpet/lone diff --git a/code/game/turfs/open/floor/hull.dm b/code/game/turfs/open/floor/hull.dm index 54ea29e051a45..6836c29b960ec 100644 --- a/code/game/turfs/open/floor/hull.dm +++ b/code/game/turfs/open/floor/hull.dm @@ -10,6 +10,16 @@ name = "shuttle ceiling plating" var/old_turf_type +/turf/open/floor/engine/hull/ceiling/Initialize(mapload) + . = ..() + if(!istype(loc, /area/space)) + return + if(istype(loc, /area/space/nearstation)) + return + new /obj/effect/mapping_error (src) //We're in a normal space tile, meaning we aren't lit correct. + ///datum/unit_test/mapping_nearstation_test.dm SHOULD fail this case automatically + //this is just here so the mapper responsible can easily see where the issues are directly on the map. + /turf/open/floor/engine/hull/ceiling/AfterChange(flags, oldType) . = ..() old_turf_type = oldType diff --git a/code/game/turfs/open/floor/plating.dm b/code/game/turfs/open/floor/plating.dm index b5f1e38faae3e..6e4834773c325 100644 --- a/code/game/turfs/open/floor/plating.dm +++ b/code/game/turfs/open/floor/plating.dm @@ -176,8 +176,8 @@ ScrapeAway(flags = CHANGETURF_INHERIT_AIR) return TRUE -/turf/open/floor/plating/foam/item_interaction(mob/living/user, obj/item/tool, list/modifiers) - return user.combat_mode ? ITEM_INTERACT_SKIP_TO_ATTACK : ITEM_INTERACT_BLOCKING // Fuck you +/turf/open/floor/plating/foam/welder_act(mob/living/user, obj/item/I) + return NONE // Fuck you //reinforced plating deconstruction states #define PLATE_INTACT 0 diff --git a/code/game/turfs/open/floor/plating/misc_plating.dm b/code/game/turfs/open/floor/plating/misc_plating.dm index 704578438fdc3..101376e73aead 100644 --- a/code/game/turfs/open/floor/plating/misc_plating.dm +++ b/code/game/turfs/open/floor/plating/misc_plating.dm @@ -67,6 +67,10 @@ /turf/open/floor/plating/snowed/icemoon initial_gas_mix = ICEMOON_DEFAULT_ATMOS +/turf/open/floor/plating/snowed/standard_air + initial_gas_mix = OPENTURF_DEFAULT_ATMOS + planetary_atmos = FALSE + /turf/open/floor/plating/snowed/smoothed icon = 'icons/turf/floors/snow_turf.dmi' icon_state = "snow_turf-0" diff --git a/code/game/turfs/open/grass.dm b/code/game/turfs/open/grass.dm index d1779ad7499ac..4dd5946a7ed14 100644 --- a/code/game/turfs/open/grass.dm +++ b/code/game/turfs/open/grass.dm @@ -10,9 +10,11 @@ barefootstep = FOOTSTEP_GRASS clawfootstep = FOOTSTEP_GRASS heavyfootstep = FOOTSTEP_GENERIC_HEAVY - smoothing_flags = SMOOTH_BITMASK | SMOOTH_BROKEN_TURF | SMOOTH_BURNT_TURF + smoothing_flags = SMOOTH_BITMASK smoothing_groups = SMOOTH_GROUP_TURF_OPEN + SMOOTH_GROUP_FLOOR_GRASS canSmoothWith = SMOOTH_GROUP_FLOOR_GRASS + SMOOTH_GROUP_CLOSED_TURFS + smooth_broken = TRUE + smooth_burnt = TRUE layer = HIGH_TURF_LAYER rust_resistance = RUST_RESISTANCE_ORGANIC damaged_dmi = 'icons/turf/floors/grass_damaged.dmi' @@ -24,13 +26,13 @@ var/base_burnt_icon_state = "grass_damaged" /turf/open/misc/grass/broken_states() - if (!smoothing_junction || !(smoothing_flags & SMOOTH_BROKEN_TURF)) + if (!smoothing_junction || !smooth_broken) return list("[base_broken_icon_state]-255") return list("[base_broken_icon_state]-[smoothing_junction]") /turf/open/misc/grass/burnt_states() - if (!smoothing_junction || !(smoothing_flags & SMOOTH_BURNT_TURF)) + if (!smoothing_junction || !smooth_burnt) return list("[base_burnt_icon_state]-255") return list("[base_burnt_icon_state]-[smoothing_junction]") diff --git a/code/game/turfs/open/lava.dm b/code/game/turfs/open/lava.dm index 53450b85db0df..23e2b6b38db84 100644 --- a/code/game/turfs/open/lava.dm +++ b/code/game/turfs/open/lava.dm @@ -205,8 +205,8 @@ to_chat(user, span_warning("You need one rod to build a heatproof lattice.")) return // Light a cigarette in the lava - if(istype(C, /obj/item/clothing/mask/cigarette)) - var/obj/item/clothing/mask/cigarette/ciggie = C + if(istype(C, /obj/item/cigarette)) + var/obj/item/cigarette/ciggie = C if(ciggie.lit) to_chat(user, span_warning("The [ciggie.name] is already lit!")) return TRUE diff --git a/code/game/turfs/turf.dm b/code/game/turfs/turf.dm index 565adb22dbc00..10165f869174f 100644 --- a/code/game/turfs/turf.dm +++ b/code/game/turfs/turf.dm @@ -153,7 +153,7 @@ GLOBAL_LIST_EMPTY(station_turfs) SETUP_SMOOTHING() - if (smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if (smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH(src) for(var/atom/movable/content as anything in src) diff --git a/code/modules/antagonists/_common/antag_spawner.dm b/code/modules/antagonists/_common/antag_spawner.dm index bc22eedbfa189..440feb91b7622 100644 --- a/code/modules/antagonists/_common/antag_spawner.dm +++ b/code/modules/antagonists/_common/antag_spawner.dm @@ -443,7 +443,7 @@ name = "Syndicate Monkey Agent Kit" head = /obj/item/clothing/head/fedora - mask = /obj/item/clothing/mask/cigarette/syndicate + mask = /obj/item/cigarette/syndicate uniform = /obj/item/clothing/under/syndicate l_pocket = /obj/item/reagent_containers/cup/soda_cans/monkey_energy r_pocket = /obj/item/storage/fancy/cigarettes/cigpack_syndicate diff --git a/code/modules/antagonists/abductor/abductor.dm b/code/modules/antagonists/abductor/abductor.dm index 9f02e5cb167f9..68cf781db9b05 100644 --- a/code/modules/antagonists/abductor/abductor.dm +++ b/code/modules/antagonists/abductor/abductor.dm @@ -7,6 +7,7 @@ show_in_antagpanel = FALSE //should only show subtypes show_to_ghosts = TRUE suicide_cry = "FOR THE MOTHERSHIP!!" // They can't even talk but y'know + stinger_sound = 'sound/ambience/antag/ayylien.ogg' var/datum/team/abductor_team/team var/sub_role var/outfit @@ -74,7 +75,6 @@ objectives += team.objectives finalize_abductor() ADD_TRAIT(owner, TRAIT_ABDUCTOR_TRAINING, ABDUCTOR_ANTAGONIST) - owner.current.playsound_local(get_turf(owner.current), 'sound/ambience/antag/ayylien.ogg', 100, FALSE, pressure_affected = FALSE, use_reverb = FALSE) return ..() /datum/antagonist/abductor/on_removal() diff --git a/code/modules/antagonists/ashwalker/ashwalker.dm b/code/modules/antagonists/ashwalker/ashwalker.dm index 7caa0d0a2fb0b..827d929b0fbb5 100644 --- a/code/modules/antagonists/ashwalker/ashwalker.dm +++ b/code/modules/antagonists/ashwalker/ashwalker.dm @@ -28,10 +28,14 @@ . = ..() RegisterSignal(owner.current, COMSIG_MOB_EXAMINATE, PROC_REF(on_examinate)) owner.teach_crafting_recipe(/datum/crafting_recipe/skeleton_key) + if(FACTION_NEUTRAL in owner.current.faction) + owner.current.faction.Remove(FACTION_NEUTRAL) // ashwalkers aren't neutral; they're ashwalker-aligned /datum/antagonist/ashwalker/on_removal() . = ..() UnregisterSignal(owner.current, COMSIG_MOB_EXAMINATE) + if(!(FACTION_NEUTRAL in owner.current.faction)) + owner.current.faction.Add(FACTION_NEUTRAL) /datum/antagonist/ashwalker/proc/on_examinate(datum/source, atom/A) SIGNAL_HANDLER diff --git a/code/modules/antagonists/changeling/changeling.dm b/code/modules/antagonists/changeling/changeling.dm index d0aaa2671c414..20e1c94ee9a60 100644 --- a/code/modules/antagonists/changeling/changeling.dm +++ b/code/modules/antagonists/changeling/changeling.dm @@ -40,7 +40,7 @@ /// The max chemical storage the changeling currently has. var/total_chem_storage = 75 /// The chemical recharge rate per life tick. - var/chem_recharge_rate = 0.5 + var/chem_recharge_rate = 1 /// Any additional modifiers triggered by changelings that modify the chem_recharge_rate. var/chem_recharge_slowdown = 0 /// The range this ling can sting things. @@ -262,14 +262,18 @@ SIGNAL_HANDLER var/delta_time = DELTA_WORLD_TIME(SSmobs) + var/mob/living/living_owner = owner.current // If dead, we only regenerate up to half chem storage. if(owner.current.stat == DEAD) adjust_chemicals((chem_recharge_rate - chem_recharge_slowdown) * delta_time, total_chem_storage * 0.5) - // If we're not dead - we go up to the full chem cap. + // If we're not dead and not on fire - we go up to the full chem cap at normal speed. If on fire we only regenerate at 1/4th the normal speed else - adjust_chemicals((chem_recharge_rate - chem_recharge_slowdown) * delta_time) + if(living_owner.fire_stacks && living_owner.on_fire) + adjust_chemicals((chem_recharge_rate - 0.75) * delta_time) + else + adjust_chemicals((chem_recharge_rate - chem_recharge_slowdown) * delta_time) /** * Signal proc for [COMSIG_LIVING_POST_FULLY_HEAL] diff --git a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm index 0e468159a3c7a..7b9eee1bfe94a 100644 --- a/code/modules/antagonists/changeling/powers/pheromone_receptors.dm +++ b/code/modules/antagonists/changeling/powers/pheromone_receptors.dm @@ -55,7 +55,7 @@ var/datum/antagonist/changeling/antag_datum = IS_CHANGELING(C) if(istype(antag_datum)) var/their_loc = get_turf(C) - var/distance = get_dist_euclidian(my_loc, their_loc) + var/distance = get_dist_euclidean(my_loc, their_loc) if (distance < CHANGELING_PHEROMONE_MAX_DISTANCE) changelings[C] = (CHANGELING_PHEROMONE_MAX_DISTANCE ** 2) - (distance ** 2) diff --git a/code/modules/antagonists/cult/blood_magic.dm b/code/modules/antagonists/cult/blood_magic.dm index 192d9c4e66d5a..eb55138a4483a 100644 --- a/code/modules/antagonists/cult/blood_magic.dm +++ b/code/modules/antagonists/cult/blood_magic.dm @@ -12,6 +12,8 @@ default_button_position = DEFAULT_BLOODSPELLS var/list/spells = list() var/channeling = FALSE + /// If the magic has been enhanced somehow, likely due to a crimson focus. + var/magic_enhanced = FALSE /datum/action/innate/cult/blood_magic/Remove() for(var/X in spells) @@ -29,7 +31,7 @@ var/atom/movable/screen/movable/action_button/button = viewers[hud] var/position = screen_loc_to_offset(button.screen_loc) var/list/position_list = list() - for(var/possible_position in 1 to MAX_BLOODCHARGE) + for(var/possible_position in 1 to magic_enhanced ? ENHANCED_BLOODCHARGE : MAX_BLOODCHARGE) position_list += possible_position for(var/datum/action/innate/cult/blood_spell/blood_spell in spells) if(blood_spell.positioned) @@ -50,10 +52,10 @@ rune = TRUE break if(rune) - limit = MAX_BLOODCHARGE + limit = magic_enhanced ? ENHANCED_BLOODCHARGE : MAX_BLOODCHARGE if(length(spells) >= limit) if(rune) - to_chat(owner, span_cult_italic("You cannot store more than [MAX_BLOODCHARGE] spells. Pick a spell to remove.")) + to_chat(owner, span_cult_italic("You cannot store more than [limit] spells. Pick a spell to remove.")) else to_chat(owner, span_cult_bold_italic("You cannot store more than [RUNELESS_MAX_BLOODCHARGE] spells without an empowering rune! Pick a spell to remove.")) var/nullify_spell = tgui_input_list(owner, "Spell to remove", "Current Spells", spells) @@ -86,10 +88,15 @@ else to_chat(owner, span_cult_italic("You are already invoking blood magic!")) return - if(do_after(owner, 100 - rune*60, target = owner)) + var/spell_carving_timer = 10 SECONDS + if(rune) + spell_carving_timer = 4 SECONDS + if(magic_enhanced) + spell_carving_timer *= 0.5 + if(do_after(owner, spell_carving_timer, target = owner)) if(ishuman(owner)) var/mob/living/carbon/human/human_owner = owner - human_owner.bleed(40 - rune*32) + human_owner.bleed(rune ? 8 : 40) var/datum/action/innate/cult/blood_spell/new_spell = new BS(owner.mind) new_spell.Grant(owner, src) spells += new_spell @@ -428,19 +435,35 @@ return var/datum/antagonist/cult/cultist = IS_CULTIST(user) var/datum/team/cult/cult_team = cultist.get_team() - var/effect_coef = 1 - (cult_team.cult_risen ? 0.4 : 0) - (cult_team.cult_ascendent ? 0.5 : 0) + var/effect_coef = 1 + if(cult_team.cult_ascendent) + effect_coef = 0.1 + else if(cult_team.cult_risen) + effect_coef = 0.4 user.visible_message( span_warning("[user] holds up [user.p_their()] hand, which explodes in a flash of red light!"), span_cult_italic("You attempt to stun [target] with the spell!"), visible_message_flags = ALWAYS_SHOW_SELF_MESSAGE, ) user.mob_light(range = 1.1, power = 2, color = LIGHT_COLOR_BLOOD_MAGIC, duration = 0.2 SECONDS) + // Heretics are momentarily disoriented by the stunning aura. Enough for both parties to go 'oh shit' but only a mild combat ability. + // Heretics have an identical effect on their grasp. The cultist's worse spell preparation is offset by their extra gear and teammates. if(IS_HERETIC(target)) - to_chat(user, span_warning("Some force greater than you intervenes! [target] is protected by the Forgotten Gods!")) - to_chat(target, span_warning("You are protected by your faith to the Forgotten Gods.")) + target.AdjustKnockdown(0.5 SECONDS) + target.adjust_confusion_up_to(1.5 SECONDS, 3 SECONDS) + target.adjust_dizzy_up_to(1.5 SECONDS, 3 SECONDS) + ADD_TRAIT(target, TRAIT_NO_SIDE_KICK, REF(src)) // We don't want this to be a good stunning tool, just minor disorientation + addtimer(TRAIT_CALLBACK_REMOVE(target, TRAIT_NO_SIDE_KICK, REF(src)), 1 SECONDS) + var/old_color = target.color - target.color = rgb(0, 128, 0) - animate(target, color = old_color, time = 1 SECONDS, easing = EASE_IN) + target.color = COLOR_HERETIC_GREEN + animate(target, color = old_color, time = 4 SECONDS, easing = EASE_IN) + target.mob_light(range = 1.5, power = 2.5, color = COLOR_HERETIC_GREEN, duration = 0.5 SECONDS) + playsound(target, 'sound/magic/magic_block_mind.ogg', 150, TRUE) // insanely quiet + + to_chat(user, span_warning("An eldritch force intervenes as you touch [target], absorbing most of the effects!")) + to_chat(target, span_warning("As [user] touches you with vile magicks, the Mansus absorbs most of the effects!")) + target.balloon_alert_to_viewers("absorbed!") else if(target.can_block_magic()) to_chat(user, span_warning("The spell had no effect!")) else diff --git a/code/modules/antagonists/cult/cult_bastard_sword.dm b/code/modules/antagonists/cult/cult_bastard_sword.dm deleted file mode 100644 index 0d70bd503fb7f..0000000000000 --- a/code/modules/antagonists/cult/cult_bastard_sword.dm +++ /dev/null @@ -1,98 +0,0 @@ - -/// Cult Bastard Sword, earned by cultists when they manage to sacrifice a heretic. -/obj/item/cult_bastard - name = "bloody bastard sword" - desc = "An enormous sword used by Nar'Sien cultists to rapidly harvest the souls of non-believers." - w_class = WEIGHT_CLASS_HUGE - block_chance = 50 - block_sound = 'sound/weapons/parry.ogg' - throwforce = 20 - force = 35 - armour_penetration = 45 - throw_speed = 1 - throw_range = 3 - sharpness = SHARP_EDGED - light_color = "#ff0000" - attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") - attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") - icon = 'icons/obj/weapons/sword.dmi' - icon_state = "cultbastard" - inhand_icon_state = "cultbastard" - hitsound = 'sound/weapons/bladeslice.ogg' - lefthand_file = 'icons/mob/inhands/64x64_lefthand.dmi' - righthand_file = 'icons/mob/inhands/64x64_righthand.dmi' - inhand_x_dimension = 64 - inhand_y_dimension = 64 - actions_types = list() - item_flags = SLOWS_WHILE_IN_HAND - ///if we are using our attack_self ability - var/spinning = FALSE - -/obj/item/cult_bastard/Initialize(mapload) - . = ..() - set_light(4) - AddComponent(/datum/component/butchering, 50, 80) - AddComponent(/datum/component/two_handed, require_twohands = TRUE) - AddComponent(/datum/component/soul_stealer, soulstone_type = /obj/item/soulstone) - AddComponent( \ - /datum/component/spin2win, \ - spin_cooldown_time = 25 SECONDS, \ - on_spin_callback = CALLBACK(src, PROC_REF(on_spin)), \ - on_unspin_callback = CALLBACK(src, PROC_REF(on_unspin)), \ - start_spin_message = span_danger("%USER begins swinging the sword around with inhuman strength!"), \ - end_spin_message = span_warning("%USER's inhuman strength dissipates and the sword's runes grow cold!") \ - ) - -/obj/item/cult_bastard/proc/on_spin(mob/living/user, duration) - var/oldcolor = user.color - user.color = "#ff0000" - user.add_stun_absorption( - source = name, - duration = duration, - priority = 2, - message = span_warning("%EFFECT_OWNER doesn't even flinch as the sword's power courses through [user.p_them()]!"), - self_message = span_boldwarning("You shrug off the stun!"), - examine_message = span_warning("%EFFECT_OWNER_THEYRE glowing with a blazing red aura!"), - ) - user.spin(duration, 1) - animate(user, color = oldcolor, time = duration, easing = EASE_IN) - addtimer(CALLBACK(user, TYPE_PROC_REF(/atom, update_atom_colour)), duration) - block_chance = 100 - slowdown += 1.5 - spinning = TRUE - -/obj/item/cult_bastard/proc/on_unspin(mob/living/user) - block_chance = 50 - slowdown -= 1.5 - spinning = FALSE - -/obj/item/cult_bastard/can_be_pulled(user) - return FALSE - -/obj/item/cult_bastard/pickup(mob/living/user) - . = ..() - if(!IS_CULTIST(user)) - if(!IS_HERETIC(user)) - to_chat(user, "\"I wouldn't advise that.\"") - force = 5 - return - else - to_chat(user, span_cult_large("\"You cling to the Forgotten Gods, as if you're more than their pawn.\"")) - to_chat(user, span_userdanger("A horrible force yanks at your arm!")) - user.emote("scream") - user.apply_damage(30, BRUTE, pick(GLOB.arm_zones)) - user.dropItemToGround(src, TRUE) - user.Paralyze(50) - return - force = initial(force) - -/obj/item/cult_bastard/IsReflect(def_zone) - if(!spinning) - return FALSE - return TRUE - -/obj/item/cult_bastard/hit_reaction(mob/living/carbon/human/owner, atom/movable/hitby, attack_text = "the attack", final_block_chance = 0, damage = 0, attack_type = MELEE_ATTACK, damage_type = BRUTE) - if(!prob(final_block_chance)) - return FALSE - owner.visible_message(span_danger("[owner] parries [attack_text] with [src]!")) - return TRUE diff --git a/code/modules/antagonists/cult/cult_items.dm b/code/modules/antagonists/cult/cult_items.dm index c0051aec87cd1..33710d9199853 100644 --- a/code/modules/antagonists/cult/cult_items.dm +++ b/code/modules/antagonists/cult/cult_items.dm @@ -76,6 +76,8 @@ Striking a noncultist, however, will tear their flesh."} block_sound = 'sound/weapons/parry.ogg' attack_verb_continuous = list("attacks", "slashes", "stabs", "slices", "tears", "lacerates", "rips", "dices", "rends") attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") + /// If TRUE, it can be used at will by anyone, non-cultists included + var/free_use = FALSE /obj/item/melee/cultblade/Initialize(mapload) . = ..() @@ -93,7 +95,7 @@ Striking a noncultist, however, will tear their flesh."} return FALSE /obj/item/melee/cultblade/attack(mob/living/target, mob/living/carbon/human/user) - if(!IS_CULTIST(user)) + if(!IS_CULTIST(user) && !free_use) user.Paralyze(100) user.dropItemToGround(src, TRUE) user.visible_message(span_warning("A powerful force shoves [user] away from [target]!"), \ @@ -106,6 +108,174 @@ Striking a noncultist, however, will tear their flesh."} return ..() +#define WIELDER_SPELLS "wielder_spell" +#define SWORD_SPELLS "sword_spell" +#define SWORD_PREFIX "sword_prefix" + +/obj/item/melee/cultblade/haunted + name = "haunted longsword" + desc = "An eerie sword with a blade that is less 'black' than it is 'absolute nothingness'. It glows with furious, restrained green energy." + icon_state = "hauntedblade" + inhand_icon_state = "hauntedblade" + worn_icon_state = "hauntedblade" + force = 35 + throwforce = 35 + block_chance = 55 + wound_bonus = -25 + bare_wound_bonus = 30 + free_use = TRUE + light_color = COLOR_HERETIC_GREEN + light_range = 4 + /// holder for the actual action when created. + var/datum/action/cooldown/spell/path_wielder_action + var/mob/living/trapped_entity + /// The heretic path that the variable below uses to index abilities. Assigned when the heretic is ensouled. + var/heretic_path + /// Nested static list used to index abilities and names. + var/static/list/heretic_paths_to_haunted_sword_abilities = list( + // Ash + PATH_ASH = list( + WIELDER_SPELLS = list(/datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash), + SWORD_SPELLS = list(/datum/action/cooldown/spell/pointed/ash_beams), + SWORD_PREFIX = "ashen", + ), + // Flesh + PATH_FLESH = list( + WIELDER_SPELLS = list(/datum/action/cooldown/spell/pointed/blood_siphon), + SWORD_SPELLS = list(/datum/action/cooldown/spell/pointed/cleave), + SWORD_PREFIX = "sanguine", + ), + // Void + PATH_VOID = list( + WIELDER_SPELLS = list(/datum/action/cooldown/spell/pointed/void_phase), + SWORD_SPELLS = list(/datum/action/cooldown/spell/cone/staggered/cone_of_cold/void), + SWORD_PREFIX = "tenebrous", + ), + // Blade + PATH_BLADE = list( + WIELDER_SPELLS = list(/datum/action/cooldown/spell/pointed/projectile/furious_steel/haunted), + SWORD_SPELLS = list(/datum/action/cooldown/spell/pointed/projectile/furious_steel/solo), + SWORD_PREFIX = "keen", + ), + // Rust + PATH_RUST = list( + WIELDER_SPELLS = list(/datum/action/cooldown/spell/cone/staggered/entropic_plume), + SWORD_SPELLS = list(/datum/action/cooldown/spell/aoe/rust_conversion, /datum/action/cooldown/spell/pointed/rust_construction), + SWORD_PREFIX = "rusted", + ), + // Cosmic + PATH_COSMIC = list( + WIELDER_SPELLS = list(/datum/action/cooldown/spell/conjure/cosmic_expansion), + SWORD_SPELLS = list(/datum/action/cooldown/spell/pointed/projectile/star_blast), + SWORD_PREFIX = "astral", + ), + // Lock + PATH_LOCK = list( + WIELDER_SPELLS = list(/datum/action/cooldown/spell/pointed/burglar_finesse), + SWORD_SPELLS = list(/datum/action/cooldown/spell/pointed/apetra_vulnera), + SWORD_PREFIX = "incisive", + ), + // Moon + PATH_MOON = list( + WIELDER_SPELLS = list(/datum/action/cooldown/spell/pointed/projectile/moon_parade), + SWORD_SPELLS = list(/datum/action/cooldown/spell/pointed/moon_smile), + SWORD_PREFIX = "shimmering", + ), + // Starter + PATH_START = list( + WIELDER_SPELLS = null, + SWORD_SPELLS = null, + SWORD_PREFIX = "stillborn", // lol loser + ) , + ) + +/obj/item/melee/cultblade/haunted/Initialize(mapload, mob/soul_to_bind, mob/awakener, do_bind = TRUE) + . = ..() + + AddElement(/datum/element/heretic_focus) + add_traits(list(TRAIT_CASTABLE_LOC, TRAIT_SPELLS_TRANSFER_TO_LOC), INNATE_TRAIT) + if(do_bind && !mapload) + bind_soul(soul_to_bind, awakener) + +/obj/item/melee/cultblade/haunted/proc/bind_soul(mob/soul_to_bind, mob/awakener) + + var/datum/mind/trapped_mind = soul_to_bind?.mind + + if(!trapped_mind) + return // Can't do anything further down the list + + if(trapped_mind) + AddComponent(/datum/component/spirit_holding,\ + soul_to_bind = trapped_mind,\ + awakener = awakener,\ + allow_renaming = FALSE,\ + allow_channeling = FALSE,\ + ) + + // Get the heretic's new body and antag datum. + trapped_entity = trapped_mind?.current + trapped_entity.key = trapped_mind?.key + var/datum/antagonist/heretic/heretic_holder = IS_HERETIC(trapped_entity) + if(!heretic_holder) + stack_trace("[soul_to_bind] in but not a heretic on the heretic soul blade.") + + // Give the spirit a spell that lets them try to fly around. + var/datum/action/cooldown/spell/pointed/sword_fling/fling_act = \ + new /datum/action/cooldown/spell/pointed/sword_fling(trapped_mind, to_fling = src) + fling_act.Grant(trapped_entity) + + // Set the sword's path for spell selection. + heretic_path = heretic_holder.heretic_path + + // Copy the objectives to keep for roundend, remove the datum as neither us nor the heretic need it anymore + var/list/copied_objectives = heretic_holder.objectives.Copy() + trapped_entity.mind.remove_antag_datum(/datum/antagonist/heretic) + + // Add the fallen antag datum, give them a heads-up of what's happening. + var/datum/antagonist/soultrapped_heretic/bozo = new() + bozo.objectives |= copied_objectives + trapped_entity.mind.add_antag_datum(bozo) + to_chat(trapped_entity, span_userdanger("You've been sacrificed to the Enemy, and trapped inside a haunted blade! While you cannot escape, you may help the Cult, your current wielder, or even pester everyone with what few abilities you kept.")) + + // Assigning the spells to give to the wielder and spirit. + // Let them cast the given spell. + ADD_TRAIT(trapped_entity, TRAIT_ALLOW_HERETIC_CASTING, INNATE_TRAIT) + + var/list/path_spells = heretic_paths_to_haunted_sword_abilities[heretic_path] + + var/list/wielder_spells = path_spells[WIELDER_SPELLS] + var/list/sword_spells = path_spells[SWORD_SPELLS] + + name = "[path_spells[SWORD_PREFIX]] [name]" + + + // Granting the path spells. The sword spirit gains it outright, while it's just instanced for wielders to be added on pickup. + + if(sword_spells) + for(var/datum/action/cooldown/spell/sword_spell as anything in sword_spells) + sword_spell = new sword_spell(trapped_entity) + sword_spell?.Grant(trapped_entity) + sword_spell?.overlay_icon_state = "bg_cult_border" // for flavor, and also helps distinguish + + + if(wielder_spells) + for(var/datum/action/cooldown/spell/wielder_spell as anything in wielder_spells) + path_wielder_action = new wielder_spell(src) + wielder_spell?.overlay_icon_state = "bg_cult_border" + +/obj/item/melee/cultblade/haunted/equipped(mob/user, slot, initial) + . = ..() + if(slot & ITEM_SLOT_HANDS) + path_wielder_action?.Grant(user) + +/obj/item/melee/cultblade/haunted/dropped(mob/user, silent) + . = ..() + path_wielder_action?.Remove(user) + +#undef WIELDER_SPELLS +#undef SWORD_SPELLS +#undef SWORD_PREFIX + /obj/item/melee/cultblade/ghost name = "eldritch sword" force = 19 //can't break normal airlocks @@ -120,7 +290,7 @@ Striking a noncultist, however, will tear their flesh."} /obj/item/melee/cultblade/pickup(mob/living/user) ..() - if(!IS_CULTIST(user)) + if(!IS_CULTIST(user) && !free_use) to_chat(user, span_cult_large("\"I wouldn't advise that.\"")) /datum/action/innate/dash/cult @@ -162,6 +332,7 @@ Striking a noncultist, however, will tear their flesh."} else to_chat(user, span_warning("The bola seems to take on a life of its own!")) ensnare(user) + user.update_held_items() #undef CULT_BOLA_PICKUP_STUN @@ -563,6 +734,78 @@ Striking a noncultist, however, will tear their flesh."} #undef MAX_SHUTTLE_CURSES +#define GATEWAY_TURF_SCAN_RANGE 40 + +/obj/item/proteon_orb + name = "summoning orb" + desc = "An eerie translucent orb that feels impossibly light. Legends say summoning orbs are created from corrupted scrying orbs. If you hold it close to your ears, you can hear the screams of the damned." + icon = 'icons/obj/antags/cult/items.dmi' + icon_state = "summoning_orb" + light_range = 3 + light_color = COLOR_CULT_RED + +/obj/item/proteon_orb/examine(mob/user) + . = ..() + if(!IS_CULTIST(user) && isliving(user)) + var/mob/living/living_user = user + living_user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 5) + . += span_danger("It hurts just to look at it. Better keep away.") + else + . += span_cult("It can be used to create a gateway to Nar'Sie's domain, which will summon weak, sentient constructs over time.") + +/obj/item/proteon_orb/attack_self(mob/living/user) + + var/list/turfs_to_scan = detect_room(get_turf(user), max_size = GATEWAY_TURF_SCAN_RANGE) + + if(!IS_CULTIST(user)) + to_chat(user, span_cult_large("\"You want to enter my domain? Go ahead.\"")) + turfs_to_scan = null // narsie wants to have some fun and the veil wont stop her + + for(var/turf/hole_candidate as anything in turfs_to_scan) + if(locate(/obj/structure/spawner/sentient/proteon_spawner) in hole_candidate) + to_chat(user, span_cult_bold("There's a gateway too close nearby. The veil is not yet weak enough to allow such close rips in its fabric.")) + return + to_chat(user, span_cult_bold_italic("You focus on [src] and direct it into the ground. It rumbles...")) + + var/turf/open/hole_spot = get_turf(user) + if(!istype(hole_spot) || isgroundlessturf(hole_spot)) + to_chat(user, span_notice("This is not a suitable spot.")) + return + + INVOKE_ASYNC(hole_spot, TYPE_PROC_REF(/turf/open, quake_gateway), user) + qdel(src) + +/** + * Bespoke proc that happens when a proteon orb is activated, creating a gateway. + * If activated by a non-cultist, they get an unusual game over. +*/ +/turf/open/proc/quake_gateway(mob/living/user) + Shake(2, 2, 5 SECONDS) + narsie_act(TRUE, TRUE, 100) + var/fucked = FALSE + if(!IS_CULTIST(user)) + fucked = TRUE + ADD_TRAIT(user, TRAIT_NO_TRANSFORM, REF(src)) // keep em in place + user.add_atom_colour(COLOR_CULT_RED, TEMPORARY_COLOUR_PRIORITY) + user.visible_message(span_cult_bold("Dark tendrils appear from the ground and root [user] in place!")) + sleep(5 SECONDS) // can we still use these or. i mean its async + new /obj/structure/spawner/sentient/proteon_spawner(src) + visible_message(span_cult_bold("A mysterious hole appears out of nowhere!")) + if(!fucked || QDELETED(user)) + return + if(get_turf(user) != src) // they get away. for now + REMOVE_TRAIT(user, TRAIT_NO_TRANSFORM, REF(src)) + return + user.visible_message(span_cult_bold("[user] is pulled into the portal through an infinitesmally minuscule hole, shredding [user.p_their()] body!")) + sleep(5 SECONDS) + user.visible_message(span_cult_italic("An unusually large construct appears through the portal!")) + user.gib() // total destruction + var/mob/living/basic/construct/proteon/hostile/remnant = new(get_step_rand(src)) + remnant.name = "[user]" // no, they do not become it + remnant.transform *= 1.5 + +#undef GATEWAY_TURF_SCAN_RANGE + /obj/item/cult_shift name = "veil shifter" desc = "This relic instantly teleports you, and anything you're pulling, forward by a moderate distance." diff --git a/code/modules/antagonists/cult/cult_other.dm b/code/modules/antagonists/cult/cult_other.dm index 82b342b87ef50..9435baedba11a 100644 --- a/code/modules/antagonists/cult/cult_other.dm +++ b/code/modules/antagonists/cult/cult_other.dm @@ -16,8 +16,15 @@ /proc/is_convertable_to_cult(mob/living/target, datum/team/cult/specific_cult) if(!istype(target)) return FALSE - if(isnull(target.mind) || !GET_CLIENT(target)) + if(isnull(target.mind)) return FALSE + +// disables client checks if testing for easier debugging +#ifndef TESTING + if(!GET_CLIENT(target)) + return FALSE +#endif + if(target.mind.unconvertable) return FALSE if(ishuman(target) && target.mind.holy_role) diff --git a/code/modules/antagonists/cult/cult_structure_altar.dm b/code/modules/antagonists/cult/cult_structure_altar.dm index 9347acb33210f..e38591c0c0705 100644 --- a/code/modules/antagonists/cult/cult_structure_altar.dm +++ b/code/modules/antagonists/cult/cult_structure_altar.dm @@ -2,6 +2,7 @@ #define ELDRITCH_WHETSTONE "Eldritch Whetstone" #define CONSTRUCT_SHELL "Construct Shell" #define UNHOLY_WATER "Flask of Unholy Water" +#define PROTEON_ORB "Portal Summoning Orb" // Cult altar. Gives out consumable items. /obj/structure/destructible/cult/item_dispenser/altar @@ -10,6 +11,7 @@ cult_examine_tip = "Can be used to create eldritch whetstones, construct shells, and flasks of unholy water." icon_state = "talismanaltar" break_message = "The altar shatters, leaving only the wailing of the damned!" + mansus_conversion_path = /obj/effect/heretic_rune /obj/structure/destructible/cult/item_dispenser/altar/setup_options() var/static/list/altar_items = list( @@ -27,7 +29,20 @@ ), ) + var/extra_item = extra_options() + options = altar_items + if(!isnull(extra_item)) + options += extra_item + +/obj/structure/destructible/cult/item_dispenser/altar/extra_options() + if(!cult_team?.unlocked_heretic_items[PROTEON_ORB_UNLOCKED]) + return + return list(PROTEON_ORB = list( + PREVIEW_IMAGE = image(icon = 'icons/obj/antags/cult/items.dmi', icon_state = "summoning_orb"), + OUTPUT_ITEMS = list(/obj/item/proteon_orb), + ), + ) /obj/structure/destructible/cult/item_dispenser/altar/succcess_message(mob/living/user, obj/item/spawned_item) to_chat(user, span_cult_italic("You kneel before [src] and your faith is rewarded with [spawned_item]!")) @@ -35,3 +50,4 @@ #undef ELDRITCH_WHETSTONE #undef CONSTRUCT_SHELL #undef UNHOLY_WATER +#undef PROTEON_ORB diff --git a/code/modules/antagonists/cult/cult_structure_archives.dm b/code/modules/antagonists/cult/cult_structure_archives.dm index a961739663391..d3a96dd1f77aa 100644 --- a/code/modules/antagonists/cult/cult_structure_archives.dm +++ b/code/modules/antagonists/cult/cult_structure_archives.dm @@ -2,6 +2,7 @@ #define CULT_BLINDFOLD "Zealot's Blindfold" #define CURSE_ORB "Shuttle Curse" #define VEIL_WALKER "Veil Walker Set" +#define CRIMSON_FOCUS "Crimson Focus" // Cult archives. Gives out utility items. /obj/structure/destructible/cult/item_dispenser/archives @@ -12,6 +13,7 @@ light_range = 1.5 light_color = LIGHT_COLOR_FIRE break_message = "The books and tomes of the archives burn into ash as the desk shatters!" + mansus_conversion_path = /obj/item/codex_cicatrix /obj/structure/destructible/cult/item_dispenser/archives/setup_options() var/static/list/archive_items = list( @@ -29,7 +31,20 @@ ), ) + var/extra_item = extra_options() + options = archive_items + if(!isnull(extra_item)) + options += extra_item + +/obj/structure/destructible/cult/item_dispenser/archives/extra_options() + if(!cult_team?.unlocked_heretic_items[CRIMSON_FOCUS_UNLOCKED]) + return + return list(CRIMSON_FOCUS = list( + PREVIEW_IMAGE = image(icon = 'icons/obj/clothing/neck.dmi', icon_state = "crimson_focus"), + OUTPUT_ITEMS = list(/obj/item/clothing/neck/heretic_focus/crimson_focus), + ), + ) /obj/structure/destructible/cult/item_dispenser/archives/succcess_message(mob/living/user, obj/item/spawned_item) to_chat(user, span_cult_italic("You summon [spawned_item] from [src]!")) @@ -41,3 +56,4 @@ #undef CULT_BLINDFOLD #undef CURSE_ORB #undef VEIL_WALKER +#undef CRIMSON_FOCUS diff --git a/code/modules/antagonists/cult/cult_structure_forge.dm b/code/modules/antagonists/cult/cult_structure_forge.dm index 912db7d37e9b8..12d15b9296ef4 100644 --- a/code/modules/antagonists/cult/cult_structure_forge.dm +++ b/code/modules/antagonists/cult/cult_structure_forge.dm @@ -2,6 +2,7 @@ #define NARSIE_ARMOR "Nar'Sien Hardened Armor" #define FLAGELLANT_ARMOR "Flagellant's Robe" #define ELDRITCH_SWORD "Eldritch Longsword" +#define CURSED_BLADE "Cursed Ritual Blade" // Cult forge. Gives out combat weapons. /obj/structure/destructible/cult/item_dispenser/forge @@ -12,6 +13,7 @@ light_range = 2 light_color = LIGHT_COLOR_LAVA break_message = "The forge breaks apart into shards with a howling scream!" + mansus_conversion_path = /obj/structure/destructible/eldritch_crucible /obj/structure/destructible/cult/item_dispenser/forge/setup_options() var/static/list/forge_items = list( @@ -29,7 +31,21 @@ ), ) + var/extra_item = extra_options() + options = forge_items + if(!isnull(extra_item)) + options += extra_item + +/obj/structure/destructible/cult/item_dispenser/forge/extra_options() + if(!cult_team?.unlocked_heretic_items[CURSED_BLADE_UNLOCKED]) + return + return list(CURSED_BLADE = list( + PREVIEW_IMAGE = image(icon = 'icons/obj/weapons/khopesh.dmi', icon_state = "cursed_blade"), + OUTPUT_ITEMS = list(/obj/item/melee/sickly_blade/cursed), + ), + ) + /obj/structure/destructible/cult/item_dispenser/forge/succcess_message(mob/living/user, obj/item/spawned_item) to_chat(user, span_cult_italic("You work [src] as dark knowledge guides your hands, creating [spawned_item]!")) @@ -42,3 +58,4 @@ #undef NARSIE_ARMOR #undef FLAGELLANT_ARMOR #undef ELDRITCH_SWORD +#undef CURSED_BLADE diff --git a/code/modules/antagonists/cult/cult_structures.dm b/code/modules/antagonists/cult/cult_structures.dm index 932c3ac03c1f6..5067dcf979904 100644 --- a/code/modules/antagonists/cult/cult_structures.dm +++ b/code/modules/antagonists/cult/cult_structures.dm @@ -12,16 +12,43 @@ var/cult_examine_tip /// The cooldown for when items can be dispensed. COOLDOWN_DECLARE(use_cooldown) + /// Assigned cult team, set when cultistism is checked. + var/datum/team/cult/cult_team + +/obj/structure/destructible/cult/Destroy() + cult_team = null + return ..() + +/obj/structure/destructible/cult/Initialize(mapload) + . = ..() + RegisterSignal(src, COMSIG_ATOM_CONSTRUCTED, PROC_REF(on_constructed)) + +/obj/structure/destructible/cult/proc/on_constructed(datum/source, mob/builder) + SIGNAL_HANDLER + var/datum/antagonist/cult/cultist = builder.mind?.has_antag_datum(/datum/antagonist/cult, TRUE) + cult_team = cultist?.get_team() + +/// Tries to find a cultist. If it succeeds, it also takes advantage of the moment to define the structure's cult team if it's not set yet. +/obj/structure/destructible/cult/proc/is_cultist_check(mob/fool) + + if(!IS_CULTIST(fool)) + return FALSE + + if(isnull(cult_team)) + var/datum/antagonist/cult/cultist = fool.mind?.has_antag_datum(/datum/antagonist/cult, TRUE) + cult_team = cultist?.get_team() + + return TRUE /obj/structure/destructible/cult/examine_status(mob/user) - if(IS_CULTIST(user) || isobserver(user)) + if(is_cultist_check(user) || isobserver(user)) return span_cult("It's at [round(atom_integrity * 100 / max_integrity)]% stability.") return ..() /obj/structure/destructible/cult/examine(mob/user) . = ..() . += span_notice("[src] is [anchored ? "secured to":"unsecured from"] the floor.") - if(IS_CULTIST(user) || isobserver(user)) + if(is_cultist_check(user) || isobserver(user)) if(cult_examine_tip) . += span_cult(cult_examine_tip) if(!COOLDOWN_FINISHED(src, use_cooldown_duration)) @@ -65,16 +92,25 @@ /obj/structure/destructible/cult/item_dispenser /// An associated list of options this structure can make. See setup_options() for format. var/list/options + /// The dispenser will create this item and then delete itself if it is rust converted. + var/obj/mansus_conversion_path = /obj/item/skub /obj/structure/destructible/cult/item_dispenser/Initialize(mapload) . = ..() setup_options() +/obj/structure/destructible/cult/item_dispenser/rust_heretic_act() + visible_message(span_notice("[src] crumbles to dust. In its midst, you spot \a [initial(mansus_conversion_path.name)].")) + var/turf/turfy = get_turf(src) + new mansus_conversion_path(turfy) + turfy.rust_heretic_act() + return ..() + /obj/structure/destructible/cult/item_dispenser/attack_hand(mob/living/user, list/modifiers) . = ..() if(.) return - if(!isliving(user) || !IS_CULTIST(user)) + if(!isliving(user) || !is_cultist_check(user)) to_chat(user, span_warning("You're pretty sure you know exactly what this is used for and you can't seem to touch it.")) return if(!anchored) @@ -84,6 +120,8 @@ to_chat(user, span_cult_italic("The magic in [src] is too weak, it will be ready to use again in [DisplayTimeText(COOLDOWN_TIMELEFT(src, use_cooldown))].")) return + setup_options() + var/list/spawned_items = get_items_to_spawn(user) if(!length(spawned_items)) return @@ -109,6 +147,18 @@ /obj/structure/destructible/cult/item_dispenser/proc/setup_options() return +/* + * Extra options, currently used for items unlocked after sacrificing a heretic. + * + * The list of options is a associated list of format: + * item_name = list( + * preview = image(), + * output = list(paths), + * ) + */ +/obj/structure/destructible/cult/item_dispenser/proc/extra_options() + return + /* * Get all items that this cult building will spawn when interacted with. * Opens a radial menu for the user and shows them the list of options, which they can choose from. @@ -150,7 +200,7 @@ * Returns TRUE if the user is a living mob that is a cultist and is not incapacitated. */ /obj/structure/destructible/cult/item_dispenser/proc/check_menu(mob/user) - return isliving(user) && IS_CULTIST(user) && !user.incapacitated() + return isliving(user) && is_cultist_check(user) && !user.incapacitated() // Spooky looking door used in gateways. Or something. /obj/effect/gateway diff --git a/code/modules/antagonists/cult/datums/cult_team.dm b/code/modules/antagonists/cult/datums/cult_team.dm index c47cc2145b5dc..09d4a25a321c4 100644 --- a/code/modules/antagonists/cult/datums/cult_team.dm +++ b/code/modules/antagonists/cult/datums/cult_team.dm @@ -16,9 +16,16 @@ var/reckoning_complete = FALSE ///Has the cult risen, and gotten red eyes? var/cult_risen = FALSE - ///Has the cult asceneded, and gotten halos? + ///Has the cult ascended, and gotten halos? var/cult_ascendent = FALSE + /// List that keeps track of which items have been unlocked after a heretic was sacked. + var/list/unlocked_heretic_items = list( + CURSED_BLADE_UNLOCKED = FALSE, + CRIMSON_FOCUS_UNLOCKED = FALSE, + PROTEON_ORB_UNLOCKED = FALSE, + ) + ///Has narsie been summoned yet? var/narsie_summoned = FALSE ///How large were we at max size. diff --git a/code/modules/antagonists/cult/runes.dm b/code/modules/antagonists/cult/runes.dm index 926981bb096bb..d8ce241caf3c8 100644 --- a/code/modules/antagonists/cult/runes.dm +++ b/code/modules/antagonists/cult/runes.dm @@ -326,16 +326,12 @@ structure_check() searches for nearby cultist structures required for the invoca return TRUE /obj/effect/rune/convert/proc/do_sacrifice(mob/living/sacrificial, list/invokers, datum/team/cult/cult_team) - var/big_sac = FALSE + var/target_sac = FALSE if((((ishuman(sacrificial) || iscyborg(sacrificial)) && sacrificial.stat != DEAD) || cult_team.is_sacrifice_target(sacrificial.mind)) && length(invokers) < 3) for(var/invoker in invokers) to_chat(invoker, span_cult_italic("[sacrificial] is too greatly linked to the world! You need three acolytes!")) return FALSE - var/signal_result = SEND_SIGNAL(sacrificial, COMSIG_LIVING_CULT_SACRIFICED, invokers, cult_team) - if(signal_result & STOP_SACRIFICE) - return FALSE - if(sacrificial.mind) LAZYADD(GLOB.sacrificed, WEAKREF(sacrificial.mind)) for(var/datum/objective/sacrifice/sac_objective in cult_team.objectives) @@ -343,15 +339,23 @@ structure_check() searches for nearby cultist structures required for the invoca sac_objective.sacced = TRUE sac_objective.clear_sacrifice() sac_objective.update_explanation_text() - big_sac = TRUE + target_sac = TRUE else LAZYADD(GLOB.sacrificed, WEAKREF(sacrificial)) new /obj/effect/temp_visual/cult/sac(loc) - if(!(signal_result & SILENCE_SACRIFICE_MESSAGE)) + var/signal_result = SEND_SIGNAL(sacrificial, COMSIG_LIVING_CULT_SACRIFICED, invokers, cult_team) + + var/do_message = TRUE + if(signal_result & SILENCE_SACRIFICE_MESSAGE) + do_message = FALSE + if((signal_result & SILENCE_NONTARGET_SACRIFICE_MESSAGE) && !(target_sac)) + do_message = FALSE + + if(do_message) for(var/invoker in invokers) - if(big_sac) + if(target_sac) to_chat(invoker, span_cult_large("\"Yes! This is the one I desire! You have done well.\"")) continue if(ishuman(sacrificial) || iscyborg(sacrificial)) @@ -359,6 +363,10 @@ structure_check() searches for nearby cultist structures required for the invoca else to_chat(invoker, span_cult_large("\"I accept this meager sacrifice.\"")) + // post-message + if(signal_result & STOP_SACRIFICE) + return FALSE + if(iscyborg(sacrificial)) var/construct_class = show_radial_menu(invokers[1], sacrificial, GLOB.construct_radial_images, require_near = TRUE, tooltips = TRUE) if(QDELETED(sacrificial) || !construct_class) @@ -370,17 +378,20 @@ structure_check() searches for nearby cultist structures required for the invoca sacriborg.mmi = null qdel(sacrificial) return TRUE - - var/obj/item/soulstone/stone = new(loc) - if(sacrificial.mind && !HAS_TRAIT(sacrificial, TRAIT_SUICIDED)) - stone.capture_soul(sacrificial, invokers[1], forced = TRUE) - - if(sacrificial) + if(sacrificial && (signal_result & DUST_SACRIFICE)) // No soulstone when dusted + playsound(sacrificial, 'sound/magic/teleport_diss.ogg', 100, TRUE) + sacrificial.investigate_log("has been sacrificially dusted by the cult.", INVESTIGATE_DEATHS) + sacrificial.dust(TRUE, FALSE, TRUE) + else if (sacrificial) + var/obj/item/soulstone/stone = new(loc) + if(sacrificial.mind && !HAS_TRAIT(sacrificial, TRAIT_SUICIDED)) + stone.capture_soul(sacrificial, invokers[1], forced = TRUE) playsound(sacrificial, 'sound/magic/disintegrate.ogg', 100, TRUE) sacrificial.investigate_log("has been sacrificially gibbed by the cult.", INVESTIGATE_DEATHS) sacrificial.gib(DROP_ALL_REMAINS) try_spawn_sword() // after sharding and gibbing, which potentially dropped a null rod + return TRUE /// Tries to convert a null rod over the rune to a cult sword @@ -396,12 +407,12 @@ structure_check() searches for nearby cultist structures required for the invoca rod.visible_message(span_cult_italic(displayed_message)) switch(num_slain) - if(0, 1) + if(0) animate_spawn_sword(rod, /obj/item/melee/cultblade/dagger) - if(2) + if(1) animate_spawn_sword(rod, /obj/item/melee/cultblade) else - animate_spawn_sword(rod, /obj/item/cult_bastard) + animate_spawn_sword(rod, /obj/item/melee/cultblade/halberd) return TRUE return FALSE diff --git a/code/modules/antagonists/cult/sword_fling.dm b/code/modules/antagonists/cult/sword_fling.dm new file mode 100644 index 0000000000000..766f97917de60 --- /dev/null +++ b/code/modules/antagonists/cult/sword_fling.dm @@ -0,0 +1,93 @@ + +/datum/action/cooldown/spell/pointed/sword_fling + name = "Sword Fling" + desc = "Try to fling yourself around." + ranged_mousepointer = 'icons/effects/mouse_pointers/cult_target.dmi' + background_icon_state = "bg_heretic" + overlay_icon_state = "bg_cult_border" + + button_icon = 'icons/mob/actions/actions_cult.dmi' + button_icon_state = "sword_fling" + + school = SCHOOL_EVOCATION + cooldown_time = 4 SECONDS + invocation_type = INVOCATION_NONE + spell_requirements = NONE + + cast_range = 6 + active_msg = "You ready yourself to attempt to leap!" + var/obj/item/flinged_sword + +/datum/action/cooldown/spell/pointed/sword_fling/New(Target, to_fling) + . = ..() + flinged_sword = to_fling + +/datum/action/cooldown/spell/pointed/sword_fling/Destroy() + flinged_sword = null + . = ..() + +/datum/action/cooldown/spell/pointed/sword_fling/is_valid_target(atom/cast_on) + return isatom(cast_on) + +/datum/action/cooldown/spell/pointed/sword_fling/cast(turf/cast_on) + . = ..() + var/atom/sword_loc = flinged_sword.loc + if(ismob(sword_loc)) + var/mob/loccer = sword_loc + var/resist_chance = 25 + var/fail_text = "You struggle, but [loccer] keeps [loccer.p_their()] grip on you!" + var/particle_to_spawn = null + if(IS_CULTIST_OR_CULTIST_MOB(loccer)) + resist_chance = 10 // your mastahs + fail_text = "You struggle, but [loccer]'s grip is unnaturally hard to resist!" + particle_to_spawn = /obj/effect/temp_visual/cult/sparks + if(IS_HERETIC_OR_MONSTER(loccer) || IS_LUNATIC(loccer)) + resist_chance = 15 + fail_text = "You struggle, but [loccer] deftly handles the grip movement." + particle_to_spawn = /obj/effect/temp_visual/eldritch_sparks + if(loccer.mind?.holy_role) // IS_PRIEST() + resist_chance = 12 + fail_text = "You struggle, but [loccer]'s holy grip holds tight against your thrashing." + particle_to_spawn = /obj/effect/temp_visual/blessed + if(IS_WIZARD(loccer)) + resist_chance = 5 // magic master + fail_text = "You struggle, but [loccer]'s handle on magic easily neutralizes your movement." + particle_to_spawn = /obj/effect/particle_effect/sparks/electricity + + new particle_to_spawn(get_turf(loccer)) + + if(prob(resist_chance)) + flinged_sword.forceMove(get_turf(loccer)) + flinged_sword.visible_message(span_alert("\the [flinged_sword] yanks itself out of [loccer]'s grip!")) + // flung by later code + else + to_chat(owner, span_warning(fail_text)) + return + + if(isitem(sword_loc)) + flinged_sword.forceMove(get_turf(sword_loc)) + flinged_sword.visible_message(span_alert("\the [flinged_sword] yanks itself out of [sword_loc]!")) + // flung by later code + + if(iscloset(sword_loc)) + var/obj/structure/closet/sword_closet = sword_loc + if(!(sword_closet.open(owner, force = prob(5), special_effects = TRUE))) + sword_closet.container_resist_act(owner, loc_required = FALSE) + flinged_sword.visible_message(span_alert("\the [flinged_sword] yanks itself out of [sword_closet]!")) + + // no general struct/machinery check. imagine if someone put the sword in a vendor + + if(isturf(sword_loc)) + new /obj/effect/temp_visual/sword_sparks(sword_loc) + flinged_sword.throw_at(cast_on, cast_range, flinged_sword.throw_speed, owner) + flinged_sword.visible_message(\ + span_warning("\the [flinged_sword] lunges at \the [cast_on]!")) + +/obj/effect/temp_visual/eldritch_sparks + icon_state = "purplesparkles" + +/obj/effect/temp_visual/sword_sparks + icon_state = "mech_toxin" // only used in one place and it looks kinda good + +/obj/effect/temp_visual/blessed + icon_state = "blessed" diff --git a/code/modules/antagonists/fugitive/fugitive_outfits.dm b/code/modules/antagonists/fugitive/fugitive_outfits.dm index ed256acae03e7..e1530ba16eddd 100644 --- a/code/modules/antagonists/fugitive/fugitive_outfits.dm +++ b/code/modules/antagonists/fugitive/fugitive_outfits.dm @@ -75,7 +75,7 @@ back = /obj/item/storage/backpack/satchel/leather shoes = /obj/item/clothing/shoes/laceup glasses = /obj/item/clothing/glasses/monocle - mask = /obj/item/clothing/mask/cigarette/pipe + mask = /obj/item/cigarette/pipe ears = /obj/item/radio/headset backpack_contents = list( diff --git a/code/modules/antagonists/fugitive/hunters/hunter.dm b/code/modules/antagonists/fugitive/hunters/hunter.dm index b75cba69e528a..ba26645364712 100644 --- a/code/modules/antagonists/fugitive/hunters/hunter.dm +++ b/code/modules/antagonists/fugitive/hunters/hunter.dm @@ -42,6 +42,10 @@ to_chat(owner, span_danger("GOOD EVENING, WE ARE PSYKER HUNTE- NO, PSYKER SHIKARIS!")) to_chat(owner, span_danger("A brainling hit us up on the holopad with an offer we could NOT pass up. We kidnap some fools for them, and in exchange we get a LIFETIME SUPPLY OF GORE.")) to_chat(owner, span_danger("Our gore supply has been running thin as of late -- How could we say no? The binge MUST go on!")) + if(HUNTER_PACK_MI13) + to_chat(owner, span_danger("Agents, we have detected a wanted fugitive in Nanotrasen controlled space.")) + to_chat(owner, span_danger("Your mission is simple. Infiltrate the facility and extract the target, dead or alive.")) + to_chat(owner, span_danger("This is a stealth infiltration mission in hostile enemy territory. Be wary, and avoid being caught if possible.")) to_chat(owner, span_boldannounce("You are not an antagonist in that you may kill whomever you please, but you can do anything to ensure the capture of the fugitives, even if that means going through the station.")) owner.announce_objectives() diff --git a/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm b/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm index 7df6818cdc44a..5491251d1aa53 100644 --- a/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm +++ b/code/modules/antagonists/fugitive/hunters/hunter_outfits.dm @@ -216,6 +216,56 @@ id_trim = /datum/id_trim/bounty_hunter/psykers/seer +/datum/outfit/mi13_hunter + name = "\improper MI13 Fugitive Retrieval Agent" + uniform = /obj/item/clothing/under/syndicate/sniper + back = /obj/item/storage/backpack/satchel/leather + ears = /obj/item/radio/headset/syndicate + glasses = /obj/item/clothing/glasses/sunglasses + gloves = /obj/item/clothing/gloves/combat + shoes = /obj/item/clothing/shoes/laceup + belt = /obj/item/restraints/handcuffs/cable/zipties + l_pocket = /obj/item/gun/ballistic/automatic/pistol + r_pocket = /obj/item/suppressor + id = /obj/item/card/id/advanced/chameleon/black + box = /obj/item/storage/box/survival/syndie + implants = list(/obj/item/implant/explosive) + +/datum/outfit/mi13_hunter/pre_equip(mob/living/carbon/human/agent, visualsOnly = FALSE) + backpack_contents = list() + backpack_contents += pick_weight(list(/obj/item/ammo_box/magazine/m9mm = 80, + /obj/item/ammo_box/magazine/m9mm/hp = 10, + /obj/item/ammo_box/magazine/m9mm/ap = 5, + /obj/item/ammo_box/magazine/m9mm/fire = 5, + )) + backpack_contents += pick_weight(list( + /obj/item/pen/edagger = 40, + /obj/item/knife/combat = 30, + /obj/item/assembly/flash = 30, + )) + backpack_contents += pick_weight(list( + /obj/item/grenade/c4 = 20, + /obj/item/implanter/freedom = 20, + /obj/item/clothing/mask/chameleon = 20, + /obj/item/language_manual/codespeak_manual/unlimited = 10, + /obj/item/storage/mail_counterfeit_device = 10, + /obj/item/traitor_machine_trapper = 10, + /obj/item/gun/ballistic/automatic/pistol/clandestine/fisher = 10, + )) + +/datum/outfit/mi13_hunter/post_equip(mob/living/carbon/human/agent, visualsOnly = FALSE) + if(visualsOnly) + return + var/obj/item/card/id/wearing = agent.wear_id + wearing.registered_name = agent.real_name + wearing.update_label() + +/datum/outfit/mi13_hunter/chef + name = "\improper MI13 Fugitive Retrieval Agent - Chef Disguise" + head = /obj/item/clothing/head/utility/chefhat + suit = /obj/item/clothing/suit/apron/chef + mask = /obj/item/clothing/mask/fakemoustache + //ids and ert code /obj/item/card/id/advanced/bountyhunter diff --git a/code/modules/antagonists/heretic/heretic_antag.dm b/code/modules/antagonists/heretic/heretic_antag.dm index 2c31529ed3386..f31639c508c73 100644 --- a/code/modules/antagonists/heretic/heretic_antag.dm +++ b/code/modules/antagonists/heretic/heretic_antag.dm @@ -60,17 +60,17 @@ /// Wether we are allowed to ascend var/feast_of_owls = FALSE /// Static list of what each path converts to in the UI (colors are TGUI colors) - var/static/list/path_to_ui_color = list( - PATH_START = "grey", - PATH_SIDE = "green", - PATH_RUST = "brown", - PATH_FLESH = "red", - PATH_ASH = "white", - PATH_VOID = "blue", - PATH_BLADE = "label", // my favorite color is label - PATH_COSMIC = "purple", - PATH_LOCK = "yellow", - PATH_MOON = "blue", + var/static/list/path_to_ui_bgr = list( + PATH_START = "node_side", + PATH_SIDE = "node_side", + PATH_RUST = "node_rust", + PATH_FLESH = "node_flesh", + PATH_ASH = "node_ash", + PATH_VOID = "node_void", + PATH_BLADE = "node_blade", + PATH_COSMIC = "node_cosmos", + PATH_LOCK = "node_lock", + PATH_MOON = "node_moon", ) var/static/list/path_to_rune_color = list( @@ -85,10 +85,95 @@ PATH_MOON = COLOR_BLUE_LIGHT, ) + /// List that keeps track of which items have been gifted to the heretic after a cultist was sacrificed. Used to alter drop chances to reduce dupes. + var/list/unlocked_heretic_items = list( + /obj/item/melee/sickly_blade/cursed = 0, + /obj/item/clothing/neck/heretic_focus/crimson_focus = 0, + /mob/living/basic/construct/harvester/heretic = 0, + ) + /// Simpler version of above used to limit amount of loot that can be hoarded + var/rewards_given = 0 + /datum/antagonist/heretic/Destroy() LAZYNULL(sac_targets) return ..() +/datum/antagonist/heretic/proc/get_icon_of_knowledge(datum/heretic_knowledge/knowledge) + //basic icon parameters + var/icon_path = 'icons/mob/actions/actions_ecult.dmi' + var/icon_state = "eye" + var/icon_frame = knowledge.research_tree_icon_frame + var/icon_dir = knowledge.research_tree_icon_dir + //can't imagine why you would want this one, so it can't be overridden by the knowledge + var/icon_moving = 0 + + //item transmutation knowledge does not generate its own icon due to implementation difficulties, the icons have to be specified in the override vars + + //if the knowledge has a special icon, use that + if(!isnull(knowledge.research_tree_icon_path)) + icon_path = knowledge.research_tree_icon_path + icon_state = knowledge.research_tree_icon_state + + //if the knowledge is a spell, use the spell's button + else if(ispath(knowledge,/datum/heretic_knowledge/spell)) + var/datum/heretic_knowledge/spell/spell_knowledge = knowledge + var/datum/action/cooldown/spell/result_spell = spell_knowledge.spell_to_add + icon_path = result_spell.button_icon + icon_state = result_spell.button_icon_state + + //if the knowledge is a summon, use the mob sprite + else if(ispath(knowledge,/datum/heretic_knowledge/summon)) + var/datum/heretic_knowledge/summon/summon_knowledge = knowledge + var/mob/living/result_mob = summon_knowledge.mob_to_summon + icon_path = result_mob.icon + icon_state = result_mob.icon_state + + //if the knowledge is an eldritch mark, use the mark sprite + else if(ispath(knowledge,/datum/heretic_knowledge/mark)) + var/datum/heretic_knowledge/mark/mark_knowledge = knowledge + var/datum/status_effect/eldritch/mark_effect = mark_knowledge.mark_type + icon_path = mark_effect.effect_icon + icon_state = mark_effect.effect_icon_state + + //if the knowledge is an ascension, use the achievement sprite + else if(ispath(knowledge,/datum/heretic_knowledge/ultimate)) + var/datum/heretic_knowledge/ultimate/ascension_knowledge = knowledge + var/datum/award/achievement/misc/achievement = ascension_knowledge.ascension_achievement + if(!isnull(achievement)) + icon_path = achievement.icon + icon_state = achievement.icon_state + + var/list/result_parameters = list() + result_parameters["icon"] = icon_path + result_parameters["state"] = icon_state + result_parameters["frame"] = icon_frame + result_parameters["dir"] = icon_dir + result_parameters["moving"] = icon_moving + return result_parameters + +/datum/antagonist/heretic/proc/get_knowledge_data(datum/heretic_knowledge/knowledge, done) + + var/list/knowledge_data = list() + + knowledge_data["path"] = knowledge + knowledge_data["icon_params"] = get_icon_of_knowledge(knowledge) + knowledge_data["name"] = initial(knowledge.name) + knowledge_data["gainFlavor"] = initial(knowledge.gain_text) + knowledge_data["cost"] = initial(knowledge.cost) + knowledge_data["disabled"] = (!done) && (initial(knowledge.cost) > knowledge_points) + knowledge_data["bgr"] = (path_to_ui_bgr[initial(knowledge.route)] || "side") + knowledge_data["finished"] = done + knowledge_data["ascension"] = ispath(knowledge,/datum/heretic_knowledge/ultimate) + + //description of a knowledge might change, make sure we are not shown the initial() value in that case + if(done) + var/datum/heretic_knowledge/knowledge_instance = researched_knowledge[knowledge] + knowledge_data["desc"] = knowledge_instance.desc + else + knowledge_data["desc"] = initial(knowledge.desc) + + return knowledge_data + /datum/antagonist/heretic/ui_data(mob/user) var/list/data = list() @@ -96,26 +181,32 @@ data["total_sacrifices"] = total_sacrifices data["ascended"] = ascended + var/list/tiers = list() + // This should be cached in some way, but the fact that final knowledge // has to update its disabled state based on whether all objectives are complete, // makes this very difficult. I'll figure it out one day maybe + for(var/datum/heretic_knowledge/knowledge as anything in researched_knowledge) + var/list/knowledge_data = get_knowledge_data(knowledge,TRUE) + + while(initial(knowledge.depth) > tiers.len) + tiers += list(list("nodes"=list())) + + tiers[initial(knowledge.depth)]["nodes"] += list(knowledge_data) + for(var/datum/heretic_knowledge/knowledge as anything in get_researchable_knowledge()) - var/list/knowledge_data = list() - knowledge_data["path"] = knowledge - knowledge_data["name"] = initial(knowledge.name) - knowledge_data["desc"] = initial(knowledge.desc) - knowledge_data["gainFlavor"] = initial(knowledge.gain_text) - knowledge_data["cost"] = initial(knowledge.cost) - knowledge_data["disabled"] = initial(knowledge.cost) > knowledge_points + var/list/knowledge_data = get_knowledge_data(knowledge,FALSE) // Final knowledge can't be learned until all objectives are complete. if(ispath(knowledge, /datum/heretic_knowledge/ultimate)) - knowledge_data["disabled"] = !can_ascend() + knowledge_data["disabled"] ||= !can_ascend() + + while(initial(knowledge.depth) > tiers.len) + tiers += list(list("nodes"=list())) - knowledge_data["hereticPath"] = initial(knowledge.route) - knowledge_data["color"] = path_to_ui_color[initial(knowledge.route)] || "grey" + tiers[initial(knowledge.depth)]["nodes"] += list(knowledge_data) - data["learnableKnowledge"] += list(knowledge_data) + data["knowledge_tiers"] = tiers return data @@ -125,18 +216,6 @@ data["objectives"] = get_objectives() data["can_change_objective"] = can_assign_self_objectives - for(var/path in researched_knowledge) - var/list/knowledge_data = list() - var/datum/heretic_knowledge/found_knowledge = researched_knowledge[path] - knowledge_data["name"] = found_knowledge.name - knowledge_data["desc"] = found_knowledge.desc - knowledge_data["gainFlavor"] = found_knowledge.gain_text - knowledge_data["cost"] = found_knowledge.cost - knowledge_data["hereticPath"] = found_knowledge.route - knowledge_data["color"] = path_to_ui_color[found_knowledge.route] || "grey" - - data["learnedKnowledge"] += list(knowledge_data) - return data /datum/antagonist/heretic/ui_act(action, params) @@ -230,6 +309,8 @@ if (!issilicon(our_mob)) GLOB.reality_smash_track.add_tracked_mind(owner) + ADD_TRAIT(our_mob, TRAIT_MANSUS_TOUCHED, REF(src)) + RegisterSignal(our_mob, COMSIG_LIVING_CULT_SACRIFICED, PROC_REF(on_cult_sacrificed)) RegisterSignals(our_mob, list(COMSIG_MOB_BEFORE_SPELL_CAST, COMSIG_MOB_SPELL_ACTIVATED), PROC_REF(on_spell_cast)) RegisterSignal(our_mob, COMSIG_USER_ITEM_INTERACTION, PROC_REF(on_item_use)) RegisterSignal(our_mob, COMSIG_MOB_LOGIN, PROC_REF(fix_influence_network)) @@ -243,12 +324,14 @@ if (owner in GLOB.reality_smash_track.tracked_heretics) GLOB.reality_smash_track.remove_tracked_mind(owner) + REMOVE_TRAIT(our_mob, TRAIT_MANSUS_TOUCHED, REF(src)) UnregisterSignal(our_mob, list( COMSIG_MOB_BEFORE_SPELL_CAST, COMSIG_MOB_SPELL_ACTIVATED, COMSIG_USER_ITEM_INTERACTION, COMSIG_MOB_LOGIN, COMSIG_LIVING_POST_FULLY_HEAL, + COMSIG_LIVING_CULT_SACRIFICED, )) /datum/antagonist/heretic/on_body_transfer(mob/living/old_body, mob/living/new_body) @@ -395,6 +478,118 @@ var/datum/heretic_knowledge/living_heart/heart_knowledge = get_knowledge(/datum/heretic_knowledge/living_heart) heart_knowledge.on_research(source, src) +/// Signal proc for [COMSIG_LIVING_CULT_SACRIFICED] to reward cultists for sacrificing a heretic +/datum/antagonist/heretic/proc/on_cult_sacrificed(mob/living/source, list/invokers) + SIGNAL_HANDLER + + for(var/mob/dead/observer/ghost in GLOB.dead_mob_list) // uhh let's find the guy to shove him back in + if((ghost.mind?.current == source) && ghost.client) // is it the same guy and do they have the same client + ghost.reenter_corpse() // shove them in! it doesnt do it automatically + + // Drop all items and splatter them around messily. + var/list/dustee_items = source.unequip_everything() + for(var/obj/item/loot as anything in dustee_items) + loot.throw_at(get_step_rand(source), 2, 4, pick(invokers), TRUE) + + // Create the blade, give it the heretic and a randomly-chosen master for the soul sword component + var/obj/item/melee/cultblade/haunted/haunted_blade = new(get_turf(source), source, pick(invokers)) + + // Cool effect for the rune as well as the item + var/obj/effect/rune/convert/conversion_rune = locate() in get_turf(source) + if(conversion_rune) + conversion_rune.gender_reveal( + outline_color = COLOR_HERETIC_GREEN, + ray_color = null, + do_float = FALSE, + do_layer = FALSE, + ) + + haunted_blade.gender_reveal(outline_color = null, ray_color = COLOR_HERETIC_GREEN) + + for(var/mob/living/culto as anything in invokers) + to_chat(culto, span_cult_large("\"A follower of the forgotten gods! You must be rewarded for such a valuable sacrifice.\"")) + + // Locate a cultist team (Is there a better way??) + var/mob/living/random_cultist = pick(invokers) + var/datum/antagonist/cult/antag = random_cultist.mind.has_antag_datum(/datum/antagonist/cult) + ASSERT(antag) + var/datum/team/cult/cult_team = antag.get_team() + + // Unlock one of 3 special items! + var/list/possible_unlocks + for(var/i in cult_team.unlocked_heretic_items) + if(cult_team.unlocked_heretic_items[i]) + continue + LAZYADD(possible_unlocks, i) + if(length(possible_unlocks)) + var/result = pick(possible_unlocks) + cult_team.unlocked_heretic_items[result] = TRUE + + for(var/datum/mind/mind as anything in cult_team.members) + if(mind.current) + SEND_SOUND(mind.current, 'sound/magic/clockwork/narsie_attack.ogg') + to_chat(mind.current, span_cult_large(span_warning("Arcane and forbidden knowledge floods your forges and archives. The cult has learned how to create the ")) + span_cult_large(span_hypnophrase("[result]!"))) + + return SILENCE_SACRIFICE_MESSAGE|DUST_SACRIFICE + +/** + * Creates an animation of the item slowly lifting up from the floor with a colored outline, then slowly drifting back down. + * Arguments: + * * outline_color: Default is between pink and light blue, is the color of the outline filter. + * * ray_color: Null by default. If not set, just copies outline. Used for the ray filter. + * * anim_time: Total time of the animation. Split into two different calls. + * * do_float: Lets you disable the sprite floating up and down. + * * do_layer: Lets you disable the layering increase. + */ +/obj/proc/gender_reveal( + outline_color = null, + ray_color = null, + anim_time = 10 SECONDS, + do_float = TRUE, + do_layer = TRUE, +) + + var/og_layer + if(do_layer) + // Layering above to stand out! + og_layer = layer + layer = ABOVE_MOB_LAYER + + // Slowly floats up, then slowly goes down. + if(do_float) + animate(src, pixel_y = 12, time = anim_time * 0.5, easing = QUAD_EASING | EASE_OUT) + animate(pixel_y = 0, time = anim_time * 0.5, easing = QUAD_EASING | EASE_IN) + + // Adding a cool outline effect + if(outline_color) + add_filter("gender_reveal_outline", 3, list("type" = "outline", "color" = outline_color, "size" = 0.5)) + // Animating it! + var/gay_filter = get_filter("gender_reveal_outline") + animate(gay_filter, alpha = 110, time = 1.5 SECONDS, loop = -1) + animate(alpha = 40, time = 2.5 SECONDS) + + // Adding a cool ray effect + if(ray_color) + add_filter(name = "gender_reveal_ray", priority = 1, params = list( + type = "rays", + size = 45, + color = ray_color, + density = 6 + )) + // Animating it! + var/ray_filter = get_filter("gender_reveal_ray") + // I understand nothing but copypaste saves lives + animate(ray_filter, offset = 100, time = 30 SECONDS, loop = -1, flags = ANIMATION_PARALLEL) + + addtimer(CALLBACK(src, PROC_REF(remove_gender_reveal_fx), og_layer), anim_time) + +/** + * Removes the non-animate effects from above proc + */ +/obj/proc/remove_gender_reveal_fx(og_layer) + remove_filter(list("gender_reveal_outline", "gender_reveal_ray")) + layer = og_layer + /** * Create our objectives for our heretic. */ diff --git a/code/modules/antagonists/heretic/heretic_knowledge.dm b/code/modules/antagonists/heretic/heretic_knowledge.dm index 5369e5fee8d91..6cfa8db05608f 100644 --- a/code/modules/antagonists/heretic/heretic_knowledge.dm +++ b/code/modules/antagonists/heretic/heretic_knowledge.dm @@ -38,6 +38,16 @@ var/priority = 0 /// What path is this on. If set to "null", assumed to be unreachable (or abstract). var/route + /// In case we want to override the default UI icon getter and plug in our own icon instead. + /// if research_tree_icon_path is not null, research_tree_icon_state must also be specified or things may break + var/research_tree_icon_path + var/research_tree_icon_state + var/research_tree_icon_frame = 1 + var/research_tree_icon_dir = SOUTH + /// Level of knowledge tree where this knowledge should be in the UI + var/depth = 1 + ///Determines what kind of monster ghosts will ignore from here on out. Defaults to POLL_IGNORE_HERETIC_MONSTER, but we define other types of monsters for more granularity. + var/poll_ignore_define = POLL_IGNORE_HERETIC_MONSTER /datum/heretic_knowledge/New() if(!mutually_exclusive) @@ -261,6 +271,7 @@ limit = 2 cost = 1 priority = MAX_KNOWLEDGE_PRIORITY - 5 + depth = 2 /datum/heretic_knowledge/limited_amount/starting/New() . = ..() @@ -285,6 +296,7 @@ abstract_parent_type = /datum/heretic_knowledge/mark mutually_exclusive = TRUE cost = 2 + depth = 5 /// The status effect typepath we apply on people on mansus grasp. var/datum/status_effect/eldritch/mark_type @@ -350,6 +362,7 @@ abstract_parent_type = /datum/heretic_knowledge/blade_upgrade mutually_exclusive = TRUE cost = 2 + depth = 9 /datum/heretic_knowledge/blade_upgrade/on_gain(mob/user, datum/antagonist/heretic/our_heretic) RegisterSignal(user, COMSIG_HERETIC_BLADE_ATTACK, PROC_REF(on_eldritch_blade)) @@ -523,11 +536,23 @@ abstract_parent_type = /datum/heretic_knowledge/summon /// Typepath of a mob to summon when we finish the recipe. var/mob/living/mob_to_summon - ///Determines what kind of monster ghosts will ignore from here on out. Defaults to POLL_IGNORE_HERETIC_MONSTER, but we define other types of monsters for more granularity. - var/poll_ignore_define = POLL_IGNORE_HERETIC_MONSTER /datum/heretic_knowledge/summon/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) - var/mob/living/summoned = new mob_to_summon(loc) + summon_ritual_mob(user, loc, mob_to_summon) + +/** + * Creates the ritual mob and grabs a ghost for it + * + * * user - the mob doing the summoning + * * loc - where the summon is happening + * * mob_to_summon - either a mob instance or a mob typepath + */ +/datum/heretic_knowledge/proc/summon_ritual_mob(mob/living/user, turf/loc, mob/living/mob_to_summon) + var/mob/living/summoned + if(isliving(mob_to_summon)) + summoned = mob_to_summon + else + summoned = new mob_to_summon(loc) summoned.ai_controller?.set_ai_status(AI_STATUS_OFF) // Fade in the summon while the ghost poll is ongoing. // Also don't let them mess with the summon while waiting @@ -557,6 +582,7 @@ var/datum/antagonist/heretic_monster/heretic_monster = summoned.mind.add_antag_datum(/datum/antagonist/heretic_monster) heretic_monster.set_owner(user.mind) + summoned.RegisterSignal(user, COMSIG_LIVING_DEATH, TYPE_PROC_REF(/mob/living/, on_master_death)) var/datum/objective/heretic_summon/summon_objective = locate() in user.mind.get_all_objectives() summon_objective?.num_summoned++ @@ -577,6 +603,9 @@ mutually_exclusive = TRUE cost = 1 priority = MAX_KNOWLEDGE_PRIORITY - 10 // A pretty important midgame ritual. + depth = 6 + research_tree_icon_path = 'icons/obj/antags/eldritch.dmi' + research_tree_icon_state = "book_open" /// Whether we've done the ritual. Only doable once. var/was_completed = FALSE @@ -670,6 +699,9 @@ cost = 2 priority = MAX_KNOWLEDGE_PRIORITY + 1 // Yes, the final ritual should be ABOVE the max priority. required_atoms = list(/mob/living/carbon/human = 3) + depth = 11 + //use this to store the achievement typepath + var/datum/award/achievement/misc/ascension_achievement /datum/heretic_knowledge/ultimate/on_research(mob/user, datum/antagonist/heretic/our_heretic) . = ..() @@ -730,6 +762,8 @@ source = user, header = "A Heretic is Ascending!", ) + if(!isnull(ascension_achievement)) + user.client?.give_award(ascension_achievement, user) heretic_datum.increase_rust_strength() return TRUE diff --git a/code/modules/antagonists/heretic/heretic_monsters.dm b/code/modules/antagonists/heretic/heretic_monsters.dm index 31b18b6a83353..fcdea51287980 100644 --- a/code/modules/antagonists/heretic/heretic_monsters.dm +++ b/code/modules/antagonists/heretic/heretic_monsters.dm @@ -38,3 +38,7 @@ owner.announce_objectives() to_chat(owner, span_boldnotice("You are a [ishuman(owner.current) ? "shambling corpse returned":"horrible creation brought"] to this plane through the Gates of the Mansus.")) to_chat(owner, span_notice("Your master is [master]. Assist them to all ends.")) + + if(istype(owner.current, /mob/living/basic/construct/harvester/heretic)) + var/mob/living/basic/construct/harvester/heretic/shitcode = owner.current + shitcode.master = master diff --git a/code/modules/antagonists/heretic/items/eldritch_flask.dm b/code/modules/antagonists/heretic/items/eldritch_flask.dm index 95b77f956188c..409bcd473ed7d 100644 --- a/code/modules/antagonists/heretic/items/eldritch_flask.dm +++ b/code/modules/antagonists/heretic/items/eldritch_flask.dm @@ -4,5 +4,5 @@ name = "flask of eldritch essence" desc = "Toxic to the closed minded, yet refreshing to those with knowledge of the beyond." icon = 'icons/obj/antags/eldritch.dmi' - icon_state = "eldrich_flask" + icon_state = "eldritch_flask" list_reagents = list(/datum/reagent/eldritch = 50) diff --git a/code/modules/antagonists/heretic/items/heretic_blades.dm b/code/modules/antagonists/heretic/items/heretic_blades.dm index 675f5f87b0abf..ddfec8db20cf7 100644 --- a/code/modules/antagonists/heretic/items/heretic_blades.dm +++ b/code/modules/antagonists/heretic/items/heretic_blades.dm @@ -24,23 +24,37 @@ attack_verb_simple = list("attack", "slash", "stab", "slice", "tear", "lacerate", "rip", "dice", "rend") var/after_use_message = "" +/obj/item/melee/sickly_blade/examine(mob/user) + . = ..() + if(!check_usability(user)) + return + + . += span_notice("You can shatter the blade to teleport to a random, (mostly) safe location by activating it in-hand.") + +/// Checks if the passed mob can use this blade without being stunned +/obj/item/melee/sickly_blade/proc/check_usability(mob/living/user) + return IS_HERETIC_OR_MONSTER(user) + /obj/item/melee/sickly_blade/pre_attack(atom/A, mob/living/user, params) . = ..() if(.) return . - if(!IS_HERETIC_OR_MONSTER(user)) + if(!check_usability(user)) to_chat(user, span_danger("You feel a pulse of alien intellect lash out at your mind!")) - user.AdjustParalyzed(5 SECONDS) + var/mob/living/carbon/human/human_user = user + human_user.AdjustParalyzed(5 SECONDS) return TRUE - return . -/obj/item/melee/sickly_blade/afterattack(atom/target, mob/user, click_parameters) - if(isliving(target)) - SEND_SIGNAL(user, COMSIG_HERETIC_BLADE_ATTACK, target, src) + return . /obj/item/melee/sickly_blade/attack_self(mob/user) - var/turf/safe_turf = find_safe_turf(zlevel = z, extended_safety_checks = TRUE) - if(IS_HERETIC_OR_MONSTER(user)) + seek_safety(user) + return ..() + +/// Attempts to teleport the passed mob to somewhere safe on the station, if they can use the blade. +/obj/item/melee/sickly_blade/proc/seek_safety(mob/user) + var/turf/safe_turf = find_safe_turf(zlevels = z, extended_safety_checks = TRUE) + if(check_usability(user)) if(do_teleport(user, safe_turf, channel = TELEPORT_CHANNEL_MAGIC)) to_chat(user, span_warning("As you shatter [src], you feel a gust of energy flow through your body. [after_use_message]")) else @@ -50,18 +64,15 @@ playsound(src, SFX_SHATTER, 70, TRUE) //copied from the code for smashing a glass sheet onto the ground to turn it into a shard qdel(src) +/obj/item/melee/sickly_blade/afterattack(atom/target, mob/user, click_parameters) + if(isliving(target)) + SEND_SIGNAL(user, COMSIG_HERETIC_BLADE_ATTACK, target, src) + /obj/item/melee/sickly_blade/ranged_interact_with_atom(atom/interacting_with, mob/living/user, list/modifiers) if(isliving(interacting_with)) SEND_SIGNAL(user, COMSIG_HERETIC_RANGED_BLADE_ATTACK, interacting_with, src) return ITEM_INTERACT_BLOCKING -/obj/item/melee/sickly_blade/examine(mob/user) - . = ..() - if(!IS_HERETIC_OR_MONSTER(user)) - return - - . += span_notice("You can shatter the blade to teleport to a random, (mostly) safe location by activating it in-hand.") - // Path of Rust's blade /obj/item/melee/sickly_blade/rust name = "\improper rusted blade" @@ -154,3 +165,76 @@ icon_state = "moon_blade" inhand_icon_state = "moon_blade" after_use_message = "The Moon hears your call..." + +// Path of Nar'Sie's blade +// What!? This blade is given to cultists as an altar item when they sacrifice a heretic. +// It is also given to the heretic themself if they sacrifice a cultist. +/obj/item/melee/sickly_blade/cursed + name = "\improper cursed blade" + desc = "A dark blade, cursed to bleed forever. In constant struggle between the eldritch and the dark, it is forced to accept any wielder as its master. \ + Its eye's cornea drips blood endlessly into the ground, yet its piercing gaze remains on you." + force = 25 + throwforce = 15 + block_chance = 35 + wound_bonus = 25 + bare_wound_bonus = 15 + armour_penetration = 35 + icon_state = "cursed_blade" + inhand_icon_state = "cursed_blade" + +/obj/item/melee/sickly_blade/cursed/Initialize(mapload) + . = ..() + + var/examine_text = {"Allows the scribing of blood runes of the cult of Nar'Sie. + The combination of eldritch power and Nar'Sie's might allows for vastly increased rune drawing speed, + alongside the vicious strength of the blade being more powerful than usual.\n + It can also be shattered in-hand by cultists (via right-click), teleporting them to relative safety."} + + AddComponent(/datum/component/cult_ritual_item, span_cult(examine_text), turfs_that_boost_us = /turf) // Always fast to draw! + +/obj/item/melee/sickly_blade/cursed/attack_self_secondary(mob/user) + seek_safety(user, TRUE) + +/obj/item/melee/sickly_blade/cursed/seek_safety(mob/user, secondary_attack = FALSE) + if(IS_CULTIST(user) && !secondary_attack) + return FALSE + return ..() + +/obj/item/melee/sickly_blade/cursed/check_usability(mob/living/user) + if(IS_HERETIC_OR_MONSTER(user) || IS_CULTIST(user)) + return TRUE + if(prob(15)) + to_chat(user, span_cult_large(pick("\"An untouched mind? Amusing.\"", "\" I suppose it isn't worth the effort to stop you.\"", "\"Go ahead. I don't care.\"", "\"You'll be mine soon enough.\""))) + var/obj/item/bodypart/affecting = user.get_active_hand() + if(!affecting) + return + affecting.receive_damage(burn = 5) + playsound(src, SFX_SEAR, 25, TRUE) + to_chat(user, span_danger("Your hand sizzles.")) // Nar nar might not care but their essence still doesn't like you + else if(prob(15)) + to_chat(user, span_big(span_hypnophrase("LW'NAFH'NAHOR UH'ENAH'YMG EPGOKA AH NAFL MGEMPGAH'EHYE"))) + to_chat(user, span_danger("Horrible, unintelligible utterances flood your mind!")) + user.adjustOrganLoss(ORGAN_SLOT_BRAIN, 15) // This can kill you if you ignore it + return TRUE + +/obj/item/melee/sickly_blade/cursed/equipped(mob/user, slot) + . = ..() + if(IS_HERETIC_OR_MONSTER(user)) + after_use_message = "The Mansus hears your call..." + else if(IS_CULTIST(user)) + after_use_message = "Nar'Sie hears your call..." + else + after_use_message = null + +/obj/item/melee/sickly_blade/cursed/interact_with_atom(atom/target, mob/living/user, list/modifiers) + . = ..() + + var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + if(!heretic_datum) + return NONE + + // Can only carve runes with it if off combat mode. + if(isopenturf(target) && !user.combat_mode) + heretic_datum.try_draw_rune(user, target, drawing_time = 14 SECONDS) // Faster than pen, slower than cicatrix + return ITEM_INTERACT_BLOCKING + return NONE diff --git a/code/modules/antagonists/heretic/items/heretic_necks.dm b/code/modules/antagonists/heretic/items/heretic_necks.dm index e24c17abdeeba..3f140dc99df1d 100644 --- a/code/modules/antagonists/heretic/items/heretic_necks.dm +++ b/code/modules/antagonists/heretic/items/heretic_necks.dm @@ -9,6 +9,101 @@ . = ..() AddElement(/datum/element/heretic_focus) +/obj/item/clothing/neck/heretic_focus/crimson_focus + name = "Crimson Focus" + desc = "A blood-red focusing glass that provides a link to the world beyond, and worse. Its eye is constantly twitching and gazing in all directions. It almost seems to be silently screaming..." + icon_state = "crimson_focus" + /// The aura healing component. Used to delete it when taken off. + var/datum/component/component + /// If active or not, used to add and remove its cult and heretic buffs. + var/active = FALSE + +/obj/item/clothing/neck/heretic_focus/crimson_focus/equipped(mob/living/user, slot) + . = ..() + if(!(slot & ITEM_SLOT_NECK)) + return + + var/team_color = COLOR_ADMIN_PINK + if(IS_CULTIST(user)) + var/datum/action/innate/cult/blood_magic/magic_holder = locate() in user.actions + team_color = COLOR_CULT_RED + magic_holder.magic_enhanced = TRUE + else if(IS_HERETIC_OR_MONSTER(user) && !active) + for(var/datum/action/cooldown/spell/spell_action in user.actions) + spell_action.cooldown_time *= 0.5 + active = TRUE + team_color = COLOR_GREEN + else + team_color = pick(COLOR_CULT_RED, COLOR_GREEN) + + user.add_traits(list(TRAIT_MANSUS_TOUCHED, TRAIT_BLOODY_MESS), REF(src)) + to_chat(user, span_alert("Your heart takes on a strange yet soothing irregular rhythm, and your blood feels significantly less viscous than it used to be. You're not sure if that's a good thing.")) + component = user.AddComponent( \ + /datum/component/aura_healing, \ + range = 3, \ + brute_heal = 1, \ + burn_heal = 1, \ + blood_heal = 2, \ + suffocation_heal = 5, \ + simple_heal = 0.6, \ + requires_visibility = FALSE, \ + limit_to_trait = TRAIT_MANSUS_TOUCHED, \ + healing_color = team_color, \ + ) + +/obj/item/clothing/neck/heretic_focus/crimson_focus/dropped(mob/living/user) + . = ..() + + if(!istype(user)) + return + + if(HAS_TRAIT_FROM(user, TRAIT_MANSUS_TOUCHED, REF(src))) + to_chat(user, span_notice("Your heart and blood return to their regular old rhythm and flow.")) + + if(IS_HERETIC_OR_MONSTER(user) && active) + for(var/datum/action/cooldown/spell/spell_action in user.actions) + spell_action.cooldown_time *= 2 + active = FALSE + QDEL_NULL(component) + user.remove_traits(list(TRAIT_MANSUS_TOUCHED, TRAIT_BLOODY_MESS), REF(src)) + + // If boosted enable is set, to prevent false dropped() calls from repeatedly nuking the max spells. + var/datum/action/innate/cult/blood_magic/magic_holder = locate() in user.actions + // Remove the last spell if over new limit, as we will reduce our max spell amount. Done beforehand as it causes a index out of bounds runtime otherwise. + if(magic_holder?.magic_enhanced) + QDEL_NULL(magic_holder.spells[ENHANCED_BLOODCHARGE]) + magic_holder?.magic_enhanced = FALSE + + +/obj/item/clothing/neck/heretic_focus/crimson_focus/attack_self(mob/living/user, modifiers) + . = ..() + to_chat(user, span_danger("You start tightly squeezing [src]...")) + if(!do_after(user, 1.25 SECONDS, src)) + return + to_chat(user, span_danger("[src] explodes into a shower of gore and blood, drenching your arm. You can feel the blood seeping into your skin. You inmediately feel better, but soon, the feeling turns hollow as your veins itch.")) + new /obj/effect/gibspawner/generic(get_turf(src)) + var/heal_amt = user.adjustBruteLoss(-50) + user.adjustFireLoss( -(50 - abs(heal_amt)) ) // no double dipping + + // I want it to poison the user but I also think it'd be neat if they got their juice as well. But that cancels most of the damage out. So I dunno. + user.reagents?.add_reagent(/datum/reagent/fuel/unholywater, rand(6, 10)) + user.reagents?.add_reagent(/datum/reagent/eldritch, rand(6, 10)) + qdel(src) + +/obj/item/clothing/neck/heretic_focus/crimson_focus/examine(mob/user) + . = ..() + + var/magic_dude + if(IS_CULTIST(user)) + . += span_cult_bold("This focus will allow you to store one extra spell and halve the empowering time, alongside providing a small regenerative effect.") + magic_dude = TRUE + if(IS_HERETIC_OR_MONSTER(user)) + . += span_notice("This focus will halve your spell cooldowns, alongside granting a small regenerative effect to any nearby heretics or monsters, including you.") + magic_dude = TRUE + + if(magic_dude) + . += span_red("You can also squeeze it to recover a large amount of health quickly, at a cost...") + /obj/item/clothing/neck/eldritch_amulet name = "Warm Eldritch Medallion" desc = "A strange medallion. Peering through the crystalline surface, the world around you melts away. You see your own beating heart, and the pulsing of a thousand others." diff --git a/code/modules/antagonists/heretic/items/keyring.dm b/code/modules/antagonists/heretic/items/keyring.dm index dc1291bc03437..c0df68ec7cc3f 100644 --- a/code/modules/antagonists/heretic/items/keyring.dm +++ b/code/modules/antagonists/heretic/items/keyring.dm @@ -185,7 +185,7 @@ if(reference_resolved) make_portal(user, reference_resolved, target) - to_chat(user, span_notice("You use [src], to link [link] and [target] together.")) + to_chat(user, span_notice("You use [src], to link [reference_resolved] and [target] together.")) link = null balloon_alert(user, "link 2/2") else diff --git a/code/modules/antagonists/heretic/knowledge/ash_lore.dm b/code/modules/antagonists/heretic/knowledge/ash_lore.dm index 9386611304292..b74569f1a1447 100644 --- a/code/modules/antagonists/heretic/knowledge/ash_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/ash_lore.dm @@ -1,5 +1,7 @@ /** * # The path of Ash. + * Spell names are in this language: OLD NORDIC + * Both are related: Nordic Mythology-Yggdrassil-Ash Tree Genus-Ash * * Goes as follows: * @@ -39,6 +41,8 @@ ) result_atoms = list(/obj/item/melee/sickly_blade/ash) route = PATH_ASH + research_tree_icon_path = 'icons/obj/weapons/khopesh.dmi' + research_tree_icon_state = "ash_blade" /datum/heretic_knowledge/ashen_grasp name = "Grasp of Ash" @@ -48,6 +52,9 @@ next_knowledge = list(/datum/heretic_knowledge/spell/ash_passage) cost = 1 route = PATH_ASH + depth = 3 + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "grasp_ash" /datum/heretic_knowledge/ashen_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) RegisterSignal(user, COMSIG_HERETIC_MANSUS_GRASP_ATTACK, PROC_REF(on_mansus_grasp)) @@ -80,6 +87,7 @@ spell_to_add = /datum/action/cooldown/spell/jaunt/ethereal_jaunt/ash cost = 1 route = PATH_ASH + depth = 4 /datum/heretic_knowledge/mark/ash_mark name = "Mark of Ash" @@ -119,6 +127,8 @@ spell_to_add = /datum/action/cooldown/spell/charged/beam/fire_blast cost = 1 route = PATH_ASH + depth = 7 + research_tree_icon_frame = 7 /datum/heretic_knowledge/mad_mask @@ -142,6 +152,9 @@ result_atoms = list(/obj/item/clothing/mask/madness_mask) cost = 1 route = PATH_ASH + research_tree_icon_path = 'icons/obj/clothing/masks.dmi' + research_tree_icon_state = "mad_mask" + depth = 8 /datum/heretic_knowledge/blade_upgrade/ash name = "Fiery Blade" @@ -150,6 +163,8 @@ His city, the people he swore to watch... and watch he did, as they all burnt to cinders." next_knowledge = list(/datum/heretic_knowledge/spell/flame_birth) route = PATH_ASH + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "blade_upgrade_ash" /datum/heretic_knowledge/blade_upgrade/ash/do_melee_effects(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade) if(source == target) @@ -173,6 +188,8 @@ spell_to_add = /datum/action/cooldown/spell/aoe/fiery_rebirth cost = 1 route = PATH_ASH + depth = 10 + research_tree_icon_frame = 5 /datum/heretic_knowledge/ultimate/ash_final name = "Ashlord's Rite" @@ -187,6 +204,7 @@ for the Nightwatcher brought forth the rite to mankind! His gaze continues, as now I am one with the flames, \ WITNESS MY ASCENSION, THE ASHY LANTERN BLAZES ONCE MORE!" route = PATH_ASH + ascension_achievement = /datum/award/achievement/misc/ash_ascension /// A static list of all traits we apply on ascension. var/static/list/traits_to_apply = list( TRAIT_BOMBIMMUNE, @@ -215,7 +233,7 @@ text = "[generate_heretic_text()] Fear the blaze, for the Ashlord, [user.real_name] has ascended! The flames shall consume all! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_ash.ogg', - color_override = "pink", + color_override = "white", ) var/datum/action/cooldown/spell/fire_sworn/circle_spell = new(user.mind) @@ -233,6 +251,5 @@ var/datum/action/cooldown/spell/aoe/fiery_rebirth/fiery_rebirth = locate() in user.actions fiery_rebirth?.cooldown_time *= 0.16 - user.client?.give_award(/datum/award/achievement/misc/ash_ascension, user) if(length(traits_to_apply)) user.add_traits(traits_to_apply, MAGIC_TRAIT) diff --git a/code/modules/antagonists/heretic/knowledge/blade_lore.dm b/code/modules/antagonists/heretic/knowledge/blade_lore.dm index 6553353745517..357e789416d1d 100644 --- a/code/modules/antagonists/heretic/knowledge/blade_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/blade_lore.dm @@ -1,5 +1,7 @@ /** * # The path of Blades. Stab stab. + * Spell names are in this language: ARAMAIC + * Both are related: Aramaic-Damascus-Blade * * Goes as follows: * @@ -43,6 +45,8 @@ result_atoms = list(/obj/item/melee/sickly_blade/dark) limit = 5 // It's the blade path, it's a given route = PATH_BLADE + research_tree_icon_path = 'icons/obj/weapons/khopesh.dmi' + research_tree_icon_state = "dark_blade" /datum/heretic_knowledge/blade_grasp name = "Grasp of the Blade" @@ -52,6 +56,9 @@ next_knowledge = list(/datum/heretic_knowledge/blade_dance) cost = 1 route = PATH_BLADE + depth = 3 + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "grasp_blade" /datum/heretic_knowledge/blade_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) RegisterSignal(user, COMSIG_HERETIC_MANSUS_GRASP_ATTACK, PROC_REF(on_mansus_grasp)) @@ -111,6 +118,9 @@ ) cost = 1 route = PATH_BLADE + depth = 4 + research_tree_icon_path = 'icons/mob/actions/actions_ecult.dmi' + research_tree_icon_state = "shatter" /// Whether the counter-attack is ready or not. /// Used instead of cooldowns, so we can give feedback when it's ready again var/riposte_ready = TRUE @@ -231,6 +241,7 @@ spell_to_add = /datum/action/cooldown/spell/realignment cost = 1 route = PATH_BLADE + depth = 7 /// The amount of blood flow reduced per level of severity of gained bleeding wounds for Stance of the Torn Champion. #define BLOOD_FLOW_PER_SEVEIRTY -1 @@ -251,6 +262,10 @@ ) cost = 1 route = PATH_BLADE + depth = 8 + research_tree_icon_path = 'icons/effects/blood.dmi' + research_tree_icon_state = "suitblood" + research_tree_icon_dir = SOUTH /// Whether we're currently in duelist stance, gaining certain buffs (low health) var/in_duelist_stance = FALSE @@ -310,6 +325,8 @@ a flurry of blades, neither hitting their mark, for the Champion was indomitable." next_knowledge = list(/datum/heretic_knowledge/spell/furious_steel) route = PATH_BLADE + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "blade_upgrade_blade" /// How much force do we apply to the offhand? var/offand_force_decrement = 0 /// How much force was the last weapon we offhanded with? If it's different, we need to re-calculate the decrement @@ -380,6 +397,7 @@ spell_to_add = /datum/action/cooldown/spell/pointed/projectile/furious_steel cost = 1 route = PATH_BLADE + depth = 10 /datum/heretic_knowledge/ultimate/blade_final name = "Maelstrom of Silver" @@ -393,6 +411,7 @@ gain_text = "The Torn Champion is freed! I will become the blade reunited, and with my greater ambition, \ I AM UNMATCHED! A STORM OF STEEL AND SILVER IS UPON US! WITNESS MY ASCENSION!" route = PATH_BLADE + ascension_achievement = /datum/award/achievement/misc/blade_ascension /datum/heretic_knowledge/ultimate/blade_final/is_valid_sacrifice(mob/living/carbon/human/sacrifice) . = ..() @@ -409,7 +428,6 @@ sound = 'sound/ambience/antag/heretic/ascend_blade.ogg', color_override = "pink", ) - user.client?.give_award(/datum/award/achievement/misc/blade_ascension, user) ADD_TRAIT(user, TRAIT_NEVER_WOUNDED, name) RegisterSignal(user, COMSIG_HERETIC_BLADE_ATTACK, PROC_REF(on_eldritch_blade)) user.apply_status_effect(/datum/status_effect/protective_blades/recharging, null, 8, 30, 0.25 SECONDS, 1 MINUTES) diff --git a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm index 6e22ebc37900a..8a94aada74a67 100644 --- a/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/cosmic_lore.dm @@ -1,5 +1,7 @@ /** * # The path of Cosmos. + * Spell names are in this language: SUMERIAN + * Both are related: Sumerian-Original-Primordial-Cosmic * * Goes as follows: * @@ -38,6 +40,8 @@ ) result_atoms = list(/obj/item/melee/sickly_blade/cosmic) route = PATH_COSMIC + research_tree_icon_path = 'icons/obj/weapons/khopesh.dmi' + research_tree_icon_state = "cosmic_blade" /datum/heretic_knowledge/cosmic_grasp name = "Grasp of Cosmos" @@ -48,6 +52,9 @@ next_knowledge = list(/datum/heretic_knowledge/spell/cosmic_runes) cost = 1 route = PATH_COSMIC + depth = 3 + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "grasp_cosmos" /datum/heretic_knowledge/cosmic_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) RegisterSignal(user, COMSIG_HERETIC_MANSUS_GRASP_ATTACK, PROC_REF(on_mansus_grasp)) @@ -78,6 +85,7 @@ spell_to_add = /datum/action/cooldown/spell/cosmic_rune cost = 1 route = PATH_COSMIC + depth = 4 /datum/heretic_knowledge/mark/cosmic_mark name = "Mark of Cosmos" @@ -107,6 +115,7 @@ spell_to_add = /datum/action/cooldown/spell/touch/star_touch cost = 1 route = PATH_COSMIC + depth = 7 /datum/heretic_knowledge/spell/star_blast name = "Star Blast" @@ -123,6 +132,7 @@ spell_to_add = /datum/action/cooldown/spell/pointed/projectile/star_blast cost = 1 route = PATH_COSMIC + depth = 8 /datum/heretic_knowledge/blade_upgrade/cosmic name = "Cosmic Blade" @@ -135,6 +145,8 @@ The blades now glistened with fragmented power. I fell to the ground and wept at the beast's feet." next_knowledge = list(/datum/heretic_knowledge/spell/cosmic_expansion) route = PATH_COSMIC + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "blade_upgrade_cosmos" /// Storage for the second target. var/datum/weakref/second_target /// Storage for the third target. @@ -233,6 +245,7 @@ spell_to_add = /datum/action/cooldown/spell/conjure/cosmic_expansion cost = 1 route = PATH_COSMIC + depth = 10 /datum/heretic_knowledge/ultimate/cosmic_final name = "Creators's Gift" @@ -250,6 +263,7 @@ I closed my eyes with my head laid against their form. I was safe. \ WITNESS MY ASCENSION!" route = PATH_COSMIC + ascension_achievement = /datum/award/achievement/misc/cosmic_ascension /// A static list of command we can use with our mob. var/static/list/star_gazer_commands = list( /datum/pet_command/idle, @@ -271,7 +285,7 @@ text = "[generate_heretic_text()] A Star Gazer has arrived into the station, [user.real_name] has ascended! This station is the domain of the Cosmos! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_cosmic.ogg', - color_override = "pink", + color_override = "purple", ) var/mob/living/basic/heretic_summon/star_gazer/star_gazer_mob = new /mob/living/basic/heretic_summon/star_gazer(loc) star_gazer_mob.maxHealth = INFINITY @@ -296,5 +310,3 @@ var/datum/action/cooldown/spell/conjure/cosmic_expansion/cosmic_expansion_spell = locate() in user.actions cosmic_expansion_spell?.ascended = TRUE - - user.client?.give_award(/datum/award/achievement/misc/cosmic_ascension, user) diff --git a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm index 4a7b2fd205297..e0b82651bc9d6 100644 --- a/code/modules/antagonists/heretic/knowledge/flesh_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/flesh_lore.dm @@ -5,6 +5,8 @@ /** * # The path of Flesh. + * Spell names are in this language: LATIN + * Both are related: Latin-Rome-Hedonism-Flesh * * Goes as follows: * @@ -44,6 +46,8 @@ result_atoms = list(/obj/item/melee/sickly_blade/flesh) limit = 3 // Bumped up so they can arm up their ghouls too. route = PATH_FLESH + research_tree_icon_path = 'icons/obj/weapons/khopesh.dmi' + research_tree_icon_state = "flesh_blade" /datum/heretic_knowledge/limited_amount/starting/base_flesh/on_research(mob/user, datum/antagonist/heretic/our_heretic) . = ..() @@ -64,6 +68,9 @@ limit = 1 cost = 1 route = PATH_FLESH + depth = 3 + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "grasp_flesh" /datum/heretic_knowledge/limited_amount/flesh_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) RegisterSignal(user, COMSIG_HERETIC_MANSUS_GRASP_ATTACK, PROC_REF(on_mansus_grasp)) @@ -137,6 +144,10 @@ limit = 2 cost = 1 route = PATH_FLESH + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "ghoul_voiceless" + + depth = 4 /datum/heretic_knowledge/limited_amount/flesh_ghoul/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) . = ..() @@ -227,6 +238,7 @@ spell_to_add = /datum/action/cooldown/spell/touch/flesh_surgery cost = 1 route = PATH_FLESH + depth = 7 /datum/heretic_knowledge/summon/raw_prophet name = "Raw Ritual" @@ -250,6 +262,7 @@ cost = 1 route = PATH_FLESH poll_ignore_define = POLL_IGNORE_RAW_PROPHET + depth = 8 /datum/heretic_knowledge/blade_upgrade/flesh name = "Bleeding Steel" @@ -258,6 +271,8 @@ I finally began to understand. And then, blood rained from the heavens." next_knowledge = list(/datum/heretic_knowledge/summon/stalker) route = PATH_FLESH + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "blade_upgrade_flesh" ///What type of wound do we apply on hit var/wound_type = /datum/wound/slash/flesh/severe @@ -292,6 +307,7 @@ cost = 1 route = PATH_FLESH poll_ignore_define = POLL_IGNORE_STALKER + depth = 10 /datum/heretic_knowledge/ultimate/flesh_final name = "Priest's Final Hymn" @@ -308,6 +324,7 @@ Reality will bend to THE LORD OF THE NIGHT or be unraveled! WITNESS MY ASCENSION!" required_atoms = list(/mob/living/carbon/human = 4) route = PATH_FLESH + ascension_achievement = /datum/award/achievement/misc/flesh_ascension /datum/heretic_knowledge/ultimate/flesh_final/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) . = ..() @@ -315,13 +332,12 @@ text = "[generate_heretic_text()] Ever coiling vortex. Reality unfolded. ARMS OUTREACHED, THE LORD OF THE NIGHT, [user.real_name] has ascended! Fear the ever twisting hand! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_flesh.ogg', - color_override = "pink", + color_override = "red", ) var/datum/action/cooldown/spell/shapeshift/shed_human_form/worm_spell = new(user.mind) worm_spell.Grant(user) - user.client?.give_award(/datum/award/achievement/misc/flesh_ascension, user) var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) var/datum/heretic_knowledge/limited_amount/flesh_grasp/grasp_ghoul = heretic_datum.get_knowledge(/datum/heretic_knowledge/limited_amount/flesh_grasp) diff --git a/code/modules/antagonists/heretic/knowledge/general_side.dm b/code/modules/antagonists/heretic/knowledge/general_side.dm index 2dc2719227b1c..27f0e11b4467b 100644 --- a/code/modules/antagonists/heretic/knowledge/general_side.dm +++ b/code/modules/antagonists/heretic/knowledge/general_side.dm @@ -12,6 +12,9 @@ ) cost = 1 route = PATH_SIDE + depth = 8 + research_tree_icon_path = 'icons/mob/actions/actions_animal.dmi' + research_tree_icon_state = "gaze" /datum/heretic_knowledge/reroll_targets/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) diff --git a/code/modules/antagonists/heretic/knowledge/lock_lore.dm b/code/modules/antagonists/heretic/knowledge/lock_lore.dm index 2807167d819fb..b238d6dd3c7f3 100644 --- a/code/modules/antagonists/heretic/knowledge/lock_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/lock_lore.dm @@ -1,5 +1,7 @@ /** * # The path of Lock. + * Spell names are in this language: EGYPTIAN + * Both are related: Egyptian-Mysteries-Secrets-Lock * * Goes as follows: * @@ -39,6 +41,8 @@ result_atoms = list(/obj/item/melee/sickly_blade/lock) limit = 2 route = PATH_LOCK + research_tree_icon_path = 'icons/obj/weapons/khopesh.dmi' + research_tree_icon_state = "key_blade" /datum/heretic_knowledge/lock_grasp name = "Grasp of Lock" @@ -49,6 +53,9 @@ next_knowledge = list(/datum/heretic_knowledge/key_ring) cost = 1 route = PATH_LOCK + depth = 3 + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "grasp_lock" /datum/heretic_knowledge/lock_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) RegisterSignal(user, COMSIG_HERETIC_MANSUS_GRASP_ATTACK_SECONDARY, PROC_REF(on_secondary_mansus_grasp)) @@ -111,6 +118,9 @@ ) cost = 1 route = PATH_LOCK + research_tree_icon_path = 'icons/obj/card.dmi' + research_tree_icon_state = "card_gold" + depth = 4 /datum/heretic_knowledge/mark/lock_mark name = "Mark of Lock" @@ -140,6 +150,9 @@ next_knowledge = list(/datum/heretic_knowledge/spell/burglar_finesse) cost = 1 route = PATH_LOCK + research_tree_icon_path = 'icons/obj/service/library.dmi' + research_tree_icon_state = "heretichandbook" + depth = 7 /datum/heretic_knowledge/spell/burglar_finesse name = "Burglar's Finesse" @@ -156,6 +169,7 @@ spell_to_add = /datum/action/cooldown/spell/pointed/burglar_finesse cost = 1 route = PATH_LOCK + depth = 8 /datum/heretic_knowledge/blade_upgrade/flesh/lock //basically a chance-based weeping avulsion version of the former name = "Opening Blade" @@ -164,6 +178,8 @@ next_knowledge = list(/datum/heretic_knowledge/spell/caretaker_refuge) route = PATH_LOCK wound_type = /datum/wound/slash/flesh/critical + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "blade_upgrade_lock" var/chance = 35 /datum/heretic_knowledge/blade_upgrade/flesh/lock/do_melee_effects(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade) @@ -183,6 +199,7 @@ route = PATH_LOCK spell_to_add = /datum/action/cooldown/spell/caretaker cost = 1 + depth = 10 /datum/heretic_knowledge/ultimate/lock_final name = "Unlock the Labyrinth" @@ -199,6 +216,7 @@ The Labyrinth will be Locked no more, and freedom will be ours! WITNESS US!" required_atoms = list(/mob/living/carbon/human = 3) route = PATH_LOCK + ascension_achievement = /datum/award/achievement/misc/lock_ascension /datum/heretic_knowledge/ultimate/lock_final/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) . = ..() @@ -225,15 +243,13 @@ text = "Delta-class dimensional anomaly detec[generate_heretic_text()] Reality rended, torn. Gates open, doors open, [user.real_name] has ascended! Fear the tide! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_knock.ogg', - color_override = "pink", + color_override = "yellow", ) - user.client?.give_award(/datum/award/achievement/misc/lock_ascension, user) // buffs var/datum/action/cooldown/spell/shapeshift/eldritch/ascension/transform_spell = new(user.mind) transform_spell.Grant(user) - user.client?.give_award(/datum/award/achievement/misc/lock_ascension, user) var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) var/datum/heretic_knowledge/blade_upgrade/flesh/lock/blade_upgrade = heretic_datum.get_knowledge(/datum/heretic_knowledge/blade_upgrade/flesh/lock) blade_upgrade.chance += 30 diff --git a/code/modules/antagonists/heretic/knowledge/moon_lore.dm b/code/modules/antagonists/heretic/knowledge/moon_lore.dm index 4b61648329214..5ba55b64058cb 100644 --- a/code/modules/antagonists/heretic/knowledge/moon_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/moon_lore.dm @@ -1,5 +1,7 @@ /** * # The path of Moon. + * Spell names are in this language: ANCIENT HEBREW + * Both are related: Ancient Hebrew-Moon Mysticism-Moon * * Goes as follows: * @@ -39,6 +41,8 @@ ) result_atoms = list(/obj/item/melee/sickly_blade/moon) route = PATH_MOON + research_tree_icon_path = 'icons/obj/weapons/khopesh.dmi' + research_tree_icon_state = "moon_blade" /datum/heretic_knowledge/base_moon/on_gain(mob/user, datum/antagonist/heretic/our_heretic) add_traits(user ,TRAIT_EMPATH, REF(src)) @@ -51,6 +55,9 @@ next_knowledge = list(/datum/heretic_knowledge/spell/moon_smile) cost = 1 route = PATH_MOON + depth = 3 + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "grasp_moon" /datum/heretic_knowledge/moon_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) RegisterSignal(user, COMSIG_HERETIC_MANSUS_GRASP_ATTACK, PROC_REF(on_mansus_grasp)) @@ -82,6 +89,7 @@ spell_to_add = /datum/action/cooldown/spell/pointed/moon_smile cost = 1 route = PATH_MOON + depth = 4 /datum/heretic_knowledge/mark/moon_mark name = "Mark of Moon" @@ -107,6 +115,7 @@ spell_to_add = /datum/action/cooldown/spell/pointed/projectile/moon_parade cost = 1 route = PATH_MOON + depth = 7 /datum/heretic_knowledge/moon_amulet @@ -130,6 +139,10 @@ result_atoms = list(/obj/item/clothing/neck/heretic_focus/moon_amulet) cost = 1 route = PATH_MOON + depth = 8 + research_tree_icon_path = 'icons/obj/antags/eldritch.dmi' + research_tree_icon_state = "moon_amulette" + research_tree_icon_frame = 9 /datum/heretic_knowledge/blade_upgrade/moon name = "Moonlight Blade" @@ -137,6 +150,8 @@ gain_text = "His wit was sharp as a blade, cutting through the lie to bring us joy." next_knowledge = list(/datum/heretic_knowledge/spell/moon_ringleader) route = PATH_MOON + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "blade_upgrade_moon" /datum/heretic_knowledge/blade_upgrade/moon/do_melee_effects(mob/living/source, mob/living/target, obj/item/melee/sickly_blade/blade) if(source == target) @@ -164,6 +179,8 @@ spell_to_add = /datum/action/cooldown/spell/aoe/moon_ringleader cost = 1 route = PATH_MOON + depth = 10 + research_tree_icon_frame = 5 /datum/heretic_knowledge/ultimate/moon_final name = "The Last Act" @@ -176,6 +193,7 @@ for where the Ringleader had started the parade, I shall continue it unto the suns demise \ WITNESS MY ASCENSION, THE MOON SMILES ONCE MORE AND FOREVER MORE IT SHALL!" route = PATH_MOON + ascension_achievement = /datum/award/achievement/misc/moon_ascension /datum/heretic_knowledge/ultimate/moon_final/is_valid_sacrifice(mob/living/sacrifice) @@ -193,10 +211,9 @@ The truth shall finally devour the lie! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_moon.ogg', - color_override = "pink", + color_override = "blue", ) - user.client?.give_award(/datum/award/achievement/misc/moon_ascension, user) ADD_TRAIT(user, TRAIT_MADNESS_IMMUNE, REF(src)) user.mind.add_antag_datum(/datum/antagonist/lunatic/master) RegisterSignal(user, COMSIG_LIVING_LIFE, PROC_REF(on_life)) diff --git a/code/modules/antagonists/heretic/knowledge/rust_lore.dm b/code/modules/antagonists/heretic/knowledge/rust_lore.dm index fe553c8b8c779..5e96119135f71 100644 --- a/code/modules/antagonists/heretic/knowledge/rust_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/rust_lore.dm @@ -1,5 +1,6 @@ /** * # The path of Rust. + * Spell names are in this language: OLD SLAVIC * * Goes as follows: * @@ -42,6 +43,8 @@ ) result_atoms = list(/obj/item/melee/sickly_blade/rust) route = PATH_RUST + research_tree_icon_path = 'icons/obj/weapons/khopesh.dmi' + research_tree_icon_state = "rust_blade" /datum/heretic_knowledge/rust_fist name = "Grasp of Rust" @@ -52,6 +55,9 @@ next_knowledge = list(/datum/heretic_knowledge/rust_regen) cost = 1 route = PATH_RUST + depth = 3 + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "grasp_rust" /datum/heretic_knowledge/rust_fist/on_gain(mob/user, datum/antagonist/heretic/our_heretic) RegisterSignal(user, COMSIG_HERETIC_MANSUS_GRASP_ATTACK, PROC_REF(on_mansus_grasp)) @@ -73,7 +79,7 @@ SIGNAL_HANDLER // Rusting an airlock causes it to lose power, mostly to prevent the airlock from shocking you. - // This is a bit of a hack, but fixing this would require the enture wire cut/pulse system to be reworked. + // This is a bit of a hack, but fixing this would require the entire wire cut/pulse system to be reworked. if(istype(target, /obj/machinery/door/airlock)) var/obj/machinery/door/airlock/airlock = target airlock.loseMainPower() @@ -93,58 +99,15 @@ ) cost = 1 route = PATH_RUST + research_tree_icon_path = 'icons/effects/eldritch.dmi' + research_tree_icon_state = "cloud_swirl" + depth = 4 /datum/heretic_knowledge/rust_regen/on_gain(mob/user, datum/antagonist/heretic/our_heretic) - RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) - RegisterSignal(user, COMSIG_LIVING_LIFE, PROC_REF(on_life)) + user.AddElement(/datum/element/leeching_walk) /datum/heretic_knowledge/rust_regen/on_lose(mob/user, datum/antagonist/heretic/our_heretic) - UnregisterSignal(user, list(COMSIG_MOVABLE_MOVED, COMSIG_LIVING_LIFE)) - -/* - * Signal proc for [COMSIG_MOVABLE_MOVED]. - * - * Checks if we should have baton resistance on the new turf. - */ -/datum/heretic_knowledge/rust_regen/proc/on_move(mob/source, atom/old_loc, dir, forced, list/old_locs) - SIGNAL_HANDLER - - var/turf/mover_turf = get_turf(source) - if(HAS_TRAIT(mover_turf, TRAIT_RUSTY)) - ADD_TRAIT(source, TRAIT_BATON_RESISTANCE, type) - return - - REMOVE_TRAIT(source, TRAIT_BATON_RESISTANCE, type) - -/** - * Signal proc for [COMSIG_LIVING_LIFE]. - * - * Gradually heals the heretic ([source]) on rust, - * including baton knockdown and stamina damage. - */ -/datum/heretic_knowledge/rust_regen/proc/on_life(mob/living/source, seconds_per_tick, times_fired) - SIGNAL_HANDLER - - var/turf/our_turf = get_turf(source) - if(!HAS_TRAIT(our_turf, TRAIT_RUSTY)) - return - - // Heals all damage + Stamina - var/need_mob_update = FALSE - need_mob_update += source.adjustBruteLoss(-3, updating_health = FALSE) - need_mob_update += source.adjustFireLoss(-3, updating_health = FALSE) - need_mob_update += source.adjustToxLoss(-3, updating_health = FALSE, forced = TRUE) // Slimes are people too - need_mob_update += source.adjustOxyLoss(-1.5, updating_health = FALSE) - need_mob_update += source.adjustStaminaLoss(-10, updating_stamina = FALSE) - if(need_mob_update) - source.updatehealth() - // Reduces duration of stuns/etc - source.AdjustAllImmobility(-0.5 SECONDS) - // Heals blood loss - if(source.blood_volume < BLOOD_VOLUME_NORMAL) - source.blood_volume += 2.5 * seconds_per_tick - // Slowly regulates your body temp - source.adjust_bodytemperature((source.get_body_temp_normal() - source.bodytemperature)/5) + user.RemoveElement(/datum/element/leeching_walk) /datum/heretic_knowledge/mark/rust_mark name = "Mark of Rust" @@ -174,6 +137,7 @@ spell_to_add = /datum/action/cooldown/spell/pointed/rust_construction cost = 1 route = PATH_RUST + depth = 7 /datum/heretic_knowledge/spell/area_conversion name = "Aggressive Spread" @@ -191,6 +155,8 @@ spell_to_add = /datum/action/cooldown/spell/aoe/rust_conversion cost = 1 route = PATH_RUST + depth = 8 + research_tree_icon_frame = 5 /datum/heretic_knowledge/spell/area_conversion/on_gain(mob/user, datum/antagonist/heretic/our_heretic) . = ..() @@ -203,6 +169,8 @@ The heavy rust weights it down. You stare deeply into it. The Rusted Hills call for you, now." next_knowledge = list(/datum/heretic_knowledge/spell/entropic_plume) route = PATH_RUST + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "blade_upgrade_rust" /datum/heretic_knowledge/blade_upgrade/rust/on_gain(mob/user, datum/antagonist/heretic/our_heretic) . = ..() @@ -227,6 +195,7 @@ spell_to_add = /datum/action/cooldown/spell/cone/staggered/entropic_plume cost = 1 route = PATH_RUST + depth = 10 /datum/heretic_knowledge/spell/entropic_plume/on_gain(mob/user) . = ..() @@ -243,6 +212,7 @@ gain_text = "Champion of rust. Corruptor of steel. Fear the dark, for the RUSTBRINGER has come! \ The Blacksmith forges ahead! Rusted Hills, CALL MY NAME! WITNESS MY ASCENSION!" route = PATH_RUST + ascension_achievement = /datum/award/achievement/misc/rust_ascension /// If TRUE, then immunities are currently active. var/immunities_active = FALSE /// A typepath to an area that we must finish the ritual in. @@ -288,7 +258,7 @@ text = "[generate_heretic_text()] Fear the decay, for the Rustbringer, [user.real_name] has ascended! None shall escape the corrosion! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_rust.ogg', - color_override = "pink", + color_override = "brown", ) trigger(loc) RegisterSignal(user, COMSIG_MOVABLE_MOVED, PROC_REF(on_move)) diff --git a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm index 1d2be465b3026..8da3b90494899 100644 --- a/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm +++ b/code/modules/antagonists/heretic/knowledge/sacrifice_knowledge/sacrifice_knowledge.dm @@ -16,6 +16,9 @@ cost = 0 priority = MAX_KNOWLEDGE_PRIORITY // Should be at the top route = PATH_START + research_tree_icon_path = 'icons/effects/eldritch.dmi' + research_tree_icon_state = "eye_close" + research_tree_icon_frame = 1 /// How many targets do we generate? var/num_targets_to_generate = 5 /// Whether we've generated a heretic sacrifice z-level yet, from any heretic. @@ -80,8 +83,11 @@ // If we have targets, we can check to see if we can do a sacrifice // Let's remove any humans in our atoms list that aren't a sac target for(var/mob/living/carbon/human/sacrifice in atoms) - // If the mob's not in soft crit or worse, or isn't one of the sacrifices, remove it from the list - if(sacrifice.stat < SOFT_CRIT || !(sacrifice in heretic_datum.sac_targets)) + // If the mob's not in soft crit or worse, remove from list + if(sacrifice.stat < SOFT_CRIT) + atoms -= sacrifice + // Otherwise if it's neither a target nor a cultist, remove it + else if(!(sacrifice in heretic_datum.sac_targets) && !IS_CULTIST(sacrifice)) atoms -= sacrifice // Finally, return TRUE if we have a target in the list @@ -94,7 +100,9 @@ /datum/heretic_knowledge/hunt_and_sacrifice/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) - if(!LAZYLEN(heretic_datum.sac_targets)) + // Force it to work if the sacrifice is a cultist, even if there's no targets. + var/mob/living/carbon/human/sac = selected_atoms[1] + if(!LAZYLEN(heretic_datum.sac_targets) && !IS_CULTIST(sac)) if(obtain_targets(user, heretic_datum = heretic_datum)) return TRUE else @@ -183,34 +191,128 @@ * * selected_atoms - a list of all atoms chosen. Should be (at least) one human. * * loc - the turf the sacrifice is occuring on */ -/datum/heretic_knowledge/hunt_and_sacrifice/proc/sacrifice_process(mob/living/user, list/selected_atoms) +/datum/heretic_knowledge/hunt_and_sacrifice/proc/sacrifice_process(mob/living/user, list/selected_atoms, turf/loc) var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) var/mob/living/carbon/human/sacrifice = locate() in selected_atoms if(!sacrifice) CRASH("[type] sacrifice_process didn't have a human in the atoms list. How'd it make it so far?") - if(!(sacrifice in heretic_datum.sac_targets)) - CRASH("[type] sacrifice_process managed to get a non-target human. This is incorrect.") + if(!(sacrifice in heretic_datum.sac_targets) && !IS_CULTIST(sacrifice)) + CRASH("[type] sacrifice_process managed to get a non-target, non-cult human. This is incorrect.") if(sacrifice.mind) LAZYADD(target_blacklist, sacrifice.mind) heretic_datum.remove_sacrifice_target(sacrifice) + var/feedback = "Your patrons accept your offer" var/sac_job_flag = sacrifice.mind?.assigned_role?.job_flags | sacrifice.last_mind?.assigned_role?.job_flags - if(sac_job_flag & JOB_HEAD_OF_STAFF) - heretic_datum.knowledge_points++ + var/datum/antagonist/cult/cultist_datum = IS_CULTIST(sacrifice) + // Heads give 3 points, cultists give 1 point (and a special reward), normal sacrifices give 2 points. + heretic_datum.total_sacrifices++ + if((sac_job_flag & JOB_HEAD_OF_STAFF)) + heretic_datum.knowledge_points += 3 heretic_datum.high_value_sacrifices++ feedback += " graciously" + else if(cultist_datum) + heretic_datum.knowledge_points += 1 + grant_reward(user, sacrifice, loc) + // easier to read + var/rewards_given = heretic_datum.rewards_given + // Chance for it to send a warning to cultists, higher with each reward. Stops after 5 because they probably got the hint by then. + if(prob(min(15 * rewards_given)) && (rewards_given <= 5)) + for(var/datum/mind/mind as anything in cultist_datum.cult_team.members) + if(mind.current) + SEND_SOUND(mind.current, 'sound/magic/clockwork/narsie_attack.ogg') + var/message = span_narsie("A vile heretic has ") + \ + span_cult_large(span_hypnophrase("sacrificed")) + \ + span_narsie(" one of our own. Destroy and sacrifice the infidel before it claims more!") + to_chat(mind.current, message) + // he(retic) gets a warn too + var/message = span_cult_bold("You feel that your action has attracted") + \ + span_cult_bold_italic(" attention.") + to_chat(user, message) + return + else + heretic_datum.knowledge_points += 2 to_chat(user, span_hypnophrase("[feedback].")) - heretic_datum.total_sacrifices++ - heretic_datum.knowledge_points += 2 + if(!begin_sacrifice(sacrifice)) + disembowel_target(sacrifice) + return sacrifice.apply_status_effect(/datum/status_effect/heretic_curse, user) - if(!begin_sacrifice(sacrifice)) - disembowel_target(sacrifice) + +/datum/heretic_knowledge/hunt_and_sacrifice/proc/grant_reward(mob/living/user, mob/living/sacrifice, turf/loc) + + // Visible and audible encouragement! + to_chat(user, span_big(span_hypnophrase("A servant of the Sanguine Apostate!"))) + to_chat(user, span_hierophant("Your patrons are rapturous!")) + playsound(sacrifice, 'sound/magic/disintegrate.ogg', 75, TRUE) + + // Drop all items and splatter them around messily. + var/list/dustee_items = sacrifice.unequip_everything() + for(var/obj/item/loot as anything in dustee_items) + loot.throw_at(get_step_rand(sacrifice), 2, 4, user, TRUE) + + // The loser is DUSTED. + sacrifice.dust(TRUE, TRUE) + + // Increase reward counter + var/datum/antagonist/heretic/antag = IS_HERETIC(user) + antag.rewards_given++ + + // We limit the amount so the heretic doesn't just turn into a frickin' god (early) + to_chat(user, span_hierophant("You feel the rotten energies of the infidel warp and twist, mixing with that of your own...")) + if(prob(8 * antag.rewards_given)) + to_chat(user, span_hierophant("Faint, dark red sparks flit around the dust, then fade. It looks like your patrons weren't able to fashion something out of it.")) + return + + // Cool effect for the rune as well as the item + var/obj/effect/heretic_rune/rune = locate() in range(2, user) + if(rune) + rune.gender_reveal( + outline_color = COLOR_CULT_RED, + ray_color = null, + do_float = FALSE, + do_layer = FALSE, + ) + + addtimer(CALLBACK(src, PROC_REF(deposit_reward), user, loc, null, rune), 5 SECONDS) + + +/datum/heretic_knowledge/hunt_and_sacrifice/proc/deposit_reward(mob/user, turf/loc, loop = 0, obj/rune) + if(loop > 5) // Max limit for retrying a reward + return + // Remove the rays, we don't need them anymore. + rune?.remove_filter("reward_outline") + playsound(loc, 'sound/magic/repulse.ogg', 75, TRUE) + var/datum/antagonist/heretic/heretic_datum = IS_HERETIC(user) + ASSERT(heretic_datum) + // This list will be almost identical to unlocked_heretic_items, with the same keys, the difference being the values will be 1 to 5. + var/list/rewards = heretic_datum.unlocked_heretic_items.Copy() + // We will make it increasingly less likely to get a reward if you've already got it + for(var/possible_reward in heretic_datum.unlocked_heretic_items) + var/amount_already_awarded = heretic_datum.unlocked_heretic_items[possible_reward] + rewards[possible_reward] = min(5 - (amount_already_awarded * 2), 1) + + var/atom/reward = pick_weight(rewards) + reward = new reward(loc) + + if(isliving(reward)) + if(summon_ritual_mob(user, loc, reward) == FALSE) + qdel(reward) + deposit_reward(user, loc, loop++, rune) // If no ghosts, try again until limit is hit + return + + else if(isitem(reward)) + var/obj/item/item_reward = reward + item_reward.gender_reveal(outline_color = null, ray_color = COLOR_CULT_RED) + + ASSERT(reward) + + return reward /** * This proc is called from [proc/sacrifice_process] after the heretic successfully sacrifices [sac_target].) diff --git a/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm b/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm index f933bbfda1d26..758ee0548d5fc 100644 --- a/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm +++ b/code/modules/antagonists/heretic/knowledge/side_ash_moon.dm @@ -16,6 +16,9 @@ result_atoms = list(/obj/item/clothing/neck/eldritch_amulet) cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/obj/antags/eldritch.dmi' + research_tree_icon_state = "eye_medalion" + depth = 4 /datum/heretic_knowledge/curse/paralysis name = "Curse of Paralysis" @@ -37,6 +40,9 @@ curse_color = "#f19a9a" cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "curse_paralysis" + depth = 8 /datum/heretic_knowledge/curse/paralysis/curse(mob/living/carbon/human/chosen_mob, boosted = FALSE) if(chosen_mob.usable_legs <= 0) // What're you gonna do, curse someone who already can't walk? @@ -75,6 +81,7 @@ cost = 1 route = PATH_SIDE poll_ignore_define = POLL_IGNORE_ASH_SPIRIT + depth = 10 /datum/heretic_knowledge/summon/ashy/cleanup_atoms(list/selected_atoms) var/obj/item/bodypart/head/ritual_head = locate() in selected_atoms diff --git a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm index e8c14d16abeca..3a0f17ed48391 100644 --- a/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm +++ b/code/modules/antagonists/heretic/knowledge/side_blade_rust.dm @@ -16,11 +16,15 @@ result_atoms = list(/obj/item/clothing/suit/hooded/cultrobes/eldritch) cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/obj/clothing/suits/armor.dmi' + research_tree_icon_state = "eldritch_armor" + research_tree_icon_frame = 12 + depth = 4 /datum/heretic_knowledge/crucible name = "Mawed Crucible" desc = "Allows you to transmute a portable water tank and a table to create a Mawed Crucible. \ - The Mawed Crubile can brew powerful potions for combat and utility, but must be fed bodyparts and organs between uses." + The Mawed Crucible can brew powerful potions for combat and utility, but must be fed bodyparts and organs between uses." gain_text = "This is pure agony. I wasn't able to summon the figure of the Aristocrat, \ but with the Priest's attention I stumbled upon a different recipe..." next_knowledge = list( @@ -34,6 +38,9 @@ result_atoms = list(/obj/structure/destructible/eldritch_crucible) cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/obj/antags/eldritch.dmi' + research_tree_icon_state = "crucible" + depth = 8 /datum/heretic_knowledge/rifle name = "Lionhunter's Rifle" @@ -43,7 +50,7 @@ These shots function as normal, albeit weak high caliber mutitions when fired from \ close range or at inanimate objects. You can aim the rifle at distant foes, \ causing the shot to deal massively increased damage and hone in on them." - gain_text = "I met an old man in an anique shop who wielded a very unusual weapon. \ + gain_text = "I met an old man in an antique shop who wielded a very unusual weapon. \ I could not purchase it at the time, but they showed me how they made it ages ago." next_knowledge = list( /datum/heretic_knowledge/duel_stance, @@ -59,9 +66,12 @@ result_atoms = list(/obj/item/gun/ballistic/rifle/lionhunter) cost = 1 route = PATH_SIDE + depth = 8 + research_tree_icon_path = 'icons/obj/weapons/guns/ballistic.dmi' + research_tree_icon_state = "goldrevolver" /datum/heretic_knowledge/rifle_ammo - name = "Lionhunter Rifle Ammunition (free)" + name = "Lionhunter Rifle Ammunition" desc = "Allows you to transmute 3 ballistic ammo casings (used or unused) of any caliber, \ including shotgun shot, with any animal hide to create an extra clip of ammunition for the Lionhunter Rifle." gain_text = "The weapon came with three rough iron balls, intended to be used as ammunition. \ @@ -74,6 +84,9 @@ result_atoms = list(/obj/item/ammo_box/strilka310/lionhunter) cost = 0 route = PATH_SIDE + research_tree_icon_path = 'icons/obj/weapons/guns/ammo.dmi' + research_tree_icon_state = "310_strip" + depth = 8 /// A list of calibers that the ritual will deny. Only ballistic calibers are allowed. var/static/list/caliber_blacklist = list( CALIBER_LASER, @@ -107,3 +120,4 @@ spell_to_add = /datum/action/cooldown/mob_cooldown/charge/rust cost = 1 route = PATH_SIDE + depth = 10 diff --git a/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm b/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm index 14a003ce11c0b..1a08236aee64d 100644 --- a/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm +++ b/code/modules/antagonists/heretic/knowledge/side_cosmos_ash.dm @@ -19,6 +19,8 @@ cost = 1 route = PATH_SIDE poll_ignore_define = POLL_IGNORE_FIRE_SHARK + depth = 4 + research_tree_icon_dir = EAST /datum/heretic_knowledge/spell/space_phase name = "Space Phase" @@ -32,6 +34,8 @@ spell_to_add = /datum/action/cooldown/spell/jaunt/space_crawl cost = 1 route = PATH_SIDE + depth = 8 + research_tree_icon_frame = 6 /datum/heretic_knowledge/eldritch_coin name = "Eldritch Coin" @@ -51,3 +55,6 @@ result_atoms = list(/obj/item/coin/eldritch) cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/obj/economy.dmi' + research_tree_icon_state = "coin_heretic" + depth = 10 diff --git a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm index 4a315575d61b7..a958ab3f272bb 100644 --- a/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm +++ b/code/modules/antagonists/heretic/knowledge/side_flesh_void.dm @@ -19,6 +19,9 @@ result_atoms = list(/obj/item/clothing/suit/hooded/cultrobes/void) cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/obj/clothing/suits/armor.dmi' + research_tree_icon_state = "void_cloak" + depth = 4 /datum/heretic_knowledge/spell/blood_siphon name = "Blood Siphon" @@ -32,6 +35,7 @@ spell_to_add = /datum/action/cooldown/spell/pointed/blood_siphon cost = 1 route = PATH_SIDE + depth = 8 /datum/heretic_knowledge/spell/cleave name = "Blood Cleave" @@ -46,3 +50,4 @@ spell_to_add = /datum/action/cooldown/spell/pointed/cleave cost = 1 route = PATH_SIDE + depth = 10 diff --git a/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm b/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm index 74013f2b0bd1d..706b83abac7b3 100644 --- a/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm +++ b/code/modules/antagonists/heretic/knowledge/side_lock_flesh.dm @@ -12,6 +12,7 @@ spell_to_add = /datum/action/cooldown/spell/aoe/wave_of_desperation cost = 1 route = PATH_SIDE + depth = 8 /datum/heretic_knowledge/spell/apetra_vulnera name = "Apetra Vulnera" @@ -26,3 +27,4 @@ spell_to_add = /datum/action/cooldown/spell/pointed/apetra_vulnera cost = 1 route = PATH_SIDE + depth = 10 diff --git a/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm b/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm index ac56b9ba24006..1e265b974980f 100644 --- a/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm +++ b/code/modules/antagonists/heretic/knowledge/side_lock_moon.dm @@ -13,6 +13,7 @@ spell_to_add = /datum/action/cooldown/spell/pointed/mind_gate cost = 1 route = PATH_SIDE + depth = 4 /datum/heretic_knowledge/unfathomable_curio name = "Unfathomable Curio" @@ -33,6 +34,9 @@ result_atoms = list(/obj/item/storage/belt/unfathomable_curio) cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/obj/clothing/belts.dmi' + research_tree_icon_state = "unfathomable_curio" + depth = 8 /datum/heretic_knowledge/painting name = "Unsealed Arts" @@ -53,6 +57,9 @@ result_atoms = list(/obj/item/canvas) cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/obj/signs.dmi' + research_tree_icon_state = "eldritch_painting_weeping" + depth = 8 /datum/heretic_knowledge/painting/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) if(locate(/obj/item/organ/internal/eyes) in atoms) diff --git a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm index 56999243b5de3..11918c66a2906 100644 --- a/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm +++ b/code/modules/antagonists/heretic/knowledge/side_rust_cosmos.dm @@ -17,6 +17,9 @@ result_atoms = list(/obj/item/reagent_containers/cup/beaker/eldritch) cost = 1 route = PATH_SIDE + depth = 4 + research_tree_icon_path = 'icons/obj/antags/eldritch.dmi' + research_tree_icon_state = "eldritch_flask" /datum/heretic_knowledge/entropy_pulse name = "Pulse of Entropy" @@ -28,6 +31,10 @@ ) cost = 0 route = PATH_SIDE + research_tree_icon_path = 'icons/mob/actions/actions_ecult.dmi' + research_tree_icon_state = "corrode" + research_tree_icon_frame = 10 + depth = 4 var/rusting_range = 8 /datum/heretic_knowledge/entropy_pulse/on_finished_recipe(mob/living/user, list/selected_atoms, turf/loc) @@ -60,6 +67,9 @@ curse_color = "#c1ffc9" cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "curse_corrosion" + depth = 8 /datum/heretic_knowledge/curse/corrosion/curse(mob/living/carbon/human/chosen_mob, boosted = FALSE) to_chat(chosen_mob, span_danger("You feel very ill...")) @@ -92,6 +102,7 @@ cost = 1 route = PATH_SIDE poll_ignore_define = POLL_IGNORE_RUST_SPIRIT + depth = 8 /datum/heretic_knowledge/summon/rusty/cleanup_atoms(list/selected_atoms) var/obj/item/bodypart/head/ritual_head = locate() in selected_atoms diff --git a/code/modules/antagonists/heretic/knowledge/side_void_blade.dm b/code/modules/antagonists/heretic/knowledge/side_void_blade.dm index e044eee8619ef..56945262e3cb0 100644 --- a/code/modules/antagonists/heretic/knowledge/side_void_blade.dm +++ b/code/modules/antagonists/heretic/knowledge/side_void_blade.dm @@ -23,6 +23,9 @@ limit = 1 cost = 1 route = PATH_SIDE + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "ghoul_shattered" + depth = 4 /datum/heretic_knowledge/limited_amount/risen_corpse/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) . = ..() @@ -139,6 +142,9 @@ result_atoms = list(/obj/item/melee/rune_carver) cost = 1 route = PATH_SIDE + depth = 8 + research_tree_icon_path = 'icons/obj/antags/eldritch.dmi' + research_tree_icon_state = "rune_carver" /datum/heretic_knowledge/summon/maid_in_mirror name = "Maid in the Mirror" @@ -162,3 +168,4 @@ route = PATH_SIDE mob_to_summon = /mob/living/basic/heretic_summon/maid_in_the_mirror poll_ignore_define = POLL_IGNORE_MAID_IN_MIRROR + depth = 10 diff --git a/code/modules/antagonists/heretic/knowledge/starting_lore.dm b/code/modules/antagonists/heretic/knowledge/starting_lore.dm index 50b57fd9e96b4..0a93659884a14 100644 --- a/code/modules/antagonists/heretic/knowledge/starting_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/starting_lore.dm @@ -1,4 +1,5 @@ // Heretic starting knowledge. +// Default heretic language is Ancient Greek, because, uh, they're like ancient and shit. /// Global list of all heretic knowledge that have route = PATH_START. List of PATHS. GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) @@ -48,6 +49,9 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) cost = 0 priority = MAX_KNOWLEDGE_PRIORITY - 1 // Knowing how to remake your heart is important route = PATH_START + research_tree_icon_path = 'icons/obj/antags/eldritch.dmi' + research_tree_icon_state = "living_heart" + research_tree_icon_frame = 1 /// The typepath of the organ type required for our heart. var/required_organ_type = /obj/item/organ/internal/heart @@ -204,6 +208,8 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) cost = 0 priority = MAX_KNOWLEDGE_PRIORITY - 2 // Not as important as making a heart or sacrificing, but important enough. route = PATH_START + research_tree_icon_path = 'icons/obj/clothing/neck.dmi' + research_tree_icon_state = "eldritch_necklace" /datum/heretic_knowledge/spell/cloak_of_shadows name = "Cloak of Shadow" @@ -238,6 +244,8 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) route = PATH_START priority = MAX_KNOWLEDGE_PRIORITY - 3 // Least priority out of the starting knowledges, as it's an optional boon. var/static/list/non_mob_bindings = typecacheof(list(/obj/item/stack/sheet/leather, /obj/item/stack/sheet/animalhide)) + research_tree_icon_path = 'icons/obj/antags/eldritch.dmi' + research_tree_icon_state = "book" /datum/heretic_knowledge/codex_cicatrix/parse_required_item(atom/item_path, number_of_things) if(item_path == /obj/item/pen) @@ -300,6 +308,8 @@ GLOBAL_LIST_INIT(heretic_start_knowledge, initialize_starting_knowledge()) gain_text = "Under the soft glow of unreason there is a beast that stalks the night. I shall bring it forth and let it enter my presence. It will feast upon my amibitions and leave knowledge in its wake." route = PATH_START required_atoms = list() + research_tree_icon_path = 'icons/mob/actions/actions_animal.dmi' + research_tree_icon_state = "god_transmit" /datum/heretic_knowledge/feast_of_owls/can_be_invoked(datum/antagonist/heretic/invoker) return !invoker.feast_of_owls diff --git a/code/modules/antagonists/heretic/knowledge/void_lore.dm b/code/modules/antagonists/heretic/knowledge/void_lore.dm index da1864f87dbc5..482de8184401b 100644 --- a/code/modules/antagonists/heretic/knowledge/void_lore.dm +++ b/code/modules/antagonists/heretic/knowledge/void_lore.dm @@ -1,5 +1,7 @@ /** * # The path of VOID. + * Spell names are in this language: PALI + * Both are related: Pali-Buddhism-Nothingness-Void * * Goes as follows: * @@ -37,6 +39,8 @@ required_atoms = list(/obj/item/knife = 1) result_atoms = list(/obj/item/melee/sickly_blade/void) route = PATH_VOID + research_tree_icon_path = 'icons/obj/weapons/khopesh.dmi' + research_tree_icon_state = "void_blade" /datum/heretic_knowledge/limited_amount/starting/base_void/recipe_snowflake_check(mob/living/user, list/atoms, list/selected_atoms, turf/loc) if(!isopenturf(loc)) @@ -58,6 +62,9 @@ next_knowledge = list(/datum/heretic_knowledge/cold_snap) cost = 1 route = PATH_VOID + depth = 3 + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "grasp_void" /datum/heretic_knowledge/void_grasp/on_gain(mob/user, datum/antagonist/heretic/our_heretic) RegisterSignal(user, COMSIG_HERETIC_MANSUS_GRASP_ATTACK, PROC_REF(on_mansus_grasp)) @@ -88,6 +95,9 @@ ) cost = 1 route = PATH_VOID + research_tree_icon_path = 'icons/effects/effects.dmi' + research_tree_icon_state = "the_freezer" + depth = 4 /datum/heretic_knowledge/cold_snap/on_gain(mob/user, datum/antagonist/heretic/our_heretic) user.add_traits(list(TRAIT_NOBREATH, TRAIT_RESISTCOLD), type) @@ -119,6 +129,7 @@ spell_to_add = /datum/action/cooldown/spell/cone/staggered/cone_of_cold/void cost = 1 route = PATH_VOID + depth = 7 /datum/heretic_knowledge/spell/void_phase name = "Void Phase" @@ -135,6 +146,8 @@ spell_to_add = /datum/action/cooldown/spell/pointed/void_phase cost = 1 route = PATH_VOID + depth = 8 + research_tree_icon_frame = 7 /datum/heretic_knowledge/blade_upgrade/void name = "Seeking Blade" @@ -142,6 +155,8 @@ gain_text = "Fleeting memories, fleeting feet. I mark my way with frozen blood upon the snow. Covered and forgotten." next_knowledge = list(/datum/heretic_knowledge/spell/void_pull) route = PATH_VOID + research_tree_icon_path = 'icons/ui_icons/antags/heretic/knowledge.dmi' + research_tree_icon_state = "blade_upgrade_void" /datum/heretic_knowledge/blade_upgrade/void/do_ranged_effects(mob/living/user, mob/living/target, obj/item/melee/sickly_blade/blade) if(!target.has_status_effect(/datum/status_effect/eldritch)) @@ -168,6 +183,8 @@ spell_to_add = /datum/action/cooldown/spell/aoe/void_pull cost = 1 route = PATH_VOID + depth = 10 + research_tree_icon_frame = 6 /datum/heretic_knowledge/ultimate/void_final name = "Waltz at the End of Time" @@ -180,6 +197,7 @@ The Aristocrat stands before me, beckoning. We will play a waltz to the whispers of dying reality, \ as the world is destroyed before our eyes. The void will return all to nothing, WITNESS MY ASCENSION!" route = PATH_VOID + ascension_achievement = /datum/award/achievement/misc/void_ascension ///soundloop for the void theme var/datum/looping_sound/void_loop/sound_loop ///Reference to the ongoing voidstrom that surrounds the heretic @@ -203,9 +221,8 @@ text = "[generate_heretic_text()] The nobleman of void [user.real_name] has arrived, stepping along the Waltz that ends worlds! [generate_heretic_text()]", title = "[generate_heretic_text()]", sound = 'sound/ambience/antag/heretic/ascend_void.ogg', - color_override = "pink", + color_override = "blue", ) - user.client?.give_award(/datum/award/achievement/misc/void_ascension, user) ADD_TRAIT(user, TRAIT_RESISTLOWPRESSURE, MAGIC_TRAIT) // Let's get this show on the road! diff --git a/code/modules/antagonists/heretic/magic/aggressive_spread.dm b/code/modules/antagonists/heretic/magic/aggressive_spread.dm index fedc30193ed48..0c14550f0b269 100644 --- a/code/modules/antagonists/heretic/magic/aggressive_spread.dm +++ b/code/modules/antagonists/heretic/magic/aggressive_spread.dm @@ -10,14 +10,23 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "A'GRSV SPR'D" - invocation_type = INVOCATION_WHISPER + invocation = "Agresiv'noe rasprostra-neniye!" + invocation_type = INVOCATION_SHOUT spell_requirements = NONE aoe_radius = 2 /datum/action/cooldown/spell/aoe/rust_conversion/get_things_to_cast_on(atom/center) - return RANGE_TURFS(aoe_radius, center) + + var/list/things_to_convert = RANGE_TURFS(aoe_radius, center) + + // Also converts things right next to you. + for(var/atom/movable/nearby_movable in view(1, center)) + if(nearby_movable == owner || !isstructure(nearby_movable) ) + continue + things_to_convert += nearby_movable + + return things_to_convert /datum/action/cooldown/spell/aoe/rust_conversion/cast_on_thing_in_aoe(turf/victim, mob/living/caster) // We have less chance of rusting stuff that's further @@ -27,9 +36,11 @@ if(prob(chance_of_not_rusting)) return - caster.do_rust_heretic_act(victim) + if(ismob(caster)) + caster.do_rust_heretic_act(victim) + else + victim.rust_heretic_act() -/datum/action/cooldown/spell/aoe/rust_conversion/small - name = "Rust Conversion" - desc = "Spreads rust onto nearby surfaces." - aoe_radius = 2 +/datum/action/cooldown/spell/aoe/rust_conversion/construct + name = "Construct Spread" + cooldown_time = 15 SECONDS diff --git a/code/modules/antagonists/heretic/magic/apetravulnera.dm b/code/modules/antagonists/heretic/magic/apetravulnera.dm index e80d08911848c..eedef71f4b6c8 100644 --- a/code/modules/antagonists/heretic/magic/apetravulnera.dm +++ b/code/modules/antagonists/heretic/magic/apetravulnera.dm @@ -10,8 +10,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS - invocation = "AP'TRA VULN'RA!" - invocation_type = INVOCATION_WHISPER + invocation = "Shea' shen-eh!" + invocation_type = INVOCATION_SHOUT spell_requirements = NONE cast_range = 4 diff --git a/code/modules/antagonists/heretic/magic/ash_ascension.dm b/code/modules/antagonists/heretic/magic/ash_ascension.dm index 0d8ca8da4f1c6..70422a7c48a37 100644 --- a/code/modules/antagonists/heretic/magic/ash_ascension.dm +++ b/code/modules/antagonists/heretic/magic/ash_ascension.dm @@ -10,7 +10,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 70 SECONDS - invocation = "FL'MS" + invocation = "EID'R-ELDR!!!" invocation_type = INVOCATION_WHISPER spell_requirements = NONE @@ -72,8 +72,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "C'SC'DE" - invocation_type = INVOCATION_WHISPER + invocation = "ILLA-LASARA'FOSS!!!" + invocation_type = INVOCATION_SHOUT spell_requirements = NONE /// The radius the flames will go around the caster. @@ -112,7 +112,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 300 - invocation = "F'RE" + invocation = "Eld'sky!" invocation_type = INVOCATION_WHISPER spell_requirements = NONE @@ -129,16 +129,17 @@ INVOKE_ASYNC(src, PROC_REF(fire_line), owner, line_target(offset, flame_line_length, target, owner)) /datum/action/cooldown/spell/pointed/ash_beams/proc/line_target(offset, range, atom/at, atom/user) + var/turf/user_loc = get_turf(user) if(!at) return - var/angle = ATAN2(at.x - user.x, at.y - user.y) + offset + var/angle = ATAN2(at.x - user_loc.x, at.y - user_loc.y) + offset var/turf/T = get_turf(user) for(var/i in 1 to range) - var/turf/check = locate(user.x + cos(angle) * i, user.y + sin(angle) * i, user.z) + var/turf/check = locate(user_loc.x + cos(angle) * i, user_loc.y + sin(angle) * i, user_loc.z) if(!check) break T = check - return (get_line(user, T) - get_turf(user)) + return (get_line(user_loc, T) - user_loc) /datum/action/cooldown/spell/pointed/ash_beams/proc/fire_line(atom/source, list/turfs) var/list/hit_list = list() diff --git a/code/modules/antagonists/heretic/magic/ash_jaunt.dm b/code/modules/antagonists/heretic/magic/ash_jaunt.dm index 41242063a9098..4f8c59d635145 100644 --- a/code/modules/antagonists/heretic/magic/ash_jaunt.dm +++ b/code/modules/antagonists/heretic/magic/ash_jaunt.dm @@ -10,7 +10,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS - invocation = "ASH'N P'SSG'" + invocation = "Askgraar' goetur!" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/blood_cleave.dm b/code/modules/antagonists/heretic/magic/blood_cleave.dm index d5317f23e344b..b3370a3ccc614 100644 --- a/code/modules/antagonists/heretic/magic/blood_cleave.dm +++ b/code/modules/antagonists/heretic/magic/blood_cleave.dm @@ -10,7 +10,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS - invocation = "CL'VE!" + invocation = "Fer're!" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/blood_siphon.dm b/code/modules/antagonists/heretic/magic/blood_siphon.dm index 1e3d6258826d4..6280353a072a5 100644 --- a/code/modules/antagonists/heretic/magic/blood_siphon.dm +++ b/code/modules/antagonists/heretic/magic/blood_siphon.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS - invocation = "FL'MS O'ET'RN'ITY." + invocation = "Sanguis suctio!" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/burglar_finesse.dm b/code/modules/antagonists/heretic/magic/burglar_finesse.dm index 7bb6960354ec7..c5264119bb48e 100644 --- a/code/modules/antagonists/heretic/magic/burglar_finesse.dm +++ b/code/modules/antagonists/heretic/magic/burglar_finesse.dm @@ -9,7 +9,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 40 SECONDS - invocation = "Y'O'K!" + invocation = "Khenem" invocation_type = INVOCATION_WHISPER spell_requirements = NONE @@ -26,7 +26,7 @@ return FALSE var/obj/storage_item = locate(/obj/item/storage/backpack) in cast_on.contents - + if(isnull(storage_item)) return FALSE diff --git a/code/modules/antagonists/heretic/magic/cosmic_expansion.dm b/code/modules/antagonists/heretic/magic/cosmic_expansion.dm index 3fb197d392cb0..6869dc0df51c0 100644 --- a/code/modules/antagonists/heretic/magic/cosmic_expansion.dm +++ b/code/modules/antagonists/heretic/magic/cosmic_expansion.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS - invocation = "C'SM'S 'XP'ND" + invocation = "An'gar baltil!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/cosmic_runes.dm b/code/modules/antagonists/heretic/magic/cosmic_runes.dm index 207b60ae9393a..e07aa4fbe8b8a 100644 --- a/code/modules/antagonists/heretic/magic/cosmic_runes.dm +++ b/code/modules/antagonists/heretic/magic/cosmic_runes.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS - invocation = "ST'R R'N'" + invocation = "Is'zara-runen" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/eldritch_blind.dm b/code/modules/antagonists/heretic/magic/eldritch_blind.dm index 8df20503821b0..413ff4fe67810 100644 --- a/code/modules/antagonists/heretic/magic/eldritch_blind.dm +++ b/code/modules/antagonists/heretic/magic/eldritch_blind.dm @@ -5,7 +5,7 @@ overlay_icon_state = "bg_heretic_border" school = SCHOOL_FORBIDDEN - invocation = "E'E'S" + invocation = "Caecus" spell_requirements = NONE cast_range = 10 diff --git a/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm b/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm index c68ed07c81f8c..4028f80f84cea 100644 --- a/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm +++ b/code/modules/antagonists/heretic/magic/eldritch_emplosion.dm @@ -8,7 +8,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "E'P" + invocation = "Pulsus Energiae" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm b/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm index e598f1f9215b9..bde032a3b39fd 100644 --- a/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm +++ b/code/modules/antagonists/heretic/magic/eldritch_shapeshift.dm @@ -7,7 +7,7 @@ overlay_icon_state = "bg_heretic_border" school = SCHOOL_FORBIDDEN - invocation = "SH'PE" + invocation = "Forma" invocation_type = INVOCATION_WHISPER spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/fire_blast.dm b/code/modules/antagonists/heretic/magic/fire_blast.dm index f76a1f18d1757..8c6d632be9f2d 100644 --- a/code/modules/antagonists/heretic/magic/fire_blast.dm +++ b/code/modules/antagonists/heretic/magic/fire_blast.dm @@ -12,7 +12,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 45 SECONDS - invocation = "V'LC'N!" + invocation = "Eld'fjall!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE channel_time = 5 SECONDS @@ -23,8 +23,8 @@ var/beam_duration = 2 SECONDS /datum/action/cooldown/spell/charged/beam/fire_blast/cast(atom/cast_on) - if(isliving(cast_on)) - var/mob/living/caster = cast_on + var/mob/living/caster = get_caster_from_target(cast_on) + if(istype(caster)) // Caster becomes fireblasted, but in a good way - heals damage over time caster.apply_status_effect(/datum/status_effect/fire_blasted, beam_duration, -2) return ..() diff --git a/code/modules/antagonists/heretic/magic/flesh_ascension.dm b/code/modules/antagonists/heretic/magic/flesh_ascension.dm index a2d792080e058..add0704a8d61a 100644 --- a/code/modules/antagonists/heretic/magic/flesh_ascension.dm +++ b/code/modules/antagonists/heretic/magic/flesh_ascension.dm @@ -9,7 +9,7 @@ school = SCHOOL_FORBIDDEN - invocation = "REALITY UNCOIL!" + invocation = "REALITAS EXSERPAT!!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/flesh_surgery.dm b/code/modules/antagonists/heretic/magic/flesh_surgery.dm index 2ca256419efca..96ccb8450f97b 100644 --- a/code/modules/antagonists/heretic/magic/flesh_surgery.dm +++ b/code/modules/antagonists/heretic/magic/flesh_surgery.dm @@ -11,8 +11,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "CL'M M'N!" // "CLAIM MINE", but also almost "KALI MA" - invocation_type = INVOCATION_SHOUT + invocation = "Carnis chirurgia" + invocation_type = INVOCATION_WHISPER spell_requirements = NONE hand_path = /obj/item/melee/touch_attack/flesh_surgery diff --git a/code/modules/antagonists/heretic/magic/furious_steel.dm b/code/modules/antagonists/heretic/magic/furious_steel.dm index 15648a9b4d34d..36c7c07608bcb 100644 --- a/code/modules/antagonists/heretic/magic/furious_steel.dm +++ b/code/modules/antagonists/heretic/magic/furious_steel.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 60 SECONDS - invocation = "F'LSH'NG S'LV'R!" + invocation = "Ham'sana-qasep!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE @@ -67,7 +67,7 @@ QDEL_NULL(blade_effect) var/mob/living/living_user = on_who - blade_effect = living_user.apply_status_effect(/datum/status_effect/protective_blades, null, projectile_amount, 25, 0.66 SECONDS) + blade_effect = living_user.apply_status_effect(/datum/status_effect/protective_blades, null, projectile_amount, 25, 0.66 SECONDS, projectile_type) RegisterSignal(blade_effect, COMSIG_QDELETING, PROC_REF(on_status_effect_deleted)) /datum/action/cooldown/spell/pointed/projectile/furious_steel/on_deactivation(mob/on_who, refund_cooldown = TRUE) @@ -106,10 +106,12 @@ sharpness = SHARP_EDGED wound_bonus = 15 pass_flags = PASSTABLE | PASSFLAPS + /// Color applied as an outline filter on init + var/outline_color = "#f8f8ff" /obj/projectile/floating_blade/Initialize(mapload) . = ..() - add_filter("dio_knife", 2, list("type" = "outline", "color" = "#f8f8ff", "size" = 1)) + add_filter("dio_knife", 2, list("type" = "outline", "color" = outline_color, "size" = 1)) /obj/projectile/floating_blade/prehit_pierce(atom/hit) if(isliving(hit) && isliving(firer)) @@ -128,3 +130,40 @@ return PROJECTILE_DELETE_WITHOUT_HITTING return ..() + +/obj/projectile/floating_blade/haunted + name = "ritual blade" + icon = 'icons/obj/weapons/khopesh.dmi' + icon_state = "render" + damage = 35 + wound_bonus = 25 + outline_color = "#D7CBCA" + +/datum/action/cooldown/spell/pointed/projectile/furious_steel/solo + name = "Lesser Furious Steel" + cooldown_time = 20 SECONDS + projectile_amount = 1 + active_msg = "You summon forth a blade of furious silver." + deactive_msg = "You conceal the blade of furious silver." + +/datum/action/cooldown/spell/pointed/projectile/furious_steel/haunted + name = "Cursed Steel" + desc = "Summon two cursed blades which orbit you. \ + While orbiting you, these blades will protect you from from attacks, but will be consumed on use. \ + Additionally, you can click to fire the blades at a target, dealing damage and causing bleeding." + background_icon_state = "bg_heretic" // kept intentionally + overlay_icon_state = "bg_cult_border" + button_icon = 'icons/mob/actions/actions_ecult.dmi' + button_icon_state = "cursed_steel" + sound = 'sound/weapons/guillotine.ogg' + + cooldown_time = 40 SECONDS + invocation = "IA!" + invocation_type = INVOCATION_SHOUT + + spell_requirements = NONE + + active_msg = "You summon forth two cursed blades." + deactive_msg = "You conceal the cursed blades." + projectile_amount = 2 + projectile_type = /obj/projectile/floating_blade/haunted diff --git a/code/modules/antagonists/heretic/magic/manse_link.dm b/code/modules/antagonists/heretic/magic/manse_link.dm index 06fd4dd9863f4..e077c6db2b45f 100644 --- a/code/modules/antagonists/heretic/magic/manse_link.dm +++ b/code/modules/antagonists/heretic/magic/manse_link.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "PI'RC' TH' M'ND." + invocation = "Diaperaste' to-myalo!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE antimagic_flags = MAGIC_RESISTANCE|MAGIC_RESISTANCE_MIND diff --git a/code/modules/antagonists/heretic/magic/mansus_grasp.dm b/code/modules/antagonists/heretic/magic/mansus_grasp.dm index 4ba6aceb20093..483425f3847b5 100644 --- a/code/modules/antagonists/heretic/magic/mansus_grasp.dm +++ b/code/modules/antagonists/heretic/magic/mansus_grasp.dm @@ -10,7 +10,7 @@ school = SCHOOL_EVOCATION cooldown_time = 10 SECONDS - invocation = "R'CH T'H TR'TH!" + invocation = "Ad verum per aspera!" invocation_type = INVOCATION_SHOUT // Mimes can cast it. Chaplains can cast it. Anyone can cast it, so long as they have a hand. spell_requirements = SPELL_CASTABLE_WITHOUT_INVOCATION @@ -38,11 +38,34 @@ var/mob/living/living_hit = victim living_hit.apply_damage(10, BRUTE, wound_bonus = CANT_WOUND) - if(iscarbon(victim)) - var/mob/living/carbon/carbon_hit = victim - carbon_hit.adjust_timed_status_effect(4 SECONDS, /datum/status_effect/speech/slurring/heretic) - carbon_hit.AdjustKnockdown(5 SECONDS) - carbon_hit.adjustStaminaLoss(80) + if(!iscarbon(victim)) + return TRUE + + var/mob/living/carbon/carbon_hit = victim + + // Cultists are momentarily disoriented by the stunning aura. Enough for both parties to go 'oh shit' but only a mild combat ability. + // Cultists have an identical effect on their stun hand. The heretic's faster spell charge time is made up for by their lack of teammates. + if(IS_CULTIST(carbon_hit)) + carbon_hit.AdjustKnockdown(0.5 SECONDS) + carbon_hit.adjust_confusion_up_to(1.5 SECONDS, 3 SECONDS) + carbon_hit.adjust_dizzy_up_to(1.5 SECONDS, 3 SECONDS) + ADD_TRAIT(carbon_hit, TRAIT_NO_SIDE_KICK, REF(src)) // We don't want this to be a good stunning tool, just minor disorientation + addtimer(TRAIT_CALLBACK_REMOVE(carbon_hit, TRAIT_NO_SIDE_KICK, REF(src)), 1 SECONDS) + + var/old_color = carbon_hit.color + carbon_hit.color = COLOR_CULT_RED + animate(carbon_hit, color = old_color, time = 4 SECONDS, easing = EASE_IN) + carbon_hit.mob_light(range = 1.5, power = 2.5, color = COLOR_CULT_RED, duration = 0.5 SECONDS) + playsound(carbon_hit, 'sound/magic/curse.ogg', 50, TRUE) + + to_chat(caster, span_warning("An unholy force intervenes as you grasp [carbon_hit], absorbing most of the effects!")) + to_chat(carbon_hit, span_warning("As [caster] grasps you with eldritch forces, your blood magic absorbs most of the effects!")) + carbon_hit.balloon_alert_to_viewers("absorbed!") + return TRUE + + carbon_hit.adjust_timed_status_effect(4 SECONDS, /datum/status_effect/speech/slurring/heretic) + carbon_hit.AdjustKnockdown(5 SECONDS) + carbon_hit.adjustStaminaLoss(80) return TRUE diff --git a/code/modules/antagonists/heretic/magic/mind_gate.dm b/code/modules/antagonists/heretic/magic/mind_gate.dm index c5a6e74452a61..aa6b8ef20af4d 100644 --- a/code/modules/antagonists/heretic/magic/mind_gate.dm +++ b/code/modules/antagonists/heretic/magic/mind_gate.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "Op' 'oY 'Mi'd" + invocation = "Sha'ar ha-da'at" invocation_type = INVOCATION_WHISPER spell_requirements = NONE cast_range = 6 diff --git a/code/modules/antagonists/heretic/magic/moon_parade.dm b/code/modules/antagonists/heretic/magic/moon_parade.dm index 3b7f1d007cd6e..4919500e351de 100644 --- a/code/modules/antagonists/heretic/magic/moon_parade.dm +++ b/code/modules/antagonists/heretic/magic/moon_parade.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "L'N'R P'RAD" + invocation = "Tsiyun' levani!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/moon_ringleader.dm b/code/modules/antagonists/heretic/magic/moon_ringleader.dm index 3c0b1d2aedb52..e62c34bb990bb 100644 --- a/code/modules/antagonists/heretic/magic/moon_ringleader.dm +++ b/code/modules/antagonists/heretic/magic/moon_ringleader.dm @@ -12,7 +12,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 1 MINUTES - invocation = "R''S 'E" + invocation = "Manahel-qomem!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/moon_smile.dm b/code/modules/antagonists/heretic/magic/moon_smile.dm index 35f2d77e3e6b6..236fd257e385d 100644 --- a/code/modules/antagonists/heretic/magic/moon_smile.dm +++ b/code/modules/antagonists/heretic/magic/moon_smile.dm @@ -12,7 +12,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "Mo'N S'M'LE" + invocation = "Hiyuk-levana!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE cast_range = 6 diff --git a/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm b/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm index 4e37f5db17fed..8a9b60644b6b7 100644 --- a/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm +++ b/code/modules/antagonists/heretic/magic/nightwatcher_rebirth.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 1 MINUTES - invocation = "GL'RY T' TH' N'GHT'W'TCH'ER" + invocation = "Dyrth-a Vaktry'ggjandi" invocation_type = INVOCATION_WHISPER spell_requirements = SPELL_REQUIRES_HUMAN diff --git a/code/modules/antagonists/heretic/magic/realignment.dm b/code/modules/antagonists/heretic/magic/realignment.dm index d3ddc03fbbef3..dbce0fe0940dd 100644 --- a/code/modules/antagonists/heretic/magic/realignment.dm +++ b/code/modules/antagonists/heretic/magic/realignment.dm @@ -14,8 +14,8 @@ cooldown_reduction_per_rank = -6 SECONDS // we're not a wizard spell but we use the levelling mechanic spell_max_level = 10 // we can get up to / over a minute duration cd time - invocation = "R'S'T." - invocation_type = INVOCATION_SHOUT + invocation = "Rasut" + invocation_type = INVOCATION_WHISPER spell_requirements = NONE /datum/action/cooldown/spell/realignment/is_valid_target(atom/cast_on) diff --git a/code/modules/antagonists/heretic/magic/rust_construction.dm b/code/modules/antagonists/heretic/magic/rust_construction.dm index 130e3e06be23b..f8d6a2ff2be44 100644 --- a/code/modules/antagonists/heretic/magic/rust_construction.dm +++ b/code/modules/antagonists/heretic/magic/rust_construction.dm @@ -8,7 +8,7 @@ check_flags = AB_CHECK_INCAPACITATED|AB_CHECK_CONSCIOUS|AB_CHECK_HANDS_BLOCKED school = SCHOOL_FORBIDDEN - cooldown_time = 5 SECONDS + cooldown_time = 8 SECONDS invocation = "Someone raises a wall of rust." invocation_self_message = "You raise a wall of rust." @@ -16,15 +16,19 @@ spell_requirements = NONE cast_range = 4 - aim_assist = FALSE /// How long does the filter last on walls we make? var/filter_duration = 2 MINUTES +/** + * Overrides 'aim assist' because we always want to hit just the turf we clicked on. + */ +/datum/action/cooldown/spell/pointed/rust_construction/aim_assist(mob/living/caller, atom/target) + return get_turf(target) + /datum/action/cooldown/spell/pointed/rust_construction/is_valid_target(atom/cast_on) - if(!isfloorturf(cast_on)) - if(isturf(cast_on) && owner) - cast_on.balloon_alert(owner, "not a floor!") + if(!isturf(cast_on)) + cast_on.balloon_alert(owner, "not a wall or floor!") return FALSE if(!HAS_TRAIT(cast_on, TRAIT_RUSTY)) @@ -43,9 +47,22 @@ invocation = span_danger("[owner] drags [owner.p_their()] hand[living_owner.usable_hands == 1 ? "":"s"] upwards as a wall of rust rises out of [cast_on]!") invocation_self_message = span_notice("You drag [living_owner.usable_hands == 1 ? "a hand":"your hands"] upwards as a wall of rust rises out of [cast_on].") -/datum/action/cooldown/spell/pointed/rust_construction/cast(turf/open/cast_on) +/datum/action/cooldown/spell/pointed/rust_construction/cast(turf/cast_on) . = ..() var/rises_message = "rises out of [cast_on]" + + // If we casted at a wall we'll try to rust it. In the case of an enchanted wall it'll deconstruct it + if(isclosedturf(cast_on)) + cast_on.visible_message(span_warning("\The [cast_on] quakes as the rust causes it to crumble!")) + var/mob/living/living_owner = owner + living_owner?.do_rust_heretic_act(cast_on) + // ref transfers to floor + cast_on.Shake(shake_interval = 0.1 SECONDS, duration = 0.5 SECONDS) + // which we need to re-rust + living_owner?.do_rust_heretic_act(cast_on) + playsound(cast_on, 'sound/effects/bang.ogg', 50, vary = TRUE) + return + var/turf/closed/wall/new_wall = cast_on.place_on_top(/turf/closed/wall) if(!istype(new_wall)) return @@ -53,7 +70,8 @@ playsound(new_wall, 'sound/effects/constructform.ogg', 50, TRUE) new_wall.rust_heretic_act() new_wall.name = "\improper enchanted [new_wall.name]" - new_wall.hardness = 10 + new_wall.AddComponent(/datum/component/torn_wall) + new_wall.hardness = 60 new_wall.sheet_amount = 0 new_wall.girder_type = null @@ -61,8 +79,8 @@ // but I guess a fading filter will have to do for now as walls have 0 depth (currently) // damn though with 3/4ths walls this'll look sick just imagine it new_wall.add_filter("rust_wall", 2, list("type" = "outline", "color" = "#85be299c", "size" = 2)) - addtimer(CALLBACK(src, PROC_REF(fade_wall_filter), new_wall), filter_duration * (1/20)) - addtimer(CALLBACK(src,PROC_REF(remove_wall_filter), new_wall), filter_duration) + addtimer(CALLBACK(src, PROC_REF(fade_wall_filter), new_wall), filter_duration * 0.5) + addtimer(CALLBACK(src, PROC_REF(remove_wall_filter), new_wall), filter_duration) var/message_shown = FALSE for(var/mob/living/living_mob in cast_on) @@ -108,7 +126,7 @@ if(!rust_filter) return - animate(rust_filter, alpha = 0, time = filter_duration * (19/20)) + animate(rust_filter, alpha = 0, time = filter_duration * (9/20)) /datum/action/cooldown/spell/pointed/rust_construction/proc/remove_wall_filter(turf/closed/wall) if(QDELETED(wall)) diff --git a/code/modules/antagonists/heretic/magic/rust_wave.dm b/code/modules/antagonists/heretic/magic/rust_wave.dm index 65c5592b34e8b..7ecb3fd0ffbba 100644 --- a/code/modules/antagonists/heretic/magic/rust_wave.dm +++ b/code/modules/antagonists/heretic/magic/rust_wave.dm @@ -13,8 +13,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "'NTR'P'C PL'M'" - invocation_type = INVOCATION_WHISPER + invocation = "Entro'pichniy-plim!" + invocation_type = INVOCATION_SHOUT spell_requirements = NONE cone_levels = 5 @@ -25,7 +25,10 @@ new /obj/effect/temp_visual/dir_setting/entropic(get_step(cast_on, cast_on.dir), cast_on.dir) /datum/action/cooldown/spell/cone/staggered/entropic_plume/do_turf_cone_effect(turf/target_turf, mob/living/caster, level) - caster.do_rust_heretic_act(target_turf) + if(ismob(caster)) + caster.do_rust_heretic_act(target_turf) + else + target_turf.rust_heretic_act() /datum/action/cooldown/spell/cone/staggered/entropic_plume/do_mob_cone_effect(mob/living/victim, atom/caster, level) if(victim.can_block_magic(antimagic_flags) || IS_HERETIC_OR_MONSTER(victim) || victim == caster) @@ -75,8 +78,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 35 SECONDS - invocation = "SPR'D TH' WO'D" - invocation_type = INVOCATION_WHISPER + invocation = "Diffunde' verbum!" + invocation_type = INVOCATION_SHOUT spell_requirements = NONE projectile_type = /obj/projectile/magic/aoe/rust_wave diff --git a/code/modules/antagonists/heretic/magic/star_blast.dm b/code/modules/antagonists/heretic/magic/star_blast.dm index 3eb62b7ada814..294608a03b998 100644 --- a/code/modules/antagonists/heretic/magic/star_blast.dm +++ b/code/modules/antagonists/heretic/magic/star_blast.dm @@ -10,7 +10,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 20 SECONDS - invocation = "R'T'T' ST'R!" + invocation = "Pi-rig is'zara!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/star_touch.dm b/code/modules/antagonists/heretic/magic/star_touch.dm index 89c5d02e7d498..dff56df4e3f1f 100644 --- a/code/modules/antagonists/heretic/magic/star_touch.dm +++ b/code/modules/antagonists/heretic/magic/star_touch.dm @@ -13,7 +13,7 @@ sound = 'sound/items/welder.ogg' school = SCHOOL_FORBIDDEN cooldown_time = 15 SECONDS - invocation = "ST'R 'N'RG'!" + invocation = "An'gar sig!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE antimagic_flags = MAGIC_RESISTANCE diff --git a/code/modules/antagonists/heretic/magic/void_cold_cone.dm b/code/modules/antagonists/heretic/magic/void_cold_cone.dm index 92c45dc10b010..40dc9612a50f6 100644 --- a/code/modules/antagonists/heretic/magic/void_cold_cone.dm +++ b/code/modules/antagonists/heretic/magic/void_cold_cone.dm @@ -11,7 +11,7 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "FR'ZE!" + invocation = "Sunya'kop!" invocation_type = INVOCATION_SHOUT spell_requirements = NONE diff --git a/code/modules/antagonists/heretic/magic/void_phase.dm b/code/modules/antagonists/heretic/magic/void_phase.dm index 350ca0f29c100..f3f0864224c4c 100644 --- a/code/modules/antagonists/heretic/magic/void_phase.dm +++ b/code/modules/antagonists/heretic/magic/void_phase.dm @@ -12,8 +12,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 30 SECONDS - invocation = "RE'L'TY PH'S'E." - invocation_type = INVOCATION_WHISPER + invocation = "Sunya'sthiti!" + invocation_type = INVOCATION_SHOUT spell_requirements = NONE cast_range = 9 diff --git a/code/modules/antagonists/heretic/magic/void_pull.dm b/code/modules/antagonists/heretic/magic/void_pull.dm index 2021bf8a04e4f..dc4673b0714ce 100644 --- a/code/modules/antagonists/heretic/magic/void_pull.dm +++ b/code/modules/antagonists/heretic/magic/void_pull.dm @@ -11,8 +11,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 40 SECONDS - invocation = "BR'NG F'RTH TH'M T' M'." - invocation_type = INVOCATION_WHISPER + invocation = "Sunya'apamkti!" + invocation_type = INVOCATION_SHOUT spell_requirements = NONE aoe_radius = 7 diff --git a/code/modules/antagonists/heretic/magic/wave_of_desperation.dm b/code/modules/antagonists/heretic/magic/wave_of_desperation.dm index 3b78b56ddc0ba..b9502f08967bb 100644 --- a/code/modules/antagonists/heretic/magic/wave_of_desperation.dm +++ b/code/modules/antagonists/heretic/magic/wave_of_desperation.dm @@ -11,8 +11,8 @@ school = SCHOOL_FORBIDDEN cooldown_time = 5 MINUTES - invocation = "F'K 'FF." - invocation_type = INVOCATION_WHISPER + invocation = "Kher' Sekh-em waaef'k!" + invocation_type = INVOCATION_SHOUT spell_requirements = NONE aoe_radius = 3 diff --git a/code/modules/antagonists/heretic/soultrapped_heretic.dm b/code/modules/antagonists/heretic/soultrapped_heretic.dm new file mode 100644 index 0000000000000..ffd92e09496cb --- /dev/null +++ b/code/modules/antagonists/heretic/soultrapped_heretic.dm @@ -0,0 +1,24 @@ +///a heretic that got soultrapped by cultists. does nothing, other than signify they suck +/datum/antagonist/soultrapped_heretic + name = "\improper Soultrapped Heretic" + roundend_category = "Heretics" + antagpanel_category = "Heretic" + job_rank = ROLE_HERETIC + antag_moodlet = /datum/mood_event/soultrapped_heretic + antag_hud_name = "heretic" + +// Will never show up because they're shades inside a sword +/datum/mood_event/soultrapped_heretic + description = "They trapped me! I can't escape!" + mood_change = -20 + +// always failure obj +/datum/objective/heretic_trapped + name = "soultrapped failure" + explanation_text = "Help the cult. Kill the cult. Help the crew. Kill the crew. Help your wielder. Kill your wielder. Kill everyone. Rattle your chains." + +/datum/antagonist/soultrapped_heretic/on_gain() + ..() + var/datum/objective/epic_fail = new /datum/objective/heretic_trapped() + epic_fail.completed = FALSE + objectives += epic_fail diff --git a/code/modules/antagonists/heretic/status_effects/buffs.dm b/code/modules/antagonists/heretic/status_effects/buffs.dm index d2058a5b4f19e..35a6ab9268784 100644 --- a/code/modules/antagonists/heretic/status_effects/buffs.dm +++ b/code/modules/antagonists/heretic/status_effects/buffs.dm @@ -118,6 +118,8 @@ var/time_between_initial_blades = 0.25 SECONDS /// If TRUE, we self-delete our status effect after all the blades are deleted. var/delete_on_blades_gone = TRUE + /// What blade type to create + var/blade_type = /obj/effect/floating_blade /// A list of blade effects orbiting / protecting our owner var/list/obj/effect/floating_blade/blades = list() @@ -127,12 +129,14 @@ max_num_blades = 4, blade_orbit_radius = 20, time_between_initial_blades = 0.25 SECONDS, + blade_type = /obj/effect/floating_blade, ) src.duration = new_duration src.max_num_blades = max_num_blades src.blade_orbit_radius = blade_orbit_radius src.time_between_initial_blades = time_between_initial_blades + src.blade_type = blade_type return ..() /datum/status_effect/protective_blades/on_apply() @@ -157,7 +161,7 @@ if(QDELETED(src) || QDELETED(owner)) return - var/obj/effect/floating_blade/blade = new(get_turf(owner)) + var/obj/effect/floating_blade/blade = new blade_type(get_turf(owner)) blades += blade blade.orbit(owner, blade_orbit_radius) RegisterSignal(blade, COMSIG_QDELETING, PROC_REF(remove_blade)) diff --git a/code/modules/antagonists/heretic/structures/mawed_crucible.dm b/code/modules/antagonists/heretic/structures/mawed_crucible.dm index 8e5410f0f6751..2135ffa134ca5 100644 --- a/code/modules/antagonists/heretic/structures/mawed_crucible.dm +++ b/code/modules/antagonists/heretic/structures/mawed_crucible.dm @@ -57,6 +57,10 @@ return span_notice("It's at [round(atom_integrity * 100 / max_integrity)]% stability.") return ..() +// no breaky herety thingy +/obj/structure/destructible/eldritch_crucible/rust_heretic_act() + return + /obj/structure/destructible/eldritch_crucible/attacked_by(obj/item/weapon, mob/living/user) if(!iscarbon(user)) return ..() diff --git a/code/modules/antagonists/heretic/transmutation_rune.dm b/code/modules/antagonists/heretic/transmutation_rune.dm index 619e7d252957b..5e6ad0fb1cf7f 100644 --- a/code/modules/antagonists/heretic/transmutation_rune.dm +++ b/code/modules/antagonists/heretic/transmutation_rune.dm @@ -1,8 +1,9 @@ /// The heretic's rune, which they use to complete transmutation rituals. /obj/effect/heretic_rune name = "transmutation rune" - desc = "A flowing circle of shapes and runes is etched into the floor, filled with a thick black tar-like fluid." - icon_state = "" + desc = "A flowing circle of shapes and runes is etched into the floor, filled with a thick black tar-like fluid. This one looks pretty small." + icon = 'icons/obj/antags/cult/rune.dmi' + icon_state = "main1" anchored = TRUE interaction_flags_atom = INTERACT_ATOM_ATTACK_HAND resistance_flags = FIRE_PROOF | UNACIDABLE | ACID_PROOF diff --git a/code/modules/antagonists/nukeop/outfits.dm b/code/modules/antagonists/nukeop/outfits.dm index e8ae07ffdde83..5cd89e6c842a9 100644 --- a/code/modules/antagonists/nukeop/outfits.dm +++ b/code/modules/antagonists/nukeop/outfits.dm @@ -136,7 +136,7 @@ suit = /obj/item/clothing/suit/jacket/oversized gloves = /obj/item/clothing/gloves/fingerless glasses = /obj/item/clothing/glasses/sunglasses - mask = /obj/item/clothing/mask/cigarette/cigar + mask = /obj/item/cigarette/cigar faction = "Cybersun Industries" /datum/outfit/syndicate/reinforcement/donk diff --git a/code/modules/antagonists/pirate/pirate_outfits.dm b/code/modules/antagonists/pirate/pirate_outfits.dm index 15a3d4fe2dcb2..aef7f1d9d4b92 100644 --- a/code/modules/antagonists/pirate/pirate_outfits.dm +++ b/code/modules/antagonists/pirate/pirate_outfits.dm @@ -72,7 +72,7 @@ id_trim = /datum/id_trim/pirate/captain/silverscale head = /obj/item/clothing/head/costume/crown - mask = /obj/item/clothing/mask/cigarette/cigar/havana + mask = /obj/item/cigarette/cigar/havana l_pocket = /obj/item/lighter /datum/outfit/pirate/interdyne diff --git a/code/modules/antagonists/traitor/contractor/contract_teammate.dm b/code/modules/antagonists/traitor/contractor/contract_teammate.dm index 54fc958c1f89f..965d99e89ac6a 100644 --- a/code/modules/antagonists/traitor/contractor/contract_teammate.dm +++ b/code/modules/antagonists/traitor/contractor/contract_teammate.dm @@ -24,7 +24,7 @@ suit = /obj/item/clothing/suit/chameleon back = /obj/item/storage/backpack belt = /obj/item/modular_computer/pda/chameleon - mask = /obj/item/clothing/mask/cigarette/syndicate + mask = /obj/item/cigarette/syndicate shoes = /obj/item/clothing/shoes/chameleon/noslip ears = /obj/item/radio/headset/chameleon id = /obj/item/card/id/advanced/chameleon @@ -41,5 +41,5 @@ /datum/outfit/contractor_partner/post_equip(mob/living/carbon/human/H, visualsOnly) . = ..() - var/obj/item/clothing/mask/cigarette/syndicate/cig = H.get_item_by_slot(ITEM_SLOT_MASK) + var/obj/item/cigarette/syndicate/cig = H.get_item_by_slot(ITEM_SLOT_MASK) cig.light() diff --git a/code/modules/antagonists/wishgranter/wishgranter.dm b/code/modules/antagonists/wishgranter/wishgranter.dm index bfac673535afc..fd18ffe5c1ed0 100644 --- a/code/modules/antagonists/wishgranter/wishgranter.dm +++ b/code/modules/antagonists/wishgranter/wishgranter.dm @@ -27,5 +27,5 @@ return H.dna.add_mutation(/datum/mutation/human/hulk) H.dna.add_mutation(/datum/mutation/human/xray) - H.dna.add_mutation(/datum/mutation/human/pressure_adaptation) + H.dna.add_mutation(/datum/mutation/human/adaptation/pressure) H.dna.add_mutation(/datum/mutation/human/telekinesis) diff --git a/code/modules/antagonists/wizard/equipment/soulstone.dm b/code/modules/antagonists/wizard/equipment/soulstone.dm index 3094af509dadb..925f368fe3b54 100644 --- a/code/modules/antagonists/wizard/equipment/soulstone.dm +++ b/code/modules/antagonists/wizard/equipment/soulstone.dm @@ -260,16 +260,17 @@ icon = 'icons/mob/shells.dmi' icon_state = "construct_cult" desc = "A wicked machine used by those skilled in magical arts. It is inactive." - -/obj/structure/constructshell/examine(mob/user) - . = ..() - if(IS_CULTIST(user) || HAS_MIND_TRAIT(user, TRAIT_MAGICALLY_GIFTED) || user.stat == DEAD) - . += {"A construct shell, used to house bound souls from a soulstone.\n + var/extra_desc = {"A construct shell, used to house bound souls from a soulstone.\n Placing a soulstone with a soul into this shell allows you to produce your choice of the following:\n An Artificer, which can produce more shells and soulstones, as well as fortifications.\n A Wraith, which does high damage and can jaunt through walls, though it is quite fragile.\n A Juggernaut, which is very hard to kill and can produce temporary walls, but is slow."} +/obj/structure/constructshell/examine(mob/user) + . = ..() + if(IS_CULTIST(user) || HAS_MIND_TRAIT(user, TRAIT_MAGICALLY_GIFTED) || user.stat == DEAD) + . += extra_desc + /obj/structure/constructshell/attackby(obj/item/O, mob/user, params) if(istype(O, /obj/item/soulstone)) var/obj/item/soulstone/SS = O @@ -494,6 +495,11 @@ make_new_construct(/mob/living/basic/construct/artificer/angelic, target, creator, cultoverride, loc_override) if(THEME_CULT) make_new_construct(/mob/living/basic/construct/artificer/noncult, target, creator, cultoverride, loc_override) + if(CONSTRUCT_HARVESTER) + if(IS_HERETIC_OR_MONSTER(creator)) + make_new_construct(/mob/living/basic/construct/harvester/heretic, target, creator, cultoverride, loc_override) + else + make_new_construct(/mob/living/basic/construct/harvester, target, creator, cultoverride, loc_override) /proc/make_new_construct(mob/living/basic/construct/ctype, mob/target, mob/stoner = null, cultoverride = FALSE, loc_override = null) if(QDELETED(target)) @@ -523,7 +529,7 @@ newstruct.clear_alert("bloodsense") sense_alert = newstruct.throw_alert("bloodsense", /atom/movable/screen/alert/bloodsense) if(sense_alert) - sense_alert.Cviewer = newstruct + sense_alert.construct_owner = newstruct newstruct.cancel_camera() /obj/item/soulstone/anybody diff --git a/code/modules/atmospherics/machinery/portable/canister.dm b/code/modules/atmospherics/machinery/portable/canister.dm index 0b1e7c2768ae9..af13be0bbbf9b 100644 --- a/code/modules/atmospherics/machinery/portable/canister.dm +++ b/code/modules/atmospherics/machinery/portable/canister.dm @@ -101,6 +101,8 @@ /obj/machinery/portable_atmospherics/canister/examine(user) . = ..() + if(atom_integrity < max_integrity) + . += span_notice("Integrity compromised, repair hull with a welding tool.") . += span_notice("A sticker on its side says MAX SAFE PRESSURE: [siunit_pressure(initial(pressure_limit), 0)]; MAX SAFE TEMPERATURE: [siunit(temp_limit, "K", 0)].") . += span_notice("The hull is welded together and can be cut apart.") if(internal_cell) @@ -109,8 +111,6 @@ . += span_notice("Warning, no cell installed, use a screwdriver to open the hatch and insert one.") if(panel_open) . += span_notice("Hatch open, close it with a screwdriver.") - if(integrity_failure) - . += span_notice("Integrity compromised, repair hull with a welding tool.") // Please keep the canister types sorted // Basic canister per gas below here @@ -461,18 +461,24 @@ user.investigate_log("started a transfer into [holding].", INVESTIGATE_ATMOS) /obj/machinery/portable_atmospherics/canister/process(seconds_per_tick) + if(!shielding_powered) + return + var/our_pressure = air_contents.return_pressure() var/our_temperature = air_contents.return_temperature() + 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(shielding_powered) - 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_energy(energy_consumed, channel = AREA_USAGE_EQUIP) - else if(!internal_cell?.use(energy_consumed * 0.025)) - shielding_powered = FALSE - SSair.start_processing_machine(src) - investigate_log("shielding turned off due to power loss") + if(!energy_consumed) + return + + if(powered(AREA_USAGE_EQUIP, ignore_use_power = TRUE)) + use_energy(energy_consumed, channel = AREA_USAGE_EQUIP) + else if(!internal_cell?.use(energy_consumed * 0.025)) + shielding_powered = FALSE + SSair.start_processing_machine(src) + investigate_log("shielding turned off due to power loss") + update_appearance() ///return the icon_state component for the canister's indicator light based on its current pressure reading /obj/machinery/portable_atmospherics/canister/proc/get_pressure_state() diff --git a/code/modules/atmospherics/machinery/portable/scrubber.dm b/code/modules/atmospherics/machinery/portable/scrubber.dm index 09c6c64709b9a..6f66e9e07d2c0 100644 --- a/code/modules/atmospherics/machinery/portable/scrubber.dm +++ b/code/modules/atmospherics/machinery/portable/scrubber.dm @@ -1,16 +1,17 @@ /obj/machinery/portable_atmospherics/scrubber name = "portable air scrubber" + desc = "A portable variant of the station scrubbers, capable of filtering gas from the air around it or inserted tank. May also be wrenched into a port." icon_state = "scrubber" density = TRUE max_integrity = 250 - volume = 1000 + volume = 2000 ///Is the machine on? var/on = FALSE ///the rate the machine will scrub air - var/volume_rate = 1000 + var/volume_rate = 650 ///Multiplier with ONE_ATMOSPHERE, if the enviroment pressure is higher than that, the scrubber won't work - var/overpressure_m = 80 + var/overpressure_m = 100 ///Should the machine use overlay in update_overlays() when open/close? var/use_overlays = TRUE ///List of gases that can be scrubbed @@ -59,8 +60,13 @@ excited = TRUE - var/atom/target = holding || get_turf(src) - scrub(target.return_air()) + if(!isnull(holding)) + scrub(holding.return_air()) + return ..() + + var/turf/epicentre = get_turf(src) + for(var/turf/open/openturf in epicentre.get_atmos_adjacent_turfs(alldir = TRUE)) + scrub(openturf.return_air()) return ..() /** @@ -68,28 +74,39 @@ * Arguments: * * mixture: the gas mixture to be scrubbed */ -/obj/machinery/portable_atmospherics/scrubber/proc/scrub(datum/gas_mixture/mixture) +/obj/machinery/portable_atmospherics/scrubber/proc/scrub(datum/gas_mixture/environment) if(air_contents.return_pressure() >= overpressure_m * ONE_ATMOSPHERE) return - var/transfer_moles = min(1, volume_rate / mixture.volume) * mixture.total_moles() + var/list/env_gases = environment.gases - var/datum/gas_mixture/filtering = mixture.remove(transfer_moles) // Remove part of the mixture to filter. - var/datum/gas_mixture/filtered = new - if(!filtering) - return + //contains all of the gas we're sucking out of the tile, gets put into our parent pipenet + var/datum/gas_mixture/filtered_out = new + var/list/filtered_gases = filtered_out.gases + filtered_out.temperature = environment.temperature - filtered.temperature = filtering.temperature - for(var/gas in filtering.gases & scrubbing) - filtered.add_gas(gas) - filtered.gases[gas][MOLES] = filtering.gases[gas][MOLES] // Shuffle the "bad" gasses to the filtered mixture. - filtering.gases[gas][MOLES] = 0 - filtering.garbage_collect() // Now that the gasses are set to 0, clean up the mixture. + //maximum percentage of the turfs gas we can filter + var/removal_ratio = min(1, volume_rate / environment.volume) - air_contents.merge(filtered) // Store filtered out gasses. - mixture.merge(filtering) // Returned the cleaned gas. - if(!holding) - air_update_turf(FALSE, FALSE) + var/total_moles_to_remove = 0 + for(var/gas in scrubbing & env_gases) + total_moles_to_remove += env_gases[gas][MOLES] + + if(total_moles_to_remove == 0)//sometimes this gets non gc'd values + environment.garbage_collect() + return FALSE + + for(var/gas in scrubbing & env_gases) + filtered_out.add_gas(gas) + var/transferred_moles = max(QUANTIZE(env_gases[gas][MOLES] * removal_ratio * (env_gases[gas][MOLES] / total_moles_to_remove)), min(MOLAR_ACCURACY*1000, env_gases[gas][MOLES])) + + filtered_gases[gas][MOLES] = transferred_moles + env_gases[gas][MOLES] -= transferred_moles + + environment.garbage_collect() + + //Remix the resulting gases + air_contents.merge(filtered_out) /obj/machinery/portable_atmospherics/scrubber/emp_act(severity) . = ..() diff --git a/code/modules/autowiki/pages/soup.dm b/code/modules/autowiki/pages/soup.dm index 75521005d8e88..f67d00e97a057 100644 --- a/code/modules/autowiki/pages/soup.dm +++ b/code/modules/autowiki/pages/soup.dm @@ -27,6 +27,7 @@ var/result_name var/result_desc var/result_tastes + var/result_soup_type // Solid food item results take priority over reagents for showcasing results if(soup_recipe.resulting_food_path) var/obj/item/resulting_food = new soup_recipe.resulting_food_path() @@ -45,7 +46,7 @@ // Otherwise, it should be a reagent. else - var/result_soup_type = soup_recipe.results[1] + result_soup_type = soup_recipe.results[1] var/datum/reagent/result_soup = new result_soup_type() result_name = format_text(result_soup.name) result_desc = result_soup.description @@ -122,8 +123,14 @@ template_list["results"] = escape_value(compiled_results) // -- While we're here, generate an icon of the bowl -- - var/image/compiled_image = image(icon = soup_icon, icon_state = soup_icon_state) - upload_icon(getFlatIcon(compiled_image, no_anim = TRUE), filename) + if(!soup_icon_state) + var/obj/item/reagent_containers/cup/bowl/soup_bowl = new() + soup_bowl.reagents.add_reagent(result_soup_type, soup_bowl.reagents.maximum_volume) + upload_icon(getFlatIcon(soup_bowl, no_anim = TRUE), filename) + qdel(soup_bowl) + else + var/image/compiled_image = image(icon = soup_icon, icon_state = soup_icon_state) + upload_icon(getFlatIcon(compiled_image, no_anim = TRUE), filename) // -- Cleanup -- qdel(soup_recipe) diff --git a/code/modules/bitrunning/job.dm b/code/modules/bitrunning/job.dm index 1e749a3c7a58e..d62bd2cf3aeac 100644 --- a/code/modules/bitrunning/job.dm +++ b/code/modules/bitrunning/job.dm @@ -13,7 +13,7 @@ paycheck = PAYCHECK_CREW paycheck_department = ACCOUNT_CAR display_order = JOB_DISPLAY_ORDER_BITRUNNER - bounty_types = CIV_JOB_RANDOM + bounty_types = CIV_JOB_BITRUN departments_list = list( /datum/job_department/cargo, ) diff --git a/code/modules/bitrunning/objects/loot_box.dm b/code/modules/bitrunning/objects/loot_box.dm index 39209c33d97f9..200e0b259fbda 100644 --- a/code/modules/bitrunning/objects/loot_box.dm +++ b/code/modules/bitrunning/objects/loot_box.dm @@ -8,6 +8,7 @@ icon_locked = "bitrunning+l" icon_closed = "bitrunning" icon_broken = "bitrunning+b" + icon_open = "bitrunning" /obj/item/storage/lockbox/bitrunning/encrypted name = "encrypted curiosity" diff --git a/code/modules/bitrunning/virtual_domain/domains/fredingtonfastingbear.dm b/code/modules/bitrunning/virtual_domain/domains/fredingtonfastingbear.dm index 841956675ca90..f3c803384c45d 100644 --- a/code/modules/bitrunning/virtual_domain/domains/fredingtonfastingbear.dm +++ b/code/modules/bitrunning/virtual_domain/domains/fredingtonfastingbear.dm @@ -2,6 +2,7 @@ name = "Pizza Party" cost = BITRUNNER_COST_MEDIUM desc = "A famous pizzeria that got ruined by what it had to offer." + completion_loot = list(/obj/item/food/pizzaslice/meat/pizzeria = 1) difficulty = BITRUNNER_DIFFICULTY_MEDIUM help_text = "Pick up a flashlight and get going. Your favourite bear has been waiting for you..." key = "fredingtonfastingbear" diff --git a/code/modules/cargo/bounties/bitrunning.dm b/code/modules/cargo/bounties/bitrunning.dm new file mode 100644 index 0000000000000..301f19f0e412c --- /dev/null +++ b/code/modules/cargo/bounties/bitrunning.dm @@ -0,0 +1,48 @@ +/datum/bounty/item/bitrunning/abductor_plush + name = "Abductor Plush" + description = "Rear Admiral Raynes' child won't stop bothering him for one of those little plush aliens. You can get one from the Abductor Ship domain." + reward = CARGO_CRATE_VALUE * 6 + required_count = 1 + wanted_types = list(/obj/item/toy/plush/abductor/agent = TRUE) + +/datum/bounty/item/bitrunning/bubblegum + name = "Bubblegum Plush" + description = "Some of the miners have been talking about the breakroom being too sterile. We need something cute to spruce the place up a bit." + reward = CARGO_CRATE_VALUE * 10 + required_count = 1 + wanted_types = list(/obj/item/toy/plush/bubbleplush = TRUE) + +/datum/bounty/item/bitrunning/honk + name = "Bike Horn" + description = "Bonbon the Clown lost his bike horn when Rear Admiral Raynes hurled him out an airlock for slipping him. Can you get us a replacement?" + reward = CARGO_CRATE_VALUE * 4 + required_count = 1 + wanted_types = list(/obj/item/bikehorn = TRUE) + +/datum/bounty/item/bitrunning/pizzeria + name = "Slice of Pizzeria Pizza" + description = "Admiral Chivara keeps talking about wanting a slice of pizza from that old pizza joint that closed down. Y'know, the one with the robots." + reward = CARGO_CRATE_VALUE * 8 + required_count = 1 + wanted_types = list(/obj/item/food/pizzaslice/meat/pizzeria = TRUE) + +/datum/bounty/item/bitrunning/psyker + name = "Psyker Headset" + description = "We're doing some research on psykers and could use some of their equipment. Can you send us one of their headsets if you find it?" + reward = CARGO_CRATE_VALUE * 8 + required_count = 1 + wanted_types = list(/obj/item/radio/headset/psyker = TRUE) + +/datum/bounty/item/bitrunning/polar + name = "Polar Ushanka" + description = "A bunch of Russians raided one of our outposts and won't leave. They keep swearing at us and demanding we give them vodka and ushankas. Can you send us one?" + reward = CARGO_CRATE_VALUE * 3 + required_count = 1 + wanted_types = list(/obj/item/clothing/head/costume/ushanka/polar = TRUE) + +/datum/bounty/item/bitrunning/syndicate + name = "Syndicate Plush" + description = "We're aware of some contraband that's made it aboard some of our stations that depict Syndicate agents as cute, marketable plushies. Please send us one so we can further investigate." + reward = CARGO_CRATE_VALUE * 8 + required_count = 1 + wanted_types = list(/obj/item/toy/plush/nukeplushie = 1) diff --git a/code/modules/cargo/bounty.dm b/code/modules/cargo/bounty.dm index aa527e847625b..38b26e440273a 100644 --- a/code/modules/cargo/bounty.dm +++ b/code/modules/cargo/bounty.dm @@ -1,5 +1,5 @@ /// How many jobs have bounties, minus the random civ bounties. PLEASE INCREASE THIS NUMBER AS MORE DEPTS ARE ADDED TO BOUNTIES. -#define MAXIMUM_BOUNTY_JOBS 13 +#define MAXIMUM_BOUNTY_JOBS 14 /datum/bounty var/name @@ -77,6 +77,8 @@ chosen_type = pick(subtypesof(/datum/bounty/item/botany)) if(CIV_JOB_ATMOS) chosen_type = pick(subtypesof(/datum/bounty/item/atmospherics)) + if(CIV_JOB_BITRUN) + chosen_type = pick(subtypesof(/datum/bounty/item/bitrunning)) bounty_ref = new chosen_type if(bounty_ref.can_get()) bounty_succeeded = TRUE diff --git a/code/modules/client/client_defines.dm b/code/modules/client/client_defines.dm index 97924643604c5..2b60b3bdbb2e4 100644 --- a/code/modules/client/client_defines.dm +++ b/code/modules/client/client_defines.dm @@ -268,3 +268,6 @@ /// Loot panel for the client var/datum/lootpanel/loot_panel + + ///Which ambient sound this client is currently being provided. + var/current_ambient_sound diff --git a/code/modules/client/preferences/sounds.dm b/code/modules/client/preferences/sounds.dm index ae3a700ec3996..81263de677bc9 100644 --- a/code/modules/client/preferences/sounds.dm +++ b/code/modules/client/preferences/sounds.dm @@ -103,6 +103,9 @@ savefile_key = "sound_ship_ambience" savefile_identifier = PREFERENCE_PLAYER +/datum/preference/toggle/sound_ship_ambience/apply_to_client_updated(client/client, value) + client.mob.refresh_looping_ambience() + /// Controls hearing elevator music /datum/preference/toggle/sound_elevator category = PREFERENCE_CATEGORY_GAME_PREFERENCES diff --git a/code/modules/clothing/chameleon/chameleon_action_subtypes.dm b/code/modules/clothing/chameleon/chameleon_action_subtypes.dm index 275b2c6e0fc2a..bd15bb908f227 100644 --- a/code/modules/clothing/chameleon/chameleon_action_subtypes.dm +++ b/code/modules/clothing/chameleon/chameleon_action_subtypes.dm @@ -64,6 +64,11 @@ . = ..() chameleon_blacklist |= typecacheof(/obj/item/clothing/mask/changeling, only_root_path = TRUE) +/datum/action/item_action/chameleon/change/mask/initialize_disguises() + . = ..() + add_chameleon_items(/obj/item/cigarette) + add_chameleon_items(/obj/item/vape) + /datum/action/item_action/chameleon/change/hat chameleon_type = /obj/item/clothing/head chameleon_name = "Hat" diff --git a/code/modules/clothing/masks/gasmask.dm b/code/modules/clothing/masks/gasmask.dm index ef90fcf97e10a..36fe591a63edb 100644 --- a/code/modules/clothing/masks/gasmask.dm +++ b/code/modules/clothing/masks/gasmask.dm @@ -27,7 +27,7 @@ GLOBAL_LIST_INIT(clown_mask_options, list( ///Does the mask have an FOV? var/has_fov = TRUE ///Cigarette in the mask - var/obj/item/clothing/mask/cigarette/cig + var/obj/item/cigarette/cig voice_filter = "lowpass=f=750,volume=2" /datum/armor/mask_gas @@ -84,7 +84,7 @@ GLOBAL_LIST_INIT(clown_mask_options, list( /obj/item/clothing/mask/gas/attackby(obj/item/tool, mob/user) var/valid_wearer = ismob(loc) var/mob/wearer = loc - if(istype(tool, /obj/item/clothing/mask/cigarette)) + if(istype(tool, /obj/item/cigarette)) if(flags_cover & MASKCOVERSMOUTH) balloon_alert(user, "mask's mouth is covered!") return ..() diff --git a/code/modules/clothing/masks/muzzle.dm b/code/modules/clothing/masks/muzzle.dm index 32f29a54a1f43..6154e7762cb52 100644 --- a/code/modules/clothing/masks/muzzle.dm +++ b/code/modules/clothing/masks/muzzle.dm @@ -5,11 +5,14 @@ inhand_icon_state = "blindfold" lefthand_file = 'icons/mob/inhands/clothing/glasses_lefthand.dmi' righthand_file = 'icons/mob/inhands/clothing/glasses_righthand.dmi' - clothing_flags = BLOCKS_SPEECH flags_cover = MASKCOVERSMOUTH w_class = WEIGHT_CLASS_SMALL equip_delay_other = 20 +/obj/item/clothing/mask/muzzle/Initialize(mapload) + . = ..() + AddElement(/datum/element/muffles_speech) + /obj/item/clothing/mask/muzzle/attack_paw(mob/user, list/modifiers) if(iscarbon(user)) var/mob/living/carbon/carbon_user = user @@ -26,7 +29,7 @@ lefthand_file = 'icons/mob/inhands/clothing/masks_lefthand.dmi' righthand_file = 'icons/mob/inhands/clothing/masks_righthand.dmi' body_parts_covered = NONE - clothing_flags = MASKINTERNALS | BLOCKS_SPEECH + clothing_flags = MASKINTERNALS armor_type = /datum/armor/muzzle_breath equip_delay_other = 25 // my sprite has 4 straps, a-la a head harness. takes a while to equip, longer than a muzzle @@ -37,7 +40,7 @@ worn_icon_state = "tape_piece_worn" inhand_icon_state = null w_class = WEIGHT_CLASS_TINY - clothing_flags = INEDIBLE_CLOTHING|BLOCKS_SPEECH + clothing_flags = INEDIBLE_CLOTHING equip_delay_other = 40 strip_delay = 40 greyscale_config = /datum/greyscale_config/tape_piece diff --git a/code/modules/clothing/outfits/standard.dm b/code/modules/clothing/outfits/standard.dm index 6c088760f07db..422cb34fa090d 100644 --- a/code/modules/clothing/outfits/standard.dm +++ b/code/modules/clothing/outfits/standard.dm @@ -11,7 +11,7 @@ glasses = /obj/item/clothing/glasses/thermal/eyepatch gloves = /obj/item/clothing/gloves/tackler/combat/insulated head = /obj/item/clothing/head/helmet/space/beret - mask = /obj/item/clothing/mask/cigarette/cigar/havana + mask = /obj/item/cigarette/cigar/havana shoes = /obj/item/clothing/shoes/combat/swat r_pocket = /obj/item/lighter @@ -245,7 +245,7 @@ glasses = /obj/item/clothing/glasses/sunglasses gloves = /obj/item/clothing/gloves/tackler/combat/insulated head = /obj/item/clothing/head/hats/centhat - mask = /obj/item/clothing/mask/cigarette/cigar/cohiba + mask = /obj/item/cigarette/cigar/cohiba shoes = /obj/item/clothing/shoes/combat/swat l_pocket = /obj/item/ammo_box/a357 r_pocket = /obj/item/lighter diff --git a/code/modules/clothing/suits/jobs.dm b/code/modules/clothing/suits/jobs.dm index bc091aaeb6651..2b8fef5bb5b46 100644 --- a/code/modules/clothing/suits/jobs.dm +++ b/code/modules/clothing/suits/jobs.dm @@ -61,7 +61,7 @@ body_parts_covered = CHEST|GROIN|ARMS allowed = list( /obj/item/assembly/flash/handheld, - /obj/item/clothing/mask/cigarette, + /obj/item/cigarette, /obj/item/disk, /obj/item/lighter, /obj/item/melee, @@ -385,27 +385,6 @@ body_parts_covered = HEAD flags_inv = HIDEHAIR|HIDEEARS -// Research Director - -/obj/item/clothing/suit/jacket/research_director - name = "research director's coat" - desc = "A mix between a labcoat and just a regular coat. It's made out of a special anti-bacterial, anti-acidic, and anti-biohazardous synthetic fabric." - icon_state = "labcoat_rd" - armor_type = /datum/armor/jacket_research_director - body_parts_covered = CHEST|GROIN|ARMS - -/datum/armor/jacket_research_director - bio = 75 - fire = 75 - acid = 75 - -/obj/item/clothing/suit/jacket/research_director/Initialize(mapload) - . = ..() - allowed += list( - /obj/item/storage/bag/xeno, - /obj/item/melee/baton/telescopic, - ) - // Atmos /obj/item/clothing/suit/atmos_overalls name = "atmospherics overalls" diff --git a/code/modules/clothing/suits/labcoat.dm b/code/modules/clothing/suits/labcoat.dm index f48e49c11b701..e5cda21a78a77 100644 --- a/code/modules/clothing/suits/labcoat.dm +++ b/code/modules/clothing/suits/labcoat.dm @@ -69,6 +69,10 @@ greyscale_config_worn = /datum/greyscale_config/labcoat/worn greyscale_colors = "#EEEEEE#4A77A1#4A77A1#7095C2" +/obj/item/clothing/suit/toggle/labcoat/genetics/Initialize(mapload) + . = ..() + allowed += /obj/item/sequence_scanner + /obj/item/clothing/suit/toggle/labcoat/chemist name = "chemist labcoat" desc = "A suit that protects against minor chemical spills. Has an orange stripe on the shoulder." @@ -138,3 +142,24 @@ greyscale_config = /datum/greyscale_config/labcoat greyscale_config_worn = /datum/greyscale_config/labcoat/worn greyscale_colors = "#EEEEEE#88242D#88242D#39393F" + +// Research Director + +/obj/item/clothing/suit/toggle/labcoat/research_director + name = "research director's coat" + desc = "A mix between a labcoat and just a regular coat. It's made out of a special anti-bacterial, anti-acidic, and anti-biohazardous synthetic fabric." + icon_state = "labcoat_rd" + armor_type = /datum/armor/jacket_research_director + body_parts_covered = CHEST|GROIN|ARMS + +/datum/armor/jacket_research_director + bio = 75 + fire = 75 + acid = 75 + +/obj/item/clothing/suit/toggle/labcoat/research_director/Initialize(mapload) + . = ..() + allowed += list( + /obj/item/storage/bag/xeno, + /obj/item/melee/baton/telescopic, + ) diff --git a/code/modules/clothing/suits/utility.dm b/code/modules/clothing/suits/utility.dm index c04b68ab553a8..1541c66a333b6 100644 --- a/code/modules/clothing/suits/utility.dm +++ b/code/modules/clothing/suits/utility.dm @@ -57,6 +57,7 @@ /obj/item/clothing/suit/utility/fire/firefighter icon_state = "firesuit" inhand_icon_state = "firefighter" + flags_inv = HIDESHOES|HIDEJUMPSUIT heat_protection = CHEST|GROIN|LEGS|FEET|ARMS cold_protection = CHEST|GROIN|LEGS|FEET|ARMS body_parts_covered = CHEST|GROIN|LEGS|FEET|ARMS diff --git a/code/modules/clothing/suits/wintercoats.dm b/code/modules/clothing/suits/wintercoats.dm index 02c3399db7b4d..cbbe357690846 100644 --- a/code/modules/clothing/suits/wintercoats.dm +++ b/code/modules/clothing/suits/wintercoats.dm @@ -502,6 +502,10 @@ inhand_icon_state = null hoodtype = /obj/item/clothing/head/hooded/winterhood/science/genetics +/obj/item/clothing/suit/hooded/wintercoat/science/genetics/Initialize(mapload) + . = ..() + allowed += /obj/item/sequence_scanner + /obj/item/clothing/head/hooded/winterhood/science/genetics desc = "A white winter coat hood. It's warm." icon_state = "hood_genetics" diff --git a/code/modules/deathmatch/deathmatch_loadouts.dm b/code/modules/deathmatch/deathmatch_loadouts.dm index b4c6af04304eb..a24663b3ba439 100644 --- a/code/modules/deathmatch/deathmatch_loadouts.dm +++ b/code/modules/deathmatch/deathmatch_loadouts.dm @@ -371,7 +371,7 @@ display_name = "Cowboy" desc = "Yeehaw partner" - r_hand = /obj/item/clothing/mask/cigarette/cigar + r_hand = /obj/item/cigarette/cigar l_hand = /obj/item/melee/curator_whip l_pocket = /obj/item/lighter accessory = /obj/item/clothing/accessory/vest_sheriff @@ -405,7 +405,7 @@ suit = /obj/item/clothing/suit/wizrobe/red head = /obj/item/clothing/head/wizard/red - mask = /obj/item/clothing/mask/cigarette + mask = /obj/item/cigarette granted_spells = list( /datum/action/cooldown/spell/pointed/projectile/fireball, /datum/action/cooldown/spell/smoke, diff --git a/code/modules/events/ghost_role/fugitive_event.dm b/code/modules/events/ghost_role/fugitive_event.dm index 88d63d91bb5fe..9eb792a6f6ab3 100644 --- a/code/modules/events/ghost_role/fugitive_event.dm +++ b/code/modules/events/ghost_role/fugitive_event.dm @@ -61,6 +61,7 @@ HUNTER_PACK_RUSSIAN, HUNTER_PACK_BOUNTY, HUNTER_PACK_PSYKER, + HUNTER_PACK_MI13, ) addtimer(CALLBACK(src, PROC_REF(check_spawn_hunters), hunter_backstory, 10 MINUTES), 1 MINUTES) role_name = "fugitive hunter" @@ -124,6 +125,8 @@ ship = new /datum/map_template/shuttle/hunter/bounty if(HUNTER_PACK_PSYKER) ship = new /datum/map_template/shuttle/hunter/psyker + if(HUNTER_PACK_MI13) + ship = new/datum/map_template/shuttle/hunter/mi13_foodtruck var/x = rand(TRANSITIONEDGE,world.maxx - TRANSITIONEDGE - ship.width) var/y = rand(TRANSITIONEDGE,world.maxy - TRANSITIONEDGE - ship.height) @@ -152,6 +155,38 @@ header = "Spawn Here!", ) - priority_announce("Unidentified ship detected near the station.") + var/list/announcement_text_list = list() + var/announcement_title = "" + switch(backstory) + if(HUNTER_PACK_COPS) + announcement_text_list += "Attention Crew of [GLOB.station_name], this is the Police. A wanted criminal has been reported taking refuge on your station." + announcement_text_list += "We have a warrant from the SSC authorities to take them into custody. Officers have been dispatched to your location." + announcement_text_list += "We demand your cooperation in bringing this criminal to justice." + announcement_title += "Spacepol Command" + if(HUNTER_PACK_RUSSIAN) + announcement_text_list += "Zdraviya zhelaju, [GLOB.station_name] crew. We are coming to your station." + announcement_text_list += "There is a criminal aboard. We will arrest them and return them to the gulag. That's good, yes?" + announcement_title += "Russian Freighter" + if(HUNTER_PACK_BOUNTY) + announcement_text_list += "[GLOB.station_name]. One of our bounty marks has ended up on your station. We will be arriving to collect shortly." + announcement_text_list += "Let's make this quick. If you don't want trouble, stay the hell out of our way." + announcement_title += "Unregistered Signal" + if(HUNTER_PACK_PSYKER) + announcement_text_list += "HEY, CAN YOU HEAR US? We're coming to your station. There's a bad guy down there, really bad guy. We need to arrest them." + announcement_text_list += "We're also offering fortune telling services out of the front door if you have paying customers." + announcement_title += "Fortune-Telling Entertainment Shuttle" + if(HUNTER_PACK_MI13) + announcement_text_list += "Illegal intrusion detected in the crew monitoring network. Central Command has been informed." + announcement_text_list += "Please report any suspicious individuals or behaviour to your local security team." + announcement_title += "Nanotrasen Intrusion Countermeasures Electronics" + if(!length(announcement_text_list)) + announcement_text_list += "Unidentified ship detected near the station." + stack_trace("Fugitive hunter announcement was unable to generate an announcement text based on backstory: [backstory]") + + if(!length(announcement_title)) + announcement_title += "Unknown Signal" + stack_trace("Fugitive hunter announcement was unable to generate an announcement title based on backstory: [backstory]") + + priority_announce(jointext(announcement_text_list, " "), announcement_title) #undef TEAM_BACKSTORY_SIZE diff --git a/code/modules/events/wizard/curseditems.dm b/code/modules/events/wizard/curseditems.dm index 683b36304a367..ab305bbff99bf 100644 --- a/code/modules/events/wizard/curseditems.dm +++ b/code/modules/events/wizard/curseditems.dm @@ -38,7 +38,7 @@ switch(item_set) if(BIG_FAT_DOOBIE) - loadout += /obj/item/clothing/mask/cigarette/rollie/trippy + loadout += /obj/item/cigarette/rollie/trippy ruins_spaceworthiness = TRUE if(BOXING) loadout += /obj/item/clothing/mask/luchador diff --git a/code/modules/food_and_drinks/machinery/microwave.dm b/code/modules/food_and_drinks/machinery/microwave.dm index b3233386f9789..88256eaf1d27e 100644 --- a/code/modules/food_and_drinks/machinery/microwave.dm +++ b/code/modules/food_and_drinks/machinery/microwave.dm @@ -365,7 +365,7 @@ update_appearance() return ITEM_INTERACT_SUCCESS -/obj/machinery/microwave/item_interaction(mob/living/user, obj/item/tool, list/modifiers) +/obj/machinery/microwave/tool_act(mob/living/user, obj/item/tool, list/modifiers) if(operating) return ITEM_INTERACT_SKIP_TO_ATTACK // Don't use tools if we're dirty if(dirty >= MAX_MICROWAVE_DIRTINESS) @@ -373,7 +373,7 @@ if(panel_open && is_wire_tool(tool)) wires.interact(user) return ITEM_INTERACT_SUCCESS - return NONE + return ..() /obj/machinery/microwave/attackby(obj/item/item, mob/living/user, params) if(operating) diff --git a/code/modules/holodeck/computer.dm b/code/modules/holodeck/computer.dm index 1204106dc865c..b98d66f6bd2c7 100644 --- a/code/modules/holodeck/computer.dm +++ b/code/modules/holodeck/computer.dm @@ -293,6 +293,8 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf if(isstructure(holo_object)) holo_object.obj_flags |= NO_DEBRIS_AFTER_DECONSTRUCTION + if(istype(holo_object, /obj/structure/closet)) + RegisterSignal(holo_object, COMSIG_CLOSET_CONTENTS_INITIALIZED, PROC_REF(register_contents)) return if(ismachinery(holo_object)) @@ -304,6 +306,14 @@ GLOBAL_LIST_INIT(typecache_holodeck_linked_floorcheck_ok, typecacheof(list(/turf var/obj/machinery/button/holo_button = holo_machine holo_button.setup_device() +/obj/machinery/computer/holodeck/proc/register_contents(obj/structure/closet/storage) + SIGNAL_HANDLER + + for(var/atom/movable/item as anything in storage.get_all_contents_type(/atom/movable)) + if(item == storage) + continue + add_to_spawned(item) + /** * A separate proc for objects that weren't loaded by the template nor spawned by holo effects * yet need to be added to the list of spawned objects. (e.g. holographic fishes) diff --git a/code/modules/holodeck/turfs.dm b/code/modules/holodeck/turfs.dm index 51e09f8ab9a2c..0eb05fcdc3049 100644 --- a/code/modules/holodeck/turfs.dm +++ b/code/modules/holodeck/turfs.dm @@ -11,6 +11,9 @@ /turf/open/floor/holofloor/item_interaction(mob/living/user, obj/item/tool, list/modifiers) return ITEM_INTERACT_BLOCKING // Fuck you +/turf/open/floor/holofloor/crowbar_act(mob/living/user, obj/item/I) + return NONE // Fuck you + /turf/open/floor/holofloor/burn_tile() return //you can't burn a hologram! @@ -161,7 +164,7 @@ /turf/open/floor/holofloor/carpet/update_icon(updates=ALL) . = ..() - if((updates & UPDATE_SMOOTHING) && overfloor_placed && smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if((updates & UPDATE_SMOOTHING) && overfloor_placed && smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH(src) /turf/open/floor/holofloor/wood diff --git a/code/modules/hydroponics/grown/corn.dm b/code/modules/hydroponics/grown/corn.dm index 8eab962d75118..d5f9f94e1b2df 100644 --- a/code/modules/hydroponics/grown/corn.dm +++ b/code/modules/hydroponics/grown/corn.dm @@ -50,7 +50,7 @@ /obj/item/grown/corncob/attackby(obj/item/grown/W, mob/user, params) if(W.get_sharpness()) to_chat(user, span_notice("You use [W] to fashion a pipe out of the corn cob!")) - new /obj/item/clothing/mask/cigarette/pipe/cobpipe (user.loc) + new /obj/item/cigarette/pipe/cobpipe (user.loc) qdel(src) else return ..() diff --git a/code/modules/jobs/job_types/captain.dm b/code/modules/jobs/job_types/captain.dm index 13e358bdcd528..5b82c9adb7116 100644 --- a/code/modules/jobs/job_types/captain.dm +++ b/code/modules/jobs/job_types/captain.dm @@ -35,7 +35,7 @@ family_heirlooms = list(/obj/item/reagent_containers/cup/glass/flask/gold, /obj/item/toy/captainsaid/collector) mail_goodies = list( - /obj/item/clothing/mask/cigarette/cigar/havana = 20, + /obj/item/cigarette/cigar/havana = 20, /obj/item/storage/fancy/cigarettes/cigars/havana = 15, /obj/item/reagent_containers/cup/glass/bottle/champagne = 5, /obj/item/reagent_containers/cup/glass/bottle/champagne/cursed = 5, diff --git a/code/modules/jobs/job_types/clown.dm b/code/modules/jobs/job_types/clown.dm index e9b40d43e05e6..12f30a9de1b88 100644 --- a/code/modules/jobs/job_types/clown.dm +++ b/code/modules/jobs/job_types/clown.dm @@ -26,6 +26,7 @@ mail_goodies = list( /obj/item/food/grown/banana = 100, /obj/item/food/pie/cream = 50, + /obj/item/spess_knife = 20, // As a joke for clumsy clown from engineering department /obj/item/clothing/shoes/clown_shoes/combat = 10, /obj/item/reagent_containers/spray/waterflower/lube = 20, // lube /obj/item/reagent_containers/spray/waterflower/superlube = 1 // Superlube, good lord. diff --git a/code/modules/jobs/job_types/detective.dm b/code/modules/jobs/job_types/detective.dm index b6984e24b4220..00bd8790d9bd0 100644 --- a/code/modules/jobs/job_types/detective.dm +++ b/code/modules/jobs/job_types/detective.dm @@ -61,7 +61,7 @@ ears = /obj/item/radio/headset/headset_sec/alt gloves = /obj/item/clothing/gloves/color/black head = /obj/item/clothing/head/fedora/det_hat - mask = /obj/item/clothing/mask/cigarette + mask = /obj/item/cigarette neck = /obj/item/clothing/neck/tie/detective shoes = /obj/item/clothing/shoes/sneakers/brown l_pocket = /obj/item/toy/crayon/white @@ -73,15 +73,17 @@ ) implants = list(/obj/item/implant/mindshield) + skillchips = list(/obj/item/skillchip/job/detectives_taste) + /datum/outfit/job/detective/pre_equip(mob/living/carbon/human/human, visualsOnly = FALSE) . = ..() if (human.age < AGE_MINOR) - mask = /obj/item/clothing/mask/cigarette/candy + mask = /obj/item/cigarette/candy head = /obj/item/clothing/head/fedora/det_hat/minor /datum/outfit/job/detective/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE) ..() - var/obj/item/clothing/mask/cigarette/cig = H.wear_mask + var/obj/item/cigarette/cig = H.wear_mask if(istype(cig)) //Some species specfic changes can mess this up (plasmamen) cig.light("") diff --git a/code/modules/jobs/job_types/research_director.dm b/code/modules/jobs/job_types/research_director.dm index bcf34c372285d..5d3c620322759 100644 --- a/code/modules/jobs/job_types/research_director.dm +++ b/code/modules/jobs/job_types/research_director.dm @@ -58,7 +58,7 @@ id = /obj/item/card/id/advanced/silver id_trim = /datum/id_trim/job/research_director uniform = /obj/item/clothing/under/rank/rnd/research_director/turtleneck - suit = /obj/item/clothing/suit/jacket/research_director + suit = /obj/item/clothing/suit/toggle/labcoat/research_director backpack_contents = list( /obj/item/melee/baton/telescopic = 1, ) diff --git a/code/modules/jobs/job_types/station_engineer.dm b/code/modules/jobs/job_types/station_engineer.dm index 8738389ab41d0..14e80f65ea9c4 100644 --- a/code/modules/jobs/job_types/station_engineer.dm +++ b/code/modules/jobs/job_types/station_engineer.dm @@ -31,6 +31,7 @@ mail_goodies = list( /obj/item/storage/box/lights/mixed = 20, /obj/item/lightreplacer = 10, + /obj/item/spess_knife = 10, /obj/item/holosign_creator/engineering = 8, /obj/item/wrench/bolter = 8, /obj/item/clothing/head/utility/hardhat/red/upgraded = 1 diff --git a/code/modules/jobs/job_types/station_trait/veteran_advisor.dm b/code/modules/jobs/job_types/station_trait/veteran_advisor.dm index 87ad65c2c7a71..6fcb8d94707f5 100644 --- a/code/modules/jobs/job_types/station_trait/veteran_advisor.dm +++ b/code/modules/jobs/job_types/station_trait/veteran_advisor.dm @@ -63,7 +63,7 @@ uniform = /obj/item/clothing/under/rank/security/officer/formal head = /obj/item/clothing/head/soft/veteran - mask = /obj/item/clothing/mask/cigarette/cigar + mask = /obj/item/cigarette/cigar suit = /obj/item/clothing/suit/jacket/trenchcoat belt = /obj/item/storage/belt/holster/detective/full/ert //M1911 pistol ears = /obj/item/radio/headset/heads/hos/advisor diff --git a/code/modules/library/bibles.dm b/code/modules/library/bibles.dm index 8c2ad28feadf8..39abe7baa509b 100644 --- a/code/modules/library/bibles.dm +++ b/code/modules/library/bibles.dm @@ -310,25 +310,12 @@ GLOBAL_LIST_INIT(bibleitemstates, list( if(.) return . - if(istype(bible_smacked, /obj/item/cult_bastard) && !IS_CULTIST(user)) - var/obj/item/cult_bastard/sword = bible_smacked - bible_smacked.balloon_alert(user, "exorcising...") + if(istype(bible_smacked, /obj/item/melee/cultblade/haunted) && !IS_CULTIST(user)) + var/obj/item/melee/cultblade/haunted/sword = bible_smacked + sword.balloon_alert(user, "exorcising...") playsound(src,'sound/hallucinations/veryfar_noise.ogg',40,TRUE) if(do_after(user, 4 SECONDS, target = sword)) playsound(src,'sound/effects/pray_chaplain.ogg',60,TRUE) - for(var/obj/item/soulstone/stone in sword.contents) - stone.required_role = null - for(var/mob/living/basic/shade/shade in stone) - var/datum/antagonist/cult/cultist = shade.mind.has_antag_datum(/datum/antagonist/cult) - if(cultist) - cultist.silent = TRUE - cultist.on_removal() - SSblackbox.record_feedback("tally", "cult_shade_purified", 1) - shade.theme = THEME_HOLY - shade.name = "Purified [shade.real_name]" - shade.update_appearance(UPDATE_ICON_STATE) - stone.release_shades(user) - qdel(stone) new /obj/item/nullrod/claymore(get_turf(sword)) user.visible_message(span_notice("[user] exorcises [sword]!")) qdel(sword) diff --git a/code/modules/library/skill_learning/job_skillchips/detective.dm b/code/modules/library/skill_learning/job_skillchips/detective.dm new file mode 100644 index 0000000000000..427b8566e7e1f --- /dev/null +++ b/code/modules/library/skill_learning/job_skillchips/detective.dm @@ -0,0 +1,9 @@ +/obj/item/skillchip/job/detectives_taste + name = "DET.ekt skillchip" + desc = "Detective \"Encyclopedic Knowledge of Tastes\" v1.21" + auto_traits = list(TRAIT_DETECTIVES_TASTE) + skill_name = "Detective's Taste" + skill_description = "Deduce the minute chemical compositions of any liquid substance just by swishing it around your mouth for a bit." + skill_icon = "vial" + activate_message = span_notice("An explosion of flavors hit your mouth as you remember the secret tastebuds long forgotten.") + deactivate_message = span_notice("Your mouth dulls to the hidden tastes of the world.") diff --git a/code/modules/lootpanel/contents.dm b/code/modules/lootpanel/contents.dm index 4bb255b15611b..44f4acd47f24c 100644 --- a/code/modules/lootpanel/contents.dm +++ b/code/modules/lootpanel/contents.dm @@ -18,6 +18,9 @@ for(var/atom/thing as anything in source_turf.contents) // validate + if(!istype(thing)) + stack_trace("Non-atom in the contents of [source_turf]!") + continue if(thing.mouse_opacity == MOUSE_OPACITY_TRANSPARENT) continue if(thing.IsObscured()) diff --git a/code/modules/lootpanel/search_object.dm b/code/modules/lootpanel/search_object.dm index 4de60b04a678a..3550c62ef4133 100644 --- a/code/modules/lootpanel/search_object.dm +++ b/code/modules/lootpanel/search_object.dm @@ -25,12 +25,12 @@ if(isturf(item)) RegisterSignal(item, COMSIG_TURF_CHANGE, PROC_REF(on_turf_change)) - else RegisterSignals(item, list( - COMSIG_ITEM_PICKUP, - COMSIG_MOVABLE_MOVED, - COMSIG_QDELETING, + COMSIG_ATOM_ENTERED, + COMSIG_ATOM_EXITED, ), PROC_REF(on_item_moved)) + else + RegisterSignal(item, COMSIG_QDELETING, PROC_REF(on_item_moved)) // Icon generation conditions ////////////// // Condition 1: Icon is complex diff --git a/code/modules/mafia/outfits.dm b/code/modules/mafia/outfits.dm index 5c6450adb90d2..3b805bd92f9c0 100644 --- a/code/modules/mafia/outfits.dm +++ b/code/modules/mafia/outfits.dm @@ -64,7 +64,7 @@ suit = /obj/item/clothing/suit/jacket/det_suit gloves = /obj/item/clothing/gloves/color/black head = /obj/item/clothing/head/fedora/det_hat - mask = /obj/item/clothing/mask/cigarette + mask = /obj/item/cigarette /datum/outfit/mafia/psychologist name = "Mafia Psychologist" diff --git a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm index 3bb1fb48e599a..4aecd64aa1699 100644 --- a/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm +++ b/code/modules/mapfluff/ruins/lavalandruin_code/elephantgraveyard.dm @@ -209,7 +209,7 @@ new /obj/item/clothing/glasses/science(src) if(7) new /obj/item/clothing/glasses/sunglasses/big(src) - new /obj/item/clothing/mask/cigarette/rollie(src) + new /obj/item/cigarette/rollie(src) else //empty grave return @@ -289,7 +289,7 @@ deconstruct(TRUE) return TRUE -/obj/structure/closet/crate/grave/container_resist_act(mob/living/user) +/obj/structure/closet/crate/grave/container_resist_act(mob/living/user, loc_required = TRUE) if(opened) return // The player is trying to dig themselves out of an early grave diff --git a/code/modules/mapping/mapping_helpers.dm b/code/modules/mapping/mapping_helpers.dm index f30074326fdf8..e81425b9a1a80 100644 --- a/code/modules/mapping/mapping_helpers.dm +++ b/code/modules/mapping/mapping_helpers.dm @@ -107,6 +107,12 @@ return return ..(ceiling) +///Used for marking mapping errors. These should only be created by cases explicitly caught by unit tests, and should NEVER actually appear in production. +/obj/effect/mapping_error + name = "I AM ERROR" + desc = "IF YOU SEE ME, YELL AT A MAPPER!!!" + icon = 'icons/effects/mapping_helpers.dmi' + icon_state = "mapping_error" /obj/effect/mapping_helpers icon = 'icons/effects/mapping_helpers.dmi' @@ -563,17 +569,17 @@ if(!mapload) log_mapping("[src] spawned outside of mapload!") return INITIALIZE_HINT_QDEL - check_validity() - return INITIALIZE_HINT_QDEL + return INITIALIZE_HINT_LATELOAD -/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch/proc/check_validity() +/obj/effect/mapping_helpers/turn_off_lights_with_lightswitch/LateInitialize() var/area/needed_area = get_area(src) if(!needed_area.lightswitch) stack_trace("[src] at [AREACOORD(src)] [(needed_area.type)] tried to turn lights off but they are already off!") var/obj/machinery/light_switch/light_switch = locate(/obj/machinery/light_switch) in needed_area if(!light_switch) - stack_trace("Trying to turn off lights with lightswitch in area without lightswitches. In [(needed_area.type)] to be precise.") - needed_area.lightswitch = FALSE + CRASH("Trying to turn off lights with lightswitch in area without lightswitches. In [(needed_area.type)] to be precise.") + light_switch.set_lights(FALSE) + qdel(src) //needs to do its thing before spawn_rivers() is called INITIALIZE_IMMEDIATE(/obj/effect/mapping_helpers/no_lava) diff --git a/code/modules/meteors/meteor_types.dm b/code/modules/meteors/meteor_types.dm index 9096ab24afec8..504cca702de00 100644 --- a/code/modules/meteors/meteor_types.dm +++ b/code/modules/meteors/meteor_types.dm @@ -459,8 +459,8 @@ /obj/effect/meteor/pumpkin name = "PUMPKING" desc = "THE PUMPKING'S COMING!" - icon = 'icons/obj/meteor_spooky.dmi' - icon_state = "pumpkin" + icon = 'icons/obj/meteor.dmi' + icon_state = "spooky" hits = 10 heavy = TRUE dropamt = 1 diff --git a/code/modules/mining/abandoned_crates.dm b/code/modules/mining/abandoned_crates.dm index fa15060d282a9..40cb967d3a0ab 100644 --- a/code/modules/mining/abandoned_crates.dm +++ b/code/modules/mining/abandoned_crates.dm @@ -141,7 +141,7 @@ new /obj/item/lighter(src) new /obj/item/reagent_containers/cup/glass/bottle/absinthe/premium(src) for(var/i in 1 to 3) - new /obj/item/clothing/mask/cigarette/rollie(src) + new /obj/item/cigarette/rollie(src) if(6 to 10) new /obj/item/melee/skateboard/pro(src) if(11 to 15) diff --git a/code/modules/mining/fulton.dm b/code/modules/mining/fulton.dm index 56b65c456197b..649acabfcae4a 100644 --- a/code/modules/mining/fulton.dm +++ b/code/modules/mining/fulton.dm @@ -97,13 +97,10 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) if(uses_left <= 0) user.transferItemToLoc(src, thing, TRUE) - var/mutable_appearance/balloon - var/mutable_appearance/balloon2 - var/mutable_appearance/balloon3 - if(isliving(thing)) var/mob/living/creature = thing creature.Paralyze(32 SECONDS) // Keep them from moving during the duration of the extraction + ADD_TRAIT(creature, TRAIT_FORCED_STANDING, FULTON_PACK_TRAIT) // Prevents animation jank from happening if(creature.buckled) creature.buckled.unbuckle_mob(creature, TRUE) // Unbuckle them to prevent anchoring problems else @@ -113,14 +110,15 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) var/obj/effect/extraction_holder/holder_obj = new(get_turf(thing)) holder_obj.appearance = thing.appearance thing.forceMove(holder_obj) - balloon2 = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_expand") + var/mutable_appearance/balloon2 = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_expand", layer = VEHICLE_LAYER) balloon2.pixel_y = 10 balloon2.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM holder_obj.add_overlay(balloon2) + addtimer(CALLBACK(src, PROC_REF(create_balloon), thing, user, holder_obj, balloon2), 0.4 SECONDS) + return ITEM_INTERACT_SUCCESS - sleep(0.4 SECONDS) - - balloon = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_balloon") +/obj/item/extraction_pack/proc/create_balloon(atom/movable/thing, mob/living/user, obj/effect/extraction_holder/holder_obj, mutable_appearance/balloon2) + var/mutable_appearance/balloon = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_balloon", layer = VEHICLE_LAYER) balloon.pixel_y = 10 balloon.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM holder_obj.cut_overlay(balloon2) @@ -132,6 +130,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) animate(pixel_z = -5, time = 1 SECONDS, flags = ANIMATION_RELATIVE) animate(pixel_z = 5, time = 1 SECONDS, flags = ANIMATION_RELATIVE) animate(pixel_z = -5, time = 1 SECONDS, flags = ANIMATION_RELATIVE) + sleep(6 SECONDS) playsound(holder_obj.loc, 'sound/items/fultext_launch.ogg', vol = 50, vary = TRUE, extrarange = -3) @@ -146,7 +145,7 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) sleep(3 SECONDS) var/turf/flooring_near_beacon = list() - var/turf/beacon_turf = get_turf(beacon) + var/turf/beacon_turf = get_turf(beacon_ref.resolve()) for(var/turf/floor as anything in RANGE_TURFS(1, beacon_turf)) if(!floor.is_blocked_turf()) flooring_near_beacon += floor @@ -159,26 +158,28 @@ GLOBAL_LIST_EMPTY(total_extraction_beacons) animate(holder_obj, pixel_z = -990, time = 5 SECONDS, flags = ANIMATION_RELATIVE) animate(pixel_z = 5, time = 1 SECONDS, flags = ANIMATION_RELATIVE) animate(pixel_z = -5, time = 1 SECONDS, flags = ANIMATION_RELATIVE) + sleep(7 SECONDS) - balloon3 = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_retract") + var/mutable_appearance/balloon3 = mutable_appearance('icons/effects/fulton_balloon.dmi', "fulton_retract", layer = VEHICLE_LAYER) balloon3.pixel_y = 10 balloon3.appearance_flags = RESET_COLOR | RESET_ALPHA | RESET_TRANSFORM holder_obj.cut_overlay(balloon) holder_obj.add_overlay(balloon3) + sleep(0.4 SECONDS) holder_obj.cut_overlay(balloon3) + if (isliving(thing)) + REMOVE_TRAIT(thing, TRAIT_FORCED_STANDING, FULTON_PACK_TRAIT) thing.set_anchored(FALSE) // An item has to be unanchored to be extracted in the first place. thing.set_density(initial(thing.density)) animate(holder_obj, pixel_z = -10, time = 0.5 SECONDS, flags = ANIMATION_RELATIVE) sleep(0.5 SECONDS) - thing.forceMove(holder_obj.loc) qdel(holder_obj) if(uses_left <= 0) qdel(src) - return ITEM_INTERACT_SUCCESS /obj/item/fulton_core name = "extraction beacon assembly kit" diff --git a/code/modules/mining/lavaland/ash_flora.dm b/code/modules/mining/lavaland/ash_flora.dm index 9cbc516697808..1e4e444861155 100644 --- a/code/modules/mining/lavaland/ash_flora.dm +++ b/code/modules/mining/lavaland/ash_flora.dm @@ -311,7 +311,7 @@ product = /obj/item/food/grown/ash_flora/shavings genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance) growing_icon = 'icons/obj/service/hydroponics/growing_mushrooms.dmi' - reagents_add = list(/datum/reagent/consumable/nutriment = 0.04, /datum/reagent/consumable/sugar = 0.06, /datum/reagent/consumable/ethanol = 0.04, /datum/reagent/stabilizing_agent = 0.06, /datum/reagent/consumable/mintextract = 0.02) + reagents_add = list(/datum/reagent/consumable/nutriment = 0.04, /datum/reagent/consumable/ethanol = 0.04, /datum/reagent/stabilizing_agent = 0.06, /datum/reagent/consumable/mintextract = 0.02) /obj/item/seeds/lavaland/porcini name = "pack of porcini mycelium" @@ -322,7 +322,7 @@ product = /obj/item/food/grown/ash_flora/mushroom_leaf genes = list(/datum/plant_gene/trait/plant_type/fungal_metabolism, /datum/plant_gene/trait/fire_resistance) growing_icon = 'icons/obj/service/hydroponics/growing_mushrooms.dmi' - reagents_add = list(/datum/reagent/consumable/nutriment = 0.06, /datum/reagent/consumable/vitfro = 0.04, /datum/reagent/drug/nicotine = 0.04) + reagents_add = list(/datum/reagent/consumable/nutriment = 0.06, /datum/reagent/consumable/sugar = 0.06, /datum/reagent/consumable/vitfro = 0.04, /datum/reagent/drug/nicotine = 0.04) /obj/item/seeds/lavaland/inocybe name = "pack of inocybe mycelium" diff --git a/code/modules/mob/dead/observer/observer.dm b/code/modules/mob/dead/observer/observer.dm index 3c02de4707317..c1a81b9d33847 100644 --- a/code/modules/mob/dead/observer/observer.dm +++ b/code/modules/mob/dead/observer/observer.dm @@ -359,6 +359,12 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp abstract_move(destination) // move like the wind return TRUE +/mob/dead/observer/Moved(atom/old_loc, movement_dir, forced, list/old_locs, momentum_change) + . = ..() + var/area/new_area = get_area(src) + if(new_area != ambience_tracked_area) + update_ambience_area(new_area) + /mob/dead/observer/verb/reenter_corpse() set category = "Ghost" set name = "Re-enter Corpse" @@ -693,8 +699,7 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp //this is called when a ghost is drag clicked to something. /mob/dead/observer/mouse_drop_dragged(atom/over, mob/user) if (isobserver(user) && user.client.holder && (isliving(over) || iscameramob(over))) - if (user.client.holder.cmd_ghost_drag(src,over)) - return + user.client.holder.cmd_ghost_drag(src, over) /mob/dead/observer/Topic(href, href_list) ..() @@ -983,6 +988,13 @@ This is the proc mobs get to turn into a ghost. Forked from ghostize due to comp game = create_mafia_game() game.ui_interact(usr) +/mob/dead/observer/AltClickOn(atom/target) + client.loot_panel.open(get_turf(target)) + +/mob/dead/observer/AltClickSecondaryOn(atom/target) + if(client && check_rights_for(client, R_DEBUG)) + client.toggle_tag_datum(src) + /mob/dead/observer/CtrlShiftClickOn(atom/target) if(isobserver(target) && check_rights(R_SPAWN)) var/mob/dead/observer/target_ghost = target diff --git a/code/modules/mob/inventory.dm b/code/modules/mob/inventory.dm index 50ab6e82faa4d..2d22c11ee71f8 100644 --- a/code/modules/mob/inventory.dm +++ b/code/modules/mob/inventory.dm @@ -290,8 +290,12 @@ /mob/proc/is_holding_items() return !!locate(/obj/item) in held_items +/** + * Returns a list of all dropped held items. + * If none were dropped, returns an empty list. + */ /mob/proc/drop_all_held_items() - . = FALSE + . = list() for(var/obj/item/I in held_items) . |= dropItemToGround(I) @@ -319,24 +323,25 @@ /** * Used to drop an item (if it exists) to the ground. - * * Will pass as TRUE is successfully dropped, or if there is no item to drop. - * * Will pass FALSE if the item can not be dropped due to TRAIT_NODROP via doUnEquip() + * * Will return null if the item wasn't dropped. + * * If it was, returns the item. * If the item can be dropped, it will be forceMove()'d to the ground and the turf's Entered() will be called. */ /mob/proc/dropItemToGround(obj/item/I, force = FALSE, silent = FALSE, invdrop = TRUE) if (isnull(I)) - return TRUE + return SEND_SIGNAL(src, COMSIG_MOB_DROPPING_ITEM) - . = doUnEquip(I, force, drop_location(), FALSE, invdrop = invdrop, silent = silent) + var/try_uneqip = doUnEquip(I, force, drop_location(), FALSE, invdrop = invdrop, silent = silent) - if(!. || !I) //ensure the item exists and that it was dropped properly. + if(!try_uneqip || !I) //ensure the item exists and that it was dropped properly. return if(!(I.item_flags & NO_PIXEL_RANDOM_DROP)) I.pixel_x = I.base_pixel_x + rand(-6, 6) I.pixel_y = I.base_pixel_y + rand(-6, 6) I.do_drop_animation(src) + return I //for when the item will be immediately placed in a loc other than the ground /mob/proc/transferItemToLoc(obj/item/I, newloc = null, force = FALSE, silent = TRUE) @@ -401,59 +406,105 @@ return items /** - * Used to return a list of equipped items on a human mob; does not by default include held items, see include_flags - * - * Argument(s): - * * Optional - include_flags, (see obj.flags.dm) describes which optional things to include or not (pockets, accessories, held items) + * Returns the items that were succesfully unequipped. */ - -/mob/living/carbon/human/get_equipped_items(include_flags = NONE) - var/list/items = ..() - if(!(include_flags & INCLUDE_POCKETS)) - items -= list(l_store, r_store, s_store) - if((include_flags & INCLUDE_ACCESSORIES) && w_uniform) - var/obj/item/clothing/under/worn_under = w_uniform - items += worn_under.attached_accessories - return items - /mob/living/proc/unequip_everything() var/list/items = list() items |= get_equipped_items(INCLUDE_POCKETS) + // In case something isn't actually unequipped somehow + var/list/dropped_items = list() for(var/I in items) - dropItemToGround(I) - drop_all_held_items() - - -/mob/living/carbon/proc/check_obscured_slots(transparent_protection) - var/obscured = NONE - var/hidden_slots = NONE - - for(var/obj/item/equipped_item in get_equipped_items()) - hidden_slots |= equipped_item.flags_inv - if(transparent_protection) - hidden_slots |= equipped_item.transparent_protection - - if(hidden_slots & HIDENECK) - obscured |= ITEM_SLOT_NECK - if(hidden_slots & HIDEMASK) - obscured |= ITEM_SLOT_MASK - if(hidden_slots & HIDEEYES) - obscured |= ITEM_SLOT_EYES - if(hidden_slots & HIDEEARS) - obscured |= ITEM_SLOT_EARS - if(hidden_slots & HIDEGLOVES) - obscured |= ITEM_SLOT_GLOVES - if(hidden_slots & HIDEJUMPSUIT) - obscured |= ITEM_SLOT_ICLOTHING - if(hidden_slots & HIDESHOES) - obscured |= ITEM_SLOT_FEET - if(hidden_slots & HIDESUITSTORAGE) - obscured |= ITEM_SLOT_SUITSTORE - if(hidden_slots & HIDEHEADGEAR) - obscured |= ITEM_SLOT_HEAD - - return obscured + var/return_val = dropItemToGround(I) + if(!isitem(return_val)) + continue + dropped_items |= return_val + var/return_val = drop_all_held_items() + if(islist(return_val)) + dropped_items |= return_val + return dropped_items +/** + * Try to equip an item to a slot on the mob + * + * This is a SAFE proc. Use this instead of equip_to_slot()! + * + * set qdel_on_fail to have it delete W if it fails to equip + * + * set disable_warning to disable the 'you are unable to equip that' warning. + * + * unset redraw_mob to prevent the mob icons from being redrawn at the end. + * + * Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it + * + * set indirect_action to allow insertions into "soft" locked objects, things that are easily opened by the owning mob + */ +/mob/proc/equip_to_slot_if_possible(obj/item/W, slot, qdel_on_fail = FALSE, disable_warning = FALSE, redraw_mob = TRUE, bypass_equip_delay_self = FALSE, initial = FALSE, indirect_action = FALSE) + if(!istype(W) || QDELETED(W)) //This qdeleted is to prevent stupid behavior with things that qdel during init, like say stacks + return FALSE + if(!W.mob_can_equip(src, slot, disable_warning, bypass_equip_delay_self, indirect_action = indirect_action)) + if(qdel_on_fail) + qdel(W) + else if(!disable_warning) + to_chat(src, span_warning("You are unable to equip that!")) + return FALSE + equip_to_slot(W, slot, initial, redraw_mob, indirect_action = indirect_action) //This proc should not ever fail. + return TRUE + +/** + * Actually equips an item to a slot (UNSAFE) + * + * This is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on + * whether you can or can't equip need to be done before! Use mob_can_equip() for that task. + * + *In most cases you will want to use equip_to_slot_if_possible() + */ +/mob/proc/equip_to_slot(obj/item/equipping, slot, initial = FALSE, redraw_mob = FALSE, indirect_action = FALSE) + return + +/** + * Equip an item to the slot or delete + * + * This is just a commonly used configuration for the equip_to_slot_if_possible() proc, used to + * equip people when the round starts and when events happen and such. + * + * Also bypasses equip delay checks, since the mob isn't actually putting it on. + * Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it + * set indirect_action to allow insertions into "soft" locked objects, things that are easily opened by the owning mob + */ +/mob/proc/equip_to_slot_or_del(obj/item/W, slot, initial = FALSE, indirect_action = FALSE) + return equip_to_slot_if_possible(W, slot, TRUE, TRUE, FALSE, TRUE, initial, indirect_action) + +/** + * Auto equip the passed in item the appropriate slot based on equipment priority + * + * puts the item "W" into an appropriate slot in a human's inventory + * + * returns 0 if it cannot, 1 if successful + */ +/mob/proc/equip_to_appropriate_slot(obj/item/W, qdel_on_fail = FALSE, indirect_action = FALSE) + if(!istype(W)) + return FALSE + var/slot_priority = W.slot_equipment_priority + + if(!slot_priority) + slot_priority = list( \ + ITEM_SLOT_BACK, ITEM_SLOT_ID,\ + ITEM_SLOT_ICLOTHING, ITEM_SLOT_OCLOTHING,\ + ITEM_SLOT_MASK, ITEM_SLOT_HEAD, ITEM_SLOT_NECK,\ + ITEM_SLOT_FEET, ITEM_SLOT_GLOVES,\ + ITEM_SLOT_EARS, ITEM_SLOT_EYES,\ + ITEM_SLOT_BELT, ITEM_SLOT_SUITSTORE,\ + ITEM_SLOT_LPOCKET, ITEM_SLOT_RPOCKET,\ + ITEM_SLOT_DEX_STORAGE\ + ) + + for(var/slot in slot_priority) + if(equip_to_slot_if_possible(W, slot, disable_warning = TRUE, redraw_mob = TRUE, indirect_action = indirect_action)) + return TRUE + + if(qdel_on_fail) + qdel(W) + return FALSE /// Tries to equip an item, store it in open storage, or in next best storage /obj/item/proc/equip_to_best_slot(mob/user) @@ -534,27 +585,6 @@ if(hud_used) hud_used.build_hand_slots() -/mob/living/carbon/human/change_number_of_hands(amt) - var/old_limbs = held_items.len - if(amt < old_limbs) - for(var/i in hand_bodyparts.len to amt step -1) - var/obj/item/bodypart/BP = hand_bodyparts[i] - BP.dismember() - hand_bodyparts[i] = null - hand_bodyparts.len = amt - else if(amt > old_limbs) - hand_bodyparts.len = amt - for(var/i in old_limbs+1 to amt) - var/path = /obj/item/bodypart/arm/left - if(!(i % 2)) - path = /obj/item/bodypart/arm/right - - var/obj/item/bodypart/BP = new path () - BP.held_index = i - BP.try_attach_limb(src, TRUE) - hand_bodyparts[i] = BP - ..() //Don't redraw hands until we have organs for them - //GetAllContents that is reasonable and not stupid /mob/living/proc/get_all_gear() var/list/processing_list = get_equipped_items(INCLUDE_POCKETS | INCLUDE_ACCESSORIES | INCLUDE_HELD) diff --git a/code/modules/mob/living/basic/bots/bot_ai.dm b/code/modules/mob/living/basic/bots/bot_ai.dm index 93d53d6e52183..b7cd5dcabd394 100644 --- a/code/modules/mob/living/basic/bots/bot_ai.dm +++ b/code/modules/mob/living/basic/bots/bot_ai.dm @@ -276,3 +276,17 @@ /datum/ai_behavior/bot_search/proc/valid_target(datum/ai_controller/basic_controller/bot/controller, atom/my_target) return TRUE + +///behavior to make our bot talk +/datum/ai_behavior/bot_speech + action_cooldown = 5 SECONDS + behavior_flags = AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION + +/datum/ai_behavior/bot_speech/perform(seconds_per_tick, datum/ai_controller/controller, list/list_to_pick_from, announce_key) + var/datum/action/cooldown/bot_announcement/announcement = controller.blackboard[announce_key] + + if(isnull(announcement) || !length(list_to_pick_from)) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED + + announcement.announce(pick(list_to_pick_from)) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED diff --git a/code/modules/mob/living/basic/bots/firebot/firebot.dm b/code/modules/mob/living/basic/bots/firebot/firebot.dm new file mode 100644 index 0000000000000..31fa969fa5983 --- /dev/null +++ b/code/modules/mob/living/basic/bots/firebot/firebot.dm @@ -0,0 +1,169 @@ +#define FOAM_INTERVAL 5 SECONDS + +/mob/living/basic/bot/firebot + name = "\improper Firebot" + desc = "A little fire extinguishing bot. He looks rather anxious." + icon = 'icons/mob/silicon/aibots.dmi' + icon_state = "firebot1" + light_color = "#8cffc9" + light_power = 0.8 + + req_one_access = list(ACCESS_ROBOTICS, ACCESS_CONSTRUCTION) + radio_key = /obj/item/encryptionkey/headset_eng + radio_channel = RADIO_CHANNEL_ENGINEERING + bot_type = FIRE_BOT + additional_access = /datum/id_trim/job/station_engineer + hackables = "fire safety protocols" + path_image_color = "#FFA500" + possessed_message = "You are a firebot! Protect the station from fires to the best of your ability!" + ai_controller = /datum/ai_controller/basic_controller/bot/firebot + ///our inbuilt fire extinguisher + var/obj/item/extinguisher/internal_ext + + ///Flags firebots use to decide how they function. + var/firebot_mode_flags = FIREBOT_EXTINGUISH_PEOPLE | FIREBOT_EXTINGUISH_FLAMES + //Selections: FIREBOT_STATIONARY_MODE | FIREBOT_EXTINGUISH_PEOPLE | FIREBOT_EXTINGUISH_FLAMES + ///cooldown before we release foam all over + COOLDOWN_DECLARE(foam_cooldown) + + +/mob/living/basic/bot/firebot/generate_speak_list() + var/static/list/idle_lines = list( + FIREBOT_VOICED_NO_FIRES = 'sound/voice/firebot/nofires.ogg', + FIREBOT_VOICED_ONLY_YOU = 'sound/voice/firebot/onlyyou.ogg', + FIREBOT_VOICED_TEMPERATURE_NOMINAL = 'sound/voice/firebot/tempnominal.ogg', + FIREBOT_VOICED_KEEP_COOL = 'sound/voice/firebot/keepitcool.ogg', + ) + var/static/list/fire_detected_lines = list( + FIREBOT_VOICED_FIRE_DETECTED = 'sound/voice/firebot/detected.ogg', + FIREBOT_VOICED_STOP_DROP = 'sound/voice/firebot/stopdropnroll.ogg', + FIREBOT_VOICED_EXTINGUISHING = 'sound/voice/firebot/extinguishing.ogg', + ) + var/static/list/emagged_lines = list( + FIREBOT_VOICED_CANDLE_TIP = 'sound/voice/firebot/candle_tip.ogg', + FIREBOT_VOICED_ELECTRIC_FIRE = 'sound/voice/firebot/electric_fire_tip.ogg', + FIREBOT_VOICED_FUEL_TIP = 'sound/voice/firebot/gasoline_tip.ogg' + ) + ai_controller.set_blackboard_key(BB_FIREBOT_EMAGGED_LINES, emagged_lines) + ai_controller.set_blackboard_key(BB_FIREBOT_IDLE_LINES, idle_lines) + ai_controller.set_blackboard_key(BB_FIREBOT_FIRE_DETECTED_LINES, fire_detected_lines) + return idle_lines + fire_detected_lines + +/mob/living/basic/bot/firebot/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) + update_appearance(UPDATE_ICON) + var/static/list/things_to_extinguish = typecacheof(list(/mob/living/carbon)) + ai_controller.set_blackboard_key(BB_FIREBOT_CAN_EXTINGUISH, things_to_extinguish) + create_extinguisher() + AddElement(/datum/element/atmos_sensitive, mapload) + +/mob/living/basic/bot/firebot/Destroy() + QDEL_NULL(internal_ext) + return ..() + +/mob/living/basic/bot/firebot/bot_reset(bypass_ai_reset) + . = ..() + create_extinguisher() + +/mob/living/basic/bot/firebot/proc/create_extinguisher() + internal_ext = new /obj/item/extinguisher(src) + internal_ext.safety = FALSE + internal_ext.precision = TRUE + internal_ext.max_water = INFINITY + internal_ext.refill() + +/mob/living/basic/bot/firebot/melee_attack(atom/attacked_atom, list/modifiers, ignore_cooldown = FALSE) + use_extinguisher(attacked_atom) + +/mob/living/basic/bot/firebot/RangedAttack(atom/attacked_atom, list/modifiers) + use_extinguisher(attacked_atom) + +/mob/living/basic/bot/firebot/proc/use_extinguisher(atom/attacked_atom) + if(!(bot_mode_flags & BOT_MODE_ON)) + return + spray_water(attacked_atom) + +/mob/living/basic/bot/firebot/emag_act(mob/user, obj/item/card/emag/emag_card) + . = ..() + if(!(bot_access_flags & BOT_COVER_EMAGGED)) + return + + to_chat(user, span_warning("You enable the very ironically named \"fighting with fire\" mode, and disable the targeting safeties.")) // heheehe. funny + + audible_message(span_danger("[src] buzzes oddly!")) + playsound(src, SFX_SPARKS, 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) + + internal_ext.chem = /datum/reagent/clf3 //Refill the internal extinguisher with liquid fire + internal_ext.power = 3 + internal_ext.safety = FALSE + internal_ext.precision = FALSE + internal_ext.max_water = INFINITY + internal_ext.refill() + return TRUE + +// Variables sent to TGUI +/mob/living/basic/bot/firebot/ui_data(mob/user) + var/list/data = ..() + if(!(bot_access_flags & BOT_COVER_LOCKED) || HAS_SILICON_ACCESS(user)) + data["custom_controls"]["extinguish_fires"] = firebot_mode_flags & FIREBOT_EXTINGUISH_FLAMES + data["custom_controls"]["extinguish_people"] = firebot_mode_flags & FIREBOT_EXTINGUISH_PEOPLE + data["custom_controls"]["stationary_mode"] = firebot_mode_flags & FIREBOT_STATIONARY_MODE + return data + +// Actions received from TGUI +/mob/living/basic/bot/firebot/ui_act(action, params) + . = ..() + if(. || (bot_access_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(usr))) + return + + switch(action) + if("extinguish_fires") + firebot_mode_flags ^= FIREBOT_EXTINGUISH_FLAMES + if("extinguish_people") + firebot_mode_flags ^= FIREBOT_EXTINGUISH_PEOPLE + if("stationary_mode") + firebot_mode_flags ^= FIREBOT_STATIONARY_MODE + update_appearance() + +/mob/living/basic/bot/firebot/should_atmos_process(datum/gas_mixture/air, exposed_temperature) + return (exposed_temperature > T0C + 200 || exposed_temperature < BODYTEMP_COLD_DAMAGE_LIMIT) + +/mob/living/basic/bot/firebot/atmos_expose(datum/gas_mixture/air, exposed_temperature) + if(!COOLDOWN_FINISHED(src, foam_cooldown)) + return + var/datum/effect_system/fluid_spread/foam/firefighting/foam = new + foam.set_up(3, holder = src, location = loc) + foam.start() + COOLDOWN_START(src, foam_cooldown, FOAM_INTERVAL) + +/mob/living/basic/bot/firebot/proc/spray_water(atom/attacked_atom) + if(firebot_mode_flags & FIREBOT_STATIONARY_MODE) + flick("firebots_use", src) + else + flick("firebot1_use", src) + internal_ext?.melee_attack_chain(src, attacked_atom) + +/mob/living/basic/bot/firebot/update_icon_state() + . = ..() + if(!(bot_mode_flags & BOT_MODE_ON)) + icon_state = "firebot0" + return + if(IsStun() || IsParalyzed() || (firebot_mode_flags & FIREBOT_STATIONARY_MODE)) //Bot has yellow light to indicate stationary mode. + icon_state = "firebots1" + return + icon_state = "firebot1" + +/mob/living/basic/bot/firebot/explode() + var/turf/my_turf = drop_location() + + new /obj/item/assembly/prox_sensor(my_turf) + new /obj/item/clothing/head/utility/hardhat/red(my_turf) + + if(isopenturf(my_turf)) + var/turf/open/open_turf = my_turf + open_turf.MakeSlippery(TURF_WET_WATER, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS) + + return ..() + +#undef FOAM_INTERVAL diff --git a/code/modules/mob/living/basic/bots/firebot/firebot_ai.dm b/code/modules/mob/living/basic/bots/firebot/firebot_ai.dm new file mode 100644 index 0000000000000..31127ecdfb4e7 --- /dev/null +++ b/code/modules/mob/living/basic/bots/firebot/firebot_ai.dm @@ -0,0 +1,132 @@ +#define ANNOUNCEMENT_TIMER 10 SECONDS + +/datum/ai_controller/basic_controller/bot/firebot + blackboard = list( + BB_TARGETING_STRATEGY = /datum/targeting_strategy/basic/allow_turfs, + BB_UNREACHABLE_LIST_COOLDOWN = 45 SECONDS, + ) + planning_subtrees = list( + /datum/ai_planning_subtree/respond_to_summon, + /datum/ai_planning_subtree/manage_unreachable_list, + /datum/ai_planning_subtree/extinguishing_people, + /datum/ai_planning_subtree/extinguishing_turfs, + /datum/ai_planning_subtree/salute_authority, + /datum/ai_planning_subtree/firebot_speech, + /datum/ai_planning_subtree/find_patrol_beacon, + ) + reset_keys = list( + BB_FIREBOT_EXTINGUISH_TARGET, + BB_BEACON_TARGET, + BB_PREVIOUS_BEACON_TARGET, + BB_BOT_SUMMON_TARGET, + ) + ///cooldown until we announce a fire again + COOLDOWN_DECLARE(announcement_cooldown) + +/datum/ai_controller/basic_controller/bot/firebot/TryPossessPawn(atom/new_pawn) + . = ..() + if(. & AI_CONTROLLER_INCOMPATIBLE) + return + RegisterSignal(new_pawn, COMSIG_AI_BLACKBOARD_KEY_SET(BB_FIREBOT_EXTINGUISH_TARGET), PROC_REF(on_target_found)) + +///say a silly line whenever we find someone on fire +/datum/ai_controller/basic_controller/bot/firebot/proc/on_target_found() + SIGNAL_HANDLER + if(!COOLDOWN_FINISHED(src, announcement_cooldown)) + return + + var/datum/action/cooldown/bot_announcement/announcement = blackboard[BB_ANNOUNCE_ABILITY] + if(isnull(announcement)) + return + + var/list/lines = blackboard[BB_FIREBOT_FIRE_DETECTED_LINES] + if(!length(lines)) + return + INVOKE_ASYNC(announcement, TYPE_PROC_REF(/datum/action/cooldown/bot_announcement, announce), pick(lines)) + COOLDOWN_START(src, announcement_cooldown, ANNOUNCEMENT_TIMER) + + +///subtree for extinguishing people +/datum/ai_planning_subtree/extinguishing_people + +/datum/ai_planning_subtree/extinguishing_people/SelectBehaviors(datum/ai_controller/basic_controller/bot/controller, seconds_per_tick) + if(controller.blackboard_key_exists(BB_FIREBOT_EXTINGUISH_TARGET)) + controller.queue_behavior(/datum/ai_behavior/basic_melee_attack/interact_once/extinguish, BB_FIREBOT_EXTINGUISH_TARGET, BB_TARGETING_STRATEGY) + return SUBTREE_RETURN_FINISH_PLANNING + + var/mob/living/basic/bot/firebot/living_bot = controller.pawn + var/range = living_bot.firebot_mode_flags & FIREBOT_STATIONARY_MODE ? 1 : 5 + + if(living_bot.firebot_mode_flags & FIREBOT_EXTINGUISH_PEOPLE) + controller.queue_behavior(/datum/ai_behavior/bot_search/people_on_fire, BB_FIREBOT_EXTINGUISH_TARGET, controller.blackboard[BB_FIREBOT_CAN_EXTINGUISH], range) + +///behavior for finding people on fire +/datum/ai_behavior/bot_search/people_on_fire + +/datum/ai_behavior/bot_search/people_on_fire/valid_target(datum/ai_controller/basic_controller/bot/controller, mob/living/my_target) + var/mob/living/basic/bot/living_bot = controller.pawn + return (my_target.on_fire || (living_bot.bot_access_flags & BOT_COVER_EMAGGED)) + +///subtree for finding turfs to extinguish +/datum/ai_planning_subtree/extinguishing_turfs + +/datum/ai_planning_subtree/extinguishing_turfs/SelectBehaviors(datum/ai_controller/basic_controller/bot/controller, seconds_per_tick) + if(controller.blackboard_key_exists(BB_FIREBOT_EXTINGUISH_TARGET)) + return + + var/mob/living/basic/bot/firebot/living_bot = controller.pawn + var/should_bypass_blacklist = living_bot.firebot_mode_flags & FIREBOT_STATIONARY_MODE + + if(living_bot.firebot_mode_flags & FIREBOT_EXTINGUISH_FLAMES) + controller.queue_behavior(/datum/ai_behavior/search_burning_turfs, BB_FIREBOT_EXTINGUISH_TARGET, should_bypass_blacklist) + +///behavior to find burning turfs +/datum/ai_behavior/search_burning_turfs + action_cooldown = 2 SECONDS + behavior_flags = AI_BEHAVIOR_CAN_PLAN_DURING_EXECUTION + +/datum/ai_behavior/search_burning_turfs/perform(seconds_per_tick, datum/ai_controller/basic_controller/bot/controller, target_key, bypass_add_blacklist = FALSE) + var/mob/living/living_pawn = controller.pawn + var/list/ignore_list = controller.blackboard[BB_TEMPORARY_IGNORE_LIST] + + for(var/turf/possible_turf as anything in RANGE_TURFS(5, living_pawn)) + if(QDELETED(living_pawn)) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED + if(!isopenturf(possible_turf)) + continue + var/turf/open/open_turf = possible_turf + if(!open_turf.active_hotspot) + continue + if(LAZYACCESS(ignore_list, possible_turf)) + continue + if(controller.set_if_can_reach(target_key, possible_turf, bypass_add_to_blacklist = bypass_add_blacklist)) + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_SUCCEEDED + + return AI_BEHAVIOR_DELAY | AI_BEHAVIOR_FAILED + +///behavior to extinguish mobs or turfs +/datum/ai_behavior/basic_melee_attack/interact_once/extinguish + +/datum/ai_behavior/basic_melee_attack/interact_once/extinguish/finish_action(datum/ai_controller/basic_controller/bot/controller, succeeded, target_key, targeting_strategy_key, hiding_location_key) + var/atom/target = controller.blackboard[BB_FIREBOT_EXTINGUISH_TARGET] + var/mob/living/basic/bot/living_bot = controller.pawn + + //if we couldnt path, or we successfully burnt someone, ignore them for a bit! + if(!succeeded || (isliving(target) && (living_bot.bot_access_flags & BOT_COVER_EMAGGED))) + controller.set_blackboard_key_assoc_lazylist(BB_TEMPORARY_IGNORE_LIST, target, TRUE) + + return ..() + +///subtree to make us say funny idle lines +/datum/ai_planning_subtree/firebot_speech + ///chance we spout lines + var/speech_prob = 3 + +/datum/ai_planning_subtree/firebot_speech/SelectBehaviors(datum/ai_controller/basic_controller/bot/controller, seconds_per_tick) + if(controller.blackboard[BB_FIREBOT_EXTINGUISH_TARGET] || !SPT_PROB(speech_prob, seconds_per_tick)) + return + var/mob/living/basic/bot/living_bot = controller.pawn + var/list/idle_lines = (living_bot.bot_access_flags & BOT_COVER_EMAGGED) ? controller.blackboard[BB_FIREBOT_EMAGGED_LINES] : controller.blackboard[BB_FIREBOT_IDLE_LINES] + controller.queue_behavior(/datum/ai_behavior/bot_speech, idle_lines, BB_ANNOUNCE_ABILITY) + +#undef ANNOUNCEMENT_TIMER diff --git a/code/modules/mob/living/basic/cult/constructs/_construct.dm b/code/modules/mob/living/basic/cult/constructs/_construct.dm index 2583b3a88a6b8..79e6e7487721b 100644 --- a/code/modules/mob/living/basic/cult/constructs/_construct.dm +++ b/code/modules/mob/living/basic/cult/constructs/_construct.dm @@ -51,10 +51,12 @@ THEME_CULT = list(/obj/item/ectoplasm/construct), THEME_HOLY = list(/obj/item/ectoplasm/angelic), THEME_WIZARD = list(/obj/item/ectoplasm/mystic), + THEME_HERETIC = list(/obj/item/ectoplasm/construct), ) /mob/living/basic/construct/Initialize(mapload) . = ..() + throw_alert("bloodsense", /atom/movable/screen/alert/bloodsense) AddElement(/datum/element/simple_flying) var/list/remains = string_list(remains_by_theme[theme]) if(length(remains)) diff --git a/code/modules/mob/living/basic/cult/constructs/harvester.dm b/code/modules/mob/living/basic/cult/constructs/harvester.dm index da8dad827b05c..6d41bb43f26a1 100644 --- a/code/modules/mob/living/basic/cult/constructs/harvester.dm +++ b/code/modules/mob/living/basic/cult/constructs/harvester.dm @@ -26,13 +26,16 @@ /mob/living/basic/construct/harvester/Initialize(mapload) . = ..() - AddElement(\ - /datum/element/amputating_limbs,\ + grant_abilities() + +/mob/living/basic/construct/harvester/proc/grant_abilities() + AddElement(/datum/element/wall_walker, /turf/closed/wall/mineral/cult) + AddComponent(\ + /datum/component/amputating_limbs,\ surgery_time = 0,\ surgery_verb = "slicing",\ minimum_stat = CONSCIOUS,\ ) - AddElement(/datum/element/wall_walker, /turf/closed/wall/mineral/cult) var/datum/action/innate/seek_prey/seek = new(src) seek.Grant(src) seek.Activate() @@ -59,7 +62,7 @@ overlay_icon_state = "bg_demon_border" buttontooltipstyle = "cult" - button_icon = "icons/mob/actions/actions_cult.dmi" + button_icon = 'icons/mob/actions/actions_cult.dmi' button_icon_state = "cult_mark" /// Where is nar nar? Are we even looking? var/tracking = FALSE @@ -93,7 +96,6 @@ the_construct.seeking = TRUE to_chat(the_construct, span_cult_italic("You are now tracking your master.")) - /datum/action/innate/seek_prey name = "Seek the Harvest" desc = "None can hide from Nar'Sie, activate to track a survivor attempting to flee the red harvest!" @@ -126,3 +128,115 @@ desc = "Activate to track Nar'Sie!" button_icon_state = "sintouch" the_construct.seeking = TRUE + +/mob/living/basic/construct/harvester/heretic + name = "Rusted Harvester" + real_name = "Rusted Harvester" + desc = "A long, thin, decrepit construct originally built to herald Nar'Sie's rise, corrupted and rusted by the forces of the Mansus to spread its will instead." + icon_state = "harvester" + icon_living = "harvester" + construct_spells = list( + /datum/action/cooldown/spell/aoe/rust_conversion, + /datum/action/cooldown/spell/pointed/rust_construction, + ) + can_repair = FALSE + slowed_by_drag = FALSE + faction = list(FACTION_HERETIC) + maxHealth = 35 + health = 35 + melee_damage_lower = 20 + melee_damage_upper = 25 + // Dim green + lighting_cutoff_red = 10 + lighting_cutoff_green = 20 + lighting_cutoff_blue = 5 + playstyle_string = "You are a Rusted Harvester, built to serve the Sanguine Apostate, twisted to work the will of the Mansus. You are fragile and weak, but you rend cultists (only) apart on each attack. Follow your Master's orders!" + theme = THEME_HERETIC + +/mob/living/basic/construct/harvester/heretic/Initialize(mapload) + . = ..() + ADD_TRAIT(src, TRAIT_MANSUS_TOUCHED, REF(src)) + add_filter("rusted_harvester", 3, list("type" = "outline", "color" = COLOR_GREEN, "size" = 2, "alpha" = 40)) + + +/** + * Somewhat janky proc called when a heretic monster's master dies + * Used to kill any living Rusted Harvester + */ +/mob/living/proc/on_master_death() + return + +/mob/living/basic/construct/harvester/heretic/attack_animal(mob/living/simple_animal/user, list/modifiers) + // They're pretty fragile so this is probably necessary to prevent bullshit deaths. + if(user == src) + return + return ..() + +/mob/living/basic/construct/harvester/heretic/on_master_death() + to_chat(src, span_userdanger("Your link to the mansus suddenly snaps as your master perishes! Without its support, your body crumbles...")) + visible_message(span_alert("[src] suddenly crumbles to dust!")) + death() + +/mob/living/basic/construct/harvester/heretic/grant_abilities() + AddElement(/datum/element/wall_walker, or_trait = TRAIT_RUSTY) + AddElement(/datum/element/leeching_walk) + AddComponent(\ + /datum/component/amputating_limbs,\ + surgery_time = 1.5 SECONDS,\ + surgery_verb = "slicing",\ + minimum_stat = CONSCIOUS,\ + pre_hit_callback = CALLBACK(src, PROC_REF(is_cultist_handler)),\ + ) + AddComponent(/datum/component/damage_aura,\ + range = 3,\ + brute_damage = 0.5,\ + burn_damage = 0.5,\ + toxin_damage = 0.5,\ + stamina_damage = 4,\ + simple_damage = 1.5,\ + immune_factions = list(FACTION_HERETIC),\ + damage_message = span_boldwarning("Your body wilts and withers as it comes near [src]'s aura."),\ + message_probability = 7,\ + current_owner = src,\ + ) + var/datum/action/innate/seek_master/heretic/seek = new(src) + seek.Grant(src) + seek.Activate() + +// These aren't friends they're assholes +// Don't let them be near you! +/mob/living/basic/construct/harvester/heretic/Life(seconds_per_tick, times_fired) + . = ..() + if(!SPT_PROB(7, seconds_per_tick)) + return + + var/turf/adjacent = get_step(src, pick(GLOB.alldirs)) + // 90% chance to be directional, otherwise what we're on top of + var/turf/open/land = (isopenturf(adjacent) && prob(90)) ? adjacent : get_turf(src) + do_rust_heretic_act(land) + + if(prob(7)) + to_chat(src, span_notice("Eldritch energies emanate from your body.")) + +/mob/living/basic/construct/harvester/heretic/proc/is_cultist_handler(mob/victim) + return IS_CULTIST(victim) + +/datum/action/innate/seek_master/heretic + name = "Seek your Master" + desc = "Use your direct link to the Mansus to sense where your master is located via the arrow on the top-right of your HUD." + button_icon = 'icons/mob/actions/actions_cult.dmi' + background_icon_state = "bg_heretic" + overlay_icon_state = "bg_heretic_border" + tracking = TRUE + +/datum/action/innate/seek_master/heretic/New(Target) + . = ..() + the_construct = Target + the_construct.seeking = TRUE + var/datum/antagonist/heretic_monster/antag = IS_HERETIC_MONSTER(the_construct) + if(antag) + the_construct.master = antag.master + +// no real reason for most of this weird oldcode +/datum/action/innate/seek_master/Activate() + return diff --git a/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm index ce363af236465..d1b1aebf9eb00 100644 --- a/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm +++ b/code/modules/mob/living/basic/farm_animals/gorilla/gorilla.dm @@ -60,8 +60,8 @@ AddElement(/datum/element/dextrous) AddElement(/datum/element/footstep, FOOTSTEP_MOB_BAREFOOT) AddElement(/datum/element/basic_eating, heal_amt = 10, food_types = gorilla_food) - AddElement( - /datum/element/amputating_limbs, \ + AddComponent( + /datum/component/amputating_limbs, \ surgery_time = 0 SECONDS, \ surgery_verb = "punches",\ ) diff --git a/code/modules/mob/living/basic/farm_animals/sheep.dm b/code/modules/mob/living/basic/farm_animals/sheep.dm index 2fdaeda657d5c..5617da83a53a5 100644 --- a/code/modules/mob/living/basic/farm_animals/sheep.dm +++ b/code/modules/mob/living/basic/farm_animals/sheep.dm @@ -59,7 +59,7 @@ if(cult_converted) for(var/mob/living/cultist as anything in invokers) to_chat(cultist, span_cult_italic("[src] has already been sacrificed!")) - return STOP_SACRIFICE + return STOP_SACRIFICE|SILENCE_SACRIFICE_MESSAGE for(var/mob/living/cultist as anything in invokers) to_chat(cultist, span_cult_italic("This feels a bit too cliché, don't you think?")) diff --git a/code/modules/mob/living/basic/guardian/guardian_types/support.dm b/code/modules/mob/living/basic/guardian/guardian_types/support.dm index 3b5574db7f37a..8ab24b7e9b7d1 100644 --- a/code/modules/mob/living/basic/guardian/guardian_types/support.dm +++ b/code/modules/mob/living/basic/guardian/guardian_types/support.dm @@ -103,10 +103,12 @@ /// Try and teleport something to our beacon /datum/action/cooldown/mob_cooldown/guardian_bluespace_beacon/proc/try_teleporting(mob/living/source, atom/target) SIGNAL_HANDLER + if (!can_teleport(source, target)) return + INVOKE_ASYNC(src, PROC_REF(perform_teleport), source, target) - return COMPONENT_CANCEL_ATTACK_CHAIN + return COMSIG_MOB_CANCEL_CLICKON /// Validate whether we can teleport this object /datum/action/cooldown/mob_cooldown/guardian_bluespace_beacon/proc/can_teleport(mob/living/source, atom/movable/target) @@ -118,7 +120,7 @@ if (!guardian_mob.is_deployed()) source.balloon_alert(source, "manifest yourself!") return FALSE - if (!source.Adjacent(target)) + if (!source.can_perform_action(target)) target.balloon_alert(source, "too far!") return FALSE if (target.anchored) diff --git a/code/modules/mob/living/basic/heretic/flesh_worm.dm b/code/modules/mob/living/basic/heretic/flesh_worm.dm index 3c60a9b653c32..92b910c717fae 100644 --- a/code/modules/mob/living/basic/heretic/flesh_worm.dm +++ b/code/modules/mob/living/basic/heretic/flesh_worm.dm @@ -35,8 +35,8 @@ /mob/living/basic/heretic_summon/armsy/Initialize(mapload, spawn_bodyparts = TRUE, worm_length = 6) . = ..() AddElement(/datum/element/wall_smasher, ENVIRONMENT_SMASH_RWALLS) - AddElement(\ - /datum/element/amputating_limbs,\ + AddComponent(\ + /datum/component/amputating_limbs,\ surgery_time = 0 SECONDS,\ surgery_verb = "tears",\ minimum_stat = CONSCIOUS,\ diff --git a/code/modules/mob/living/basic/heretic/rust_walker.dm b/code/modules/mob/living/basic/heretic/rust_walker.dm index 24b77d4d0b8e0..230747efa5a3b 100644 --- a/code/modules/mob/living/basic/heretic/rust_walker.dm +++ b/code/modules/mob/living/basic/heretic/rust_walker.dm @@ -19,7 +19,7 @@ AddElement(/datum/element/footstep, FOOTSTEP_MOB_RUST) var/static/list/grantable_spells = list( - /datum/action/cooldown/spell/aoe/rust_conversion/small = BB_GENERIC_ACTION, + /datum/action/cooldown/spell/aoe/rust_conversion = BB_GENERIC_ACTION, /datum/action/cooldown/spell/basic_projectile/rust_wave/short = BB_TARGETED_ACTION, ) grant_actions_by_list(grantable_spells) diff --git a/code/modules/mob/living/basic/jungle/seedling/seedling.dm b/code/modules/mob/living/basic/jungle/seedling/seedling.dm index 5a958d3ca7c18..7a853b8a9d086 100644 --- a/code/modules/mob/living/basic/jungle/seedling/seedling.dm +++ b/code/modules/mob/living/basic/jungle/seedling/seedling.dm @@ -30,6 +30,7 @@ lighting_cutoff_green = 20 lighting_cutoff_blue = 25 mob_size = MOB_SIZE_LARGE + faction = list(FACTION_PLANTS) attack_sound = 'sound/weapons/bladeslice.ogg' attack_vis_effect = ATTACK_EFFECT_SLASH ai_controller = /datum/ai_controller/basic_controller/seedling @@ -206,7 +207,7 @@ /mob/living/basic/seedling/meanie maxHealth = 400 health = 400 - faction = list(FACTION_JUNGLE) + faction = list(FACTION_JUNGLE, FACTION_PLANTS) ai_controller = /datum/ai_controller/basic_controller/seedling/meanie seedling_commands = list( /datum/pet_command/idle, diff --git a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm index ccab4d3c0317e..ad10e30acecd7 100644 --- a/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm +++ b/code/modules/mob/living/basic/lavaland/lobstrosity/lobstrosity.dm @@ -43,8 +43,8 @@ AddElement(/datum/element/mob_grabber) AddElement(/datum/element/footstep, FOOTSTEP_MOB_CLAW) AddElement(/datum/element/basic_eating, food_types = target_foods) - AddElement(\ - /datum/element/amputating_limbs,\ + AddComponent(\ + /datum/component/amputating_limbs,\ surgery_verb = "begins snipping",\ target_zones = GLOB.arm_zones,\ ) diff --git a/code/modules/mob/living/basic/lavaland/mining.dm b/code/modules/mob/living/basic/lavaland/mining.dm index 3bcdd1ceaa64b..38591dfb39c06 100644 --- a/code/modules/mob/living/basic/lavaland/mining.dm +++ b/code/modules/mob/living/basic/lavaland/mining.dm @@ -5,7 +5,7 @@ status_flags = NONE //don't inherit standard basicmob flags mob_size = MOB_SIZE_LARGE mob_biotypes = MOB_ORGANIC|MOB_BEAST - faction = list(FACTION_MINING) + faction = list(FACTION_MINING, FACTION_ASHWALKER) unsuitable_atmos_damage = 0 minimum_survivable_temperature = 0 maximum_survivable_temperature = INFINITY @@ -42,3 +42,11 @@ drop_mod = crusher_drop_chance,\ drop_immediately = basic_mob_flags & DEL_ON_DEATH,\ ) + RegisterSignal(src, COMSIG_ATOM_WAS_ATTACKED, PROC_REF(check_ashwalker_peace_violation)) + +/mob/living/basic/mining/proc/check_ashwalker_peace_violation(datum/source, mob/living/carbon/human/possible_ashwalker) + SIGNAL_HANDLER + + if(!isashwalker(possible_ashwalker) || !(FACTION_ASHWALKER in faction)) + return + faction.Remove(FACTION_ASHWALKER) diff --git a/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm b/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm index 8cd3c567a7d2d..784f5dd369907 100644 --- a/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm +++ b/code/modules/mob/living/basic/lavaland/raptor/_raptor.dm @@ -309,4 +309,8 @@ GLOBAL_LIST_EMPTY(raptor_population) animated = FALSE insert_on_attack = FALSE +/datum/storage/raptor_storage/on_mousedropped_onto(datum/source, obj/item/dropping, mob/user) + ..() + return NONE + #undef HAPPINESS_BOOST_DAMPENER diff --git a/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm b/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm index 541a4ed9e1c7e..a61ea0743f9a4 100644 --- a/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm +++ b/code/modules/mob/living/basic/lavaland/watcher/watcher_overwatch.dm @@ -76,7 +76,7 @@ COMSIG_MOB_ITEM_ATTACK, COMSIG_MOB_THROW, COMSIG_MOB_USED_MECH_EQUIPMENT, - COMSIG_MOB_USED_MECH_MELEE, + COMSIG_MOB_USED_CLICK_MECH_MELEE, COMSIG_MOVABLE_MOVED, ) diff --git a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm index 4ba903d99285f..a154ba9da0c65 100644 --- a/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm +++ b/code/modules/mob/living/basic/space_fauna/revenant/_revenant.dm @@ -150,6 +150,10 @@ update_appearance(UPDATE_ICON) update_health_hud() +/mob/living/basic/revenant/AltClickOn(atom/target) + if(CAN_I_SEE(target)) + client.loot_panel.open(get_turf(target)) + /mob/living/basic/revenant/get_status_tab_items() . = ..() . += "Current Essence: [essence >= max_essence ? essence : "[essence] / [max_essence]"] E" diff --git a/code/modules/mob/living/blood.dm b/code/modules/mob/living/blood.dm index 349f14d83a3cb..8b970605af84a 100644 --- a/code/modules/mob/living/blood.dm +++ b/code/modules/mob/living/blood.dm @@ -25,42 +25,12 @@ adjust_nutrition(-nutrition_ratio * HUNGER_FACTOR * seconds_per_tick) blood_volume = min(blood_volume + (BLOOD_REGEN_FACTOR * nutrition_ratio * seconds_per_tick), BLOOD_VOLUME_NORMAL) - //Effects of bloodloss - if(!(sigreturn & HANDLE_BLOOD_NO_EFFECTS)) - var/word = pick("dizzy","woozy","faint") - switch(blood_volume) - if(BLOOD_VOLUME_MAX_LETHAL to INFINITY) - if(SPT_PROB(7.5, seconds_per_tick)) - to_chat(src, span_userdanger("Blood starts to tear your skin apart. You're going to burst!")) - investigate_log("has been gibbed by having too much blood.", INVESTIGATE_DEATHS) - inflate_gib() - if(BLOOD_VOLUME_EXCESS to BLOOD_VOLUME_MAX_LETHAL) - if(SPT_PROB(5, seconds_per_tick)) - to_chat(src, span_warning("You feel your skin swelling.")) - if(BLOOD_VOLUME_MAXIMUM to BLOOD_VOLUME_EXCESS) - if(SPT_PROB(5, seconds_per_tick)) - to_chat(src, span_warning("You feel terribly bloated.")) - if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE) - if(SPT_PROB(2.5, seconds_per_tick)) - to_chat(src, span_warning("You feel [word].")) - adjustOxyLoss(round(0.005 * (BLOOD_VOLUME_NORMAL - blood_volume) * seconds_per_tick, 1)) - if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_OKAY) - adjustOxyLoss(round(0.01 * (BLOOD_VOLUME_NORMAL - blood_volume) * seconds_per_tick, 1)) - if(SPT_PROB(2.5, seconds_per_tick)) - set_eye_blur_if_lower(12 SECONDS) - to_chat(src, span_warning("You feel very [word].")) - if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD) - adjustOxyLoss(2.5 * seconds_per_tick) - if(SPT_PROB(7.5, seconds_per_tick)) - Unconscious(rand(20,60)) - to_chat(src, span_warning("You feel extremely [word].")) - if(-INFINITY to BLOOD_VOLUME_SURVIVE) - if(!HAS_TRAIT(src, TRAIT_NODEATH)) - investigate_log("has died of bloodloss.", INVESTIGATE_DEATHS) - death() + // Some effects are halved mid-combat. + var/determined_mod = has_status_effect(/datum/status_effect/determined) ? 0.5 : 0 + + //Bloodloss from wounds var/temp_bleed = 0 - //Bleeding out for(var/obj/item/bodypart/iter_part as anything in bodyparts) var/iter_bleed_rate = iter_part.get_modified_bleed_rate() temp_bleed += iter_bleed_rate * seconds_per_tick @@ -72,6 +42,78 @@ bleed(temp_bleed) bleed_warn(temp_bleed) + //Effects of bloodloss + if(sigreturn & HANDLE_BLOOD_NO_OXYLOSS) + return + var/word = pick("dizzy","woozy","faint") + switch(blood_volume) + if(BLOOD_VOLUME_EXCESS to BLOOD_VOLUME_MAX_LETHAL) + if(SPT_PROB(7.5, seconds_per_tick)) + to_chat(src, span_userdanger("Blood starts to tear your skin apart. You're going to burst!")) + investigate_log("has been gibbed by having too much blood.", INVESTIGATE_DEATHS) + inflate_gib() + // Way too much blood! + if(BLOOD_VOLUME_EXCESS to BLOOD_VOLUME_MAX_LETHAL) + if(SPT_PROB(5, seconds_per_tick)) + to_chat(src, span_warning("You feel your skin swelling.")) + // Too much blood + if(BLOOD_VOLUME_MAXIMUM to BLOOD_VOLUME_EXCESS) + if(SPT_PROB(5, seconds_per_tick)) + to_chat(src, span_warning("You feel terribly bloated.")) + // Low blood but not a big deal in the immediate + if(BLOOD_VOLUME_OKAY to BLOOD_VOLUME_SAFE) + if(SPT_PROB(2.5, seconds_per_tick)) + set_eye_blur_if_lower(2 SECONDS * determined_mod) + if(prob(50)) + to_chat(src, span_danger("You feel [word]. It's getting a bit hard to breathe.")) + losebreath += 0.5 * determined_mod * seconds_per_tick + else if(getStaminaLoss() < 25 * determined_mod) + to_chat(src, span_danger("You feel [word]. It's getting a bit hard to focus.")) + adjustStaminaLoss(10 * determined_mod * REM * seconds_per_tick) + // Pretty low blood, getting dangerous! + if(BLOOD_VOLUME_RISKY to BLOOD_VOLUME_OKAY) + if(SPT_PROB(5, seconds_per_tick)) + set_eye_blur_if_lower(2 SECONDS * determined_mod) + set_dizzy_if_lower(2 SECONDS * determined_mod) + if(prob(50)) + to_chat(src, span_bolddanger("You feel very [word]. It's getting hard to breathe!")) + losebreath += 1 * determined_mod * seconds_per_tick + else if(getStaminaLoss() < 40 * determined_mod) + to_chat(src, span_bolddanger("You feel very [word]. It's getting hard to stay awake!")) + adjustStaminaLoss(15 * determined_mod * REM * seconds_per_tick) + // Very low blood, danger!! + if(BLOOD_VOLUME_BAD to BLOOD_VOLUME_RISKY) + if(SPT_PROB(5, seconds_per_tick)) + set_eye_blur_if_lower(4 SECONDS * determined_mod) + set_dizzy_if_lower(4 SECONDS * determined_mod) + if(prob(50)) + to_chat(src, span_userdanger("You feel extremely [word]! It's getting very hard to breathe!")) + losebreath += 1.5 * determined_mod * seconds_per_tick + else if(getStaminaLoss() < 80 * determined_mod) + to_chat(src, span_userdanger("You feel extremely [word]! It's getting very hard to stay awake!")) + adjustStaminaLoss(20 * determined_mod * REM * seconds_per_tick) + // Critically low blood, death is near! Adrenaline won't help you here. + if(BLOOD_VOLUME_SURVIVE to BLOOD_VOLUME_BAD) + if(SPT_PROB(7.5, seconds_per_tick)) + Unconscious(rand(1 SECONDS, 2 SECONDS)) + to_chat(src, span_userdanger("You black out for a moment!")) + // Instantly die upon this threshold + if(-INFINITY to BLOOD_VOLUME_SURVIVE) + if(!HAS_TRAIT(src, TRAIT_NODEATH)) + investigate_log("has died of bloodloss.", INVESTIGATE_DEATHS) + death() + + // Blood ratio! if you have 280 blood, this equals 0.5 as that's half of the current value, 560. + var/effective_blood_ratio = blood_volume / BLOOD_VOLUME_NORMAL + + // If your ratio is less than one (you're missing any blood) and your oxyloss is under missing blood %, start getting oxy damage. + // This damage accrues faster the less blood you have. + // If KO or in hardcrit, the damage accrues even then to prevent being perma-KO. + if(((effective_blood_ratio < 1) && (getOxyLoss() < ((1 - effective_blood_ratio) * 100))) || (stat in list(UNCONSCIOUS, HARD_CRIT))) + // At roughly half blood this equals to 3 oxyloss per tick. At 90% blood it's close to 0.5 + var/rounded_oxyloss = round(0.01 * (BLOOD_VOLUME_NORMAL - blood_volume), 0.25) * seconds_per_tick + adjustOxyLoss(rounded_oxyloss, updating_health = TRUE) + /// Has each bodypart update its bleed/wound overlay icon states /mob/living/carbon/proc/update_bodypart_bleed_overlays() for(var/obj/item/bodypart/iter_part as anything in bodyparts) diff --git a/code/modules/mob/living/carbon/alien/adult/alien_powers.dm b/code/modules/mob/living/carbon/alien/adult/alien_powers.dm index f3cfbfda8a9ee..999ec07f41a65 100644 --- a/code/modules/mob/living/carbon/alien/adult/alien_powers.dm +++ b/code/modules/mob/living/carbon/alien/adult/alien_powers.dm @@ -251,7 +251,8 @@ Doesn't work on other aliens/AI.*/ plasma_cost = 50 /datum/action/cooldown/alien/acid/neurotoxin/IsAvailable(feedback = FALSE) - if(owner.is_muzzled()) + var/mob/living/carbon/as_carbon = owner + if(istype(as_carbon) && as_carbon.is_mouth_covered(ITEM_SLOT_MASK)) return FALSE if(!isturf(owner.loc)) return FALSE diff --git a/code/modules/mob/living/carbon/alien/alien.dm b/code/modules/mob/living/carbon/alien/alien.dm index f8210c77368cc..a995eafbb3ac0 100644 --- a/code/modules/mob/living/carbon/alien/alien.dm +++ b/code/modules/mob/living/carbon/alien/alien.dm @@ -76,6 +76,7 @@ return pick (list("xltrails_1", "xltrails2")) else return pick (list("xttrails_1", "xttrails2")) + /*---------------------------------------- Proc: AddInfectionImages() Des: Gives the client of the alien an image on each infected mob. diff --git a/code/modules/mob/living/carbon/alien/special/facehugger.dm b/code/modules/mob/living/carbon/alien/special/facehugger.dm index d068610b28f7a..d1ec6d7e88038 100644 --- a/code/modules/mob/living/carbon/alien/special/facehugger.dm +++ b/code/modules/mob/living/carbon/alien/special/facehugger.dm @@ -24,6 +24,7 @@ layer = MOB_LAYER max_integrity = 100 item_flags = XENOMORPH_HOLDABLE + slowdown = 2 var/stat = CONSCIOUS //UNCONSCIOUS is the idle state in this case var/sterile = FALSE @@ -39,6 +40,7 @@ ) AddElement(/datum/element/connect_loc, loc_connections) AddElement(/datum/element/atmos_sensitive, mapload) + AddElement(/datum/element/muffles_speech) RegisterSignal(src, COMSIG_LIVING_TRYING_TO_PULL, PROC_REF(react_to_mob)) @@ -122,7 +124,7 @@ /obj/item/clothing/mask/facehugger/proc/valid_to_attach(mob/living/hit_mob) // valid targets: carbons except aliens and devils - // facehugger state early exit checks + // facehugger state early exit checks (Note: Melbert does not want dead people to be huggable) if(stat != CONSCIOUS) return FALSE if(attached) @@ -171,9 +173,12 @@ log_combat(target, src, "was facehugged by") return TRUE // time for a smoke -/obj/item/clothing/mask/facehugger/proc/Attach(mob/living/M) - if(!valid_to_attach(M)) +/obj/item/clothing/mask/facehugger/proc/Attach(mob/living/victim) + if(!valid_to_attach(victim)) return + + if(victim.stat < UNCONSCIOUS) //sorry bro you gotta be awake + victim.say("AAAA!!") //triggers muffled speech and also visual feedback i guess // early returns and validity checks done: attach. attached++ //ensure we detach once we no longer need to be attached @@ -181,12 +186,12 @@ if(!sterile) - M.take_bodypart_damage(strength,0) //done here so that humans in helmets take damage - M.Unconscious(MAX_IMPREGNATION_TIME/0.3) //something like 25 ticks = 20 seconds with the default settings - + victim.take_bodypart_damage(strength,0) //done here so that humans in helmets take damage + if(real && !sterile) + victim.Knockdown(5 SECONDS) GoIdle() //so it doesn't jump the people that tear it off - addtimer(CALLBACK(src, PROC_REF(Impregnate), M), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME)) + addtimer(CALLBACK(src, PROC_REF(Impregnate), victim), rand(MIN_IMPREGNATION_TIME, MAX_IMPREGNATION_TIME)) /obj/item/clothing/mask/facehugger/proc/detach() attached = 0 @@ -249,6 +254,29 @@ visible_message(span_danger("[src] curls up into a ball!")) + // chest maybe because getting slammed in the chest would knock it off your face while dead + AddComponent(/datum/component/knockoff, knockoff_chance = 40, target_zones = list(BODY_ZONE_HEAD, BODY_ZONE_CHEST), slots_knockoffable = slot_flags) + +/obj/item/clothing/mask/facehugger/allow_attack_hand_drop(mob/living/carbon/human/user) + if(!real || sterile || user.get_organ_by_type(/obj/item/organ/internal/body_egg/alien_embryo)) + return ..() + if(istype(user) && ishuman(loc) && stat != DEAD) + if(user == loc && user.get_item_by_slot(slot_flags) == src) + to_chat(user, span_userdanger("[src] is latched on too tight! Get help or wait for it to let go!")) + return FALSE + return ..() + +/obj/item/clothing/mask/facehugger/mouse_drop_dragged(atom/over, mob/user, src_location, over_location, params) + var/mob/living/carbon/human/wearer = loc + if(!istype(wearer) || user != wearer) + return + if(!real || sterile || user.get_organ_by_type(/obj/item/organ/internal/body_egg/alien_embryo)) + return ..() + if(wearer.get_item_by_slot(slot_flags) == src && stat != DEAD) + to_chat(user, span_userdanger("[src] is latched on too tight! Get help or wait for it to let go!")) + return + return ..() + /proc/CanHug(mob/living/M) if(!istype(M)) return FALSE @@ -268,6 +296,7 @@ name = "Lamarr" desc = "The Research Director's pet, a domesticated and debeaked xenomorph facehugger. Friendly, but may still try to couple with your head." sterile = TRUE + slowdown = 1.5 //lamarr is too fat after being fed in captivity to effectively slow people down or something /obj/item/clothing/mask/facehugger/dead icon_state = "facehugger_dead" @@ -287,6 +316,7 @@ real = FALSE sterile = TRUE tint = 3 //Makes it feel more authentic when it latches on + slowdown = 0 /obj/item/clothing/mask/facehugger/toy/Die() return diff --git a/code/modules/mob/living/carbon/carbon.dm b/code/modules/mob/living/carbon/carbon.dm index 539dfd64ce353..98948e6a9af90 100644 --- a/code/modules/mob/living/carbon/carbon.dm +++ b/code/modules/mob/living/carbon/carbon.dm @@ -228,13 +228,6 @@ . = ..() loc.handle_fall(src)//it's loc so it doesn't call the mob's handle_fall which does nothing -/mob/living/carbon/is_muzzled() - for (var/obj/item/clothing/clothing in get_equipped_items()) - if(clothing.clothing_flags & BLOCKS_SPEECH) - return TRUE - return FALSE - - /mob/living/carbon/resist_buckle() if(!HAS_TRAIT(src, TRAIT_RESTRAINED)) buckled.user_unbuckle_mob(src, src) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 20164d27b425a..d6dc119de58a3 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -698,5 +698,7 @@ . |= SHOVE_CAN_STAGGER if(IsKnockdown() && !IsParalyzed()) . |= SHOVE_CAN_KICK_SIDE + if(HAS_TRAIT(src, TRAIT_NO_SIDE_KICK)) // added as an extra check, just in case + . &= ~SHOVE_CAN_KICK_SIDE #undef SHAKE_ANIMATION_OFFSET diff --git a/code/modules/mob/living/carbon/carbon_defines.dm b/code/modules/mob/living/carbon/carbon_defines.dm index 85fdeed5d887a..dcab69f531ee3 100644 --- a/code/modules/mob/living/carbon/carbon_defines.dm +++ b/code/modules/mob/living/carbon/carbon_defines.dm @@ -11,6 +11,7 @@ usable_hands = 0 //Populated on init through list/bodyparts mobility_flags = MOBILITY_FLAGS_CARBON_DEFAULT blocks_emissive = EMISSIVE_BLOCK_NONE + living_flags = ALWAYS_DEATHGASP ///List of [/obj/item/organ]s in the mob. They don't go in the contents for some reason I don't want to know. var/list/obj/item/organ/organs = list() ///Same as [above][/mob/living/carbon/var/organs], but stores "slot ID" - "organ" pairs for easy access. @@ -122,4 +123,3 @@ var/bodyshape = BODYSHAPE_HUMANOID COOLDOWN_DECLARE(bleeding_message_cd) - diff --git a/code/modules/mob/living/carbon/death.dm b/code/modules/mob/living/carbon/death.dm index 41a958518c597..5fdd3498f1559 100644 --- a/code/modules/mob/living/carbon/death.dm +++ b/code/modules/mob/living/carbon/death.dm @@ -5,7 +5,6 @@ losebreath = 0 if(!gibbed) - INVOKE_ASYNC(src, PROC_REF(emote), "deathgasp") add_memory_in_range(src, 7, /datum/memory/witnessed_death, protagonist = src) reagents.end_metabolization(src) diff --git a/code/modules/mob/living/carbon/emote.dm b/code/modules/mob/living/carbon/emote.dm index 856622203927a..00699196ae9b6 100644 --- a/code/modules/mob/living/carbon/emote.dm +++ b/code/modules/mob/living/carbon/emote.dm @@ -20,7 +20,6 @@ key = "clap" key_third_person = "claps" message = "claps." - muzzle_ignore = TRUE hands_use_check = TRUE emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE audio_cooldown = 5 SECONDS @@ -185,7 +184,6 @@ message_param = "snaps their fingers at %t." emote_type = EMOTE_AUDIBLE | EMOTE_VISIBLE hands_use_check = TRUE - muzzle_ignore = TRUE /datum/emote/living/carbon/snap/get_sound(mob/living/user) if(ishuman(user)) diff --git a/code/modules/mob/living/carbon/human/inventory.dm b/code/modules/mob/living/carbon/human/inventory.dm index b1efa734321c5..b4838e978d6fe 100644 --- a/code/modules/mob/living/carbon/human/inventory.dm +++ b/code/modules/mob/living/carbon/human/inventory.dm @@ -1,3 +1,20 @@ + +/** + * Used to return a list of equipped items on a human mob; does not by default include held items, see include_flags + * + * Argument(s): + * * Optional - include_flags, (see obj.flags.dm) describes which optional things to include or not (pockets, accessories, held items) + */ + +/mob/living/carbon/human/get_equipped_items(include_flags = NONE) + var/list/items = ..() + if(!(include_flags & INCLUDE_POCKETS)) + items -= list(l_store, r_store, s_store) + if((include_flags & INCLUDE_ACCESSORIES) && w_uniform) + var/obj/item/clothing/under/worn_under = w_uniform + items += worn_under.attached_accessories + return items + /mob/living/carbon/human/can_equip(obj/item/equip_target, slot, disable_warning = FALSE, bypass_equip_delay_self = FALSE, ignore_equipped = FALSE, indirect_action = FALSE) if(SEND_SIGNAL(src, COMSIG_HUMAN_EQUIPPING_ITEM, equip_target, slot) == COMPONENT_BLOCK_EQUIP) return FALSE @@ -390,3 +407,24 @@ return stored.attack_hand(src) // take out thing from item in storage slot return + +/mob/living/carbon/human/change_number_of_hands(amt) + var/old_limbs = held_items.len + if(amt < old_limbs) + for(var/i in hand_bodyparts.len to amt step -1) + var/obj/item/bodypart/BP = hand_bodyparts[i] + BP.dismember() + hand_bodyparts[i] = null + hand_bodyparts.len = amt + else if(amt > old_limbs) + hand_bodyparts.len = amt + for(var/i in old_limbs+1 to amt) + var/path = /obj/item/bodypart/arm/left + if(!(i % 2)) + path = /obj/item/bodypart/arm/right + + var/obj/item/bodypart/BP = new path () + BP.held_index = i + BP.try_attach_limb(src, TRUE) + hand_bodyparts[i] = BP + ..() //Don't redraw hands until we have organs for them diff --git a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm index c4aad8a0806d5..276d4a0fa7a5f 100644 --- a/code/modules/mob/living/carbon/human/species_types/jellypeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/jellypeople.dm @@ -83,7 +83,7 @@ Cannibalize_Body(slime) regenerate_limbs?.build_all_button_icons(UPDATE_BUTTON_STATUS) - return HANDLE_BLOOD_NO_NUTRITION_DRAIN|HANDLE_BLOOD_NO_EFFECTS + return HANDLE_BLOOD_NO_NUTRITION_DRAIN|HANDLE_BLOOD_NO_OXYLOSS /datum/species/jelly/proc/Cannibalize_Body(mob/living/carbon/human/H) var/list/limbs_to_consume = list(BODY_ZONE_R_ARM, BODY_ZONE_L_ARM, BODY_ZONE_R_LEG, BODY_ZONE_L_LEG) - H.get_missing_limbs() diff --git a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm index 71a5c4c026193..2a83efbda3e7e 100644 --- a/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm +++ b/code/modules/mob/living/carbon/human/species_types/lizardpeople.dm @@ -158,6 +158,7 @@ Lizard subspecies: ASHWALKERS TRAIT_MUTANT_COLORS, TRAIT_VIRUSIMMUNE, ) + inherent_factions = list(FACTION_ASHWALKER) species_language_holder = /datum/language_holder/lizard/ash digitigrade_customization = DIGITIGRADE_FORCED examine_limb_id = SPECIES_LIZARD diff --git a/code/modules/mob/living/carbon/human/species_types/snail.dm b/code/modules/mob/living/carbon/human/species_types/snail.dm index 053953e2a835f..741e40bed6b33 100644 --- a/code/modules/mob/living/carbon/human/species_types/snail.dm +++ b/code/modules/mob/living/carbon/human/species_types/snail.dm @@ -89,8 +89,7 @@ . = ..() var/obj/item/storage/backpack/bag = new_snailperson.get_item_by_slot(ITEM_SLOT_BACK) if(!istype(bag, /obj/item/storage/backpack/snail)) - if(new_snailperson.dropItemToGround(bag)) //returns TRUE even if its null - new_snailperson.equip_to_slot_or_del(new /obj/item/storage/backpack/snail(new_snailperson), ITEM_SLOT_BACK) + new_snailperson.equip_to_slot_or_del(new /obj/item/storage/backpack/snail(new_snailperson), ITEM_SLOT_BACK) new_snailperson.AddElement(/datum/element/lube_walking, require_resting = TRUE) new_snailperson.add_or_update_variable_movespeed_modifier(/datum/movespeed_modifier/snail, multiplicative_slowdown = snail_speed_mod) diff --git a/code/modules/mob/living/carbon/inventory.dm b/code/modules/mob/living/carbon/inventory.dm index de6a2692c9b6f..a377568246404 100644 --- a/code/modules/mob/living/carbon/inventory.dm +++ b/code/modules/mob/living/carbon/inventory.dm @@ -1,3 +1,33 @@ +/mob/living/carbon/proc/check_obscured_slots(transparent_protection) + var/obscured = NONE + var/hidden_slots = NONE + + for(var/obj/item/equipped_item in get_equipped_items()) + hidden_slots |= equipped_item.flags_inv + if(transparent_protection) + hidden_slots |= equipped_item.transparent_protection + + if(hidden_slots & HIDENECK) + obscured |= ITEM_SLOT_NECK + if(hidden_slots & HIDEMASK) + obscured |= ITEM_SLOT_MASK + if(hidden_slots & HIDEEYES) + obscured |= ITEM_SLOT_EYES + if(hidden_slots & HIDEEARS) + obscured |= ITEM_SLOT_EARS + if(hidden_slots & HIDEGLOVES) + obscured |= ITEM_SLOT_GLOVES + if(hidden_slots & HIDEJUMPSUIT) + obscured |= ITEM_SLOT_ICLOTHING + if(hidden_slots & HIDESHOES) + obscured |= ITEM_SLOT_FEET + if(hidden_slots & HIDESUITSTORAGE) + obscured |= ITEM_SLOT_SUITSTORE + if(hidden_slots & HIDEHEADGEAR) + obscured |= ITEM_SLOT_HEAD + + return obscured + /mob/living/carbon/get_item_by_slot(slot_id) switch(slot_id) if(ITEM_SLOT_BACK) diff --git a/code/modules/mob/living/death.dm b/code/modules/mob/living/death.dm index 53b08719f6a70..03a29762f6dc3 100644 --- a/code/modules/mob/living/death.dm +++ b/code/modules/mob/living/death.dm @@ -104,7 +104,7 @@ if(stat == DEAD) return FALSE - if(!gibbed && (death_sound || death_message)) + if(!gibbed && (death_sound || death_message || (living_flags & ALWAYS_DEATHGASP))) INVOKE_ASYNC(src, TYPE_PROC_REF(/mob, emote), "deathgasp") set_stat(DEAD) @@ -116,8 +116,9 @@ var/player_mob_check = mind && mind.name && mind.active // and, display a death message if the area allows it (or if they're in nullspace) var/valid_area_check = !death_area || !(death_area.area_flags & NO_DEATH_MESSAGE) - if(player_mob_check && valid_area_check) - deadchat_broadcast(" has died at [get_area_name(death_turf)].", "[mind.name]", follow_target = src, turf_target = death_turf, message_type=DEADCHAT_DEATHRATTLE) + if(player_mob_check) + if(valid_area_check) + deadchat_broadcast(" has died at [get_area_name(death_turf)].", "[mind.name]", follow_target = src, turf_target = death_turf, message_type=DEADCHAT_DEATHRATTLE) if(SSlag_switch.measures[DISABLE_DEAD_KEYLOOP] && !client?.holder) to_chat(src, span_deadsay(span_big("Observer freelook is disabled.\nPlease use Orbit, Teleport, and Jump to look around."))) ghostize(TRUE) diff --git a/code/modules/mob/living/init_signals.dm b/code/modules/mob/living/init_signals.dm index 064a0573353eb..4bf0407c4670a 100644 --- a/code/modules/mob/living/init_signals.dm +++ b/code/modules/mob/living/init_signals.dm @@ -38,6 +38,9 @@ RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_RESTRAINED), PROC_REF(on_restrained_trait_gain)) RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_RESTRAINED), PROC_REF(on_restrained_trait_loss)) + RegisterSignal(src, SIGNAL_ADDTRAIT(TRAIT_DEAF), PROC_REF(on_hearing_loss)) + RegisterSignal(src, SIGNAL_REMOVETRAIT(TRAIT_DEAF), PROC_REF(on_hearing_regain)) + RegisterSignals(src, list( SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION), SIGNAL_REMOVETRAIT(TRAIT_CRITICAL_CONDITION), @@ -272,3 +275,14 @@ /mob/living/proc/undense_changed(datum/source) SIGNAL_HANDLER update_density() + +///Called when [TRAIT_DEAF] is added to the mob. +/mob/living/proc/on_hearing_loss() + SIGNAL_HANDLER + refresh_looping_ambience() + stop_sound_channel(CHANNEL_AMBIENCE) + +///Called when [TRAIT_DEAF] is added to the mob. +/mob/living/proc/on_hearing_regain() + SIGNAL_HANDLER + refresh_looping_ambience() diff --git a/code/modules/mob/living/living.dm b/code/modules/mob/living/living.dm index 54fce885a8056..c7a0c034ac5aa 100644 --- a/code/modules/mob/living/living.dm +++ b/code/modules/mob/living/living.dm @@ -1345,7 +1345,7 @@ to_chat(src, span_warning("You don't have the hands for this action!")) return FALSE - if(!(action_bitflags & BYPASS_ADJACENCY) && !recursive_loc_check(src, target) && !CanReach(target)) + if(!(action_bitflags & BYPASS_ADJACENCY) && ((action_bitflags & NOT_INSIDE_TARGET) || !recursive_loc_check(src, target)) && !CanReach(target)) if(HAS_SILICON_ACCESS(src) && !ispAI(src)) if(!(action_bitflags & ALLOW_SILICON_REACH)) // silicons can ignore range checks (except pAIs) if(!(action_bitflags & SILENT_ADJACENCY)) @@ -2277,6 +2277,10 @@ GLOBAL_LIST_EMPTY(fire_appearances) REMOVE_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) remove_from_alive_mob_list() add_to_dead_mob_list() + if(!can_hear()) + stop_sound_channel(CHANNEL_AMBIENCE) + refresh_looping_ambience() + ///Reports the event of the change in value of the buckled variable. diff --git a/code/modules/mob/living/living_defense.dm b/code/modules/mob/living/living_defense.dm index 3ee43801a7621..5a5995e207235 100644 --- a/code/modules/mob/living/living_defense.dm +++ b/code/modules/mob/living/living_defense.dm @@ -411,7 +411,7 @@ if(!user.get_bodypart(BODY_ZONE_HEAD)) return FALSE - if(user.is_muzzled() || user.is_mouth_covered(ITEM_SLOT_MASK)) + if(user.is_mouth_covered(ITEM_SLOT_MASK)) to_chat(user, span_warning("You can't bite with your mouth covered!")) return FALSE diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index bbcf77986ac79..58e13951ebc4f 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -454,11 +454,12 @@ GLOBAL_LIST_INIT(message_modes_stat_limits, list( message = unintelligize(message) tts_filter = list() - var/list/data = list(message, tts_message, tts_filter) + var/list/data = list(message, tts_message, tts_filter, capitalize_message) SEND_SIGNAL(src, COMSIG_LIVING_TREAT_MESSAGE, data) message = data[TREAT_MESSAGE_ARG] tts_message = data[TREAT_TTS_MESSAGE_ARG] tts_filter = data[TREAT_TTS_FILTER_ARG] + capitalize_message = data[TREAT_CAPITALIZE_MESSAGE] if(!tts_message) tts_message = message diff --git a/code/modules/mob/living/login.dm b/code/modules/mob/living/login.dm index c6d6b6a5e9d70..b9f2fec61ff2c 100644 --- a/code/modules/mob/living/login.dm +++ b/code/modules/mob/living/login.dm @@ -14,9 +14,7 @@ update_z(T.z) //Vents - var/ventcrawler = HAS_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS) || HAS_TRAIT(src, TRAIT_VENTCRAWLER_NUDE) - if(ventcrawler) - to_chat(src, span_notice("You can ventcrawl! Use alt+click on vents to quickly travel about the station.")) + notify_ventcrawler_on_login() med_hud_set_status() diff --git a/code/modules/mob/living/navigation.dm b/code/modules/mob/living/navigation.dm index 98f1080c79192..3096efb3a7c47 100644 --- a/code/modules/mob/living/navigation.dm +++ b/code/modules/mob/living/navigation.dm @@ -132,7 +132,7 @@ if(!target) target = lad continue - if(get_dist_euclidian(lad, src) > get_dist_euclidian(target, src)) + if(get_dist_euclidean(lad, src) > get_dist_euclidean(target, src)) continue target = lad @@ -144,7 +144,7 @@ if(!target) target = stairs_bro.z == z ? stairs_bro : get_step_multiz(stairs_bro, UP) //if the stairs aren't on our z level, get the turf above them (on our zlevel) to path to instead continue - if(get_dist_euclidian(stairs_bro, src) > get_dist_euclidian(target, src)) + if(get_dist_euclidean(stairs_bro, src) > get_dist_euclidean(target, src)) continue target = stairs_bro.z == z ? stairs_bro : get_step_multiz(stairs_bro, UP) diff --git a/code/modules/mob/living/simple_animal/bot/construction.dm b/code/modules/mob/living/simple_animal/bot/construction.dm index a349ca6499598..80e2b8c0c8343 100644 --- a/code/modules/mob/living/simple_animal/bot/construction.dm +++ b/code/modules/mob/living/simple_animal/bot/construction.dm @@ -494,8 +494,8 @@ if(!can_finish_build(I, user)) return to_chat(user, span_notice("You add the [I] to [src]! Beep Boop!")) - var/mob/living/simple_animal/bot/firebot/F = new(drop_location()) - F.name = created_name + var/mob/living/basic/bot/firebot/firebot = new(drop_location()) + firebot.name = created_name qdel(I) qdel(src) diff --git a/code/modules/mob/living/simple_animal/bot/firebot.dm b/code/modules/mob/living/simple_animal/bot/firebot.dm deleted file mode 100644 index db883e9141b1f..0000000000000 --- a/code/modules/mob/living/simple_animal/bot/firebot.dm +++ /dev/null @@ -1,320 +0,0 @@ -//Firebot - -#define SPEECH_INTERVAL 300 // Time between idle speeches -#define DETECTED_VOICE_INTERVAL 300 // Time between fire detected callouts -#define FOAM_INTERVAL 50 // Time between deployment of fire fighting foam - -/mob/living/simple_animal/bot/firebot - name = "\improper Firebot" - desc = "A little fire extinguishing bot. He looks rather anxious." - icon = 'icons/mob/silicon/aibots.dmi' - icon_state = "firebot1" - light_color = "#8cffc9" - light_power = 0.8 - density = FALSE - anchored = FALSE - health = 25 - maxHealth = 25 - - req_one_access = list(ACCESS_ROBOTICS, ACCESS_CONSTRUCTION) - radio_key = /obj/item/encryptionkey/headset_eng - radio_channel = RADIO_CHANNEL_ENGINEERING - bot_type = FIRE_BOT - hackables = "fire safety protocols" - path_image_color = "#FFA500" - possessed_message = "You are a firebot! Protect the station from fires to the best of your ability!" - - automated_announcements = list( - FIREBOT_VOICED_FIRE_DETECTED = 'sound/voice/firebot/detected.ogg', - FIREBOT_VOICED_STOP_DROP = 'sound/voice/firebot/stopdropnroll.ogg', - FIREBOT_VOICED_EXTINGUISHING = 'sound/voice/firebot/extinguishing.ogg', - FIREBOT_VOICED_NO_FIRES = 'sound/voice/firebot/nofires.ogg', - FIREBOT_VOICED_ONLY_YOU = 'sound/voice/firebot/onlyyou.ogg', - FIREBOT_VOICED_TEMPERATURE_NOMINAL = 'sound/voice/firebot/tempnominal.ogg', - FIREBOT_VOICED_KEEP_COOL = 'sound/voice/firebot/keepitcool.ogg', - ) - - var/atom/target_fire - var/atom/old_target_fire - - var/obj/item/extinguisher/internal_ext - - var/last_found = 0 - - var/speech_cooldown = 0 - var/detected_cooldown = 0 - COOLDOWN_DECLARE(foam_cooldown) - - var/extinguish_people = TRUE - var/extinguish_fires = TRUE - var/stationary_mode = FALSE - -/mob/living/simple_animal/bot/firebot/Initialize(mapload) - . = ..() - ADD_TRAIT(src, TRAIT_SPACEWALK, INNATE_TRAIT) - update_appearance(UPDATE_ICON) - - // Doing this hurts my soul, but simplebot access reworks are for another day. - var/datum/id_trim/job/engi_trim = SSid_access.trim_singletons_by_path[/datum/id_trim/job/station_engineer] - access_card.add_access(engi_trim.access + engi_trim.wildcard_access) - prev_access = access_card.access.Copy() - - create_extinguisher() - AddElement(/datum/element/atmos_sensitive, mapload) - -/mob/living/simple_animal/bot/firebot/Destroy() - QDEL_NULL(internal_ext) - return ..() - -/mob/living/simple_animal/bot/firebot/bot_reset() - create_extinguisher() - -/mob/living/simple_animal/bot/firebot/proc/create_extinguisher() - internal_ext = new /obj/item/extinguisher(src) - internal_ext.safety = FALSE - internal_ext.precision = TRUE - internal_ext.max_water = INFINITY - internal_ext.refill() - -/mob/living/simple_animal/bot/firebot/UnarmedAttack(atom/A, proximity_flag, list/modifiers) - if(!(bot_mode_flags & BOT_MODE_ON)) - return - if(!can_unarmed_attack()) - return - if(internal_ext) - internal_ext.interact_with_atom(A, src, modifiers) - else - return ..() - -/mob/living/simple_animal/bot/firebot/RangedAttack(atom/A, proximity_flag, list/modifiers) - if(!(bot_mode_flags & BOT_MODE_ON)) - return - if(internal_ext) - internal_ext.interact_with_atom(A, src, modifiers) - else - return ..() - -/mob/living/simple_animal/bot/firebot/turn_on() - . = ..() - update_appearance() - -/mob/living/simple_animal/bot/firebot/turn_off() - ..() - update_appearance() - -/mob/living/simple_animal/bot/firebot/bot_reset() - ..() - target_fire = null - old_target_fire = null - set_anchored(FALSE) - update_appearance() - -/mob/living/simple_animal/bot/firebot/proc/soft_reset() - path = list() - target_fire = null - mode = BOT_IDLE - last_found = world.time - update_appearance() - -/mob/living/simple_animal/bot/firebot/emag_act(mob/user, obj/item/card/emag/emag_card) - . = ..() - if(!(bot_cover_flags & BOT_COVER_EMAGGED)) - return - - to_chat(user, span_warning("You enable the very ironically named \"fighting with fire\" mode, and disable the targeting safeties.")) // heheehe. funny - - audible_message(span_danger("[src] buzzes oddly!")) - playsound(src, SFX_SPARKS, 75, TRUE, SHORT_RANGE_SOUND_EXTRARANGE) - if(user) - old_target_fire = user - extinguish_fires = FALSE - extinguish_people = TRUE - - internal_ext = new /obj/item/extinguisher(src) - internal_ext.chem = /datum/reagent/clf3 //Refill the internal extinguisher with liquid fire - internal_ext.power = 3 - internal_ext.safety = FALSE - internal_ext.precision = FALSE - internal_ext.max_water = INFINITY - internal_ext.refill() - return TRUE - -// Variables sent to TGUI -/mob/living/simple_animal/bot/firebot/ui_data(mob/user) - var/list/data = ..() - if(!(bot_cover_flags & BOT_COVER_LOCKED) || HAS_SILICON_ACCESS(user)) - data["custom_controls"]["extinguish_fires"] = extinguish_fires - data["custom_controls"]["extinguish_people"] = extinguish_people - data["custom_controls"]["stationary_mode"] = stationary_mode - return data - -// Actions received from TGUI -/mob/living/simple_animal/bot/firebot/ui_act(action, params) - . = ..() - if(. || (bot_cover_flags & BOT_COVER_LOCKED && !HAS_SILICON_ACCESS(usr))) - return - - switch(action) - if("extinguish_fires") - extinguish_fires = !extinguish_fires - if("extinguish_people") - extinguish_people = !extinguish_people - if("stationary_mode") - stationary_mode = !stationary_mode - update_appearance() - -/mob/living/simple_animal/bot/firebot/proc/is_burning(atom/target) - if(ismob(target)) - var/mob/living/M = target - if(M.on_fire || (bot_cover_flags & BOT_COVER_EMAGGED && !M.on_fire)) - return TRUE - - else if(isturf(target)) - var/turf/open/T = target - if(T.active_hotspot) - return TRUE - - return FALSE - -/mob/living/simple_animal/bot/firebot/handle_automated_action() - if(!..()) - return - - if(IsStun() || IsParalyzed()) - old_target_fire = target_fire - target_fire = null - mode = BOT_IDLE - return - - if(prob(1) && target_fire == null) - var/static/list/idle_line = list( - FIREBOT_VOICED_NO_FIRES, - FIREBOT_VOICED_ONLY_YOU, - FIREBOT_VOICED_TEMPERATURE_NOMINAL, - FIREBOT_VOICED_KEEP_COOL, - ) - speak(pick(idle_line)) - - // Couldn't reach the target, reset and try again ignoring the old one - if(frustration > 8) - old_target_fire = target_fire - soft_reset() - - // We extinguished our target or it was deleted - if(QDELETED(target_fire) || !is_burning(target_fire) || isdead(target_fire)) - target_fire = null - var/scan_range = (stationary_mode ? 1 : DEFAULT_SCAN_RANGE) - - var/list/things_to_extinguish = list() - if(extinguish_people) - things_to_extinguish += list(/mob/living) - - if(target_fire == null && extinguish_fires) - things_to_extinguish += list(/turf/open) - - target_fire = scan(things_to_extinguish, old_target_fire, scan_range) // Scan for burning turfs second - old_target_fire = target_fire - - // Target reached ENGAGE WATER CANNON - if(target_fire && (get_dist(src, target_fire) <= (bot_cover_flags & BOT_COVER_EMAGGED ? 1 : 2))) // Make the bot spray water from afar when not emagged - if((speech_cooldown + SPEECH_INTERVAL) < world.time) - if(ishuman(target_fire)) - speak(FIREBOT_VOICED_STOP_DROP) - else - speak(FIREBOT_VOICED_EXTINGUISHING) - speech_cooldown = world.time - - flick("firebot1_use", src) - spray_water(target_fire, src) - - soft_reset() - - // Target ran away - else if(target_fire && path.len && (get_dist(target_fire,path[path.len]) > 2)) - path = list() - mode = BOT_IDLE - last_found = world.time - - else if(target_fire && stationary_mode) - soft_reset() - return - - if(target_fire && (get_dist(src, target_fire) > 2)) - - path = get_path_to(src, target_fire, max_distance=30, mintargetdist=1, access=access_card.GetAccess()) - mode = BOT_MOVING - if(!path.len) - soft_reset() - - if(path.len > 0 && target_fire) - if(!bot_move(path[path.len])) - old_target_fire = target_fire - soft_reset() - return - - // We got a target but it's too far away from us - if(path.len > 8 && target_fire) - frustration++ - - if(bot_mode_flags & BOT_MODE_AUTOPATROL && !target_fire) - switch(mode) - if(BOT_IDLE, BOT_START_PATROL) - start_patrol() - if(BOT_PATROL) - bot_patrol() - - -//Look for burning people or turfs around the bot -/mob/living/simple_animal/bot/firebot/process_scan(atom/scan_target) - if(!is_burning(scan_target)) - return null - - if((detected_cooldown + DETECTED_VOICE_INTERVAL) < world.time) - speak(FIREBOT_VOICED_FIRE_DETECTED) - detected_cooldown = world.time - return scan_target - -/mob/living/simple_animal/bot/firebot/should_atmos_process(datum/gas_mixture/air, exposed_temperature) - return (exposed_temperature > T0C + 200 || exposed_temperature < BODYTEMP_COLD_DAMAGE_LIMIT) - -/mob/living/simple_animal/bot/firebot/atmos_expose(datum/gas_mixture/air, exposed_temperature) - if(COOLDOWN_FINISHED(src, foam_cooldown)) - var/datum/effect_system/fluid_spread/foam/firefighting/foam = new - foam.set_up(3, holder = src, location = loc) - foam.start() - COOLDOWN_START(src, foam_cooldown, FOAM_INTERVAL) - -/mob/living/simple_animal/bot/firebot/proc/spray_water(atom/target, mob/user) - if(stationary_mode) - flick("firebots_use", user) - else - flick("firebot1_use", user) - internal_ext.interact_with_atom(target, src) - -/mob/living/simple_animal/bot/firebot/update_icon_state() - . = ..() - if(!(bot_mode_flags & BOT_MODE_ON)) - icon_state = "firebot0" - return - if(IsStun() || IsParalyzed() || stationary_mode) //Bot has yellow light to indicate stationary mode. - icon_state = "firebots1" - return - icon_state = "firebot1" - - -/mob/living/simple_animal/bot/firebot/explode() - var/atom/Tsec = drop_location() - - new /obj/item/assembly/prox_sensor(Tsec) - new /obj/item/clothing/head/utility/hardhat/red(Tsec) - - var/turf/T = get_turf(Tsec) - - if(isopenturf(T)) - var/turf/open/theturf = T - theturf.MakeSlippery(TURF_WET_WATER, min_wet_time = 10 SECONDS, wet_time_to_add = 5 SECONDS) - return ..() - -#undef SPEECH_INTERVAL -#undef DETECTED_VOICE_INTERVAL -#undef FOAM_INTERVAL diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm index b4cafdb6d538d..4156d9678bca0 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/hierophant.dm @@ -538,12 +538,12 @@ Difficulty: Hard /obj/effect/temp_visual/hierophant/wall/Initialize(mapload, new_caster) . = ..() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) QUEUE_SMOOTH(src) /obj/effect/temp_visual/hierophant/wall/Destroy() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) return ..() diff --git a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm index 8fc667df5a876..464636cbb204d 100644 --- a/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm +++ b/code/modules/mob/living/simple_animal/hostile/megafauna/wendigo.dm @@ -187,11 +187,14 @@ Difficulty: Hard if(!true_spawn) return ..() + create_portal() + return ..() + +/mob/living/simple_animal/hostile/megafauna/wendigo/proc/create_portal() var/obj/effect/portal/permanent/one_way/exit = new /obj/effect/portal/permanent/one_way(starting) exit.id = "wendigo arena exit" exit.add_atom_colour(COLOR_RED_LIGHT, ADMIN_COLOUR_PRIORITY) exit.set_light(20, 1, COLOR_SOFT_RED) - return ..() /obj/projectile/colossus/wendigo_shockwave name = "wendigo shockwave" @@ -265,4 +268,7 @@ Difficulty: Hard w_class = WEIGHT_CLASS_TINY throwforce = 0 +/mob/living/simple_animal/hostile/megafauna/wendigo/noportal/create_portal() + return + #undef WENDIGO_ENRAGED diff --git a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm index 7139f6a92bfcd..623e18e0494be 100644 --- a/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm +++ b/code/modules/mob/living/simple_animal/hostile/mining_mobs/elites/elite.dm @@ -7,7 +7,7 @@ name = "elite" desc = "An elite monster, found in one of the strange tumors on lavaland." icon = 'icons/mob/simple/lavaland/lavaland_elites.dmi' - faction = list(FACTION_BOSS) + faction = list(FACTION_MINING, FACTION_BOSS) robust_searching = TRUE ranged_ignores_vision = TRUE ranged = TRUE @@ -408,12 +408,12 @@ While using this makes the system rely on OnFire, it still gives options for tim /obj/effect/temp_visual/elite_tumor_wall/Initialize(mapload, new_caster) . = ..() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) QUEUE_SMOOTH(src) /obj/effect/temp_visual/elite_tumor_wall/Destroy() - if(smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH_NEIGHBORS(src) return ..() diff --git a/code/modules/mob/living/ventcrawling.dm b/code/modules/mob/living/ventcrawling.dm index e25a6f9b16e27..2fa18caf7bc20 100644 --- a/code/modules/mob/living/ventcrawling.dm +++ b/code/modules/mob/living/ventcrawling.dm @@ -1,4 +1,19 @@ // VENTCRAWLING + +/mob/living/proc/notify_ventcrawler_on_login() + var/ventcrawler = HAS_TRAIT(src, TRAIT_VENTCRAWLER_ALWAYS) || HAS_TRAIT(src, TRAIT_VENTCRAWLER_NUDE) + if(!ventcrawler) + return + to_chat(src, span_notice("You can ventcrawl! Use alt+click on vents to quickly travel about the station.")) + +/mob/living/carbon/human/notify_ventcrawler_on_login() + if(!ismonkey(src)) + return ..() + if(!istype(head, /obj/item/clothing/head/helmet/monkey_sentience)) //don't notify them about ventcrawling if they're wearing the sentience helmet, because they can't ventcrawl with it on, and if they take it off they'll no longer be in control of the mob. + return ..() + + + /// Checks if the mob is able to enter the vent, and provides feedback if they are unable to. /mob/living/proc/can_enter_vent(obj/machinery/atmospherics/components/ventcrawl_target, provide_feedback = TRUE) // Being able to always ventcrawl trumps being only able to ventcrawl when wearing nothing diff --git a/code/modules/mob/login.dm b/code/modules/mob/login.dm index 2f013f855b855..a4964add6c865 100644 --- a/code/modules/mob/login.dm +++ b/code/modules/mob/login.dm @@ -99,7 +99,10 @@ update_client_colour() update_mouse_pointer() - refresh_looping_ambience() + update_ambience_area(get_area(src)) + + if(!can_hear()) + stop_sound_channel(CHANNEL_AMBIENCE) if(client) if(client.view_size) diff --git a/code/modules/mob/logout.dm b/code/modules/mob/logout.dm index cf937e42bb74f..09d50c8436c71 100644 --- a/code/modules/mob/logout.dm +++ b/code/modules/mob/logout.dm @@ -3,6 +3,7 @@ log_message("[key_name(src)] is no longer owning mob [src]([src.type])", LOG_OWNERSHIP) SStgui.on_logout(src) remove_from_player_list() + update_ambience_area(null) // Unset ambience vars so it plays again on login ..() if(loc) diff --git a/code/modules/mob/mob.dm b/code/modules/mob/mob.dm index 7dd1cf0d2880f..6ec820bc469c9 100644 --- a/code/modules/mob/mob.dm +++ b/code/modules/mob/mob.dm @@ -6,7 +6,6 @@ * * GLOB.dead_mob_list * * GLOB.alive_mob_list * * GLOB.all_clockwork_mobs - * * GLOB.mob_directory * * Unsets the focus var * @@ -67,7 +66,6 @@ * * Adds to global lists * * GLOB.mob_list - * * GLOB.mob_directory (by tag) * * GLOB.dead_mob_list - if mob is dead * * GLOB.alive_mob_list - if the mob is alive * @@ -441,88 +439,6 @@ return FALSE -/** - * Try to equip an item to a slot on the mob - * - * This is a SAFE proc. Use this instead of equip_to_slot()! - * - * set qdel_on_fail to have it delete W if it fails to equip - * - * set disable_warning to disable the 'you are unable to equip that' warning. - * - * unset redraw_mob to prevent the mob icons from being redrawn at the end. - * - * Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it - * - * set indirect_action to allow insertions into "soft" locked objects, things that are easily opened by the owning mob - */ -/mob/proc/equip_to_slot_if_possible(obj/item/W, slot, qdel_on_fail = FALSE, disable_warning = FALSE, redraw_mob = TRUE, bypass_equip_delay_self = FALSE, initial = FALSE, indirect_action = FALSE) - if(!istype(W) || QDELETED(W)) //This qdeleted is to prevent stupid behavior with things that qdel during init, like say stacks - return FALSE - if(!W.mob_can_equip(src, slot, disable_warning, bypass_equip_delay_self, indirect_action = indirect_action)) - if(qdel_on_fail) - qdel(W) - else if(!disable_warning) - to_chat(src, span_warning("You are unable to equip that!")) - return FALSE - equip_to_slot(W, slot, initial, redraw_mob, indirect_action = indirect_action) //This proc should not ever fail. - return TRUE - -/** - * Actually equips an item to a slot (UNSAFE) - * - * This is an UNSAFE proc. It merely handles the actual job of equipping. All the checks on - * whether you can or can't equip need to be done before! Use mob_can_equip() for that task. - * - *In most cases you will want to use equip_to_slot_if_possible() - */ -/mob/proc/equip_to_slot(obj/item/equipping, slot, initial = FALSE, redraw_mob = FALSE, indirect_action = FALSE) - return - -/** - * Equip an item to the slot or delete - * - * This is just a commonly used configuration for the equip_to_slot_if_possible() proc, used to - * equip people when the round starts and when events happen and such. - * - * Also bypasses equip delay checks, since the mob isn't actually putting it on. - * Initial is used to indicate whether or not this is the initial equipment (job datums etc) or just a player doing it - * set indirect_action to allow insertions into "soft" locked objects, things that are easily opened by the owning mob - */ -/mob/proc/equip_to_slot_or_del(obj/item/W, slot, initial = FALSE, indirect_action = FALSE) - return equip_to_slot_if_possible(W, slot, TRUE, TRUE, FALSE, TRUE, initial, indirect_action) - -/** - * Auto equip the passed in item the appropriate slot based on equipment priority - * - * puts the item "W" into an appropriate slot in a human's inventory - * - * returns 0 if it cannot, 1 if successful - */ -/mob/proc/equip_to_appropriate_slot(obj/item/W, qdel_on_fail = FALSE, indirect_action = FALSE) - if(!istype(W)) - return FALSE - var/slot_priority = W.slot_equipment_priority - - if(!slot_priority) - slot_priority = list( \ - ITEM_SLOT_BACK, ITEM_SLOT_ID,\ - ITEM_SLOT_ICLOTHING, ITEM_SLOT_OCLOTHING,\ - ITEM_SLOT_MASK, ITEM_SLOT_HEAD, ITEM_SLOT_NECK,\ - ITEM_SLOT_FEET, ITEM_SLOT_GLOVES,\ - ITEM_SLOT_EARS, ITEM_SLOT_EYES,\ - ITEM_SLOT_BELT, ITEM_SLOT_SUITSTORE,\ - ITEM_SLOT_LPOCKET, ITEM_SLOT_RPOCKET,\ - ITEM_SLOT_DEX_STORAGE\ - ) - - for(var/slot in slot_priority) - if(equip_to_slot_if_possible(W, slot, disable_warning = TRUE, redraw_mob = TRUE, indirect_action = indirect_action)) - return TRUE - - if(qdel_on_fail) - qdel(W) - return FALSE /** * Reset the attached clients perspective (viewpoint) * @@ -889,10 +805,6 @@ set category = null return -///Is the mob muzzled (default false) -/mob/proc/is_muzzled() - return FALSE - /// Adds this list to the output to the stat browser /mob/proc/get_status_tab_items() . = list("") //we want to offset unique stuff from standard stuff @@ -1160,6 +1072,7 @@ * * ALLOW_VENTCRAWL - Mobs with ventcrawl traits can alt-click this to vent * * BYPASS_ADJACENCY - The target does not have to be adjacent * * SILENT_ADJACENCY - Adjacency is required but errors are not printed + * * NOT_INSIDE_TARGET - The target maybe adjacent but the mob should not be inside the target * * silence_adjacency: Sometimes we want to use this proc to check interaction without allowing it to throw errors for base case adjacency * Alt click uses this, as otherwise you can detect what is interactable from a distance via the error message diff --git a/code/modules/mob/mob_defines.dm b/code/modules/mob/mob_defines.dm index a0658c3a02b38..2206efd0e13ce 100644 --- a/code/modules/mob/mob_defines.dm +++ b/code/modules/mob/mob_defines.dm @@ -191,3 +191,6 @@ var/active_typing_indicator ///the icon currently used for the thinking indicator's bubble var/active_thinking_indicator + + /// A ref of the area we're taking our ambient loop from. + var/area/ambience_tracked_area diff --git a/code/modules/mob/mob_lists.dm b/code/modules/mob/mob_lists.dm index 9fd097a1fd6a4..f43f82ac24609 100644 --- a/code/modules/mob/mob_lists.dm +++ b/code/modules/mob/mob_lists.dm @@ -1,12 +1,10 @@ ///Adds the mob reference to the list and directory of all mobs. Called on Initialize(). /mob/proc/add_to_mob_list() GLOB.mob_list |= src - GLOB.mob_directory[tag] = src ///Removes the mob reference from the list and directory of all mobs. Called on Destroy(). /mob/proc/remove_from_mob_list() GLOB.mob_list -= src - GLOB.mob_directory -= tag ///Adds the mob reference to the list of all mobs alive. If mob is cliented, it adds it to the list of all living player-mobs. /mob/proc/add_to_alive_mob_list() diff --git a/code/modules/mob/mob_say.dm b/code/modules/mob/mob_say.dm index 568aee6690292..6b8c8f9aa6b2a 100644 --- a/code/modules/mob/mob_say.dm +++ b/code/modules/mob/mob_say.dm @@ -106,9 +106,6 @@ if(!allow_mimes && HAS_MIND_TRAIT(src, TRAIT_MIMING)) return FALSE - if(is_muzzled()) - return FALSE - return ..() ///Speak as a dead person (ghost etc) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index d186661d87fae..5d46f3c0dc06a 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -67,6 +67,7 @@ transformation_timer = addtimer(CALLBACK(src, PROC_REF(finish_humanize), species), TRANSFORMATION_DURATION, TIMER_UNIQUE) + /mob/living/carbon/proc/finish_humanize(species = /datum/species/human) transformation_timer = null to_chat(src, span_boldnotice("You are now a human.")) @@ -77,6 +78,12 @@ SEND_SIGNAL(src, COMSIG_MONKEY_HUMANIZE) return src +/mob/living/carbon/human/finish_humanize(species = /datum/species/human, instant = FALSE) + underwear = "Nude" + undershirt = "Nude" + socks = "Nude" + return ..() + /mob/proc/AIize(client/preference_source, move = TRUE) var/list/turf/landmark_loc = list() diff --git a/code/modules/mob_spawn/corpses/nanotrasen_corpses.dm b/code/modules/mob_spawn/corpses/nanotrasen_corpses.dm index 0940815f1fc56..0ed30e5a5215d 100644 --- a/code/modules/mob_spawn/corpses/nanotrasen_corpses.dm +++ b/code/modules/mob_spawn/corpses/nanotrasen_corpses.dm @@ -25,7 +25,7 @@ suit = /obj/item/clothing/suit/armor/bulletproof ears = /obj/item/radio/headset/heads/captain glasses = /obj/item/clothing/glasses/eyepatch - mask = /obj/item/clothing/mask/cigarette/cigar/cohiba + mask = /obj/item/cigarette/cigar/cohiba head = /obj/item/clothing/head/hats/centhat gloves = /obj/item/clothing/gloves/tackler/combat shoes = /obj/item/clothing/shoes/combat/swat diff --git a/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm b/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm index 5b9e043349ea0..0165b27f21a1a 100644 --- a/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/fugitive_hunter_roles.dm @@ -96,3 +96,18 @@ if I assisted them with my 'flesh-gaze'. They're a bunch of freaks, but at least they leave me be after I'm done helping them..." back_story = HUNTER_PACK_PSYKER outfit = /datum/outfit/psyker_seer + +/obj/effect/mob_spawn/ghost_role/human/fugitive/mi13 + name = "top-secret pod" + desc = "You don't have the classification to know what this pod contains or what its purpose is." + icon = 'icons/obj/machines/sleeper.dmi' + icon_state = "sleeper_s" + prompt_name = "a MI13 agent" + you_are_text = "I am an agent sent by MI13." + flavour_text = "Your mission is to infiltrate the space around SS13 and capture the fugitives on board, dead or alive. Your shuttle has been disguised as an ordinary food truck to help you remain undetected. \ + This is a stealth mission in enemy territory. Reinforcements will not be sent to save you. Microbombs have been implanted in case of capture. Do not disappoint." + back_story = HUNTER_PACK_MI13 + outfit = /datum/outfit/mi13_hunter + +/obj/effect/mob_spawn/ghost_role/human/fugitive/mi13/chef + outfit = /datum/outfit/mi13_hunter/chef diff --git a/code/modules/mob_spawn/ghost_roles/space_roles.dm b/code/modules/mob_spawn/ghost_roles/space_roles.dm index 764d20c9a76c1..79d028bdbcb27 100644 --- a/code/modules/mob_spawn/ghost_roles/space_roles.dm +++ b/code/modules/mob_spawn/ghost_roles/space_roles.dm @@ -181,6 +181,6 @@ ears = /obj/item/radio/headset/syndicate/alt/leader glasses = /obj/item/clothing/glasses/thermal/eyepatch head = /obj/item/clothing/head/hats/hos/cap/syndicate - mask = /obj/item/clothing/mask/cigarette/cigar/havana + mask = /obj/item/cigarette/cigar/havana l_pocket = /obj/item/melee/energy/sword/saber/red r_pocket = /obj/item/melee/baton/telescopic diff --git a/code/modules/mod/mod_control.dm b/code/modules/mod/mod_control.dm index 734cc6ba2510d..350c2fabc3069 100644 --- a/code/modules/mod/mod_control.dm +++ b/code/modules/mod/mod_control.dm @@ -144,9 +144,6 @@ if(active) . += span_notice("Charge: [core ? "[get_charge_percent()]%" : "No core"].") . += span_notice("Selected module: [selected_module || "None"].") - if(atom_storage) - . += span_notice("While the suit's panel is open, \ - being on combat mode will prevent you from inserting items into it when clicking on it.") if(!open && !active) if(!wearer) . += span_notice("You could equip it to turn it on.") @@ -278,7 +275,6 @@ return ITEM_INTERACT_SUCCESS /obj/item/mod/control/crowbar_act(mob/living/user, obj/item/crowbar) - . = ..() if(!open) balloon_alert(user, "open the cover first!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) @@ -309,32 +305,32 @@ return ITEM_INTERACT_BLOCKING /obj/item/mod/control/storage_insert_on_interacted_with(datum/storage, obj/item/inserted, mob/living/user) - if(user.combat_mode) - // Block all item-click-inserts when we're open - // Other form of insertion will still function (mousedrop, hotkey) - if(open) - return FALSE - // ...You have to open it up somehow though - if(inserted.tool_behaviour == TOOL_SCREWDRIVER) - return FALSE + // Hack. revisit later + if(istype(inserted, /obj/item/aicard)) + var/obj/item/aicard/ai_card = inserted + if(ai_card.AI) + return FALSE // we want to get an AI assistant, try uploading instead of insertion + if(ai_assistant) + return FALSE // we already have an AI assistant, try withdrawing instead of insertion return TRUE -/obj/item/mod/control/item_interaction(mob/living/user, obj/item/attacking_item, list/modifiers) - if(istype(attacking_item, /obj/item/pai_card)) +// Makes use of tool act to prevent shoving stuff into our internal storage +/obj/item/mod/control/tool_act(mob/living/user, obj/item/tool, list/modifiers) + if(istype(tool, /obj/item/pai_card)) if(!open) balloon_alert(user, "open the cover first!") return ITEM_INTERACT_BLOCKING - insert_pai(user, attacking_item) + insert_pai(user, tool) return ITEM_INTERACT_SUCCESS - if(istype(attacking_item, /obj/item/mod/module)) + if(istype(tool, /obj/item/mod/module)) if(!open) balloon_alert(user, "open the cover first!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return ITEM_INTERACT_BLOCKING - install(attacking_item, user) + install(tool, user) SEND_SIGNAL(src, COMSIG_MOD_MODULE_ADDED, user) return ITEM_INTERACT_SUCCESS - if(istype(attacking_item, /obj/item/mod/core)) + if(istype(tool, /obj/item/mod/core)) if(!open) balloon_alert(user, "open the cover first!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) @@ -343,19 +339,20 @@ balloon_alert(user, "core already installed!") playsound(src, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) return ITEM_INTERACT_BLOCKING - var/obj/item/mod/core/attacking_core = attacking_item + var/obj/item/mod/core/attacking_core = tool attacking_core.install(src) balloon_alert(user, "core installed") playsound(src, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) return ITEM_INTERACT_SUCCESS if(open) - if(is_wire_tool(attacking_item)) + if(is_wire_tool(tool)) wires.interact(user) return ITEM_INTERACT_SUCCESS - if(attacking_item.GetID()) - update_access(user, attacking_item.GetID()) + var/obj/item/id = tool.GetID() + if(id) + update_access(user, id) return ITEM_INTERACT_SUCCESS - return NONE + return ..() /obj/item/mod/control/get_cell() var/obj/item/stock_parts/power_store/cell = get_charge_source() diff --git a/code/modules/mod/mod_core.dm b/code/modules/mod/mod_core.dm index 70f95297b9404..0c13efa1b950c 100644 --- a/code/modules/mod/mod_core.dm +++ b/code/modules/mod/mod_core.dm @@ -97,7 +97,8 @@ install_cell(cell) RegisterSignal(mod, COMSIG_ATOM_EXAMINE, PROC_REF(on_examine)) RegisterSignal(mod, COMSIG_ATOM_ATTACK_HAND, PROC_REF(on_attack_hand)) - RegisterSignal(mod, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby)) + RegisterSignal(mod, COMSIG_ATOM_STORAGE_ITEM_INTERACT_INSERT, PROC_REF(on_mod_storage_insert)) + RegisterSignal(mod, COMSIG_ATOM_ITEM_INTERACTION, PROC_REF(on_mod_interaction)) RegisterSignal(mod, COMSIG_MOD_WEARER_SET, PROC_REF(on_wearer_set)) if(mod.wearer) on_wearer_set(mod, mod.wearer) @@ -105,7 +106,13 @@ /obj/item/mod/core/standard/uninstall() if(!QDELETED(cell)) cell.forceMove(drop_location()) - UnregisterSignal(mod, list(COMSIG_ATOM_EXAMINE, COMSIG_ATOM_ATTACK_HAND, COMSIG_ATOM_ATTACKBY, COMSIG_MOD_WEARER_SET)) + UnregisterSignal(mod, list( + COMSIG_ATOM_EXAMINE, + COMSIG_ATOM_ATTACK_HAND, + COMSIG_ATOM_STORAGE_ITEM_INTERACT_INSERT, + COMSIG_ATOM_ITEM_INTERACTION, + COMSIG_MOD_WEARER_SET, + )) if(mod.wearer) on_wearer_unset(mod, mod.wearer) return ..() @@ -206,23 +213,37 @@ cell_to_move.forceMove(drop_location()) user.put_in_hands(cell_to_move) -/obj/item/mod/core/standard/proc/on_attackby(datum/source, obj/item/attacking_item, mob/user) +/obj/item/mod/core/standard/proc/on_mod_storage_insert(datum/source, obj/item/thing, mob/living/user) SIGNAL_HANDLER - if(istype(attacking_item, /obj/item/stock_parts/power_store/cell)) - if(!mod.open) - mod.balloon_alert(user, "open the cover first!") - playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) - return NONE - if(cell) - mod.balloon_alert(user, "cell already installed!") - playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) - return COMPONENT_NO_AFTERATTACK - install_cell(attacking_item) - mod.balloon_alert(user, "cell installed") - playsound(mod, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) - return COMPONENT_NO_AFTERATTACK - return NONE + return replace_cell(thing, user) ? BLOCK_STORAGE_INSERT : NONE + +/obj/item/mod/core/standard/proc/on_mod_interaction(datum/source, mob/living/user, obj/item/thing) + SIGNAL_HANDLER + + if(mod.atom_storage) // handled by the storage signal + return NONE + + return item_interaction(user, thing) + +/obj/item/mod/core/standard/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + return replace_cell(tool, user) ? ITEM_INTERACT_SUCCESS : NONE + +/obj/item/mod/core/standard/proc/replace_cell(obj/item/attacking_item, mob/user) + if(!istype(attacking_item, /obj/item/stock_parts/power_store/cell)) + return FALSE + if(!mod.open) + mod.balloon_alert(user, "open the cover first!") + playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + if(cell) + mod.balloon_alert(user, "cell already installed!") + playsound(mod, 'sound/machines/scanbuzz.ogg', 25, TRUE, SILENCED_SOUND_EXTRARANGE) + return FALSE + install_cell(attacking_item) + mod.balloon_alert(user, "cell installed") + playsound(mod, 'sound/machines/click.ogg', 50, TRUE, SILENCED_SOUND_EXTRARANGE) + return TRUE /obj/item/mod/core/standard/proc/on_wearer_set(datum/source, mob/user) SIGNAL_HANDLER @@ -303,15 +324,11 @@ /obj/item/mod/core/plasma/install(obj/item/mod/control/mod_unit) . = ..() - RegisterSignal(mod, COMSIG_ATOM_ATTACKBY, PROC_REF(on_attackby)) + RegisterSignal(mod, COMSIG_ATOM_STORAGE_ITEM_INTERACT_INSERT, PROC_REF(on_mod_storage_insert)) + RegisterSignal(mod, COMSIG_ATOM_ITEM_INTERACTION, PROC_REF(on_mod_interaction)) /obj/item/mod/core/plasma/uninstall() - UnregisterSignal(mod, COMSIG_ATOM_ATTACKBY) - return ..() - -/obj/item/mod/core/plasma/attackby(obj/item/attacking_item, mob/user, params) - if(charge_plasma(attacking_item, user)) - return TRUE + UnregisterSignal(mod, list(COMSIG_ATOM_STORAGE_ITEM_INTERACT_INSERT, COMSIG_ATOM_ITEM_INTERACTION)) return ..() /obj/item/mod/core/plasma/charge_source() @@ -350,19 +367,28 @@ return "empty" -/obj/item/mod/core/plasma/proc/on_attackby(datum/source, obj/item/attacking_item, mob/user) +/obj/item/mod/core/plasma/proc/on_mod_storage_insert(datum/source, obj/item/thing, mob/living/user) SIGNAL_HANDLER - if(charge_plasma(attacking_item, user)) - return COMPONENT_NO_AFTERATTACK - return NONE + return charge_plasma(thing, user) ? BLOCK_STORAGE_INSERT : NONE + +/obj/item/mod/core/plasma/proc/on_mod_interaction(datum/source, mob/living/user, obj/item/thing) + SIGNAL_HANDLER + + if(mod.atom_storage) // handled by the storage signal + return NONE + + return item_interaction(thing, user) + +/obj/item/mod/core/plasma/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + return charge_plasma(tool, user) ? ITEM_INTERACT_SUCCESS : NONE /obj/item/mod/core/plasma/proc/charge_plasma(obj/item/stack/plasma, mob/user) var/charge_given = is_type_in_list(plasma, charger_list, zebra = TRUE) if(!charge_given) return FALSE var/uses_needed = min(plasma.amount, ROUND_UP((max_charge_amount() - charge_amount()) / charge_given)) - if(!plasma.use(uses_needed)) + if(uses_needed <= 0 || !plasma.use(uses_needed)) return FALSE add_charge(uses_needed * charge_given) balloon_alert(user, "core refueled") diff --git a/code/modules/mod/modules/modules_engineering.dm b/code/modules/mod/modules/modules_engineering.dm index cac8cfaa26eff..fc21937eef049 100644 --- a/code/modules/mod/modules/modules_engineering.dm +++ b/code/modules/mod/modules/modules_engineering.dm @@ -218,10 +218,10 @@ incompatible_modules = list(/obj/item/mod/module/armor_booster, /obj/item/mod/module/infiltrator) required_slots = list(ITEM_SLOT_HEAD) -/obj/item/mod/module/constructor/on_suit_activation() +/obj/item/mod/module/headprotector/on_suit_activation() ADD_TRAIT(mod.wearer, TRAIT_HEAD_INJURY_BLOCKED, MOD_TRAIT) -/obj/item/mod/module/constructor/on_suit_deactivation(deleting = FALSE) +/obj/item/mod/module/headprotector/on_suit_deactivation(deleting = FALSE) REMOVE_TRAIT(mod.wearer, TRAIT_HEAD_INJURY_BLOCKED, MOD_TRAIT) ///Mister - Sprays water over an area. diff --git a/code/modules/modular_computers/computers/item/computer_files.dm b/code/modules/modular_computers/computers/item/computer_files.dm index 6b6fbd179f21f..b0ae073bdd69a 100644 --- a/code/modules/modular_computers/computers/item/computer_files.dm +++ b/code/modules/modular_computers/computers/item/computer_files.dm @@ -39,7 +39,7 @@ stored_files.Remove(file_removing) used_capacity -= file_removing.size SEND_SIGNAL(src, COMSIG_MODULAR_COMPUTER_FILE_DELETE, file_removing) - SEND_SIGNAL(file_removing, COMSIG_COMPUTER_FILE_DELETE) + SEND_SIGNAL(file_removing, COMSIG_COMPUTER_FILE_DELETE, src) qdel(file_removing) return TRUE diff --git a/code/modules/modular_computers/computers/item/disks/maintenance_disks.dm b/code/modules/modular_computers/computers/item/disks/maintenance_disks.dm index 430c101668de8..0fb2ccc2eef91 100644 --- a/code/modules/modular_computers/computers/item/disks/maintenance_disks.dm +++ b/code/modules/modular_computers/computers/item/disks/maintenance_disks.dm @@ -25,3 +25,6 @@ /obj/item/computer_disk/maintenance/theme/Initialize(mapload) starting_programs = list(pick(subtypesof(/datum/computer_file/program/maintenance/theme))) return ..() + +/obj/item/computer_disk/maintenance/cool_sword + starting_programs = list(/datum/computer_file/program/maintenance/cool_sword) diff --git a/code/modules/modular_computers/computers/item/pda.dm b/code/modules/modular_computers/computers/item/pda.dm index ca10b6c53ad84..f1fced454e4d3 100644 --- a/code/modules/modular_computers/computers/item/pda.dm +++ b/code/modules/modular_computers/computers/item/pda.dm @@ -46,7 +46,7 @@ /obj/item/lipstick, /obj/item/flashlight/pen, /obj/item/reagent_containers/hypospray/medipen, - /obj/item/clothing/mask/cigarette, + /obj/item/cigarette, ) /obj/item/modular_computer/pda/Initialize(mapload) @@ -149,14 +149,14 @@ if(tool.w_class >= WEIGHT_CLASS_SMALL) // Anything equal to or larger than small won't work user.balloon_alert(user, "too big!") return ITEM_INTERACT_BLOCKING - if(inserted_item) - balloon_alert(user, "no room!") - return ITEM_INTERACT_BLOCKING if(!user.transferItemToLoc(tool, src)) return ITEM_INTERACT_BLOCKING - balloon_alert(user, "inserted [tool]") - inserted_item = tool - playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE) + if(inserted_item) + swap_pen(user, tool) + else + balloon_alert(user, "inserted [tool]") + inserted_item = tool + playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE) return ITEM_INTERACT_SUCCESS @@ -185,6 +185,14 @@ update_appearance() playsound(src, 'sound/machines/pda_button2.ogg', 50, TRUE) +/obj/item/modular_computer/pda/proc/swap_pen(mob/user, obj/item/tool) + if(inserted_item) + balloon_alert(user, "swapped pens") + user.put_in_hands(inserted_item) + inserted_item = tool + update_appearance() + playsound(src, 'sound/machines/pda_button1.ogg', 50, TRUE) + /obj/item/modular_computer/pda/proc/explode(mob/target, mob/bomber, from_message_menu = FALSE) var/turf/current_turf = get_turf(src) diff --git a/code/modules/modular_computers/computers/machinery/console_presets.dm b/code/modules/modular_computers/computers/machinery/console_presets.dm index ad87960603c35..94ff9439e3b11 100644 --- a/code/modules/modular_computers/computers/machinery/console_presets.dm +++ b/code/modules/modular_computers/computers/machinery/console_presets.dm @@ -33,6 +33,17 @@ /datum/computer_file/program/scipaper_program, ) +/obj/machinery/modular_computer/preset/research/away + name = "old research console" + desc = "An old computer used for writing research papers." + starting_programs = list( + /datum/computer_file/program/scipaper_program, + ) + +/obj/machinery/modular_computer/preset/research/away/Initialize(mapload) + . = ..() + cpu.device_theme = PDA_THEME_RETRO + // ===== COMMAND CONSOLE ===== /obj/machinery/modular_computer/preset/command name = "command console" diff --git a/code/modules/modular_computers/file_system/programs/maintenance/cool_sword.dm b/code/modules/modular_computers/file_system/programs/maintenance/cool_sword.dm new file mode 100644 index 0000000000000..1a05bf2ceba34 --- /dev/null +++ b/code/modules/modular_computers/file_system/programs/maintenance/cool_sword.dm @@ -0,0 +1,71 @@ +/datum/computer_file/program/maintenance/cool_sword + filename = "cool_sword" + filedesc = "NtOS Cursor Replacer" + power_cell_use = 0 + downloader_category = PROGRAM_CATEGORY_DEVICE + extended_desc = "This program allows you to customize your computer's mouse cursor, \ + but there's only one option, let's be honest. \ + Wear your PDA in your ID slot for it to take effect." + can_run_on_flags = PROGRAM_PDA + tgui_id = "NtosCursor" + program_open_overlay = "generic" + + /// What icon to use for the mouse pointer? + var/sword_icon = 'icons/effects/mouse_pointers/cool_sword.dmi' + +/datum/computer_file/program/maintenance/cool_sword/New() + . = ..() + RegisterSignal(src, COMSIG_COMPUTER_FILE_DELETE, PROC_REF(on_delete)) + +/datum/computer_file/program/maintenance/cool_sword/on_install(datum/computer_file/source, obj/item/modular_computer/computer_installing) + . = ..() + RegisterSignal(computer_installing, COMSIG_ITEM_EQUIPPED, PROC_REF(host_equipped)) + RegisterSignal(computer_installing, COMSIG_ITEM_DROPPED, PROC_REF(host_dropped)) + + if(ismob(computer_installing.loc)) + var/mob/living/computer_guy = computer_installing.loc + var/current_slot = computer_guy.get_slot_by_item(computer_installing) + host_equipped(computer_installing, computer_guy, current_slot) + +/datum/computer_file/program/maintenance/cool_sword/proc/on_delete(datum/source, obj/item/modular_computer/computer_uninstalling) + SIGNAL_HANDLER + + if(ismob(computer_uninstalling.loc)) + host_dropped(computer_uninstalling, computer_uninstalling.loc) + +/datum/computer_file/program/maintenance/cool_sword/proc/host_equipped(datum/source, mob/user, slot) + SIGNAL_HANDLER + + if(slot & ITEM_SLOT_ID) + user.client?.mouse_override_icon = sword_icon + RegisterSignal(user, COMSIG_MOB_LOGIN, PROC_REF(update_mouse), override = TRUE) + RegisterSignal(user, COMSIG_MOB_LOGOUT, PROC_REF(stop_mouse), override = TRUE) + else + // Shouldn't be necessary w/ dropped but just to be safe + user.client?.mouse_override_icon = null + UnregisterSignal(user, list(COMSIG_MOB_LOGIN, COMSIG_MOB_LOGOUT)) + user.update_mouse_pointer() + +/datum/computer_file/program/maintenance/cool_sword/proc/host_dropped(datum/source, mob/user) + SIGNAL_HANDLER + + user.client?.mouse_override_icon = null + UnregisterSignal(user, list(COMSIG_MOB_LOGIN, COMSIG_MOB_LOGOUT)) + user.update_mouse_pointer() + +/datum/computer_file/program/maintenance/cool_sword/proc/update_mouse(mob/source) + SIGNAL_HANDLER + + source.client?.mouse_override_icon = sword_icon + source.update_mouse_pointer() + +/datum/computer_file/program/maintenance/cool_sword/proc/stop_mouse(mob/source) + SIGNAL_HANDLER + + source.canon_client?.mouse_override_icon = null + source.canon_client?.mob?.update_mouse_pointer() + +/datum/computer_file/program/maintenance/cool_sword/ui_static_data(mob/user) + var/list/data = list() + data["dmi"] = list("icon" = sword_icon, "icon_state" = "") + return data diff --git a/code/modules/modular_computers/file_system/programs/radar.dm b/code/modules/modular_computers/file_system/programs/radar.dm index 34771cde63b20..33dcd95e86b97 100644 --- a/code/modules/modular_computers/file_system/programs/radar.dm +++ b/code/modules/modular_computers/file_system/programs/radar.dm @@ -114,7 +114,7 @@ var/locx = (target_turf.x - here_turf.x) + 24 var/locy = (here_turf.y - target_turf.y) + 24 - if(get_dist_euclidian(here_turf, target_turf) > 24) + if(get_dist_euclidean(here_turf, target_turf) > 24) userot = TRUE rot = round(get_angle(here_turf, target_turf)) else @@ -208,7 +208,7 @@ var/here_turf = get_turf(computer) var/target_turf = get_turf(signal) - var/trackdistance = get_dist_euclidian(here_turf, target_turf) + var/trackdistance = get_dist_euclidean(here_turf, target_turf) switch(trackdistance) if(0) program_open_overlay = "[initial(program_open_overlay)]direct" @@ -471,7 +471,7 @@ */ /obj/item/circuit_component/mod_program/radar/proc/can_track(datum/source, atom/signal, signal_turf, computer_turf) SIGNAL_HANDLER - if(target.value && get_dist_euclidian(computer_turf, signal_turf) > MAX_RADAR_CIRCUIT_DISTANCE) + if(target.value && get_dist_euclidean(computer_turf, signal_turf) > MAX_RADAR_CIRCUIT_DISTANCE) return COMPONENT_RADAR_DONT_TRACK return COMPONENT_RADAR_TRACK_ANYWAY diff --git a/code/modules/movespeed/modifiers/innate.dm b/code/modules/movespeed/modifiers/innate.dm index 94a3f7a2e791c..83d8b3fb78d98 100644 --- a/code/modules/movespeed/modifiers/innate.dm +++ b/code/modules/movespeed/modifiers/innate.dm @@ -7,11 +7,12 @@ flags = IGNORE_NOSLOW /datum/movespeed_modifier/snail - movetypes = ~FLYING + blacklisted_movetypes = FLYING variable = TRUE +// no reason for leg loss (or gain) to affect speed if drifting /datum/movespeed_modifier/bodypart - movetypes = ~FLYING + blacklisted_movetypes = (FLYING|FLOATING) variable = TRUE /datum/movespeed_modifier/dna_vault_speedup diff --git a/code/modules/movespeed/modifiers/mobs.dm b/code/modules/movespeed/modifiers/mobs.dm index b72c631253b91..1624ce37bf6d9 100644 --- a/code/modules/movespeed/modifiers/mobs.dm +++ b/code/modules/movespeed/modifiers/mobs.dm @@ -1,4 +1,5 @@ /datum/movespeed_modifier/obesity + // large weight slows even if flying and floating multiplicative_slowdown = 1.5 /datum/movespeed_modifier/monkey_reagent_speedmod @@ -11,6 +12,7 @@ variable = TRUE /datum/movespeed_modifier/hunger + movetypes = GROUND|FLYING variable = TRUE /datum/movespeed_modifier/golem_hunger @@ -89,7 +91,7 @@ /datum/movespeed_modifier/limbless variable = TRUE movetypes = GROUND - blacklisted_movetypes = FLOATING + blacklisted_movetypes = FLOATING|FLYING flags = IGNORE_NOSLOW /datum/movespeed_modifier/simplemob_varspeed diff --git a/code/modules/pai/pai.dm b/code/modules/pai/pai.dm index 11334f12abc79..4268c040e2bcd 100644 --- a/code/modules/pai/pai.dm +++ b/code/modules/pai/pai.dm @@ -164,7 +164,6 @@ QDEL_NULL(signaler) QDEL_NULL(leash) card = null - GLOB.pai_list.Remove(src) return ..() // Need to override parent here because the message we dispatch is turf-based, not based on the location of the object because that could be fuckin anywhere @@ -221,7 +220,6 @@ if(istype(loc, /obj/item/modular_computer)) give_messenger_ability() START_PROCESSING(SSfastprocess, src) - GLOB.pai_list += src make_laws() for(var/law in laws.inherent) lawcheck += law @@ -470,7 +468,7 @@ for(var/mob/living/cultist as anything in invokers) to_chat(cultist, span_cult_italic("You don't think this is what Nar'Sie had in mind when She asked for blood sacrifices...")) - return STOP_SACRIFICE + return STOP_SACRIFICE|SILENCE_SACRIFICE_MESSAGE /// Updates the distance we can be from our pai card /mob/living/silicon/pai/proc/increment_range(increment_amount) diff --git a/code/modules/paperwork/pen.dm b/code/modules/paperwork/pen.dm index 6043890bebd43..36949b65c7cdd 100644 --- a/code/modules/paperwork/pen.dm +++ b/code/modules/paperwork/pen.dm @@ -60,6 +60,7 @@ /datum/component/transforming, \ sharpness_on = NONE, \ inhand_icon_change = FALSE, \ + w_class_on = w_class, \ ) /* diff --git a/code/modules/power/supermatter/supermatter.dm b/code/modules/power/supermatter/supermatter.dm index 1c50f8312d4ae..76951670c9831 100644 --- a/code/modules/power/supermatter/supermatter.dm +++ b/code/modules/power/supermatter/supermatter.dm @@ -153,7 +153,10 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) ///Stores the time of when the last zap occurred var/last_power_zap = 0 - var/last_high_energy_zap = 0 + ///Stores the tick of the machines subsystem of when the last zap occurred. Gives a passage of time in the perspective of SSmachines. + var/last_power_zap_perspective_machines = 0 + ///Same as [last_power_zap_perspective_machines], but based around the high energy zaps found in handle_high_power(). + var/last_high_energy_zap_perspective_machines = 0 ///Do we show this crystal in the CIMS modular program var/include_in_cims = TRUE @@ -294,13 +297,11 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) // PART 3: POWER PROCESSING internal_energy_factors = calculate_internal_energy() zap_factors = calculate_zap_transmission_rate() - if(internal_energy && (last_power_zap + (4 - internal_energy * 0.001) SECONDS) < world.time) + var/delta_time = (SSmachines.times_fired - last_power_zap_perspective_machines) * SSmachines.wait / (1 SECONDS) + if(delta_time && internal_energy && (last_power_zap + (4 - internal_energy * 0.001) SECONDS) < world.time) playsound(src, 'sound/weapons/emitter2.ogg', 70, TRUE) hue_angle_shift = clamp(903 * log(10, (internal_energy + 8000)) - 3590, -50, 240) var/zap_color = color_matrix_rotate_hue(hue_angle_shift) - //Scale the strength of the zap with the world's time elapsed between zaps in seconds. - //Capped at 16 seconds to prevent a crazy burst of energy if atmos was halted for a long time. - var/delta_time = min((world.time - last_power_zap) * 0.1, 16) supermatter_zap( zapstart = src, range = 3, @@ -311,6 +312,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) color = zap_color, ) last_power_zap = world.time + last_power_zap_perspective_machines = SSmachines.times_fired // PART 4: DAMAGE PROCESSING temp_limit_factors = calculate_temp_limit() @@ -714,6 +716,7 @@ GLOBAL_DATUM(main_supermatter_engine, /obj/machinery/power/supermatter_crystal) activation_logged = TRUE // so we dont spam the log. else if(!internal_energy) last_power_zap = world.time + last_power_zap_perspective_machines = SSmachines.times_fired return additive_power /** Log when the supermatter is activated for the first time. diff --git a/code/modules/power/supermatter/supermatter_extra_effects.dm b/code/modules/power/supermatter/supermatter_extra_effects.dm index efd84c677fafa..35c96d298dd34 100644 --- a/code/modules/power/supermatter/supermatter_extra_effects.dm +++ b/code/modules/power/supermatter/supermatter_extra_effects.dm @@ -91,7 +91,7 @@ /obj/machinery/power/supermatter_crystal/proc/handle_high_power() if(internal_energy <= POWER_PENALTY_THRESHOLD && damage <= danger_point) //If the power is above 5000 or if the damage is above 550 - last_high_energy_zap = world.time //Prevent oddly high initial zap due to high energy zaps not getting triggered via too low energy. + last_high_energy_zap_perspective_machines = SSmachines.times_fired //Prevent oddly high initial zap due to high energy zaps not getting triggered via too low energy. return var/range = 4 zap_cutoff = 1500 @@ -129,10 +129,10 @@ if(zap_count >= 1) playsound(loc, 'sound/weapons/emitter2.ogg', 100, TRUE, extrarange = 10) - var/delta_time = min((world.time - last_high_energy_zap) * 0.1, 16) + var/delta_time = (SSmachines.times_fired - last_high_energy_zap_perspective_machines) * SSmachines.wait / (1 SECONDS) for(var/i in 1 to zap_count) supermatter_zap(src, range, clamp(internal_energy * 3200, 6.4e6, 3.2e7) * delta_time, flags, zap_cutoff = src.zap_cutoff * delta_time, power_level = internal_energy, zap_icon = src.zap_icon) - last_high_energy_zap = world.time + last_high_energy_zap_perspective_machines = SSmachines.times_fired if(prob(5)) supermatter_anomaly_gen(src, FLUX_ANOMALY, rand(5, 10)) if(prob(5)) diff --git a/code/modules/power/supermatter/supermatter_gas.dm b/code/modules/power/supermatter/supermatter_gas.dm index 35b9db0731f92..fe0ed388148b5 100644 --- a/code/modules/power/supermatter/supermatter_gas.dm +++ b/code/modules/power/supermatter/supermatter_gas.dm @@ -216,7 +216,7 @@ GLOBAL_LIST_INIT(sm_gas_behavior, init_sm_gas()) desc = "Will generate electrical zaps." /datum/sm_gas/zauker/extra_effects(obj/machinery/power/supermatter_crystal/sm) - if(!prob(sm.gas_percentage[/datum/gas/zauker])) + if(!prob(sm.gas_percentage[/datum/gas/zauker] * 100)) return playsound(sm.loc, 'sound/weapons/emitter2.ogg', 100, TRUE, extrarange = 10) sm.supermatter_zap( diff --git a/code/modules/projectiles/boxes_magazines/_box_magazine.dm b/code/modules/projectiles/boxes_magazines/_box_magazine.dm index 62f9185d2145c..207190d08f924 100644 --- a/code/modules/projectiles/boxes_magazines/_box_magazine.dm +++ b/code/modules/projectiles/boxes_magazines/_box_magazine.dm @@ -94,7 +94,7 @@ stack_trace("Tried loading unsupported ammocasing type [load_type] into ammo box [type].") return - for(var/i in max(1, stored_ammo.len) to max_ammo) + for(var/i in max(1, stored_ammo.len + 1) to max_ammo) stored_ammo += new round_check(src) update_appearance() diff --git a/code/modules/projectiles/boxes_magazines/internal/revolver.dm b/code/modules/projectiles/boxes_magazines/internal/revolver.dm index 7d881a11c4dca..e74a192d6900f 100644 --- a/code/modules/projectiles/boxes_magazines/internal/revolver.dm +++ b/code/modules/projectiles/boxes_magazines/internal/revolver.dm @@ -16,7 +16,10 @@ caliber = CALIBER_357 max_ammo = 6 multiload = FALSE + start_empty = TRUE -/obj/item/ammo_box/magazine/internal/rus357/Initialize(mapload) - stored_ammo += new ammo_type(src) +/obj/item/ammo_box/magazine/internal/cylinder/rus357/Initialize(mapload) . = ..() + for (var/i in 1 to max_ammo - 1) + stored_ammo += new /obj/item/ammo_casing/a357/spent(src) + stored_ammo += new /obj/item/ammo_casing/a357(src) diff --git a/code/modules/projectiles/guns/energy/dueling.dm b/code/modules/projectiles/guns/energy/dueling.dm index f35769e663c71..9a7fa9aa78bea 100644 --- a/code/modules/projectiles/guns/energy/dueling.dm +++ b/code/modules/projectiles/guns/energy/dueling.dm @@ -365,6 +365,7 @@ icon_closed = "medalbox" icon_broken = "medalbox+b" base_icon_state = "medalbox" + icon_open = "medalboxopen" /obj/item/storage/lockbox/dueling/Initialize(mapload) . = ..() @@ -372,16 +373,6 @@ atom_storage.max_slots = 2 atom_storage.set_holdable(/obj/item/gun/energy/dueling) -/obj/item/storage/lockbox/dueling/update_icon_state() - if(atom_storage?.locked) - icon_state = icon_locked - return ..() - if(broken) - icon_state = icon_broken - return ..() - icon_state = open ? "[base_icon_state]open" : icon_closed - return ..() - /obj/item/storage/lockbox/dueling/PopulateContents() . = ..() var/obj/item/gun/energy/dueling/gun_A = new(src) diff --git a/code/modules/projectiles/guns/magic/wand.dm b/code/modules/projectiles/guns/magic/wand.dm index e8f41ef0b48ec..b2fe293eae8c2 100644 --- a/code/modules/projectiles/guns/magic/wand.dm +++ b/code/modules/projectiles/guns/magic/wand.dm @@ -277,3 +277,78 @@ charges-- user.AddComponent(/datum/component/shrink, -1) // small forever return ..() + +// Wand of debugging + +#ifdef TESTING + +/obj/item/gun/magic/wand/antag + name = "wand of antag" + desc = "This wand uses the powers of bullshit to turn anyone it hits into an antag" + school = SCHOOL_FORBIDDEN + ammo_type = /obj/item/ammo_casing/magic/antag + icon_state = "revivewand" + base_icon_state = "revivewand" + color = COLOR_ADMIN_PINK + max_charges = 99999 + +/obj/item/gun/magic/wand/antag/zap_self(mob/living/user) + . = ..() + var/obj/item/ammo_casing/magic/antag/casing = new ammo_type() + var/obj/projectile/magic/magic_proj = casing.projectile_type + magic_proj = new magic_proj(src) + magic_proj.on_hit(user) + QDEL_NULL(casing) + +/obj/item/ammo_casing/magic/antag + projectile_type = /obj/projectile/magic/antag + harmful = FALSE + +/obj/projectile/magic/antag + name = "bolt of antag" + icon_state = "ion" + var/antag = /datum/antagonist/traitor + +/obj/projectile/magic/antag/on_hit(atom/target, blocked, pierce_hit) + . = ..() + + if(isliving(target)) + var/mob/living/victim = target + if(isnull(victim.mind)) + victim.mind_initialize() + if(victim.mind.has_antag_datum(antag)) + victim.mind.remove_antag_datum(antag) + to_chat(world, "removed") + else + victim.mind.add_antag_datum(antag) + to_chat(world, "added") + +/obj/item/gun/magic/wand/antag/heretic + name = "wand of antag heretic" + desc = "This wand uses the powers of bullshit to turn anyone it hits into an antag heretic" + color = COLOR_GREEN + ammo_type = /obj/item/ammo_casing/magic/antag/heretic + +/obj/item/ammo_casing/magic/antag/heretic + projectile_type = /obj/projectile/magic/antag/heretic + +/obj/projectile/magic/antag/heretic + name = "bolt of antag heretic" + icon_state = "ion" + antag = /datum/antagonist/heretic + +/obj/item/gun/magic/wand/antag/cult + name = "wand of antag cultist" + desc = "This wand uses the powers of bullshit to turn anyone it hits into an antag cultist" + color = COLOR_CULT_RED + ammo_type = /obj/item/ammo_casing/magic/antag/cult + +/obj/item/ammo_casing/magic/antag/cult + projectile_type = /obj/projectile/magic/antag/cult + +/obj/projectile/magic/antag/cult + name = "bolt of antag cult" + icon_state = "ion" + antag = /datum/antagonist/cult + +#endif diff --git a/code/modules/projectiles/guns/special/hand_of_midas.dm b/code/modules/projectiles/guns/special/hand_of_midas.dm index 68b8158c32d9f..e92ffe8d0bf22 100644 --- a/code/modules/projectiles/guns/special/hand_of_midas.dm +++ b/code/modules/projectiles/guns/special/hand_of_midas.dm @@ -37,20 +37,26 @@ balloon_alert(user, "not enough gold") // Siphon gold from a victim, recharging our gun & removing their Midas Blight debuff in the process. +/obj/item/gun/magic/midas_hand/interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) + if(!isliving(interacting_with)) + return ITEM_INTERACT_BLOCKING + return suck_gold(interacting_with, user) + /obj/item/gun/magic/midas_hand/ranged_interact_with_atom_secondary(atom/interacting_with, mob/living/user, list/modifiers) if(!isliving(interacting_with) || !IN_GIVEN_RANGE(user, interacting_with, gold_suck_range)) return ITEM_INTERACT_BLOCKING - if(interacting_with == user) + return suck_gold(interacting_with, user) + +/obj/item/gun/magic/midas_hand/proc/suck_gold(mob/living/victim, mob/living/user) + if(victim == user) balloon_alert(user, "can't siphon from self!") return ITEM_INTERACT_BLOCKING - if(!interacting_with.reagents) + if(!victim.reagents) return ITEM_INTERACT_BLOCKING - - var/gold_amount = interacting_with.reagents.get_reagent_amount(/datum/reagent/gold, type_check = REAGENT_SUB_TYPE) + var/gold_amount = victim.reagents.get_reagent_amount(/datum/reagent/gold, type_check = REAGENT_SUB_TYPE) if(!gold_amount) balloon_alert(user, "no gold in bloodstream!") return ITEM_INTERACT_BLOCKING - var/mob/living/victim = interacting_with var/gold_beam = user.Beam(victim, icon_state = "drain_gold") if(!do_after( user = user, diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index 43e4e160d06a1..013cc6e4b294c 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -930,6 +930,8 @@ trajectory.increment(trajectory_multiplier) var/turf/T = trajectory.return_turf() if(!istype(T)) + // step back to the last valid turf before we Destroy + trajectory.increment(-trajectory_multiplier) qdel(src) return if(T.z != loc.z) diff --git a/code/modules/projectiles/projectile/special/temperature.dm b/code/modules/projectiles/projectile/special/temperature.dm index 3d88c40fdfb9c..182bb715466d3 100644 --- a/code/modules/projectiles/projectile/special/temperature.dm +++ b/code/modules/projectiles/projectile/special/temperature.dm @@ -31,7 +31,7 @@ /obj/projectile/temp/cryo name = "cryo beam" - range = 3 + range = 9 temperature = -240 // Single slow shot reduces temp greatly /obj/projectile/temp/cryo/on_range() @@ -40,3 +40,25 @@ var/turf/open/O = T O.freeze_turf() return ..() + +/obj/projectile/temp/pyro + name = "hot beam" + icon_state = "firebeam" // sets on fire, diff sprite! + range = 9 + temperature = 240 + +/obj/projectile/temp/pyro/on_hit(atom/target, blocked, pierce_hit) + . = ..() + if(!.) + return + var/mob/living/living_target = target + if(!istype(living_target)) + return + living_target.adjust_fire_stacks(2) + living_target.ignite_mob() + +/obj/projectile/temp/pyro/on_range() + var/turf/location = get_turf(src) + new /obj/effect/hotspot(location) + location.hotspot_expose(700, 50, 1) + return ..() diff --git a/code/modules/reagents/chemistry/holder/reactions.dm b/code/modules/reagents/chemistry/holder/reactions.dm index 80241173deebf..3fbcb57a43424 100644 --- a/code/modules/reagents/chemistry/holder/reactions.dm +++ b/code/modules/reagents/chemistry/holder/reactions.dm @@ -339,6 +339,7 @@ my_atom.visible_message(span_notice("[iconhtml] \The [my_atom]'s power is consumed in the reaction.")) extract.name = "used slime extract" extract.desc = "This extract has been used up." + extract.grind_results.Cut() //finish the reaction selected_reaction.on_reaction(src, null, multiplier) diff --git a/code/modules/reagents/chemistry/reagents.dm b/code/modules/reagents/chemistry/reagents.dm index 11947c7060271..576d62585f7a8 100644 --- a/code/modules/reagents/chemistry/reagents.dm +++ b/code/modules/reagents/chemistry/reagents.dm @@ -250,7 +250,9 @@ Primarily used in reagents/reaction_agents /// Should return a associative list where keys are taste descriptions and values are strength ratios /datum/reagent/proc/get_taste_description(mob/living/taster) - return list("[taste_description]" = 1) + if(isnull(taster) || !HAS_TRAIT(taster, TRAIT_DETECTIVES_TASTE)) + return list("[taste_description]" = 1) + return list("[LOWER_TEXT(name)]" = 1) /** * Used when you want the default reagents purity to be equal to the normal effects diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index b60a5b8028642..c6cee8e91c062 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -503,18 +503,29 @@ var/atom/movable/plane_master_controller/game_plane_master_controller = psychonaut.hud_used.plane_master_controllers[PLANE_MASTERS_GAME] + // Info for non-matrix plebs like me! + + // This doesn't change the RGB matrixes directly at all. Instead, it shifts all the colors' Hue by 33%, + // Shifting them up the color wheel, turning R to G, G to B, B to R, making a psychedelic effect. + // The second moves them two colors up instead, turning R to B, G to R, B to G. + // The third does a full spin, or resets it back to normal. + // Imagine a triangle on the color wheel with the points located at the color peaks, rotating by 90 degrees each time. + // The value with decimals is the Hue. The rest are Saturation, Luminosity, and Alpha, though they're unused here. + + // The filters were initially named _green, _blue, _red, despite every filter changing all the colors. It caused me a 2-years-long headache. + var/list/col_filter_identity = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.000,0,0,0) - var/list/col_filter_green = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.333,0,0,0) - var/list/col_filter_blue = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.666,0,0,0) - var/list/col_filter_red = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 1.000,0,0,0) //visually this is identical to the identity + var/list/col_filter_shift_once = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.333,0,0,0) + var/list/col_filter_shift_twice = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.666,0,0,0) + var/list/col_filter_reset = list(1,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 1.000,0,0,0) //visually this is identical to the identity - game_plane_master_controller.add_filter("rainbow", 10, color_matrix_filter(col_filter_red, FILTER_COLOR_HSL)) + game_plane_master_controller.add_filter("rainbow", 10, color_matrix_filter(col_filter_reset, FILTER_COLOR_HSL)) for(var/filter in game_plane_master_controller.get_filters("rainbow")) animate(filter, color = col_filter_identity, time = 0 SECONDS, loop = -1, flags = ANIMATION_PARALLEL) - animate(color = col_filter_green, time = 4 SECONDS) - animate(color = col_filter_blue, time = 4 SECONDS) - animate(color = col_filter_red, time = 4 SECONDS) + animate(color = col_filter_shift_once, time = 4 SECONDS) + animate(color = col_filter_shift_twice, time = 4 SECONDS) + animate(color = col_filter_reset, time = 4 SECONDS) game_plane_master_controller.add_filter("psilocybin_wave", 1, list("type" = "wave", "size" = 2, "x" = 32, "y" = 32)) @@ -568,18 +579,18 @@ var/atom/movable/plane_master_controller/game_plane_master_controller = dancer.hud_used.plane_master_controllers[PLANE_MASTERS_GAME] - var/list/col_filter_blue = list(0,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.764,0,0,0) //most blue color + var/list/col_filter_shift_twice = list(0,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.764,0,0,0) //most blue color var/list/col_filter_mid = list(0,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.832,0,0,0) //red/blue mix midpoint - var/list/col_filter_red = list(0,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.900,0,0,0) //most red color + var/list/col_filter_reset = list(0,0,0,0, 0,1,0,0, 0,0,1,0, 0,0,0,1, 0.900,0,0,0) //most red color game_plane_master_controller.add_filter("blastoff_filter", 10, color_matrix_filter(col_filter_mid, FILTER_COLOR_HCY)) game_plane_master_controller.add_filter("blastoff_wave", 1, list("type" = "wave", "x" = 32, "y" = 32)) for(var/filter in game_plane_master_controller.get_filters("blastoff_filter")) - animate(filter, color = col_filter_blue, time = 3 SECONDS, loop = -1, flags = ANIMATION_PARALLEL) + animate(filter, color = col_filter_shift_twice, time = 3 SECONDS, loop = -1, flags = ANIMATION_PARALLEL) animate(color = col_filter_mid, time = 3 SECONDS) - animate(color = col_filter_red, time = 3 SECONDS) + animate(color = col_filter_reset, time = 3 SECONDS) animate(color = col_filter_mid, time = 3 SECONDS) for(var/filter in game_plane_master_controller.get_filters("blastoff_wave")) diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index df14037ac1e8f..77205b577929d 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -127,6 +127,16 @@ if(data["blood_DNA"]) bloodsplatter.add_blood_DNA(list(data["blood_DNA"] = data["blood_type"])) +/datum/reagent/blood/get_taste_description(mob/living/taster) + if(isnull(taster)) + return ..() + if(!HAS_TRAIT(taster, TRAIT_DETECTIVES_TASTE)) + return ..() + var/blood_type = data?["blood_type"] + if(!blood_type) + return ..() + return list("[blood_type] type blood" = 1) + /datum/reagent/consumable/liquidgibs name = "Liquid Gibs" color = "#CC4633" diff --git a/code/modules/reagents/chemistry/recipes/slime_extracts.dm b/code/modules/reagents/chemistry/recipes/slime_extracts.dm index a60432c078429..13eaffca3a898 100644 --- a/code/modules/reagents/chemistry/recipes/slime_extracts.dm +++ b/code/modules/reagents/chemistry/recipes/slime_extracts.dm @@ -88,7 +88,7 @@ //Gold /datum/chemical_reaction/slime/slimemobspawn - required_reagents = list(/datum/reagent/toxin/plasma = 1) + required_reagents = list(/datum/reagent/toxin/plasma = 15) required_container = /obj/item/slime_extract/gold deletes_extract = FALSE //we do delete, but we don't do so instantly reaction_tags = REACTION_TAG_EASY | REACTION_TAG_SLIME | REACTION_TAG_DANGEROUS @@ -103,7 +103,7 @@ /datum/chemical_reaction/slime/slimemobspawn/proc/summon_mobs(datum/reagents/holder, turf/T) T.visible_message(span_danger("The slime extract begins to vibrate violently!")) - addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 5, "Gold Slime", HOSTILE_SPAWN), 5 SECONDS) + addtimer(CALLBACK(src, PROC_REF(chemical_mob_spawn), holder, 4, "Gold Slime", HOSTILE_SPAWN), 5 SECONDS) /datum/chemical_reaction/slime/slimemobspawn/lesser required_reagents = list(/datum/reagent/blood = 1) @@ -222,7 +222,7 @@ required_container = /obj/item/slime_extract/orange /datum/chemical_reaction/slime/slimefire - required_reagents = list(/datum/reagent/toxin/plasma = 1) + required_reagents = list(/datum/reagent/toxin/plasma = 15) required_container = /obj/item/slime_extract/orange deletes_extract = FALSE @@ -249,12 +249,12 @@ //Yellow /datum/chemical_reaction/slime/slimeoverload - required_reagents = list(/datum/reagent/blood = 1) + required_reagents = list(/datum/reagent/blood = 15) required_container = /obj/item/slime_extract/yellow reaction_tags = REACTION_TAG_EASY | REACTION_TAG_SLIME | REACTION_TAG_DANGEROUS /datum/chemical_reaction/slime/slimeoverload/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) - empulse(get_turf(holder.my_atom), 3, 7) + empulse(get_turf(holder.my_atom), 3, 5) ..() /datum/chemical_reaction/slime/slimecell @@ -356,7 +356,7 @@ //Oil /datum/chemical_reaction/slime/slimeexplosion - required_reagents = list(/datum/reagent/toxin/plasma = 1) + required_reagents = list(/datum/reagent/toxin/plasma = 15) required_container = /obj/item/slime_extract/oil deletes_extract = FALSE reaction_tags = REACTION_TAG_EASY | REACTION_TAG_SLIME | REACTION_TAG_DANGEROUS @@ -380,7 +380,7 @@ /datum/chemical_reaction/slime/slimeexplosion/proc/boom(datum/reagents/holder) if(holder?.my_atom) - explosion(holder.my_atom, devastation_range = 1, heavy_impact_range = 3, light_impact_range = 6, explosion_cause = src) + explosion(holder.my_atom, devastation_range = 1, heavy_impact_range = 2, light_impact_range = 4, explosion_cause = src) /datum/chemical_reaction/slime/slimeoil @@ -408,7 +408,7 @@ //Adamantine /datum/chemical_reaction/slime/adamantine - required_reagents = list(/datum/reagent/toxin/plasma = 1) + required_reagents = list(/datum/reagent/toxin/plasma = 15) required_container = /obj/item/slime_extract/adamantine /datum/chemical_reaction/slime/adamantine/on_reaction(datum/reagents/holder, datum/equilibrium/reaction, created_volume) diff --git a/code/modules/reagents/reagent_containers/cups/_cup.dm b/code/modules/reagents/reagent_containers/cups/_cup.dm index 644f0dd96948a..87df7765233ec 100644 --- a/code/modules/reagents/reagent_containers/cups/_cup.dm +++ b/code/modules/reagents/reagent_containers/cups/_cup.dm @@ -117,6 +117,7 @@ return ITEM_INTERACT_BLOCKING var/trans = reagents.trans_to(target, amount_per_transfer_from_this, transferred_by = user) + playsound(target.loc, pick('sound/effects/liquid_pour1.ogg', 'sound/effects/liquid_pour2.ogg', 'sound/effects/liquid_pour3.ogg'), 50) to_chat(user, span_notice("You transfer [trans] unit\s of the solution to [target].")) SEND_SIGNAL(src, COMSIG_REAGENTS_CUP_TRANSFER_TO, target) target.update_appearance() @@ -227,6 +228,8 @@ worn_icon_state = "beaker" custom_materials = list(/datum/material/glass=SMALL_MATERIAL_AMOUNT*5) fill_icon_thresholds = list(0, 1, 20, 40, 60, 80, 100) + pickup_sound = 'sound/items/handling/beaker_pickup.ogg' + drop_sound = 'sound/items/handling/beaker_place.ogg' /obj/item/reagent_containers/cup/beaker/Initialize(mapload) . = ..() diff --git a/code/modules/reagents/reagent_dispenser.dm b/code/modules/reagents/reagent_dispenser.dm index b8b3576aa4b1b..f9cf10e1068d9 100644 --- a/code/modules/reagents/reagent_dispenser.dm +++ b/code/modules/reagents/reagent_dispenser.dm @@ -204,6 +204,7 @@ if(leaking && reagents && reagents.total_volume >= amount_to_leak) reagents.expose(get_turf(src), TOUCH, amount_to_leak / max(amount_to_leak, reagents.total_volume)) reagents.remove_reagent(reagent_id, amount_to_leak) + playsound(src, 'sound/effects/glug.ogg', 33, TRUE, SILENCED_SOUND_EXTRARANGE) return TRUE return FALSE @@ -221,7 +222,7 @@ if(!openable) return FALSE leaking = !leaking - balloon_alert(user, "[leaking ? "opened" : "closed"] [src]'s tap") + balloon_alert(user, "[leaking ? "opened" : "closed"] tap") user.log_message("[leaking ? "opened" : "closed"] [src].", LOG_GAME) tank_leak() return ITEM_INTERACT_SUCCESS diff --git a/code/modules/research/designs/autolathe/engineering_designs.dm b/code/modules/research/designs/autolathe/engineering_designs.dm index dc87b747959ca..c376a1ac1c55a 100644 --- a/code/modules/research/designs/autolathe/engineering_designs.dm +++ b/code/modules/research/designs/autolathe/engineering_designs.dm @@ -10,18 +10,6 @@ ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING -/datum/design/sparker - name = "Sparker WallFrame" - id = "sparker" - build_type = PROTOLATHE | AWAY_LATHE | AUTOLATHE - materials = list(/datum/material/iron = HALF_SHEET_MATERIAL_AMOUNT, /datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT) - build_path = /obj/item/wallframe/sparker - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - /datum/design/tracker_electronics name = "Solar Tracking Electronics" id = "solar_tracker" @@ -95,18 +83,6 @@ ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING -/datum/design/turret_control_frame - name = "Turret Control Frame" - id = "turret_control" - build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*6) - build_path = /obj/item/wallframe/turret_control - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - /datum/design/large_welding_tool name = "Industrial Welding Tool" id = "large_welding_tool" @@ -119,55 +95,6 @@ ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING -/datum/design/camera_assembly - name = "Camera Assembly" - id = "camera_assembly" - build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT*4, /datum/material/glass = SMALL_MATERIAL_AMOUNT*2.5) - build_path = /obj/item/wallframe/camera - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/newscaster_frame - name = "Newscaster Frame" - id = "newscaster_frame" - build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*7, /datum/material/glass = SHEET_MATERIAL_AMOUNT*4) - build_path = /obj/item/wallframe/newscaster - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/status_display_frame - name = "Status Display Frame" - id = "status_display_frame" - build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*7, /datum/material/glass = SHEET_MATERIAL_AMOUNT*4) - build_path = /obj/item/wallframe/status_display - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - - -/datum/design/intercom_frame - name = "Intercom Frame" - id = "intercom_frame" - build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT*0.75, /datum/material/glass =SMALL_MATERIAL_AMOUNT*0.25) - build_path = /obj/item/wallframe/intercom - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - /datum/design/earmuffs name = "Earmuffs" id = "earmuffs" @@ -323,130 +250,3 @@ RND_CATEGORY_TOOLS + RND_SUBCATEGORY_TOOLS_ATMOSPHERICS, ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/requests_console - name = "Requests Console Frame" - id = "requests_console" - build_type = AUTOLATHE | PROTOLATHE - materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*7, /datum/material/glass = SHEET_MATERIAL_AMOUNT*4) - build_path = /obj/item/wallframe/requests_console - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/light_switch_frame - name = "Light Switch Frame" - id = "light_switch_frame" - build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron = SMALL_MATERIAL_AMOUNT*0.75, /datum/material/glass =SMALL_MATERIAL_AMOUNT*0.25) - build_path = /obj/item/wallframe/light_switch - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/telescreen_turbine - name = "Turbine Telescreen" - id = "telescreen_turbine" - build_type = PROTOLATHE - materials = list( - /datum/material/iron = SHEET_MATERIAL_AMOUNT*5, - /datum/material/glass =SHEET_MATERIAL_AMOUNT * 2.5, - ) - build_path = /obj/item/wallframe/telescreen/turbine - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/telescreen_engine - name = "Engine Telescreen" - id = "telescreen_engine" - build_type = PROTOLATHE - materials = list( - /datum/material/iron = SHEET_MATERIAL_AMOUNT*5, - /datum/material/glass =SHEET_MATERIAL_AMOUNT * 2.5, - ) - build_path = /obj/item/wallframe/telescreen/engine - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/telescreen_auxbase - name = "Auxiliary Base Telescreen" - id = "telescreen_auxbase" - build_type = PROTOLATHE - materials = list( - /datum/material/iron = SHEET_MATERIAL_AMOUNT*5, - /datum/material/glass =SHEET_MATERIAL_AMOUNT * 2.5, - ) - build_path = /obj/item/wallframe/telescreen/auxbase - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/tram_controller - name = "Tram Controller Cabinet" - id = "tram_controller" - build_type = PROTOLATHE - materials = list( - /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 4, - /datum/material/iron = SHEET_MATERIAL_AMOUNT * 2, - /datum/material/gold = SHEET_MATERIAL_AMOUNT * 7, - /datum/material/silver = SHEET_MATERIAL_AMOUNT * 7, - /datum/material/diamond = SHEET_MATERIAL_AMOUNT * 4, - ) - build_path = /obj/item/wallframe/tram/controller - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/tram_display - name = "Tram Indicator Display" - id = "tram_display" - build_type = PROTOLATHE - materials = list( - /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 4, - /datum/material/iron = SHEET_MATERIAL_AMOUNT * 1, - /datum/material/glass =SHEET_MATERIAL_AMOUNT * 2, - ) - build_path = /obj/item/wallframe/indicator_display - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MOUNTS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/tram_floor_dark - name = "Dark Tram Tile" - id = "tram_floor_dark" - build_type = PROTOLATHE - materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 0.25) - build_path = /obj/item/stack/thermoplastic - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MATERIALS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING - -/datum/design/tram_floor_light - name = "Light Tram Tile" - id = "tram_floor_light" - build_type = PROTOLATHE - materials = list(/datum/material/plastic = SHEET_MATERIAL_AMOUNT * 0.25) - build_path = /obj/item/stack/thermoplastic/light - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MATERIALS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING diff --git a/code/modules/research/designs/autolathe/multi-department_designs.dm b/code/modules/research/designs/autolathe/multi-department_designs.dm index ea1c94ff89c27..734dcbc97e084 100644 --- a/code/modules/research/designs/autolathe/multi-department_designs.dm +++ b/code/modules/research/designs/autolathe/multi-department_designs.dm @@ -483,43 +483,6 @@ ) departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE -/datum/design/circuit - name = "Blue Circuit Tile" - id = "circuit" - build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron =SMALL_MATERIAL_AMOUNT*5, /datum/material/glass =SMALL_MATERIAL_AMOUNT*5) - build_path = /obj/item/stack/tile/circuit - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MATERIALS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE - - -/datum/design/circuitgreen - name = "Green Circuit Tile" - id = "circuitgreen" - build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron =SMALL_MATERIAL_AMOUNT*5, /datum/material/glass =SMALL_MATERIAL_AMOUNT*5) - build_path = /obj/item/stack/tile/circuit/green - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MATERIALS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE - -/datum/design/circuitred - name = "Red Circuit Tile" - id = "circuitred" - build_type = AUTOLATHE | PROTOLATHE | AWAY_LATHE - materials = list(/datum/material/iron =SMALL_MATERIAL_AMOUNT*5, /datum/material/glass =SMALL_MATERIAL_AMOUNT*5) - build_path = /obj/item/stack/tile/circuit/red - category = list( - RND_CATEGORY_INITIAL, - RND_CATEGORY_CONSTRUCTION + RND_SUBCATEGORY_CONSTRUCTION_MATERIALS, - ) - departmental_flags = DEPARTMENT_BITFLAG_ENGINEERING | DEPARTMENT_BITFLAG_SCIENCE - /datum/design/conveyor_belt name = "Conveyor Belt" id = "conveyor_belt" diff --git a/code/modules/research/designs/medical_designs.dm b/code/modules/research/designs/medical_designs.dm index 4e95e9d4dfda7..cbd05593a3c11 100644 --- a/code/modules/research/designs/medical_designs.dm +++ b/code/modules/research/designs/medical_designs.dm @@ -811,6 +811,23 @@ ) departmental_flags = DEPARTMENT_BITFLAG_MEDICAL +/datum/design/cybernetic_heart/anomalock + name = "Voltaic combat cyberheart" + desc = "A cutting-edge cyberheart, originally designed for Nanotrasen killsquad usage but later declassified for normal research. Voltaic technology allows the heart to keep the body upright in dire circumstances, alongside redirecting anomalous flux energy to fully shield the user from shocks and electro-magnetic pulses. Does nothing without a flux anomaly core." + id = "cybernetic_heart_anomalock" + construction_time = 5 SECONDS + materials = list( + /datum/material/iron = SMALL_MATERIAL_AMOUNT * 5, + /datum/material/glass = SMALL_MATERIAL_AMOUNT * 5, + /datum/material/titanium = SHEET_MATERIAL_AMOUNT * 5, + /datum/material/diamond = SHEET_MATERIAL_AMOUNT, + ) + build_path = /obj/item/organ/internal/heart/cybernetic/anomalock + category = list( + RND_CATEGORY_EQUIPMENT + RND_SUBCATEGORY_EQUIPMENT_SCIENCE + ) + departmental_flags = DEPARTMENT_BITFLAG_SCIENCE + /datum/design/cybernetic_lungs name = "Basic Cybernetic Lungs" desc = "A basic pair of cybernetic lungs." diff --git a/code/modules/research/experimentor.dm b/code/modules/research/experimentor.dm index affe82275ab14..4a08ae44df16c 100644 --- a/code/modules/research/experimentor.dm +++ b/code/modules/research/experimentor.dm @@ -558,7 +558,7 @@ /obj/item/relic name = "strange object" desc = "What mysteries could this hold? Maybe Research & Development could find out." - icon = 'icons/obj/devices/assemblies.dmi' + icon = 'icons/obj/devices/artifacts.dmi' var/realName = "defined object" var/revealed = FALSE var/realProc @@ -567,7 +567,7 @@ /obj/item/relic/Initialize(mapload) . = ..() - icon_state = pick("shock_kit","armor-igniter-analyzer","infra-igniter0","infra-igniter1","radio-multitool","prox-radio1","radio-radio","timer-multitool0","radio-igniter-tank") + icon_state = pick("prototype1","prototype2","prototype3","prototype4","prototype5","prototype6","prototype7","prototype8","prototype9") realName = "[pick("broken","twisted","spun","improved","silly","regular","badly made")] [pick("device","object","toy","illegal tech","weapon")]" diff --git a/code/modules/research/machinery/_production.dm b/code/modules/research/machinery/_production.dm index 295cd05fe9040..c69de9bb2d9c1 100644 --- a/code/modules/research/machinery/_production.dm +++ b/code/modules/research/machinery/_production.dm @@ -21,8 +21,11 @@ var/stripe_color = null ///direction we output onto (if 0, on top of us) var/drop_direction = 0 + //looping sound for printing items + var/datum/looping_sound/lathe_print/print_sound /obj/machinery/rnd/production/Initialize(mapload) + print_sound = new(src, FALSE) materials = AddComponent( /datum/component/remote_materials, \ mapload, \ @@ -48,6 +51,7 @@ update_icon(UPDATE_OVERLAYS) /obj/machinery/rnd/production/Destroy() + QDEL_NULL(print_sound) materials = null cached_designs = null return ..() @@ -74,6 +78,7 @@ return . += span_notice("Material usage cost at [efficiency_coeff * 100]%") + . += span_notice("Build time at [efficiency_coeff * 100]%") if(drop_direction) . += span_notice("Currently configured to drop printed objects [dir2text(drop_direction)].") . += span_notice("[EXAMINE_HINT("Alt-click")] to reset.") @@ -341,11 +346,12 @@ 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 * active_power_usage) - var/build_time_per_item = (design.construction_time * design.lathe_time_factor) ** 0.8 + var/build_time_per_item = (design.construction_time * design.lathe_time_factor * efficiency_coeff) ** 0.8 //start production busy = TRUE SStgui.update_uis(src) + print_sound.start() if(production_animation) icon_state = production_animation var/turf/target_location @@ -447,7 +453,7 @@ /// Called at the end of do_make_item's timer loop /obj/machinery/rnd/production/proc/finalize_build() PROTECTED_PROC(TRUE) - + print_sound.stop() busy = FALSE SStgui.update_uis(src) icon_state = initial(icon_state) diff --git a/code/modules/research/ordnance/scipaper_partner.dm b/code/modules/research/ordnance/scipaper_partner.dm index 712ec4b4127e9..7120c78cecde9 100644 --- a/code/modules/research/ordnance/scipaper_partner.dm +++ b/code/modules/research/ordnance/scipaper_partner.dm @@ -4,12 +4,11 @@ accepted_experiments = list(/datum/experiment/ordnance/explosive/lowyieldbomb) multipliers = list(SCIPAPER_COOPERATION_INDEX = 0.75, SCIPAPER_FUNDING_INDEX = 0.75) boostable_nodes = list( - "bluespace_basic" = 2000, - "NVGtech" = 1500, - "practical_bluespace" = 2500, - "basic_plasma" = 2000, - "basic_mining" = 2000, - "adv_mining" = 2000, + TECHWEB_NODE_BLUESPACE_THEORY = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_NIGHT_VISION = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_ANOMALY_RESEARCH = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_MINING = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_MINING_ADV = TECHWEB_TIER_2_POINTS, ) /datum/scientific_partner/baron @@ -17,8 +16,8 @@ flufftext = "A nearby research station ran by a very wealthy captain seems to be struggling with their scientific output. They might reward us handsomely if we ghostwrite for them." multipliers = list(SCIPAPER_COOPERATION_INDEX = 0.25, SCIPAPER_FUNDING_INDEX = 2) boostable_nodes = list( - "comp_recordkeeping" = 500, - "computer_data_disks" = 500, + TECHWEB_NODE_CONSOLES = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_FUNDIMENTAL_SCI = TECHWEB_TIER_1_POINTS, ) /datum/scientific_partner/defense @@ -30,14 +29,11 @@ /datum/experiment/ordnance/explosive/hydrogenbomb, ) boostable_nodes = list( - "adv_weaponry" = 5000, - "weaponry" = 2500, - "sec_basic" = 1250, - "explosive_weapons" = 1250, - "electronic_weapons" = 1250, - "radioactive_weapons" = 1250, - "beam_weapons" = 1250, - "explosive_weapons" = 1250, + TECHWEB_NODE_RIOT_SUPRESSION = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_SEC_EQUIP = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_EXPLOSIVES = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_ELECTRIC_WEAPONS = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_BEAM_WEAPONS = TECHWEB_TIER_3_POINTS, ) /datum/scientific_partner/medical @@ -48,12 +44,12 @@ /datum/experiment/ordnance/gaseous/bz, ) boostable_nodes = list( - "cyber_organs" = 750, - "cyber_organs_upgraded" = 1000, - "genetics" = 500, - "subdermal_implants" = 1250, - "adv_biotech" = 1000, - "biotech" = 1000, + TECHWEB_NODE_CYBER_ORGANS = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_CYBER_ORGANS_UPGRADED = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_GENE_ENGINEERING = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_PASSIVE_IMPLANTS = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_BIO_SCAN = TECHWEB_TIER_1_POINTS, + TECHWEB_NODE_CHEM_SYNTHESIS = TECHWEB_TIER_2_POINTS, ) /datum/scientific_partner/physics @@ -64,11 +60,8 @@ /datum/experiment/ordnance/explosive/nobliumbomb, ) boostable_nodes = list( - "engineering" = 5000, - "adv_engi" = 5000, - "emp_super" = 3000, - "emp_adv" = 1250, - "high_efficiency" = 5000, - "micro_bluespace" = 5000, - "adv_power" = 1500, + TECHWEB_NODE_PARTS_UPG = TECHWEB_TIER_2_POINTS, + TECHWEB_NODE_EXP_TOOLS = TECHWEB_TIER_4_POINTS, + TECHWEB_NODE_PARTS_BLUESPACE = TECHWEB_TIER_3_POINTS, + TECHWEB_NODE_PARTS_ADV = TECHWEB_TIER_1_POINTS, ) diff --git a/code/modules/research/server.dm b/code/modules/research/server.dm index 1bd0d3560beed..79a97b40a6bc5 100644 --- a/code/modules/research/server.dm +++ b/code/modules/research/server.dm @@ -154,16 +154,16 @@ if(HDD_OVERLOADED) . += "The front panel is dangling open. The hdd inside is destroyed and the wires are all burned." -/obj/machinery/rnd/server/master/item_interaction(mob/living/user, obj/item/tool, list/modifiers) +/obj/machinery/rnd/server/master/tool_act(mob/living/user, obj/item/tool, list/modifiers) if(!tool.tool_behaviour) - return NONE + return ..() // Only antags are given the training and knowledge to disassemble this thing. if(!is_special_character(user)) if(user.combat_mode) return ITEM_INTERACT_SKIP_TO_ATTACK balloon_alert(user, "you can't find an obvious maintenance hatch!") return ITEM_INTERACT_BLOCKING - return NONE + return ..() /obj/machinery/rnd/server/master/attackby(obj/item/attacking_item, mob/user, params) if(istype(attacking_item, /obj/item/computer_disk/hdd_theft)) diff --git a/code/modules/research/techweb/nodes/alien_nodes.dm b/code/modules/research/techweb/nodes/alien_nodes.dm index bf19c0c54a47d..c5d21c255cf8e 100644 --- a/code/modules/research/techweb/nodes/alien_nodes.dm +++ b/code/modules/research/techweb/nodes/alien_nodes.dm @@ -1,8 +1,8 @@ /datum/techweb_node/alientech //AYYYYYYYYLMAOO tech - id = "alientech" + id = TECHWEB_NODE_ALIENTECH display_name = "Alien Technology" description = "Things used by the greys." - prereq_ids = list("bluespace_travel") + prereq_ids = list(TECHWEB_NODE_BLUESPACE_TRAVEL) required_items_to_unlock = list( /obj/item/stack/sheet/mineral/abductor, /obj/item/abductor, @@ -33,10 +33,10 @@ SSshuttle.shuttle_purchase_requirements_met[SHUTTLE_UNLOCK_ALIENTECH] = TRUE /datum/techweb_node/alien_engi - id = "alien_engi" + id = TECHWEB_NODE_ALIEN_ENGI display_name = "Alien Engineering" description = "Alien engineering tools" - prereq_ids = list("alientech", "exp_tools") + prereq_ids = list(TECHWEB_NODE_ALIENTECH, TECHWEB_NODE_EXP_TOOLS) design_ids = list( "alien_crowbar", "alien_multitool", @@ -61,10 +61,10 @@ hidden = TRUE /datum/techweb_node/alien_surgery - id = "alien_surgery" + id = TECHWEB_NODE_ALIEN_SURGERY display_name = "Alien Surgery" description = "Abductors did nothing wrong." - prereq_ids = list("alientech", "surgery_tools") + prereq_ids = list(TECHWEB_NODE_ALIENTECH, TECHWEB_NODE_SURGERY_TOOLS) design_ids = list( "alien_cautery", "alien_drill", diff --git a/code/modules/research/techweb/nodes/atmos_nodes.dm b/code/modules/research/techweb/nodes/atmos_nodes.dm index b97538070beba..a35c5f4c185ea 100644 --- a/code/modules/research/techweb/nodes/atmos_nodes.dm +++ b/code/modules/research/techweb/nodes/atmos_nodes.dm @@ -1,5 +1,5 @@ /datum/techweb_node/atmos - id = "atmos" + id = TECHWEB_NODE_ATMOS starting_node = TRUE display_name = "Atmospherics" description = "Maintaining station air and related life support systems." @@ -21,10 +21,10 @@ ) /datum/techweb_node/gas_compression - id = "gas_compression" + id = TECHWEB_NODE_GAS_COMPRESSION display_name = "Gas Compression" description = "Highly pressurized gases hold potential for unlocking immense energy capabilities." - prereq_ids = list("atmos") + prereq_ids = list(TECHWEB_NODE_ATMOS) design_ids = list( "tank_compressor", "emergency_oxygen", @@ -42,10 +42,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/plasma_control - id = "plasma_control" + id = TECHWEB_NODE_PLASMA_CONTROL display_name = "Controlled Plasma" description = "Experiments with high-pressure gases and electricity resulting in crystallization and controlled plasma reactions." - prereq_ids = list("gas_compression", "energy_manipulation") + prereq_ids = list(TECHWEB_NODE_GAS_COMPRESSION, TECHWEB_NODE_ENERGY_MANIPULATION) design_ids = list( "crystallizer", "electrolyzer", @@ -57,10 +57,10 @@ required_experiments = list(/datum/experiment/ordnance/gaseous/plasma) /datum/techweb_node/fusion - id = "fusion" + id = TECHWEB_NODE_FUSION display_name = "Fusion" description = "Investigating fusion reactor technology to achieve sustainable and efficient energy production through controlled plasma reactions involving noble gases." - prereq_ids = list("plasma_control") + prereq_ids = list(TECHWEB_NODE_PLASMA_CONTROL) design_ids = list( "HFR_core", "HFR_corner", @@ -68,6 +68,7 @@ "HFR_interface", "HFR_moderator_input", "HFR_waste_output", + "adv_fire_extinguisher", "bolter_wrench", "rpd_loaded", "engine_goggles", @@ -77,10 +78,10 @@ discount_experiments = list(/datum/experiment/ordnance/gaseous/nitrous_oxide = TECHWEB_TIER_3_POINTS) /datum/techweb_node/exp_tools - id = "exp_tools" + id = TECHWEB_NODE_EXP_TOOLS display_name = "Experimental Tools" description = "Enhances the functionality and versatility of station tools." - prereq_ids = list("fusion") + prereq_ids = list(TECHWEB_NODE_FUSION) design_ids = list( "flatpacker", "handdrill", @@ -92,16 +93,15 @@ "rcd_ammo", "weldingmask", "magboots", - "adv_fire_extinguisher", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) discount_experiments = list(/datum/experiment/ordnance/gaseous/noblium = TECHWEB_TIER_4_POINTS) /datum/techweb_node/rcd_upgrade - id = "rcd_upgrade" - display_name = "Rapid Device Upgrade Designs" + id = TECHWEB_NODE_RCD_UPGRADE + display_name = "Rapid Construction Device Upgrades" description = "New designs and enhancements for RCD and RPD." - prereq_ids = list("exp_tools", "parts_bluespace") + prereq_ids = list(TECHWEB_NODE_EXP_TOOLS, TECHWEB_NODE_PARTS_BLUESPACE) design_ids = list( "rcd_upgrade_silo_link", "rcd_upgrade_anti_interrupt", diff --git a/code/modules/research/techweb/nodes/bepis_nodes.dm b/code/modules/research/techweb/nodes/bepis_nodes.dm index c051aab526f81..ad5bb4c62bb1b 100644 --- a/code/modules/research/techweb/nodes/bepis_nodes.dm +++ b/code/modules/research/techweb/nodes/bepis_nodes.dm @@ -1,5 +1,5 @@ /datum/techweb_node/light_apps - id = "light_apps" + id = TECHWEB_NODE_LIGHT_APPS display_name = "Illumination Applications" description = "Applications of lighting and vision technology not originally thought to be commercially viable." design_ids = list( @@ -11,7 +11,7 @@ experimental = TRUE /datum/techweb_node/extreme_office - id = "extreme_office" + id = TECHWEB_NODE_EXTREME_OFFICE display_name = "Advanced Office Applications" description = "Some of our smartest lab guys got together on a Friday and improved our office efficiency by 350%. Here's how." design_ids = list( @@ -23,7 +23,7 @@ experimental = TRUE /datum/techweb_node/spec_eng - id = "spec_eng" + id = TECHWEB_NODE_SPEC_ENG display_name = "Specialized Engineering" description = "Conventional wisdom has deemed these engineering products 'technically' safe, but far too dangerous to traditionally condone." design_ids = list( @@ -35,7 +35,7 @@ experimental = TRUE /datum/techweb_node/aus_security - id = "aus_security" + id = TECHWEB_NODE_AUS_SECURITY display_name = "Australicus Security Protocols" description = "It is said that security in the Australicus sector is tight, so we took some pointers from their equipment. Thankfully, our sector lacks any signs of these, 'dropbears'." design_ids = list( @@ -47,7 +47,7 @@ experimental = TRUE /datum/techweb_node/interrogation - id = "interrogation" + id = TECHWEB_NODE_INTERROGATION display_name = "Enhanced Interrogation Technology" description = "By cross-referencing several declassified documents from past dictatorial regimes, we were able to develop an incredibly effective interrogation device. \ Ethical concerns about loss of free will do not apply to criminals, according to galactic law." @@ -59,7 +59,7 @@ experimental = TRUE /datum/techweb_node/sticky_advanced - id = "sticky_advanced" + id = TECHWEB_NODE_STICKY_ADVANCED display_name = "Advanced Sticky Technology" description = "Taking a good joke too far? Nonsense!" design_ids = list( @@ -71,7 +71,7 @@ experimental = TRUE /datum/techweb_node/tackle_advanced - id = "tackle_advanced" + id = TECHWEB_NODE_TACKLE_ADVANCED display_name = "Advanced Grapple Technology" description = "Nanotrasen would like to remind its researching staff that it is never acceptable to \"glomp\" your coworkers, and further \"scientific trials\" on the subject \ will no longer be accepted in its academic journals." @@ -84,21 +84,7 @@ experimental = TRUE /datum/techweb_node/mod_experimental - id = "mod_experimental" - display_name = "Experimental Modular Suits" - description = "Applications of experimentality when creating MODsuits have created these..." - design_ids = list( - "mod_disposal", - "mod_joint_torsion", - "mod_recycler", - "mod_shooting", - ) - research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) - hidden = TRUE - experimental = TRUE - -/datum/techweb_node/mod_experimental - id = "mod_experimental" + id = TECHWEB_NODE_MOD_EXPERIMENTAL display_name = "Experimental Modular Suits" description = "Applications of experimentality when creating MODsuits have created these..." design_ids = list( @@ -112,7 +98,7 @@ experimental = TRUE /datum/techweb_node/posisphere - id = "positronic_sphere" + id = TECHWEB_NODE_POSITRONIC_SPHERE display_name = "Experimental Spherical Positronic Brain" description = "Recent developments on cost-cutting measures have allowed us to cut positronic brain cubes into twice-as-cheap spheres. Unfortunately, it also allows them to move around the lab via rolling maneuvers." design_ids = list( diff --git a/code/modules/research/techweb/nodes/biology_nodes.dm b/code/modules/research/techweb/nodes/biology_nodes.dm index 4adc78691835a..f8ee05c042c2e 100644 --- a/code/modules/research/techweb/nodes/biology_nodes.dm +++ b/code/modules/research/techweb/nodes/biology_nodes.dm @@ -1,8 +1,8 @@ /datum/techweb_node/bio_scan - id = "bio_scan" + id = TECHWEB_NODE_BIO_SCAN display_name = "Biological Scan" description = "Advanced technology for analyzing patient health and reagent compositions, ensuring precise diagnostics and treatment in the medical bay." - prereq_ids = list("medbay_equip") + prereq_ids = list(TECHWEB_NODE_MEDBAY_EQUIP) design_ids = list( "healthanalyzer", "autopsyscanner", @@ -16,10 +16,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/cytology - id = "cytology" + id = TECHWEB_NODE_CYTOLOGY display_name = "Cytology" description = "Cellular biology research focused on cultivation of limbs and diverse organisms from cells." - prereq_ids = list("bio_scan") + prereq_ids = list(TECHWEB_NODE_BIO_SCAN) design_ids = list( "limbgrower", "pandemic", @@ -30,10 +30,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/xenobiology - id = "xenobiology" + id = TECHWEB_NODE_XENOBIOLOGY display_name = "Xenobiology" description = "Exploration of non-human biology, unlocking the secrets of extraterrestrial lifeforms and their unique biological processes." - prereq_ids = list("cytology") + prereq_ids = list(TECHWEB_NODE_CYTOLOGY) design_ids = list( "xenobioconsole", "slime_scanner", @@ -46,10 +46,10 @@ required_experiments = list(/datum/experiment/scanning/random/cytology) /datum/techweb_node/gene_engineering - id = "gene_engineering" + id = TECHWEB_NODE_GENE_ENGINEERING display_name = "Gene Engineering" description = "Research into sophisticated DNA manipulation techniques, enabling the modification of human genetic traits to unlock specific abilities and enhancements." - prereq_ids = list("selection", "xenobiology") + prereq_ids = list(TECHWEB_NODE_SELECTION, TECHWEB_NODE_XENOBIOLOGY) design_ids = list( "dnascanner", "scan_console", diff --git a/code/modules/research/techweb/nodes/circuit_nodes.dm b/code/modules/research/techweb/nodes/circuit_nodes.dm index 81f6dad275f0d..e654abbf4dffb 100644 --- a/code/modules/research/techweb/nodes/circuit_nodes.dm +++ b/code/modules/research/techweb/nodes/circuit_nodes.dm @@ -1,9 +1,9 @@ /datum/techweb_node/programming - id = "programming" + id = TECHWEB_NODE_PROGRAMMING starting_node = TRUE display_name = "Programming" description = "Dedicate an entire shift to program a fridge to greet you when opened." - prereq_ids = list("robotics") + prereq_ids = list(TECHWEB_NODE_ROBOTICS) design_ids = list( "component_printer", "module_duplicator", @@ -87,10 +87,10 @@ ) /datum/techweb_node/circuit_shells - id = "circuit_shells" + id = TECHWEB_NODE_CIRCUIT_SHELLS display_name = "Advanced Circuit Shells" description = "Adding brains to more things." - prereq_ids = list("programming") + prereq_ids = list(TECHWEB_NODE_PROGRAMMING) design_ids = list( "assembly_shell", "bot_shell", @@ -108,10 +108,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/bci - id = "bci" + id = TECHWEB_NODE_BCI display_name = "Brain-Computer Interface" description = "Embedded brain circuits. May occasionally stream Nanotrasen ads in dreams." - prereq_ids = list("circuit_shells", "passive_implants") + prereq_ids = list(TECHWEB_NODE_CIRCUIT_SHELLS, TECHWEB_NODE_PASSIVE_IMPLANTS) design_ids = list( "bci_implanter", "bci_shell", @@ -129,10 +129,10 @@ discount_experiments = list(/datum/experiment/scanning/people/skillchip = TECHWEB_TIER_2_POINTS) /datum/techweb_node/programmed_robot - id = "programmed_robot" + id = TECHWEB_NODE_PROGRAMMED_ROBOT display_name = "Programmed Robot" description = "Grants access to movable shells, allowing for remote operations and pranks." - prereq_ids = list("circuit_shells") + prereq_ids = list(TECHWEB_NODE_CIRCUIT_SHELLS) design_ids = list( "drone_shell", "comp_pathfind", @@ -141,10 +141,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/programmed_server - id = "programmed_server" + id = TECHWEB_NODE_PROGRAMMED_SERVER display_name = "Programmed Server" description = "Grants access to a server shell that has a very high capacity for components." - prereq_ids = list("bci") + prereq_ids = list(TECHWEB_NODE_BCI) design_ids = list( "server_shell", ) diff --git a/code/modules/research/techweb/nodes/cyborg_nodes.dm b/code/modules/research/techweb/nodes/cyborg_nodes.dm index a4e0debd6ebb8..da9f485f2bf1f 100644 --- a/code/modules/research/techweb/nodes/cyborg_nodes.dm +++ b/code/modules/research/techweb/nodes/cyborg_nodes.dm @@ -1,9 +1,9 @@ /datum/techweb_node/augmentation - id = "augmentation" + id = TECHWEB_NODE_AUGMENTATION starting_node = TRUE display_name = "Augmentation" description = "For those who prefer shiny metal over squishy flesh." - prereq_ids = list("robotics") + prereq_ids = list(TECHWEB_NODE_ROBOTICS) design_ids = list( "borg_chest", "borg_head", @@ -21,10 +21,10 @@ ) /datum/techweb_node/cybernetics - id = "cybernetics" + id = TECHWEB_NODE_CYBERNETICS display_name = "Cybernetics" description = "Sapient robots with preloaded tool modules and programmable laws." - prereq_ids = list("augmentation") + prereq_ids = list(TECHWEB_NODE_AUGMENTATION) design_ids = list( "robocontrol", "borgupload", @@ -43,10 +43,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/borg_service - id = "borg_service" + id = TECHWEB_NODE_BORG_SERVICES display_name = "Service Cyborg Upgrades" description = "Let them do the cookin' by the book." - prereq_ids = list("cybernetics") + prereq_ids = list(TECHWEB_NODE_CYBERNETICS) design_ids = list( "borg_upgrade_rolling_table", "borg_upgrade_condiment_synthesizer", @@ -58,10 +58,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/borg_mining - id = "borg_mining" + id = TECHWEB_NODE_BORG_MINING display_name = "Mining Cyborg Upgrades" description = "To mine places too dangerous for humans." - prereq_ids = list("cybernetics") + prereq_ids = list(TECHWEB_NODE_CYBERNETICS) design_ids = list( "borg_upgrade_lavaproof", "borg_upgrade_holding", @@ -70,10 +70,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/borg_medical - id = "borg_medical" + id = TECHWEB_NODE_BORG_MEDICAL display_name = "Medical Cyborg Upgrades" description = "Let them follow Asimov's First Law." - prereq_ids = list("borg_service", "surgery_adv") + prereq_ids = list(TECHWEB_NODE_BORG_SERVICES, TECHWEB_NODE_SURGERY_ADV) design_ids = list( "borg_upgrade_pinpointer", "borg_upgrade_beakerapp", @@ -86,10 +86,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/borg_utility - id = "borg_utility" + id = TECHWEB_NODE_BORG_UTILITY display_name = "Untility Cyborg Upgrades" description = "Let them wipe our floors for us." - prereq_ids = list("borg_service", "sanitation") + prereq_ids = list(TECHWEB_NODE_BORG_SERVICES, TECHWEB_NODE_SANITATION) design_ids = list( "borg_upgrade_advancedmop", "borg_upgrade_broomer", @@ -107,10 +107,10 @@ design_ids += "borg_upgrade_disablercooler" /datum/techweb_node/borg_engi - id = "borg_engi" + id = TECHWEB_NODE_BORG_ENGI display_name = "Engineering Cyborg Upgrades" description = "To slack even more." - prereq_ids = list("borg_mining", "parts_upg") + prereq_ids = list(TECHWEB_NODE_BORG_MINING, TECHWEB_NODE_PARTS_UPG) design_ids = list( "borg_upgrade_rped", "borg_upgrade_engineeringomnitool", @@ -121,10 +121,10 @@ // Implants root node /datum/techweb_node/passive_implants - id = "passive_implants" + id = TECHWEB_NODE_PASSIVE_IMPLANTS display_name = "Passive Implants" description = "Implants designed to operate seamlessly without active user input, enhancing various physiological functions or providing continuous benefits." - prereq_ids = list("augmentation") + prereq_ids = list(TECHWEB_NODE_AUGMENTATION) design_ids = list( "skill_station", "implant_trombone", @@ -141,10 +141,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/cyber/cyber_implants - id = "cyber_implants" + id = TECHWEB_NODE_CYBER_IMPLANTS display_name = "Cybernetic Implants" description = "Advanced technological enhancements integrated into the body, offering improved physical capabilities." - prereq_ids = list("passive_implants", "cybernetics") + prereq_ids = list(TECHWEB_NODE_PASSIVE_IMPLANTS, TECHWEB_NODE_CYBERNETICS) design_ids = list( "ci-breather", "ci-nutriment", @@ -158,10 +158,10 @@ research_costs[TECHWEB_POINT_TYPE_GENERIC] /= 2 /datum/techweb_node/cyber/combat_implants - id = "combat_implants" + id = TECHWEB_NODE_COMBAT_IMPLANTS display_name = "Combat Implants" description = "To make sure that you can wake the f*** up, samurai." - prereq_ids = list("cyber_implants") + prereq_ids = list(TECHWEB_NODE_CYBER_IMPLANTS) design_ids = list( "ci-reviver", "ci-antidrop", @@ -170,10 +170,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) /datum/techweb_node/cyber/integrated_toolsets - id = "integrated_toolsets" + id = TECHWEB_NODE_INTERGRATED_TOOLSETS display_name = "Integrated Toolsets" description = "Decades of contraband smuggling by assistants have led to the development of a full toolbox that fits seamlessly into your arm." - prereq_ids = list("combat_implants", "exp_tools") + prereq_ids = list(TECHWEB_NODE_COMBAT_IMPLANTS, TECHWEB_NODE_EXP_TOOLS) design_ids = list( "ci-nutrimentplus", "ci-toolset", @@ -182,10 +182,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) /datum/techweb_node/cyber/cyber_organs - id = "cyber_organs" + id = TECHWEB_NODE_CYBER_ORGANS display_name = "Cybernetic Organs" description = "We have the technology to rebuild him." - prereq_ids = list("cybernetics") + prereq_ids = list(TECHWEB_NODE_CYBERNETICS) design_ids = list( "cybernetic_eyes_improved", "cybernetic_eyes_improved_moth", @@ -198,10 +198,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/cyber/cyber_organs_upgraded - id = "cyber_organs_upgraded" + id = TECHWEB_NODE_CYBER_ORGANS_UPGRADED display_name = "Upgraded Cybernetic Organs" description = "We have the technology to upgrade him." - prereq_ids = list("cyber_organs") + prereq_ids = list(TECHWEB_NODE_CYBER_ORGANS) design_ids = list( "ci-gloweyes", "ci-welding", @@ -217,10 +217,10 @@ required_experiments = list(/datum/experiment/scanning/people/augmented_organs) /datum/techweb_node/cyber/cyber_organs_adv - id = "cyber_organs_adv" + id = TECHWEB_NODE_CYBER_ORGANS_ADV display_name = "Advanced Cybernetic Organs" description = "Cutting-edge cybernetic organs offering enhanced sensory capabilities, making it easier than ever to detect ERP." - prereq_ids = list("cyber_organs_upgraded", "night_vision") + prereq_ids = list(TECHWEB_NODE_CYBER_ORGANS_UPGRADED, TECHWEB_NODE_NIGHT_VISION) design_ids = list( "cybernetic_ears_xray", "ci-thermals", diff --git a/code/modules/research/techweb/nodes/engi_nodes.dm b/code/modules/research/techweb/nodes/engi_nodes.dm index 02d20fef5fcd4..626dd6981d0ce 100644 --- a/code/modules/research/techweb/nodes/engi_nodes.dm +++ b/code/modules/research/techweb/nodes/engi_nodes.dm @@ -1,6 +1,6 @@ // Parts root node /datum/techweb_node/parts - id = "parts" + id = TECHWEB_NODE_PARTS starting_node = TRUE display_name = "Essential Stock Parts" description = "Foundational components that form the backbone of station operations, encompassing a range of essential equipment necessary for day-to-day functionality." @@ -27,10 +27,10 @@ ) /datum/techweb_node/parts_upg - id = "parts_upg" + id = TECHWEB_NODE_PARTS_UPG display_name = "Upgraded Parts" description = "Offering enhanced capabilities beyond their basic counterparts." - prereq_ids = list("parts", "energy_manipulation") + prereq_ids = list(TECHWEB_NODE_PARTS, TECHWEB_NODE_ENERGY_MANIPULATION) design_ids = list( "rped", "high_micro_laser", @@ -44,10 +44,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/parts_adv - id = "parts_adv" + id = TECHWEB_NODE_PARTS_ADV display_name = "Advanced Parts" description = "The most finely tuned and accurate stock parts." - prereq_ids = list("parts_upg") + prereq_ids = list(TECHWEB_NODE_PARTS_UPG) design_ids = list( "ultra_micro_laser", "super_capacitor", @@ -62,10 +62,10 @@ /datum/techweb_node/parts_bluespace - id = "parts_bluespace" + id = TECHWEB_NODE_PARTS_BLUESPACE display_name = "Bluespace Parts" description = "Integrating the latest in bluespace technology, these advanced components not only enhance functionality but also open up new possibilities for the station's technological capabilities." - prereq_ids = list("parts_adv", "bluespace_travel") + prereq_ids = list(TECHWEB_NODE_PARTS_ADV, TECHWEB_NODE_BLUESPACE_TRAVEL) design_ids = list( "bs_rped", "quadultra_micro_laser", @@ -80,14 +80,15 @@ discount_experiments = list(/datum/experiment/scanning/points/machinery_tiered_scan/tier3_any = TECHWEB_TIER_4_POINTS) /datum/techweb_node/telecomms - id = "telecomms" + id = TECHWEB_NODE_TELECOMS display_name = "Telecommunications Technology" description = "A comprehensive suite of machinery for station-wide communication setups, ensuring seamless connectivity and operational coordination." - prereq_ids = list("parts_bluespace") + prereq_ids = list(TECHWEB_NODE_PARTS_BLUESPACE) design_ids = list( "comm_monitor", "comm_server", "message_monitor", + "ntnet_relay", "s_hub", "s_messaging", "s_server", @@ -109,7 +110,7 @@ // Engineering root node /datum/techweb_node/construction - id = "construction" + id = TECHWEB_NODE_CONSTRUCTION starting_node = TRUE display_name = "Construction" description = "Tools and essential machinery used for station maintenance and expansion." @@ -142,25 +143,15 @@ "wirecutters", "light_bulb", "light_tube", - "intercom_frame", - "newscaster_frame", - "status_display_frame", - "circuit", - "circuitgreen", - "circuitred", - "tram_floor_dark", - "tram_floor_light", - "tram_controller", - "tram_display", "crossing_signal", "guideway_sensor", ) /datum/techweb_node/energy_manipulation - id = "energy_manipulation" + id = TECHWEB_NODE_ENERGY_MANIPULATION display_name = "Energy Manipulation" description = "Harnessing the raw power of lightning arcs through sophisticated energy control methods." - prereq_ids = list("construction") + prereq_ids = list(TECHWEB_NODE_CONSTRUCTION) design_ids = list( "apc_control", "powermonitor", @@ -178,10 +169,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/holographics - id = "holographics" + id = TECHWEB_NODE_HOLOGRAPHICS display_name = "Holographics" description = "Use of holographic technology for signage and barriers." - prereq_ids = list("energy_manipulation") + prereq_ids = list(TECHWEB_NODE_ENERGY_MANIPULATION) design_ids = list( "forcefield_projector", "holosign", @@ -204,10 +195,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/hud - id = "hud" + id = TECHWEB_NODE_HUD display_name = "Integrated HUDs" description = "Initially developed for assistants to learn the nuances of different professions through augmented reality." - prereq_ids = list("holographics", "cyber_implants") + prereq_ids = list(TECHWEB_NODE_HOLOGRAPHICS, TECHWEB_NODE_CYBER_IMPLANTS) design_ids = list( "health_hud", "diagnostic_hud", @@ -222,10 +213,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/night_vision - id = "night_vision" + id = TECHWEB_NODE_NIGHT_VISION display_name = "Night Vision Technology" description = "There are whispers that Nanotrasen pushed for this technology to extend shift durations, ensuring productivity around the clock." - prereq_ids = list("hud") + prereq_ids = list(TECHWEB_NODE_HUD) design_ids = list( "diagnostic_hud_night", "health_hud_night", diff --git a/code/modules/research/techweb/nodes/mech_nodes.dm b/code/modules/research/techweb/nodes/mech_nodes.dm index 4f58ed25c8955..5f3d302132333 100644 --- a/code/modules/research/techweb/nodes/mech_nodes.dm +++ b/code/modules/research/techweb/nodes/mech_nodes.dm @@ -1,9 +1,9 @@ /datum/techweb_node/mech_assembly - id = "mech_assembly" + id = TECHWEB_NODE_MECH_ASSEMBLY starting_node = TRUE display_name = "Mech Assembly" description = "Development of mech designed to contend with artificial gravity while transporting cargo." - prereq_ids = list("robotics") + prereq_ids = list(TECHWEB_NODE_ROBOTICS) design_ids = list( "mechapower", "mech_recharger", @@ -19,10 +19,10 @@ ) /datum/techweb_node/mech_equipment - id = "mech_equipment" + id = TECHWEB_NODE_MECH_EQUIPMENT display_name = "Expedition Equipment" description = "Specialized mech gear tailored for navigating space and celestial bodies, ensuring durability and functionality in the harshest conditions." - prereq_ids = list("mech_assembly") + prereq_ids = list(TECHWEB_NODE_MECH_ASSEMBLY) design_ids = list( "mechacontrol", "botpad", @@ -38,10 +38,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/mech_clown - id = "mech_clown" + id = TECHWEB_NODE_MECH_CLOWN display_name = "Funny Robots" description = "Fueled by laughter." - prereq_ids = list("mech_assembly") + prereq_ids = list(TECHWEB_NODE_MECH_ASSEMBLY) design_ids = list( "honk_chassis", "honk_torso", @@ -62,10 +62,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/mech_medical - id = "mech_medical" + id = TECHWEB_NODE_MECH_MEDICAL display_name = "Medical Mech" description = "Advanced robotic unit equipped with syringe guns and healing beams, revolutionizing medical assistance in hazardous environments." - prereq_ids = list("mech_assembly", "chem_synthesis") + prereq_ids = list(TECHWEB_NODE_MECH_ASSEMBLY, TECHWEB_NODE_CHEM_SYNTHESIS) design_ids = list( "odysseus_chassis", "odysseus_torso", @@ -82,10 +82,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/mech_mining - id = "mech_mining" + id = TECHWEB_NODE_MECH_MINING display_name = "Mining Mech" description = "Robust mech engineered to withstand lava and storms for continuous off-station mining operations." - prereq_ids = list("mech_equipment", "mining") + prereq_ids = list(TECHWEB_NODE_MECH_EQUIPMENT, TECHWEB_NODE_MINING) design_ids = list( "clarke_chassis", "clarke_torso", @@ -98,10 +98,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/mech_combat - id = "mech_combat" + id = TECHWEB_NODE_MECH_COMBAT display_name = "Combat Mechs" description = "Modular armor upgrades and specialized equipment for security mechs." - prereq_ids = list("mech_equipment") + prereq_ids = list(TECHWEB_NODE_MECH_EQUIPMENT) design_ids = list( "mech_ccw_armor", "mech_proj_armor", @@ -115,10 +115,10 @@ discount_experiments = list(/datum/experiment/scanning/random/mecha_damage_scan = TECHWEB_TIER_2_POINTS) /datum/techweb_node/mech_assault - id = "mech_assault" + id = TECHWEB_NODE_MECH_ASSAULT display_name = "Assault Mech" description = "Heavy battle mech boasting robust armor but sacrificing speed for enhanced durability." - prereq_ids = list("mech_combat") + prereq_ids = list(TECHWEB_NODE_MECH_COMBAT) design_ids = list( "durand_armor", "durand_chassis", @@ -135,10 +135,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/mech_light - id = "mech_light" + id = TECHWEB_NODE_MECH_LIGHT display_name = "Light Combat Mech" description = "Agile combat mech equipped with overclocking capabilities for temporary speed boosts, prioritizing speed over durability on the battlefield." - prereq_ids = list("mech_combat") + prereq_ids = list(TECHWEB_NODE_MECH_COMBAT) design_ids = list( "gygax_armor", "gygax_chassis", @@ -155,10 +155,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/mech_heavy - id = "mech_heavy" + id = TECHWEB_NODE_MECH_HEAVY display_name = "Heavy Mech" description = "Advanced heavy mechanized unit with dual pilot capability, designed for robust battlefield performance and increased tactical versatility." - prereq_ids = list("mech_assault") + prereq_ids = list(TECHWEB_NODE_MECH_ASSAULT) design_ids = list( "savannah_ivanov_armor", "savannah_ivanov_chassis", @@ -175,10 +175,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) /datum/techweb_node/mech_infiltrator - id = "mech_infiltrator" + id = TECHWEB_NODE_MECH_INFILTRATOR display_name = "Infiltration Mech" description = "Advanced mech with phasing capabilities, allowing it to move through walls and obstacles, ideal for covert and special operations." - prereq_ids = list("mech_light", "anomaly_research") + prereq_ids = list(TECHWEB_NODE_MECH_LIGHT, TECHWEB_NODE_ANOMALY_RESEARCH) design_ids = list( "phazon_armor", "phazon_chassis", @@ -195,10 +195,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) /datum/techweb_node/mech_energy_guns - id = "mech_energy_guns" + id = TECHWEB_NODE_MECH_ENERGY_GUNS display_name = "Mech Energy Guns" description = "Scaled-up versions of electric weapons optimized for mech deployment." - prereq_ids = list("mech_combat", "electric_weapons") + prereq_ids = list(TECHWEB_NODE_MECH_COMBAT, TECHWEB_NODE_ELECTRIC_WEAPONS) design_ids = list( "mech_laser", "mech_laser_heavy", @@ -208,10 +208,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) /datum/techweb_node/mech_firearms - id = "mech_firearms" + id = TECHWEB_NODE_MECH_FIREARMS display_name = "Mech Firearms" description = "Mounted ballistic weaponry, enhancing combat capabilities for mechanized units." - prereq_ids = list("mech_energy_guns", "exotic_ammo") + prereq_ids = list(TECHWEB_NODE_MECH_ENERGY_GUNS, TECHWEB_NODE_EXOTIC_AMMO) design_ids = list( "mech_lmg", "mech_lmg_ammo", @@ -223,10 +223,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) /datum/techweb_node/mech_heavy_arms - id = "mech_heavy_arms" + id = TECHWEB_NODE_MECH_HEAVY_ARMS display_name = "Heavy Mech Firearms" description = "High-impact weaponry integrated into mechs, optimized for maximum firepower." - prereq_ids = list("mech_heavy", "exotic_ammo") + prereq_ids = list(TECHWEB_NODE_MECH_HEAVY, TECHWEB_NODE_EXOTIC_AMMO) design_ids = list( "clusterbang_launcher", "clusterbang_launcher_ammo", @@ -238,10 +238,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_5_POINTS) /datum/techweb_node/mech_equip_bluespace - id = "mech_equip_bluespace" + id = TECHWEB_NODE_BLUESPACE display_name = "Bluespace Mech Equipment" description = "An array of equipment empowered by bluespace, providing unmatched mobility and utility." - prereq_ids = list("mech_infiltrator", "bluespace_travel") + prereq_ids = list(TECHWEB_NODE_MECH_INFILTRATOR, TECHWEB_NODE_BLUESPACE_TRAVEL) design_ids = list( "mech_gravcatapult", "mech_teleporter", diff --git a/code/modules/research/techweb/nodes/medbay_nodes.dm b/code/modules/research/techweb/nodes/medbay_nodes.dm index ca884f1ebd566..51bc5f1504902 100644 --- a/code/modules/research/techweb/nodes/medbay_nodes.dm +++ b/code/modules/research/techweb/nodes/medbay_nodes.dm @@ -1,5 +1,5 @@ /datum/techweb_node/medbay_equip - id = "medbay_equip" + id = TECHWEB_NODE_MEDBAY_EQUIP starting_node = TRUE display_name = "Medbay Equipment" description = "Essential medical tools to patch you up while medbay is still intact." @@ -23,6 +23,8 @@ "stethoscope", "beaker", "large_beaker", + "chem_pack", + "blood_pack", "syringe", "dropper", "pillbottle", @@ -34,14 +36,12 @@ ) /datum/techweb_node/chem_synthesis - id = "chem_synthesis" + id = TECHWEB_NODE_CHEM_SYNTHESIS display_name = "Chemical Synthesis" description = "Synthesizing complex chemicals from electricity and thin air... Don't ask how..." - prereq_ids = list("medbay_equip") + prereq_ids = list(TECHWEB_NODE_MEDBAY_EQUIP) design_ids = list( "xlarge_beaker", - "blood_pack", - "chem_pack", "med_spray_bottle", "medigel", "medipen_refiller", @@ -55,10 +55,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/plumbing - id = "plumbing" + id = TECHWEB_NODE_PLUMBING display_name = "Plumbing" description = "Essential infrastructure for building chemical factories. To scale up the production of happy pills to an industrial level." - prereq_ids = list("chem_synthesis") + prereq_ids = list(TECHWEB_NODE_CHEM_SYNTHESIS) design_ids = list( "plumbing_rcd", "plumbing_rcd_service", @@ -71,10 +71,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/cryostasis - id = "cryostasis" + id = TECHWEB_NODE_CRYOSTASIS display_name = "Cryostasis" description = "The result of clown accidentally drinking a chemical, now repurposed for safely preserving crew members in suspended animation." - prereq_ids = list("plumbing", "plasma_control") + prereq_ids = list(TECHWEB_NODE_PLUMBING, TECHWEB_NODE_PLASMA_CONTROL) design_ids = list( "cryotube", "mech_sleeper", @@ -86,10 +86,10 @@ required_experiments = list(/datum/experiment/scanning/reagent/cryostylane) /datum/techweb_node/medbay_equip_adv - id = "medbay_equip_adv" + id = TECHWEB_NODE_MEDBAY_EQUIP_ADV display_name = "Advanced Medbay Equipment" description = "State-of-the-art medical gear for keeping the crew in one piece — mostly." - prereq_ids = list("cryostasis") + prereq_ids = list(TECHWEB_NODE_CRYOSTASIS) design_ids = list( "chem_mass_spec", "healthanalyzer_advanced", diff --git a/code/modules/research/techweb/nodes/mining_nodes.dm b/code/modules/research/techweb/nodes/mining_nodes.dm index e1caaf57902e2..d8a6539caa3ff 100644 --- a/code/modules/research/techweb/nodes/mining_nodes.dm +++ b/code/modules/research/techweb/nodes/mining_nodes.dm @@ -1,5 +1,5 @@ /datum/techweb_node/material_processing - id = "material_proc" + id = TECHWEB_NODE_MATERIAL_PROC starting_node = TRUE display_name = "Material Processing" description = "Refinement and processing of alloys and ores to enhance their utility and value." @@ -23,10 +23,10 @@ ) /datum/techweb_node/mining - id = "mining" + id = TECHWEB_NODE_MINING display_name = "Mining Technology" description = "Development of tools meant to optimize mining operations and resource extraction." - prereq_ids = list("material_proc") + prereq_ids = list(TECHWEB_NODE_MATERIAL_PROC) design_ids = list( "cargoexpress", "brm", @@ -50,10 +50,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/low_pressure_excavation - id = "low_pressure_excavation" + id = TECHWEB_NODE_LOW_PRESSURE_EXCAVATION display_name = "Low-Pressure Excavation" description = "Research of Proto-Kinetic Accelerators (PKAs), pneumatic guns renowned for their exceptional performance in low-pressure environments." - prereq_ids = list("mining", "gas_compression") + prereq_ids = list(TECHWEB_NODE_MINING, TECHWEB_NODE_GAS_COMPRESSION) design_ids = list( "mecha_kineticgun", "damagemod", @@ -69,10 +69,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/plasma_mining - id = "plasma_mining" + id = TECHWEB_NODE_PLASMA_MINING display_name = "Plasma Beam Mining" description = "Engineers' plasma welders have proven highly effective in mining operations. This led to the development of a mech-mounted variant and an enhanced handheld cutter for miners." - prereq_ids = list("low_pressure_excavation", "plasma_control") + prereq_ids = list(TECHWEB_NODE_LOW_PRESSURE_EXCAVATION, TECHWEB_NODE_PLASMA_CONTROL) design_ids = list( "mech_plasma_cutter", "plasmacutter_adv", @@ -80,10 +80,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/bitrunning - id = "bitrunning" + id = TECHWEB_NODE_BITRUNNING display_name = "Bitrunning Technology" description = "Bluespace technology has led to the development of quantum-scale computing, which unlocks the means to materialize atomic structures while executing advanced programs." - prereq_ids = list("gaming", "applied_bluespace") + prereq_ids = list(TECHWEB_NODE_GAMING, TECHWEB_NODE_APPLIED_BLUESPACE) design_ids = list( "byteforge", "quantum_console", @@ -92,10 +92,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/mining_adv - id = "mining_adv" + id = TECHWEB_NODE_MINING_ADV display_name = "Advanced Mining Technology" description = "High-level mining equipment, pushing the boundaries of efficiency and effectiveness in resource extraction." - prereq_ids = list("plasma_mining") + prereq_ids = list(TECHWEB_NODE_PLASMA_MINING) design_ids = list( "jackhammer", "drill_diamond", diff --git a/code/modules/research/techweb/nodes/modsuit_nodes.dm b/code/modules/research/techweb/nodes/modsuit_nodes.dm index a5005a66ee794..2e74663eed419 100644 --- a/code/modules/research/techweb/nodes/modsuit_nodes.dm +++ b/code/modules/research/techweb/nodes/modsuit_nodes.dm @@ -1,9 +1,9 @@ /datum/techweb_node/mod_suit - id = "mod_suit" + id = TECHWEB_NODE_MOD_SUIT starting_node = TRUE display_name = "Modular Exosuit" description = "Specialized back mounted power suits with various different modules." - prereq_ids = list("robotics") + prereq_ids = list(TECHWEB_NODE_ROBOTICS) design_ids = list( "suit_storage_unit", "mod_shell", @@ -19,10 +19,10 @@ ) /datum/techweb_node/mod_equip - id = "mod_equip" + id = TECHWEB_NODE_MOD_EQUIP display_name = "Modular Suit Equipment" description = "More advanced modules, to improve modular suits." - prereq_ids = list("mod_suit") + prereq_ids = list(TECHWEB_NODE_MOD_SUIT) design_ids = list( "modlink_scryer", "mod_clamp", @@ -37,10 +37,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/mod_entertainment - id = "mod_entertainment" + id = TECHWEB_NODE_MOD_ENTERTAINMENT display_name = "Entertainment Modular Suit" description = "Powered suits for protection against low-humor environments." - prereq_ids = list("mod_suit") + prereq_ids = list(TECHWEB_NODE_MOD_SUIT) design_ids = list( "mod_plating_cosmohonk", "mod_bikehorn", @@ -50,10 +50,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/mod_medical - id = "mod_medical" + id = TECHWEB_NODE_MOD_MEDICAL display_name = "Medical Modular Suit" description = "Medical exosuits for quick rescue purposes." - prereq_ids = list("mod_suit", "chem_synthesis") + prereq_ids = list(TECHWEB_NODE_MOD_SUIT, TECHWEB_NODE_CHEM_SYNTHESIS) design_ids = list( "mod_plating_medical", "mod_quick_carry", @@ -64,10 +64,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/mod_engi - id = "mod_engi" + id = TECHWEB_NODE_MOD_ENGI display_name = "Engineering Modular Suits" description = "Engineering suits, for powered engineers." - prereq_ids = list("mod_equip") + prereq_ids = list(TECHWEB_NODE_MOD_EQUIP) design_ids = list( "mod_plating_engineering", "mod_t_ray", @@ -78,10 +78,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/mod_security - id = "mod_security" + id = TECHWEB_NODE_MOD_SECURITY display_name = "Security Modular Suits" description = "Security suits for space crime handling." - prereq_ids = list("mod_equip") + prereq_ids = list(TECHWEB_NODE_MOD_EQUIP) design_ids = list( "mod_plating_security", "mod_stealth", @@ -95,10 +95,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/mod_medical_adv - id = "mod_medical_adv" + id = TECHWEB_NODE_MOD_MEDICAL_ADV display_name = "Field Surgery Modules" description = "Medical exosuit equipment designed for conducting surgical operations in field conditions." - prereq_ids = list("mod_medical", "surgery_adv") + prereq_ids = list(TECHWEB_NODE_MOD_MEDICAL, TECHWEB_NODE_SURGERY_ADV) design_ids = list( "mod_defib", "mod_threadripper", @@ -108,10 +108,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/mod_engi_adv - id = "mod_engi_adv" + id = TECHWEB_NODE_MOD_ENGI_ADV display_name = "Advanced Engineering Modular Suit" description = "Advanced Engineering suits, for advanced powered engineers." - prereq_ids = list("mod_engi") + prereq_ids = list(TECHWEB_NODE_MOD_ENGI) design_ids = list( "mod_plating_atmospheric", "mod_jetpack", @@ -127,10 +127,10 @@ return ..() /datum/techweb_node/mod_anomaly - id = "mod_anomaly" + id = TECHWEB_NODE_MOD_ANOMALY display_name = "Anomalock Modular Suit" description = "Modules for exosuits that require anomaly cores to function." - prereq_ids = list("mod_engi_adv", "anomaly_research") + prereq_ids = list(TECHWEB_NODE_MOD_ENGI_ADV, TECHWEB_NODE_ANOMALY_RESEARCH) design_ids = list( "mod_antigrav", "mod_teleporter", diff --git a/code/modules/research/techweb/nodes/research_nodes.dm b/code/modules/research/techweb/nodes/research_nodes.dm index f68086ab5abdd..0cdbdb6548b4a 100644 --- a/code/modules/research/techweb/nodes/research_nodes.dm +++ b/code/modules/research/techweb/nodes/research_nodes.dm @@ -1,5 +1,5 @@ /datum/techweb_node/fundamental_sci - id = "fundamental_sci" + id = TECHWEB_NODE_FUNDIMENTAL_SCI starting_node = TRUE display_name = "Fundamental Science" description = "Establishing the bedrock of scientific understanding, paving the way for deeper exploration and theoretical inquiry." @@ -13,7 +13,6 @@ "destructive_analyzer", "destructive_scanner", "experi_scanner", - "ntnet_relay", "laptop", "portadrive_basic", "portadrive_advanced", @@ -21,20 +20,20 @@ ) /datum/techweb_node/bluespace_theory - id = "bluespace_theory" + id = TECHWEB_NODE_BLUESPACE_THEORY display_name = "Bluespace Theory" description = "Basic studies into the mysterious alternate dimension known as bluespace." - prereq_ids = list("fundamental_sci") + prereq_ids = list(TECHWEB_NODE_FUNDIMENTAL_SCI) design_ids = list( "bluespace_crystal", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/applied_bluespace - id = "applied_bluespace" + id = TECHWEB_NODE_APPLIED_BLUESPACE display_name = "Applied Bluespace Research" description = "With a heightened grasp of bluespace dynamics, sophisticated applications and technologies can be devised using data from bluespace crystal analyses." - prereq_ids = list("bluespace_theory") + prereq_ids = list(TECHWEB_NODE_BLUESPACE_THEORY) design_ids = list( "ore_silo", "minerbag_holding", @@ -51,10 +50,10 @@ required_experiments = list(/datum/experiment/scanning/points/bluespace_crystal) /datum/techweb_node/bluespace_travel - id = "bluespace_travel" + id = TECHWEB_NODE_BLUESPACE_TRAVEL display_name = "Bluespace Travel" description = "Facilitate teleportation methods based on bluespace principles to revolutionize logistical efficiency." - prereq_ids = list("applied_bluespace") + prereq_ids = list(TECHWEB_NODE_APPLIED_BLUESPACE) design_ids = list( "teleconsole", "tele_station", @@ -69,10 +68,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/anomaly_research - id = "anomaly_research" + id = TECHWEB_NODE_ANOMALY_RESEARCH display_name = "Anomaly Research" description = "Delving into the study of mysterious anomalies to investigate methods to refine and harness their unpredictable energies." - prereq_ids = list("applied_bluespace") + prereq_ids = list(TECHWEB_NODE_APPLIED_BLUESPACE) design_ids = list( "anomaly_refinery", "anomaly_neutralizer", @@ -81,12 +80,13 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/anomaly_shells - id = "anomaly_shells" + id = TECHWEB_NODE_ANOMALY_SHELLS display_name = "Advanced Anomaly Shells" description = "New shells designed to utilize anomaly cores, maximizing their potential in innovative ways." - prereq_ids = list("anomaly_research") + prereq_ids = list(TECHWEB_NODE_ANOMALY_RESEARCH) design_ids = list( "bag_holding", + "cybernetic_heart_anomalock", "wormholeprojector", "gravitygun", "polymorph_belt" diff --git a/code/modules/research/techweb/nodes/robo_nodes.dm b/code/modules/research/techweb/nodes/robo_nodes.dm index 556fa560daf6b..ff018e85b7c9a 100644 --- a/code/modules/research/techweb/nodes/robo_nodes.dm +++ b/code/modules/research/techweb/nodes/robo_nodes.dm @@ -1,5 +1,5 @@ /datum/techweb_node/robotics - id = "robotics" + id = TECHWEB_NODE_ROBOTICS starting_node = TRUE display_name = "Robotics" description = "Programmable machines that make our lives lazier." @@ -10,10 +10,10 @@ ) /datum/techweb_node/exodrone - id = "exodrone" + id = TECHWEB_NODE_EXODRONE display_name = "Exploration Drones" description = "Adapted arcade machines to covertly harness gamers' skills in controlling real drones for practical purposes." - prereq_ids = list("robotics") + prereq_ids = list(TECHWEB_NODE_ROBOTICS) design_ids = list( "exoscanner_console", "exoscanner", @@ -24,10 +24,10 @@ // AI root node /datum/techweb_node/ai - id = "ai" + id = TECHWEB_NODE_AI display_name = "Artificial Intelligence" description = "Exploration of AI systems, more intelligent than the entire crew put together." - prereq_ids = list("robotics") + prereq_ids = list(TECHWEB_NODE_ROBOTICS) design_ids = list( "aiupload", "aifixer", @@ -67,10 +67,10 @@ research_costs[TECHWEB_POINT_TYPE_GENERIC] *= 3 /datum/techweb_node/ai_laws - id = "ai_laws" + id = TECHWEB_NODE_AI_LAWS display_name = "Advanced AI Laws" description = "Delving into sophisticated AI directives, with hopes that they won't lead to humanity's extinction." - prereq_ids = list("ai") + prereq_ids = list(TECHWEB_NODE_AI) design_ids = list( "asimovpp_module", "paladin_devotion_module", diff --git a/code/modules/research/techweb/nodes/security_nodes.dm b/code/modules/research/techweb/nodes/security_nodes.dm index 8b931fd2273e5..c85639b0aecb1 100644 --- a/code/modules/research/techweb/nodes/security_nodes.dm +++ b/code/modules/research/techweb/nodes/security_nodes.dm @@ -1,5 +1,5 @@ /datum/techweb_node/basic_arms - id = "basic_arms" + id = TECHWEB_NODE_BASIC_ARMS starting_node = TRUE display_name = "Basic Arms" description = "Ballistics can be unpredictable in space." @@ -16,12 +16,11 @@ ) /datum/techweb_node/sec_equip - id = "sec_equip" + id = TECHWEB_NODE_SEC_EQUIP display_name = "Security Equipment" description = "All the essentials to subdue a mime." - prereq_ids = list("basic_arms") + prereq_ids = list(TECHWEB_NODE_BASIC_ARMS) design_ids = list( - "camera_assembly", "secdata", "mining", "prisonmanage", @@ -30,7 +29,6 @@ "security_photobooth", "photobooth", "scanner_gate", - "turret_control", "pepperspray", "dragnet_beacon", "inspector", @@ -43,10 +41,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/riot_supression - id = "riot_supression" + id = TECHWEB_NODE_RIOT_SUPRESSION display_name = "Riot Supression" description = "When you are on the opposing side of a revolutionary movement." - prereq_ids = list("sec_equip") + prereq_ids = list(TECHWEB_NODE_SEC_EQUIP) design_ids = list( "pin_testing", "pin_loyalty", @@ -57,10 +55,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/explosives - id = "explosives" + id = TECHWEB_NODE_EXPLOSIVES display_name = "Explosives" description = "For once, intentional explosions." - prereq_ids = list("riot_supression") + prereq_ids = list(TECHWEB_NODE_RIOT_SUPRESSION) design_ids = list( "large_grenade", "adv_grenade", @@ -71,10 +69,10 @@ discount_experiments = list(/datum/experiment/ordnance/explosive/highyieldbomb = TECHWEB_TIER_3_POINTS) /datum/techweb_node/exotic_ammo - id = "exotic_ammo" + id = TECHWEB_NODE_EXOTIC_AMMO display_name = "Exotic Ammunition" description = "Specialized bullets designed to ignite, freeze, and inflict various other effects on targets, expanding combat capabilities." - prereq_ids = list("explosives") + prereq_ids = list(TECHWEB_NODE_EXPLOSIVES) design_ids = list( "c38_hotshot", "c38_iceblox", @@ -83,10 +81,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_4_POINTS) /datum/techweb_node/electric_weapons - id = "electric_weapons" + id = TECHWEB_NODE_ELECTRIC_WEAPONS display_name = "Electric Weaponry" description = "Energy-based weaponry designed for both lethal and non-lethal applications." - prereq_ids = list("riot_supression") + prereq_ids = list(TECHWEB_NODE_RIOT_SUPRESSION) design_ids = list( "stunrevolver", "ioncarbine", @@ -96,12 +94,11 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_3_POINTS) /datum/techweb_node/beam_weapons - id = "beam_weapons" + id = TECHWEB_NODE_BEAM_WEAPONS display_name = "Advanced Beam Weaponry" description = "So advanced, even engineers are baffled by its operational principles." - prereq_ids = list("electric_weapons") + prereq_ids = list(TECHWEB_NODE_ELECTRIC_WEAPONS) design_ids = list( - "beamrifle", "xray_laser", "nuclear_gun", ) diff --git a/code/modules/research/techweb/nodes/service_nodes.dm b/code/modules/research/techweb/nodes/service_nodes.dm index 61c7e2545543b..da7c48f0878c7 100644 --- a/code/modules/research/techweb/nodes/service_nodes.dm +++ b/code/modules/research/techweb/nodes/service_nodes.dm @@ -1,5 +1,5 @@ /datum/techweb_node/office_equip - id = "office_equip" + id = TECHWEB_NODE_OFFICE_EQUIP starting_node = TRUE display_name = "Office Equipment" description = "Nanotrasen's finest in ergonomic office tech, ensuring station admin stays productive and compliant with corporate policies — because even in space, paperwork never stops." @@ -36,10 +36,10 @@ ) /datum/techweb_node/sanitation - id = "sanitation" + id = TECHWEB_NODE_SANITATION display_name = "Advanced Sanitation Technology" description = "Nanotrasen's latest in janitorial tech, making sure the station stays spotless and bear-free." - prereq_ids = list("office_equip") + prereq_ids = list(TECHWEB_NODE_OFFICE_EQUIP) design_ids = list( "advmop", "light_replacer", @@ -53,10 +53,10 @@ discount_experiments = list(/datum/experiment/scanning/random/janitor_trash = TECHWEB_TIER_2_POINTS) /datum/techweb_node/toys - id = "toys" + id = TECHWEB_NODE_TOYS display_name = "New Toys" description = "For new pranks." - prereq_ids = list("office_equip") + prereq_ids = list(TECHWEB_NODE_OFFICE_EQUIP) design_ids = list( "smoke_machine", "toy_armblade", @@ -66,10 +66,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/consoles - id = "consoles" + id = TECHWEB_NODE_CONSOLES display_name = "Civilian Consoles" description = "User-friendly consoles for non-technical crew members, enhancing communication and access to essential station information." - prereq_ids = list("office_equip") + prereq_ids = list(TECHWEB_NODE_OFFICE_EQUIP) design_ids = list( "comconsole", "automated_announcement", @@ -93,10 +93,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/gaming - id = "gaming" + id = TECHWEB_NODE_GAMING display_name = "Gaming" description = "For the slackers on the station." - prereq_ids = list("toys", "consoles") + prereq_ids = list(TECHWEB_NODE_TOYS, TECHWEB_NODE_CONSOLES) design_ids = list( "arcade_battle", "arcade_orion", @@ -107,7 +107,7 @@ // Kitchen root node /datum/techweb_node/cafeteria_equip - id = "cafeteria_equip" + id = TECHWEB_NODE_CAFETERIA_EQUIP starting_node = TRUE display_name = "Cafeteria Equipment" description = "When standard-issue tubed food no longer satisfies the station crew's appetite..." @@ -135,10 +135,10 @@ ) /datum/techweb_node/food_proc - id = "food_proc" + id = TECHWEB_NODE_FOOD_PROC display_name = "Food Processing" description = "Top-tier kitchen appliances from Nanotrasen, designed to keep the crew well-fed and happy." - prereq_ids = list("cafeteria_equip") + prereq_ids = list(TECHWEB_NODE_CAFETERIA_EQUIP) design_ids = list( "deepfryer", "oven", @@ -160,7 +160,7 @@ // Fishing root node /datum/techweb_node/fishing_equip - id = "fishing_equip" + id = TECHWEB_NODE_FISHING_EQUIP starting_node = TRUE display_name = "Fishing Equipment" description = "Basic fishing gear tailored for space station environments, perfect for extraterrestrial aquatic pursuits." @@ -171,10 +171,10 @@ ) /datum/techweb_node/fishing_equip_adv - id = "fishing_equip_adv" + id = TECHWEB_NODE_FISHING_EQUIP_ADV display_name = "Advanced Fishing Tools" description = "Continuing advancements in fishing technology, incorporating cutting-edge features in space fishing operations. Just don't try this on space carps..." - prereq_ids = list("fishing_equip") + prereq_ids = list(TECHWEB_NODE_FISHING_EQUIP) design_ids = list( "fishing_rod_tech", "stabilized_hook", @@ -185,10 +185,10 @@ required_experiments = list(/datum/experiment/scanning/fish) /datum/techweb_node/marine_util - id = "marine_util" + id = TECHWEB_NODE_MARINE_UTIL display_name = "Marine Utility" description = "Fish are nice to look at and all, but they can be put to use." - prereq_ids = list("fishing_equip_adv") + prereq_ids = list(TECHWEB_NODE_FISHING_EQUIP_ADV) design_ids = list( "bioelec_gen", ) @@ -198,7 +198,7 @@ // Botany root node /datum/techweb_node/botany_equip - id = "botany_equip" + id = TECHWEB_NODE_BOTANY_EQUIP starting_node = TRUE display_name = "Botany Equipment" description = "Essential tools for maintaining onboard gardens, supporting plant growth in the unique environment of the space station." @@ -213,10 +213,10 @@ ) /datum/techweb_node/hydroponics - id = "hydroponics" + id = TECHWEB_NODE_HYDROPONICS display_name = "Hydroponics" description = "Research into advanced hydroponic systems for efficient and sustainable plant cultivation." - prereq_ids = list("botany_equip", "chem_synthesis") + prereq_ids = list(TECHWEB_NODE_BOTANY_EQUIP, TECHWEB_NODE_CHEM_SYNTHESIS) design_ids = list( "biogenerator", "hydro_tray", @@ -225,10 +225,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_2_POINTS) /datum/techweb_node/selection - id = "selection" + id = TECHWEB_NODE_SELECTION display_name = "Artificial Selection" description = "Advancement in plant cultivation techniques through artificial selection, enabling precise manipulation of plant DNA." - prereq_ids = list("hydroponics") + prereq_ids = list(TECHWEB_NODE_HYDROPONICS) design_ids = list( "flora_gun", "gene_shears", diff --git a/code/modules/research/techweb/nodes/surgery_nodes.dm b/code/modules/research/techweb/nodes/surgery_nodes.dm index 3cd3d373c0599..2bd1f6d5df6d0 100644 --- a/code/modules/research/techweb/nodes/surgery_nodes.dm +++ b/code/modules/research/techweb/nodes/surgery_nodes.dm @@ -1,8 +1,8 @@ /datum/techweb_node/oldstation_surgery - id = "oldstation_surgery" + id = TECHWEB_NODE_OLDSTATION_SURGERY display_name = "Experimental Dissection" description = "Grants access to experimental dissections, which allows generation of research points." - prereq_ids = list("medbay_equip") + prereq_ids = list(TECHWEB_NODE_MEDBAY_EQUIP) design_ids = list( "surgery_oldstation_dissection", ) @@ -11,10 +11,10 @@ show_on_wiki = FALSE /datum/techweb_node/surgery - id = "surgery" + id = TECHWEB_NODE_SURGERY display_name = "Improved Wound-Tending" description = "Who would have known being more gentle with a hemostat decreases patient pain?" - prereq_ids = list("medbay_equip") + prereq_ids = list(TECHWEB_NODE_MEDBAY_EQUIP) design_ids = list( "surgery_heal_brute_upgrade", "surgery_heal_burn_upgrade", @@ -22,10 +22,10 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) /datum/techweb_node/surgery_adv - id = "surgery_adv" + id = TECHWEB_NODE_SURGERY_ADV display_name = "Advanced Surgery" description = "When simple medicine doesn't cut it." - prereq_ids = list("surgery") + prereq_ids = list(TECHWEB_NODE_SURGERY) design_ids = list( "harvester", "surgery_heal_brute_upgrade_femto", @@ -38,10 +38,10 @@ required_experiments = list(/datum/experiment/autopsy/human) /datum/techweb_node/surgery_exp - id = "surgery_exp" + id = TECHWEB_NODE_SURGERY_EXP display_name = "Experimental Surgery" description = "When evolution isn't fast enough." - prereq_ids = list("surgery_adv") + prereq_ids = list(TECHWEB_NODE_SURGERY_ADV) design_ids = list( "surgery_cortex_folding", "surgery_cortex_imprint", @@ -59,10 +59,10 @@ required_experiments = list(/datum/experiment/autopsy/nonhuman) /datum/techweb_node/surgery_tools - id = "surgery_tools" + id = TECHWEB_NODE_SURGERY_TOOLS display_name = "Advanced Surgery Tools" description = "Surgical instruments of dual purpose for quick operations." - prereq_ids = list("surgery_exp") + prereq_ids = list(TECHWEB_NODE_SURGERY_EXP) design_ids = list( "laserscalpel", "searingtool", diff --git a/code/modules/research/techweb/nodes/syndicate_nodes.dm b/code/modules/research/techweb/nodes/syndicate_nodes.dm index c571551877099..377ac392f938f 100644 --- a/code/modules/research/techweb/nodes/syndicate_nodes.dm +++ b/code/modules/research/techweb/nodes/syndicate_nodes.dm @@ -1,8 +1,8 @@ /datum/techweb_node/syndicate_basic - id = "syndicate_basic" + id = TECHWEB_NODE_SYNDICATE_BASIC display_name = "Illegal Technology" description = "Dangerous research used to create dangerous objects." - prereq_ids = list("exp_tools", "exotic_ammo") + prereq_ids = list(TECHWEB_NODE_EXP_TOOLS, TECHWEB_NODE_EXOTIC_AMMO) design_ids = list( "advanced_camera", "ai_cam_upgrade", @@ -38,11 +38,12 @@ required_items_to_unlock |= item.item //allows deconning to unlock. /datum/techweb_node/unregulated_bluespace - id = "unregulated_bluespace" + id = TECHWEB_NODE_UNREGULATED_BLUESPACE display_name = "Unregulated Bluespace Research" description = "Bluespace technology using unstable or unbalanced procedures, prone to damaging the fabric of bluespace. Outlawed by galactic conventions." - prereq_ids = list("parts_bluespace", "syndicate_basic") + prereq_ids = list(TECHWEB_NODE_PARTS_BLUESPACE, TECHWEB_NODE_SYNDICATE_BASIC) design_ids = list( "desynchronizer", + "beamrifle", ) research_costs = list(TECHWEB_POINT_TYPE_GENERIC = TECHWEB_TIER_1_POINTS) diff --git a/code/modules/research/techweb/techweb_types.dm b/code/modules/research/techweb/techweb_types.dm index c01b1226a4c13..f5532e9e53f9d 100644 --- a/code/modules/research/techweb/techweb_types.dm +++ b/code/modules/research/techweb/techweb_types.dm @@ -18,7 +18,7 @@ /datum/techweb/oldstation/New() . = ..() - research_node_id("oldstation_surgery", TRUE, TRUE, FALSE) + research_node_id(TECHWEB_NODE_OLDSTATION_SURGERY, TRUE, TRUE, FALSE) /** * Admin techweb that has everything unlocked by default diff --git a/code/modules/research/xenobiology/vatgrowing/microscope.dm b/code/modules/research/xenobiology/vatgrowing/microscope.dm index 2e70d20faf07d..df065698436a4 100644 --- a/code/modules/research/xenobiology/vatgrowing/microscope.dm +++ b/code/modules/research/xenobiology/vatgrowing/microscope.dm @@ -3,17 +3,28 @@ desc = "A simple microscope, allowing you to examine micro-organisms." icon = 'icons/obj/science/vatgrowing.dmi' icon_state = "microscope" + ///Analyzed dish var/obj/item/petri_dish/current_dish -/obj/structure/microscope/attacked_by(obj/item/I, mob/living/user) - if(!istype(I, /obj/item/petri_dish)) - return ..() +/obj/structure/microscope/Initialize(mapload) + . = ..() + var/static/list/hovering_item_typechecks = list( + /obj/item/petri_dish = list( + SCREENTIP_CONTEXT_LMB = "Add petri dish", + ), + ) + AddElement(/datum/element/contextual_screentip_item_typechecks, hovering_item_typechecks) + AddElement(/datum/element/contextual_screentip_bare_hands, rmb_text = "Remove petri dish") + +/obj/structure/microscope/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + . = ..() + if(istype(tool, /obj/item/petri_dish)) + return add_dish(user, tool) + +/obj/structure/microscope/attack_hand_secondary(mob/user, list/modifiers) + . = ..() if(current_dish) - to_chat(user, span_warning("There is already a petridish in \the [src].")) - return - to_chat(user, span_notice("You put [I] into \the [src].")) - current_dish = I - current_dish.forceMove(src) + return remove_dish(user) /obj/structure/microscope/ui_interact(mob/user, datum/tgui/ui) ui = SStgui.try_update_ui(user, src, ui) @@ -21,27 +32,30 @@ ui = new(user, src, "Microscope", name) ui.open() -/obj/structure/microscope/ui_data(mob/user) +/obj/structure/microscope/ui_static_data(mob/user) var/list/data = list() data["has_dish"] = current_dish ? TRUE : FALSE data["cell_lines"] = list() - data["viruses"] = list() if(!current_dish) return data if(!current_dish.sample) return data - for(var/organism in current_dish.sample.micro_organisms) //All the microorganisms in the dish + for(var/organism in current_dish.sample.micro_organisms) if(istype(organism, /datum/micro_organism/cell_line)) var/datum/micro_organism/cell_line/cell_line = organism + var/atom/resulting_atom = cell_line.resulting_atom var/list/organism_data = list( type = "cell line", name = cell_line.name, desc = cell_line.desc, - growth_rate = cell_line.growth_rate, - suspectibility = cell_line.virus_suspectibility, + icon = resulting_atom ? initial(resulting_atom.icon) : "", + icon_state = resulting_atom ? initial(resulting_atom.icon_state) : "", + consumption_rate = cell_line.consumption_rate * SSMACHINES_DT, + growth_rate = cell_line.growth_rate * SSMACHINES_DT, + suspectibility = cell_line.virus_suspectibility * SSMACHINES_DT, requireds = get_reagent_list(cell_line.required_reagents), supplementaries = get_reagent_list(cell_line.supplementary_reagents), suppressives = get_reagent_list(cell_line.suppressive_reagents) @@ -55,7 +69,7 @@ name = virus.name, desc = virus.desc ) - data["viruses"] += list(virus_data) + data["cell_lines"] += list(virus_data) return data @@ -63,23 +77,49 @@ var/list/reagent_list = list() for(var/i in reagents) //Convert from assoc to normal. Yeah very shit. var/datum/reagent/reagent = i - reagent_list += initial(reagent.name) - return reagent_list.Join(", ") - + reagent_list["[initial(reagent.name)]"] = reagents[i] * SSMACHINES_DT + return reagent_list -/obj/structure/microscope/ui_act(action, params) +/obj/structure/microscope/ui_act(action, params, datum/tgui/ui) . = ..() if(.) return switch(action) if("eject_petridish") - if(!current_dish) - return FALSE - current_dish.forceMove(get_turf(src)) - current_dish = null - . = TRUE + if(current_dish) + remove_dish(ui.user) + . = TRUE update_appearance() +///Insert a new dish, swapping the inserted one +/obj/structure/microscope/proc/add_dish(mob/living/user, obj/item/petri_dish/new_dish) + var/obj/item/petri_dish/old_dish + if(current_dish) + old_dish = current_dish + if(!user.transferItemToLoc(new_dish, src)) + balloon_alert(user, "couldn't add!") + return ITEM_INTERACT_FAILURE + current_dish = new_dish + update_static_data_for_all_viewers() + if(old_dish) + if(!user.put_in_hands(old_dish)) + old_dish.forceMove(get_turf(src)) + balloon_alert(user, "dish swapped") + else + balloon_alert(user, "dish added") + return ITEM_INTERACT_SUCCESS + +///Take the inserted dish, or drop it on the floor +/obj/structure/microscope/proc/remove_dish(mob/living/user) + if(!current_dish) + return SECONDARY_ATTACK_CONTINUE_CHAIN + if(!user.put_in_hands(current_dish)) + current_dish.forceMove(get_turf(src)) + current_dish = null + update_static_data_for_all_viewers() + balloon_alert(user, "dish removed") + return SECONDARY_ATTACK_CANCEL_ATTACK_CHAIN + /datum/crafting_recipe/microscope name = "Microscope" result = /obj/structure/microscope diff --git a/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm b/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm index edeeaad05c6a3..b8af4dd062c41 100644 --- a/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm +++ b/code/modules/research/xenobiology/vatgrowing/samples/_micro_organism.dm @@ -23,8 +23,12 @@ var/virus_suspectibility = 1 ///This var defines how much % the organism grows per process(), without modifiers, if you have all required reagents var/growth_rate = 4 - ///Resulting atoms from growing this cell line. List is assoc atom type || amount - var/list/resulting_atoms = list() + ///This var defines how many units of every reagent is consumed during growth per process() + var/consumption_rate = REAGENTS_METABOLISM + ///Resulting atom from growing this cell line + var/atom/resulting_atom + ///The number of resulting atoms + var/resulting_atom_count = 1 ///Handles growth of the micro_organism. This only runs if the micro organism is in the growing vat. Reagents is the growing vats reagents /datum/micro_organism/cell_line/proc/handle_growth(obj/machinery/plumbing/growing_vat/vat) @@ -41,7 +45,7 @@ if(!reagents.has_reagent(i)) return FALSE for(var/i in required_reagents) //Delete the required reagents if used - reagents.remove_reagent(i, REAGENTS_METABOLISM) + reagents.remove_reagent(i, consumption_rate) return TRUE ///Apply modifiers on growth_rate based on supplementary and supressive reagents. Reagents is the growing vats reagents @@ -50,22 +54,22 @@ //Handle growth based on supplementary reagents here. for(var/i in supplementary_reagents) - if(!reagents.has_reagent(i, REAGENTS_METABOLISM)) + if(!reagents.has_reagent(i, consumption_rate)) continue . += supplementary_reagents[i] - reagents.remove_reagent(i, REAGENTS_METABOLISM) + reagents.remove_reagent(i, consumption_rate) //Handle degrowth based on supressive reagents here. for(var/i in suppressive_reagents) - if(!reagents.has_reagent(i, REAGENTS_METABOLISM)) + if(!reagents.has_reagent(i, consumption_rate)) continue . += suppressive_reagents[i] - reagents.remove_reagent(i, REAGENTS_METABOLISM) + reagents.remove_reagent(i, consumption_rate) //Handle debuffing growth based on viruses here. for(var/datum/micro_organism/virus/active_virus in biological_sample.micro_organisms) - if(reagents.has_reagent(/datum/reagent/medicine/spaceacillin, REAGENTS_METABOLISM)) - reagents.remove_reagent(/datum/reagent/medicine/spaceacillin, REAGENTS_METABOLISM) + if(reagents.has_reagent(/datum/reagent/medicine/spaceacillin, consumption_rate)) + reagents.remove_reagent(/datum/reagent/medicine/spaceacillin, consumption_rate) continue //This virus is stopped, We have antiviral stuff . -= virus_suspectibility @@ -98,11 +102,10 @@ var/datum/effect_system/fluid_spread/smoke/smoke = new smoke.set_up(0, holder = vat, location = vat.loc) smoke.start() - for(var/created_thing in resulting_atoms) - for(var/x in 1 to resulting_atoms[created_thing]) - var/atom/thing = new created_thing(get_turf(vat)) - ADD_TRAIT(thing, TRAIT_VATGROWN, "vatgrowing") - vat.visible_message(span_nicegreen("[thing] pops out of [vat]!")) + for(var/x in 1 to resulting_atom_count) + var/atom/thing = new resulting_atom(get_turf(vat)) + ADD_TRAIT(thing, TRAIT_VATGROWN, "vatgrowing") + vat.visible_message(span_nicegreen("[thing] pops out of [vat]!")) if(SEND_SIGNAL(vat.biological_sample, COMSIG_SAMPLE_GROWTH_COMPLETED) & SPARE_SAMPLE) return QDEL_NULL(vat.biological_sample) diff --git a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm index b170cb19fd784..8dd4594d47d65 100644 --- a/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm +++ b/code/modules/research/xenobiology/vatgrowing/samples/cell_lines/common.dm @@ -25,7 +25,8 @@ virus_suspectibility = 2 growth_rate = VAT_GROWTH_RATE - resulting_atoms = list(/mob/living/basic/mouse = 2) + resulting_atom = /mob/living/basic/mouse + resulting_atom_count = 2 /datum/micro_organism/cell_line/chicken //basic cell line designed as a good source of protein and eggyolk. desc = "Galliform skin cells." @@ -43,7 +44,7 @@ virus_suspectibility = 1 growth_rate = VAT_GROWTH_RATE - resulting_atoms = list(/mob/living/basic/chicken = 1) + resulting_atom = /mob/living/basic/chicken /datum/micro_organism/cell_line/cow desc = "Bovine stem cells" @@ -62,7 +63,7 @@ /datum/reagent/toxin/carpotoxin = -5) virus_suspectibility = 1 - resulting_atoms = list(/mob/living/basic/cow = 1) + resulting_atom = /mob/living/basic/cow /datum/micro_organism/cell_line/moonicorn desc = "Fairyland Bovine stem cells" @@ -87,7 +88,7 @@ ) virus_suspectibility = 1 - resulting_atoms = list(/mob/living/basic/cow/moonicorn = 1) + resulting_atom = /mob/living/basic/cow/moonicorn /datum/micro_organism/cell_line/cat desc = "Feliform cells" @@ -108,7 +109,7 @@ /datum/reagent/consumable/milk/chocolate_milk = -1) virus_suspectibility = 1.5 - resulting_atoms = list(/mob/living/basic/pet/cat = 1) + resulting_atom = /mob/living/basic/pet/cat /datum/micro_organism/cell_line/corgi desc = "Canid cells" @@ -127,7 +128,7 @@ /datum/reagent/consumable/coco = -2) virus_suspectibility = 1 - resulting_atoms = list(/mob/living/basic/pet/dog/corgi = 1) + resulting_atom = /mob/living/basic/pet/dog/corgi /datum/micro_organism/cell_line/pug desc = "Squat canid cells" @@ -145,7 +146,7 @@ /datum/reagent/consumable/coco = -2) virus_suspectibility = 3 - resulting_atoms = list(/mob/living/basic/pet/dog/pug = 1) + resulting_atom = /mob/living/basic/pet/dog/pug /datum/micro_organism/cell_line/bear //bears can't really compete directly with more powerful creatures, so i made it possible to grow them real fast. desc = "Ursine cells" @@ -166,7 +167,7 @@ /datum/reagent/medicine/insulin = -2) //depletes hunny. virus_suspectibility = 2 - resulting_atoms = list(/mob/living/basic/bear = 1) + resulting_atom = /mob/living/basic/bear /datum/micro_organism/cell_line/carp desc = "Cyprinid cells" @@ -185,7 +186,7 @@ /datum/reagent/oxygen = -3) virus_suspectibility = 2 - resulting_atoms = list(/mob/living/basic/carp = 1) + resulting_atom = /mob/living/basic/carp /datum/micro_organism/cell_line/megacarp desc = "Cartilaginous cyprinid cells" @@ -205,7 +206,7 @@ /datum/reagent/oxygen = -3) virus_suspectibility = 1 - resulting_atoms = list(/mob/living/basic/carp/mega = 1) + resulting_atom = /mob/living/basic/carp/mega /datum/micro_organism/cell_line/snake desc = "Ophidic cells" @@ -223,7 +224,7 @@ /datum/reagent/consumable/corn_syrup = -6, /datum/reagent/sulfur = -3) //sulfur repels snakes according to professor google. - resulting_atoms = list(/mob/living/basic/snake = 1) + resulting_atom = /mob/living/basic/snake /////////////////////////////////////////// @@ -246,7 +247,7 @@ /datum/reagent/consumable/ice = -2) //Brrr! virus_suspectibility = 0 - resulting_atoms = list(/mob/living/basic/slime = 1) + resulting_atom = /mob/living/basic/slime /datum/micro_organism/cell_line/blob_spore //nuisance cell line desc = "Immature blob spores" @@ -263,7 +264,8 @@ /datum/reagent/medicine/psicodine = -2) //Blob zombies likely wouldn't appreciate psicodine so why this is here virus_suspectibility = 0 - resulting_atoms = list(/mob/living/basic/blob_minion/spore = 2) //These are useless so we might as well spawn 2. + resulting_atom = /mob/living/basic/blob_minion/spore + resulting_atom_count = 2 /datum/micro_organism/cell_line/blobbernaut desc = "Blobular myocytes" @@ -282,7 +284,7 @@ suppressive_reagents = list(/datum/reagent/consumable/tinlux = -6) virus_suspectibility = 0 - resulting_atoms = list(/mob/living/basic/blob_minion/blobbernaut = 1) + resulting_atom = /mob/living/basic/blob_minion/blobbernaut /datum/micro_organism/cell_line/gelatinous_cube desc = "Cubic ooze particles" @@ -307,7 +309,7 @@ /datum/reagent/consumable/ice = -1) virus_suspectibility = 0 - resulting_atoms = list(/mob/living/simple_animal/hostile/ooze/gelatinous = 1) + resulting_atom = /mob/living/simple_animal/hostile/ooze/gelatinous /datum/micro_organism/cell_line/sholean_grapes desc = "Globular ooze particles" @@ -334,7 +336,7 @@ /datum/reagent/consumable/ice = -1) virus_suspectibility = 0 - resulting_atoms = list(/mob/living/simple_animal/hostile/ooze/grapes = 1) + resulting_atom = /mob/living/simple_animal/hostile/ooze/grapes //////////////////// //// MISC //// @@ -355,7 +357,8 @@ /datum/reagent/consumable/ethanol/bug_spray = -4) virus_suspectibility = 0 - resulting_atoms = list(/mob/living/basic/cockroach = 5) + resulting_atom = /mob/living/basic/cockroach + resulting_atom_count = 5 /datum/micro_organism/cell_line/glockroach desc = "Gattodeoid anthropod cells" @@ -376,7 +379,8 @@ /datum/reagent/consumable/ethanol/bug_spray = -4) virus_suspectibility = 0 - resulting_atoms = list(/mob/living/basic/cockroach/glockroach = 2) + resulting_atom = /mob/living/basic/cockroach/glockroach + resulting_atom_count = 2 /datum/micro_organism/cell_line/hauberoach desc = "Hattodeoid anthropod cells" @@ -397,7 +401,8 @@ /datum/reagent/consumable/ethanol/cognac = -4) virus_suspectibility = 0 - resulting_atoms = list(/mob/living/basic/cockroach/hauberoach = 2) + resulting_atom = /mob/living/basic/cockroach/hauberoach + resulting_atom_count = 2 /datum/micro_organism/cell_line/pine desc = "Coniferous plant cells" @@ -418,7 +423,7 @@ suppressive_reagents = list(/datum/reagent/toxin/plantbgone = -8) virus_suspectibility = 1 - resulting_atoms = list(/mob/living/basic/tree = 1) + resulting_atom = /mob/living/basic/tree /datum/micro_organism/cell_line/vat_beast desc = "Hypergenic xenocytes" @@ -443,7 +448,7 @@ /datum/reagent/medicine/c2/syriniver = -2) virus_suspectibility = 0.5 - resulting_atoms = list(/mob/living/simple_animal/hostile/vatbeast = 1) + resulting_atom = /mob/living/simple_animal/hostile/vatbeast /datum/micro_organism/cell_line/vat_beast/succeed_growing(obj/machinery/plumbing/growing_vat/vat) . = ..() @@ -470,12 +475,9 @@ /datum/reagent/consumable/liquidgibs = -2) virus_suspectibility = 0 - resulting_atoms = list() /datum/micro_organism/cell_line/netherworld/succeed_growing(obj/machinery/plumbing/growing_vat/vat) - var/random_result = pick(/mob/living/basic/creature, /mob/living/basic/migo, /mob/living/basic/blankbody) //i looked myself, pretty much all of them are reasonably strong and somewhat on the same level. except migo is the jackpot and the blank body is whiff. - resulting_atoms = list() - resulting_atoms[random_result] = 1 + resulting_atom = pick(/mob/living/basic/creature, /mob/living/basic/migo, /mob/living/basic/blankbody) //i looked myself, pretty much all of them are reasonably strong and somewhat on the same level. except migo is the jackpot and the blank body is whiff. return ..() /datum/micro_organism/cell_line/clown/fuck_up_growing(obj/machinery/plumbing/growing_vat/vat) @@ -509,7 +511,7 @@ /datum/reagent/consumable/nothing = -2, /datum/reagent/fuel/oil = -1) - resulting_atoms = list(/mob/living/basic/clown/banana = 1) + resulting_atom = /mob/living/basic/clown/banana /datum/micro_organism/cell_line/clown/glutton desc = "hyperadipogenic clown stem cells" @@ -535,7 +537,7 @@ /datum/reagent/consumable/nothing = -2, /datum/reagent/toxin/bad_food = -1) - resulting_atoms = list(/mob/living/basic/clown/mutant/glutton = 1) + resulting_atom = /mob/living/basic/clown/mutant/glutton /datum/micro_organism/cell_line/clown/longclown desc = "long clown bits" @@ -558,7 +560,7 @@ /datum/reagent/consumable/nothing = -2, /datum/reagent/sulfur = -1) - resulting_atoms = list(/mob/living/basic/clown/longface = 1) + resulting_atom = /mob/living/basic/clown/longface /datum/micro_organism/cell_line/frog desc = "anura amphibian cells" @@ -579,7 +581,7 @@ /datum/reagent/toxin = -1) virus_suspectibility = 0.5 - resulting_atoms = list(/mob/living/basic/frog = 1) + resulting_atom = /mob/living/basic/frog /datum/micro_organism/cell_line/axolotl desc = "caudata amphibian cells" @@ -602,7 +604,7 @@ /datum/reagent/toxin = -1) virus_suspectibility = 0.5 - resulting_atoms = list(/mob/living/basic/axolotl = 1) + resulting_atom = /mob/living/basic/axolotl /datum/micro_organism/cell_line/walking_mushroom desc = "motile fungal hyphae" @@ -627,7 +629,7 @@ /datum/reagent/copper = -1) virus_suspectibility = 0 - resulting_atoms = list(/mob/living/basic/mushroom = 1) + resulting_atom = /mob/living/basic/mushroom /datum/micro_organism/cell_line/queen_bee desc = "aphid cells" @@ -652,7 +654,7 @@ /datum/reagent/drug/nicotine = -1) virus_suspectibility = 0 - resulting_atoms = list(/obj/item/queen_bee/bought = 1) + resulting_atom = /obj/item/queen_bee/bought /datum/micro_organism/cell_line/queen_bee/fuck_up_growing(obj/machinery/plumbing/growing_vat/vat) //we love job hazards vat.visible_message(span_warning("You hear angry buzzing coming from the inside of the vat!")) @@ -682,7 +684,8 @@ ) virus_suspectibility = 0 - resulting_atoms = list(/mob/living/basic/butterfly = 3) + resulting_atom = /mob/living/basic/butterfly + resulting_atom_count = 3 /datum/micro_organism/cell_line/mega_arachnid desc = "pseudoarachnoid cells" @@ -708,6 +711,6 @@ /datum/reagent/drug/nicotine = -1, /datum/reagent/toxin/pestkiller = -1) - resulting_atoms = list(/mob/living/basic/mega_arachnid = 1) + resulting_atom = /mob/living/basic/mega_arachnid #undef VAT_GROWTH_RATE diff --git a/code/modules/research/xenobiology/xenobio_camera.dm b/code/modules/research/xenobiology/xenobio_camera.dm index ea4ef0e9b7ed1..68ffe5e9248be 100644 --- a/code/modules/research/xenobiology/xenobio_camera.dm +++ b/code/modules/research/xenobiology/xenobio_camera.dm @@ -91,18 +91,20 @@ eyeobj.icon_state = "generic_camera" /obj/machinery/computer/camera_advanced/xenobio/GrantActions(mob/living/user) - ..() + . = ..() RegisterSignal(user, COMSIG_MOB_CTRL_CLICKED, PROC_REF(XenoClickCtrl)) - RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT, PROC_REF(XenoSlimeClickAlt)) + RegisterSignal(user, COMSIG_MOB_ALTCLICKON, PROC_REF(XenoSlimeClickAlt)) RegisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT, PROC_REF(XenoSlimeClickShift)) RegisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT, PROC_REF(XenoTurfClickShift)) /obj/machinery/computer/camera_advanced/xenobio/remove_eye_control(mob/living/user) - UnregisterSignal(user, COMSIG_MOB_CTRL_CLICKED) - UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_ALT) - UnregisterSignal(user, COMSIG_XENO_SLIME_CLICK_SHIFT) - UnregisterSignal(user, COMSIG_XENO_TURF_CLICK_SHIFT) - ..() + UnregisterSignal(user, list( + COMSIG_MOB_CTRL_CLICKED, + COMSIG_MOB_ALTCLICKON, + COMSIG_XENO_SLIME_CLICK_SHIFT, + COMSIG_XENO_TURF_CLICK_SHIFT, + )) + return ..() /obj/machinery/computer/camera_advanced/xenobio/attackby(obj/item/used_item, mob/user, params) if(istype(used_item, /obj/item/food/monkeycube)) @@ -355,11 +357,6 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo // // Alternate clicks for slime, monkey and open turf if using a xenobio console - -/mob/living/basic/slime/click_alt(mob/user) - SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_ALT, src) - return CLICK_ACTION_SUCCESS - /mob/living/basic/slime/ShiftClick(mob/user) SEND_SIGNAL(user, COMSIG_XENO_SLIME_CLICK_SHIFT, src) ..() @@ -372,6 +369,10 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo /obj/machinery/computer/camera_advanced/xenobio/proc/XenoSlimeClickAlt(mob/living/user, mob/living/basic/slime/target_slime) SIGNAL_HANDLER + . = COMSIG_MOB_CANCEL_CLICKON + if(!isslime(target_slime)) + return + var/mob/camera/ai_eye/remote/xenobio/remote_eye = user.remote_control var/obj/machinery/computer/camera_advanced/xenobio/xeno_console = remote_eye.origin @@ -426,13 +427,20 @@ Due to keyboard shortcuts, the second one is not necessarily the remote eye's lo if(!isopenturf(target_turf)) return + var/cleanup = FALSE var/mob/camera/ai_eye/remote/xenobio/remote_eye = user.remote_control var/obj/machinery/computer/camera_advanced/xenobio/xeno_console = remote_eye.origin if(!xeno_console.validate_area(user, remote_eye, target_turf)) return - xeno_console.feed_slime(user, target_turf) + for(var/mob/monkey in target_turf) + if(ismonkey(monkey) && monkey.stat == DEAD) + cleanup = TRUE + xeno_console.monkey_recycle(user, monkey) + + if(!cleanup) + xeno_console.feed_slime(user, target_turf) ///Picks up a dead monkey for recycling /obj/machinery/computer/camera_advanced/xenobio/proc/XenoMonkeyClickCtrl(mob/living/user, mob/living/carbon/human/target_mob) diff --git a/code/modules/research/xenobiology/xenobiology.dm b/code/modules/research/xenobiology/xenobiology.dm index 34d7f4d507a46..9f22520d6ab10 100644 --- a/code/modules/research/xenobiology/xenobiology.dm +++ b/code/modules/research/xenobiology/xenobiology.dm @@ -10,7 +10,7 @@ throwforce = 0 throw_speed = 3 throw_range = 6 - grind_results = list() + grind_results = list(/datum/reagent/toxin/slimejelly = 20) ///uses before it goes inert var/extract_uses = 1 ///deletion timer, for delayed reactions @@ -44,11 +44,6 @@ . = ..() create_reagents(100, INJECTABLE | DRAWABLE) -/obj/item/slime_extract/on_grind() - . = ..() - if(extract_uses) - grind_results[/datum/reagent/toxin/slimejelly] = 20 - /** * Effect when activated by a Luminescent. * diff --git a/code/modules/shuttle/navigation_computer.dm b/code/modules/shuttle/navigation_computer.dm index f8b460a783d0d..d3184cc96c62f 100644 --- a/code/modules/shuttle/navigation_computer.dm +++ b/code/modules/shuttle/navigation_computer.dm @@ -20,7 +20,9 @@ // Traits forbided for custom docking var/list/locked_traits = list(ZTRAIT_RESERVED, ZTRAIT_CENTCOM, ZTRAIT_AWAY) var/view_range = 0 + ///x offset for where the camera eye will spawn. Starts from shuttle's docking port var/x_offset = 0 + ///y offset for where the camera eye will spawn. Starts from the shuttle's docking port var/y_offset = 0 var/list/whitelist_turfs = list(/turf/open/space, /turf/open/floor/plating, /turf/open/lava, /turf/open/openspace) var/see_hidden = FALSE diff --git a/code/modules/shuttle/shuttle.dm b/code/modules/shuttle/shuttle.dm index fbe3e52e5030f..68a0a41a2e092 100644 --- a/code/modules/shuttle/shuttle.dm +++ b/code/modules/shuttle/shuttle.dm @@ -379,6 +379,7 @@ "whiteship_tram", "whiteship_personalshuttle", "whiteship_obelisk", + "whiteship_birdshot", ) /// Helper proc that tests to ensure all whiteship templates can spawn at their docking port, and logs their sizes diff --git a/code/modules/shuttle/shuttle_rotate.dm b/code/modules/shuttle/shuttle_rotate.dm index 734e2337df518..cb7cad65b6ba1 100644 --- a/code/modules/shuttle/shuttle_rotate.dm +++ b/code/modules/shuttle/shuttle_rotate.dm @@ -12,7 +12,7 @@ If ever any of these procs are useful for non-shuttles, rename it to proc/rotate setDir(angle2dir(rotation+dir2angle(dir))) //resmooth if need be. - if(params & ROTATE_SMOOTH && smoothing_flags & (SMOOTH_CORNERS|SMOOTH_BITMASK)) + if(params & ROTATE_SMOOTH && smoothing_flags & USES_SMOOTHING) QUEUE_SMOOTH(src) //rotate the pixel offsets too. diff --git a/code/modules/spells/spell.dm b/code/modules/spells/spell.dm index dc30f36149bc6..f76ecb104e72b 100644 --- a/code/modules/spells/spell.dm +++ b/code/modules/spells/spell.dm @@ -246,7 +246,11 @@ return target // They're just standing around, proceed as normal if(HAS_TRAIT(cast_loc, TRAIT_CASTABLE_LOC)) - return cast_loc // They're in an atom which allows casting, so redirect the caster to loc + if(HAS_TRAIT(cast_loc, TRAIT_SPELLS_TRANSFER_TO_LOC) && ismob(cast_loc.loc)) + return cast_loc.loc + else + return cast_loc + // They're in an atom which allows casting, so redirect the caster to loc return null diff --git a/code/modules/spells/spell_types/conjure_item/_conjure_item.dm b/code/modules/spells/spell_types/conjure_item/_conjure_item.dm index 7e39f778391d4..3bbdf25fa8444 100644 --- a/code/modules/spells/spell_types/conjure_item/_conjure_item.dm +++ b/code/modules/spells/spell_types/conjure_item/_conjure_item.dm @@ -3,7 +3,7 @@ invocation_type = INVOCATION_NONE /// Typepath of whatever item we summon - var/obj/item/item_type + var/obj/item_type /// If TRUE, we delete any previously created items when we cast the spell var/delete_old = TRUE /// List of weakrefs to items summoned @@ -57,7 +57,7 @@ var/mob/mob_caster = cast_on if(istype(mob_caster)) - var/obj/item/existing_item = mob_caster.get_active_held_item() + var/obj/existing_item = mob_caster.get_active_held_item() if(existing_item) mob_caster.dropItemToGround(existing_item) @@ -65,6 +65,10 @@ if(QDELETED(created)) CRASH("[type] tried to create an item, but failed. It's item type is [item_type].") + if(!isitem(created)) + created.forceMove(cast_on.drop_location()) + return + if(istype(mob_caster)) mob_caster.put_in_hands(created, del_on_fail = delete_on_failure) diff --git a/code/modules/spells/spell_types/pointed/_pointed.dm b/code/modules/spells/spell_types/pointed/_pointed.dm index 04c3ed47944b9..edf3dab2179d4 100644 --- a/code/modules/spells/spell_types/pointed/_pointed.dm +++ b/code/modules/spells/spell_types/pointed/_pointed.dm @@ -16,7 +16,7 @@ var/deactive_msg /// The casting range of our spell var/cast_range = 7 - /// Variable dictating if the spell will use turf based aim assist + /// If aim asisst is used. Disable to disable var/aim_assist = TRUE /datum/action/cooldown/spell/pointed/New(Target) @@ -65,17 +65,18 @@ return TRUE /datum/action/cooldown/spell/pointed/InterceptClickOn(mob/living/caller, params, atom/target) - var/atom/aim_assist_target - if(aim_assist && isturf(target)) - // Find any human in the list. We aren't picky, it's aim assist after all - aim_assist_target = locate(/mob/living/carbon/human) in target - if(!aim_assist_target) - // If we didn't find a human, we settle for any living at all - aim_assist_target = locate(/mob/living) in target - + if(aim_assist) + aim_assist_target = aim_assist(caller, target) return ..(caller, params, aim_assist_target || target) +/datum/action/cooldown/spell/pointed/proc/aim_assist(mob/living/caller, atom/target) + if(!isturf(target)) + return + + // Find any human, or if that fails, any living target + return locate(/mob/living/carbon/human) in target || locate(/mob/living) in target + /datum/action/cooldown/spell/pointed/is_valid_target(atom/cast_on) if(cast_on == owner) to_chat(owner, span_warning("You cannot cast [src] on yourself!")) diff --git a/code/modules/surgery/blood_filter.dm b/code/modules/surgery/blood_filter.dm index 0193ee9c01a8d..d56e35ca9e73b 100644 --- a/code/modules/surgery/blood_filter.dm +++ b/code/modules/surgery/blood_filter.dm @@ -15,6 +15,13 @@ return ..() /datum/surgery_step/filter_blood/initiate(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, try_to_fail = FALSE) + display_results( + user, + target, + span_notice("You begin filtering [target]'s blood..."), + span_notice("[user] uses [tool] to filter [target]'s blood."), + span_notice("[user] uses [tool] on [target]'s chest."), + ) if(!..()) return while(has_filterable_chems(target, tool)) @@ -33,6 +40,8 @@ */ /datum/surgery_step/filter_blood/proc/has_filterable_chems(mob/living/carbon/target, obj/item/blood_filter/bloodfilter) if(!length(target.reagents?.reagent_list)) + bloodfilter.audible_message(span_notice("The [bloodfilter] pings as it reports no chemicals detected in [target]'s blood.")) + playsound(get_turf(target), 'sound/machines/ping.ogg', 75, TRUE, falloff_exponent = 12, falloff_distance = 1) return FALSE if(!length(bloodfilter.whitelist)) @@ -49,16 +58,9 @@ implements = list(/obj/item/blood_filter = 95) repeatable = TRUE time = 2.5 SECONDS - success_sound = 'sound/machines/ping.ogg' + success_sound = 'sound/machines/fan_loop.ogg' /datum/surgery_step/filter_blood/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) - display_results( - user, - target, - span_notice("You begin filtering [target]'s blood..."), - span_notice("[user] uses [tool] to filter [target]'s blood."), - span_notice("[user] uses [tool] on [target]'s chest."), - ) display_pain(target, "You feel a throbbing pain in your chest!") /datum/surgery_step/filter_blood/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) @@ -70,9 +72,9 @@ display_results( user, target, - span_notice("\The [tool] pings as it finishes filtering [target]'s blood."), - span_notice("\The [tool] pings as it stops pumping [target]'s blood."), - span_notice("\The [tool] pings as it stops pumping."), + span_notice("\The [tool] completes a cycle filtering [target]'s blood."), + span_notice("\The [tool] whirrs as it filters [target]'s blood."), + span_notice("\The [tool] whirrs as it pumps."), ) if(locate(/obj/item/healthanalyzer) in user.held_items) diff --git a/code/modules/surgery/bodyparts/ghetto_parts.dm b/code/modules/surgery/bodyparts/ghetto_parts.dm index 36c0310dead76..03326f3754e45 100644 --- a/code/modules/surgery/bodyparts/ghetto_parts.dm +++ b/code/modules/surgery/bodyparts/ghetto_parts.dm @@ -14,6 +14,9 @@ brute_modifier = 1.2 burn_modifier = 1.5 bodypart_traits = list(TRAIT_CHUNKYFINGERS) + disabling_threshold_percentage = 1 + bodypart_flags = BODYPART_UNHUSKABLE + biological_state = (BIO_JOINTED) /obj/item/bodypart/arm/left/ghetto/Initialize(mapload, ...) . = ..() @@ -35,6 +38,9 @@ brute_modifier = 1.2 burn_modifier = 1.5 bodypart_traits = list(TRAIT_CHUNKYFINGERS) + disabling_threshold_percentage = 1 + bodypart_flags = BODYPART_UNHUSKABLE + biological_state = (BIO_JOINTED) /obj/item/bodypart/arm/right/ghetto/Initialize(mapload, ...) . = ..() @@ -54,6 +60,9 @@ unarmed_effectiveness = 10 brute_modifier = 1.2 burn_modifier = 1.5 + disabling_threshold_percentage = 1 + bodypart_flags = BODYPART_UNHUSKABLE + biological_state = (BIO_JOINTED) /obj/item/bodypart/leg/left/ghetto/Initialize(mapload, ...) . = ..() @@ -73,6 +82,9 @@ unarmed_effectiveness = 10 brute_modifier = 1.2 burn_modifier = 1.5 + disabling_threshold_percentage = 1 + bodypart_flags = BODYPART_UNHUSKABLE + biological_state = (BIO_JOINTED) /obj/item/bodypart/leg/right/ghetto/Initialize(mapload, ...) . = ..() diff --git a/code/modules/surgery/bodyparts/head.dm b/code/modules/surgery/bodyparts/head.dm index 66f42c1e039ba..16a9a288bf0ba 100644 --- a/code/modules/surgery/bodyparts/head.dm +++ b/code/modules/surgery/bodyparts/head.dm @@ -141,7 +141,7 @@ if (!can_dismember) return FALSE - if(owner.stat < HARD_CRIT) + if(!HAS_TRAIT(owner, TRAIT_CURSED) && owner.stat < HARD_CRIT) return FALSE return ..() diff --git a/code/modules/surgery/bodyparts/helpers.dm b/code/modules/surgery/bodyparts/helpers.dm index fb0647d0fb504..863cdd9cb61c2 100644 --- a/code/modules/surgery/bodyparts/helpers.dm +++ b/code/modules/surgery/bodyparts/helpers.dm @@ -48,6 +48,15 @@ which_hand = BODY_ZONE_PRECISE_R_HAND return get_bodypart(check_zone(which_hand)) +/// Gets the inactive hand of the mob. Returns FALSE on non-carbons, otherwise returns the /obj/item/bodypart. +/mob/proc/get_inactive_hand() + return null + +/mob/living/carbon/get_inactive_hand() + var/which_hand = BODY_ZONE_PRECISE_R_HAND + if(!(active_hand_index % RIGHT_HANDS)) + which_hand = BODY_ZONE_PRECISE_L_HAND + return get_bodypart(check_zone(which_hand)) /mob/proc/has_left_hand(check_disabled = TRUE) return TRUE diff --git a/code/modules/surgery/bodyparts/parts.dm b/code/modules/surgery/bodyparts/parts.dm index 97fa50d76c85b..6e3b5ca921bc4 100644 --- a/code/modules/surgery/bodyparts/parts.dm +++ b/code/modules/surgery/bodyparts/parts.dm @@ -48,7 +48,7 @@ old_owner.gib(DROP_ALL_REMAINS) /obj/item/bodypart/chest/can_dismember(obj/item/item) - if(owner.stat < HARD_CRIT || !contents.len) + if((!HAS_TRAIT(owner, TRAIT_CURSED) && owner.stat < HARD_CRIT) || !contents.len) return FALSE return ..() diff --git a/code/modules/surgery/dental_implant.dm b/code/modules/surgery/dental_implant.dm index 3c645f240d484..674f5803f57be 100644 --- a/code/modules/surgery/dental_implant.dm +++ b/code/modules/surgery/dental_implant.dm @@ -1,9 +1,13 @@ +#define MARK_TOOTH 1 + /datum/surgery/dental_implant name = "Dental implant" possible_locs = list(BODY_ZONE_PRECISE_MOUTH) steps = list( /datum/surgery_step/drill/pill, /datum/surgery_step/insert_pill, + /datum/surgery_step/search_teeth, + /datum/surgery_step/close, ) /datum/surgery_step/drill/pill/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) @@ -84,3 +88,32 @@ item_target.reagents.trans_to(owner, item_target.reagents.total_volume, transferred_by = owner, methods = INGEST) qdel(target) return TRUE + +/datum/surgery_step/search_teeth + name = "search teeth (hand)" + accept_hand = TRUE + time = 2 SECONDS + repeatable = TRUE + +/datum/surgery_step/search_teeth/preop(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery) + display_results( + user, + target, + span_notice("You begin looking in [target]'s mouth for implantable teeth..."), + span_notice("[user] begins to look in [target]'s mouth."), + span_notice("[user] begins to examine [target]'s teeth."), + ) + display_pain(target, "You feel fingers poke around at your teeth.") + +/datum/surgery_step/search_teeth/success(mob/user, mob/living/carbon/target, target_zone, obj/item/tool, datum/surgery/surgery, default_display_results = FALSE) + display_results( + user, + target, + span_notice("[user] marks a tooth in [target]'s mouth."), + span_notice("[user] marks a tooth in [target]'s mouth."), + span_notice("[user] prods a tooth in [target]'s mouth."), + ) + surgery.status = MARK_TOOTH + return ..() + +#undef MARK_TOOTH diff --git a/code/modules/surgery/experimental_dissection.dm b/code/modules/surgery/experimental_dissection.dm index 69c246d9e8de5..95c952e7724d4 100644 --- a/code/modules/surgery/experimental_dissection.dm +++ b/code/modules/surgery/experimental_dissection.dm @@ -1,5 +1,5 @@ ///How many research points you gain from dissecting a Human. -#define BASE_HUMAN_REWARD 500 +#define BASE_HUMAN_REWARD 10 /datum/surgery/advanced/experimental_dissection name = "Experimental Dissection" diff --git a/code/modules/surgery/organs/internal/heart/heart_anomalock.dm b/code/modules/surgery/organs/internal/heart/heart_anomalock.dm new file mode 100644 index 0000000000000..e9da6197ed273 --- /dev/null +++ b/code/modules/surgery/organs/internal/heart/heart_anomalock.dm @@ -0,0 +1,201 @@ +/*! + * Contains Voltaic Combat Cyberheart + */ +#define DOAFTER_IMPLANTING_HEART "implanting" + +/obj/item/organ/internal/heart/cybernetic/anomalock + name = "Voltaic Combat Cyberheart" + desc = "A cutting-edge cyberheart, originally designed for Nanotrasen killsquad usage but later declassified for normal research. Voltaic technology allows the heart to keep the body upright in dire circumstances, alongside redirecting anomalous flux energy to fully shield the user from shocks and electro-magnetic pulses. Requires a refined Flux core as a power source." + icon_state = "anomalock_heart" + + COOLDOWN_DECLARE(survival_cooldown) + ///Cooldown for the activation of the organ + var/survival_cooldown_time = 5 MINUTES + ///The lightning effect on our mob when the implant is active + var/mutable_appearance/lightning_overlay + ///how long the lightning lasts + var/lightning_timer + + //---- Anomaly core variables: + ///The core item the organ runs off. + var/obj/item/assembly/signaler/anomaly/core + ///Accepted types of anomaly cores. + var/required_anomaly = /obj/item/assembly/signaler/anomaly/flux + ///If this one starts with a core in. + var/prebuilt = FALSE + ///If the core is removable once socketed. + var/core_removable = TRUE + +/obj/item/organ/internal/heart/cybernetic/anomalock/on_mob_insert(mob/living/carbon/organ_owner, special, movement_flags) + . = ..() + if(!core) + return + add_lightning_overlay(30 SECONDS) + playsound(organ_owner, 'sound/items/eshield_recharge.ogg', 40) + organ_owner.AddElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + organ_owner.apply_status_effect(/datum/status_effect/stabilized/yellow, src) + RegisterSignal(organ_owner, SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION), PROC_REF(activate_survival)) + RegisterSignal(organ_owner, COMSIG_ATOM_EMP_ACT, PROC_REF(on_emp_act)) + +/obj/item/organ/internal/heart/cybernetic/anomalock/on_mob_remove(mob/living/carbon/organ_owner, special) + . = ..() + if(!core) + return + UnregisterSignal(organ_owner, SIGNAL_ADDTRAIT(TRAIT_CRITICAL_CONDITION)) + organ_owner.RemoveElement(/datum/element/empprotection, EMP_PROTECT_SELF|EMP_PROTECT_CONTENTS) + organ_owner.remove_status_effect(/datum/status_effect/stabilized/yellow) + tesla_zap(source = organ_owner, zap_range = 20, power = 2.5e5, cutoff = 1e3) + qdel(src) + +/obj/item/organ/internal/heart/cybernetic/anomalock/attack(mob/living/target_mob, mob/living/user, params) + if(target_mob != user || !istype(target_mob) || !core) + return ..() + + if(DOING_INTERACTION(user, DOAFTER_IMPLANTING_HEART)) + return + user.balloon_alert(user, "this will hurt...") + to_chat(user, span_userdanger("Black cyberveins tear your skin apart, pulling the heart into your ribcage. This feels unwise..")) + if(!do_after(user, 5 SECONDS, interaction_key = DOAFTER_IMPLANTING_HEART)) + return ..() + playsound(target_mob, 'sound/weapons/slice.ogg', 100, TRUE) + user.temporarilyRemoveItemFromInventory(src, TRUE) + Insert(user) + user.apply_damage(100, BRUTE, BODY_ZONE_CHEST) + user.emote("scream") + return TRUE + +/obj/item/organ/internal/heart/cybernetic/anomalock/proc/on_emp_act(severity) + SIGNAL_HANDLER + add_lightning_overlay(10 SECONDS) + +/obj/item/organ/internal/heart/cybernetic/anomalock/proc/add_lightning_overlay(time_to_last = 10 SECONDS) + if(lightning_overlay) + lightning_timer = addtimer(CALLBACK(src, PROC_REF(clear_lightning_overlay)), time_to_last, (TIMER_UNIQUE|TIMER_OVERRIDE)) + return + lightning_overlay = mutable_appearance(icon = 'icons/effects/effects.dmi', icon_state = "lightning") + owner.add_overlay(lightning_overlay) + lightning_timer = addtimer(CALLBACK(src, PROC_REF(clear_lightning_overlay)), time_to_last, (TIMER_UNIQUE|TIMER_OVERRIDE)) + +/obj/item/organ/internal/heart/cybernetic/anomalock/proc/clear_lightning_overlay() + owner.cut_overlay(lightning_overlay) + lightning_overlay = null + +/obj/item/organ/internal/heart/cybernetic/anomalock/attack_self(mob/user, modifiers) + . = ..() + if(.) + return + + if(core) + return attack(user, user, modifiers) + +/obj/item/organ/internal/heart/cybernetic/anomalock/on_life(seconds_per_tick, times_fired) + . = ..() + if(owner.blood_volume <= BLOOD_VOLUME_NORMAL) + owner.blood_volume += 5 * seconds_per_tick + if(owner.health <= owner.crit_threshold) + activate_survival(owner) + +///Does a few things to try to help you live whatever you may be going through +/obj/item/organ/internal/heart/cybernetic/anomalock/proc/activate_survival(mob/living/carbon/organ_owner) + if(!COOLDOWN_FINISHED(src, survival_cooldown)) + return + + organ_owner.apply_status_effect(/datum/status_effect/voltaic_overdrive) + add_lightning_overlay(30 SECONDS) + COOLDOWN_START(src, survival_cooldown, survival_cooldown_time) + addtimer(CALLBACK(src, PROC_REF(notify_cooldown), organ_owner), COOLDOWN_TIMELEFT(src, survival_cooldown)) + +///Alerts our owner that the organ is ready to do its thing again +/obj/item/organ/internal/heart/cybernetic/anomalock/proc/notify_cooldown(mob/living/carbon/organ_owner) + balloon_alert(organ_owner, "your heart strenghtens") + playsound(organ_owner, 'sound/items/eshield_recharge.ogg', 40) + +///Returns the mob we are implanted in so that the electricity effect doesn't runtime +/obj/item/organ/internal/heart/cybernetic/anomalock/proc/get_held_mob() + return owner + +/obj/item/organ/internal/heart/cybernetic/anomalock/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(!istype(tool, required_anomaly)) + return NONE + if(core) + balloon_alert(user, "core already in!") + return ITEM_INTERACT_BLOCKING + if(!user.transferItemToLoc(tool, src)) + return ITEM_INTERACT_BLOCKING + core = tool + balloon_alert(user, "core installed") + playsound(src, 'sound/machines/click.ogg', 30, TRUE) + add_organ_trait(TRAIT_SHOCKIMMUNE) + update_icon_state() + return ITEM_INTERACT_SUCCESS + +/obj/item/organ/internal/heart/cybernetic/anomalock/screwdriver_act(mob/living/user, obj/item/tool) + . = ..() + if(!core) + balloon_alert(user, "no core!") + return + if(!core_removable) + balloon_alert(user, "can't remove core!") + return + balloon_alert(user, "removing core...") + if(!do_after(user, 3 SECONDS, target = src)) + balloon_alert(user, "interrupted!") + return + balloon_alert(user, "core removed") + core.forceMove(drop_location()) + if(Adjacent(user) && !issilicon(user)) + user.put_in_hands(core) + core = null + remove_organ_trait(TRAIT_SHOCKIMMUNE) + update_icon_state() + +/obj/item/organ/internal/heart/cybernetic/anomalock/update_icon_state() + . = ..() + icon_state = initial(icon_state) + (core ? "-core" : "") + +/obj/item/organ/internal/heart/cybernetic/anomalock/prebuilt/Initialize(mapload) + . = ..() + core = new /obj/item/assembly/signaler/anomaly/flux(src) + update_icon_state() + +/datum/status_effect/voltaic_overdrive + id = "voltaic_overdrive" + duration = 30 SECONDS + alert_type = /atom/movable/screen/alert/status_effect/anomalock_active + show_duration = TRUE + +/datum/status_effect/voltaic_overdrive/tick(seconds_between_ticks) + . = ..() + + if(owner.health <= owner.crit_threshold) + owner.heal_overall_damage(5, 5) + owner.adjustOxyLoss(-5) + owner.adjustToxLoss(-5) + +/datum/status_effect/voltaic_overdrive/on_apply() + . = ..() + owner.add_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) + REMOVE_TRAIT(src, TRAIT_CRITICAL_CONDITION, STAT_TRAIT) + owner.reagents.add_reagent(/datum/reagent/medicine/coagulant, 5) + owner.add_filter("emp_shield", 2, outline_filter(1, "#639BFF")) + to_chat(owner, span_revendanger("You feel a burst of energy! It's do or die!")) + if(iscarbon(owner)) + var/mob/living/carbon/carbon_owner = owner + carbon_owner.gain_trauma(/datum/brain_trauma/special/tenacity, TRAUMA_RESILIENCE_ABSOLUTE) + +/datum/status_effect/voltaic_overdrive/on_remove() + . = ..() + owner.remove_movespeed_mod_immunities(type, /datum/movespeed_modifier/damage_slowdown) + owner.remove_filter("emp_shield") + owner.balloon_alert(owner, "your heart weakens") + if(iscarbon(owner)) + var/mob/living/carbon/carbon_owner = owner + carbon_owner.cure_trauma_type(/datum/brain_trauma/special/tenacity, TRAUMA_RESILIENCE_ABSOLUTE) + + +/atom/movable/screen/alert/status_effect/anomalock_active + name = "voltaic overdrive" + icon_state = "anomalock_heart" + desc = "Voltaic energy is flooding your muscles, keeping your body upright. You have 30 seconds before it falters!" + +#undef DOAFTER_IMPLANTING_HEART diff --git a/code/modules/unit_tests/_unit_tests.dm b/code/modules/unit_tests/_unit_tests.dm index 3fc6db542196e..d164bca069dab 100644 --- a/code/modules/unit_tests/_unit_tests.dm +++ b/code/modules/unit_tests/_unit_tests.dm @@ -127,6 +127,7 @@ #include "container_sanity.dm" #include "crayons.dm" #include "create_and_destroy.dm" +#include "cyborg_tool.dm" #include "dcs_check_list_arguments.dm" #include "dcs_get_id_from_elements.dm" #include "designs.dm" @@ -179,6 +180,7 @@ #include "map_landmarks.dm" #include "mapload_space_verification.dm" #include "mapping.dm" +#include "mapping_nearstation_test.dm" #include "mecha_damage.dm" #include "medical_wounds.dm" #include "merge_type.dm" @@ -255,6 +257,7 @@ #include "spell_mindswap.dm" #include "spell_names.dm" #include "spell_shapeshift.dm" +#include "spell_timestop.dm" #include "spies.dm" #include "spritesheets.dm" #include "stack_singular_name.dm" diff --git a/code/modules/unit_tests/cyborg_tool.dm b/code/modules/unit_tests/cyborg_tool.dm new file mode 100644 index 0000000000000..711f0948aee0f --- /dev/null +++ b/code/modules/unit_tests/cyborg_tool.dm @@ -0,0 +1,20 @@ +/// Regression test for the cyborg omnitool to ensure it goes through proper channels +/datum/unit_test/cyborg_tool + var/times_wrenched = 0 + +/datum/unit_test/cyborg_tool/Run() + var/mob/living/carbon/human/consistent/not_a_borg = allocate(__IMPLIED_TYPE__) + var/obj/item/borg/cyborg_omnitool/engineering/tool = allocate(__IMPLIED_TYPE__) + tool.selected = allocate(/obj/item/wrench/cyborg) + + not_a_borg.put_in_active_hand(tool) + + var/obj/structure/frame/machine/frame = allocate(__IMPLIED_TYPE__) + RegisterSignal(frame, COMSIG_ATOM_TOOL_ACT(TOOL_WRENCH), PROC_REF(wrenched)) + + not_a_borg.ClickOn(frame) + TEST_ASSERT_EQUAL(times_wrenched, 1, "Wrenching the frame with a cyborg omnitool should have triggered the wrenched signal") + +/datum/unit_test/cyborg_tool/proc/wrenched(...) + SIGNAL_HANDLER + times_wrenched += 1 diff --git a/code/modules/unit_tests/mapload_space_verification.dm b/code/modules/unit_tests/mapload_space_verification.dm index 35556c85fb482..843de4f8fdde2 100644 --- a/code/modules/unit_tests/mapload_space_verification.dm +++ b/code/modules/unit_tests/mapload_space_verification.dm @@ -32,6 +32,8 @@ var/area/turf_area = get_area(iterated_turf) if(!isspaceturf(iterated_turf) || is_type_in_typecache(turf_area, excluded_area_typecache)) continue // Alright, so let's assume we have intended behavior. If something yorks, we'll get a bare `/area` (maploader?) or a mapper is doing something they shouldn't be doing. + if(HAS_TRAIT(iterated_turf, TRAIT_HYPERSPACE_STOPPED)) + continue // This means that a shuttle with a noop template turf is just temporarily parked ontop of us and that we're not actually a part of it. We don't have to care about it as it will leave us alone when it flies away. // We need turf_area.type for the error message because we have fifteen million ruin areas named "Unexplored Location" and it's completely unhelpful here. TEST_FAIL("Space turf [iterated_turf.type] found in non-allowed area ([turf_area.type]) at [AREACOORD(iterated_turf)]! Please ensure that all space turfs are in an /area/space!") diff --git a/code/modules/unit_tests/mapping_nearstation_test.dm b/code/modules/unit_tests/mapping_nearstation_test.dm new file mode 100644 index 0000000000000..d428b826634b5 --- /dev/null +++ b/code/modules/unit_tests/mapping_nearstation_test.dm @@ -0,0 +1,40 @@ +///Detects movables that may have been accidentally placed in space, as well as movables which do not have the proper nearspace area (meaning they aren't lit properly.) +/datum/unit_test/mapping_nearstation_test + priority = TEST_PRE + +/datum/unit_test/mapping_nearstation_test/Run() + if(SSmapping.is_planetary()) + return //No need to test for orphaned spaced atoms on this map. + + var/list/safe_atoms = typecacheof(list( + /atom/movable/mirage_holder, + /obj/docking_port, + /obj/effect/landmark, + /obj/effect/abstract, + /obj/effect/mapping_error, + )) //Mapping stuff that we don't actually have to be concerned about. + var/list/safe_areas = typecacheof(list( + /area/misc/testroom, + /area/station/holodeck, + )) + + for(var/station_z in SSmapping.levels_by_trait(ZTRAIT_STATION)) + var/list/turfs_to_check = Z_TURFS(station_z) + for(var/turf/station_turf as anything in turfs_to_check) + var/area/turf_area = station_turf.loc + if(turf_area.static_lighting || is_type_in_typecache(turf_area, safe_areas)) //Only care about turfs that don't have lighting enabled. + continue + var/has_thing = FALSE + for(var/atom/movable/thing_on_the_turf as anything in station_turf.contents) //Find an item on the turf, this can help the mapper identify the turf more easily when combined with the exact coords. + if(is_type_in_typecache(thing_on_the_turf, safe_atoms)) + continue + TEST_FAIL("[station_turf.x], [station_turf.y], [station_turf.z]: [thing_on_the_turf.type] with area of type [turf_area.type]") + has_thing = TRUE + break + if(!has_thing && !isspaceturf(station_turf) && !istype(station_turf, /turf/open/openspace)) //In case it's just a turf without an area + if(istype(station_turf, /turf/open/floor/engine/hull/ceiling)) + TEST_FAIL("[station_turf.x], [station_turf.y], [station_turf.z]: [station_turf.type] with area of type [turf_area.type]. The turf on the z-level below is a shuttle dock and generated me! An error landmark has been generated on the map for easier debugging!") + else + TEST_FAIL("[station_turf.x], [station_turf.y], [station_turf.z]: [station_turf.type] with area of type [turf_area.type]") + if(!succeeded) + TEST_FAIL("Movable Atom located without a proper area. Please verify they are supposed to be there. If they are correct, change the area to /area/space/nearstation (or the correct surrounding type).") diff --git a/code/modules/unit_tests/outfit_sanity.dm b/code/modules/unit_tests/outfit_sanity.dm index 554d226ed2e72..36fc4570540f4 100644 --- a/code/modules/unit_tests/outfit_sanity.dm +++ b/code/modules/unit_tests/outfit_sanity.dm @@ -16,7 +16,7 @@ uniform = /obj/item/clothing/under/suit/tuxedo glasses = /obj/item/clothing/glasses/sunglasses - mask = /obj/item/clothing/mask/cigarette/cigar/havana + mask = /obj/item/cigarette/cigar/havana shoes = /obj/item/clothing/shoes/laceup l_hand = /obj/item/stack/spacecash/c1000 r_hand = /obj/item/stack/spacecash/c1000 @@ -25,19 +25,19 @@ /datum/outfit/duffel_user name = "Mr. Runtime" back = /obj/item/storage/backpack/duffelbag - backpack_contents = list(/obj/item/clothing/mask/cigarette/cigar/havana) + backpack_contents = list(/obj/item/cigarette/cigar/havana) /// Satchels too /datum/outfit/stachel_user name = "Mr. Runtime" back = /obj/item/storage/backpack/satchel - backpack_contents = list(/obj/item/clothing/mask/cigarette/cigar/havana) + backpack_contents = list(/obj/item/cigarette/cigar/havana) /// And just in case we'll check backpacks /datum/outfit/backpack_user name = "Mr. Runtime" back = /obj/item/storage/backpack - backpack_contents = list(/obj/item/clothing/mask/cigarette/cigar/havana) + backpack_contents = list(/obj/item/cigarette/cigar/havana) /datum/unit_test/outfit_sanity/Run() var/datum/outfit/prototype_outfit = /datum/outfit diff --git a/code/modules/unit_tests/simple_animal_freeze.dm b/code/modules/unit_tests/simple_animal_freeze.dm index 706fe290cccf4..2f4f7a4b70ae7 100644 --- a/code/modules/unit_tests/simple_animal_freeze.dm +++ b/code/modules/unit_tests/simple_animal_freeze.dm @@ -6,7 +6,6 @@ // If you are refactoring a simple_animal, REMOVE it from this list var/list/allowed_types = list( /mob/living/simple_animal/bot, - /mob/living/simple_animal/bot/firebot, /mob/living/simple_animal/bot/floorbot, /mob/living/simple_animal/bot/mulebot, /mob/living/simple_animal/bot/mulebot/paranormal, @@ -58,6 +57,7 @@ /mob/living/simple_animal/hostile/megafauna/legion/medium/right, /mob/living/simple_animal/hostile/megafauna/legion/small, /mob/living/simple_animal/hostile/megafauna/wendigo, + /mob/living/simple_animal/hostile/megafauna/wendigo/noportal, /mob/living/simple_animal/hostile/mimic, /mob/living/simple_animal/hostile/mimic/copy, /mob/living/simple_animal/hostile/mimic/copy/machine, diff --git a/code/modules/unit_tests/spell_timestop.dm b/code/modules/unit_tests/spell_timestop.dm new file mode 100644 index 0000000000000..f02900f7f8e77 --- /dev/null +++ b/code/modules/unit_tests/spell_timestop.dm @@ -0,0 +1,30 @@ +/// Regression test for timestop being a 3x3 instead of a 5x5 +/datum/unit_test/timestop + +/datum/unit_test/timestop/Run() + var/mob/living/carbon/human/dio = allocate(/mob/living/carbon/human/consistent) + var/mob/living/carbon/human/kakyoin = allocate(/mob/living/carbon/human/consistent) + var/mob/living/carbon/human/jotaro = allocate(/mob/living/carbon/human/consistent) + + var/turf/center = run_loc_floor_bottom_left + var/turf/in_range = locate(center.x + 2, center.y + 2, center.z) + var/turf/out_of_range = locate(in_range.x + 1, in_range.y + 1, in_range.z) + + dio.forceMove(center) + kakyoin.forceMove(in_range) + jotaro.forceMove(out_of_range) + + var/datum/action/cooldown/spell/timestop/timestop = new(dio) + timestop.spell_requirements = NONE + timestop.Grant(dio) + timestop.Trigger() + var/obj/effect/timestop/time_effect = locate() in center + TEST_ASSERT(time_effect, "Failed to create timestop effect") + sleep(0.1 SECONDS) // timestop is invoked async so let's just wait + + TEST_ASSERT(!dio.IsStun(), "Timestopper should not have frozen themselves when using timestop") + TEST_ASSERT(kakyoin.IsStun(), "Timestopper should have frozen the target within 2 tiles of range when using timestop") + TEST_ASSERT(!jotaro.IsStun(), "Timestopper should not have frozen the target outside of 2 tiles of range when using timestop") + + // cleanup + qdel(time_effect) diff --git a/code/modules/vehicles/mecha/_mecha.dm b/code/modules/vehicles/mecha/_mecha.dm index f36beee83cd77..32aa4f1f7a309 100644 --- a/code/modules/vehicles/mecha/_mecha.dm +++ b/code/modules/vehicles/mecha/_mecha.dm @@ -16,6 +16,7 @@ * Clicks are wither translated into mech_melee_attack (see mech_melee_attack.dm) * Or are used to call action() on equipped gear * Cooldown for gear is on the mech because exploits + * Cooldown for melee is on mech_melee_attack also because exploits */ /obj/vehicle/sealed/mecha name = "exosuit" @@ -28,7 +29,6 @@ movedelay = 1 SECONDS move_force = MOVE_FORCE_VERY_STRONG move_resist = MOVE_FORCE_EXTREMELY_STRONG - COOLDOWN_DECLARE(mecha_bump_smash) light_system = OVERLAY_LIGHT_DIRECTIONAL light_on = FALSE light_range = 6 @@ -139,7 +139,7 @@ var/turnsound = 'sound/mecha/mechturn.ogg' ///Cooldown duration between melee punches - var/melee_cooldown = 10 + var/melee_cooldown = CLICK_CD_SLOW ///TIme taken to leave the mech var/exit_delay = 2 SECONDS @@ -194,9 +194,6 @@ ///Wether we are strafing var/strafe = FALSE - ///Cooldown length between bumpsmashes - var/smashcooldown = 3 - ///Bool for whether this mech can only be used on lavaland var/lavaland_only = FALSE @@ -703,10 +700,9 @@ return use_energy(melee_energy_drain) - SEND_SIGNAL(user, COMSIG_MOB_USED_MECH_MELEE, src) - target.mech_melee_attack(src, user) - TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MELEE_ATTACK, melee_cooldown) - + SEND_SIGNAL(user, COMSIG_MOB_USED_CLICK_MECH_MELEE, src) + if(target.mech_melee_attack(src, user)) + TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MELEE_ATTACK, melee_cooldown) /// Driver alt clicks anything while in mech /obj/vehicle/sealed/mecha/proc/on_click_alt(mob/user, atom/target, params) diff --git a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm index d13b90e5659f7..5b50ac935236b 100644 --- a/code/modules/vehicles/mecha/equipment/weapons/weapons.dm +++ b/code/modules/vehicles/mecha/equipment/weapons/weapons.dm @@ -4,14 +4,22 @@ equipment_slot = MECHA_WEAPON destroy_sound = 'sound/mecha/weapdestr.ogg' mech_flags = EXOSUIT_MODULE_COMBAT + /// The type of bullet generated by the mecha weapon. var/projectile + /// The sound of the mecha weapon firing. var/fire_sound + /// How many shots are fired per action. var/projectiles_per_shot = 1 + /// The degrees by which each individual bullet fans out from a central point. A predictable spray of bullets. var/variance = 0 - var/randomspread = FALSE //use random spread for machineguns, instead of shotgun scatter + /// Whether our bullets go off trajectory while firing randomly. Used to replicate recoil and not a structured, predictable spray. + var/randomspread = FALSE + /// The amount in deciseconds that the weapon sleeps between shots to simulate a 'burst fire'. The delay stops another bullet from being fired while sleeping. var/projectile_delay = 0 - var/firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect //the visual effect appearing when the weapon is fired. - var/kickback = TRUE //Will using this weapon in no grav push mecha back. + //the visual effect appearing when the weapon is fired. + var/firing_effect_type = /obj/effect/temp_visual/dir_setting/firing_effect + /// Will using this weapon in no grav push mecha back. + var/kickback = TRUE /obj/item/mecha_parts/mecha_equipment/weapon/special_attaching_interaction(attach_right = FALSE, obj/vehicle/sealed/mecha/mech, mob/user, checkonly = FALSE) var/obj/item/mecha_parts/mecha_equipment/concealed_weapon_bay/bay @@ -43,17 +51,19 @@ /obj/item/mecha_parts/mecha_equipment/weapon/action(mob/source, atom/target, list/modifiers) if(!action_checks(target)) return FALSE + + /// Find our mecha, find the opposite direction. Used for kickback while the mecha is drifting in zero-g to launch us in this direction. var/newtonian_target = REVERSE_DIR(chassis.dir) . = ..()//start the cooldown early because of sleeps - for(var/i in 1 to projectiles_per_shot) + for(var/projectiles_to_shoot in 1 to projectiles_per_shot) if(energy_drain && !chassis.has_charge(energy_drain))//in case we run out of energy mid-burst, such as emp break var/spread = 0 if(variance) if(randomspread) - spread = round((rand() - 0.5) * variance) + spread = round((rand(0 , 1) - 0.5) * variance, 1) else - spread = round((i / projectiles_per_shot - 0.5) * variance) + spread = round((projectiles_to_shoot / projectiles_per_shot - 0.5) * variance, 1) var/obj/projectile/projectile_obj = new projectile(get_turf(src)) projectile_obj.log_override = TRUE //we log being fired ourselves a little further down. diff --git a/code/modules/vehicles/mecha/mech_fabricator.dm b/code/modules/vehicles/mecha/mech_fabricator.dm index 47c116cbc6029..33edb9e47c777 100644 --- a/code/modules/vehicles/mecha/mech_fabricator.dm +++ b/code/modules/vehicles/mecha/mech_fabricator.dm @@ -49,12 +49,20 @@ /// All designs in the techweb that can be fabricated by this machine, since the last update. var/list/datum/design/cached_designs + //looping sound for printing items + var/datum/looping_sound/lathe_print/print_sound + /obj/machinery/mecha_part_fabricator/Initialize(mapload) + print_sound = new(src, FALSE) rmat = AddComponent(/datum/component/remote_materials, mapload && link_on_init) cached_designs = list() RefreshParts() //Recalculating local material sizes if the fab isn't linked return ..() +/obj/machinery/mecha_part_fabricator/Destroy() + QDEL_NULL(print_sound) + return ..() + /obj/machinery/mecha_part_fabricator/post_machine_initialize() . = ..() if(!CONFIG_GET(flag/no_default_techweb_link) && !stored_research) @@ -163,7 +171,7 @@ /obj/machinery/mecha_part_fabricator/proc/on_start_printing() add_overlay("fab-active") update_use_power(ACTIVE_POWER_USE) - + print_sound.start() /** * Intended to be called when the exofab has stopped working and is no longer printing items. * @@ -174,6 +182,7 @@ update_use_power(IDLE_POWER_USE) desc = initial(desc) process_queue = FALSE + print_sound.stop() /** * Attempts to build the next item in the build queue. diff --git a/code/modules/vehicles/mecha/mech_melee_attack.dm b/code/modules/vehicles/mecha/mech_melee_attack.dm index 08669ebdd0ca8..e5c7b0aac72f3 100644 --- a/code/modules/vehicles/mecha/mech_melee_attack.dm +++ b/code/modules/vehicles/mecha/mech_melee_attack.dm @@ -2,7 +2,7 @@ * ## Mech melee attack * Called when a mech melees a target with fists * Handles damaging the target & associated effects - * return value is number of damage dealt + * return value is number of damage dealt. returning a value puts our mech onto attack cooldown. * Arguments: * * mecha_attacker: Mech attacking this target * * user: mob that initiated the attack from inside the mech as a controller @@ -14,6 +14,9 @@ return 0 /turf/closed/wall/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) + if(!user.combat_mode) + return 0 + mecha_attacker.do_attack_animation(src) switch(mecha_attacker.damtype) if(BRUTE) @@ -31,7 +34,26 @@ ..() return 100 //this is an arbitrary "damage" number since the actual damage is rng dismantle -/obj/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) +/obj/structure/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) + if(!user.combat_mode) + return 0 + + mecha_attacker.do_attack_animation(src) + switch(mecha_attacker.damtype) + if(BRUTE) + playsound(src, 'sound/weapons/punch4.ogg', 50, TRUE) + if(BURN) + playsound(src, 'sound/items/welder.ogg', 50, TRUE) + else + return 0 + mecha_attacker.visible_message(span_danger("[mecha_attacker] hits [src]!"), span_danger("You hit [src]!"), null, COMBAT_MESSAGE_RANGE) + ..() + return take_damage(mecha_attacker.force * 3, mecha_attacker.damtype, "melee", FALSE, get_dir(src, mecha_attacker)) // multiplied by 3 so we can hit objs hard but not be overpowered against mobs. + +/obj/machinery/mech_melee_attack(obj/vehicle/sealed/mecha/mecha_attacker, mob/living/user) + if(!user.combat_mode) + return 0 + mecha_attacker.do_attack_animation(src) switch(mecha_attacker.damtype) if(BRUTE) diff --git a/code/modules/vehicles/mecha/mecha_movement.dm b/code/modules/vehicles/mecha/mecha_movement.dm index 53e61690aba7f..3c743bd7fb357 100644 --- a/code/modules/vehicles/mecha/mecha_movement.dm +++ b/code/modules/vehicles/mecha/mecha_movement.dm @@ -154,13 +154,17 @@ return if(.) //mech was thrown/door/whatever return - if(bumpsmash) //Need a pilot to push the PUNCH button. - if(COOLDOWN_FINISHED(src, mecha_bump_smash)) - var/list/mob/mobster = return_drivers() - obstacle.mech_melee_attack(src, mobster[1]) - COOLDOWN_START(src, mecha_bump_smash, smashcooldown) - if(!obstacle || obstacle.CanPass(src, get_dir(obstacle, src) || dir)) // The else is in case the obstacle is in the same turf. - step(src,dir) + + // Whether or not we're on our mecha melee cooldown + var/on_cooldown = TIMER_COOLDOWN_RUNNING(src, COOLDOWN_MECHA_MELEE_ATTACK) + + if(bumpsmash && !on_cooldown) + // Our pilot for this evening + var/list/mob/mobster = return_drivers() + if(obstacle.mech_melee_attack(src, mobster[1])) + TIMER_COOLDOWN_START(src, COOLDOWN_MECHA_MELEE_ATTACK, melee_cooldown * 0.3) + if(!obstacle || obstacle.CanPass(src, get_dir(obstacle, src) || dir)) // The else is in case the obstacle is in the same turf. + step(src,dir) if(isobj(obstacle)) var/obj/obj_obstacle = obstacle if(!obj_obstacle.anchored && obj_obstacle.move_resist <= move_force) diff --git a/code/modules/vending/cigarette.dm b/code/modules/vending/cigarette.dm index ddcfd9bb244d9..61379e5635468 100644 --- a/code/modules/vending/cigarette.dm +++ b/code/modules/vending/cigarette.dm @@ -17,7 +17,7 @@ /obj/item/storage/fancy/rollingpapers = 5, ) contraband = list( - /obj/item/clothing/mask/vape = 5, + /obj/item/vape = 5, ) premium = list( /obj/item/storage/fancy/cigarettes/cigpack_robustgold = 3, @@ -66,7 +66,7 @@ ) premium = list( /obj/item/storage/fancy/cigarettes/cigpack_mindbreaker = 5, - /obj/item/clothing/mask/vape = 5, + /obj/item/vape = 5, /obj/item/lighter = 3, ) initial_language_holder = /datum/language_holder/beachbum diff --git a/code/modules/wiremod/shell/controller.dm b/code/modules/wiremod/shell/controller.dm index 9afe0303be85e..126cc8894368f 100644 --- a/code/modules/wiremod/shell/controller.dm +++ b/code/modules/wiremod/shell/controller.dm @@ -81,6 +81,9 @@ */ /obj/item/circuit_component/controller/proc/send_right_signal(atom/source, mob/user) SIGNAL_HANDLER - if(!user.Adjacent(source)) + + if(!user.can_perform_action(source)) return + handle_trigger(source, user, "extra", right) + return CLICK_ACTION_SUCCESS diff --git a/code/modules/wiremod/shell/drone.dm b/code/modules/wiremod/shell/drone.dm index 4627a3cf32624..d2922274b7dab 100644 --- a/code/modules/wiremod/shell/drone.dm +++ b/code/modules/wiremod/shell/drone.dm @@ -9,7 +9,7 @@ icon_state = "setup_medium_med" maxHealth = 300 health = 300 - living_flags = 0 + living_flags = NONE light_system = OVERLAY_LIGHT_DIRECTIONAL light_on = FALSE diff --git a/html/changelogs/AutoChangeLog-pr-83811.yml b/html/changelogs/AutoChangeLog-pr-83811.yml deleted file mode 100644 index 2aaf9471f4b48..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-83811.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "mc-oofert" -delete-after: True -changes: - - qol: "space dragon can see in the dark and the invalid rift location alert is more informative" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-83831.yml b/html/changelogs/AutoChangeLog-pr-83831.yml deleted file mode 100644 index b3e655a55ddf2..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-83831.yml +++ /dev/null @@ -1,7 +0,0 @@ -author: "carlarctg" -delete-after: True -changes: - - bugfix: "There's now a limit to how many dental implants you can cram into your mouth, which is governed by your species' teeth limit." - - refactor: "Most species have 32 teeth, due to being based on humans, weirding me out when thinking about their teeth, or lack of enough information" - - refactor: "Moths and flypeople have NO teeth. They CAN'T get dental implants. I'm NERFING moths." - - refactor: "Lizards have seventy-five (!!!) teeth. Lizards are weird." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84043.yml b/html/changelogs/AutoChangeLog-pr-84043.yml deleted file mode 100644 index 5397404f75b8d..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84043.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "mc-oofert" -delete-after: True -changes: - - bugfix: "durand shield doesnt immediately depower the mech when taking stamina damage" - - balance: "durand shield is a bit stronger" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84072.yml b/html/changelogs/AutoChangeLog-pr-84072.yml deleted file mode 100644 index c36813ba598d8..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84072.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "GPeckman" -delete-after: True -changes: - - bugfix: "Analyzers should work on bioscrambler anomalies again." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84075.yml b/html/changelogs/AutoChangeLog-pr-84075.yml deleted file mode 100644 index 427cc4f1ae6d0..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84075.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "GoblinBackwards" -delete-after: True -changes: - - bugfix: "Interacting with an assembly bomb in hand will now allow you to interact with the attached assembly instead of opening the gas tank UI. Right-clicking will display the gas tank UI instead." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84079.yml b/html/changelogs/AutoChangeLog-pr-84079.yml deleted file mode 100644 index f191e2ef2cfad..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84079.yml +++ /dev/null @@ -1,6 +0,0 @@ -author: "Watermelon, Mayhazah" -delete-after: True -changes: - - balance: "Drastically reduces the power consumption and max charge of power cells" - - balance: "Added a new stock part called the battery, used primarily in the construction of APCs and SMESs." - - rscadd: "Suiciding with a cell/battery will shock you and potentially dust you/shock the people around you if the charge is great enough." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84135.yml b/html/changelogs/AutoChangeLog-pr-84135.yml deleted file mode 100644 index b503e29e311d5..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84135.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Guestify" -delete-after: True -changes: - - bugfix: "The visor of the welding mask no longer goes down when you enable internals" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84143.yml b/html/changelogs/AutoChangeLog-pr-84143.yml deleted file mode 100644 index 68b36d831d4f6..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84143.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Ben10Omintrix" -delete-after: True -changes: - - refactor: "vibebots are not basic bots" - - rscadd: "vibebots will now seek out the depressed and cheer them up" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84144.yml b/html/changelogs/AutoChangeLog-pr-84144.yml new file mode 100644 index 0000000000000..4435e9f594361 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-84144.yml @@ -0,0 +1,5 @@ +author: "DaCoolBoss" +delete-after: True +changes: + - rscadd: "Ghost role food truck merchants may occasionally turn up at the station." + - rscadd: "Adds a new fugitive hunter type, MI13 secret agents." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84232.yml b/html/changelogs/AutoChangeLog-pr-84232.yml deleted file mode 100644 index def406abaac4a..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84232.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "mc-oofert" -delete-after: True -changes: - - rscadd: "wawastation stand-in shuttle" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84278.yml b/html/changelogs/AutoChangeLog-pr-84278.yml deleted file mode 100644 index e29caa1b8963f..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84278.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "hyperjll" -delete-after: True -changes: - - balance: "Thanks to incredible strides in selective slime breeding, slimes require substantially less nutrients to grow into adults, and split into children." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84279.yml b/html/changelogs/AutoChangeLog-pr-84279.yml deleted file mode 100644 index 9fcd48259c7bb..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84279.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "jlsnow301" -delete-after: True -changes: - - rscadd: "Bitrunning: You can now choose your hacker alias in prefs." - - rscadd: "Bit avatars get orbit icons." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84282.yml b/html/changelogs/AutoChangeLog-pr-84282.yml deleted file mode 100644 index fe26b6cb2c010..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-84282.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SmArtKar" -delete-after: True -changes: - - bugfix: "RND console now properly rounds research points" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84379.yml b/html/changelogs/AutoChangeLog-pr-84379.yml new file mode 100644 index 0000000000000..f50ab9c9172aa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-84379.yml @@ -0,0 +1,7 @@ +author: "MTandi" +delete-after: True +changes: + - qol: "It is easier to do some required techweb experiments on Charlie station now" + - bugfix: "Fixed experimental dissection surgeries giving too many points" + - balance: "Techweb: Moved NTNet relay back to tcomms node" + - balance: "Techweb: Moved blood pack and chem pack to the starting node" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84417.yml b/html/changelogs/AutoChangeLog-pr-84417.yml new file mode 100644 index 0000000000000..ba8600075a5aa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-84417.yml @@ -0,0 +1,4 @@ +author: "GremlinSeeker" +delete-after: True +changes: + - bugfix: "fixed Birdshot bar and surrounding areas not properly connected to the power grid." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84418.yml b/html/changelogs/AutoChangeLog-pr-84418.yml new file mode 100644 index 0000000000000..96f0d7f7b7c43 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-84418.yml @@ -0,0 +1,5 @@ +author: "MrDas" +delete-after: True +changes: + - bugfix: "Bolas now slowdown properly." + - bugfix: "Cult bolas no longer leave in-hand sprite when they ensnare to non-cult user." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84423.yml b/html/changelogs/AutoChangeLog-pr-84423.yml new file mode 100644 index 0000000000000..ff3e09efedbf6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-84423.yml @@ -0,0 +1,4 @@ +author: "bob-b-b" +delete-after: True +changes: + - rscadd: "Added flatpacker & multitool to all R&D labs" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84425.yml b/html/changelogs/AutoChangeLog-pr-84425.yml new file mode 100644 index 0000000000000..93229357e8cfa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-84425.yml @@ -0,0 +1,5 @@ +author: "DaCoolBoss" +delete-after: True +changes: + - bugfix: "Removed three traitor posters from Cargo Warehouse's walls. (Metastation)" + - balance: "Added one traitor poster each to the QM's Office, Vault and Evidence Storage to compensate. (Metastation)" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-84452.yml b/html/changelogs/AutoChangeLog-pr-84452.yml new file mode 100644 index 0000000000000..66b0f2f96b06f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-84452.yml @@ -0,0 +1,4 @@ +author: "Sosmaster9000" +delete-after: True +changes: + - balance: "Xenobiologists now have a BZ-filled containment pen. Don't breathe that!\nbalance:Some items which either cannot be printed elsewhere or are part of game progression (e.g. teleporter endpoints and, of course, Nanners) have been moved. Alien Spawnpoints are in the same spot." \ No newline at end of file diff --git a/html/changelogs/archive/2024-06.yml b/html/changelogs/archive/2024-06.yml index 267b8ab773265..100647af4323c 100644 --- a/html/changelogs/archive/2024-06.yml +++ b/html/changelogs/archive/2024-06.yml @@ -1153,3 +1153,265 @@ the window, making them nearly impossible to read. zxaber: - bugfix: Refactored borg omnitool code, fixing most of the unique interaction issues. +2024-06-26: + Ben10Omintrix: + - refactor: vibebots are not basic bots + - rscadd: vibebots will now seek out the depressed and cheer them up + FlufflesTheDog: + - bugfix: multi-z hole repair works better, especially when the turf below is blocked + by items + GPeckman: + - bugfix: Analyzers should work on bioscrambler anomalies again. + GoblinBackwards: + - bugfix: Interacting with an assembly bomb in hand will now allow you to interact + with the attached assembly instead of opening the gas tank UI. Right-clicking + will display the gas tank UI instead. + Guestify: + - bugfix: The visor of the welding mask no longer goes down when you enable internals + NewyearnewmeUwu: + - qol: ' The xenobio console''s monkey placing command also clears dead monkeys + on the tile.' + SmArtKar: + - bugfix: Spraycans can once more paint things. + - bugfix: RND console now properly rounds research points + SyncIt21: + - bugfix: alt click runtime no more when using style meter + - code_imp: improved alt & ctrl click code + Vekter: + - balance: The Event Horizon Anti-Existential Beam Rifle now requires Unregulated + Bluespace Research to be constructed. + Watermelon, Mayhazah: + - balance: Drastically reduces the power consumption and max charge of power cells + - balance: Added a new stock part called the battery, used primarily in the construction + of APCs and SMESs. + - rscadd: Suiciding with a cell/battery will shock you and potentially dust you/shock + the people around you if the charge is great enough. + carlarctg: + - bugfix: There's now a limit to how many dental implants you can cram into your + mouth, which is governed by your species' teeth limit. + - refactor: Most species have 32 teeth, due to being based on humans, weirding me + out when thinking about their teeth, or lack of enough information + - refactor: Moths and flypeople have NO teeth. They CAN'T get dental implants. I'm + NERFING moths. + - refactor: Lizards have seventy-five (!!!) teeth. Lizards are weird. + hyperjll: + - balance: Thanks to incredible strides in selective slime breeding, slimes require + substantially less nutrients to grow into adults, and split into children. + jlsnow301: + - rscadd: 'Bitrunning: You can now choose your hacker alias in prefs.' + - rscadd: Bit avatars get orbit icons. + mc-oofert: + - qol: space dragon can see in the dark and the invalid rift location alert is more + informative + - rscadd: wawastation stand-in shuttle + - bugfix: durand shield doesnt immediately depower the mech when taking stamina + damage + - balance: durand shield is a bit stronger +2024-06-28: + Ben10Omintrix: + - refactor: firebots are now basic bots + Deadgebert: + - rscadd: Crystallizer boards added to Delta and Tram HFR rooms + GPeckman: + - bugfix: Protolathes/Circuit Imprinters/Techfabs with better parts should now print + items faster again. + GremlinSeeker: + - bugfix: Fixed disconnected APC on birdshot and other minor service fixes. + Kapu1178: + - bugfix: MODsuit pathfinder module works. Again. + - code_imp: AI pathfinding should produce slightly better paths. + MTandi: + - rscdel: Removed tank dispenser UI to use left/right clicks instead + - rscadd: There is a chance that Spess Knife will be in a mail for engi and clowns + - qol: Updated Microscope UI + - qol: Microscope is easier to use - you can remove dish with right click and swap + dishes + Melbert: + - bugfix: Fixed cyborg omnitools being unusable on some things + - bugfix: Fix timestop being 1 tile too small again, and fixes a lot of other field + effects from being 1-small as well + - sound: Glug-glug sound when dragging a leaking gas tank + - bugfix: Lizards and Moths don't deathgasp twice when they die + Melberte: + - rscadd: Cool Sword Cursor Maintenance App + ShizCalev, SpaceLove: + - refactor: Techweb strings are defined now so to maintain modularity + - balance: Research papers will have less overall point generation. + SmArtKar: + - bugfix: Retracted pens can be put into PDAs + SyncIt21: + - qol: adds examines, screentips & balloon alerts for flatpacker, flatpack box & + cart + - qol: adds correct material colour insertion animation for flat packer, continuous + progress bar animation during printing + - qol: flat packer has a separate icon when you open its maintenance panel, eject + button is disabled when no board is inserted + - qol: ejecting the board will place it in your hand, use ctrl click shortcut to + eject board from flatpacker + - bugfix: you cannot deploy a flat packed box on a turf that has dense objects(like + other flat packed boxes & such) + - bugfix: you cannot insert hologram/abstract items into a flat packer or flatpack + cart, also can hit them with any objects when in combat mode + - bugfix: you can deconstruct a flat packer with a crowbar after opening its maintenance + panel + - bugfix: correct cost of the design scaled with `creation_coefficiency` is displayed + in the UI + - code_imp: overall improved code quality of all things flat pack related + - bugfix: actions buttons can be dragged anywhere again + Viralmilk22: + - rscadd: Shifted up the service departments on Birdshot. + - rscadd: Added an arcade. + alien3301: + - balance: Mediborg surgical omnitool upgrade makes the health analyzer advanced + carlarctg: + - bugfix: Fixed hunger affecting your speed in nograv + hyperjll: + - balance: 'Due to selective breeding of slimes, some species require roughly 3x + more plasma than normal to activate a plasma reaction. Slime extracts affected + are: Oil, Adamantine, Orange, and Gold. Yellow slimes require 3x more blood + to activate a blood reaction.' + - balance: Oil slime extracts have become less potent during a plasma reaction due + to selective breeding conditions. + - balance: Gold slime extracts give rise to one less monster during a plasma reaction + due to selective breeding conditions. + - balance: Yellow slime extracts have become less potent during a blood reaction + due to selective breeding conditions. + - balance: Adamantine golem shells require 3 sheets rather than 1, due to unknown + circumstances. + necromanceranne: + - bugfix: Headprotector modules and constructor modules work properly once more. + - bugfix: Space heaters do not completely drain their starting cell while trying + to change their room temperature by a few degrees. + uaioy: + - bugfix: infiltrator modsuit sprite is not misaligned anymore + vinylspiders: + - qol: 'polypore mycelium no longer contains sugar, preventing it from instantly + creating fringe weaver beverage when ground up. qol: sugar may be acquired from + grinding fireblossoms instead of polypore mycelium.' +2024-06-29: + Bisar: + - rscadd: Ashwalkers now start out allied to lavaland fauna (except for raptors). + Attacking the fauna will break this alliance with the attacked beast and any + who witness it. + - bugfix: Ashwalkers are now actually in the ashwalker faction, instead of the neutral + one. + EnterTheJake: + - rscadd: A new Anomaly organ has been introduced, The Voltaic Combat Cyberheart! + Higgin: + - bugfix: Mood buffs/penalties are now properly equal on both positive/negative + sides. + JackEnoff: + - balance: Changelings regenerate chemicals faster when not on fire + - balance: Changelings regenerate chemicals slower when on fire + MGOOOOOO: + - qol: The "Dental Implant" surgery no longer forces itself to restart after implanting + one pill. Now implanting pills in the surgery has another step to either search + the patient's mouth for another tooth to implant, or cauterization to end the + surgery. + Melbert: + - bugfix: Fixed modsuit interactions slightly. No longer requires combat mode to + use tools on it, plasma core works as intended as well. (Using combat mode, + however, will make you insert the item) + - refactor: Refactored lockboxes + - refactor: Refactored medbot skin application + Moonlit2000: + - bugfix: peg legs can't bleed + ShizCalev: + - bugfix: Toggling ambient ship sounds will now instantly turn it on/off. + - bugfix: Deafened mobs will no longer hear the station's ambient sounds. + - bugfix: Fixed ambient sounds resetting their loop when entering different bodies + (ie admin ghosting, being moved to other mobs, ect.) + - bugfix: Monkeys that become sentient through the sentience helmet will no longer + be notified that they can ventcrawl. + - bugfix: Airlocks will now correctly said what other airlock they are cyclelinked + with. + - bugfix: Portaturrets no longer go invisible when unwrenched from the ground. + SmArtKar: + - code_imp: Rewrote a portion of storage UI code to allow it to be influenced by + UI style. + - image: Prettified storage UI and made it affected by UI theme. + - image: Ripley and Ripley-based mechs now have consistent outlines + SyncIt21: + - bugfix: Holodeck closet & crate items are marked as holograms as well + - bugfix: Holodeck closet & crate items delete themselves when the program is changed + - bugfix: you can access your inventory when lying down + TheBoondock: + - sound: added liquid pouring sounds to pouring of any reagents + Thlumyn: + - bugfix: fixed active turfs in icebox listening post + Vekter: + - bugfix: Fixed the visibility of a pipe in Northstar's ordnance lab + - rscadd: Bitrunners can now access specific bounties asking for the item rewards + from specific bitrunning domains. + - bugfix: Fixed bitrunner pulling from a pool of literally every bounty available. + - bugfix: Fixes the door-bolting buttons in the dorms and bathrooms on Birdshot. + aaaa1023: + - bugfix: Removed a bush trapped inside a wall above morgue on Tramstation + carlarctg: + - rscadd: Reworked blood loss effects on the user to be much more noticeable. + - code_imp: Changed the blood volume defines to be based on the BLOOD_VOLUME_NORMAL + define, with a multiplier of blood loss applied, to be more understandable. + - rscadd: Added tons of new mutations to Genetics, alongside some recipes! + - rscadd: Thermal Adaptation has been made a combination mutation from the stronger + but narrower Cold and Heat adaptations. + - balance: Cryobeams have 9 tile range, and fiery sweat doesn't cause spread on + contact. + - image: Added some neat new sprites for the new mutations, and added a greyscale + version of the magic hand sprites. + - code_imp: Infinitesmally improved mutation code. + delingar: + - bugfix: Lavaland elite are at lavaland fauna faction now + hyperjll: + - bugfix: Inducers now accept megacells AND regular cells. + junkgle01: + - bugfix: added a keycard auth to QM room + necromanceranne: + - bugfix: Emergency firesuits no longer hide your gloves. + - qol: Punching bags are now a equal method of training to the fitness machinery. + - qol: Boxing grants more experience overall for participation. +2024-06-30: + Exester509: + - spellcheck: Fixed two typos in the heretic lore + Ghommie: + - bugfix: cigarettes and vapes are no longer treated as clothing (eg. They no longer + get shredded and need to be repaired with... cloth). + GoblinBackwards: + - bugfix: Fixed gas canister shields turning themselves off in unpowered areas when + they weren't drawing any cell power. + LT3: + - code_imp: Blood filter only pings and says finished when it's actually finished + Sadboysuss: + - bugfix: fixed cyborgs and monkeys not being able to buckle to chairs + SmArtKar: + - bugfix: Storage no longer deletes all of its viewers upon being deleted + - bugfix: Storage UI now renders properly + - bugfix: Guns no longer can be overfilled by 1 bullet + - bugfix: Russian revolvers now spawn with only 1 live round as originally intended, + and click when firing a blank. + Xander3359: + - bugfix: Fix being unable to add a flux core to new the combat heart cybernetic + aaaa1023: + - bugfix: Fixed the camera offset for the navigation console on a handful of Whiteships. + - bugfix: Fixed the Pubby Whiteship drifting sideways through hyperspace when in + flight. + - bugfix: Fixed the Kilo Whiteship flying backwards through hyperspace when in flight. + - bugfix: The Birdshot Whiteship should actually be able to spawn now. + - spellcheck: fixed spelling of "aggressive" in the shuttle manipulator description + for the Birdshot Whiteship. + carlarctg: + - spellcheck: Syndicate jaws of life are now jaws of death! + - spellcheck: Made its desc. more descriptive, stating that its faster. + - rscadd: Heretics can now sacrifice Cultists for sweet loot. + - rscadd: Cultists can now sacrifice Heretics for sick trinkets. + - rscdel: Removed Bastard Blade from the game, code, and life + - balance: Aggressive Spread now rusts non-turfs next to you as well + - balance: Raise Construction cd raised to 7, now breaks rust walls as well, improved + autoaim making it actually usable midfight + - refactor: Auto-aim code now works on any atoms if configured + grungussuss , Kayozz: + - sound: exosuit fabricators, Autolathes and Techfabs will now produce sounds when + printing items + grungususs: + - bugfix: fixed the name of a request console in the medical sec outpost on metastation + mc-oofert: + - bugfix: both engineers and roboticists may now access the controls of a firebot diff --git a/html/changelogs/archive/2024-07.yml b/html/changelogs/archive/2024-07.yml new file mode 100644 index 0000000000000..18b6fc43a0061 --- /dev/null +++ b/html/changelogs/archive/2024-07.yml @@ -0,0 +1,153 @@ +2024-07-01: + Ben10Omintrix: + - balance: raptors will now knock off their rider and disable them if hit by any + energy projectiles or if they recieve any stamina damage + Chestlet: + - bugfix: Nanotrasen sent us a batch of faulty canisters. They've been recalled + and replaced with less faulty canisters. + - bugfix: Zauker SM interaction works correctly now. + DaCoolBoss: + - image: Relics ("strange objects") now have unique sprites. + Iajret: + - bugfix: fixed blood loss knocking you down at somewhat safe (~80%) blood levels + LemonInTheDark: + - rscadd: Shield generators and shield gen walls now glow a light blue. Pretty! + MTandi: + - qol: Made light tiles available in the crafting menu + - qol: Circuit tile variants can be cycled in-hand + - rscadd: Moved loose tiles and wall frames from lathe designs to other tiles and + frames in the crafting menu + Melbert: + - rscadd: Humanizing a monkey removes undergarments such as socks + - qol: Handheld Genetic Scanners fit in Geneticist equipment suit storage + Pickle-Coding: + - code_imp: Supermatter zap power generation takes perspective of the machines subsystem. + Rhials: + - rscadd: Bounty Hunter teams now have personalized announcements for when they + are spawned in. + ShizCalev: + - bugfix: The power for all science burn chambers across all maps now works properly. + SmArtKar: + - image: Captain's spare safe received a new texture + - bugfix: Vent-born wendigos no longer create one-way portals + - image: Decluttered card textures + - bugfix: You can grind slime extracts in reagent grinders once more. + - bugfix: Pyrokinesis bolts no longer have infinite range and create trails of fiery + doom. + - qol: RD's labcoat is now classified as an actual labcoat instead of a glorified + jacket, allowing them to put science-related stuffs into it + - image: You can now toggle RD's labcoat + ViktorKoL: + - rscadd: Added a new UI for heretic research. + Wallem: + - rscadd: The detective now starts with the DET.ekt Skillchip, which allows them + to identify chemicals and bloodtypes by taste. + YesterdaysPromise: + - image: updated halloween metoer sprites. + aaaa1023: + - qol: 'Increased the viewrange in the navigation camera console on the following + shuttles: Silverscale pirate shuttle, the Flying Dutchman pirate shuttle, the + IRS pirate shuttle, and the Greytide pirate shuttle.' + - bugfix: Fixed the Battlecruiser corvette, Silverscale pirate shuttle, and the + Greytide pirate shuttle flying in incorrect directions in hyperspace. + - bugfix: Fixed the Navigation console camera eye on various pirate ships being + off centre. + carlarctg: + - spellcheck: Heretic spell invocations now use one dead language per path. Altered + a few invocation types. + grungussuss: + - qol: Windoors now stay open for 8 seconds instead of 5 + - qol: Secure windoors now stay open for 5 seconds instead of 2 + mc-oofert: + - bugfix: brig cell timer ui works properly now + - bugfix: wawastation arrivals has firealarms so you may now leave + necromanceranne: + - bugfix: Mecha weaponry is capable, for the first time ever, of experiencing recoil. + This was an intended mechanic, I promise. The code just literally never worked. + - bugfix: Mecha bump melee attacks and click melee attacks are now on the same cooldown, + but have varying cooldown timers. You will always bump attack faster than you + will click. + - bugfix: You must be in combat mode to punch objects and to bumpsmash into objects. + - bugfix: Stops mecha being able to punch literally any object and damage them. + - code_imp: Tidies up some of the autodoc comments for mech weapons. + spockye: + - bugfix: fixed Wawastation areas + - bugfix: fixed wawastation disposals + thegrb93: + - bugfix: Game not refocusing after closing a TGUI + xXPawnStarrXx: + - rscdel: Removed cordons on deathmatch maps, since they're autoadded now. +2024-07-02: + 00-Steven: + - code_imp: Moved bedsheet bin interactions to the item interaction code. Please + report any issues. + - qol: Made bedsheet bin tool interactions right click, such that left click is + consistently for putting in items. + - qol: Added usage screentips to bedsheet bins. + - qol: Added more feedback to failing to hide items in bedsheet bins. + - sound: Made putting items in bedsheet bins not silent (If the items have associated + pickup/drop sounds). + - code_imp: Deconstructing light switches now uses the proper tool action and tool + usage code, please report any issues. + - bugfix: Attempting to deconstruct a light switch by unscrewing it no longer makes + you hit it even on a success. + - sound: Deconstructing a light switch actually plays tool usage and deconstruction + sounds. + - qol: Deconstructing light switches is now a left click with a screwdriver parallel + to other unscrewing actions. + - bugfix: Screentips for deconstructing a light switch no longer show up on every + item EXCEPT screwdrivers. + - qol: Added an examine hint denoting light switches are screwed to the wall. + - qol: Added visible messages for someone deconstructing a light switch parallel + to deconstructing intercoms. + Bisar: + - qol: Loot panels should update more predictably and informatively now. + - code_imp: Lootpanels have more consistent logic on when they automatically update. + Jolly: + - code_imp: Behind the scenes, maps had a little bit of tweaking. If you see things + rendering in weird ways, or they don't look like how they used to/supposed to, + please report them on GitHub! + Kapu (ported by StrangeWeirdKitten): + - bugfix: Ambience buzz will now respect ship ambience prefrences for observers. + - sound: Ambience buzz requires APC enviorment power to function + Kocma-san: + - qol: you can now swap pens in pdas + LemonInTheDark: + - bugfix: Some varieties of snow now visually melt properly again when burned + ShizCalev: + - bugfix: Fixed a number of shuttles having parts (such as lattices) completely + disappearing. + - bugfix: Fixed the ceilings above shuttles on station maps being full-bright. + - bugfix: Fixed lattices sometimes appearing at random locations in space on station + maps. + - bugfix: Cleaned up a number of accidentally placed objects in space across all + station maps. + - bugfix: Fixed a false positive with the mapload_space_verification unit test failing + on turfs that weren't actually part of shuttles. + - code_imp: Added a unit test that automatically finds all base space turfs with + objects on them, as well as non-space turfs that are set to space areas (meaning + that these squares weren't lit properly.) + SmArtKar: + - bugfix: You no longer get dusted upon trying to store your supermatter sliver. + - bugfix: Fulton animation is no longer sideways. + - bugfix: Hand of Midas now works point-blank. + TheBoondock: + - sound: added pickup and drop sound for beakers + carlarctg: + - bugfix: Fix /datum/weakref appearing when linking airlock heretic portals + hyperjll: + - bugfix: 'Hostile plant monsters (EX: Killer Tomatoes) no longer act hostile toward + Seedlings.' + jlsnow301: + - bugfix: Fixed some UI bugs in the power monitor screen. + lorwp: + - bugfix: extinguishers now can be filled with subtypes of water again (Namely, + holy water) + mc-oofert: + - balance: Facehuggers dont make people go to sleep but muffles speech + - code_imp: Very very minor xenomorph code cleanup + - refactor: Muzzles are now an element + - balance: portable air scrubbers scrub in a 3x3 square + hold as much gas as a + canister + nikothedude: + - rscadd: Being cursed now enables disembowlements/cranial fissures outside of hardcrit diff --git a/icons/effects/effects.dmi b/icons/effects/effects.dmi index 96c02aa91f990..67b8ea51c1850 100644 Binary files a/icons/effects/effects.dmi and b/icons/effects/effects.dmi differ diff --git a/icons/effects/mapping_helpers.dmi b/icons/effects/mapping_helpers.dmi index ad09351e787f6..47684f4664e89 100644 Binary files a/icons/effects/mapping_helpers.dmi and b/icons/effects/mapping_helpers.dmi differ diff --git a/icons/effects/mouse_pointers/cool_sword.dmi b/icons/effects/mouse_pointers/cool_sword.dmi new file mode 100644 index 0000000000000..a34fa56d87d3c Binary files /dev/null and b/icons/effects/mouse_pointers/cool_sword.dmi differ diff --git a/icons/hud/screen_alert.dmi b/icons/hud/screen_alert.dmi index e56df0560531a..dda7d6cc635af 100644 Binary files a/icons/hud/screen_alert.dmi and b/icons/hud/screen_alert.dmi differ diff --git a/icons/hud/screen_clockwork.dmi b/icons/hud/screen_clockwork.dmi index 0923e42e7e429..17e0c92972e25 100644 Binary files a/icons/hud/screen_clockwork.dmi and b/icons/hud/screen_clockwork.dmi differ diff --git a/icons/hud/screen_detective.dmi b/icons/hud/screen_detective.dmi index aed6e0d6572a5..9704ca96f4c12 100644 Binary files a/icons/hud/screen_detective.dmi and b/icons/hud/screen_detective.dmi differ diff --git a/icons/hud/screen_glass.dmi b/icons/hud/screen_glass.dmi index 63ad3293921b8..6b6d9d515c5f0 100644 Binary files a/icons/hud/screen_glass.dmi and b/icons/hud/screen_glass.dmi differ diff --git a/icons/hud/screen_midnight.dmi b/icons/hud/screen_midnight.dmi index 5483ddf4564a5..8a6f2e1e8e06c 100644 Binary files a/icons/hud/screen_midnight.dmi and b/icons/hud/screen_midnight.dmi differ diff --git a/icons/hud/screen_operative.dmi b/icons/hud/screen_operative.dmi index f2d60d394acc9..73afee5b3ca40 100644 Binary files a/icons/hud/screen_operative.dmi and b/icons/hud/screen_operative.dmi differ diff --git a/icons/hud/screen_plasmafire.dmi b/icons/hud/screen_plasmafire.dmi index 5423d3855b2b6..b0b2c7999c92d 100644 Binary files a/icons/hud/screen_plasmafire.dmi and b/icons/hud/screen_plasmafire.dmi differ diff --git a/icons/hud/screen_retro.dmi b/icons/hud/screen_retro.dmi index b4252109d6847..a0d5abf3be511 100644 Binary files a/icons/hud/screen_retro.dmi and b/icons/hud/screen_retro.dmi differ diff --git a/icons/hud/screen_slimecore.dmi b/icons/hud/screen_slimecore.dmi index a75fe55c37839..84a7abec2be5f 100644 Binary files a/icons/hud/screen_slimecore.dmi and b/icons/hud/screen_slimecore.dmi differ diff --git a/icons/hud/screen_trasenknox.dmi b/icons/hud/screen_trasenknox.dmi index 2569d2a635edd..00ad01258a36a 100644 Binary files a/icons/hud/screen_trasenknox.dmi and b/icons/hud/screen_trasenknox.dmi differ diff --git a/icons/mob/actions/actions_cult.dmi b/icons/mob/actions/actions_cult.dmi index f73f5bb6367fa..7725ae691b4c6 100644 Binary files a/icons/mob/actions/actions_cult.dmi and b/icons/mob/actions/actions_cult.dmi differ diff --git a/icons/mob/actions/actions_ecult.dmi b/icons/mob/actions/actions_ecult.dmi index 67b6bf1fd2257..3ce72ae54ffe7 100644 Binary files a/icons/mob/actions/actions_ecult.dmi and b/icons/mob/actions/actions_ecult.dmi differ diff --git a/icons/mob/actions/actions_genetic.dmi b/icons/mob/actions/actions_genetic.dmi index 9ead1795fe72e..497abffe67451 100644 Binary files a/icons/mob/actions/actions_genetic.dmi and b/icons/mob/actions/actions_genetic.dmi differ diff --git a/icons/mob/actions/actions_spells.dmi b/icons/mob/actions/actions_spells.dmi index fb8c121218ffc..b8d3c3ce34b54 100644 Binary files a/icons/mob/actions/actions_spells.dmi and b/icons/mob/actions/actions_spells.dmi differ diff --git a/icons/mob/clothing/back.dmi b/icons/mob/clothing/back.dmi index eb3f87d9c71f0..be83d83d4228c 100644 Binary files a/icons/mob/clothing/back.dmi and b/icons/mob/clothing/back.dmi differ diff --git a/icons/mob/clothing/belt.dmi b/icons/mob/clothing/belt.dmi index 44ede20f2a5a1..a2d318adfb7d1 100644 Binary files a/icons/mob/clothing/belt.dmi and b/icons/mob/clothing/belt.dmi differ diff --git a/icons/mob/clothing/modsuit/mod_clothing.dmi b/icons/mob/clothing/modsuit/mod_clothing.dmi index 613559b726a7d..64affedb2de4c 100644 Binary files a/icons/mob/clothing/modsuit/mod_clothing.dmi and b/icons/mob/clothing/modsuit/mod_clothing.dmi differ diff --git a/icons/mob/clothing/neck.dmi b/icons/mob/clothing/neck.dmi index a193fbd74a8e3..ed0bb34b46449 100644 Binary files a/icons/mob/clothing/neck.dmi and b/icons/mob/clothing/neck.dmi differ diff --git a/icons/mob/clothing/suits/jacket.dmi b/icons/mob/clothing/suits/jacket.dmi index fa93a85c7c6f1..869966528b2e9 100644 Binary files a/icons/mob/clothing/suits/jacket.dmi and b/icons/mob/clothing/suits/jacket.dmi differ diff --git a/icons/mob/clothing/suits/labcoat.dmi b/icons/mob/clothing/suits/labcoat.dmi index 37cb0e8696bdb..7edbf91840518 100644 Binary files a/icons/mob/clothing/suits/labcoat.dmi and b/icons/mob/clothing/suits/labcoat.dmi differ diff --git a/icons/mob/effects/genetics.dmi b/icons/mob/effects/genetics.dmi index ebaad5028a25a..76d5224b3c7e7 100644 Binary files a/icons/mob/effects/genetics.dmi and b/icons/mob/effects/genetics.dmi differ diff --git a/icons/mob/inhands/64x64_lefthand.dmi b/icons/mob/inhands/64x64_lefthand.dmi index e0545c0d89395..d15a47206f984 100644 Binary files a/icons/mob/inhands/64x64_lefthand.dmi and b/icons/mob/inhands/64x64_lefthand.dmi differ diff --git a/icons/mob/inhands/64x64_righthand.dmi b/icons/mob/inhands/64x64_righthand.dmi index bf101ad0ea700..88ad954734bf5 100644 Binary files a/icons/mob/inhands/64x64_righthand.dmi and b/icons/mob/inhands/64x64_righthand.dmi differ diff --git a/icons/mob/inhands/clothing/masks_lefthand.dmi b/icons/mob/inhands/clothing/masks_lefthand.dmi index 64fcf4d70bd27..cac122916bdd2 100644 Binary files a/icons/mob/inhands/clothing/masks_lefthand.dmi and b/icons/mob/inhands/clothing/masks_lefthand.dmi differ diff --git a/icons/mob/inhands/clothing/masks_righthand.dmi b/icons/mob/inhands/clothing/masks_righthand.dmi index 99f45bd1b17c0..f68f2d905e627 100644 Binary files a/icons/mob/inhands/clothing/masks_righthand.dmi and b/icons/mob/inhands/clothing/masks_righthand.dmi differ diff --git a/icons/mob/inhands/items/touchspell_lefthand.dmi b/icons/mob/inhands/items/touchspell_lefthand.dmi index 1fc8d962aec11..2cf040fcf8d18 100644 Binary files a/icons/mob/inhands/items/touchspell_lefthand.dmi and b/icons/mob/inhands/items/touchspell_lefthand.dmi differ diff --git a/icons/mob/inhands/items/touchspell_righthand.dmi b/icons/mob/inhands/items/touchspell_righthand.dmi index cc3adf5eb1032..d4815fe6b65dc 100644 Binary files a/icons/mob/inhands/items/touchspell_righthand.dmi and b/icons/mob/inhands/items/touchspell_righthand.dmi differ diff --git a/icons/mob/inhands/items_lefthand.dmi b/icons/mob/inhands/items_lefthand.dmi index 967968b339ba7..5515ad69c3486 100644 Binary files a/icons/mob/inhands/items_lefthand.dmi and b/icons/mob/inhands/items_lefthand.dmi differ diff --git a/icons/mob/inhands/items_righthand.dmi b/icons/mob/inhands/items_righthand.dmi index beb3c84860d64..fdad955fd9a6f 100644 Binary files a/icons/mob/inhands/items_righthand.dmi and b/icons/mob/inhands/items_righthand.dmi differ diff --git a/icons/mob/nonhuman-player/cult.dmi b/icons/mob/nonhuman-player/cult.dmi index 9241b138227c5..683ee9bd6fe32 100644 Binary files a/icons/mob/nonhuman-player/cult.dmi and b/icons/mob/nonhuman-player/cult.dmi differ diff --git a/icons/mob/rideables/mecha.dmi b/icons/mob/rideables/mecha.dmi index 76b089534e6f9..0c0f62de4d26e 100644 Binary files a/icons/mob/rideables/mecha.dmi and b/icons/mob/rideables/mecha.dmi differ diff --git a/icons/obj/antags/cult/items.dmi b/icons/obj/antags/cult/items.dmi index 9a3435dcd833e..fcd5f13c85bf5 100644 Binary files a/icons/obj/antags/cult/items.dmi and b/icons/obj/antags/cult/items.dmi differ diff --git a/icons/obj/antags/cult/structures.dmi b/icons/obj/antags/cult/structures.dmi index 373371f5a2f98..982742e876492 100644 Binary files a/icons/obj/antags/cult/structures.dmi and b/icons/obj/antags/cult/structures.dmi differ diff --git a/icons/obj/antags/eldritch.dmi b/icons/obj/antags/eldritch.dmi index 7f6af6bfe2e65..664311e5c7c47 100644 Binary files a/icons/obj/antags/eldritch.dmi and b/icons/obj/antags/eldritch.dmi differ diff --git a/icons/obj/canisters.dmi b/icons/obj/canisters.dmi index 436467648880b..1555cf0a4782e 100644 Binary files a/icons/obj/canisters.dmi and b/icons/obj/canisters.dmi differ diff --git a/icons/obj/card.dmi b/icons/obj/card.dmi index 95453cb46edc8..0f44555ca965f 100644 Binary files a/icons/obj/card.dmi and b/icons/obj/card.dmi differ diff --git a/icons/obj/cigarettes.dmi b/icons/obj/cigarettes.dmi index 3612c747f50e2..1be85df6c156d 100644 Binary files a/icons/obj/cigarettes.dmi and b/icons/obj/cigarettes.dmi differ diff --git a/icons/obj/clothing/masks.dmi b/icons/obj/clothing/masks.dmi index 5cb090978ae7c..436785ce6e5e9 100644 Binary files a/icons/obj/clothing/masks.dmi and b/icons/obj/clothing/masks.dmi differ diff --git a/icons/obj/clothing/neck.dmi b/icons/obj/clothing/neck.dmi index e937d125ec2a4..e8726cfcb73a5 100644 Binary files a/icons/obj/clothing/neck.dmi and b/icons/obj/clothing/neck.dmi differ diff --git a/icons/obj/clothing/suits/jacket.dmi b/icons/obj/clothing/suits/jacket.dmi index 30e1a99d9eed4..b867e7da3a710 100644 Binary files a/icons/obj/clothing/suits/jacket.dmi and b/icons/obj/clothing/suits/jacket.dmi differ diff --git a/icons/obj/clothing/suits/labcoat.dmi b/icons/obj/clothing/suits/labcoat.dmi index 430d11d5f96ab..4d5796a12b856 100644 Binary files a/icons/obj/clothing/suits/labcoat.dmi and b/icons/obj/clothing/suits/labcoat.dmi differ diff --git a/icons/obj/devices/artifacts.dmi b/icons/obj/devices/artifacts.dmi new file mode 100644 index 0000000000000..f9402be79a60e Binary files /dev/null and b/icons/obj/devices/artifacts.dmi differ diff --git a/icons/obj/machines/lathes.dmi b/icons/obj/machines/lathes.dmi index 0e7d91484216c..4a90132ae60a1 100644 Binary files a/icons/obj/machines/lathes.dmi and b/icons/obj/machines/lathes.dmi differ diff --git a/icons/obj/medical/organs/organs.dmi b/icons/obj/medical/organs/organs.dmi index 0d04f7fae3ce4..62a45426e186e 100644 Binary files a/icons/obj/medical/organs/organs.dmi and b/icons/obj/medical/organs/organs.dmi differ diff --git a/icons/obj/meteor.dmi b/icons/obj/meteor.dmi index 9fde3f3ef68ea..6b47fe485c34b 100644 Binary files a/icons/obj/meteor.dmi and b/icons/obj/meteor.dmi differ diff --git a/icons/obj/meteor_spooky.dmi b/icons/obj/meteor_spooky.dmi deleted file mode 100644 index 287d5b47bd0f7..0000000000000 Binary files a/icons/obj/meteor_spooky.dmi and /dev/null differ diff --git a/icons/obj/structures.dmi b/icons/obj/structures.dmi index c7b38cb6d1aab..94b88301f7aab 100644 Binary files a/icons/obj/structures.dmi and b/icons/obj/structures.dmi differ diff --git a/icons/obj/wallmounts.dmi b/icons/obj/wallmounts.dmi index e020a8818e186..e70024a9edb23 100644 Binary files a/icons/obj/wallmounts.dmi and b/icons/obj/wallmounts.dmi differ diff --git a/icons/obj/weapons/guns/projectiles.dmi b/icons/obj/weapons/guns/projectiles.dmi index 98a2e59dbc9c3..a13ebcc636009 100644 Binary files a/icons/obj/weapons/guns/projectiles.dmi and b/icons/obj/weapons/guns/projectiles.dmi differ diff --git a/icons/obj/weapons/hand.dmi b/icons/obj/weapons/hand.dmi index 5d8827e0a7b9b..071113138a7a5 100644 Binary files a/icons/obj/weapons/hand.dmi and b/icons/obj/weapons/hand.dmi differ diff --git a/icons/obj/weapons/khopesh.dmi b/icons/obj/weapons/khopesh.dmi index 95774e7f6c733..3c4ba40b34ac1 100644 Binary files a/icons/obj/weapons/khopesh.dmi and b/icons/obj/weapons/khopesh.dmi differ diff --git a/icons/obj/weapons/sword.dmi b/icons/obj/weapons/sword.dmi index 9b5a989a0514d..d9a443cfc2699 100644 Binary files a/icons/obj/weapons/sword.dmi and b/icons/obj/weapons/sword.dmi differ diff --git a/icons/ui_icons/antags/heretic/knowledge.dmi b/icons/ui_icons/antags/heretic/knowledge.dmi new file mode 100644 index 0000000000000..d24de1a5f0e81 Binary files /dev/null and b/icons/ui_icons/antags/heretic/knowledge.dmi differ diff --git a/sound/attributions.txt b/sound/attributions.txt index 528542e59ca78..dff6c31cb7f84 100644 --- a/sound/attributions.txt +++ b/sound/attributions.txt @@ -193,6 +193,16 @@ valve_opening.ogg was made by mixing water flowing samples from: https://freesound.org/people/scriotxstudios/sounds/349111/?attribution=1 and squeaky scrape sound from: https://freesound.org/people/Department64/sounds/669028/ which was modified with lower pitch +liquid_pour2.ogg and liquid_pour3.ogg were cut from +https://freesound.org/people/MattRuthSound/sounds/561896/ +https://freesound.org/people/MattRuthSound/sounds/561895/ + ayylien.ogg was made by remixing: SCIRetro_Energy Swells Synth_Funky Audio_Sonics Spices by Funky_Audio under CC0 -- https://freesound.org/people/realtheremin/sounds/119011/ -scifi_scare_a.aiff by realtheremin under CC0 -- https://freesound.org/people/Funky_Audio/sounds/729392/ \ No newline at end of file +scifi_scare_a.aiff by realtheremin under CC0 -- https://freesound.org/people/Funky_Audio/sounds/729392/ + + +beaker_pickup.ogg was made by lowering pitch: +Bottle Tap.wav by alex_alexalex -- https://freesound.org/s/395492/ -- License: Attribution NonCommercial 3.0 +beaker_place.ogg was made by cutting and lowering pitch: +place glass object.wav by milpower -- https://freesound.org/s/353105/ -- License: Creative Commons 0 diff --git a/sound/effects/glug.ogg b/sound/effects/glug.ogg new file mode 100644 index 0000000000000..268ff4557e8e6 Binary files /dev/null and b/sound/effects/glug.ogg differ diff --git a/sound/effects/liquid_pour1.ogg b/sound/effects/liquid_pour1.ogg new file mode 100644 index 0000000000000..71e57ad19f7ef Binary files /dev/null and b/sound/effects/liquid_pour1.ogg differ diff --git a/sound/effects/liquid_pour2.ogg b/sound/effects/liquid_pour2.ogg new file mode 100644 index 0000000000000..773b30e59e5c0 Binary files /dev/null and b/sound/effects/liquid_pour2.ogg differ diff --git a/sound/effects/liquid_pour3.ogg b/sound/effects/liquid_pour3.ogg new file mode 100644 index 0000000000000..0548d7b14a4ed Binary files /dev/null and b/sound/effects/liquid_pour3.ogg differ diff --git a/sound/items/eshield_recharge.ogg b/sound/items/eshield_recharge.ogg new file mode 100644 index 0000000000000..747ad4563e5c1 Binary files /dev/null and b/sound/items/eshield_recharge.ogg differ diff --git a/sound/items/handling/beaker_pickup.ogg b/sound/items/handling/beaker_pickup.ogg new file mode 100644 index 0000000000000..c31bf6856dcaf Binary files /dev/null and b/sound/items/handling/beaker_pickup.ogg differ diff --git a/sound/items/handling/beaker_place.ogg b/sound/items/handling/beaker_place.ogg new file mode 100644 index 0000000000000..14b3868d0673d Binary files /dev/null and b/sound/items/handling/beaker_place.ogg differ diff --git a/sound/machines/attributions.txt b/sound/machines/attributions.txt new file mode 100644 index 0000000000000..b459be3d3e158 --- /dev/null +++ b/sound/machines/attributions.txt @@ -0,0 +1 @@ +sound/machines/lathe/lathe_print.ogg - made by kayozzx (discord) , license: CCbySA diff --git a/sound/machines/lathe/lathe_print.ogg b/sound/machines/lathe/lathe_print.ogg new file mode 100644 index 0000000000000..eace2da907558 Binary files /dev/null and b/sound/machines/lathe/lathe_print.ogg differ diff --git a/sound/voice/firebot/candle_tip.ogg b/sound/voice/firebot/candle_tip.ogg new file mode 100644 index 0000000000000..0f29f18e3f969 Binary files /dev/null and b/sound/voice/firebot/candle_tip.ogg differ diff --git a/sound/voice/firebot/electric_fire_tip.ogg b/sound/voice/firebot/electric_fire_tip.ogg new file mode 100644 index 0000000000000..29910024b1995 Binary files /dev/null and b/sound/voice/firebot/electric_fire_tip.ogg differ diff --git a/sound/voice/firebot/gasoline_tip.ogg b/sound/voice/firebot/gasoline_tip.ogg new file mode 100644 index 0000000000000..838c0d267e65e Binary files /dev/null and b/sound/voice/firebot/gasoline_tip.ogg differ diff --git a/strings/heckacious.json b/strings/heckacious.json new file mode 100644 index 0000000000000..1d43f0bfaffee --- /dev/null +++ b/strings/heckacious.json @@ -0,0 +1,98 @@ +{ + "heckacious": { + "your": "youre", + "fucking": "banging", + "economy": "econony", + "know": "no", + "ing": "in", + "they are": "there", + "sometimes": "some times", + "do": "does", + "hug": "bro hug bump", + "we're": "where", + "game": "big game", + "has": "hass", + "downtown": "down town", + "jimmy": "geromy", + "jeremy": "geromy", + "anywhere": "anywear", + "smoking": "toking up", + "lying": "lyong", + "AH": "AUGH", + "distraction": "distaction", + "lie": "ruse", + "angle": "angel", + "drink": "pour", + "the": "thef", + "backward": [ "back ward", "awayways" ], + "god damn": "GOD DAMN", + "goddamn": "GOD DAMN", + "trick": "dunk", + "impossible": "unreal", + "court": "coart", + "holding": "holdung", + "reverse": "flip", + "inverse": "flip", + "around": "turn-ways", + "difference": "differance", + "values": "vaules", + "inside": "insine", + "pipe": "punpe", + "suspicious": "plot thicken", + "awesome": "hella", + "reference": "refrance", + "amazing": "fucking incredible", + "woman": "wonan", + "god": "gog", + "bible": "bibble", + "jesus": "jescus", + "christ": [ "chris", "dick" ], + "sigh": "sign", + "bathroom": "banthroom", + "remember": "remender", + "night": "nite", + "nachos": "nachoes", + "nacho": "nancho", + "dorito": "nancho", + "party": "panty", + "dumbass": "dumpass", + "they": "their", + "okay": "ohh kayy", + "stupid": "stutid", + "reagent": "regent", + "idiot": "fuckass", + "awful": "conksuck", + "moron": "PIECE OF SHIT", + "more": "wider", + "serious": "keeping it real", + "extreme": "x-treme", + "guaranteed": "garganted", + "black": "blapck", + "glow": "glowns", + "deadly": "deudly", + "flying": "lifdoff", + "cloud": "cloun", + "seeing": "scoping", + "great": "choice", + "look": "lonk", + "shit": "balls warmed oveur", + "battery": "babbery", + "retard": "dicktard", + "gay": "homo", + "close": "closte", + "wrong": "wrog", + "who": "whoof", + "new": "newd", + "holy": "hopy", + "um": "unm", + "horse": "hornse", + "this": "thits", + "then": "than", + "quick": "soon", + "bro": [ "brah", "bro" ], + "dude": [ "duge", "bro", "brah" ], + "'": [ "'", "" ], + "i'm": [ "im", "i am" ], + "he's": [ "hes", "he is", "he'ss" ] + } +} diff --git a/tgstation.dme b/tgstation.dme index 95898ab0e9dc2..4f6c96dd3d038 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -388,6 +388,7 @@ #include "code\__DEFINES\research\anomalies.dm" #include "code\__DEFINES\research\research_categories.dm" #include "code\__DEFINES\research\slimes.dm" +#include "code\__DEFINES\research\techweb_nodes.dm" #include "code\__DEFINES\traits\_traits.dm" #include "code\__DEFINES\traits\declarations.dm" #include "code\__DEFINES\traits\macros.dm" @@ -1015,6 +1016,7 @@ #include "code\datums\components\ai_has_target_timer.dm" #include "code\datums\components\ai_listen_to_weather.dm" #include "code\datums\components\ai_retaliate_advanced.dm" +#include "code\datums\components\amputating_limbs.dm" #include "code\datums\components\anti_magic.dm" #include "code\datums\components\appearance_on_aggro.dm" #include "code\datums\components\aquarium_content.dm" @@ -1371,7 +1373,6 @@ #include "code\datums\elements\ai_retaliate.dm" #include "code\datums\elements\ai_swap_combat_mode.dm" #include "code\datums\elements\ai_target_damagesource.dm" -#include "code\datums\elements\amputating_limbs.dm" #include "code\datums\elements\animal_variety.dm" #include "code\datums\elements\art.dm" #include "code\datums\elements\atmos_requirements.dm" @@ -1457,6 +1458,7 @@ #include "code\datums\elements\kneejerk.dm" #include "code\datums\elements\knockback.dm" #include "code\datums\elements\lazy_fishing_spot.dm" +#include "code\datums\elements\leeching_walk.dm" #include "code\datums\elements\lifesteal.dm" #include "code\datums\elements\light_blocking.dm" #include "code\datums\elements\light_eaten.dm" @@ -1471,6 +1473,7 @@ #include "code\datums\elements\move_force_on_death.dm" #include "code\datums\elements\movement_turf_changer.dm" #include "code\datums\elements\movetype_handler.dm" +#include "code\datums\elements\muffles_speech.dm" #include "code\datums\elements\nerfed_pulling.dm" #include "code\datums\elements\noisy_movement.dm" #include "code\datums\elements\noticable_organ.dm" @@ -1642,6 +1645,7 @@ #include "code\datums\mood_events\needs_events.dm" #include "code\datums\mutations\_combined.dm" #include "code\datums\mutations\_mutations.dm" +#include "code\datums\mutations\active.dm" #include "code\datums\mutations\adaptation.dm" #include "code\datums\mutations\antenna.dm" #include "code\datums\mutations\autotomy.dm" @@ -1649,13 +1653,14 @@ #include "code\datums\mutations\chameleon.dm" #include "code\datums\mutations\cold.dm" #include "code\datums\mutations\fire_breath.dm" +#include "code\datums\mutations\hot.dm" #include "code\datums\mutations\hulk.dm" #include "code\datums\mutations\olfaction.dm" #include "code\datums\mutations\passive.dm" #include "code\datums\mutations\radioactive.dm" +#include "code\datums\mutations\reach.dm" #include "code\datums\mutations\sight.dm" #include "code\datums\mutations\speech.dm" -#include "code\datums\mutations\telekinesis.dm" #include "code\datums\mutations\telepathy.dm" #include "code\datums\mutations\tongue_spike.dm" #include "code\datums\mutations\touch.dm" @@ -1854,6 +1859,7 @@ #include "code\datums\status_effects\debuffs\slime\slime_leech.dm" #include "code\datums\status_effects\debuffs\slime\slimed.dm" #include "code\datums\storage\storage.dm" +#include "code\datums\storage\storage_interface.dm" #include "code\datums\storage\subtypes\backpack.dm" #include "code\datums\storage\subtypes\bag_of_holding.dm" #include "code\datums\storage\subtypes\cards.dm" @@ -3046,7 +3052,6 @@ #include "code\modules\antagonists\clown_ops\clownop.dm" #include "code\modules\antagonists\clown_ops\outfits.dm" #include "code\modules\antagonists\cult\blood_magic.dm" -#include "code\modules\antagonists\cult\cult_bastard_sword.dm" #include "code\modules\antagonists\cult\cult_comms.dm" #include "code\modules\antagonists\cult\cult_items.dm" #include "code\modules\antagonists\cult\cult_objectives.dm" @@ -3059,6 +3064,7 @@ #include "code\modules\antagonists\cult\cult_turf_overlay.dm" #include "code\modules\antagonists\cult\rune_spawn_action.dm" #include "code\modules\antagonists\cult\runes.dm" +#include "code\modules\antagonists\cult\sword_fling.dm" #include "code\modules\antagonists\cult\datums\constructs.dm" #include "code\modules\antagonists\cult\datums\cult_team.dm" #include "code\modules\antagonists\cult\datums\cultist.dm" @@ -3081,6 +3087,7 @@ #include "code\modules\antagonists\heretic\knife_effect.dm" #include "code\modules\antagonists\heretic\moon_lunatic.dm" #include "code\modules\antagonists\heretic\rust_effect.dm" +#include "code\modules\antagonists\heretic\soultrapped_heretic.dm" #include "code\modules\antagonists\heretic\transmutation_rune.dm" #include "code\modules\antagonists\heretic\items\corrupted_organs.dm" #include "code\modules\antagonists\heretic\items\eldritch_flask.dm" @@ -3591,6 +3598,7 @@ #include "code\modules\cargo\universal_scanner.dm" #include "code\modules\cargo\bounties\assistant.dm" #include "code\modules\cargo\bounties\atmos.dm" +#include "code\modules\cargo\bounties\bitrunning.dm" #include "code\modules\cargo\bounties\botany.dm" #include "code\modules\cargo\bounties\chef.dm" #include "code\modules\cargo\bounties\engineering.dm" @@ -4393,6 +4401,7 @@ #include "code\modules\library\skill_learning\job_skillchips\_job.dm" #include "code\modules\library\skill_learning\job_skillchips\chef.dm" #include "code\modules\library\skill_learning\job_skillchips\clown.dm" +#include "code\modules\library\skill_learning\job_skillchips\detective.dm" #include "code\modules\library\skill_learning\job_skillchips\janitor.dm" #include "code\modules\library\skill_learning\job_skillchips\miner.dm" #include "code\modules\library\skill_learning\job_skillchips\psychologist.dm" @@ -4659,6 +4668,8 @@ #include "code\modules\mob\living\basic\bots\cleanbot\cleanbot.dm" #include "code\modules\mob\living\basic\bots\cleanbot\cleanbot_abilities.dm" #include "code\modules\mob\living\basic\bots\cleanbot\cleanbot_ai.dm" +#include "code\modules\mob\living\basic\bots\firebot\firebot.dm" +#include "code\modules\mob\living\basic\bots\firebot\firebot_ai.dm" #include "code\modules\mob\living\basic\bots\honkbots\honkbot.dm" #include "code\modules\mob\living\basic\bots\honkbots\honkbot_abilities.dm" #include "code\modules\mob\living\basic\bots\honkbots\honkbot_ai.dm" @@ -5114,7 +5125,6 @@ #include "code\modules\mob\living\simple_animal\bot\bot_announcement.dm" #include "code\modules\mob\living\simple_animal\bot\construction.dm" #include "code\modules\mob\living\simple_animal\bot\ed209bot.dm" -#include "code\modules\mob\living\simple_animal\bot\firebot.dm" #include "code\modules\mob\living\simple_animal\bot\floorbot.dm" #include "code\modules\mob\living\simple_animal\bot\mulebot.dm" #include "code\modules\mob\living\simple_animal\bot\secbot.dm" @@ -5256,6 +5266,7 @@ #include "code\modules\modular_computers\file_system\programs\chatroom\ntnrc_client.dm" #include "code\modules\modular_computers\file_system\programs\maintenance\_maintenance_program.dm" #include "code\modules\modular_computers\file_system\programs\maintenance\camera.dm" +#include "code\modules\modular_computers\file_system\programs\maintenance\cool_sword.dm" #include "code\modules\modular_computers\file_system\programs\maintenance\modsuit.dm" #include "code\modules\modular_computers\file_system\programs\maintenance\phys_scanner.dm" #include "code\modules\modular_computers\file_system\programs\maintenance\spectre_meter.dm" @@ -5936,6 +5947,7 @@ #include "code\modules\surgery\organs\internal\ears\_ears.dm" #include "code\modules\surgery\organs\internal\eyes\_eyes.dm" #include "code\modules\surgery\organs\internal\heart\_heart.dm" +#include "code\modules\surgery\organs\internal\heart\heart_anomalock.dm" #include "code\modules\surgery\organs\internal\heart\heart_ethereal.dm" #include "code\modules\surgery\organs\internal\liver\_liver.dm" #include "code\modules\surgery\organs\internal\liver\liver_golem.dm" diff --git a/tgui/packages/tgui/components/DmIcon.tsx b/tgui/packages/tgui/components/DmIcon.tsx index fb6816576ac0c..bb785fc6e3968 100644 --- a/tgui/packages/tgui/components/DmIcon.tsx +++ b/tgui/packages/tgui/components/DmIcon.tsx @@ -29,7 +29,7 @@ type Props = { /** Frame number. Default is 1 */ frame: number; /** Movement state. Default is false */ - movement: boolean; + movement: any; }> & BoxProps; @@ -49,7 +49,7 @@ export function DmIcon(props: Props) { const [iconRef, setIconRef] = useState(''); - const query = `${iconRef}?state=${icon_state}&dir=${direction}&movement=${movement}&frame=${frame}`; + const query = `${iconRef}?state=${icon_state}&dir=${direction}&movement=${!!movement}&frame=${frame}`; useEffect(() => { async function fetchRefMap() { diff --git a/tgui/packages/tgui/interfaces/AccountingConsole.tsx b/tgui/packages/tgui/interfaces/AccountingConsole.tsx index f737234fc6a6c..92124bc38ef02 100644 --- a/tgui/packages/tgui/interfaces/AccountingConsole.tsx +++ b/tgui/packages/tgui/interfaces/AccountingConsole.tsx @@ -1,7 +1,5 @@ import { BooleanLike } from 'common/react'; import { useState } from 'react'; - -import { useBackend } from '../backend'; import { BlockQuote, Collapsible, @@ -9,7 +7,9 @@ import { Section, Stack, Tabs, -} from '../components'; +} from 'tgui-core/components'; + +import { useBackend } from '../backend'; import { Window } from '../layouts'; type Data = { diff --git a/tgui/packages/tgui/interfaces/AirAlarm.tsx b/tgui/packages/tgui/interfaces/AirAlarm.tsx index bacfe259fe182..448d233d36839 100644 --- a/tgui/packages/tgui/interfaces/AirAlarm.tsx +++ b/tgui/packages/tgui/interfaces/AirAlarm.tsx @@ -1,7 +1,5 @@ import { BooleanLike } from 'common/react'; import { Fragment } from 'react'; - -import { useBackend, useLocalState } from '../backend'; import { Box, Button, @@ -11,7 +9,9 @@ import { Section, Table, VirtualList, -} from '../components'; +} from 'tgui-core/components'; + +import { useBackend, useLocalState } from '../backend'; import { Window } from '../layouts'; import { Scrubber, diff --git a/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx b/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx index 30908b606fa2f..b8156772553c4 100644 --- a/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx +++ b/tgui/packages/tgui/interfaces/AntagInfoHeretic.tsx @@ -2,8 +2,7 @@ import { BooleanLike } from 'common/react'; import { useState } from 'react'; import { useBackend } from '../backend'; -import { BlockQuote, Box, Button, Section, Stack, Tabs } from '../components'; -import { CssColor } from '../constants'; +import { Box, Button, DmIcon, Flex, Section, Stack, Tabs } from '../components'; import { Window } from '../layouts'; import { Objective, @@ -35,20 +34,33 @@ const hereticYellow = { color: 'yellow', }; +type IconParams = { + icon: string; + state: string; + frame: number; + dir: number; + moving: BooleanLike; +}; + type Knowledge = { path: string; + icon_params: IconParams; name: string; desc: string; gainFlavor: string; cost: number; - disabled: boolean; - hereticPath: string; - color: CssColor; + bgr: string; + disabled: BooleanLike; + finished: BooleanLike; + ascension: BooleanLike; }; type KnowledgeInfo = { - learnableKnowledge: Knowledge[]; - learnedKnowledge: Knowledge[]; + knowledge_tiers: KnowledgeTier[]; +}; + +type KnowledgeTier = { + nodes: Knowledge[]; }; type Info = { @@ -219,63 +231,96 @@ const InformationSection = (props) => { ); }; -const ResearchedKnowledge = (props) => { - const { data } = useBackend(); - const { learnedKnowledge } = data; +const KnowledgeTree = (props) => { + const { data, act } = useBackend(); + const { knowledge_tiers } = data; return ( - -
- - {(!learnedKnowledge.length && 'None!') || - learnedKnowledge.map((learned) => ( - - + {!!node.ascension && ( + + DUSK + + )} + + ))} + +
))} -
-
-
- ); -}; - -const KnowledgeShop = (props) => { - const { data, act } = useBackend(); - const { learnableKnowledge } = data; - - return ( - -
- {(!learnableKnowledge.length && 'None!') || - learnableKnowledge.map((toLearn) => ( - -
-
+ + ); }; @@ -284,23 +329,16 @@ const ResearchInfo = (props) => { const { charges } = data; return ( - + + + You have {charges || 0}  + + knowledge point{charges !== 1 ? 's' : ''} + {' '} + to spend. + - - - You have {charges || 0}  - - knowledge point{charges !== 1 ? 's' : ''} - {' '} - to spend. - - - - - - - - + ); diff --git a/tgui/packages/tgui/interfaces/Autolathe.tsx b/tgui/packages/tgui/interfaces/Autolathe.tsx index cf110806830fc..67f707476fe83 100644 --- a/tgui/packages/tgui/interfaces/Autolathe.tsx +++ b/tgui/packages/tgui/interfaces/Autolathe.tsx @@ -1,7 +1,5 @@ import { BooleanLike, classes } from 'common/react'; import { capitalize } from 'common/string'; - -import { useBackend } from '../backend'; import { Box, Button, @@ -12,7 +10,9 @@ import { Section, Stack, Tooltip, -} from '../components'; +} from 'tgui-core/components'; + +import { useBackend } from '../backend'; import { Window } from '../layouts'; import { DesignBrowser } from './Fabrication/DesignBrowser'; import { MaterialCostSequence } from './Fabrication/MaterialCostSequence'; diff --git a/tgui/packages/tgui/interfaces/CameraConsole.tsx b/tgui/packages/tgui/interfaces/CameraConsole.tsx index 3dafe1240dfe3..f28c308f1b5b5 100644 --- a/tgui/packages/tgui/interfaces/CameraConsole.tsx +++ b/tgui/packages/tgui/interfaces/CameraConsole.tsx @@ -2,8 +2,6 @@ import { filter, sort } from 'common/collections'; import { BooleanLike, classes } from 'common/react'; import { createSearch } from 'common/string'; import { useState } from 'react'; - -import { useBackend } from '../backend'; import { Button, ByondUi, @@ -11,7 +9,9 @@ import { NoticeBox, Section, Stack, -} from '../components'; +} from 'tgui-core/components'; + +import { useBackend } from '../backend'; import { Window } from '../layouts'; type Data = { diff --git a/tgui/packages/tgui/interfaces/ChemDispenser.tsx b/tgui/packages/tgui/interfaces/ChemDispenser.tsx index 2bb50df59de26..3e0174a3b2f54 100644 --- a/tgui/packages/tgui/interfaces/ChemDispenser.tsx +++ b/tgui/packages/tgui/interfaces/ChemDispenser.tsx @@ -1,8 +1,6 @@ import { BooleanLike } from 'common/react'; import { toTitleCase } from 'common/string'; import { useState } from 'react'; - -import { useBackend } from '../backend'; import { Box, Button, @@ -10,7 +8,9 @@ import { LabeledList, ProgressBar, Section, -} from '../components'; +} from 'tgui-core/components'; + +import { useBackend } from '../backend'; import { Window } from '../layouts'; import { Beaker, BeakerDisplay } from './common/BeakerDisplay'; diff --git a/tgui/packages/tgui/interfaces/CrewConsole.tsx b/tgui/packages/tgui/interfaces/CrewConsole.tsx index 52af3eaff4320..7394d9964fde6 100644 --- a/tgui/packages/tgui/interfaces/CrewConsole.tsx +++ b/tgui/packages/tgui/interfaces/CrewConsole.tsx @@ -1,9 +1,9 @@ import { BooleanLike } from 'common/react'; import { createSearch } from 'common/string'; import { useState } from 'react'; +import { Box, Button, Icon, Input, Section, Table } from 'tgui-core/components'; import { useBackend } from '../backend'; -import { Box, Button, Icon, Input, Section, Table } from '../components'; import { COLORS } from '../constants'; import { Window } from '../layouts'; diff --git a/tgui/packages/tgui/interfaces/Fabricator.tsx b/tgui/packages/tgui/interfaces/Fabricator.tsx index 0511907618023..9c50cf973b31b 100644 --- a/tgui/packages/tgui/interfaces/Fabricator.tsx +++ b/tgui/packages/tgui/interfaces/Fabricator.tsx @@ -1,6 +1,4 @@ import { classes } from 'common/react'; - -import { useBackend } from '../backend'; import { Box, Button, @@ -9,7 +7,9 @@ import { Section, Stack, Tooltip, -} from '../components'; +} from 'tgui-core/components'; + +import { useBackend } from '../backend'; import { Window } from '../layouts'; import { DesignBrowser } from './Fabrication/DesignBrowser'; import { MaterialAccessBar } from './Fabrication/MaterialAccessBar'; diff --git a/tgui/packages/tgui/interfaces/Flatpacker.tsx b/tgui/packages/tgui/interfaces/Flatpacker.tsx index 43fed9e49e4b9..157a30a375b41 100644 --- a/tgui/packages/tgui/interfaces/Flatpacker.tsx +++ b/tgui/packages/tgui/interfaces/Flatpacker.tsx @@ -39,7 +39,7 @@ export const Flatpacker = (props: any) => { const { SHEET_MATERIAL_AMOUNT, materials, design, busy } = data; return ( - + {!!busy && ( { tooltipPosition="left" height="37px" width="37px" + disabled={!design} onClick={() => act('ejectBoard')} > @@ -167,22 +168,28 @@ const CostPreview = (props: CostPreviewProps) => { const { materials, SHEET_MATERIAL_AMOUNT } = props; return ( -
+
{materials ? ( {materials.map((material) => ( - +
+ +
- {toTitleCase(material.name)} +
+ {toTitleCase(material.name)} +
- ×{(material.amount / SHEET_MATERIAL_AMOUNT).toFixed(2)} +
+ {(material.amount / SHEET_MATERIAL_AMOUNT).toFixed(2)} +
))} diff --git a/tgui/packages/tgui/interfaces/Microscope.jsx b/tgui/packages/tgui/interfaces/Microscope.jsx deleted file mode 100644 index 74591fce7d3c3..0000000000000 --- a/tgui/packages/tgui/interfaces/Microscope.jsx +++ /dev/null @@ -1,91 +0,0 @@ -import { useBackend, useSharedState } from '../backend'; -import { Button, LabeledList, NoticeBox, Section, Tabs } from '../components'; -import { Window } from '../layouts'; - -export const Microscope = (props) => { - const { act, data } = useBackend(); - const [tab, setTab] = useSharedState('tab', 1); - const { has_dish, cell_lines = [], viruses = [] } = data; - - return ( - - -
- - -
- - setTab(1)} - > - Micro-Organisms ({cell_lines.length}) - - setTab(2)} - > - Viruses ({viruses.length}) - - - {tab === 1 && } - {tab === 2 && } -
-
- ); -}; - -const Organisms = (props) => { - const { cell_lines } = props; - const { act, data } = useBackend(); - if (!cell_lines.length) { - return No micro-organisms found; - } - - return cell_lines.map((cell_line) => { - return ( -
- - - {cell_line.growth_rate} - - - {cell_line.suspectibility} - - - {cell_line.requireds} - - - {cell_line.supplementaries} - - - {cell_line.suppressives} - - -
- ); - }); -}; - -const Viruses = (props) => { - const { viruses } = props; - const { act } = useBackend(); - if (!viruses.length) { - return No viruses found; - } - return viruses.map((virus) => { - return
; - }); -}; diff --git a/tgui/packages/tgui/interfaces/Microscope.tsx b/tgui/packages/tgui/interfaces/Microscope.tsx new file mode 100644 index 0000000000000..44aa7d2b660b0 --- /dev/null +++ b/tgui/packages/tgui/interfaces/Microscope.tsx @@ -0,0 +1,184 @@ +import { BooleanLike } from 'common/react'; + +import { useBackend } from '../backend'; +import { + Box, + Button, + Divider, + DmIcon, + Icon, + NoticeBox, + Section, + Stack, +} from '../components'; +import { Window } from '../layouts'; + +type Data = { + has_dish: BooleanLike; + cell_lines: CellLine[]; +}; + +type CellLine = { + type: string; + name: string; + desc: string; + icon: string; + icon_state: string; + consumption_rate: number; + growth_rate: number; + suspectibility: number; + requireds: Record; + supplementaries: Record; + suppressives: Record; +}; + +export const Microscope = (props) => { + const { act, data } = useBackend(); + const { has_dish, cell_lines = [] } = data; + + return ( + + +
act('eject_petridish')} + > + Take Dish + + ) + } + > + +
+
+
+ ); +}; + +const CellList = (props) => { + const { cell_lines } = props; + const fallback = ( + + ); + if (!cell_lines.length) { + return No micro-organisms found; + } + + return cell_lines.map((cell_line) => { + return cell_line.type !== 'virus' ? ( + + + + + +
+ } + > + + Consume {cell_line.consumption_rate} units of every nutrient per + second to grow by {cell_line.growth_rate}%. + + {cell_line.suspectibility > 0 && ( + + Reduced by {cell_line.suspectibility}% when infected with + viruses. + + )} + + + + {Object.keys(cell_line.requireds).map((reagent) => ( + + ))} + + + + {Object.keys(cell_line.supplementaries).map((reagent) => ( + + ))} + + + + {Object.keys(cell_line.suppressives).map((reagent) => ( + + ))} + + +
+
+
+ ) : ( + + + + + +
+ + Reduces growth of other cell lines when not suppressed by + Spaceacillin. + +
+
+
+ ); + }); +}; + +const GroupTitle = (props) => { + const { title } = props; + return ( + + + + + + {title} + + + + + + ) as any; +}; diff --git a/tgui/packages/tgui/interfaces/NtosCursor.tsx b/tgui/packages/tgui/interfaces/NtosCursor.tsx new file mode 100644 index 0000000000000..6c62df26a1762 --- /dev/null +++ b/tgui/packages/tgui/interfaces/NtosCursor.tsx @@ -0,0 +1,63 @@ +import { useState } from 'react'; + +import { useBackend } from '../backend'; +import { Button, DmIcon, NoticeBox, Section, Stack } from '../components'; +import { NtosWindow } from '../layouts'; + +type Data = { + dmi: { + icon: string; + icon_state: string; + }; +}; + +export const NtosCursor = () => { + const { data } = useBackend(); + + const { dmi } = data; + + const [numClicked, incrementClicked] = useState(0); + + const NoticeBoxText = () => { + if (numClicked <= 2) { + return `There's only one option... It's the sword.`; + } else if (numClicked === 3) { + return `You clicked the sword. It's still the sword.`; + } else if (numClicked === 4) { + return `You clicked the sword again. It's still the sword.`; + } else if (numClicked === 5) { + return `Trying to click the sword again? It's still the sword.`; + } + return `You clicked the sword ${numClicked} times... It's still the sword.`; + }; + + return ( + + +
+ + + + + + {NoticeBoxText()} + + +
+
+
+ ); +}; diff --git a/tgui/packages/tgui/interfaces/NtosPowerMonitor.tsx b/tgui/packages/tgui/interfaces/NtosPowerMonitor.tsx index 295c41c3c72d3..bb7f7d1d527a2 100644 --- a/tgui/packages/tgui/interfaces/NtosPowerMonitor.tsx +++ b/tgui/packages/tgui/interfaces/NtosPowerMonitor.tsx @@ -4,7 +4,7 @@ import { PowerMonitorContent } from './PowerMonitor'; export const NtosPowerMonitor = (props) => { return ( - + diff --git a/tgui/packages/tgui/interfaces/PowerMonitor.jsx b/tgui/packages/tgui/interfaces/PowerMonitor.jsx deleted file mode 100644 index 039e700f68cea..0000000000000 --- a/tgui/packages/tgui/interfaces/PowerMonitor.jsx +++ /dev/null @@ -1,230 +0,0 @@ -import { map, sortBy } from 'common/collections'; -import { flow } from 'common/fp'; -import { toFixed } from 'common/math'; -import { useState } from 'react'; - -import { useBackend } from '../backend'; -import { - Box, - Button, - Chart, - ColorBox, - Dimmer, - Flex, - Icon, - LabeledList, - ProgressBar, - Section, - Stack, - Table, -} from '../components'; -import { Window } from '../layouts'; - -const PEAK_DRAW = 500000; - -export const powerRank = (str) => { - const unit = String(str.split(' ')[1]).toLowerCase(); - return ['w', 'kw', 'mw', 'gw'].indexOf(unit); -}; - -export const PowerMonitor = () => { - return ( - - - - - - ); -}; - -export const PowerMonitorContent = (props) => { - const { data } = useBackend(); - const { history = { supply: [], demand: [] } } = data; - const [sortByField, setSortByField] = useState(null); - const supply = history.supply[history.supply.length - 1] || 0; - const demand = history.demand[history.demand.length - 1] || 0; - const supplyData = history.supply.map((value, i) => [i, value]); - const demandData = history.demand.map((value, i) => [i, value]); - const maxValue = Math.max(PEAK_DRAW, ...history.supply, ...history.demand); - // Process area data - const areas = flow([ - (areas) => - map(areas, (area, i) => ({ - ...area, - // Generate a unique id - id: area.name + i, - })), - sortByField === 'name' && ((areas) => sortBy(areas, (area) => area.name)), - sortByField === 'charge' && - ((areas) => sortBy(areas, (area) => -area.charge)), - sortByField === 'draw' && - ((areas) => - sortBy( - areas, - (area) => -powerRank(area.load), - (area) => -parseFloat(area.load), - )), - ])(data.areas); - return ( - <> - {areas.length === 0 && ( - - - - - - -

No APCs found!

-
-
-
- )} - - -
- - - - {toFixed(supply / 1000) + ' kW'} - - - - - {toFixed(demand / 1000) + ' kW'} - - - -
-
- -
- - -
-
-
-
- - - Sort by: - - setSortByField(sortByField !== 'name' && 'name')} - /> - setSortByField(sortByField !== 'charge' && 'charge')} - /> - setSortByField(sortByField !== 'draw' && 'draw')} - /> - -
- - Area - Charge - Draw - - Eqp - - - Lgt - - - Env - - - {areas.map((area, i) => ( - - - - - - - - - ))} -
{area.name} - - - {area.load} - - - - - - -
-
- - ); -}; - -export const AreaCharge = (props) => { - const { charging, charge } = props; - return ( - <> - 50 ? 'battery-half' : 'battery-quarter')) || - (charging === 1 && 'bolt') || - (charging === 2 && 'battery-full') - } - color={ - (charging === 0 && (charge > 50 ? 'yellow' : 'red')) || - (charging === 1 && 'yellow') || - (charging === 2 && 'green') - } - /> - - {toFixed(charge) + '%'} - - - ); -}; - -const AreaStatusColorBox = (props) => { - const { status } = props; - const power = Boolean(status & 2); - const mode = Boolean(status & 1); - const tooltipText = (power ? 'On' : 'Off') + ` [${mode ? 'auto' : 'manual'}]`; - return ( - - ); -}; diff --git a/tgui/packages/tgui/interfaces/PowerMonitor.tsx b/tgui/packages/tgui/interfaces/PowerMonitor.tsx new file mode 100644 index 0000000000000..b311ae15ede54 --- /dev/null +++ b/tgui/packages/tgui/interfaces/PowerMonitor.tsx @@ -0,0 +1,318 @@ +import { useState } from 'react'; +import { + Box, + Button, + Chart, + ColorBox, + Flex, + Icon, + LabeledList, + ProgressBar, + Section, + Stack, + Table, +} from 'tgui-core/components'; +import { toFixed } from 'tgui-core/math'; + +import { useBackend } from '../backend'; +import { Tooltip } from '../components'; +import { Window } from '../layouts'; +import { LoadingScreen } from './common/LoadingToolbox'; + +type Data = { + areas: Area[]; + history: PowerHistory; +}; + +type Area = { + charge: number; + charging: number; + env: number; + eqp: number; + lgt: number; + load: string; + name: string; +}; + +type PowerHistory = { + demand: number[]; + supply: number[]; +}; + +export function powerRank(str: string): number { + const unit = String(str.split(' ')[1]).toLowerCase(); + return ['w', 'kw', 'mw', 'gw'].indexOf(unit); +} + +// Oh no not another sorting algorithm +function powerSort(a: Area, b: Area): number { + const sortedByRank = powerRank(a.load) - powerRank(b.load); + const sortedByLoad = parseFloat(a.load) - parseFloat(b.load); + + if (sortedByRank !== 0) { + return sortedByRank; + } + return sortedByLoad; +} + +function nameSort(a: Area, b: Area): number { + if (a.name < b.name) { + return -1; + } + if (a.name > b.name) { + return 1; + } + return 0; +} + +export function PowerMonitor() { + return ( + + + + + + ); +} + +const PEAK_DRAW = 500000; + +export function PowerMonitorContent(props) { + const { data } = useBackend(); + const { history } = data; + + if (!history) { + return <>Loading...; + } + + const supply = history.supply[history.supply.length - 1] || 0; + const demand = history.demand[history.demand.length - 1] || 0; + + const supplyData = history.supply.map((value, i) => [i, value]); + const demandData = history.demand.map((value, i) => [i, value]); + + const maxValue = Math.max(PEAK_DRAW, ...history.supply, ...history.demand); + + if (supplyData.length === 0 || demandData.length === 0) { + return ; + } + + return ( + + + + +
+ + + + {toFixed(supply / 1000) + ' kW'} + + + + + {toFixed(demand / 1000) + ' kW'} + + + +
+
+ +
+ + +
+
+
+
+ + + +
+ ); +} + +function StationAreas(props) { + const { data } = useBackend(); + + const [sortByField, setSortByField] = useState(''); + + const areas = data.areas + .map((area, i) => ({ + ...area, + // Generate a unique id + id: area.name + i, + })) + .sort((a, b) => { + if (sortByField === 'name') { + return nameSort(a, b); + } + if (sortByField === 'charge') { + return a.charge - b.charge; + } + if (sortByField === 'draw') { + return powerSort(b, a); + } + return 0; + }); + + return ( + +
+ + + Sort by: + + setSortByField(sortByField !== 'name' ? 'name' : '')} + > + Name + + + setSortByField(sortByField !== 'charge' ? 'charge' : '') + } + > + Charge + + setSortByField(sortByField !== 'draw' ? 'draw' : '')} + > + Draw + + +
+ + +
+ + + Area + Charge + + Draw + + + Eqp + + + Lgt + + + Env + + + {areas.map((area) => ( + + + + + + + + + ))} +
{area.name} + + + {area.load} + + + + + + +
+
+
+
+ ); +} + +type AreaChargeProps = { + charge: number; + charging: number; +}; + +const NOT_CHARGING = 0; +const CHARGING = 1; +const CHARGED = 2; + +export function AreaCharge(props: AreaChargeProps) { + const { charging, charge } = props; + + let name: string; + if (charging === NOT_CHARGING) { + name = charge > 50 ? 'battery-half' : 'battery-quarter'; + } else if (charging === CHARGING) { + name = 'bolt'; + } else { + name = 'battery-full'; + } + + return ( + <> + 50 ? 'yellow' : 'red')) || + (charging === CHARGING && 'yellow') || + (charging === CHARGED && 'green') + } + /> + + {toFixed(charge) + '%'} + + + ); +} + +type AreaStatusColorBoxProps = { + status: number; +}; + +function AreaStatusColorBox(props: AreaStatusColorBoxProps) { + const { status } = props; + + const power = Boolean(status & 2); + const mode = Boolean(status & 1); + const tooltipText = (power ? 'On' : 'Off') + ` [${mode ? 'auto' : 'manual'}]`; + + return ( + + + + ); +} diff --git a/tgui/packages/tgui/interfaces/QuantumConsole.tsx b/tgui/packages/tgui/interfaces/QuantumConsole.tsx index bba1d85801933..c42a7ce9402d2 100644 --- a/tgui/packages/tgui/interfaces/QuantumConsole.tsx +++ b/tgui/packages/tgui/interfaces/QuantumConsole.tsx @@ -1,6 +1,4 @@ import { BooleanLike } from 'common/react'; - -import { useBackend, useSharedState } from '../backend'; import { Button, Collapsible, @@ -12,7 +10,9 @@ import { Table, Tabs, Tooltip, -} from '../components'; +} from 'tgui-core/components'; + +import { useBackend, useSharedState } from '../backend'; import { TableCell, TableRow } from '../components/Table'; import { Window } from '../layouts'; import { LoadingScreen } from './common/LoadingToolbox'; diff --git a/tgui/packages/tgui/interfaces/TankDispenser.jsx b/tgui/packages/tgui/interfaces/TankDispenser.jsx deleted file mode 100644 index ea94a5f3148c1..0000000000000 --- a/tgui/packages/tgui/interfaces/TankDispenser.jsx +++ /dev/null @@ -1,43 +0,0 @@ -import { useBackend } from '../backend'; -import { Button, LabeledList, Section } from '../components'; -import { Window } from '../layouts'; - -export const TankDispenser = (props) => { - const { act, data } = useBackend(); - return ( - - -
- - act('plasma')} - /> - } - > - {data.plasma} - - act('oxygen')} - /> - } - > - {data.oxygen} - - -
-
-
- ); -}; diff --git a/tgui/packages/tgui/interfaces/Vending.tsx b/tgui/packages/tgui/interfaces/Vending.tsx index 2f8cd42dade95..6db6ec962d309 100644 --- a/tgui/packages/tgui/interfaces/Vending.tsx +++ b/tgui/packages/tgui/interfaces/Vending.tsx @@ -1,7 +1,6 @@ import { classes } from 'common/react'; import { capitalizeAll } from 'common/string'; import { useState } from 'react'; -import { useBackend } from 'tgui/backend'; import { Box, Button, @@ -11,8 +10,10 @@ import { Section, Stack, Table, -} from 'tgui/components'; -import { Window } from 'tgui/layouts'; +} from 'tgui-core/components'; + +import { useBackend } from '../backend'; +import { Window } from '../layouts'; type VendingData = { onstation: boolean; diff --git a/tgui/packages/tgui/interfaces/VotePanel.tsx b/tgui/packages/tgui/interfaces/VotePanel.tsx index 2cb9c91ff8249..949751f2226db 100644 --- a/tgui/packages/tgui/interfaces/VotePanel.tsx +++ b/tgui/packages/tgui/interfaces/VotePanel.tsx @@ -1,6 +1,4 @@ import { BooleanLike } from 'common/react'; - -import { useBackend } from '../backend'; import { Box, Button, @@ -11,7 +9,9 @@ import { NoticeBox, Section, Stack, -} from '../components'; +} from 'tgui-core/components'; + +import { useBackend } from '../backend'; import { Window } from '../layouts'; enum VoteConfig { diff --git a/tgui/packages/tgui/layouts/Window.tsx b/tgui/packages/tgui/layouts/Window.tsx index aa91370bfc31e..abf35d8a31142 100644 --- a/tgui/packages/tgui/layouts/Window.tsx +++ b/tgui/packages/tgui/layouts/Window.tsx @@ -53,30 +53,32 @@ export const Window = (props: Props) => { const { debugLayout = false } = useDebug(); useEffect(() => { - const updateGeometry = () => { - const options = { - ...config.window, - size: DEFAULT_SIZE, + if (!suspended) { + const updateGeometry = () => { + const options = { + ...config.window, + size: DEFAULT_SIZE, + }; + + if (width && height) { + options.size = [width, height]; + } + if (config.window?.key) { + setWindowKey(config.window.key); + } + recallWindowGeometry(options); }; - if (width && height) { - options.size = [width, height]; - } - if (config.window?.key) { - setWindowKey(config.window.key); - } - recallWindowGeometry(options); - }; - - Byond.winset(Byond.windowId, { - 'can-close': Boolean(canClose), - }); - logger.log('mounting'); - updateGeometry(); - - return () => { - logger.log('unmounting'); - }; + Byond.winset(Byond.windowId, { + 'can-close': Boolean(canClose), + }); + logger.log('mounting'); + updateGeometry(); + + return () => { + logger.log('unmounting'); + }; + } }, [width, height]); const dispatch = globalStore.dispatch; diff --git a/tgui/packages/tgui/package.json b/tgui/packages/tgui/package.json index efe74af8123b0..ffbb15ba176d0 100644 --- a/tgui/packages/tgui/package.json +++ b/tgui/packages/tgui/package.json @@ -16,6 +16,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-popper": "^2.3.0", + "tgui-core": "^1.1.2", "tgui-dev-server": "workspace:*", "tgui-polyfill": "workspace:*" } diff --git a/tgui/webpack.config.js b/tgui/webpack.config.js index fa1782eb073b2..6ff3d1bf4a06a 100644 --- a/tgui/webpack.config.js +++ b/tgui/webpack.config.js @@ -60,7 +60,7 @@ module.exports = (env = {}, argv) => { ], }, { - test: /\.scss$/, + test: /\.(s)?css$/, use: [ { loader: ExtractCssPlugin.loader, diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 1caeb0d24e853..88b94e8cda5b0 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -8281,6 +8281,16 @@ __metadata: languageName: unknown linkType: soft +"tgui-core@npm:^1.1.2": + version: 1.1.2 + resolution: "tgui-core@npm:1.1.2" + peerDependencies: + react: ^18.2.0 + react-dom: ^18.2.0 + checksum: 10c0/05edc2215daf63bdb126f57aa74e17875784dbe1fadf19f1218dabb17dfffcd63b3c6a1678eb8a5b10b8d325755c1e124f1298350be20af913e9cd0d5a749ec9 + languageName: node + linkType: hard + "tgui-dev-server@workspace:*, tgui-dev-server@workspace:packages/tgui-dev-server": version: 0.0.0-use.local resolution: "tgui-dev-server@workspace:packages/tgui-dev-server" @@ -8389,6 +8399,7 @@ __metadata: react: "npm:^18.2.0" react-dom: "npm:^18.2.0" react-popper: "npm:^2.3.0" + tgui-core: "npm:^1.1.2" tgui-dev-server: "workspace:*" tgui-polyfill: "workspace:*" languageName: unknown diff --git a/tools/UpdatePaths/Scripts/82942_cigs_vape_repath.txt b/tools/UpdatePaths/Scripts/82942_cigs_vape_repath.txt new file mode 100644 index 0000000000000..22cf75332bfee --- /dev/null +++ b/tools/UpdatePaths/Scripts/82942_cigs_vape_repath.txt @@ -0,0 +1,2 @@ +/obj/item/clothing/mask/cigarette/@SUBTYPES : /obj/item/cigarette/@SUBTYPES{@OLD} +/obj/item/clothing/mask/vape/@SUBTYPES : /obj/item/vape/@SUBTYPES{@OLD} \ No newline at end of file diff --git a/tools/UpdatePaths/Scripts/83861_firebots.txt b/tools/UpdatePaths/Scripts/83861_firebots.txt new file mode 100644 index 0000000000000..152220c38b2d3 --- /dev/null +++ b/tools/UpdatePaths/Scripts/83861_firebots.txt @@ -0,0 +1 @@ +/mob/living/simple_animal/bot/firebot/@SUBTYPES : /mob/living/basic/bot/firebot/@SUBTYPES{@OLD} \ No newline at end of file diff --git a/tools/ci/check_grep.sh b/tools/ci/check_grep.sh index c78e8fecf7c87..8a2b715502ff5 100644 --- a/tools/ci/check_grep.sh +++ b/tools/ci/check_grep.sh @@ -21,12 +21,14 @@ if command -v rg >/dev/null 2>&1; then fi code_files="code/**/**.dm" map_files="_maps/**/**.dmm" + shuttle_map_files="_maps/shuttles/**.dmm" code_x_515="code/**/!(__byond_version_compat).dm" else pcre2_support=0 grep=grep code_files="-r --include=code/**/**.dm" map_files="-r --include=_maps/**/**.dmm" + shuttle_map_files="-r --include=_maps/shuttles/**.dmm" code_x_515="-r --include=code/**/!(__byond_version_compat).dm" fi @@ -304,6 +306,12 @@ if [ "$pcre2_support" -eq 1 ]; then echo -e "${RED}ERROR: Invalid pronoun helper found.${NC}" st=1 fi; + part "shuttle area checker" + if $grep -PU '(},|\/obj|\/mob|\/turf\/(?!template_noop).+)[^()]+\/area\/template_noop\)' $shuttle_map_files; then + echo + echo -e "${RED}ERROR: Shuttle has objs or turfs in a template_noop area. Please correct their areas to a shuttle subtype.${NC}" + st=1 +fi; else echo -e "${RED}pcre2 not supported, skipping checks requiring pcre2" echo -e "if you want to run these checks install ripgrep with pcre2 support.${NC}" diff --git a/tools/maplint/lints/banned_obj_vars.yml b/tools/maplint/lints/banned_obj_vars.yml new file mode 100644 index 0000000000000..076aa20386a87 --- /dev/null +++ b/tools/maplint/lints/banned_obj_vars.yml @@ -0,0 +1,4 @@ +help: "This var is obsolete/no longer in use. Please remove it." +/obj: + banned_variables: + layer: diff --git a/tools/maplint/lints/telescreen_varedits.yml b/tools/maplint/lints/telescreen_varedits.yml new file mode 100644 index 0000000000000..37ea2d72b67c8 --- /dev/null +++ b/tools/maplint/lints/telescreen_varedits.yml @@ -0,0 +1,8 @@ +help: "Use the directional variants when possible." +/obj/machinery/computer/security/telescreen: + banned_variables: + pixel_x: + pixel_y: + dir: + deny: [1, 2, 4, 8] + network: