From 19dbe58feaead91c7dc67d4ecfc200a12bf42c48 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 01:37:35 +0000 Subject: [PATCH 01/29] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-7363.yml | 8 ------ html/changelogs/AutoChangeLog-pr-7418.yml | 4 --- html/changelogs/AutoChangeLog-pr-7419.yml | 5 ---- html/changelogs/AutoChangeLog-pr-7420.yml | 4 --- html/changelogs/AutoChangeLog-pr-7422.yml | 4 --- html/changelogs/AutoChangeLog-pr-7425.yml | 4 --- html/changelogs/AutoChangeLog-pr-7429.yml | 5 ---- html/changelogs/archive/2024-10.yml | 30 +++++++++++++++++++++++ 8 files changed, 30 insertions(+), 34 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7363.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7418.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7419.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7420.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7422.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7425.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-7429.yml diff --git a/html/changelogs/AutoChangeLog-pr-7363.yml b/html/changelogs/AutoChangeLog-pr-7363.yml deleted file mode 100644 index bf3481cc8bfe..000000000000 --- a/html/changelogs/AutoChangeLog-pr-7363.yml +++ /dev/null @@ -1,8 +0,0 @@ -author: "Nanu, HarryOb, Spartanbobby" -delete-after: True -changes: - - rscadd: "Added a feature that will delete weeds in the surrounding area of the Marines selected landing zone, and keep them subject to be unweedable for the next eight minutes." - - balance: "Maps currently affected by this change/test - Big Red, LV-624, Kutjevo, New Varadero, Sorokyne Strata, Prison Station Science Annex, Shiva's Snowball." - - maptweak: "Slight area tweaks and changes to allow more subjective control over areas." - - maptweak: "Big Red, South West Cave now has timed blockers to hinder a SW hive and Marines alike from going a straight line to attack each other. These blockers dissappear in a \"cavein\" at fourty minutes, Roughly on average twenty minutes after marines land." - - balance: "Queens can only ovi and build the hivecore on \"their\" side of the map at roundstart, this protection drops off 25min from roundstart." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-7418.yml b/html/changelogs/AutoChangeLog-pr-7418.yml deleted file mode 100644 index 4a98d2f71ea0..000000000000 --- a/html/changelogs/AutoChangeLog-pr-7418.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "harryob" -delete-after: True -changes: - - bugfix: "stops a crisis in the part fabricator point economy by preventing infinite money generation through cancelling items in the queue" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-7419.yml b/html/changelogs/AutoChangeLog-pr-7419.yml deleted file mode 100644 index 6834aa7b3b8a..000000000000 --- a/html/changelogs/AutoChangeLog-pr-7419.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "Blundir" -delete-after: True -changes: - - rscadd: "new minimap icons for numerous things" - - bugfix: "fixed squads having incorrect colors on minimap" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-7420.yml b/html/changelogs/AutoChangeLog-pr-7420.yml deleted file mode 100644 index da3fc6ff17e0..000000000000 --- a/html/changelogs/AutoChangeLog-pr-7420.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "joookschad" -delete-after: True -changes: - - qol: "Toy mechs will now fit into storage." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-7422.yml b/html/changelogs/AutoChangeLog-pr-7422.yml deleted file mode 100644 index 92b53a40f259..000000000000 --- a/html/changelogs/AutoChangeLog-pr-7422.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Joe lampost" -delete-after: True -changes: - - bugfix: "Changes what armor is spawned from the pred vendor" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-7425.yml b/html/changelogs/AutoChangeLog-pr-7425.yml deleted file mode 100644 index 33ded0916f19..000000000000 --- a/html/changelogs/AutoChangeLog-pr-7425.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "BeagleGaming1" -delete-after: True -changes: - - bugfix: "Fixes chat showing \"You fire the plasma caster\" when firing an energy weapon after equipping the plasma caster" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-7429.yml b/html/changelogs/AutoChangeLog-pr-7429.yml deleted file mode 100644 index 03822d634e03..000000000000 --- a/html/changelogs/AutoChangeLog-pr-7429.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "BeagleGaming1" -delete-after: True -changes: - - bugfix: "Bracer attachments get properly deleted on bracer destruction" - - bugfix: "One bracer attachment cannot be attached to both bracer attachment slots" \ No newline at end of file diff --git a/html/changelogs/archive/2024-10.yml b/html/changelogs/archive/2024-10.yml index 9d72ca7ca5bf..a3f872914464 100644 --- a/html/changelogs/archive/2024-10.yml +++ b/html/changelogs/archive/2024-10.yml @@ -414,3 +414,33 @@ - bugfix: SMES units made explosion proof ihatethisengine: - balance: limbs are now only be delimb-able if they were fractured BEFORE the hit +2024-10-30: + BeagleGaming1: + - bugfix: Fixes chat showing "You fire the plasma caster" when firing an energy + weapon after equipping the plasma caster + - bugfix: Bracer attachments get properly deleted on bracer destruction + - bugfix: One bracer attachment cannot be attached to both bracer attachment slots + Blundir: + - rscadd: new minimap icons for numerous things + - bugfix: fixed squads having incorrect colors on minimap + Joe lampost: + - bugfix: Changes what armor is spawned from the pred vendor + Nanu, HarryOb, Spartanbobby: + - rscadd: Added a feature that will delete weeds in the surrounding area of the + Marines selected landing zone, and keep them subject to be unweedable for the + next eight minutes. + - balance: Maps currently affected by this change/test - Big Red, LV-624, Kutjevo, + New Varadero, Sorokyne Strata, Prison Station Science Annex, Shiva's Snowball. + - maptweak: Slight area tweaks and changes to allow more subjective control over + areas. + - maptweak: Big Red, South West Cave now has timed blockers to hinder a SW hive + and Marines alike from going a straight line to attack each other. These blockers + dissappear in a "cavein" at fourty minutes, Roughly on average twenty minutes + after marines land. + - balance: Queens can only ovi and build the hivecore on "their" side of the map + at roundstart, this protection drops off 25min from roundstart. + harryob: + - bugfix: stops a crisis in the part fabricator point economy by preventing infinite + money generation through cancelling items in the queue + joookschad: + - qol: Toy mechs will now fit into storage. From ee281c52463e5bd39e2b58d274d5a348a65b473d Mon Sep 17 00:00:00 2001 From: spartanbobby <71467726+spartanbobby@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:23:29 +0000 Subject: [PATCH 02/29] Almayer Mapping: Psychiatric Care Unit (#7434) # About the pull request This PR adds a new room to the upper medical "Psychiatric Care Unit" deeply inspired by alien Dark descent this area aims to provide a place for the stressed marine to unwind This RP also rearranges the upper medical to accommodate this new room ![jRi0vtt](https://github.com/user-attachments/assets/e572d0d2-cdc6-4b4d-a7bc-128ac0df64e3) https://i.imgur.com/QIYsiOz.png https://i.imgur.com/MGY6GTe.png # Explain why it's good for the game The room serves as both a neat nod to dark descent as well as a place for potential roleplay to accure, CMO conducting psychological evaluations for the MPs, marines stressed from the retreat from the planet trying to unwind quietly or just somewhere to relax before briefing # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: SpartanBobby maptweak: Rearranges Almayer Upper Medical to accommodate a Psychiatric Care Unit /:cl: --- maps/map_files/USS_Almayer/USS_Almayer.dmm | 3723 +++++++++++--------- 1 file changed, 1965 insertions(+), 1758 deletions(-) diff --git a/maps/map_files/USS_Almayer/USS_Almayer.dmm b/maps/map_files/USS_Almayer/USS_Almayer.dmm index 80389906d448..5ee138c5d5ad 100644 --- a/maps/map_files/USS_Almayer/USS_Almayer.dmm +++ b/maps/map_files/USS_Almayer/USS_Almayer.dmm @@ -1463,7 +1463,13 @@ /turf/open/floor/almayer/dark_sterile, /area/almayer/medical/upper_medical) "akx" = ( -/turf/open/floor/almayer/sterile_green_side/north, +/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor{ + name = "\improper Medical Bay"; + req_one_access = null; + dir = 1 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer/test_floor4, /area/almayer/medical/upper_medical) "akz" = ( /obj/structure/surface/table/almayer, @@ -1565,6 +1571,11 @@ /turf/closed/wall/almayer, /area/almayer/shipboard/starboard_missiles) "alD" = ( +/obj/item/paper_bin/uscm{ + pixel_y = 6; + pixel_x = 7 + }, +/obj/structure/surface/table/almayer, /turf/open/floor/almayer/sterile_green_side, /area/almayer/medical/upper_medical) "alE" = ( @@ -1763,12 +1774,8 @@ /turf/open/floor/plating/almayer/no_build, /area/almayer/stair_clone) "anp" = ( -/obj/structure/sign/safety/hazard{ - pixel_x = 15; - pixel_y = 32 - }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_m4a3_pistol, -/turf/open/floor/almayer/redfull, +/obj/structure/flora/bush/ausbushes/ppflowers, +/turf/open/gm/grass/grass1, /area/almayer/medical/upper_medical) "anq" = ( /obj/item/device/radio/intercom{ @@ -1790,12 +1797,12 @@ /turf/open/floor/almayer/redfull, /area/almayer/medical/upper_medical) "anr" = ( -/obj/structure/sign/safety/intercom{ - pixel_x = 8; - pixel_y = 32 +/obj/structure/machinery/computer/med_data, +/obj/structure/sign/safety/terminal{ + pixel_x = 3; + pixel_y = 29 }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, -/turf/open/floor/almayer/redfull, +/turf/open/floor/almayer/sterile_green_side/north, /area/almayer/medical/upper_medical) "ans" = ( /turf/open/floor/almayer/sterile_green_side/west, @@ -1886,19 +1893,19 @@ /turf/open/floor/almayer/silver/west, /area/almayer/command/cichallway) "aop" = ( -/obj/structure/closet/secure_closet/personal/patient{ - name = "morgue closet" +/obj/structure/machinery/shower{ + pixel_y = 16 }, /obj/structure/machinery/light{ - dir = 1 + dir = 4 }, -/turf/open/floor/almayer/plate, -/area/almayer/medical/morgue) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/medical/upper_medical) "aoq" = ( /turf/open/floor/almayer/plate, /area/almayer/medical/morgue) "aor" = ( -/obj/structure/curtain/medical, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer/plate, /area/almayer/medical/morgue) "aos" = ( @@ -2577,18 +2584,28 @@ /turf/open/floor/almayer/plate, /area/almayer/living/briefing) "asu" = ( -/obj/structure/sign/safety/hazard{ - pixel_x = 32; - pixel_y = -8 +/obj/structure/bed/chair/office/dark{ + dir = 8 }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, -/turf/open/floor/almayer/redfull, +/obj/structure/sign/safety/terminal{ + pixel_x = -10; + pixel_y = -27 + }, +/obj/structure/closet/secure_closet/professor_dummy{ + pixel_y = -30 + }, +/turf/open/floor/almayer/sterile_green_side, /area/almayer/medical/upper_medical) "asw" = ( -/obj/structure/machinery/light{ - dir = 8 +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 }, -/turf/open/floor/almayer/sterile_green_side/west, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, +/turf/open/floor/almayer/sterile_green_side/east, /area/almayer/medical/upper_medical) "asA" = ( /obj/structure/pipes/standard/simple/hidden/supply, @@ -2652,11 +2669,17 @@ /turf/open/floor/almayer, /area/almayer/engineering/upper_engineering) "asU" = ( -/obj/structure/morgue{ - dir = 8 +/obj/item/device/flashlight/lamp{ + pixel_y = 8 }, -/turf/open/floor/almayer/plate, -/area/almayer/medical/morgue) +/obj/item/clothing/glasses/science{ + pixel_x = 3; + pixel_y = -3 + }, +/obj/item/device/flash, +/obj/structure/surface/table/reinforced/almayer_B, +/turf/open/floor/almayer/mono, +/area/almayer/medical/upper_medical) "asX" = ( /obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep, /turf/open/floor/almayer/plate, @@ -3178,11 +3201,10 @@ /turf/open/floor/almayer/plate, /area/almayer/living/starboard_garden) "awj" = ( -/obj/structure/machinery/photocopier, -/obj/structure/sign/safety/terminal{ - pixel_x = -17 +/obj/structure/machinery/status_display{ + pixel_y = -30 }, -/turf/open/floor/almayer/sterile_green_side/west, +/turf/open/gm/grass/grass1, /area/almayer/medical/upper_medical) "awk" = ( /turf/open/floor/almayer/silver, @@ -3191,24 +3213,14 @@ /turf/open/floor/almayer/red/northwest, /area/almayer/command/cic) "awn" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N" +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/floor/almayer/plating/northeast, +/turf/open/floor/almayer/sterile_green_side/east, /area/almayer/medical/upper_medical) "awp" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer{ - dir = 4; - id = "Research Armory"; - name = "\improper Armory Shutters" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "E" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "W" - }, -/turf/open/floor/almayer/test_floor4, +/turf/open/floor/almayer/sterile_green_side/east, /area/almayer/medical/upper_medical) "awq" = ( /obj/structure/machinery/light{ @@ -3386,14 +3398,22 @@ /turf/open/floor/almayer/redcorner/west, /area/almayer/shipboard/weapon_room) "axl" = ( -/obj/structure/machinery/door_control{ - dir = 1; - id = "Research Armory"; - name = "Research Armory"; - pixel_x = -27; - req_one_access_txt = "4;28" +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; + id = "CMO Shutters"; + name = "\improper CMO Office Shutters" }, -/turf/open/floor/almayer/sterile_green_side/southwest, +/obj/structure/machinery/door/airlock/almayer/medical/glass{ + access_modified = 1; + name = "\improper CMO's Office"; + req_one_access = null; + req_one_access_txt = "1;5" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer/test_floor4, /area/almayer/medical/upper_medical) "axm" = ( /obj/structure/pipes/standard/simple/hidden/supply{ @@ -3729,15 +3749,13 @@ /turf/open/floor/almayer/orange/north, /area/almayer/engineering/upper_engineering) "ayW" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" +/obj/structure/morgue{ + dir = 8 }, -/obj/structure/sign/safety/medical{ - pixel_x = 8; - pixel_y = -32 +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/floor/almayer/plate, +/turf/open/floor/almayer/test_floor5, /area/almayer/medical/morgue) "ayX" = ( /obj/structure/surface/table/almayer, @@ -4024,15 +4042,17 @@ /turf/open/floor/almayer, /area/almayer/command/cic) "aAG" = ( -/obj/structure/machinery/door/airlock/almayer/medical{ - access_modified = 1; - dir = 2; - name = "Morgue"; - req_access_txt = "25"; - req_one_access = null +/obj/structure/platform, +/obj/structure/platform{ + dir = 8 }, -/turf/open/floor/almayer/test_floor4, -/area/almayer/medical/morgue) +/obj/structure/platform_decoration{ + dir = 10; + layer = 3.51 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/mono, +/area/almayer/medical/upper_medical) "aAK" = ( /obj/structure/surface/table/almayer, /obj/item/device/camera, @@ -4112,8 +4132,12 @@ /turf/open/floor/almayer/plate, /area/almayer/command/telecomms) "aBd" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 2 + }, /turf/open/floor/almayer/sterile_green_side/north, -/area/almayer/medical/morgue) +/area/almayer/medical/upper_medical) "aBe" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ dir = 4; @@ -4398,18 +4422,14 @@ /turf/open/floor/almayer/silvercorner, /area/almayer/command/cic) "aCo" = ( -/obj/structure/surface/table/almayer, -/obj/item/paper_bin/uscm, -/obj/item/tool/pen, -/obj/structure/sign/safety/terminal{ - pixel_x = 8; - pixel_y = 32 - }, -/turf/open/floor/almayer/sterile_green_corner, -/area/almayer/medical/morgue) +/turf/open/gm/grass/grass1, +/area/almayer/medical/upper_medical) "aCp" = ( -/obj/structure/machinery/power/apc/almayer/north, -/turf/open/floor/almayer/sterile_green_side/north, +/obj/structure/platform_decoration{ + dir = 1 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/mono, /area/almayer/medical/upper_medical) "aCt" = ( /obj/structure/bed/sofa/south/white/right, @@ -4424,8 +4444,21 @@ /turf/open/floor/almayer/green/east, /area/almayer/hallways/lower/port_midship_hallway) "aCw" = ( -/obj/structure/window/framed/almayer/white, -/turf/open/floor/plating, +/obj/structure/surface/rack, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/item/storage/box/bodybags, +/obj/structure/sign/safety/medical{ + pixel_x = 8; + pixel_y = -32 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/plate, /area/almayer/medical/morgue) "aCA" = ( /obj/structure/largecrate/random/barrel/white, @@ -4761,22 +4794,15 @@ /turf/open/floor/almayer, /area/almayer/living/numbertwobunks) "aEN" = ( -/obj/structure/bed/chair/office/dark{ - dir = 4; - layer = 3.25 - }, -/turf/open/floor/almayer/dark_sterile, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, /area/almayer/medical/morgue) "aEO" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/med_data/laptop{ - dir = 8 +/obj/structure/machinery/light/double/blue{ + light_color = "#a7dbc7" }, -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer/sterile_green_side/east, -/area/almayer/medical/morgue) +/turf/open/gm/grass/grass1, +/area/almayer/medical/upper_medical) "aEQ" = ( /obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer/mono, @@ -5096,15 +5122,12 @@ /turf/open/floor/almayer/plate, /area/almayer/living/numbertwobunks) "aGW" = ( -/turf/open/floor/almayer/sterile_green_side, +/turf/closed/wall/almayer/white/reinforced, /area/almayer/medical/morgue) "aGX" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, -/turf/open/floor/almayer/sterile_green_side, -/area/almayer/medical/morgue) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/sterile_green_side/west, +/area/almayer/medical/upper_medical) "aGY" = ( /turf/open/floor/almayer/plate, /area/almayer/living/numbertwobunks) @@ -5810,14 +5833,12 @@ /turf/open/floor/almayer, /area/almayer/command/cic) "aLS" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/obj/structure/bed/chair, -/turf/open/floor/almayer/sterile_green_side/north, -/area/almayer/medical/upper_medical) +/obj/structure/surface/table/reinforced/prison, +/obj/item/tool/surgery/circular_saw, +/obj/item/tool/surgery/retractor, +/obj/item/tool/surgery/cautery, +/turf/open/floor/almayer/plate, +/area/almayer/medical/morgue) "aLT" = ( /turf/closed/wall/almayer, /area/almayer/squads/alpha) @@ -5825,20 +5846,9 @@ /turf/open/floor/almayer, /area/almayer/shipboard/starboard_point_defense) "aLZ" = ( -/obj/structure/surface/table/almayer, -/obj/item/tool/pen, -/obj/item/paper_bin/wy, -/obj/structure/machinery/computer/cameras/containment{ - dir = 4; - layer = 2.981; - name = "Research Cameras"; - pixel_y = 16 - }, -/obj/item/clothing/accessory/stethoscope, -/obj/structure/closet/secure_closet/professor_dummy{ - pixel_x = -32 - }, -/turf/open/floor/almayer/sterile_green_corner/west, +/obj/structure/bed/sofa/south/white, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/sterile_green_side/north, /area/almayer/medical/upper_medical) "aMd" = ( /obj/structure/filingcabinet/seeds{ @@ -6660,18 +6670,14 @@ /turf/open/floor/almayer/plate, /area/almayer/living/captain_mess) "aRF" = ( -/obj/structure/machinery/door/airlock/almayer/medical{ - access_modified = 1; - dir = 2; - name = "Morgue Processing"; - req_access_txt = "25"; - req_one_access = null +/obj/structure/toilet{ + dir = 4 }, -/obj/structure/machinery/door/firedoor/border_only/almayer{ - dir = 2 +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/floor/almayer/test_floor4, -/area/almayer/medical/morgue) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/medical/upper_medical) "aRJ" = ( /obj/structure/ladder{ height = 2; @@ -6681,14 +6687,14 @@ pixel_x = 23; pixel_y = -32 }, -/obj/structure/sign/safety/restrictedarea{ - pixel_x = -17; - pixel_y = -8 - }, /obj/structure/sign/safety/refridgeration{ pixel_x = -17; pixel_y = 7 }, +/obj/structure/sign/safety/restrictedarea{ + pixel_x = -17; + pixel_y = -8 + }, /turf/open/floor/plating/almayer, /area/almayer/medical/upper_medical) "aRK" = ( @@ -6719,6 +6725,8 @@ /obj/effect/decal/warning_stripes{ icon_state = "W" }, +/obj/structure/machinery/light, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer/sterile_green_corner/west, /area/almayer/medical/upper_medical) "aRT" = ( @@ -8659,9 +8667,12 @@ /turf/open/floor/almayer/silver/west, /area/almayer/living/cryo_cells) "bho" = ( -/obj/structure/machinery/computer/med_data, -/turf/open/floor/almayer/sterile_green_side, -/area/almayer/medical/upper_medical) +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out"; + pixel_x = 1 + }, +/turf/open/floor/almayer/sterile_green_side/southeast, +/area/almayer/medical/lower_medical_lobby) "bhq" = ( /obj/structure/machinery/light{ dir = 4 @@ -9650,6 +9661,17 @@ /obj/effect/landmark/ert_spawns/distress_cryo, /turf/open/floor/almayer/cargo, /area/almayer/living/cryo_cells) +"bqa" = ( +/obj/structure/surface/table/reinforced/prison, +/obj/structure/sink{ + dir = 4; + pixel_x = 11 + }, +/obj/item/device/autopsy_scanner, +/obj/item/tool/surgery/scalpel, +/obj/item/tool/surgery/hemostat, +/turf/open/floor/almayer/plate, +/area/almayer/medical/morgue) "bqc" = ( /turf/open/floor/almayer, /area/almayer/hallways/lower/starboard_aft_hallway) @@ -10827,7 +10849,10 @@ /turf/open/floor/plating, /area/almayer/medical/lower_medical_lobby) "bCe" = ( -/turf/open/floor/almayer/sterile_green_side/northeast, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer/sterile_green_corner/east, /area/almayer/medical/lower_medical_lobby) "bCg" = ( /obj/structure/machinery/light{ @@ -15211,27 +15236,62 @@ /turf/open/floor/almayer/test_floor4, /area/almayer/command/computerlab) "cnV" = ( +/obj/structure/machinery/photocopier, /obj/structure/machinery/light{ dir = 8 }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer/sterile_green_side/west, /area/almayer/medical/morgue) "cnW" = ( -/obj/structure/machinery/optable, -/turf/open/floor/almayer/dark_sterile, -/area/almayer/medical/morgue) +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 10; + layer = 3.51 + }, +/obj/structure/platform_decoration{ + dir = 5; + layer = 3.51 + }, +/obj/structure/pipes/vents/pump{ + dir = 4 + }, +/turf/open/floor/almayer/mono, +/area/almayer/medical/upper_medical) "cnZ" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/tool/surgery/scalpel, -/obj/item/tool/surgery/hemostat, -/turf/open/floor/almayer/sterile_green_corner/west, -/area/almayer/medical/morgue) +/obj/structure/filingcabinet/filingcabinet{ + density = 0; + pixel_x = -8; + pixel_y = 16 + }, +/obj/structure/filingcabinet/filingcabinet{ + density = 0; + pixel_x = 7; + pixel_y = 16 + }, +/obj/item/folder/white, +/obj/item/folder/black, +/obj/item/folder/black, +/obj/item/clipboard, +/obj/item/clipboard, +/turf/open/floor/almayer/sterile_green_side/north, +/area/almayer/medical/upper_medical) "coa" = ( -/obj/item/tool/surgery/circular_saw, -/obj/item/tool/surgery/cautery, -/obj/item/tool/surgery/retractor, -/obj/structure/surface/table/reinforced/prison, -/turf/open/floor/almayer/sterile_green_side, +/obj/structure/surface/table/almayer, +/obj/structure/machinery/computer/med_data/laptop{ + dir = 1; + pixel_y = -4 + }, +/obj/structure/sign/safety/terminal{ + pixel_x = -21 + }, +/turf/open/floor/almayer/sterile_green_corner/west, /area/almayer/medical/morgue) "cod" = ( /obj/structure/machinery/cm_vending/clothing/dress{ @@ -15732,10 +15792,10 @@ /turf/open/floor/plating, /area/almayer/maint/lower/constr) "cyU" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 5 - }, -/turf/open/floor/almayer/dark_sterile, +/obj/structure/bed/sofa/south/white/left, +/obj/structure/platform, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/mono, /area/almayer/medical/upper_medical) "cyZ" = ( /obj/structure/pipes/standard/simple/hidden/supply{ @@ -16945,12 +17005,13 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/shipboard/brig/mp_bunks) "cXW" = ( -/obj/structure/machinery/status_display{ - pixel_y = 30 +/obj/structure/machinery/door_control{ + dir = 1; + id = "Research Armory"; + name = "Research Armory"; + req_one_access_txt = "4;28" }, -/obj/structure/surface/table/almayer, -/obj/item/paper_bin/uscm, -/turf/open/floor/almayer/sterile_green_side/north, +/turf/closed/wall/almayer/white/reinforced, /area/almayer/medical/upper_medical) "cXX" = ( /obj/structure/disposalpipe/segment, @@ -17971,11 +18032,11 @@ /turf/open/floor/almayer/test_floor4, /area/almayer/maint/upper/u_f_s) "dwA" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/sign/safety/bathunisex{ - pixel_x = 32 +/obj/structure/closet/secure_closet/guncabinet/red/armory_m39_submachinegun, +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/floor/almayer/mono, +/turf/open/floor/almayer/redfull, /area/almayer/medical/upper_medical) "dwI" = ( /obj/structure/machinery/door/airlock/almayer/engineering{ @@ -18358,14 +18419,11 @@ /turf/open/floor/almayer/plate, /area/almayer/maint/hull/lower/stern) "dDL" = ( -/obj/structure/surface/table/almayer, -/obj/structure/machinery/computer/research/main_terminal{ +/obj/structure/machinery/light/double/blue{ + light_color = "#a7dbc7"; dir = 4 }, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer/sterile_green_side/west, +/turf/open/floor/almayer/sterile_green_corner/east, /area/almayer/medical/upper_medical) "dDM" = ( /obj/effect/decal/cleanable/blood/oil, @@ -19066,12 +19124,11 @@ /turf/open/floor/almayer/bluecorner/west, /area/almayer/hallways/upper/midship_hallway) "dSJ" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_x = -28 +/obj/structure/machinery/disposal, +/obj/structure/disposalpipe/trunk{ + dir = 4 }, -/turf/open/floor/plating/plating_catwalk, +/turf/open/floor/almayer/plate, /area/almayer/medical/morgue) "dSX" = ( /obj/structure/disposalpipe/segment{ @@ -20389,6 +20446,16 @@ }, /turf/open/floor/almayer/red, /area/almayer/command/lifeboat) +"eto" = ( +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/door_control{ + id = "CMO Shutters"; + name = "Office Shutters"; + req_access_txt = "5"; + pixel_x = -29 + }, +/turf/open/floor/almayer/sterile_green_side/west, +/area/almayer/medical/upper_medical) "ets" = ( /obj/structure/machinery/power/apc/almayer/east, /obj/effect/decal/warning_stripes{ @@ -20869,11 +20936,15 @@ /turf/open/floor/almayer/test_floor4, /area/almayer/maint/upper/u_m_s) "eDo" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W"; - layer = 2.5 +/obj/structure/bed/chair/office/dark{ + dir = 4 }, -/turf/open/floor/almayer/plating/northeast, +/obj/item/device/radio/intercom{ + freerange = 1; + name = "General Listening Channel"; + pixel_x = -28 + }, +/turf/open/floor/almayer/sterile_green_corner/west, /area/almayer/medical/upper_medical) "eDq" = ( /obj/structure/largecrate/random/secure, @@ -21515,6 +21586,19 @@ }, /turf/open/floor/almayer, /area/almayer/hallways/lower/vehiclehangar) +"eSN" = ( +/obj/structure/machinery/door/airlock/almayer/medical{ + access_modified = 1; + dir = 2; + name = "Morgue"; + req_access_txt = "25"; + req_one_access = null + }, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 2 + }, +/turf/open/floor/almayer/test_floor4, +/area/almayer/medical/morgue) "eSU" = ( /obj/structure/prop/almayer/name_stencil{ icon_state = "almayer1" @@ -22001,8 +22085,14 @@ /turf/open/floor/almayer/sterile_green_side/northwest, /area/almayer/medical/lower_medical_medbay) "fbB" = ( -/obj/structure/pipes/standard/manifold/fourway/hidden/supply, -/turf/open/floor/almayer/dark_sterile, +/obj/structure/machinery/door/airlock/almayer/generic/glass{ + name = "\improper Psychiatric Care Unit" + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer/test_floor4, /area/almayer/medical/upper_medical) "fbC" = ( /obj/structure/closet/toolcloset, @@ -22471,14 +22561,16 @@ /turf/open/floor/almayer/test_floor4, /area/almayer/living/briefing) "fnA" = ( -/obj/structure/surface/rack, -/obj/item/tool/crowbar, -/obj/item/device/radio, -/obj/item/device/flashlight, -/obj/structure/machinery/light{ - dir = 8 +/obj/structure/machinery/door/airlock/almayer/research/reinforced{ + access_modified = 1; + name = "\improper CMO's Bedroom"; + req_one_access_txt = "1;5" }, -/turf/open/floor/almayer/redfull, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer/test_floor4, /area/almayer/medical/upper_medical) "fnH" = ( /obj/structure/pipes/vents/pump{ @@ -22825,9 +22917,13 @@ /turf/open/floor/almayer/plate, /area/almayer/living/briefing) "fvd" = ( -/obj/structure/closet/firecloset, -/turf/open/floor/almayer/sterile_green_corner/west, -/area/almayer/medical/upper_medical) +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 1 + }, +/turf/open/floor/almayer/test_floor4, +/area/almayer/medical/morgue) "fvf" = ( /turf/open/floor/almayer/silver/north, /area/almayer/living/briefing) @@ -23187,9 +23283,14 @@ /turf/open/floor/almayer/test_floor4, /area/almayer/command/cichallway) "fEC" = ( -/obj/structure/machinery/power/apc/almayer/south, -/turf/open/floor/almayer/plate, -/area/almayer/medical/morgue) +/obj/effect/decal/warning_stripes{ + icon_state = "NE-out"; + pixel_x = 1; + pixel_y = 2 + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer/test_floor4, +/area/almayer/medical/upper_medical) "fEF" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -23207,10 +23308,13 @@ /turf/open/floor/almayer/mono, /area/almayer/lifeboat_pumps/south2) "fFh" = ( -/obj/structure/surface/table/reinforced/prison, -/obj/item/device/autopsy_scanner, -/turf/open/floor/almayer/sterile_green_side, -/area/almayer/medical/morgue) +/obj/structure/bed, +/obj/item/bedsheet/green, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer/mono, +/area/almayer/medical/upper_medical) "fFD" = ( /obj/structure/window/reinforced{ dir = 4; @@ -23232,14 +23336,9 @@ /turf/open/floor/almayer/dark_sterile, /area/almayer/medical/lower_medical_medbay) "fFO" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/obj/structure/morgue{ - dir = 8 - }, -/turf/open/floor/almayer/plate, -/area/almayer/medical/morgue) +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/sterile_green_side/northwest, +/area/almayer/medical/upper_medical) "fFQ" = ( /obj/structure/surface/table/almayer, /obj/item/reagent_container/spray/cleaner{ @@ -23650,6 +23749,7 @@ /obj/effect/decal/warning_stripes{ icon_state = "SW-out" }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer/sterile_green_side/southwest, /area/almayer/medical/upper_medical) "fPn" = ( @@ -23718,12 +23818,8 @@ /turf/open/floor/almayer/plating/northeast, /area/almayer/engineering/lower/engine_core) "fQu" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - id = "CMO Shutters"; - name = "\improper CMO Office Shutters" - }, -/obj/structure/window/framed/almayer/white, -/turf/open/floor/plating, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/sterile_green_side/northeast, /area/almayer/medical/upper_medical) "fQy" = ( /obj/structure/machinery/light/small{ @@ -23938,12 +24034,14 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/engineering/upper_engineering/port) "fXg" = ( -/obj/structure/disposalpipe/segment{ - dir = 4; - icon_state = "pipe-c" +/obj/structure/sign/nosmoking_2{ + pixel_x = 32 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/medical/morgue) +/obj/structure/pipes/standard/manifold/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer/sterile_green_side/east, +/area/almayer/medical/upper_medical) "fXx" = ( /obj/structure/surface/rack, /turf/open/floor/almayer/silver/southeast, @@ -23984,6 +24082,17 @@ /turf/open/floor/almayer/plating/northeast, /area/almayer/shipboard/stern_point_defense) "fYb" = ( +/obj/structure/filingcabinet/filingcabinet{ + density = 0; + pixel_x = -8; + pixel_y = 16 + }, +/obj/structure/filingcabinet/filingcabinet{ + density = 0; + pixel_x = 7; + pixel_y = 16 + }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer/sterile_green_side/west, /area/almayer/medical/morgue) "fYf" = ( @@ -25235,13 +25344,25 @@ }, /turf/open/floor/plating, /area/almayer/living/pilotbunks) +"gzJ" = ( +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/dark_sterile, +/area/almayer/medical/morgue) "gzK" = ( -/obj/structure/disposalpipe/segment{ - dir = 8; - icon_state = "pipe-c" +/obj/structure/machinery/door/airlock/almayer/generic{ + name = "\improper Bathroom" }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/medical/morgue) +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + layer = 2.5; + pixel_y = 1 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/almayer/test_floor4, +/area/almayer/medical/upper_medical) "gzM" = ( /obj/effect/step_trigger/clone_cleaner, /obj/structure/sign/safety/stairs{ @@ -25749,11 +25870,14 @@ /turf/open/floor/almayer/silvercorner, /area/almayer/hallways/lower/repair_bay) "gKR" = ( -/obj/structure/closet/emcloset, -/obj/structure/machinery/light{ - dir = 8 +/obj/structure/machinery/door/poddoor/shutters/almayer/open{ + dir = 4; + id = "CMO Shutters"; + name = "\improper CMO Office Shutters" }, -/turf/open/floor/almayer/sterile_green_side/west, +/obj/structure/window/framed/almayer/white, +/obj/structure/machinery/door/firedoor/border_only/almayer, +/turf/open/floor/plating, /area/almayer/medical/upper_medical) "gKZ" = ( /obj/structure/surface/table/almayer, @@ -26311,10 +26435,10 @@ /turf/open/floor/plating, /area/almayer/medical/upper_medical) "gXl" = ( -/obj/structure/closet/secure_closet/personal/cabinet{ - req_access_txt = "5" +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/turf/open/floor/almayer/mono, +/turf/open/floor/almayer/sterile_green, /area/almayer/medical/upper_medical) "gXs" = ( /obj/effect/step_trigger/ares_alert/terminals, @@ -26541,12 +26665,8 @@ /turf/open/floor/almayer/plate, /area/almayer/maint/hull/upper/u_a_s) "hbI" = ( -/obj/structure/sign/safety/ammunition{ - pixel_x = 32; - pixel_y = 7 - }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, -/turf/open/floor/almayer/redfull, +/obj/structure/closet/secure_closet/CMO, +/turf/open/floor/almayer/mono, /area/almayer/medical/upper_medical) "hcf" = ( /obj/item/bedsheet/brown{ @@ -28004,13 +28124,13 @@ /turf/open/floor/almayer/sterile_green_side/west, /area/almayer/medical/medical_science) "hFF" = ( -/obj/structure/machinery/door/airlock/almayer/medical{ - access_modified = 1; - name = "Autopsy"; - req_access_txt = "25"; - req_one_access = null +/obj/effect/decal/warning_stripes{ + icon_state = "SE-out" + }, +/obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor/solid{ + dir = 1; + name = "Morgue Processing" }, -/obj/structure/machinery/door/firedoor/border_only/almayer, /turf/open/floor/almayer/test_floor4, /area/almayer/medical/morgue) "hGb" = ( @@ -28404,14 +28524,8 @@ /turf/open/floor/almayer/cargo, /area/almayer/engineering/lower/workshop/hangar) "hQU" = ( -/obj/structure/machinery/disposal, -/obj/structure/disposalpipe/trunk{ - dir = 4 - }, -/obj/structure/sign/safety/intercom{ - pixel_x = -17 - }, -/turf/open/floor/almayer/plate, +/obj/structure/morgue, +/turf/open/floor/almayer/test_floor5, /area/almayer/medical/morgue) "hQW" = ( /obj/structure/disposalpipe/segment{ @@ -28685,11 +28799,10 @@ /turf/open/floor/almayer/sterile_green_side/southeast, /area/almayer/medical/medical_science) "hVz" = ( -/obj/structure/machinery/light{ - dir = 1 - }, -/turf/open/floor/almayer/sterile_green_side/north, -/area/almayer/medical/upper_medical) +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/plating/plating_catwalk, +/area/almayer/medical/morgue) "hVL" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/floor/almayer/plate, @@ -29418,8 +29531,11 @@ /turf/open/floor/almayer/dark_sterile, /area/almayer/medical/lower_medical_lobby) "imp" = ( -/obj/structure/filingcabinet/filingcabinet, -/turf/open/floor/almayer/sterile_green_side/west, +/obj/structure/window/framed/almayer/white, +/obj/structure/machinery/door/firedoor/border_only/almayer{ + dir = 1 + }, +/turf/open/floor/plating, /area/almayer/medical/morgue) "imt" = ( /obj/structure/reagent_dispensers/water_cooler/stacks{ @@ -29712,12 +29828,10 @@ /turf/open/floor/almayer/test_floor4, /area/almayer/lifeboat_pumps/north1) "isN" = ( -/obj/structure/sink{ - dir = 8; - pixel_x = -12; - pixel_y = 2 - }, -/turf/open/floor/almayer/sterile_green_side/west, +/obj/structure/surface/table/almayer, +/obj/item/paper_bin/uscm, +/obj/item/tool/pen, +/turf/open/floor/almayer/sterile_green_corner/west, /area/almayer/medical/morgue) "itg" = ( /obj/structure/pipes/standard/simple/hidden/supply/no_boom{ @@ -30249,6 +30363,11 @@ }, /turf/open/floor/almayer/sterile_green_side/west, /area/almayer/medical/operating_room_four) +"iGA" = ( +/obj/structure/bed/sofa/south/white/left, +/obj/structure/machinery/camera/autoname/almayer, +/turf/open/floor/almayer/sterile_green_corner/north, +/area/almayer/medical/upper_medical) "iGQ" = ( /obj/structure/machinery/landinglight/ds2/delayone{ dir = 8 @@ -30458,7 +30577,7 @@ pixel_x = 32; pixel_y = 7 }, -/turf/open/floor/almayer/sterile_green_corner/east, +/turf/open/floor/plating/almayer, /area/almayer/medical/lower_medical_lobby) "iLG" = ( /obj/structure/disposalpipe/junction{ @@ -31150,7 +31269,10 @@ /area/almayer/living/briefing) "iXW" = ( /obj/structure/machinery/power/apc/almayer/east, -/turf/open/floor/almayer/sterile_green_corner, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/turf/open/floor/almayer/sterile_green, /area/almayer/medical/lower_medical_lobby) "iYe" = ( /obj/structure/pipes/standard/simple/hidden/supply{ @@ -31825,8 +31947,10 @@ /turf/open/floor/almayer/cargo/southwest, /area/almayer/engineering/starboard_atmos) "jkl" = ( -/obj/structure/morgue, -/turf/open/floor/almayer/plate, +/obj/structure/morgue{ + dir = 8 + }, +/turf/open/floor/almayer/test_floor5, /area/almayer/medical/morgue) "jkq" = ( /obj/structure/pipes/standard/simple/hidden/supply{ @@ -32665,10 +32789,7 @@ /turf/open/floor/almayer/test_floor4, /area/almayer/engineering/upper_engineering/port) "jBy" = ( -/obj/structure/machinery/light{ - dir = 4 - }, -/turf/open/floor/almayer/sterile_green_side/east, +/turf/open/floor/almayer/sterile_green_side/northeast, /area/almayer/medical/morgue) "jBO" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ @@ -32937,7 +33058,8 @@ pixel_x = -24; req_access_txt = "25" }, -/turf/open/floor/plating/plating_catwalk, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/plate, /area/almayer/medical/morgue) "jIs" = ( /obj/structure/disposalpipe/segment{ @@ -33265,11 +33387,11 @@ /turf/open/floor/almayer/orange, /area/almayer/engineering/lower) "jOG" = ( -/obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/machinery/firealarm{ dir = 4; pixel_x = 24 }, +/obj/structure/pipes/standard/simple/hidden/supply, /turf/open/floor/almayer/sterile_green_side/east, /area/almayer/medical/upper_medical) "jPd" = ( @@ -33435,10 +33557,25 @@ /turf/open/floor/almayer/green/west, /area/almayer/living/offices) "jTj" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "E" +/obj/structure/surface/table/almayer, +/obj/structure/machinery/light, +/obj/structure/machinery/computer/cameras/containment{ + dir = 8; + name = "Research Cameras"; + pixel_y = 10 }, -/turf/open/floor/almayer/plating/northeast, +/obj/structure/machinery/computer/research/main_terminal{ + dir = 8; + pixel_y = -3 + }, +/obj/structure/machinery/door_control{ + id = "CMO Shutters"; + name = "Office Shutters"; + req_access_txt = "5"; + pixel_x = -11; + pixel_y = -6 + }, +/turf/open/floor/almayer/sterile_green_side, /area/almayer/medical/upper_medical) "jTt" = ( /obj/structure/pipes/standard/simple/hidden/supply{ @@ -33792,8 +33929,7 @@ /turf/open/floor/almayer, /area/almayer/medical/containment/cell/cl) "jZY" = ( -/obj/structure/closet/l3closet/virology, -/turf/open/floor/almayer/redfull, +/turf/open/floor/almayer/sterile_green_corner/east, /area/almayer/medical/upper_medical) "kac" = ( /obj/structure/surface/rack, @@ -33892,6 +34028,10 @@ /obj/structure/machinery/light, /turf/open/floor/plating/almayer/no_build, /area/almayer/hallways/upper/fore_hallway) +"kbn" = ( +/obj/structure/flora/bush/ausbushes/grassybush, +/turf/open/gm/grass/grass1, +/area/almayer/medical/upper_medical) "kbv" = ( /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/upper/starboard) @@ -34069,20 +34209,9 @@ /turf/open/floor/plating, /area/almayer/powered/agent) "kgp" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/obj/structure/transmitter{ - name = "CMO Office Telephone"; - phone_category = "Offices"; - phone_id = "CMO Office"; - pixel_y = 29 - }, -/obj/structure/sign/safety/commline_connection{ - pixel_x = 23; - pixel_y = 32 - }, -/turf/open/floor/almayer/sterile_green_side/north, +/obj/structure/bed/sofa/south/white/right, +/obj/structure/platform, +/turf/open/floor/almayer/mono, /area/almayer/medical/upper_medical) "kgs" = ( /obj/structure/window/framed/almayer/white, @@ -34330,6 +34459,14 @@ /obj/item/circuitboard/airalarm, /turf/open/floor/almayer/orange/north, /area/almayer/engineering/lower) +"kln" = ( +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light{ + dir = 4 + }, +/turf/open/floor/almayer/sterile_green_side/east, +/area/almayer/medical/upper_medical) "klH" = ( /obj/structure/pipes/standard/manifold/hidden/supply{ dir = 4 @@ -34436,11 +34573,23 @@ /turf/open/floor/almayer/cargo_arrow/west, /area/almayer/living/gym) "koB" = ( -/obj/structure/disposalpipe/segment{ - dir = 4 +/obj/structure/sink{ + dir = 8; + pixel_x = -12; + pixel_y = 2 }, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/medical/morgue) +/obj/structure/mirror{ + pixel_x = -27 + }, +/obj/effect/decal/warning_stripes{ + icon_state = "S" + }, +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 + }, +/turf/open/floor/almayer/dark_sterile, +/area/almayer/medical/upper_medical) "koC" = ( /obj/structure/pipes/standard/simple/hidden/supply, /obj/structure/disposalpipe/segment, @@ -35244,9 +35393,17 @@ /turf/open/floor/almayer/plate, /area/almayer/living/briefing) "kEp" = ( -/obj/structure/filingcabinet/filingcabinet, -/turf/open/floor/almayer/sterile_green_corner/west, -/area/almayer/medical/morgue) +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/structure/machinery/power/apc/almayer/north, +/obj/structure/sign/safety/rewire{ + pixel_x = -20; + pixel_y = 5 + }, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/sterile_green_corner/north, +/area/almayer/medical/upper_medical) "kEq" = ( /obj/structure/machinery/door/window/ultra{ dir = 8; @@ -36558,14 +36715,8 @@ /turf/open/floor/almayer/orange/southeast, /area/almayer/engineering/upper_engineering/starboard) "lhv" = ( -/obj/structure/machinery/door_control{ - id = "CMO Shutters"; - name = "Office Shutters"; - pixel_y = -20; - req_access_txt = "5" - }, -/obj/structure/machinery/computer/crew, -/turf/open/floor/almayer/sterile_green_corner/east, +/obj/structure/closet/firecloset, +/turf/open/floor/almayer/cargo, /area/almayer/medical/upper_medical) "lhB" = ( /obj/structure/window/framed/almayer, @@ -36808,8 +36959,10 @@ /turf/closed/wall/almayer, /area/almayer/hallways/lower/starboard_umbilical) "lmi" = ( -/obj/structure/bed, -/obj/item/bedsheet/green, +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/bed/sofa/south/white/left, /turf/open/floor/almayer/mono, /area/almayer/medical/upper_medical) "lml" = ( @@ -37689,10 +37842,8 @@ /turf/open/floor/almayer/aicore/no_build/ai_silver/east, /area/almayer/command/airoom) "lFn" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_21" - }, -/turf/open/floor/almayer/sterile_green_corner/north, +/obj/structure/machinery/optable, +/turf/open/floor/almayer/plate, /area/almayer/medical/morgue) "lFp" = ( /turf/closed/wall/almayer, @@ -38568,11 +38719,10 @@ /turf/open/floor/wood/ship, /area/almayer/command/corporateliaison) "maT" = ( -/obj/structure/pipes/standard/manifold/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/light{ - dir = 4 +/obj/structure/pipes/standard/simple/hidden/supply, +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" }, /turf/open/floor/almayer/sterile_green_side/east, /area/almayer/medical/upper_medical) @@ -38597,12 +38747,11 @@ /turf/open/floor/almayer/plate, /area/almayer/living/gym) "mcW" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/box/gloves, +/obj/structure/morgue, /obj/structure/machinery/light{ dir = 8 }, -/turf/open/floor/plating/plating_catwalk, +/turf/open/floor/almayer/test_floor5, /area/almayer/medical/morgue) "mdk" = ( /obj/structure/machinery/door/poddoor/railing{ @@ -39271,13 +39420,12 @@ /turf/open/floor/almayer/plate, /area/almayer/hallways/hangar) "mrL" = ( -/obj/structure/surface/rack, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/turf/open/floor/almayer/plate, -/area/almayer/medical/morgue) +/obj/structure/machinery/camera/autoname/almayer{ + dir = 4; + name = "ship-grade camera" + }, +/turf/open/gm/grass/grass1, +/area/almayer/medical/upper_medical) "mrM" = ( /obj/structure/closet/secure_closet/quartermaster_uscm, /turf/open/floor/almayer/green, @@ -40387,13 +40535,15 @@ /turf/open/floor/almayer/plate, /area/almayer/hallways/lower/starboard_fore_hallway) "mNI" = ( -/obj/structure/machinery/door/window/westleft{ - dir = 2 +/obj/structure/morgue{ + dir = 8 }, -/obj/structure/machinery/shower, -/obj/item/tool/soap, -/turf/open/floor/almayer/sterile, -/area/almayer/medical/upper_medical) +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, +/turf/open/floor/almayer/test_floor5, +/area/almayer/medical/morgue) "mNK" = ( /obj/structure/closet/secure_closet/brig/restraints, /turf/open/floor/almayer/red/west, @@ -42266,13 +42416,9 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/port_aft_hallway) "nzv" = ( -/obj/structure/filingcabinet/filingcabinet, -/obj/item/clipboard, -/obj/item/clipboard, -/obj/item/folder/black, -/obj/item/folder/black, -/obj/item/folder/white, -/turf/open/floor/almayer/sterile_green_side, +/obj/structure/bed/sofa/south/white/right, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/sterile_green_corner, /area/almayer/medical/upper_medical) "nzD" = ( /obj/effect/step_trigger/clone_cleaner, @@ -42695,6 +42841,13 @@ }, /turf/open/floor/almayer/plate, /area/almayer/engineering/lower/workshop) +"nHP" = ( +/obj/structure/machinery/light/double/blue{ + dir = 1; + light_color = "#a7dbc7" + }, +/turf/open/gm/grass/grass1, +/area/almayer/medical/upper_medical) "nHX" = ( /obj/structure/prop/invuln/overhead_pipe{ pixel_x = 12 @@ -42851,10 +43004,8 @@ /turf/open/floor/almayer/bluefull, /area/almayer/living/briefing) "nMV" = ( -/obj/structure/machinery/cm_vending/sorted/medical/wall_med{ - pixel_y = 25 - }, -/turf/open/floor/almayer/sterile_green_side/north, +/obj/structure/closet/emcloset, +/turf/open/floor/almayer/cargo, /area/almayer/medical/upper_medical) "nNg" = ( /obj/structure/bed, @@ -44066,7 +44217,16 @@ /turf/open/floor/almayer_hull/outerhull_dir, /area/space) "okO" = ( -/obj/structure/machinery/cm_vending/clothing/senior_officer, +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 5; + layer = 3.51 + }, /turf/open/floor/almayer/mono, /area/almayer/medical/upper_medical) "old" = ( @@ -44074,6 +44234,12 @@ /obj/structure/largecrate/random/case/double, /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/upper/s_bow) +"olz" = ( +/obj/structure/platform_decoration{ + dir = 4 + }, +/turf/open/floor/almayer/mono, +/area/almayer/medical/upper_medical) "olF" = ( /obj/structure/closet/emcloset, /turf/open/floor/almayer/cargo, @@ -44202,11 +44368,11 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/squads/charlie) "onQ" = ( -/obj/structure/sign/safety/rewire{ - pixel_x = 8; - pixel_y = 32 +/obj/effect/decal/warning_stripes{ + icon_state = "S" }, -/turf/open/floor/almayer/sterile_green_side/northeast, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/sterile_green_side, /area/almayer/medical/upper_medical) "onU" = ( /obj/effect/step_trigger/teleporter_vector{ @@ -45515,14 +45681,18 @@ /turf/open/floor/almayer/test_floor4, /area/almayer/medical/hydroponics) "oNJ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N" +/obj/structure/transmitter{ + name = "CMO Office Telephone"; + phone_category = "Offices"; + phone_id = "CMO Office"; + dir = 4; + pixel_x = -20 }, -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out"; - layer = 2.5 +/obj/structure/sign/safety/commline_connection{ + pixel_x = -17; + pixel_y = 32 }, -/turf/open/floor/almayer/plating/northeast, +/turf/open/floor/almayer/sterile_green_side/west, /area/almayer/medical/upper_medical) "oNK" = ( /obj/structure/machinery/power/apc/almayer/north, @@ -46621,11 +46791,12 @@ /turf/closed/wall/almayer, /area/almayer/maint/hull/upper/p_bow) "pjF" = ( -/obj/structure/surface/table/almayer, -/obj/item/paper, -/obj/item/tool/lighter/random, -/turf/open/floor/almayer/plate, -/area/almayer/medical/morgue) +/obj/structure/machinery/cm_vending/clothing/senior_officer{ + pixel_y = 20; + density = 0 + }, +/turf/open/floor/almayer/mono, +/area/almayer/medical/upper_medical) "pjG" = ( /obj/structure/disposalpipe/segment{ dir = 8 @@ -46635,6 +46806,13 @@ }, /turf/open/floor/almayer/plating_striped, /area/almayer/squads/req) +"pjO" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 1; + name = "ship-grade camera" + }, +/turf/open/floor/almayer/green, +/area/almayer/hallways/upper/fore_hallway) "pjP" = ( /obj/structure/machinery/firealarm{ pixel_y = 28 @@ -46993,13 +47171,10 @@ /turf/open/floor/plating, /area/almayer/engineering/upper_engineering) "pth" = ( -/obj/structure/surface/table/almayer, -/obj/item/folder/blue, -/obj/effect/landmark/map_item, -/obj/structure/pipes/vents/scrubber{ - dir = 8 +/obj/structure/machinery/status_display{ + pixel_y = 30 }, -/turf/open/floor/almayer/sterile_green_side/east, +/turf/open/gm/grass/grass1, /area/almayer/medical/upper_medical) "ptj" = ( /obj/structure/machinery/cm_vending/sorted/cargo_guns/squad_prep, @@ -47641,6 +47816,14 @@ }, /turf/open/floor/almayer/test_floor4, /area/almayer/lifeboat_pumps/north1) +"pJl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + layer = 2.5; + pixel_y = 2 + }, +/turf/open/floor/almayer/sterile_green_side/northwest, +/area/almayer/medical/upper_medical) "pJq" = ( /obj/effect/decal/warning_stripes{ icon_state = "SE-out"; @@ -48771,18 +48954,14 @@ /turf/open/floor/almayer/plate, /area/almayer/maint/upper/u_f_s) "qhx" = ( -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22" - }, -/obj/structure/sign/safety/ammunition{ - pixel_x = -17; - pixel_y = 7 +/obj/structure/closet/secure_closet/personal/cabinet{ + req_access_txt = "5" }, -/obj/structure/sign/safety/hazard{ - pixel_x = -17; - pixel_y = -8 +/obj/item/clothing/accessory/stethoscope, +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/floor/almayer/sterile_green_side/north, +/turf/open/floor/almayer/mono, /area/almayer/medical/upper_medical) "qhD" = ( /obj/structure/closet{ @@ -50550,12 +50729,8 @@ /turf/open/floor/almayer/red, /area/almayer/command/lifeboat) "qQc" = ( -/obj/structure/closet/secure_closet/personal/patient{ - name = "morgue closet" - }, -/obj/structure/machinery/alarm/almayer{ - dir = 1 - }, +/obj/structure/disposalpipe/segment, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer/plate, /area/almayer/medical/morgue) "qQp" = ( @@ -51566,6 +51741,20 @@ /obj/structure/pipes/vents/scrubber, /turf/open/floor/almayer, /area/almayer/living/gym) +"rkK" = ( +/obj/structure/platform{ + dir = 1 + }, +/obj/structure/bed/sofa/south/white/right, +/obj/effect/decal/cleanable/dirt, +/obj/item/toy/plush/therapy/random_color{ + pixel_y = -3 + }, +/obj/structure/sign/nosmoking_2{ + pixel_y = 29 + }, +/turf/open/floor/almayer/mono, +/area/almayer/medical/upper_medical) "rkV" = ( /obj/structure/window/framed/almayer/hull/hijack_bustable, /obj/structure/machinery/door/poddoor/shutters/almayer/open{ @@ -51720,12 +51909,8 @@ /turf/open/floor/almayer/blue/north, /area/almayer/hallways/upper/midship_hallway) "rnN" = ( -/obj/structure/pipes/standard/simple/hidden/supply, -/obj/structure/sign/nosmoking_2{ - pixel_x = 32 - }, -/turf/open/floor/almayer/sterile_green_side/east, -/area/almayer/medical/upper_medical) +/turf/open/floor/almayer/greenfull, +/area/almayer/hallways/upper/fore_hallway) "rob" = ( /obj/structure/pipes/standard/manifold/hidden/supply, /turf/open/floor/plating/plating_catwalk, @@ -51898,6 +52083,9 @@ }, /turf/open/floor/almayer/test_floor4, /area/almayer/living/bridgebunks) +"rrD" = ( +/turf/open/floor/almayer/sterile_green_side/southeast, +/area/almayer/medical/upper_medical) "rrK" = ( /obj/structure/bed/chair{ can_buckle = 0; @@ -52144,6 +52332,13 @@ /obj/structure/window/framed/almayer/hull, /turf/open/floor/plating, /area/almayer/maint/hull/upper/u_f_p) +"rxc" = ( +/obj/structure/disposalpipe/segment{ + dir = 8; + icon_state = "pipe-c" + }, +/turf/open/floor/almayer/plate, +/area/almayer/medical/morgue) "rxe" = ( /obj/structure/surface/rack, /obj/effect/spawner/random/toolbox, @@ -52559,6 +52754,13 @@ }, /turf/open/floor/almayer/sterile_green_side/southwest, /area/almayer/medical/lower_medical_medbay) +"rGc" = ( +/obj/structure/flora/bush/ausbushes/ppflowers, +/obj/structure/machinery/status_display{ + pixel_x = -32 + }, +/turf/open/gm/grass/grass1, +/area/almayer/medical/upper_medical) "rGj" = ( /turf/open/floor/almayer/red, /area/almayer/squads/alpha) @@ -53156,6 +53358,13 @@ }, /turf/open/floor/almayer/orangefull, /area/almayer/squads/alpha_bravo_shared) +"rSq" = ( +/obj/structure/closet/secure_closet/guncabinet/red/armory_shotgun, +/obj/structure/machinery/light{ + dir = 8 + }, +/turf/open/floor/almayer/redfull, +/area/almayer/medical/upper_medical) "rSx" = ( /obj/structure/surface/table/almayer, /obj/item/stack/rods/plasteel{ @@ -53680,14 +53889,17 @@ /turf/open/floor/almayer/red, /area/almayer/hallways/upper/starboard) "sdn" = ( -/obj/structure/sink{ +/obj/effect/decal/cleanable/dirt, +/obj/structure/machinery/light/double/blue{ dir = 4; - pixel_x = 11 + light_color = "#a7dbc7" }, -/obj/structure/mirror{ - pixel_x = 28 +/obj/structure/reagent_dispensers/water_cooler/stacks{ + pixel_y = 23; + pixel_x = -8; + density = 0 }, -/turf/open/floor/almayer/sterile, +/turf/open/floor/almayer/sterile_green_corner, /area/almayer/medical/upper_medical) "sdu" = ( /obj/structure/disposalpipe/segment, @@ -53715,7 +53927,7 @@ height = 1; id = "med1" }, -/turf/open/floor/almayer/sterile_green_side, +/turf/open/floor/plating/almayer, /area/almayer/medical/lower_medical_lobby) "seL" = ( /obj/structure/pipes/vents/pump{ @@ -54020,10 +54232,8 @@ /turf/open/floor/almayer, /area/almayer/shipboard/brig/processing) "skl" = ( -/obj/structure/bed/chair/office/dark{ - dir = 8 - }, -/turf/open/floor/almayer/dark_sterile, +/obj/structure/machinery/computer/crew, +/turf/open/floor/almayer/sterile_green_corner, /area/almayer/medical/upper_medical) "skn" = ( /turf/open/floor/almayer/plating_striped, @@ -55211,6 +55421,10 @@ /turf/open/floor/almayer/orange/north, /area/almayer/living/port_emb) "sKa" = ( +/obj/structure/machinery/camera/autoname/almayer{ + dir = 8; + name = "ship-grade camera" + }, /turf/open/floor/almayer/sterile_green_side/east, /area/almayer/medical/morgue) "sKf" = ( @@ -55407,11 +55621,24 @@ /turf/open/floor/almayer/orange/northwest, /area/almayer/maint/upper/mess) "sOZ" = ( -/obj/structure/sign/safety/ammunition{ - pixel_y = 32 +/obj/structure/machinery/light{ + dir = 1 }, -/obj/structure/closet/secure_closet/guncabinet/red/armory_m4a3_pistol, -/turf/open/floor/almayer/redfull, +/obj/item/paper_bin/wy{ + pixel_y = 8; + pixel_x = -7 + }, +/obj/structure/surface/table/almayer, +/obj/item/tool/pen{ + pixel_y = 4; + pixel_x = -8 + }, +/obj/item/folder/blue{ + pixel_y = 5; + pixel_x = 6 + }, +/obj/effect/landmark/map_item, +/turf/open/floor/almayer/sterile_green_corner/north, /area/almayer/medical/upper_medical) "sPa" = ( /obj/structure/surface/rack, @@ -55809,13 +56036,11 @@ /turf/open/floor/almayer/plate, /area/almayer/shipboard/port_point_defense) "sYT" = ( -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 4; - id = "CMO Shutters"; - name = "\improper CMO Office Shutters" +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + layer = 2.5 }, -/obj/structure/window/framed/almayer/white, -/turf/open/floor/plating, +/turf/open/floor/almayer/sterile_green_side/west, /area/almayer/medical/upper_medical) "sYU" = ( /obj/structure/disposalpipe/segment{ @@ -56909,16 +57134,11 @@ /turf/open/floor/almayer/bluefull, /area/almayer/command/cichallway) "tsC" = ( -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/obj/item/storage/box/bodybags, -/obj/structure/surface/table/almayer, -/obj/structure/sign/poster{ - icon_state = "poster8"; - pixel_y = 32 +/obj/structure/machinery/door/poddoor/shutters/almayer{ + id = "Research Armory"; + name = "\improper Armory Shutters" }, -/turf/open/floor/almayer/sterile_green_corner/north, +/turf/open/floor/almayer/test_floor4, /area/almayer/medical/upper_medical) "tsE" = ( /obj/structure/largecrate/random/barrel/blue, @@ -57216,6 +57436,13 @@ }, /turf/open/floor/almayer/cargo, /area/almayer/engineering/lower/engine_core) +"txW" = ( +/obj/structure/bed/chair{ + dir = 8; + pixel_y = 3 + }, +/turf/open/floor/almayer/sterile_green_side, +/area/almayer/medical/upper_medical) "tyb" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -57477,17 +57704,8 @@ /turf/open/floor/almayer/cargo, /area/almayer/engineering/lower/workshop/hangar) "tEi" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "S" - }, -/obj/structure/machinery/door_control{ - dir = 1; - id = "Research Armory"; - name = "Research Armory"; - pixel_x = 27; - req_one_access_txt = "4;28" - }, -/turf/open/floor/almayer/plating/northeast, +/obj/structure/pipes/standard/manifold/hidden/supply, +/turf/open/floor/almayer/dark_sterile, /area/almayer/medical/upper_medical) "tEu" = ( /obj/structure/machinery/disposal, @@ -58218,21 +58436,12 @@ /turf/open/floor/almayer/silver, /area/almayer/hallways/lower/repair_bay) "tWY" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 4 - }, -/obj/structure/machinery/door/poddoor/shutters/almayer/open{ - dir = 4; - id = "CMO Shutters"; - name = "\improper CMO Office Shutters" - }, -/obj/structure/machinery/door/airlock/almayer/medical/glass{ - access_modified = 1; - name = "\improper CMO's Office"; - req_one_access = null; - req_one_access_txt = "1;5" +/obj/effect/decal/warning_stripes{ + icon_state = "W"; + layer = 2.5 }, -/turf/open/floor/almayer/test_floor4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/sterile_green_side/west, /area/almayer/medical/upper_medical) "tXa" = ( /obj/item/storage/toolbox/mechanical{ @@ -59037,10 +59246,12 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/maint/hull/lower/p_bow) "upM" = ( -/obj/structure/machinery/light{ - dir = 4 +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out"; + layer = 2.5; + pixel_y = 1 }, -/turf/open/floor/almayer/dark_sterile, +/turf/open/floor/almayer/sterile_green_side/north, /area/almayer/medical/upper_medical) "upO" = ( /obj/structure/disposalpipe/segment, @@ -59888,6 +60099,12 @@ }, /turf/open/floor/almayer/green/north, /area/almayer/hallways/lower/port_midship_hallway) +"uGk" = ( +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/almayer/mono, +/area/almayer/medical/upper_medical) "uGN" = ( /obj/structure/pipes/vents/pump, /turf/open/floor/almayer, @@ -60248,13 +60465,11 @@ /turf/open/floor/almayer/red/northwest, /area/almayer/command/lifeboat) "uRt" = ( -/obj/structure/machinery/light{ - dir = 8 - }, -/obj/structure/flora/pottedplant{ - icon_state = "pottedplant_22" +/obj/effect/decal/warning_stripes{ + icon_state = "N"; + pixel_y = 1 }, -/turf/open/floor/almayer/sterile_green_side/west, +/turf/open/floor/almayer/sterile_green_side/north, /area/almayer/medical/upper_medical) "uRD" = ( /obj/structure/pipes/standard/simple/hidden/supply{ @@ -61164,14 +61379,15 @@ /turf/open/floor/almayer/plate, /area/almayer/living/chapel) "vih" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/fancy/candle_box, /obj/structure/sign/safety/medical{ - pixel_x = 8; + pixel_x = 15; pixel_y = -32 }, -/turf/open/floor/almayer/plate, -/area/almayer/medical/morgue) +/obj/structure/sign/safety/restrictedarea{ + pixel_y = -32 + }, +/turf/open/floor/almayer/green, +/area/almayer/hallways/upper/fore_hallway) "vil" = ( /obj/structure/pipes/standard/simple/hidden/supply{ dir = 4 @@ -61871,10 +62087,8 @@ /turf/open/shuttle/dropship/light_grey_single_wide_up_to_down, /area/almayer/powered/agent) "vtx" = ( -/obj/structure/machinery/door/airlock/almayer/generic{ - name = "\improper Bathroom" - }, -/turf/open/floor/almayer/test_floor4, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/dark_sterile, /area/almayer/medical/upper_medical) "vtG" = ( /obj/structure/toilet{ @@ -62693,10 +62907,7 @@ /turf/open/floor/almayer/redfull, /area/almayer/command/cic) "vIf" = ( -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" - }, +/obj/effect/decal/cleanable/dirt, /turf/open/floor/almayer/sterile_green_side, /area/almayer/medical/upper_medical) "vIg" = ( @@ -63133,11 +63344,16 @@ /turf/open/floor/almayer, /area/almayer/command/computerlab) "vQN" = ( -/obj/structure/sign/safety/restrictedarea{ - pixel_y = -32 +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/floor/almayer/green, -/area/almayer/hallways/upper/fore_hallway) +/obj/structure/surface/table/almayer, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 16 + }, +/turf/open/floor/almayer/sterile_green_corner/east, +/area/almayer/medical/upper_medical) "vQR" = ( /obj/structure/disposalpipe/segment, /turf/open/floor/wood/ship, @@ -63196,15 +63412,16 @@ /turf/open/floor/almayer/red/north, /area/almayer/hallways/upper/port) "vRX" = ( -/obj/structure/surface/table/almayer, -/obj/item/book/manual/medical_diagnostics_manual, -/obj/item/device/megaphone, -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 +/obj/structure/platform_decoration{ + dir = 4 }, -/turf/open/floor/almayer/sterile_green_corner, +/obj/structure/platform_decoration{ + dir = 1 + }, +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 + }, +/turf/open/floor/plating/plating_catwalk, /area/almayer/medical/upper_medical) "vSl" = ( /obj/structure/pipes/standard/simple/hidden/supply{ @@ -63578,12 +63795,20 @@ /turf/open/floor/almayer, /area/almayer/engineering/lower) "vXv" = ( -/obj/structure/machinery/light{ +/obj/structure/platform{ dir = 1 }, +/obj/structure/platform{ + dir = 8 + }, +/obj/structure/platform_decoration{ + dir = 5; + layer = 3.51 + }, /obj/structure/flora/pottedplant{ - icon_state = "pottedplant_10"; - pixel_y = 14 + icon_state = "pottedplant_22"; + pixel_y = 6; + pixel_x = 2 }, /turf/open/floor/almayer/mono, /area/almayer/medical/upper_medical) @@ -64156,13 +64381,11 @@ /turf/open/floor/almayer/orangefull, /area/almayer/engineering/upper_engineering) "wjz" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "N" - }, -/obj/effect/decal/warning_stripes{ - icon_state = "S" +/obj/structure/machinery/light{ + dir = 8 }, -/turf/open/floor/almayer/plating/northeast, +/obj/effect/decal/cleanable/dirt, +/turf/open/floor/almayer/sterile_green_corner/west, /area/almayer/medical/upper_medical) "wjC" = ( /obj/structure/closet/firecloset, @@ -64475,17 +64698,11 @@ /turf/open/floor/almayer/test_floor4, /area/almayer/command/cic) "wpu" = ( -/obj/structure/surface/table/reinforced/almayer_B, -/obj/item/device/flashlight/lamp{ - pixel_y = 8 - }, -/obj/item/clothing/glasses/science{ - pixel_x = 3; - pixel_y = -3 +/obj/structure/sign/safety/refridgeration{ + pixel_y = -32 }, -/obj/item/device/flash, -/turf/open/floor/almayer/mono, -/area/almayer/medical/upper_medical) +/turf/open/floor/almayer/green, +/area/almayer/hallways/upper/fore_hallway) "wpI" = ( /turf/open/floor/almayer/green/east, /area/almayer/living/grunt_rnr) @@ -64527,11 +64744,21 @@ /turf/open/floor/plating/plating_catwalk, /area/almayer/hallways/lower/starboard_aft_hallway) "wqW" = ( -/obj/structure/closet/secure_closet/CMO, -/obj/structure/machinery/light{ - dir = 1 +/obj/structure/platform, +/obj/structure/platform{ + dir = 8 }, -/turf/open/floor/almayer/sterile_green_corner/north, +/obj/structure/platform_decoration{ + dir = 10; + layer = 3.51 + }, +/obj/effect/decal/cleanable/dirt, +/obj/structure/flora/pottedplant{ + icon_state = "pottedplant_22"; + pixel_y = 12; + pixel_x = 2 + }, +/turf/open/floor/almayer/mono, /area/almayer/medical/upper_medical) "wra" = ( /obj/structure/machinery/light/small{ @@ -65141,12 +65368,11 @@ /turf/open/floor/almayer/green/north, /area/almayer/hallways/lower/port_midship_hallway) "wDH" = ( -/obj/structure/morgue, -/obj/structure/machinery/light{ - dir = 8 - }, -/turf/open/floor/almayer/plate, -/area/almayer/medical/morgue) +/obj/structure/surface/table/almayer, +/obj/item/book/manual/medical_diagnostics_manual, +/obj/item/device/megaphone, +/turf/open/floor/almayer/sterile_green, +/area/almayer/medical/upper_medical) "wDJ" = ( /turf/open/floor/almayer/emerald/north, /area/almayer/squads/charlie_delta_shared) @@ -65428,14 +65654,7 @@ /turf/open/floor/plating, /area/almayer/shipboard/brig/cryo) "wJo" = ( -/obj/structure/machinery/door/airlock/almayer/research/reinforced{ - access_modified = 1; - dir = 1; - name = "\improper CMO's Bedroom"; - req_one_access_txt = "1;5" - }, -/obj/structure/pipes/standard/simple/hidden/supply, -/turf/open/floor/almayer/test_floor4, +/turf/open/floor/almayer/sterile_green_corner/west, /area/almayer/medical/upper_medical) "wJC" = ( /obj/structure/largecrate/random/barrel/yellow, @@ -66024,14 +66243,8 @@ /turf/open/floor/almayer/plate, /area/almayer/living/auxiliary_officer_office) "wUd" = ( -/obj/structure/surface/table/almayer, -/obj/item/storage/box/gloves{ - pixel_x = 7; - pixel_y = 7 - }, -/obj/item/storage/fancy/candle_box, -/turf/open/floor/plating/plating_catwalk, -/area/almayer/medical/morgue) +/turf/open/floor/almayer/mono, +/area/almayer/medical/upper_medical) "wUJ" = ( /obj/structure/largecrate/random/barrel/white, /turf/open/floor/almayer/plate, @@ -66577,10 +66790,7 @@ /turf/open/floor/almayer/plate, /area/almayer/living/briefing) "xgP" = ( -/obj/structure/pipes/standard/simple/hidden/supply{ - dir = 10 - }, -/turf/open/floor/almayer/mono, +/turf/open/floor/almayer/sterile_green_corner/north, /area/almayer/medical/upper_medical) "xgS" = ( /obj/structure/disposalpipe/segment{ @@ -67114,10 +67324,13 @@ /turf/open/floor/almayer/sterile_green_side/southeast, /area/almayer/medical/lower_medical_medbay) "xsz" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SE-out" +/obj/structure/pipes/standard/simple/hidden/supply{ + dir = 4 }, -/turf/open/floor/almayer/plating/northeast, +/obj/structure/machinery/photocopier{ + layer = 2.9 + }, +/turf/open/floor/almayer/dark_sterile, /area/almayer/medical/upper_medical) "xsQ" = ( /obj/structure/surface/table/almayer, @@ -67135,7 +67348,11 @@ /area/almayer/maint/lower/constr) "xtM" = ( /obj/structure/machinery/light, -/turf/open/floor/almayer/sterile_green_side/southeast, +/obj/effect/decal/warning_stripes{ + icon_state = "E"; + pixel_x = 1 + }, +/turf/open/floor/almayer/sterile_green_side/east, /area/almayer/medical/lower_medical_lobby) "xub" = ( /obj/structure/disposalpipe/segment{ @@ -67157,6 +67374,10 @@ /obj/structure/machinery/light, /turf/open/floor/almayer, /area/almayer/hallways/lower/port_aft_hallway) +"xur" = ( +/obj/structure/bed/chair/office/dark, +/turf/open/floor/almayer/sterile_green_side/southwest, +/area/almayer/medical/morgue) "xuy" = ( /obj/effect/decal/warning_stripes{ icon_state = "E"; @@ -68149,11 +68370,8 @@ /turf/open/floor/almayer/cargo, /area/almayer/hallways/hangar) "xNu" = ( -/obj/structure/toilet{ - dir = 1 - }, -/obj/structure/machinery/light, -/turf/open/floor/almayer/sterile, +/obj/structure/flora/bush/ausbushes/lavendergrass, +/turf/open/gm/grass/grass1, /area/almayer/medical/upper_medical) "xNv" = ( /obj/structure/bed/chair/office/dark{ @@ -68684,19 +68902,12 @@ /turf/open/floor/almayer/plate, /area/almayer/living/briefing) "xZt" = ( -/obj/structure/sign/safety/refridgeration{ - pixel_y = -32 - }, -/obj/structure/sign/safety/medical{ - pixel_x = 15; - pixel_y = -32 - }, -/obj/structure/machinery/camera/autoname/almayer{ - dir = 1; - name = "ship-grade camera" +/obj/structure/disposalpipe/segment, +/obj/structure/machinery/light{ + dir = 4 }, -/turf/open/floor/almayer/green, -/area/almayer/hallways/upper/fore_hallway) +/turf/open/floor/plating/plating_catwalk, +/area/almayer/medical/morgue) "xZG" = ( /obj/structure/machinery/light{ dir = 4 @@ -69175,13 +69386,9 @@ /turf/open/floor/almayer, /area/almayer/living/synthcloset) "yjb" = ( -/obj/item/device/radio/intercom{ - freerange = 1; - name = "General Listening Channel"; - pixel_y = 28 - }, -/turf/open/floor/almayer/sterile_green_side/north, -/area/almayer/medical/morgue) +/obj/structure/flora/bush/ausbushes/ausbush, +/turf/open/gm/grass/grass1, +/area/almayer/medical/upper_medical) "yjq" = ( /obj/structure/machinery/door/poddoor/almayer/locked{ icon_state = "almayer_pdoor"; @@ -73025,7 +73232,7 @@ aaa aaa aaa aaa -aaa +bdH aaa aab aaa @@ -73209,10 +73416,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -73230,13 +73461,10 @@ aaa aaa aaa aaa -aab aaa aaa -aKQ aaa aaa -aab aaa aaa aaa @@ -73310,10 +73538,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(21,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -73331,14 +73563,10 @@ aaa aaa aaa aaa -aab aaa aaa -"} -(21,1,1) = {" aaa aaa -aab aaa aaa aaa @@ -73391,10 +73619,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -73433,15 +73685,6 @@ aaa aaa aaa aaa -aab -aaa -aaa -aKQ -aaa -aaa -aab -aaa -aaa aaa aaa aaa @@ -73498,10 +73741,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(22,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -73534,15 +73781,10 @@ aaa aaa aaa aaa -aab aaa aaa -"} -(22,1,1) = {" aaa aaa -aab -aaa aaa aaa aaa @@ -73551,6 +73793,10 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH aaa aaa aaa @@ -73576,20 +73822,40 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa aaa aaa aaa -bdH -bdH -bdH -bdH aaa aaa aaa @@ -73636,13 +73902,10 @@ aaa aaa aaa aaa -aab aaa aaa -aKQ aaa aaa -aab aaa aaa aaa @@ -73681,10 +73944,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(23,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -73729,6 +73996,10 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH aaa aaa aaa @@ -73737,14 +74008,10 @@ aaa aaa aaa aaa -aab aaa aaa -"} -(23,1,1) = {" aaa aaa -aab aaa aaa aaa @@ -73758,10 +74025,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -73789,10 +74080,6 @@ aaa aaa aaa aaa -bdH -bdH -bdH -bdH aaa aaa aaa @@ -73839,13 +74126,10 @@ aaa aaa aaa aaa -aab aaa aaa -aKQ aaa aaa -aab aaa aaa aaa @@ -73863,10 +74147,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(24,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -73911,6 +74199,10 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH aaa aaa aaa @@ -73936,18 +74228,38 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa aab aaa aaa -"} -(24,1,1) = {" aaa aaa -aab aaa aaa aaa @@ -73992,10 +74304,6 @@ aaa aaa aaa aaa -bdH -bdH -bdH -bdH aaa aaa aaa @@ -74045,7 +74353,8 @@ aaa aab aaa aaa -aKQ +"} +(25,1,1) = {" aaa aaa aab @@ -74093,6 +74402,10 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH aaa aaa aaa @@ -74118,10 +74431,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -74143,14 +74480,8 @@ aaa aaa aaa aaa -aab -aaa -aaa -"} -(25,1,1) = {" aaa aaa -aab aaa aaa aaa @@ -74195,10 +74526,6 @@ aaa aaa aaa aaa -bdH -bdH -bdH -bdH aaa aaa aaa @@ -74226,10 +74553,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(26,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -74245,13 +74576,10 @@ aaa aaa aaa aaa -aab aaa aaa -aKQ aaa aaa -aab aaa aaa aaa @@ -74277,6 +74605,10 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH aaa aaa aaa @@ -74302,10 +74634,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -74346,14 +74702,10 @@ aaa aaa aaa aaa -aab aaa aaa -"} -(26,1,1) = {" aaa aaa -aab aaa aaa aaa @@ -74398,20 +74750,20 @@ aaa aaa aaa aaa -bdH -bdH -bdH -bdH aaa aaa aaa aaa aaa aaa +aab aaa aaa +"} +(27,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -74448,17 +74800,18 @@ aaa aaa aaa aaa -aab aaa aaa -aKQ aaa aaa -aab aaa aaa aaa aaa +bdH +bdH +bdH +bdH aaa aaa aaa @@ -74484,10 +74837,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -74549,15 +74926,10 @@ aaa aaa aaa aaa -aab aaa aaa -"} -(27,1,1) = {" aaa aaa -aab -aaa aaa aaa aaa @@ -74587,10 +74959,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(28,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -74601,11 +74977,6 @@ aaa aaa aaa aaa -bdH -bdH -bdH -bdH -aaa aaa aaa aaa @@ -74640,6 +75011,10 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH aaa aaa aaa @@ -74651,14 +75026,8 @@ aaa aaa aaa aaa -aab aaa aaa -aKQ -aaa -aaa -aab -aaa aaa aaa aaa @@ -74671,10 +75040,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -74752,14 +75145,10 @@ aaa aaa aaa aaa -aab aaa aaa -"} -(28,1,1) = {" aaa aaa -aab aaa aaa aaa @@ -74773,10 +75162,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(29,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -74804,10 +75197,6 @@ aaa aaa aaa aaa -bdH -bdH -bdH -bdH aaa aaa aaa @@ -74854,6 +75243,27 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aab aaa aaa @@ -74959,7 +75369,7 @@ aab aaa aaa "} -(29,1,1) = {" +(30,1,1) = {" aaa aaa aab @@ -75020,6 +75430,15 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aaa aaa @@ -75027,36 +75446,27 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aab aaa aaa @@ -75162,7 +75572,7 @@ aab aaa aaa "} -(30,1,1) = {" +(31,1,1) = {" aaa aaa aab @@ -75239,27 +75649,27 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aab aaa aaa @@ -75365,7 +75775,7 @@ aab aaa aaa "} -(31,1,1) = {" +(32,1,1) = {" aaa aaa aab @@ -75442,27 +75852,27 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aab aaa aaa @@ -75568,7 +75978,7 @@ aab aaa aaa "} -(32,1,1) = {" +(33,1,1) = {" aaa aaa aab @@ -75645,10 +76055,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -75666,26 +76100,6 @@ aaa aaa aaa aaa -aab -aaa -aaa -aKQ -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa aaa aaa aaa @@ -75763,18 +76177,17 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(34,1,1) = {" aaa aaa aab aaa aaa -"} -(33,1,1) = {" -aaa aaa -aab aaa aaa aaa @@ -75808,8 +76221,21 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH aaa aaa +aac +aaf +aaf +aaf +aaf +aaf +aaf +aaf +ajY aaa aaa aaa @@ -75841,10 +76267,25 @@ bdH bdH bdH bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -75869,13 +76310,9 @@ aaa aaa aaa aaa -aab -aaa aaa -aKQ aaa aaa -aab aaa aaa aaa @@ -75943,10 +76380,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(35,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -75970,19 +76411,16 @@ aaa aaa aaa aaa -aab aaa aaa -"} -(34,1,1) = {" aaa aaa -aab aaa aaa aaa aaa aaa +bdH aaa aaa aaa @@ -75992,6 +76430,15 @@ aaa aaa aaa aaa +aad +feb +feb +feb +feb +feb +feb +feb +ajZ aaa aaa aaa @@ -76018,22 +76465,30 @@ bdH bdH bdH bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa -aac -aaf -aaf -aaf -aaf -aaf -aaf -aaf -ajY -aaa -aaa -aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -76072,13 +76527,10 @@ aaa aaa aaa aaa -aab aaa aaa -aKQ aaa aaa -aab aaa aaa aaa @@ -76131,10 +76583,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(36,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -76167,20 +76623,36 @@ aaa aaa aaa aaa +bdH aaa aaa aaa aaa +aac +aaf +aaf +aaf +aaf +aag +feb +qmR +oog +dsA +rbK +tmH +feb +aag +aaf +aaf +aaf +aaf +ajY aaa aaa -aab aaa aaa -"} -(35,1,1) = {" aaa aaa -aab aaa aaa aaa @@ -76192,10 +76664,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -76213,7 +76709,6 @@ aaa aaa aaa aaa -bdH aaa aaa aaa @@ -76223,15 +76718,6 @@ aaa aaa aaa aaa -aad -feb -feb -feb -feb -feb -feb -feb -ajZ aaa aaa aaa @@ -76275,13 +76761,10 @@ aaa aaa aaa aaa -aab aaa aaa -aKQ aaa aaa -aab aaa aaa aaa @@ -76303,10 +76786,14 @@ aaa aaa aaa aaa +aab aaa aaa +"} +(37,1,1) = {" aaa aaa +aab aaa aaa aaa @@ -76339,10 +76826,30 @@ aaa aaa aaa aaa +bdH aaa aaa aaa aaa +aad +hPI +hPI +hPI +hPI +hPI +feb +dhd +oog +jNT +fag +qCA +feb +hRu +hRu +hRu +hRu +hRu +ajZ aaa aaa aaa @@ -76360,10 +76867,34 @@ aaa aaa aaa aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +aab aaa aaa +aKQ aaa aaa +aab aaa aaa aaa @@ -76376,14 +76907,10 @@ aaa aaa aaa aaa -aab aaa aaa -"} -(36,1,1) = {" aaa aaa -aab aaa aaa aaa @@ -76416,30 +76943,10 @@ aaa aaa aaa aaa -bdH aaa aaa aaa aaa -aac -aaf -aaf -aaf -aaf -aag -feb -qmR -oog -dsA -rbK -tmH -feb -aag -aaf -aaf -aaf -aaf -ajY aaa aaa aaa @@ -76478,318 +76985,18 @@ aaa aaa aaa aaa -aab aaa aaa -aKQ aaa aaa aab aaa aaa +"} +(38,1,1) = {" aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -"} -(37,1,1) = {" -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -bdH -aaa -aaa -aaa -aaa -aad -hPI -hPI -hPI -hPI -hPI -feb -dhd -oog -jNT -fag -qCA -feb -hRu -hRu -hRu -hRu -hRu -ajZ -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -aKQ -aaa -aaa -aab -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aab -aaa -aaa -"} -(38,1,1) = {" -aaa -aaa -aab +aab aaa aaa aaa @@ -76863,27 +77070,27 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aab aaa aaa @@ -77066,27 +77273,27 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aab aaa aaa @@ -77270,25 +77477,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -77473,25 +77680,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -77676,25 +77883,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -77879,25 +78086,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -78082,25 +78289,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -78285,25 +78492,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -78488,25 +78695,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -78691,25 +78898,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -78894,25 +79101,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -79097,25 +79304,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -79300,25 +79507,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -79503,25 +79710,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -79706,25 +79913,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -79909,25 +80116,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -80112,25 +80319,25 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -80530,9 +80737,9 @@ aaa aaa aaa aaa -aaa -aaa -aaa +bdH +bdH +bdH aaa aaa aaa @@ -80729,17 +80936,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -80932,17 +81139,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -81135,17 +81342,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -81338,17 +81545,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -81540,19 +81747,19 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aab aaa aaa @@ -81743,19 +81950,19 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aab aaa aaa @@ -81946,19 +82153,19 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aab aaa aaa @@ -82150,17 +82357,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -82353,17 +82560,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -82556,17 +82763,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -82759,17 +82966,17 @@ aaa aaa aaa aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa -aaa +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH +bdH aaa aab aaa @@ -82966,9 +83173,9 @@ aaa aaa aaa aaa -aaa -aaa -aaa +bdH +bdH +bdH aaa aaa aaa @@ -95706,6 +95913,7 @@ gLl gvu xCB tJm +rnN aoe aoe aoe @@ -95723,9 +95931,8 @@ aoe aoe aoe aoe -aoe -aoe -hwB +rnN +gvu xCB kaj vIo @@ -95908,27 +96115,27 @@ qhg gLl pzw xCB -tJm +vih +aoe aoe -aoh jHQ -jkl -jkl -jkl -wDH +hQU +hQU +hQU +hQU dSJ hQU -pjF +hQU mcW -vih -aoe +hQU +vbS imp fYb cnV isN -cnZ aoe -gvu +aoe +hwB xCB tJm vIo @@ -96111,24 +96318,24 @@ gtI kYF dME nbH -tJm +wpu aoe -vbS -arb -aoq +aoh +aor +aor aoq aoq aoq -arb ccs aoq aoq aoq -aor -aEi -aEi -cnW +aoq +aoq +imp +gzJ aEi +xur coa aoe lXR @@ -96313,26 +96520,26 @@ gxm gxm gxm lXR -nbH -tJm -aoe +lYS +mzn +hSI qQc -fXg -dfa -dfa -dfa -dfa +pMp +xZt +hVz +hVz dfa -gzK +rxc arb arb arb +aEN aor -sKa +eSN sKa jBy aEi -fFh +aHa aoe gvu nbH @@ -96519,21 +96726,21 @@ gpp xCB tJm aoe -vbS -koB -asU -asU -asU -asU -arb -fEC -aoe -aoe -aCw aoe aoe aoe aoe +aor +aor +aoq +aoq +aor +aor +aCw +aGW +aGW +aGW +fvd hFF aoe aoe @@ -96636,7 +96843,7 @@ gGJ qjN qjN qjN -qjN +bho xtM baZ sbE @@ -96720,21 +96927,21 @@ aps gxm sHC nbH -tJm -aoe +pjO +ajl aop koB +aRF +aoe jkl +mNI jkl -jkl -jkl -arb ayW -aoe +bqa lFn -imp -kEp -aoe +aLS +aGW +rSq tsC uRt aQz @@ -96922,25 +97129,25 @@ aps aps gxm gvu -lYS -mzn -hSI -pMp +nbH +tJm +ajl +ajl gzK -aoq -aoq -aoq -aoq -aoq -aoq -aAG -aBd -aEi +ajl +aoe +aoe +aoe +aoe +aoe +aoe +aoe +aoe aGW -aRF -akx -akw -aQz +anq +tsC +uRt +onQ aRK ajl aUB @@ -97126,23 +97333,23 @@ asm gxm gvu lSN -xZt -aoe +tJm +ajl pjF wUd +wub asU -asU -asU -fFO -mrL +ajl +ajl +ajl mrL -aoe +rGc yjb -aEN -aGX -aoe -aLS -akw +ajl +sqf +dwA +tsC +uRt fOL aRS ajl @@ -97329,25 +97536,25 @@ asm gxm gvu nbH -vQN -sqf -sqf -sqf -sqf -sqf -sqf -sqf +tJm ajl +qhx +hbI +uGk +fFh ajl ajl +nHP +xNu +cnW aCo aEO -aHa -aoe +sqf +sqf cXW upM akw -alD +vtx vEx dME nbH @@ -97533,24 +97740,24 @@ gxm gvu nbH tJm -sqf -anp -wjz -fnA -jZY -jZY -sqf -wpu -okO -ajl ajl ajl ajl +fnA ajl ajl +xNu +aCo +okO +vRX +aAG +kbn +aCo ajl -onQ -alD +iGA +aos +akw +txW ajl bgN nbH @@ -97736,26 +97943,26 @@ gxm gvu xCB tJm -sqf +ajl sOZ oNJ +axm eDo -eDo -eDo -sqf +ajl +pth vXv -wub +olz gXl -ajl +aCp wqW awj -dDL -aLZ ajl -aCp +aLZ +akw +akw alD -ajl -evM +gWG +gvu xCB tJm gxm @@ -97939,24 +98146,24 @@ gxm gvu lSN kaj -sqf -anq -awn +ajl +cnZ +akw xsz jTj -jTj -sqf +ajl +yjb lmi xgP -dwA +axm wJo cyU -eme -skl +anp +ajl nzv fQu -akx -alD +rrD +vQN gWG gvu xCB @@ -98142,26 +98349,26 @@ gxm gvu xCB tJm -sqf +ajl anr -awn +eme tEi asu -hbI -sqf ajl +ajl +rkK vtx +axm +akw +kgp ajl ajl -kgp -fbB -cyU -bho -fQu +ajl +fEC akx -alD -gWG -gvu +ajl +ajl +evM xCB tJm gxm @@ -98345,24 +98552,24 @@ gxm hwB xCB tJm -sqf -sqf +ajl +skl awp -sqf -sqf -sqf -sqf -mNI -sdn -xNu +axm +jZY +wDH ajl -vRX -pth +ajl +sdn axm -lhv +dDL ajl -hVz -alD +ajl +nMV +lhv +aBd +alE +wjz ajl lXR xCB @@ -98549,22 +98756,22 @@ atz nbH tyC ajl -qhx -akw +gKR +gKR axl gKR -fvd +gKR ajl ajl ajl +fbB ajl ajl -sYT -sYT +kEp tWY sYT -ajl -nMV +pJl +akw vIf ajl hwB @@ -98752,23 +98959,23 @@ gre nbH dME bVE -aos -akw -akw -akw -alE -ans ans -asw ans +axm ans +aGX +eto ans ans axm ans -ans -aos -alE +aGX +fFO +akw +akw +akw +akw +akw bVE dME nbH @@ -98956,20 +99163,20 @@ hWa cEG aEe akA -akA -akA +kln +asw akA jOG akA akA akA +fXg akA -rnN akA akA maT akA -akA +awn oap aSb aEe From 6a6b301a257bf0aa804def185e3afc8871293f10 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Wed, 30 Oct 2024 18:29:07 +0000 Subject: [PATCH 03/29] Automatic changelog for PR #7434 [ci skip] --- html/changelogs/AutoChangeLog-pr-7434.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7434.yml diff --git a/html/changelogs/AutoChangeLog-pr-7434.yml b/html/changelogs/AutoChangeLog-pr-7434.yml new file mode 100644 index 000000000000..eb6acc7fa824 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7434.yml @@ -0,0 +1,4 @@ +author: "SpartanBobby" +delete-after: True +changes: + - maptweak: "Rearranges Almayer Upper Medical to accommodate a Psychiatric Care Unit" \ No newline at end of file From 8274cb8136e109391acdac1be7768d34d0a41729 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 01:38:30 +0000 Subject: [PATCH 04/29] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-7434.yml | 4 ---- html/changelogs/archive/2024-10.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-7434.yml diff --git a/html/changelogs/AutoChangeLog-pr-7434.yml b/html/changelogs/AutoChangeLog-pr-7434.yml deleted file mode 100644 index eb6acc7fa824..000000000000 --- a/html/changelogs/AutoChangeLog-pr-7434.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SpartanBobby" -delete-after: True -changes: - - maptweak: "Rearranges Almayer Upper Medical to accommodate a Psychiatric Care Unit" \ No newline at end of file diff --git a/html/changelogs/archive/2024-10.yml b/html/changelogs/archive/2024-10.yml index a3f872914464..c159768eaf68 100644 --- a/html/changelogs/archive/2024-10.yml +++ b/html/changelogs/archive/2024-10.yml @@ -444,3 +444,6 @@ money generation through cancelling items in the queue joookschad: - qol: Toy mechs will now fit into storage. +2024-10-31: + SpartanBobby: + - maptweak: Rearranges Almayer Upper Medical to accommodate a Psychiatric Care Unit From 9591c92fa5502eaec48fa54ecd93fb05991249f1 Mon Sep 17 00:00:00 2001 From: Ansekishoku <119960012+Ansekishokuu@users.noreply.github.com> Date: Thu, 31 Oct 2024 10:01:53 +0300 Subject: [PATCH 05/29] Prevents headsets from accepting duplicate keys (#7441) # About the pull request Fixes issue #7375 Prevents headsets from accepting multiple encryption keys of the same kind. Changes tested. # Explain why it's good for the game Fixed headsets accepting the same type of encryption key. # Testing Photographs and Procedure
Screenshots & Videos
# Changelog :cl: Ansekishoku fix: Headsets no longer accept multiple encryption keys of the same kind. /:cl: --------- Co-authored-by: vero <73014819+vero5123@users.noreply.github.com> --- code/game/objects/items/devices/radio/headset.dm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index 5842b3204f47..eeb0ae0e715b 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -165,6 +165,11 @@ to_chat(user, SPAN_NOTICE("This headset doesn't have any encryption keys! How useless...")) if(istype(W, /obj/item/device/encryptionkey/)) + for (var/obj/item/device/encryptionkey/key as anything in keys) + if (istype(key, W.type)) + to_chat(user, SPAN_NOTICE("A [W.name] is already installed on this device!")) + return + var/keycount = 0 for (var/obj/item/device/encryptionkey/key in keys) if(!key.abstract) From d10953100ed659616d87ccd9fb3deb2383f26c2a Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 07:09:19 +0000 Subject: [PATCH 06/29] Automatic changelog for PR #7441 [ci skip] --- html/changelogs/AutoChangeLog-pr-7441.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7441.yml diff --git a/html/changelogs/AutoChangeLog-pr-7441.yml b/html/changelogs/AutoChangeLog-pr-7441.yml new file mode 100644 index 000000000000..9d7e69b5eb53 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7441.yml @@ -0,0 +1,4 @@ +author: "Ansekishoku" +delete-after: True +changes: + - bugfix: "Headsets no longer accept multiple encryption keys of the same kind." \ No newline at end of file From 16f242e4f897bd862e531d30727afe0443c9177b Mon Sep 17 00:00:00 2001 From: forest2001 <41653574+realforest2001@users.noreply.github.com> Date: Thu, 31 Oct 2024 07:03:38 +0000 Subject: [PATCH 07/29] Fixes nostore cryopods still storing stuff (#7413) # About the pull request I am a bloody idiot. This fixes that, hopefully. As of posting I have not tested my change, I'm meant to be asleep but after three messages from three people about it not working upon briefly waking up and glancing at my phone, I can't get back to sleep. # Explain why it's good for the game Thing do right thing. Thing is good. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: fix: No store cryo pods now work as intended. /:cl: --- code/game/machinery/cryopod.dm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/code/game/machinery/cryopod.dm b/code/game/machinery/cryopod.dm index f9dc5815e568..88e74ccdf141 100644 --- a/code/game/machinery/cryopod.dm +++ b/code/game/machinery/cryopod.dm @@ -262,7 +262,7 @@ GLOBAL_LIST_INIT(frozen_items, list(SQUAD_MARINE_1 = list(), SQUAD_MARINE_2 = li item_loop: for(var/obj/item/W in items) - if(((W.flags_inventory & CANTSTRIP) || (W.flags_item & NODROP) || (W.flags_item & NO_CRYO_STORE)) && !gearless_role(occupant)) //We don't keep donor items, undroppable/unremovable items, and specifically filtered items + if((W.flags_inventory & CANTSTRIP) || (W.flags_item & NODROP) || (W.flags_item & NO_CRYO_STORE) || gearless_role(occupant)) //We don't keep donor items, undroppable/unremovable items, and specifically filtered items if(istype(W, /obj/item/clothing/suit/storage)) var/obj/item/clothing/suit/storage/SS = W for(var/obj/item/I in SS.pockets) //But we keep stuff inside them @@ -321,6 +321,9 @@ GLOBAL_LIST_INIT(frozen_items, list(SQUAD_MARINE_1 = list(), SQUAD_MARINE_2 = li stripped_items: for(var/obj/item/A in strippeditems) + if(gearless_role(occupant)) + qdel(A) + continue stripped_items for(var/DAA in deleteall) if(istype(A, DAA)) qdel(A) From cb731cd384787f62c3bb961a3eb0b658ed48b211 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 07:16:51 +0000 Subject: [PATCH 08/29] Automatic changelog for PR #7413 [ci skip] --- html/changelogs/AutoChangeLog-pr-7413.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7413.yml diff --git a/html/changelogs/AutoChangeLog-pr-7413.yml b/html/changelogs/AutoChangeLog-pr-7413.yml new file mode 100644 index 000000000000..6fffa27febba --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7413.yml @@ -0,0 +1,4 @@ +author: "realforest2001" +delete-after: True +changes: + - bugfix: "No store cryo pods now work as intended." \ No newline at end of file From f62273606b5696c87a630938ab0e0f355550b530 Mon Sep 17 00:00:00 2001 From: BeagleGaming1 <56142455+BeagleGaming1@users.noreply.github.com> Date: Thu, 31 Oct 2024 03:10:10 -0400 Subject: [PATCH 09/29] Yautja bracers properly update owner (#7437) # About the pull request Unlinks the owner when its dropped, and relinks it when worn # Explain why it's good for the game There was functionality for if a human stole the bracer but it couldnt be reached since the bracer would look at the original owner and not the new human # Changelog :cl: fix: Bracers properly update owner when unequipped or worn /:cl: --- code/modules/cm_preds/yaut_bracers.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/cm_preds/yaut_bracers.dm b/code/modules/cm_preds/yaut_bracers.dm index 27c95c7180a2..2ce4beefedea 100644 --- a/code/modules/cm_preds/yaut_bracers.dm +++ b/code/modules/cm_preds/yaut_bracers.dm @@ -52,8 +52,7 @@ . = ..() if(slot == WEAR_HANDS) START_PROCESSING(SSobj, src) - if(!owner) - owner = user + owner = user if(isyautja(owner)) minimap_icon = owner.assigned_equipment_preset?.minimap_icon toggle_lock_internal(user, TRUE) @@ -62,12 +61,14 @@ /obj/item/clothing/gloves/yautja/Destroy() STOP_PROCESSING(SSobj, src) + owner = null if(linked_bracer) linked_bracer.linked_bracer = null linked_bracer = null return ..() /obj/item/clothing/gloves/yautja/dropped(mob/user) + owner = null STOP_PROCESSING(SSobj, src) flags_item = initial(flags_item) UnregisterSignal(user, list(COMSIG_MOB_STAT_SET_ALIVE, COMSIG_MOB_DEATH)) From 7a96b0b786595062b71fdefb2f95cd9e2b34ea63 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 07:22:23 +0000 Subject: [PATCH 10/29] Automatic changelog for PR #7437 [ci skip] --- html/changelogs/AutoChangeLog-pr-7437.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7437.yml diff --git a/html/changelogs/AutoChangeLog-pr-7437.yml b/html/changelogs/AutoChangeLog-pr-7437.yml new file mode 100644 index 000000000000..47c76ec60179 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7437.yml @@ -0,0 +1,4 @@ +author: "BeagleGaming1" +delete-after: True +changes: + - bugfix: "Bracers properly update owner when unequipped or worn" \ No newline at end of file From c7317b148a6741c947ba12ae901ad82a1660b1a7 Mon Sep 17 00:00:00 2001 From: Blundir <100090741+Blundir@users.noreply.github.com> Date: Thu, 31 Oct 2024 13:50:56 +0200 Subject: [PATCH 11/29] Fixes working joe not being able to use ai lockdown/nerve gas in pda (#7443) # About the pull request Title ![iR6puUmRUG](https://github.com/user-attachments/assets/4e18b79c-e501-4e37-a0a9-903d3109a44b) # Changelog :cl: fix: fixed working joe not being able to use ai lockdown/nerve gas /:cl: --- tgui/packages/tgui/interfaces/WorkingJoe.jsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tgui/packages/tgui/interfaces/WorkingJoe.jsx b/tgui/packages/tgui/interfaces/WorkingJoe.jsx index f39fcea2a2cf..abf365ddaefb 100644 --- a/tgui/packages/tgui/interfaces/WorkingJoe.jsx +++ b/tgui/packages/tgui/interfaces/WorkingJoe.jsx @@ -251,7 +251,7 @@ const MainMenu = (props) => { )} - {(access_level === 4 || access_level >= 6) && ( + {access_level >= 4 && (

Core Security Protocols

From 1db8d4eb9230377889ce6df4c47b57469a71fabc Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 11:56:20 +0000 Subject: [PATCH 12/29] Automatic changelog for PR #7443 [ci skip] --- html/changelogs/AutoChangeLog-pr-7443.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7443.yml diff --git a/html/changelogs/AutoChangeLog-pr-7443.yml b/html/changelogs/AutoChangeLog-pr-7443.yml new file mode 100644 index 000000000000..7387fb788b21 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7443.yml @@ -0,0 +1,4 @@ +author: "Blundir" +delete-after: True +changes: + - bugfix: "fixed working joe not being able to use ai lockdown/nerve gas" \ No newline at end of file From 09e9e6eda154e4d48e1c0cbf3211b5db4d5c6466 Mon Sep 17 00:00:00 2001 From: forest2001 <41653574+realforest2001@users.noreply.github.com> Date: Thu, 31 Oct 2024 12:03:43 +0000 Subject: [PATCH 13/29] Update Codeowners (#7447) # About the pull request Adds codeowner (me) for ARES content. --- .github/CODEOWNERS | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ed94643dbe36..ad29d17a6394 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -24,6 +24,13 @@ /tools/docker/ @Fira /Dockerfile @Fira +# Forest2001 + +/code/game/machinery/ARES @realforest2001 +/tgui/packages/tgui/interfaces/AresAdmin.jsx @realforest2001 +/tgui/packages/tgui/interfaces/AresInterface.jsx @realforest2001 +/tgui/packages/tgui/interfaces/WorkingJoe.jsx @realforest2001 + # Nanu /maps @Nanu308 From ce6543b382c5062470aa334ffcc81e37ba722f64 Mon Sep 17 00:00:00 2001 From: Blundir <100090741+Blundir@users.noreply.github.com> Date: Thu, 31 Oct 2024 14:04:55 +0200 Subject: [PATCH 14/29] Animated revival icons on minimap, new minimap icons for revival stages (#7445) # About the pull request Adds animated stages of time left for revival on minimap (Tweaked it a bit to be slower than on this gif) ![dreamseeker_JWpwNBxPS2](https://github.com/user-attachments/assets/1a061492-6110-4478-89e7-2184328e6a25) ![dreammaker_9WL1mOd2vJ](https://github.com/user-attachments/assets/5a6d507c-b321-4810-93ce-c50ae5603877) # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: add: dead marines now have minimap revival icons animated, different icons depending on how much time is left /:cl: --- code/datums/mob_hud.dm | 1 + .../objects/items/devices/radio/headset.dm | 11 ++++++++++- icons/ui_icons/map_blips.dmi | Bin 8942 -> 9623 bytes 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/code/datums/mob_hud.dm b/code/datums/mob_hud.dm index 64ad6e31280a..c2cb0d8791f0 100644 --- a/code/datums/mob_hud.dm +++ b/code/datums/mob_hud.dm @@ -478,6 +478,7 @@ GLOBAL_LIST_INIT_TYPED(huds, /datum/mob_hud, list( holder2.icon_state = "huddeaddefib" holder3.icon_state = "huddead" holder2_set = 1 + update_minimap_icon() else if(is_heart_broken()) // broken heart icon holder.icon_state = "huddeadheart" diff --git a/code/game/objects/items/devices/radio/headset.dm b/code/game/objects/items/devices/radio/headset.dm index eeb0ae0e715b..205fa7710312 100644 --- a/code/game/objects/items/devices/radio/headset.dm +++ b/code/game/objects/items/devices/radio/headset.dm @@ -367,7 +367,16 @@ ///Change the minimap icon to a dead icon /obj/item/device/radio/headset/proc/set_dead_on_minimap(z_level, marker_flags) - SSminimaps.add_marker(wearer, z_level, marker_flags, given_image = wearer.assigned_equipment_preset.get_minimap_icon(wearer), overlay_iconstates = list("defibbable")) + var/icon_to_use + if(world.time > wearer.timeofdeath + wearer.revive_grace_period - 1 MINUTES) + icon_to_use = "defibbable4" + else if(world.time > wearer.timeofdeath + wearer.revive_grace_period - 2 MINUTES) + icon_to_use = "defibbable3" + else if(world.time > wearer.timeofdeath + wearer.revive_grace_period - 3 MINUTES) + icon_to_use = "defibbable2" + else + icon_to_use = "defibbable" + SSminimaps.add_marker(wearer, z_level, marker_flags, given_image = wearer.assigned_equipment_preset.get_minimap_icon(wearer), overlay_iconstates = list(icon_to_use)) ///Change the minimap icon to a undefibbable icon /obj/item/device/radio/headset/proc/set_undefibbable_on_minimap(z_level, marker_flags) diff --git a/icons/ui_icons/map_blips.dmi b/icons/ui_icons/map_blips.dmi index 90bc2582fcd5d4820819b9dd51825afd43e2e145..a2ed506adc13b7c383be18a46e30ff191fe44edc 100644 GIT binary patch literal 9623 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 DITz)k literal 8942 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 Date: Thu, 31 Oct 2024 12:11:31 +0000 Subject: [PATCH 15/29] Automatic changelog for PR #7445 [ci skip] --- html/changelogs/AutoChangeLog-pr-7445.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7445.yml diff --git a/html/changelogs/AutoChangeLog-pr-7445.yml b/html/changelogs/AutoChangeLog-pr-7445.yml new file mode 100644 index 000000000000..0f563ed4e89d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7445.yml @@ -0,0 +1,4 @@ +author: "Blundir" +delete-after: True +changes: + - rscadd: "dead marines now have minimap revival icons animated, different icons depending on how much time is left" \ No newline at end of file From 6c7d47d17992cea2f4a99b0891baffe3c751bca4 Mon Sep 17 00:00:00 2001 From: harryob Date: Thu, 31 Oct 2024 16:27:26 +0000 Subject: [PATCH 16/29] new chem master (#7330) also: pulls some more from https://github.com/tgstation/tgstation/issues/82533 for to work properly, because i hate spritesheets, and from https://github.com/tgstation/tgstation/issues/61313 for /datum/asset/json screenies
![dreamseeker_3sGJrlXRYG](https://github.com/user-attachments/assets/bac0b8f3-20c6-4c0d-b587-c56e2fa62c50) ![dreamseeker_cCgd7124oz](https://github.com/user-attachments/assets/e8d69e0c-dc7e-47ae-b75f-d7caaa279053) ![dreamseeker_bYR2kQbwxA](https://github.com/user-attachments/assets/0c9e4536-a53a-42ba-b821-220d4ee42e26) ![dreamseeker_kFah59DqBD](https://github.com/user-attachments/assets/e9caa15d-7638-43d0-bd4d-bd2fab5ac29f) ![image](https://github.com/user-attachments/assets/6aee8218-53c9-4b39-8541-51982b98f6fe)
:cl: add: the chem master ui is now tgui, and faster. hopefully better /:cl: --------- Co-authored-by: Nanu308 <59782240+Nanu308@users.noreply.github.com> --- code/game/objects/items/storage/firstaid.dm | 35 +- code/modules/asset_cache/asset_list.dm | 27 + .../asset_cache/assets/icon_ref_map.dm | 27 + .../chemistry_machinery/chem_master.dm | 491 ++++++++-------- code/modules/tgui/tgui.dm | 2 + colonialmarines.dme | 1 + tgui/packages/tgui/components/Button.tsx | 6 +- tgui/packages/tgui/interfaces/ChemMaster.tsx | 522 ++++++++++++++++++ .../tgui/styles/interfaces/ChemMaster.scss | 14 + tgui/packages/tgui/styles/main.scss | 1 + 10 files changed, 853 insertions(+), 273 deletions(-) create mode 100644 code/modules/asset_cache/assets/icon_ref_map.dm create mode 100644 tgui/packages/tgui/interfaces/ChemMaster.tsx create mode 100644 tgui/packages/tgui/styles/interfaces/ChemMaster.scss diff --git a/code/game/objects/items/storage/firstaid.dm b/code/game/objects/items/storage/firstaid.dm index c1ed0e42180c..f4a5c22699e8 100644 --- a/code/game/objects/items/storage/firstaid.dm +++ b/code/game/objects/items/storage/firstaid.dm @@ -362,6 +362,23 @@ maptext_x = 18 maptext_y = 3 + var/base_icon = "pill_canister" + var/static/list/possible_colors = list( + "Orange" = "", + "Blue" = "1", + "Yellow" = "2", + "Light Purple" = "3", + "Light Grey" = "4", + "White" = "5", + "Light Green" = "6", + "Cyan" = "7", + "Bordeaux" = "8", + "Aquamarine" = "9", + "Grey" = "10", + "Red" = "11", + "Black" = "12", + ) + /obj/item/storage/pill_bottle/Initialize() . = ..() if(display_maptext == FALSE) @@ -518,28 +535,14 @@ /obj/item/storage/pill_bottle/proc/choose_color(mob/user) if(!user) user = usr - var/static/list/possible_colors = list( - "Orange" = "", - "Blue" = "1", - "Yellow" = "2", - "Light Purple" = "3", - "Light Grey" = "4", - "White" = "5", - "Light Green" = "6", - "Cyan" = "7", - "Bordeaux" = "8", - "Aquamarine" = "9", - "Grey" = "10", - "Red" = "11", - "Black" = "12", - ) + var/selected_color = tgui_input_list(user, "Select a color.", "Color choice", possible_colors) if(!selected_color) return selected_color = possible_colors[selected_color] - icon_state = "pill_canister" + selected_color + icon_state = base_icon + selected_color to_chat(user, SPAN_NOTICE("You color [src].")) update_icon() diff --git a/code/modules/asset_cache/asset_list.dm b/code/modules/asset_cache/asset_list.dm index 828472ad9573..3c721d923062 100644 --- a/code/modules/asset_cache/asset_list.dm +++ b/code/modules/asset_cache/asset_list.dm @@ -324,6 +324,33 @@ GLOBAL_LIST_EMPTY(asset_datums) /datum/asset/simple/namespaced/proc/get_htmlloader(filename) return url2htmlloader(SSassets.transport.get_asset_url(filename, assets[filename])) +/// A subtype to generate a JSON file from a list +/datum/asset/json + _abstract = /datum/asset/json + /// The filename, will be suffixed with ".json" + var/name + +/datum/asset/json/send(client) + return SSassets.transport.send_assets(client, "[name].json") + +/datum/asset/json/get_url_mappings() + return list( + "[name].json" = SSassets.transport.get_asset_url("[name].json"), + ) + +/datum/asset/json/register() + var/filename = "data/[name].json" + fdel(filename) + text2file(json_encode(generate()), filename) + SSassets.transport.register_asset("[name].json", fcopy_rsc(filename)) + fdel(filename) + +/// Returns the data that will be JSON encoded +/datum/asset/json/proc/generate() + SHOULD_CALL_PARENT(FALSE) + CRASH("generate() not implemented for [type]!") + + /datum/asset/changelog_item _abstract = /datum/asset/changelog_item var/item_filename diff --git a/code/modules/asset_cache/assets/icon_ref_map.dm b/code/modules/asset_cache/assets/icon_ref_map.dm new file mode 100644 index 000000000000..6e2660fc7437 --- /dev/null +++ b/code/modules/asset_cache/assets/icon_ref_map.dm @@ -0,0 +1,27 @@ +/// Maps icon names to ref values +/datum/asset/json/icon_ref_map + name = "icon_ref_map" + +/datum/asset/json/icon_ref_map/generate() + var/list/data = list() //"icons/obj/drinks.dmi" => "[0xc000020]" + + //var/start = "0xc000000" + var/value = 0 + + while(TRUE) + value += 1 + var/ref = "\[0xc[num2text(value,6,16)]\]" + var/mystery_meat = locate(ref) + + if(isicon(mystery_meat)) + if(!isfile(mystery_meat)) // Ignore the runtime icons for now + continue + var/path = get_icon_dmi_path(mystery_meat) //Try to get the icon path + if(path) + data[path] = ref + else if(mystery_meat) + continue; //Some other non-icon resource, ogg/json/whatever + else //Out of resources end this, could also try to end this earlier as soon as runtime generated icons appear but eh + break; + + return data diff --git a/code/modules/reagents/chemistry_machinery/chem_master.dm b/code/modules/reagents/chemistry_machinery/chem_master.dm index 2cb91618946c..77f79bee4c58 100644 --- a/code/modules/reagents/chemistry_machinery/chem_master.dm +++ b/code/modules/reagents/chemistry_machinery/chem_master.dm @@ -76,7 +76,7 @@ user.put_in_hands(old_beaker) else to_chat(user, SPAN_NOTICE("You add the beaker to the machine!")) - updateUsrDialog() + SStgui.update_uis(src) update_icon() else if(istype(B, /obj/item/storage/pill_bottle) && pill_maker) @@ -87,7 +87,7 @@ loaded_pill_bottle = B user.drop_inv_item_to_loc(B, src) to_chat(user, SPAN_NOTICE("You add the pill bottle into the dispenser slot!")) - updateUsrDialog() + SStgui.update_uis(src) return /obj/structure/machinery/chem_master/proc/transfer_chemicals(obj/dest, obj/source, amount, reagent_id) @@ -98,240 +98,292 @@ else if(dest.reagents) source.reagents.trans_id_to(dest, reagent_id, amount) -/obj/structure/machinery/chem_master/Topic(href, href_list) +/obj/structure/machinery/chem_master/tgui_interact(mob/user, datum/tgui/ui) + ui = SStgui.try_update_ui(user, src, ui) + if(!ui) + ui = new(user, src, "ChemMaster", name) + ui.open() + +/obj/structure/machinery/chem_master/ui_data(mob/user) . = ..() - if(.) - return + + .["is_connected"] = !!connected + .["mode"] = mode + .["pillsprite"] = pillsprite + .["bottlesprite"] = bottlesprite + + .["pill_bottle"] = null + if(loaded_pill_bottle) + var/datum/component/label/label = loaded_pill_bottle.GetComponent(/datum/component/label) + .["pill_bottle"] = list( + "size" = length(loaded_pill_bottle.contents), + "max_size" = loaded_pill_bottle.max_storage_space, + "label" = label ? label.label_name : null, + "icon_state" = loaded_pill_bottle.icon_state + ) + + .["beaker"] = null + if(beaker) + .["beaker"] = list( + "reagents_volume" = beaker.reagents.total_volume + ) + + for(var/datum/reagent/contained_reagent in beaker.reagents.reagent_list) + LAZYADD(.["beaker"]["reagents"], list(list( + "name" = contained_reagent.name, + "volume" = contained_reagent.volume, + "id" = contained_reagent.id, + ))) + + .["buffer"] = null + if(reagents.total_volume) + .["buffer"] = list() + for(var/datum/reagent/contained_reagent in reagents.reagent_list) + .["buffer"] += list(list( + "name" = contained_reagent.name, + "volume" = contained_reagent.volume, + "id" = contained_reagent.id + )) + + .["internal_reagent_name"] = reagents.get_master_reagent_name() + +/obj/structure/machinery/chem_master/ui_static_data(mob/user) + . = ..() + + .["pill_or_bottle_icon"] = "['icons/obj/items/chemistry.dmi']" + .["pill_icon_choices"] = PILL_ICON_CHOICES + .["bottle_icon_choices"] = BOTTLE_ICON_CHOICES + + .["color_pill"] = list( + "icon" = "[/obj/item/storage/pill_bottle::icon]", + "colors" = /obj/item/storage/pill_bottle::possible_colors, + "base" = /obj/item/storage/pill_bottle::base_icon + ) + + .["is_pillmaker"] = pill_maker + .["is_condiment"] = condi + .["is_vialmaker"] = vial_maker + +/obj/structure/machinery/chem_master/ui_act(action, list/params, datum/tgui/ui, datum/ui_state/state) + . = ..() + if(inoperable()) return - if(!ishuman(usr)) - return - var/mob/living/carbon/human/user = usr - if(user.stat || user.is_mob_restrained()) - return - if(!in_range(src, user)) - return - add_fingerprint(user) - user.set_interaction(src) + var/mob/user = ui.user + if(!Adjacent(user) || !ishuman(user) || user.stat || user.is_mob_restrained()) + return - if(href_list["ejectp"]) - if(!loaded_pill_bottle) - return + switch(action) + if("eject_pill") + if(!loaded_pill_bottle) + return - if(!Adjacent(usr) || !usr.put_in_hands(loaded_pill_bottle)) - loaded_pill_bottle.forceMove(loc) + if(!user.put_in_hands(loaded_pill_bottle)) + loaded_pill_bottle.forceMove(loc) - loaded_pill_bottle = null + loaded_pill_bottle = null - // Adding a name to the currently stored pill bottle - if(href_list["addlabelp"]) + return TRUE - // Checking for state changes - if(!loaded_pill_bottle) - return + if("label_pill") + if(!loaded_pill_bottle) + return - if(!Adjacent(usr)) - return + var/label = copytext(reject_bad_text(params["text"]), 1, MAX_NAME_LEN) + if(!label) + return - var/label = copytext(reject_bad_text(input(user,"Label text?", "Set label", "")), 1, MAX_NAME_LEN) - if(label) loaded_pill_bottle.AddComponent(/datum/component/label, label) if(length(label) < 3) loaded_pill_bottle.maptext_label = label loaded_pill_bottle.update_icon() - else if(href_list["setcolor"]) - // Checking for state changes - if(!loaded_pill_bottle) - return - if(!Adjacent(usr)) - return + return TRUE - loaded_pill_bottle.choose_color() + if("color_pill") + if(!loaded_pill_bottle) + return - else if(href_list["close"]) - close_browser(user, "chemmaster") - user.unset_interaction() - return + var/picked_color = params["color"] + if(picked_color && (picked_color in loaded_pill_bottle.possible_colors)) + loaded_pill_bottle.icon_state = loaded_pill_bottle.base_icon + loaded_pill_bottle.possible_colors[picked_color] + return - if(beaker) - if(href_list["add"]) - if(href_list["amount"]) - var/id = href_list["add"] - var/amount = text2num(href_list["amount"]) - transfer_chemicals(src, beaker, amount, id) - - else if(href_list["addcustom"]) - var/id = href_list["addcustom"] - useramount = tgui_input_number(usr, "Select the amount to transfer.", "Transfer amount", useramount) - transfer_chemicals(src, beaker, useramount, id) - - else if(href_list["addall"]) - for(var/datum/reagent/R in beaker.reagents.reagent_list) - var/amount = beaker.volume - transfer_chemicals(src, beaker, amount, R.id) - - else if(href_list["remove"]) - if(href_list["amount"]) - var/id = href_list["remove"] - var/amount = text2num(href_list["amount"]) - if(mode) - transfer_chemicals(beaker, src, amount, id) - else - transfer_chemicals(null, src, amount, id) + loaded_pill_bottle.choose_color(user) + + if("add") + var/amount = params["amount"] + var/id = params["id"] + if(!isnum(amount) || !id) + return + + transfer_chemicals(src, beaker, amount, id) + return TRUE + + if("add_all") + for(var/datum/reagent/beaker_reagent in beaker.reagents.reagent_list) + transfer_chemicals(src, beaker, beaker.volume, beaker_reagent.id) + return TRUE + + if("remove") + var/amount = params["amount"] + var/id = params["id"] + if(!isnum(amount) || !id) + return - else if(href_list["removecustom"]) - var/id = href_list["removecustom"] - useramount = tgui_input_number(usr, "Select the amount to transfer.", "Transfer amount", useramount) if(mode) - transfer_chemicals(beaker, src, useramount, id) - else - transfer_chemicals(null, src, useramount, id) + transfer_chemicals(beaker, src, amount, id) + return TRUE - else if(href_list["removeall"]) - for(var/datum/reagent/R in src.reagents.reagent_list) - var/amount = src.reagents.total_volume + transfer_chemicals(null, src, amount, id) + return TRUE + + if("remove_all") + for(var/datum/reagent/contained_reagent in reagents.reagent_list) + var/amount = reagents.total_volume if(mode) - transfer_chemicals(beaker, src, amount, R.id) + transfer_chemicals(beaker, src, amount, contained_reagent.id) else - transfer_chemicals(null, src, amount, R.id) + transfer_chemicals(null, src, amount, contained_reagent.id) + + return TRUE - else if(href_list["toggle"]) + if("toggle") mode = !mode + return TRUE - else if(href_list["main"]) - attack_hand(user) - return - else if(href_list["eject"]) + if("eject") if(!beaker) return - if(!Adjacent(usr) || !usr.put_in_hands(beaker)) + if(!user.put_in_hands(beaker)) beaker.forceMove(loc) beaker = null reagents.clear_reagents() update_icon() + return TRUE - else if (href_list["createpill"] || href_list["createpill_multiple"]) - var/count = 1 + if("create_pill") + if(!pill_maker) + return - if(reagents.total_volume/count < 1) //Sanity checking. + var/param_num = params["number"] + if(!isnum(param_num)) return - if(href_list["createpill_multiple"]) - count = clamp(tgui_input_number(user, "Select the number of pills to make. (max: [max_pill_count])", "Pills to make", pillamount, max_pill_count, 1), 0, max_pill_count) - if(!count) - return + var/to_create = floor(clamp(param_num, 1, max_pill_count)) - if(reagents.total_volume/count < 1) //Sanity checking. + if(reagents.total_volume / to_create < 1) return - for(var/datum/reagent/R in reagents.reagent_list) - if(R.flags & REAGENT_NOT_INGESTIBLE) - to_chat(user, SPAN_WARNING("[R.name] must be administered intravenously and cannot be made into a pill.")) + var/list/reagents_in_pill = list() + for(var/datum/reagent/contained_reagent in reagents.reagent_list) + if(contained_reagent.flags & REAGENT_NOT_INGESTIBLE) + to_chat(user, SPAN_WARNING("[contained_reagent.name] must be administered intravenously, and cannot be made into a pill.")) return - var/amount_per_pill = reagents.total_volume/count - if(amount_per_pill > 60) amount_per_pill = 60 + reagents_in_pill += contained_reagent.name + + var/amount_per_pill = clamp(reagents.total_volume / to_create, 0, 60) + + msg_admin_niche("[key_name(user)] created one or more pills (total pills to synthesize: [to_create]) (REAGENTS: [english_list(reagents_in_pill)]) in [get_area(user)] ([user.loc.x],[user.loc.y],[user.loc.z]).", user.loc.x, user.loc.y, user.loc.z) + for(var/iterator in 1 to to_create) + var/obj/item/reagent_container/pill/creating_pill = new(loc) + creating_pill.pill_desc = "A custom pill." + creating_pill.icon_state = "pill[pillsprite]" + + reagents.trans_to(creating_pill, amount_per_pill) + if(loaded_pill_bottle && length(loaded_pill_bottle.contents) < loaded_pill_bottle.max_storage_space) + loaded_pill_bottle.handle_item_insertion(creating_pill, TRUE) + + return TRUE + + if("create_glass") + if(condi) + var/obj/item/reagent_container/food/condiment/new_condiment = new() + reagents.trans_to(new_condiment, 50) + + if(!user.put_in_hands(new_condiment)) + new_condiment.forceMove(loc) + + return TRUE - if(reagents.total_volume/count < 1) //Sanity checking. + var/name = reject_bad_text(params["label"] || reagents.get_master_reagent_name()) + if(!name) return - var/was_logged = FALSE - - while (count--) - var/obj/item/reagent_container/pill/P = new/obj/item/reagent_container/pill(loc) - P.pill_desc = "A custom pill." - P.icon_state = "pill"+pillsprite - reagents.trans_to(P,amount_per_pill) - if(loaded_pill_bottle) - if(length(loaded_pill_bottle.contents) < loaded_pill_bottle.max_storage_space) - loaded_pill_bottle.handle_item_insertion(P, TRUE) - updateUsrDialog() - - if(!was_logged) - var/list/reagents_in_pill = list() - for(var/datum/reagent/R in P.reagents.reagent_list) - reagents_in_pill += R.name - var/contained = english_list(reagents_in_pill) - msg_admin_niche("[key_name(usr)] created one or more pills (total pills to synthesize: [count+1]) (REAGENTS: [contained]) in [get_area(user)] ([user.loc.x],[user.loc.y],[user.loc.z]).", user.loc.x, user.loc.y, user.loc.z) - was_logged = TRUE - - else if(href_list["createglass"]) - if(!condi) - var/name = reject_bad_text(input(user,"Label:","Enter label!", reagents.get_master_reagent_name()) as text|null) - if(!name) - return - var/obj/item/reagent_container/glass/P - if(href_list["createbottle"]) - P = new/obj/item/reagent_container/glass/bottle() - P.name = "[name] bottle" - P.icon_state = "bottle-"+bottlesprite - reagents.trans_to(P, 60) - else if(href_list["createvial"]) - P = new/obj/item/reagent_container/glass/beaker/vial() - P.name = "[name] vial" - reagents.trans_to(P, 30) - - P.update_icon() - - if(href_list["store"]) - connected.add_local_item(P) - else if(!Adjacent(usr) || !usr.put_in_hands(P)) - P.forceMove(loc) - - else - var/obj/item/reagent_container/food/condiment/P = new/obj/item/reagent_container/food/condiment() - reagents.trans_to(P, 50) - - if(!Adjacent(usr) || !usr.put_in_hands(P)) - P.forceMove(loc) - else if(href_list["change_pill"]) - var/dat = "" - for(var/i = 1 to PILL_ICON_CHOICES) - dat += "" - dat += "
" - show_browser(user, dat, "Change Pill Type", "chem_master") - return - else if(href_list["change_bottle"]) - var/dat = "" - for(var/i = 1 to BOTTLE_ICON_CHOICES) - dat += "" - dat += "
" - show_browser(user, dat, "Change Bottle Type", "chem_master") - return - else if(href_list["pill_sprite"]) - pillsprite = href_list["pill_sprite"] - else if(href_list["bottle_sprite"]) - bottlesprite = href_list["bottle_sprite"] + var/obj/item/reagent_container/glass/new_container + switch(params["type"]) + if("glass") + new_container = new /obj/item/reagent_container/glass/bottle() + new_container.name = "[name] Bottle" + new_container.icon_state = "bottle-[bottlesprite]" + reagents.trans_to(new_container, 60) + if("vial") + if(!vial_maker) + return + + new_container = new /obj/item/reagent_container/glass/beaker/vial() + new_container.name = "[name] Vial" + reagents.trans_to(new_container, 30) + + if(!new_container) + return - if(href_list["transferp"]) - if(!loaded_pill_bottle) - return + new_container.update_icon() - if(QDELETED(connected)) - to_chat(user, SPAN_WARNING("Connect a smartfridge first.")) - return + if(params["store"] && connected) + connected.add_local_item(new_container) + return TRUE - if(src.z != connected.z || get_dist(src, connected) > tether_range) - to_chat(user, SPAN_WARNING("Smartfridge is out of range. Connection severed.")) - cleanup() - attack_hand(user) - return + if(!user.put_in_hands(new_container)) + new_container.forceMove(loc) + + return TRUE + + if("change_pill") + var/pill = params["picked"] + if(!isnum(pill) || pill > PILL_ICON_CHOICES) + return + + pillsprite = pill + return TRUE + + if("change_bottle") + var/bottle = params["picked"] + if(!isnum(bottle) || bottle > BOTTLE_ICON_CHOICES) + return + + bottlesprite = bottle + return TRUE - connected.add_local_item(loaded_pill_bottle) - loaded_pill_bottle = null - // Connecting a smartfridge - if(href_list["connect"]) - connect_smartfridge() + if("transfer_pill") + if(!loaded_pill_bottle) + return + + if(QDELETED(connected)) + to_chat(user, SPAN_WARNING("Connect a smartfridge first.")) + return + + if(src.z != connected.z || get_dist(src, connected) > tether_range) + to_chat(user, SPAN_WARNING("Smartfridge is out of range. Connection severed.")) + cleanup() + attack_hand(user) + return + + connected.add_local_item(loaded_pill_bottle) + loaded_pill_bottle = null + return TRUE + + if("connect") + connect_smartfridge() + return TRUE - //src.updateUsrDialog() - attack_hand(user) /obj/structure/machinery/chem_master/attack_hand(mob/living/user) if(stat & BROKEN) @@ -339,82 +391,9 @@ if(req_skill && !skillcheck(user, req_skill, req_skill_level)) to_chat(user, SPAN_WARNING("You don't have the training to use this.")) return + + tgui_interact(usr) user.set_interaction(src) - if(!(user.client in has_sprites)) - spawn() - has_sprites += user.client - for(var/i = 1 to PILL_ICON_CHOICES) - user << browse_rsc(icon('icons/obj/items/chemistry.dmi', "pill" + num2text(i)), "pill[i].png") - for(var/i = 1 to BOTTLE_ICON_CHOICES) - user << browse_rsc(icon('icons/obj/items/chemistry.dmi', "bottle-" + num2text(i)), "bottle-[i].png") - var/dat = "" - if(!beaker) - dat = "Please insert beaker.
" - if(pill_maker) - if(loaded_pill_bottle) - dat += "
Eject Pill Bottle \[[length(loaded_pill_bottle.contents)]/[loaded_pill_bottle.max_storage_space]\]

" - else - dat += "No pill bottle inserted.

" - dat += "Close" - else - dat += "Eject beaker and Clear Buffer

" - if(pill_maker) - if(loaded_pill_bottle) - dat += "Eject [loaded_pill_bottle] \[[length(loaded_pill_bottle.contents)]/[loaded_pill_bottle.max_storage_space]\]
" - dat += "Add label to [loaded_pill_bottle] \[[length(loaded_pill_bottle.contents)]/[loaded_pill_bottle.max_storage_space]\]
" - dat += "Set color to [loaded_pill_bottle] \[[length(loaded_pill_bottle.contents)]/[loaded_pill_bottle.max_storage_space]\]

" - dat += "Transfer [loaded_pill_bottle] \[[length(loaded_pill_bottle.contents)]/[loaded_pill_bottle.max_storage_space]\] to the smartfridge

" - else - dat += "No pill bottle inserted.

" - if(!connected && pill_maker) - dat += "Connect Smartfridge

" - if(!beaker.reagents.total_volume) - dat += "Beaker is empty." - else - dat += "Add to buffer:
" - for(var/datum/reagent/G in beaker.reagents.reagent_list) - dat += "[G.name] , [G.volume] Units - " - dat += "1 " - dat += "5 " - dat += "10 " - dat += "30 " - dat += "60 " - dat += "All " - dat += "Custom
" - dat += "All reagents
" - - dat += "
Transfer to [(!mode ? "disposal" : "beaker")]:
" - if(reagents.total_volume) - for(var/datum/reagent/N in reagents.reagent_list) - dat += "[N.name] , [N.volume] Units - " - dat += "1 " - dat += "5 " - dat += "10 " - dat += "30 " - dat += "60 " - dat += "All " - dat += "Custom
" - dat += "All reagents
" - else - dat += "Empty
" - if(!condi) - if(pill_maker) - dat += "

Create pill (60 units max)
" - dat += "Create multiple pills
" - dat += "Create bottle (60 units max)" - if(connected) - dat += "
Store bottle in smartfridge (60 units max)" - if(vial_maker) - dat += "

Create vial (30 units max)" - if(connected) - dat += "
Store vial in smartfridge (30 units max)" - else - dat += "Create bottle (50 units max)" - if(!condi) - show_browser(user, "[name] menu:

[dat]", name, "chem_master", "size=460x520") - else - show_browser(user, "Condimaster menu:

[dat]", name, "chem_master") - return /obj/structure/machinery/chem_master/proc/cleanup() SIGNAL_HANDLER diff --git a/code/modules/tgui/tgui.dm b/code/modules/tgui/tgui.dm index 96c96a45a75c..c30c0b1d984f 100644 --- a/code/modules/tgui/tgui.dm +++ b/code/modules/tgui/tgui.dm @@ -107,6 +107,8 @@ /datum/asset/simple/namespaced/fontawesome)) flush_queue |= window.send_asset(get_asset_datum( /datum/asset/simple/namespaced/tgfont)) + flush_queue |= window.send_asset(get_asset_datum( + /datum/asset/json/icon_ref_map)) for(var/datum/asset/asset in src_object.ui_assets(user)) flush_queue |= window.send_asset(asset) if (flush_queue) diff --git a/colonialmarines.dme b/colonialmarines.dme index bcef939091ae..a2506c193b99 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -1522,6 +1522,7 @@ #include "code\modules\asset_cache\asset_list.dm" #include "code\modules\asset_cache\asset_list_items.dm" #include "code\modules\asset_cache\assets\fontawesome.dm" +#include "code\modules\asset_cache\assets\icon_ref_map.dm" #include "code\modules\asset_cache\assets\medals.dm" #include "code\modules\asset_cache\assets\tgfont.dm" #include "code\modules\asset_cache\assets\tgui.dm" diff --git a/tgui/packages/tgui/components/Button.tsx b/tgui/packages/tgui/components/Button.tsx index 764d589337ca..76ff79a60c75 100644 --- a/tgui/packages/tgui/components/Button.tsx +++ b/tgui/packages/tgui/components/Button.tsx @@ -329,11 +329,15 @@ const ButtonInput = (props: InputProps) => { setInInput(true)} + onClick={() => { + if (disabled) return; + setInInput(true); + }} > {icon && }
{toDisplay}
diff --git a/tgui/packages/tgui/interfaces/ChemMaster.tsx b/tgui/packages/tgui/interfaces/ChemMaster.tsx new file mode 100644 index 000000000000..4ffa0bb655a7 --- /dev/null +++ b/tgui/packages/tgui/interfaces/ChemMaster.tsx @@ -0,0 +1,522 @@ +import { useState } from 'react'; + +import { useBackend, useSharedState } from '../backend'; +import { + Box, + Button, + DmIcon, + Icon, + Input, + Modal, + NoticeBox, + NumberInput, + Section, + Stack, +} from '../components'; +import { Window } from '../layouts'; + +type ChemMasterData = { + is_connected: boolean; + pill_bottle?: { + size: number; + max_size: number; + label?: string; + icon_state: string; + }; + color_pill: { + icon: string; + colors: { [key: string]: string }; + base: string; + }; + beaker?: { + reagents_volume: number; + reagents: Reagent[]; + }; + buffer?: Reagent[]; + mode: boolean; + pill_or_bottle_icon: string; + pill_icon_choices: number; + bottle_icon_choices: number; + bottlesprite: number; + pillsprite: number; + is_pillmaker: boolean; + is_condiment: boolean; + is_vialmaker: boolean; + internal_reagent_name: string; +}; + +type Reagent = { + name: string; + volume: number; + id: number; +}; + +export const ChemMaster = () => { + const { act, data } = useBackend(); + + const { is_connected, beaker, buffer, mode } = data; + + const [glasswarePicker, setGlasswarePicker] = useState< + 'pill' | 'bottle' | false + >(false); + + const [pillPicker, setPillPicker] = useState(false); + + return ( + + +
+ + + + + Beaker: + + + {beaker ? ( + beaker.reagents_volume + 'u' + ) : ( + No beaker inserted. + )} + + + + + + + + {beaker && !is_connected && ( + + )} + + +
+ {beaker && ( +
act('eject')} + > + Eject + + } + > + {beaker.reagents ? ( + + ) : ( + Beaker is empty. + )} +
+ )} +
act('toggle')} + > + {mode ? 'To Beaker' : 'To Disposal'} + + } + > + {buffer?.length ? ( + + ) : ( + Buffer is empty. + )} +
+ + {glasswarePicker && ( + + )} + {pillPicker && } +
+
+ ); +}; + +const PillPicker = (props: { readonly setPicker: (_) => void }) => { + const { setPicker } = props; + + const { act, data } = useBackend(); + + const { color_pill } = data; + + return ( + + + {Object.keys(color_pill.colors).map((color) => ( + + { + act('color_pill', { color: color }); + setPicker(false); + }} + > + + + + ))} + + + ); +}; + +const GlasswarePicker = (props: { + readonly setPicker: (_) => void; + readonly type: 'pill' | 'bottle'; +}) => { + const { act, data } = useBackend(); + + const { pill_icon_choices, bottle_icon_choices, pill_or_bottle_icon } = data; + + const { setPicker, type } = props; + + return ( + + + {Array.from( + { + length: type === 'pill' ? pill_icon_choices : bottle_icon_choices, + }, + (_, index) => ( + + { + act(type === 'pill' ? 'change_pill' : 'change_bottle', { + picked: index + 1, + }); + setPicker(false); + }} + > + + + + ), + )} + + + ); +}; + +const PillBottle = (props: { readonly setPicker: (_) => void }) => { + const { data, act } = useBackend(); + + const { setPicker } = props; + + const { pill_bottle, is_connected, color_pill } = data; + + const [tag, setTag] = useState(''); + + return ( + + + Pill Bottle: + + + {pill_bottle ? ( + + + + + + {pill_bottle.size} / {pill_bottle.max_size} + + + + {pill_bottle.label && ({pill_bottle.label})} + + + + + + { + act('label_pill', { text: value }); + }} + > + Label + + + + + + + + {!!is_connected && ( + + + + )} + + + + + + ) : ( + No pill bottle inserted. + )} + + + ); +}; + +const Glassware = (props: { readonly setPicker: (type) => void }) => { + const { data, act } = useBackend(); + + const { setPicker } = props; + + const { + pill_or_bottle_icon, + pillsprite, + is_pillmaker, + is_condiment, + is_connected, + is_vialmaker, + bottlesprite, + internal_reagent_name, + buffer, + } = data; + + const [numPills, setNumPills] = useSharedState('pillNum', 16); + + return ( +
+ {!is_condiment ? ( + + + {!!is_pillmaker && ( + + + setPicker('pill')}> + + + setNumPills(value)} + /> + + )} + + + + + + + act('create_glass', { + type: 'glass', + label: value, + }) + } + > + Create Bottle (60u) + + {!!is_connected && ( + + act('create_glass', { + type: 'glass', + label: value, + store: true, + }) + } + > + Create and Transfer + + )} + + setPicker('bottle')}> + + + + + + {!!is_vialmaker && ( + + + + + + act('create_glass', { type: 'vial', label: value }) + } + > + Create Vial (30u) + + {!!is_connected && ( + + act('create_glass', { + type: 'vial', + label: value, + store: true, + }) + } + > + Create and Transfer + + )} + + + + + )} + + ) : ( + + + + + + + + )} +
+ ); +}; + +const Reagents = (props: { + readonly reagents: Reagent[]; + readonly type: 'beaker' | 'buffer'; +}) => { + const { reagents, type } = props; + + const { act } = useBackend(); + + return ( + + {reagents.map((reagent) => ( + + + + {reagent.name}, {reagent.volume} units + + + + + + + + + + { + act(type === 'beaker' ? 'add' : 'remove', { + amount: parseInt(value, 10), + id: reagent.id, + }); + }} + /> + + + + + ))} + + + + + ); +}; + +const ReagentButton = (props: { + readonly amount: number | 'All'; + readonly reagent: Reagent; + readonly type: 'buffer' | 'beaker'; +}) => { + const { act } = useBackend(); + + const { amount, reagent, type } = props; + + return ( + + + + ); +}; diff --git a/tgui/packages/tgui/styles/interfaces/ChemMaster.scss b/tgui/packages/tgui/styles/interfaces/ChemMaster.scss new file mode 100644 index 000000000000..de9fcc35fa71 --- /dev/null +++ b/tgui/packages/tgui/styles/interfaces/ChemMaster.scss @@ -0,0 +1,14 @@ +.ChemMaster { + .icon { + border-radius: 4px; + border: 3px solid #484949; + } + + .icon:hover { + border: 3px solid #858585; + } + + .picker:first-of-type { + padding-left: 6px; + } +} diff --git a/tgui/packages/tgui/styles/main.scss b/tgui/packages/tgui/styles/main.scss index 7c1c65a324cc..2f9bf90463d7 100644 --- a/tgui/packages/tgui/styles/main.scss +++ b/tgui/packages/tgui/styles/main.scss @@ -56,6 +56,7 @@ @include meta.load-css('./interfaces/CrtPanel.scss'); @include meta.load-css('./interfaces/ChooseResin.scss'); @include meta.load-css('./interfaces/CameraConsole.scss'); +@include meta.load-css('./interfaces/ChemMaster.scss'); @include meta.load-css('./interfaces/BugReportForm.scss'); @include meta.load-css('./interfaces/DropshipWeapons.scss'); @include meta.load-css('./interfaces/ElevatorControl.scss'); From 7c2d70fb879465759241f7ff3b2057976fe40da5 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 16:32:27 +0000 Subject: [PATCH 17/29] Automatic changelog for PR #7330 [ci skip] --- html/changelogs/AutoChangeLog-pr-7330.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7330.yml diff --git a/html/changelogs/AutoChangeLog-pr-7330.yml b/html/changelogs/AutoChangeLog-pr-7330.yml new file mode 100644 index 000000000000..6e48daddd554 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7330.yml @@ -0,0 +1,4 @@ +author: "harryob" +delete-after: True +changes: + - rscadd: "the chem master ui is now tgui, and faster. hopefully better" \ No newline at end of file From e3493350bd5714abd6beb3b99fbfa8452f50e517 Mon Sep 17 00:00:00 2001 From: BeagleGaming1 <56142455+BeagleGaming1@users.noreply.github.com> Date: Thu, 31 Oct 2024 13:06:55 -0400 Subject: [PATCH 18/29] Gibbed ghosts appear as their character instead of a brain (#7450) # About the pull request The ghost can still re-enter the body if theyre recoverable from gibbing (like synths) # Explain why it's good for the game I think it looks better than just being a brain # Changelog :cl: add: When gibbed, the ghost will stay as the character instead of turning into a brain /:cl: --- code/modules/mob/living/carbon/human/death.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/human/death.dm b/code/modules/mob/living/carbon/human/death.dm index 34582a6612d4..ba24add93aa1 100644 --- a/code/modules/mob/living/carbon/human/death.dm +++ b/code/modules/mob/living/carbon/human/death.dm @@ -1,5 +1,6 @@ /mob/living/carbon/human/gib(datum/cause_data/cause = create_cause_data("gibbing", src)) var/is_a_synth = issynth(src) + ghostize() for(var/obj/limb/E in limbs) if(istype(E, /obj/limb/chest)) continue @@ -131,5 +132,5 @@ else if(death_data?.cause_name == "existing") // Corpses spawn as gibbed true to avoid sfx, even though they aren't actually gibbed... AddComponent(/datum/component/weed_food) - + update_execute_hud() From 00e644ccceb93c18084268447522f78749363905 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 17:12:31 +0000 Subject: [PATCH 19/29] Automatic changelog for PR #7450 [ci skip] --- html/changelogs/AutoChangeLog-pr-7450.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7450.yml diff --git a/html/changelogs/AutoChangeLog-pr-7450.yml b/html/changelogs/AutoChangeLog-pr-7450.yml new file mode 100644 index 000000000000..c1d00b1142bf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7450.yml @@ -0,0 +1,4 @@ +author: "BeagleGaming1" +delete-after: True +changes: + - rscadd: "When gibbed, the ghost will stay as the character instead of turning into a brain" \ No newline at end of file From a960a01b592fa48f061315cfbc061a863cb0e9e1 Mon Sep 17 00:00:00 2001 From: harryob Date: Thu, 31 Oct 2024 19:14:20 +0000 Subject: [PATCH 20/29] add cobalt tools media provider, refactor providers to be more OOP (#7368) :cl: server: server hosts can now configure a cobalt.tools api to provide media playing with "COBALT_BASE_API" and "COBALT_API_KEY" /:cl: --- .../configuration/entries/general.dm | 6 + code/datums/internet_media.dm | 112 ++++++++++++++++++ code/modules/admin/verbs/playsound.dm | 48 ++++---- colonialmarines.dme | 1 + config/example/config.txt | 5 + 5 files changed, 151 insertions(+), 21 deletions(-) create mode 100644 code/datums/internet_media.dm diff --git a/code/controllers/configuration/entries/general.dm b/code/controllers/configuration/entries/general.dm index bad72cc8397c..a41a619e602f 100644 --- a/code/controllers/configuration/entries/general.dm +++ b/code/controllers/configuration/entries/general.dm @@ -369,6 +369,12 @@ The default value assumes youtube-dl is in your system PATH /datum/config_entry/string/invoke_youtubedl protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN +/datum/config_entry/string/cobalt_base_api + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN + + +/datum/config_entry/string/cobalt_api_key + protection = CONFIG_ENTRY_LOCKED | CONFIG_ENTRY_HIDDEN /datum/config_entry/number/error_cooldown // The "cooldown" time for each occurrence of a unique error config_entry_value = 600 diff --git a/code/datums/internet_media.dm b/code/datums/internet_media.dm new file mode 100644 index 000000000000..6c1c23b76e6b --- /dev/null +++ b/code/datums/internet_media.dm @@ -0,0 +1,112 @@ +/** + * Generic implementation to get a URL that can be sent to + * clients to play audio via [/datum/tgui_panel/proc/play_music], from a provided URL + */ +/datum/internet_media + /** + * If we have encountered an error while attempting to retrieve the URL + */ + var/error + +/** + * Handles a request for an audio file, from a provided media URL + * Must return a [/datum/media_response], which must have at least the [/datum/media_response/var/url] filled out + * + * If we are not returning a media_response, set the [/datum/internet_media/var/error] to be an error + */ +/datum/internet_media/proc/get_media(url) + RETURN_TYPE(/datum/media_response) + + CRASH("[type] does not override [nameof(__PROC__)].") + +/datum/internet_media/yt_dlp + +/datum/internet_media/yt_dlp/get_media(url) + var/ytdl = CONFIG_GET(string/invoke_youtubedl) + if(!ytdl) + error = "Youtube-dl FAILED: Not configured" + return + + if(findtext(url, ":") && !findtext(url, GLOB.is_http_protocol)) + error = "Youtube-dl FAILED: Non-http(s) URIs are not allowed. For youtube-dl shortcuts like ytsearch: please use the appropriate full url from the website." + return + + var/list/output = world.shelleo("[ytdl] --geo-bypass --format \"bestaudio\[ext=mp3]/best\[ext=mp4]\[height<=360]/bestaudio\[ext=m4a]/bestaudio\[ext=aac]\" --dump-single-json --no-playlist -- \"[shell_url_scrub(url)]\"") + var/errorlevel = output[SHELLEO_ERRORLEVEL] + var/stdout = output[SHELLEO_STDOUT] + var/stderr = output[SHELLEO_STDERR] + + if(errorlevel) + error = "Youtube-dl URL retrieval FAILED: [stderr]" + return + + var/data + + try + data = json_decode(stdout) + catch(var/exception/decode_error) + error = "Youtube-dl JSON parsing FAILED: [decode_error]: [stdout]" + return + + return new /datum/media_response(data["url"], data["title"], data["start_time"], data["end_time"]) + +/datum/internet_media/cobalt + +/datum/internet_media/cobalt/get_media(url) + var/cobalt = CONFIG_GET(string/cobalt_base_api) + if(!cobalt) + error = "cobalt.tools FAILED: Not configured" + return + + var/list/headers = list() + headers["Accept"] = "application/json" + headers["Content-Type"] = "application/json" + + var/auth_key = CONFIG_GET(string/cobalt_api_key) + if(auth_key) + headers["Authorization"] = "Api-Key [auth_key]" + + var/datum/http_request/request = new + request.prepare(RUSTG_HTTP_METHOD_POST, cobalt, json_encode(list( + "url" = url, + "downloadMode" = "audio" + )), headers) + + request.execute_blocking() + + var/datum/http_response/response_raw = request.into_response() + + if(response_raw.errored) + error = "cobalt.tools web request FAILED: [response_raw.error]" + return + + var/list/response + try + response = json_decode(response_raw.body) + catch(var/exception/decode_error) + error = "cobalt.tools JSON parsing FAILED: [decode_error]: [response_raw.body]" + return + + if(!(response["status"] in list("redirect", "tunnel"))) + error = "cobalt.tools request FAILED - invalid response: [response_raw.body]" + return + + return new /datum/media_response(response["url"]) + +/datum/media_response + var/url + var/title + var/start_time + var/end_time + +/datum/media_response/New(url, title, start_time, end_time) + if(isnull(url)) + CRASH("/datum/media_response created without a URL field.") + + src.url = url + src.title = title + src.start_time = start_time + src.end_time = end_time + +/datum/media_response/proc/get_list() + return list("url" = url, "title" = title, "start_time" = start_time, "end_time" = end_time) diff --git a/code/modules/admin/verbs/playsound.dm b/code/modules/admin/verbs/playsound.dm index 0763a0e10795..05bde482f504 100644 --- a/code/modules/admin/verbs/playsound.dm +++ b/code/modules/admin/verbs/playsound.dm @@ -16,36 +16,38 @@ var/announce_title = TRUE if(sound_mode == "Web") - var/ytdl = CONFIG_GET(string/invoke_youtubedl) - if(!ytdl) - to_chat(src, SPAN_BOLDWARNING("Youtube-dl was not configured, action unavailable"), confidential = TRUE) //Check config.txt for the INVOKE_YOUTUBEDL value + var/list/datum/internet_media/media_players = list() + + if(CONFIG_GET(string/invoke_youtubedl)) + media_players += new /datum/internet_media/yt_dlp + + if(CONFIG_GET(string/cobalt_base_api)) + media_players += new /datum/internet_media/cobalt + + if(!length(media_players)) + to_chat(src, SPAN_BOLDWARNING("Your server host has not set up any web media players.")) return - web_sound_input = input("Enter content URL (supported sites only)", "Play Internet Sound via youtube-dl") as text|null + web_sound_input = input("Enter content URL (supported sites only)", "Play Internet Sound") as text|null if(!istext(web_sound_input) || !length(web_sound_input)) return web_sound_input = trim(web_sound_input) - if(findtext(web_sound_input, ":") && !findtext(web_sound_input, GLOB.is_http_protocol)) - to_chat(src, SPAN_WARNING("Non-http(s) URIs are not allowed.")) - to_chat(src, SPAN_WARNING("For youtube-dl shortcuts like ytsearch: please use the appropriate full url from the website.")) - return + var/datum/media_response/response + for(var/datum/internet_media/player as anything in media_players) + response = player.get_media(web_sound_input) - var/list/output = world.shelleo("[ytdl] --geo-bypass --format \"bestaudio\[ext=mp3]/best\[ext=mp4]\[height<=360]/bestaudio\[ext=m4a]/bestaudio\[ext=aac]\" --dump-single-json --no-playlist -- \"[shell_url_scrub(web_sound_input)]\"") - var/errorlevel = output[SHELLEO_ERRORLEVEL] - var/stdout = output[SHELLEO_STDOUT] - var/stderr = output[SHELLEO_STDERR] + if(istype(response)) + break - if(errorlevel) - to_chat(src, SPAN_WARNING("Youtube-dl URL retrieval FAILED: [stderr]")) + if(!istype(response)) + to_chat(src, SPAN_BOLDWARNING("All configured web media players failed to provide a valid response:")) + for(var/datum/internet_media/player as anything in media_players) + to_chat(src, SPAN_WARNING("[player.type] error: [player.error]")) return - try - data = json_decode(stdout) - catch(var/exception/e) - to_chat(src, SPAN_WARNING("Youtube-dl JSON parsing FAILED: [e]: [stdout]")) - return + data = response.get_list() else if(sound_mode == "Upload") var/current_transport = CONFIG_GET(string/asset_transport) @@ -80,17 +82,21 @@ var/list/music_extra_data = list() if(data["url"]) music_extra_data["link"] = data["url"] - music_extra_data["title"] = data["title"] web_sound_url = data["url"] - title = data["title"] music_extra_data["start"] = data["start_time"] music_extra_data["end"] = data["end_time"] + if(isnull(data["title"])) + data["title"] = tgui_input_text(src, "What is the title of this media?", "Media Title") + title = data["title"] + music_extra_data["title"] = data["title"] + if(!must_send_assets && web_sound_url && !findtext(web_sound_url, GLOB.is_http_protocol)) to_chat(src, SPAN_BOLDWARNING("BLOCKED: Content URL not using http(s) protocol"), confidential = TRUE) to_chat(src, SPAN_WARNING("The media provider returned a content URL that isn't using the HTTP or HTTPS protocol"), confidential = TRUE) return + switch(tgui_alert(src, "Show the name of this sound to the players?", "Sound Name", list("Yes","No","Cancel"))) if("No") music_extra_data["title"] = "Admin sound" diff --git a/colonialmarines.dme b/colonialmarines.dme index a2506c193b99..71c2cd9669a2 100644 --- a/colonialmarines.dme +++ b/colonialmarines.dme @@ -350,6 +350,7 @@ #include "code\datums\fluff_emails.dm" #include "code\datums\global_variables.dm" #include "code\datums\http.dm" +#include "code\datums\internet_media.dm" #include "code\datums\lazy_template.dm" #include "code\datums\map_config.dm" #include "code\datums\matrix_editor.dm" diff --git a/config/example/config.txt b/config/example/config.txt index 07dfe6f1b839..604f0d4f6559 100644 --- a/config/example/config.txt +++ b/config/example/config.txt @@ -236,6 +236,11 @@ AUTOOOCMUTE ## The default value assumes youtube-dl is in your system PATH # INVOKE_YOUTUBEDL youtube-dl +## cobalt.tools is an alternative player used by Play Internet Sound, if +## both INVOKE_YOUTUBEDL and COBALT_BASE_API are specified. If only +## COBALT_BASE_API is specified, it will exclusively cobalt.tools. +# COBALT_BASE_API https://api.cobalt.tools/ + ## Default gamemode to auto-switch back to after a round has concluded GAMEMODE_DEFAULT Extended From 7cc8a46ed254592290c69bb889cde09c505f73e9 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 19:23:02 +0000 Subject: [PATCH 21/29] Automatic changelog for PR #7368 [ci skip] --- html/changelogs/AutoChangeLog-pr-7368.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7368.yml diff --git a/html/changelogs/AutoChangeLog-pr-7368.yml b/html/changelogs/AutoChangeLog-pr-7368.yml new file mode 100644 index 000000000000..8a9a6f89ef68 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7368.yml @@ -0,0 +1,4 @@ +author: "harryob" +delete-after: True +changes: + - server: "server hosts can now configure a cobalt.tools api to provide media playing with \"COBALT_BASE_API\" and \"COBALT_API_KEY\"" \ No newline at end of file From f363039b3033085e40480f61d9b41fcef3650272 Mon Sep 17 00:00:00 2001 From: GoldenDarkness55 <103884785+GoldenDarkness55@users.noreply.github.com> Date: Thu, 31 Oct 2024 20:58:40 +0100 Subject: [PATCH 22/29] Rebalances OT casings (#7217) # About the pull request Was going to touch up the RPG since the two existing attempts aren't too good (#7070 #7072), but figured I might aswell fix up the rest of it into a less cancerous state, since for some reason no one's done it yet despite years of complaints. Mostly reducing the explosive radius to curb braindead screenwide death, while making the other two underused properties better (fire and shrapnel). Should make the OT less ridiculous to play against and hopefully introduce alternatives to spamming the same full explosive rocket/mortar recipes round after round. Rounded up some numbers cause it bothers me if it doesn't end in a 0, easier to memorize that way too. Played OT in the past, but didn't bother testing the new values so explosive falloff might require further tweaks to either side for desired intent. I'll write down the proper numbers into the CL if this gets accepted, can't be arsed otherwise. # Explain why it's good for the game - RPG: increased falloff, reduced flame radius and explosive power, buffed fire intensity and shrapnel amount. Custom rocket range -1 tile to 7 and raised accuracy to tier 5 Instant screenwide boom/fire bad. Closer to AP but not completely without AoE. - Mortar: Nerfed explosive radius, buffed fire intensity and shrapnel amount Last I checked this wasn't a HE OB shell, should be a little bit saner. - Small grenades: Raised container volume to 120 and slightly metal cost to compensate. Rounded numbers, raised fire intensity and shrapnel a bit. 90 is way too little. - Large grenades: Nerfed explosive radius, buffed fire intensity, fire radius, duration and shard amount Similar to RPG, slightly nerfing the screenwide explosions while making the other properties better - C4: nerfed fire and explosive radius, fire duration, buffed damage to adjacent walls, explosive power, shrapnel amount and doubled fire intensity Felt weird for c4 to have such large AoE, more power in a smaller radius makes more sense. - Claymore: nerfed flame radius and explosive radius, buffed, fire intensity and shard amount Less AoE to make it safer to use. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: balance: OT M40 grenade casing volume from 90 to 120, power 175 to 180, falloff 75 to 80, shards 32 to 40, fire intensity 20 to 25, metal cost from 3750 to 4250 which is 12% of a single metal sheet balance: OT M15 grenade casing power 215 to 220, falloff 90 to 120, shards 32 to 80, fire radius from 5 to 6, fire intensity 20 to 30 and fire duration 24 to 32 balance: OT claymore casing power 105 to 100, falloff 60 to 80, shards 32 to 40, fire radius 5 to 4, fire intensity 12 to 20 balance: OT C4 casing damage multiplier against walls from 1.5 to 2, power 260 to 280, falloff 90 to 120, shards 64 to 100, fire radius 6 to 4, fire intensity 26 to 50, duration 30 to 20 balance: OT rocket casing power 240 to 220, falloff 90 to 160, shards 64 to 80, fire radius 6 to 4, fire intensity 40 to 45 balance: OT mortar casing falloff 90 to 130, shards 128 to 200, fire intensity 40 to 45 balance: Custom rocket accuracy raised from tier 2 to 5 and range lowered from 8 to 7 /:cl: --------- Co-authored-by: Nanu308 <59782240+Nanu308@users.noreply.github.com> --- code/datums/ammo/rocket.dm | 5 +++-- code/game/objects/items/explosives/explosive.dm | 4 ++-- .../objects/items/explosives/grenades/chem_grenade.dm | 8 ++++---- code/game/objects/items/explosives/mine.dm | 4 ++-- code/game/objects/items/explosives/plastic.dm | 6 +++--- code/game/objects/items/explosives/warhead.dm | 8 ++++---- 6 files changed, 18 insertions(+), 17 deletions(-) diff --git a/code/datums/ammo/rocket.dm b/code/datums/ammo/rocket.dm index d1050ed32062..f6e37abd24f5 100644 --- a/code/datums/ammo/rocket.dm +++ b/code/datums/ammo/rocket.dm @@ -277,8 +277,9 @@ /datum/ammo/rocket/custom name = "custom rocket" - accurate_range = 8 - max_range = 8 + accuracy = HIT_ACCURACY_TIER_5 + accurate_range = 7 + max_range = 7 /datum/ammo/rocket/custom/proc/prime(atom/atom, obj/projectile/projectile) var/obj/item/weapon/gun/launcher/rocket/launcher = projectile.shot_from diff --git a/code/game/objects/items/explosives/explosive.dm b/code/game/objects/items/explosives/explosive.dm index 0be81ba8a0ed..bd9e57a108d8 100644 --- a/code/game/objects/items/explosives/explosive.dm +++ b/code/game/objects/items/explosives/explosive.dm @@ -19,8 +19,8 @@ var/max_container_volume = 120 var/current_container_volume = 0 var/assembly_stage = ASSEMBLY_EMPTY //The assembly_stage of the assembly - var/list/reaction_limits = list("max_ex_power" = 175, "base_ex_falloff" = 75, "max_ex_shards" = 32, - "max_fire_rad" = 5, "max_fire_int" = 20, "max_fire_dur" = 24, + var/list/reaction_limits = list("max_ex_power" = 180, "base_ex_falloff" = 80, "max_ex_shards" = 40, + "max_fire_rad" = 5, "max_fire_int" = 25, "max_fire_dur" = 24, "min_fire_rad" = 1, "min_fire_int" = 3, "min_fire_dur" = 3 ) var/falloff_mode = EXPLOSION_FALLOFF_SHAPE_LINEAR diff --git a/code/game/objects/items/explosives/grenades/chem_grenade.dm b/code/game/objects/items/explosives/grenades/chem_grenade.dm index 48430aacecc9..ce08d7dfe08d 100644 --- a/code/game/objects/items/explosives/grenades/chem_grenade.dm +++ b/code/game/objects/items/explosives/grenades/chem_grenade.dm @@ -8,8 +8,8 @@ customizable = TRUE underslug_launchable = TRUE allowed_sensors = list(/obj/item/device/assembly/timer) - max_container_volume = 90 - matter = list("metal" = 3750) + max_container_volume = 120 + matter = list("metal" = 4250) has_blast_wave_dampener = TRUE /obj/item/explosive/grenade/custom/prime() @@ -22,8 +22,8 @@ icon_state = "large_grenade_custom" allowed_containers = list(/obj/item/reagent_container/glass) max_container_volume = 180 - reaction_limits = list( "max_ex_power" = 215, "base_ex_falloff" = 90, "max_ex_shards" = 32, - "max_fire_rad" = 5, "max_fire_int" = 20, "max_fire_dur" = 24, + reaction_limits = list( "max_ex_power" = 220, "base_ex_falloff" = 120, "max_ex_shards" = 80, + "max_fire_rad" = 6, "max_fire_int" = 30, "max_fire_dur" = 32, "min_fire_rad" = 1, "min_fire_int" = 3, "min_fire_dur" = 3 ) underslug_launchable = FALSE diff --git a/code/game/objects/items/explosives/mine.dm b/code/game/objects/items/explosives/mine.dm index 6e7aa2bdccc3..b92d3ccf97cb 100644 --- a/code/game/objects/items/explosives/mine.dm +++ b/code/game/objects/items/explosives/mine.dm @@ -17,8 +17,8 @@ antigrief_protection = TRUE allowed_sensors = list(/obj/item/device/assembly/prox_sensor) max_container_volume = 120 - reaction_limits = list( "max_ex_power" = 105, "base_ex_falloff" = 60, "max_ex_shards" = 32, - "max_fire_rad" = 5, "max_fire_int" = 12, "max_fire_dur" = 18, + reaction_limits = list( "max_ex_power" = 100, "base_ex_falloff" = 80, "max_ex_shards" = 40, + "max_fire_rad" = 4, "max_fire_int" = 20, "max_fire_dur" = 18, "min_fire_rad" = 2, "min_fire_int" = 3, "min_fire_dur" = 3 ) angle = 60 diff --git a/code/game/objects/items/explosives/plastic.dm b/code/game/objects/items/explosives/plastic.dm index c6a3dfaed5f9..2ac3c475aef5 100644 --- a/code/game/objects/items/explosives/plastic.dm +++ b/code/game/objects/items/explosives/plastic.dm @@ -9,13 +9,13 @@ w_class = SIZE_SMALL allowed_sensors = list(/obj/item/device/assembly/prox_sensor, /obj/item/device/assembly/signaller, /obj/item/device/assembly/timer) max_container_volume = 180 - reaction_limits = list( "max_ex_power" = 260, "base_ex_falloff" = 90, "max_ex_shards" = 64, - "max_fire_rad" = 6, "max_fire_int" = 26, "max_fire_dur" = 30, + reaction_limits = list( "max_ex_power" = 280, "base_ex_falloff" = 120, "max_ex_shards" = 100, + "max_fire_rad" = 4, "max_fire_int" = 50, "max_fire_dur" = 20, "min_fire_rad" = 2, "min_fire_int" = 4, "min_fire_dur" = 5 ) var/deploying_time = 50 - var/penetration = 1.5 // How much damage adjacent walls receive + var/penetration = 2 // How much damage adjacent walls receive var/timer = 10 // detonation time var/min_timer = 10 var/atom/plant_target = null //which atom the plstique explosive is planted on diff --git a/code/game/objects/items/explosives/warhead.dm b/code/game/objects/items/explosives/warhead.dm index 1b7ec1ed4f94..e026e635fad7 100644 --- a/code/game/objects/items/explosives/warhead.dm +++ b/code/game/objects/items/explosives/warhead.dm @@ -12,8 +12,8 @@ max_container_volume = 210 allow_star_shape = FALSE matter = list("metal" = 11250) //3 sheets - reaction_limits = list( "max_ex_power" = 240, "base_ex_falloff" = 90,"max_ex_shards" = 64, - "max_fire_rad" = 6, "max_fire_int" = 40, "max_fire_dur" = 48, + reaction_limits = list( "max_ex_power" = 220, "base_ex_falloff" = 160,"max_ex_shards" = 80, + "max_fire_rad" = 4, "max_fire_int" = 45, "max_fire_dur" = 48, "min_fire_rad" = 2, "min_fire_int" = 4, "min_fire_dur" = 5 ) has_blast_wave_dampener = TRUE @@ -24,8 +24,8 @@ icon_state = "warhead_mortar" max_container_volume = 240 matter = list("metal" = 11250) //3 sheets - reaction_limits = list( "max_ex_power" = 360, "base_ex_falloff" = 90, "max_ex_shards" = 128, - "max_fire_rad" = 8, "max_fire_int" = 40, "max_fire_dur" = 48, + reaction_limits = list( "max_ex_power" = 360, "base_ex_falloff" = 130, "max_ex_shards" = 200, + "max_fire_rad" = 8, "max_fire_int" = 45, "max_fire_dur" = 48, "min_fire_rad" = 3, "min_fire_int" = 5, "min_fire_dur" = 5 ) has_blast_wave_dampener = TRUE From 159fc40e9a4fb29000441c95a0647d031bf40317 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 20:05:54 +0000 Subject: [PATCH 23/29] Automatic changelog for PR #7217 [ci skip] --- html/changelogs/AutoChangeLog-pr-7217.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7217.yml diff --git a/html/changelogs/AutoChangeLog-pr-7217.yml b/html/changelogs/AutoChangeLog-pr-7217.yml new file mode 100644 index 000000000000..b250c310cdcc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7217.yml @@ -0,0 +1,10 @@ +author: "GoldenDarkness55" +delete-after: True +changes: + - balance: "OT M40 grenade casing volume from 90 to 120, power 175 to 180, falloff 75 to 80, shards 32 to 40, fire intensity 20 to 25, metal cost from 3750 to 4250 which is 12% of a single metal sheet" + - balance: "OT M15 grenade casing power 215 to 220, falloff 90 to 120, shards 32 to 80, fire radius from 5 to 6, fire intensity 20 to 30 and fire duration 24 to 32" + - balance: "OT claymore casing power 105 to 100, falloff 60 to 80, shards 32 to 40, fire radius 5 to 4, fire intensity 12 to 20" + - balance: "OT C4 casing damage multiplier against walls from 1.5 to 2, power 260 to 280, falloff 90 to 120, shards 64 to 100, fire radius 6 to 4, fire intensity 26 to 50, duration 30 to 20" + - balance: "OT rocket casing power 240 to 220, falloff 90 to 160, shards 64 to 80, fire radius 6 to 4, fire intensity 40 to 45" + - balance: "OT mortar casing falloff 90 to 130, shards 128 to 200, fire intensity 40 to 45" + - balance: "Custom rocket accuracy raised from tier 2 to 5 and range lowered from 8 to 7" \ No newline at end of file From 14fd6fdee7155fadb092cab2c379954fd32d77c6 Mon Sep 17 00:00:00 2001 From: Red <47158596+Red-byte3D@users.noreply.github.com> Date: Thu, 31 Oct 2024 23:01:14 +0300 Subject: [PATCH 24/29] base rav slight buff (#7373) # About the pull request increases the stun from the base ravager dash # Explain why it's good for the game Base ravager is very single target, the only target you knockdown infront of suppressing fire getting up too fast isnt really a fun time for an alleged tier 3 supposed to take on multiple targets, This should allow you to have an easier time to kill the target you have atleast dashed. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: balance: base ravager empowered charge stun is increased from 1.3 to 1.6 /:cl: --------- Co-authored-by: InsaneRed --- code/modules/mob/living/carbon/xenomorph/castes/Ravager.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/castes/Ravager.dm b/code/modules/mob/living/carbon/xenomorph/castes/Ravager.dm index 90614e338071..eefbc74b03b1 100644 --- a/code/modules/mob/living/carbon/xenomorph/castes/Ravager.dm +++ b/code/modules/mob/living/carbon/xenomorph/castes/Ravager.dm @@ -74,7 +74,7 @@ /datum/behavior_delegate/ravager_base var/shield_decay_time = 15 SECONDS // Time in deciseconds before our shield decays var/slash_charge_cdr = 3 SECONDS // Amount to reduce charge cooldown by per slash - var/knockdown_amount = 1.3 + var/knockdown_amount = 1.6 var/fling_distance = 3 var/empower_targets = 0 var/super_empower_threshold = 3 From cbdebea4cfabce472d6f3e0f59450468629fb7a1 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 20:14:53 +0000 Subject: [PATCH 25/29] Automatic changelog for PR #7373 [ci skip] --- html/changelogs/AutoChangeLog-pr-7373.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7373.yml diff --git a/html/changelogs/AutoChangeLog-pr-7373.yml b/html/changelogs/AutoChangeLog-pr-7373.yml new file mode 100644 index 000000000000..8f73fd71ae84 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7373.yml @@ -0,0 +1,4 @@ +author: "Red-byte3D" +delete-after: True +changes: + - balance: "base ravager empowered charge stun is increased from 1.3 to 1.6" \ No newline at end of file From a86458dca73711b8055e7677242cc577dfb08517 Mon Sep 17 00:00:00 2001 From: ghostsheet <43085828+ghostsheet@users.noreply.github.com> Date: Fri, 1 Nov 2024 07:05:20 +1100 Subject: [PATCH 26/29] Fire stops Xeno regen (Berserker) (#7137) # About the pull request Optional changes for #7135 Beserker Ravs no longer heals while on fire Bezerker ravs clothesline and eviscerate already doesnt heal while on fire, this PR makes zerker rav slashes not heal while on fire # Changelog :cl: ghostsheet balance: Beserker Ravs no longer heals while on fire. /:cl: --- .../carbon/xenomorph/strains/castes/ravager/berserker.dm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm index 5b8981157bda..84509d059cdb 100644 --- a/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm +++ b/code/modules/mob/living/carbon/xenomorph/strains/castes/ravager/berserker.dm @@ -73,7 +73,8 @@ to_chat(bound_xeno, SPAN_XENOHIGHDANGER("We feel a euphoric rush as we reach max rage! We are LOCKED at max Rage!")) // HP vamp - bound_xeno.gain_health((0.05*rage + hp_vamp_ratio)*((bound_xeno.melee_damage_upper - bound_xeno.melee_damage_lower)/2 + bound_xeno.melee_damage_lower)) + if(!bound_xeno.on_fire) + bound_xeno.gain_health((0.05*rage + hp_vamp_ratio)*((bound_xeno.melee_damage_upper - bound_xeno.melee_damage_lower)/2 + bound_xeno.melee_damage_lower)) /datum/behavior_delegate/ravager_berserker/append_to_stat() . = list() From 58c8a2e29e907e72e3af06637c308e0173e62b47 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 20:20:50 +0000 Subject: [PATCH 27/29] Automatic changelog for PR #7137 [ci skip] --- html/changelogs/AutoChangeLog-pr-7137.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7137.yml diff --git a/html/changelogs/AutoChangeLog-pr-7137.yml b/html/changelogs/AutoChangeLog-pr-7137.yml new file mode 100644 index 000000000000..6ad584f7c73a --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7137.yml @@ -0,0 +1,4 @@ +author: "ghostsheet" +delete-after: True +changes: + - balance: "Beserker Ravs no longer heals while on fire." \ No newline at end of file From e9f7937ae956b0b5cfc071cecf0b380bcc84710b Mon Sep 17 00:00:00 2001 From: Steelpoint <6595389+Steelpoint@users.noreply.github.com> Date: Fri, 1 Nov 2024 06:13:16 +0800 Subject: [PATCH 28/29] Pre-weeds some areas of Shivas Snowball (#7341) # About the pull request Adds some pre-made weeds and a few walls/doors on Shivas Snowball. # Explain why it's good for the game Shivas is somewhat disliked by Xenomorph players for a range of reasons, one of these is the extreme amount of setup time is needed for xenos to weed the colony plus how easy it is for survivors to move around. This change will pre-weed the areas that Xenomorphs spawn in, the rough south and north eastern areas of the map, and add a few set of resin doors and walls near the main entrances. The idea here is to give the xenomorphs a small base to start with to make it quicker to start fortifying hive locations. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: maptweak: The north-east and south-east areas of Shivas Snowball start of pre-weeded, in addition to a few resin doors and walls near the main entrances to hive locations. /:cl: Co-authored-by: Steelpoint --- .../Ice_Colony_v3/Shivas_Snowball.dmm | 3005 +++++++++-------- 1 file changed, 1632 insertions(+), 1373 deletions(-) diff --git a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm index d3e33b478df6..82defc080934 100644 --- a/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm +++ b/maps/map_files/Ice_Colony_v3/Shivas_Snowball.dmm @@ -1641,14 +1641,6 @@ /obj/structure/bed/chair/wheelchair, /turf/open/floor/shiva/wred/northeast, /area/shiva/interior/colony/medseceng) -"ajd" = ( -/obj/item/stack/snow{ - pixel_x = 8; - pixel_y = 9 - }, -/obj/item/stack/snow, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "aje" = ( /obj/structure/machinery/light/double{ dir = 4; @@ -1699,13 +1691,6 @@ /obj/structure/machinery/vending/snack, /turf/open/floor/shiva/bluefull, /area/shiva/interior/colony/central) -"ajE" = ( -/obj/item/stack/snow{ - pixel_x = -7 - }, -/obj/item/tool/shovel/snow, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "ajF" = ( /obj/item/tool/shovel/etool, /turf/open/auto_turf/snow/layer3, @@ -1980,6 +1965,10 @@ "alA" = ( /turf/open/auto_turf/ice/layer2, /area/shiva/exterior/junkyard) +"alG" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/cp_colony_grounds) "alJ" = ( /obj/item/device/flashlight/lamp/tripod/grey, /turf/open/auto_turf/ice/layer1, @@ -2637,6 +2626,14 @@ }, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_lz2) +"aqz" = ( +/obj/structure/machinery/light/double{ + dir = 4; + pixel_y = -5 + }, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/north, +/area/shiva/interior/colony/medseceng) "aqC" = ( /obj/effect/decal/warning_stripes{ icon_state = "W" @@ -3179,12 +3176,6 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/bar) -"avx" = ( -/obj/structure/platform/shiva/catwalk{ - dir = 1 - }, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "avz" = ( /obj/structure/surface/rack, /obj/item/bodybag/tarp/snow{ @@ -3195,6 +3186,13 @@ }, /turf/open/floor/interior/plastic, /area/shiva/interior/warehouse) +"avR" = ( +/obj/structure/stairs/perspective/ice{ + dir = 8; + icon_state = "p_stair_sn_full_cap" + }, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "avU" = ( /obj/structure/prop/invuln/ice_prefab{ icon_state = "fab_2" @@ -4315,6 +4313,9 @@ /obj/item/frame/table, /turf/open/floor/shiva/wred, /area/shiva/interior/colony/medseceng) +"aJt" = ( +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "aJy" = ( /obj/structure/flora/tree/dead/tree_5, /turf/open/auto_turf/snow/layer3, @@ -4709,9 +4710,6 @@ /obj/structure/machinery/colony_floodlight, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/cp_colony_grounds) -"aOk" = ( -/turf/closed/wall/shiva/ice, -/area/shiva/exterior/southwest_valley) "aOo" = ( /obj/item/dogtag, /obj/effect/decal/cleanable/blood, @@ -4864,6 +4862,10 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/plating, /area/shiva/interior/colony/medseceng) +"aRa" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/ice/layer2, +/area/shiva/exterior/valley) "aRb" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ name = "\improper Panic Room Shutters" @@ -5309,11 +5311,6 @@ /obj/item/stack/sheet/metal, /turf/open/shuttle/can_surgery/black, /area/shiva/interior/aerodrome) -"aWb" = ( -/obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, -/obj/effect/sentry_landmark/lz_2/bottom_right, -/turf/open/floor/shiva/north, -/area/shiva/exterior/lz2_fortress) "aWs" = ( /obj/effect/decal/warning_stripes{ icon_state = "NE-out" @@ -5463,6 +5460,11 @@ }, /turf/open/floor/shiva/purplefull/east, /area/shiva/interior/colony/research_hab) +"aXD" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/shiva/purplefull/west, +/area/shiva/interior/colony/research_hab) "aXH" = ( /obj/effect/decal/warning_stripes{ icon_state = "S" @@ -5715,9 +5717,6 @@ }, /turf/open/gm/river, /area/shiva/interior/warehouse/caves) -"bdT" = ( -/turf/open/floor/shiva/radiator_tile2, -/area/shiva/interior/colony/medseceng) "ben" = ( /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/telecomm/lz1_north) @@ -5807,10 +5806,6 @@ "bhI" = ( /turf/open/floor/shiva/wred/southeast, /area/shiva/interior/colony/medseceng) -"bhN" = ( -/obj/structure/flora/grass/tallgrass/ice/corner, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "bhS" = ( /turf/open/floor/shiva/wred/north, /area/shiva/interior/colony/medseceng) @@ -5821,6 +5816,13 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/lz2_habs) +"bir" = ( +/obj/structure/stairs/perspective/ice{ + dir = 1; + icon_state = "p_stair_sn_full_cap" + }, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "biM" = ( /turf/open/floor/carpet, /area/shiva/interior/colony/research_hab) @@ -5933,6 +5935,10 @@ /obj/structure/closet/firecloset, /turf/open/floor/shiva/redfull, /area/shiva/interior/colony/research_hab) +"bqz" = ( +/obj/effect/sentry_landmark/lz_1/top_right, +/turf/open/auto_turf/snow/layer3, +/area/shiva/interior/caves/cp_camp) "bqN" = ( /obj/structure/machinery/door/airlock/almayer/generic, /turf/open/shuttle/can_surgery/black, @@ -6128,6 +6134,12 @@ /obj/item/reagent_container/food/drinks/cans/beer, /turf/open/floor/prison/kitchen, /area/shiva/interior/bar) +"bBx" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/snow/layer0, +/area/shiva/interior/colony/research_hab) "bBB" = ( /obj/structure/largecrate/random/barrel, /turf/open/floor/plating, @@ -6153,10 +6165,6 @@ "bFg" = ( /turf/open/auto_turf/snow/layer0, /area/shiva/exterior/junkyard/cp_bar) -"bFx" = ( -/obj/structure/flora/bush/ausbushes/lavendergrass, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "bFC" = ( /obj/structure/machinery/door/airlock/almayer/engineering/colony{ dir = 1; @@ -6200,12 +6208,6 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/bar) -"bHC" = ( -/obj/structure/platform/shiva/catwalk{ - dir = 8 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "bHN" = ( /obj/item/ammo_magazine/rifle/boltaction{ pixel_x = -7; @@ -6230,6 +6232,10 @@ /obj/item/device/motiondetector/hacked, /turf/open/floor/shiva, /area/shiva/interior/colony/research_hab) +"bIl" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/yellow/west, +/area/shiva/interior/colony/research_hab) "bIV" = ( /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/junkyard/cp_bar) @@ -6279,6 +6285,12 @@ }, /turf/open/floor/plating, /area/shiva/interior/colony/central) +"bLV" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W-corner" + }, +/turf/open/floor/plating, +/area/shiva/exterior/southwest_valley) "bMn" = ( /obj/structure/surface/table/woodentable, /obj/item/reagent_container/food/drinks/bottle/holywater, @@ -6360,6 +6372,9 @@ /obj/structure/flora/tree/dead/tree_5, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/junkyard) +"bSu" = ( +/turf/closed/wall/shiva/ice, +/area/shiva/exterior/southwest_valley) "bSB" = ( /obj/structure/prop/invuln{ desc = "big pile energy."; @@ -6422,11 +6437,6 @@ /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/wood, /area/shiva/interior/colony/medseceng) -"bVS" = ( -/obj/structure/machinery/light/double, -/obj/effect/decal/cleanable/vomit, -/turf/open/floor/plating, -/area/shiva/interior/colony/medseceng) "bWB" = ( /obj/structure/surface/rack, /obj/item/tank/emergency_oxygen/double, @@ -6507,10 +6517,6 @@ "caS" = ( /turf/closed/wall/shiva/prefabricated/reinforced/hull, /area/shiva/exterior/lz2_fortress) -"cbe" = ( -/obj/structure/flora/tree/dead/tree_4, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "cbk" = ( /obj/structure/prop/invuln{ desc = "The mounting points are ground down from heavy use. They'll need some maintenance work before they can be used again."; @@ -6542,6 +6548,10 @@ /obj/effect/spawner/random/tool, /turf/open/auto_turf/snow/layer0, /area/shiva/interior/caves/cp_camp) +"cbV" = ( +/obj/vehicle/train/cargo/engine, +/turf/open/floor/plating/plating_catwalk/shiva, +/area/shiva/exterior/southwest_valley) "cbW" = ( /obj/structure/largecrate/random/mini/med, /turf/open/floor/plating, @@ -6568,10 +6578,6 @@ /obj/structure/fence, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/lz1_valley) -"ceh" = ( -/obj/effect/sentry_landmark/lz_1/top_right, -/turf/open/auto_turf/snow/layer3, -/area/shiva/interior/caves/cp_camp) "cex" = ( /obj/structure/stairs/perspective{ dir = 4; @@ -6669,10 +6675,6 @@ }, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/junkyard/cp_bar) -"cnk" = ( -/obj/item/stack/sheet/metal, -/turf/open/floor/shiva/wred/east, -/area/shiva/interior/colony/medseceng) "cnt" = ( /obj/structure/largecrate/random/secure, /turf/open/auto_turf/snow/layer2, @@ -6702,9 +6704,6 @@ icon_state = "stan23" }, /area/shiva/interior/aerodrome) -"coD" = ( -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "cpb" = ( /obj/structure/machinery/light/double{ dir = 1; @@ -6748,6 +6747,10 @@ "crF" = ( /turf/open/floor/plating/plating_catwalk/shiva, /area/shiva/interior/colony/research_hab) +"crJ" = ( +/obj/effect/sentry_landmark/lz_1/bottom_right, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/lz1_valley) "crN" = ( /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/far, @@ -6787,6 +6790,10 @@ /obj/structure/machinery/space_heater, /turf/open/floor/plating, /area/shiva/interior/caves/research_caves) +"cux" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/ice/layer0, +/area/shiva/interior/caves/research_caves) "cuJ" = ( /obj/structure/prop/ice_colony/ground_wire{ dir = 1 @@ -6809,6 +6816,14 @@ }, /turf/open/auto_turf/snow/layer4, /area/shiva/exterior/cp_lz2) +"cwx" = ( +/obj/structure/machinery/light/double{ + dir = 1; + pixel_y = 9 + }, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/shiva/radiator_tile2, +/area/shiva/interior/colony/medseceng) "cwU" = ( /obj/effect/decal/warning_stripes{ icon_state = "W-corner" @@ -7148,6 +7163,10 @@ /obj/item/clothing/suit/armor/riot/marine, /turf/open/floor/shiva/redfull/west, /area/shiva/interior/colony/research_hab) +"cTe" = ( +/obj/item/lightstick/red/variant, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "cTh" = ( /obj/item/lightstick/red/spoke/planted{ pixel_x = 11; @@ -7208,6 +7227,14 @@ }, /turf/open/floor/plating, /area/shiva/exterior/valley) +"cWI" = ( +/obj/item/stack/snow{ + pixel_x = 8; + pixel_y = 9 + }, +/obj/item/stack/snow, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "cWN" = ( /obj/structure/flora/grass/tallgrass/ice/corner{ dir = 4 @@ -7338,6 +7365,13 @@ "daD" = ( /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/junkyard/cp_bar) +"daY" = ( +/obj/structure/stairs/perspective/ice{ + dir = 1; + icon_state = "p_stair_full" + }, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "dbv" = ( /obj/structure/largecrate/random/case, /turf/open/auto_turf/ice/layer1, @@ -7385,6 +7419,15 @@ }, /turf/open/floor/shiva/north, /area/shiva/interior/colony/medseceng) +"ddF" = ( +/obj/structure/prop/ice_colony/flamingo{ + dir = 1 + }, +/obj/structure/platform_decoration/shiva/catwalk{ + dir = 8 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "dex" = ( /obj/structure/machinery/photocopier, /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, @@ -7483,6 +7526,10 @@ }, /turf/open/floor/plating/plating_catwalk/shiva, /area/shiva/exterior/lz2_fortress) +"dkY" = ( +/obj/effect/sentry_landmark/lz_2/top_left, +/turf/open/floor/shiva/north, +/area/shiva/exterior/lz2_fortress) "dlk" = ( /obj/effect/decal/warning_stripes{ icon_state = "E-corner" @@ -7496,6 +7543,12 @@ /obj/structure/window/reinforced, /turf/open/floor/wood, /area/shiva/interior/colony/central) +"dmv" = ( +/obj/structure/platform/shiva/catwalk{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "dnj" = ( /obj/structure/surface/rack, /obj/item/tool/shovel/snow, @@ -7626,6 +7679,10 @@ }, /turf/open/auto_turf/snow/layer2, /area/shiva/interior/colony/central) +"dvw" = ( +/obj/structure/flora/tree/dead/tree_1, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "dwf" = ( /obj/item/clothing/shoes/snow, /obj/structure/surface/rack, @@ -7695,6 +7752,10 @@ /obj/structure/cargo_container/horizontal/blue/bottom, /turf/open/floor/shiva/floor3, /area/shiva/interior/bar) +"dCB" = ( +/obj/item/lightstick/red/variant/planted, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "dCS" = ( /turf/closed/shuttle/ert{ icon_state = "stan2" @@ -7708,6 +7769,10 @@ /obj/structure/machinery/landinglight/ds1/spoke, /turf/open/floor/shiva/multi_tiles/southeast, /area/shiva/interior/colony/botany) +"dEh" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor/shiva/redfull/west, +/area/shiva/interior/colony/medseceng) "dEH" = ( /obj/structure/surface/rack, /obj/item/storage/toolbox/electrical, @@ -7725,6 +7790,10 @@ /obj/effect/landmark/crap_item, /turf/open/floor/shiva/north, /area/shiva/interior/colony/central) +"dIE" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/ice/layer2, +/area/shiva/interior/caves/research_caves) "dIF" = ( /obj/structure/machinery/photocopier, /turf/open/floor/shiva/wred/east, @@ -7737,6 +7806,9 @@ /obj/item/powerloader_clamp, /turf/open/auto_turf/ice/layer1, /area/shiva/interior/colony/research_hab) +"dKD" = ( +/turf/open/auto_turf/snow/layer4, +/area/shiva/exterior/southwest_valley) "dKL" = ( /obj/structure/flora/bush/snow{ icon_state = "snowgrassbb_1" @@ -7833,10 +7905,6 @@ "dQF" = ( /turf/open/floor/prison/kitchen, /area/shiva/interior/colony/central) -"dQH" = ( -/obj/effect/sentry_landmark/lz_1/bottom_right, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/lz1_valley) "dQZ" = ( /obj/structure/window/reinforced/tinted{ dir = 8 @@ -7871,9 +7939,6 @@ "dWp" = ( /turf/open/floor/shiva/yellow/southeast, /area/shiva/interior/colony/medseceng) -"dWq" = ( -/turf/open/auto_turf/ice/layer1, -/area/shiva/exterior/southwest_valley) "dWw" = ( /obj/structure/prop/ice_colony/dense/planter_box{ dir = 9 @@ -7969,6 +8034,10 @@ }, /turf/closed/wall/shiva/ice, /area/shiva/interior/caves/s_lz2) +"ean" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/caves/research_caves) "eaz" = ( /obj/structure/surface/table, /obj/item/stock_parts/matter_bin/adv{ @@ -7988,6 +8057,15 @@ /obj/item/lightstick/red/spoke/planted, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_colony_grounds) +"ecg" = ( +/obj/structure/platform/shiva/catwalk{ + dir = 1 + }, +/obj/structure/prop/ice_colony/flamingo{ + dir = 9 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "ecj" = ( /turf/closed/wall/shiva/ice, /area/shiva/interior/caves/right_spiders) @@ -8033,6 +8111,10 @@ /obj/structure/largecrate/random/barrel/white, /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/junkyard) +"efO" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/caves/research_caves) "egf" = ( /obj/structure/machinery/door/airlock/almayer/medical/colony{ name = "\improper Underground Sports Center" @@ -8051,12 +8133,6 @@ /obj/structure/blocker/forcefield/multitile_vehicles, /turf/closed/wall/shiva/prefabricated/blue, /area/shiva/interior/colony/research_hab) -"ehV" = ( -/obj/structure/platform/shiva/catwalk{ - dir = 1 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "eit" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/auto_turf/ice/layer1, @@ -8149,9 +8225,6 @@ }, /turf/open/floor/plating, /area/shiva/interior/caves/research_caves) -"eoE" = ( -/turf/closed/wall/shiva/prefabricated/reinforced, -/area/shiva/exterior/southwest_valley) "eoG" = ( /obj/effect/landmark/corpsespawner/security/marshal, /turf/open/floor/shiva/green/southeast, @@ -8180,6 +8253,16 @@ }, /turf/open/floor/shiva/snow_mat/north, /area/shiva/exterior/cp_lz2) +"eqm" = ( +/obj/structure/machinery/door_control/brbutton{ + id = "hangar_ice_2"; + pixel_y = 28 + }, +/obj/structure/platform/shiva/catwalk{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "eqD" = ( /obj/structure/machinery/light/double{ dir = 8; @@ -8211,13 +8294,6 @@ }, /turf/open/floor/plating, /area/shiva/interior/colony/central) -"etl" = ( -/obj/structure/largecrate/random/secure, -/obj/item/ashtray/bronze{ - pixel_y = 7 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "etm" = ( /obj/structure/machinery/cm_vending/sorted/medical/wall_med/limited{ pixel_y = 28 @@ -8271,12 +8347,6 @@ "exX" = ( /turf/open/floor/shiva/bluefull/west, /area/shiva/interior/warehouse) -"eyx" = ( -/obj/structure/bed/chair{ - dir = 4 - }, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) "eAZ" = ( /turf/open/auto_turf/snow/layer2, /area/shiva/interior/colony/medseceng) @@ -8295,10 +8365,6 @@ }, /turf/open/floor/shiva/purplefull/west, /area/shiva/interior/lz2_habs) -"eBG" = ( -/obj/structure/barricade/wooden, -/turf/open/floor/plating, -/area/shiva/interior/colony/research_hab) "eBU" = ( /obj/effect/landmark/survivor_spawner, /turf/open/floor/shiva/north, @@ -8492,6 +8558,11 @@ /obj/item/reagent_container/food/drinks/bottle/vodka/chess/w_rook, /turf/open/floor/shiva/radiator_tile, /area/shiva/exterior/cp_lz2) +"eQr" = ( +/obj/item/weapon/gun/shotgun/pump/dual_tube/cmb, +/obj/effect/sentry_landmark/lz_2/bottom_right, +/turf/open/floor/shiva/north, +/area/shiva/exterior/lz2_fortress) "eRk" = ( /obj/structure/barricade/sandbags/wired{ dir = 8; @@ -8519,6 +8590,10 @@ }, /turf/open/auto_turf/snow/layer1, /area/shiva/interior/caves/cp_camp) +"eSo" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/colony/research_hab) "eSt" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/shiva/multi_tiles/east, @@ -8527,10 +8602,6 @@ /obj/item/lightstick/red/spoke/planted, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/cp_colony_grounds) -"eSN" = ( -/obj/vehicle/train/cargo/engine, -/turf/open/floor/plating/plating_catwalk/shiva, -/area/shiva/exterior/southwest_valley) "eTV" = ( /obj/structure/flora/bush/ausbushes/lavendergrass{ icon_state = "lavendergrass_2" @@ -8579,6 +8650,10 @@ "eWB" = ( /turf/open/floor/plating, /area/shiva/interior/garage) +"eWF" = ( +/obj/structure/flora/bush/ausbushes/lavendergrass, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "eXL" = ( /obj/structure/surface/table, /obj/item/stack/cable_coil, @@ -8663,6 +8738,10 @@ "fcL" = ( /turf/open/floor/shiva/snow_mat, /area/shiva/exterior/cp_colony_grounds) +"fdo" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating, +/area/shiva/interior/colony/research_hab) "fel" = ( /obj/structure/machinery/light/double{ dir = 8; @@ -8705,6 +8784,10 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/shiva/multi_tiles, /area/shiva/interior/colony/research_hab) +"fgj" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor/shiva/redfull, +/area/shiva/interior/colony/medseceng) "fgB" = ( /obj/item/stack/sheet/metal, /obj/effect/decal/cleanable/dirt, @@ -8836,6 +8919,16 @@ /obj/structure/platform/strata, /turf/open/gm/river, /area/shiva/interior/caves/research_caves) +"fna" = ( +/obj/structure/platform_decoration/strata{ + dir = 1 + }, +/obj/item/lightstick/red/variant/planted{ + pixel_x = -7; + pixel_y = -5 + }, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "fnw" = ( /obj/structure/stairs/perspective/ice{ dir = 1; @@ -8870,13 +8963,10 @@ /obj/item/storage/firstaid/fire, /turf/open/shuttle/can_surgery/black, /area/shiva/interior/aerodrome) -"fpF" = ( -/obj/structure/stairs/perspective/ice{ - dir = 8; - icon_state = "p_stair_sn_full_cap" - }, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) +"fpp" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/ice/layer0, +/area/shiva/interior/caves/medseceng_caves) "fqJ" = ( /obj/structure/bed/chair/office/dark{ dir = 1 @@ -9026,16 +9116,16 @@ /obj/structure/bed/chair, /turf/open/floor/shiva/red/north, /area/shiva/interior/colony/medseceng) -"fCs" = ( -/obj/structure/flora/grass/tallgrass/ice, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "fDd" = ( /obj/structure/surface/table, /obj/item/storage/box/donkpockets, /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, /turf/open/floor/shiva/north, /area/shiva/interior/colony/botany) +"fDx" = ( +/obj/effect/sentry_landmark/lz_1/bottom_left, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/lz1_valley) "fDH" = ( /obj/structure/machinery/colony_floodlight, /turf/open/auto_turf/snow/layer0, @@ -9202,21 +9292,18 @@ /obj/effect/decal/cleanable/blood, /turf/open/floor/prison, /area/shiva/interior/bar) +"fKR" = ( +/obj/structure/platform/shiva/catwalk{ + dir = 8 + }, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "fKT" = ( /obj/structure/surface/table, /obj/item/storage/box/bodybags, /obj/structure/machinery/light/double, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/central) -"fLi" = ( -/obj/item/tool/shovel/snow, -/obj/item/storage/fancy/cigarettes/arcturian_ace{ - layer = 3.1; - pixel_x = -8; - pixel_y = 23 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "fLk" = ( /obj/item/clothing/shoes/snow, /obj/structure/surface/rack, @@ -9494,6 +9581,10 @@ /obj/effect/decal/cleanable/blood/gibs/xeno/up, /turf/open/floor/shiva/bluefull, /area/shiva/interior/colony/central) +"gdI" = ( +/obj/item/lightstick/red/variant/planted, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "gdU" = ( /obj/structure/barricade/wooden{ dir = 4; @@ -9514,6 +9605,12 @@ "geE" = ( /turf/closed/wall/shiva/prefabricated, /area/shiva/exterior/junkyard) +"geQ" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "geS" = ( /obj/structure/machinery/iv_drip, /turf/open/floor/shiva/wred/northwest, @@ -9612,11 +9709,6 @@ /obj/item/device/flashlight, /turf/open/auto_turf/ice/layer1, /area/shiva/interior/caves/s_lz2) -"gmV" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/shiva/floor3, -/area/shiva/interior/colony/research_hab) "gnZ" = ( /turf/closed/shuttle/elevator{ dir = 8 @@ -9705,16 +9797,6 @@ /obj/structure/machinery/power/apc/no_power/east, /turf/open/floor/shiva/north, /area/shiva/interior/caves/s_lz2) -"grk" = ( -/obj/structure/platform/strata{ - dir = 8 - }, -/obj/structure/stairs/perspective/ice{ - dir = 1; - icon_state = "p_stair_sn_full_cap" - }, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) "gso" = ( /obj/structure/platform/strata, /turf/open/gm/river, @@ -9768,10 +9850,6 @@ }, /turf/open/floor/shiva/north, /area/shiva/interior/lz2_habs) -"guC" = ( -/obj/structure/flora/tree/dead/tree_2, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "guH" = ( /obj/structure/prop/ice_colony/surveying_device, /turf/open/auto_turf/ice/layer0, @@ -9821,12 +9899,6 @@ /obj/effect/landmark/hunter_secondary, /turf/open/auto_turf/ice/layer1, /area/shiva/exterior/valley) -"gzb" = ( -/obj/structure/flora/grass/tallgrass/ice/corner{ - dir = 6 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "gzc" = ( /obj/structure/machinery/portable_atmospherics/powered/scrubber{ icon_state = "psiphon:1" @@ -9868,6 +9940,11 @@ }, /turf/open/floor/plating, /area/shiva/interior/colony/botany) +"gCe" = ( +/obj/item/ammo_magazine/rifle/m41aMK1, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva, +/area/shiva/interior/colony/research_hab) "gCx" = ( /obj/structure/machinery/landinglight/ds1/spoke, /turf/open/auto_turf/snow/layer1, @@ -9877,11 +9954,6 @@ /obj/item/device/flashlight, /turf/open/floor/shiva/yellow/southeast, /area/shiva/interior/garage) -"gCL" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/blood/drip, -/turf/open/floor/shiva, -/area/shiva/interior/colony/research_hab) "gCW" = ( /obj/structure/platform/shiva/catwalk{ dir = 8 @@ -9892,6 +9964,12 @@ /obj/item/device/flashlight/lamp/tripod, /turf/open/floor/shiva/snow_mat, /area/shiva/interior/colony/botany) +"gDH" = ( +/obj/structure/platform_decoration/shiva/catwalk{ + dir = 8 + }, +/turf/open/auto_turf/snow/layer4, +/area/shiva/exterior/southwest_valley) "gEk" = ( /obj/structure/prop/invuln/ice_prefab/roof_greeble{ icon_state = "vent4"; @@ -9936,10 +10014,10 @@ /obj/item/ammo_magazine/rifle/m41aMK1, /turf/open/floor/shiva, /area/shiva/interior/colony/research_hab) -"gGg" = ( -/obj/effect/sentry_landmark/lz_2/bottom_right, -/turf/open/floor/shiva/floor3, -/area/shiva/exterior/lz2_fortress) +"gGq" = ( +/obj/item/lightstick/red/variant/planted, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "gGB" = ( /obj/effect/decal/cleanable/blood{ icon_state = "xgibdown1" @@ -10023,6 +10101,9 @@ /obj/item/trash/cigbutt, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/research_hab) +"gKF" = ( +/turf/open/auto_turf/ice/layer1, +/area/shiva/exterior/southwest_valley) "gKQ" = ( /obj/structure/machinery/light/small{ dir = 4 @@ -10182,10 +10263,6 @@ /obj/effect/landmark/objective_landmark/close, /turf/open/floor/shiva/north, /area/shiva/interior/colony/n_admin) -"gSC" = ( -/obj/effect/sentry_landmark/lz_2/top_right, -/turf/open/floor/shiva/north, -/area/shiva/exterior/lz2_fortress) "gSG" = ( /obj/effect/decal/cleanable/blood/drip, /obj/effect/landmark/objective_landmark/close, @@ -10228,10 +10305,17 @@ /obj/effect/landmark/objective_landmark/close, /turf/open/floor/shiva/green/northwest, /area/shiva/interior/colony/botany) +"gWc" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor/plating, +/area/shiva/interior/caves/research_caves) "gWk" = ( /obj/structure/window/framed/shiva, /turf/open/floor/plating, /area/shiva/interior/bar) +"gWx" = ( +/turf/closed/wall/shiva/prefabricated/reinforced, +/area/shiva/exterior/southwest_valley) "gWF" = ( /obj/structure/machinery/light/double{ dir = 1; @@ -10263,10 +10347,6 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/aux_power) -"gYj" = ( -/obj/structure/flora/bush/ausbushes/lavendergrass, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) "gYu" = ( /obj/item/lightstick/red/planted, /turf/open/auto_turf/snow/layer0, @@ -10279,6 +10359,10 @@ /obj/effect/landmark/hunter_primary, /turf/open/auto_turf/ice/layer1, /area/shiva/interior/caves/cp_camp) +"gZn" = ( +/obj/effect/decal/cleanable/blood/oil, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "gZG" = ( /obj/structure/machinery/door/airlock/almayer/medical/colony{ dir = 2; @@ -10319,12 +10403,19 @@ }, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/lz1_valley) +"hbY" = ( +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "hcH" = ( /turf/closed/wall/shiva/prefabricated/reinforced, /area/shiva/interior/bar) "hcJ" = ( /turf/closed/wall/shiva/prefabricated/reinforced/hull, /area/shiva/interior/telecomm/lz1_biceps) +"hdF" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/redfull, +/area/shiva/interior/colony/medseceng) "hfm" = ( /obj/item/paper/research_notes/good, /turf/open/floor/shiva/floor3, @@ -10340,10 +10431,6 @@ /obj/structure/surface/table, /turf/open/floor/shiva/wred/west, /area/shiva/interior/colony/medseceng) -"hgd" = ( -/obj/item/lightstick/red/variant/planted, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "hgI" = ( /obj/structure/flora/bush/ausbushes/lavendergrass, /turf/open/auto_turf/snow/layer2, @@ -10546,16 +10633,16 @@ }, /turf/open/floor/shiva/wredfull, /area/shiva/interior/colony/medseceng) +"hst" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/wred/southeast, +/area/shiva/interior/colony/medseceng) "hsw" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/circuitboard, /obj/item/tool/screwdriver, /turf/open/floor/shiva/bluefull/west, /area/shiva/interior/aerodrome) -"hsU" = ( -/obj/structure/machinery/power/apc/no_power/north, -/turf/open/floor/plating, -/area/shiva/exterior/southwest_valley) "hsZ" = ( /obj/structure/prop/invuln/ice_prefab/trim{ dir = 6 @@ -10599,6 +10686,16 @@ /obj/structure/flora/tree/dead/tree_3, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_s_research) +"hvd" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/shiva/radiator_tile2, +/area/shiva/interior/colony/medseceng) +"hvH" = ( +/obj/structure/flora/bush/snow{ + icon_state = "snowgrassbb_1" + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "hvZ" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ id = "hangar_ice_3"; @@ -10636,15 +10733,6 @@ /obj/structure/flora/tree/dead/tree_2, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_s_research) -"hye" = ( -/obj/structure/prop/ice_colony/flamingo{ - dir = 1 - }, -/obj/structure/platform_decoration/shiva/catwalk{ - dir = 8 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "hyu" = ( /turf/open/floor/shiva/bluefull, /area/shiva/interior/colony/s_admin) @@ -10668,6 +10756,10 @@ }, /turf/open/floor/shiva/multi_tiles, /area/shiva/interior/colony/research_hab) +"hzh" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/north, +/area/shiva/interior/colony/deck) "hzJ" = ( /turf/closed/wall/shiva/prefabricated/reinforced, /area/shiva/exterior/lz1_valley) @@ -10821,6 +10913,10 @@ "hFj" = ( /turf/open/auto_turf/snow/layer4, /area/shiva/exterior/junkyard/fortbiceps) +"hFk" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/yellowfull, +/area/shiva/interior/colony/research_hab) "hFl" = ( /turf/open/auto_turf/ice/layer0, /area/shiva/interior/oob/dev_room) @@ -10852,15 +10948,6 @@ }, /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/junkyard/fortbiceps) -"hHR" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W-corner" - }, -/obj/structure/barricade/metal{ - dir = 4 - }, -/turf/open/floor/plating, -/area/shiva/exterior/southwest_valley) "hHV" = ( /obj/structure/surface/table, /obj/structure/machinery/cell_charger, @@ -10898,10 +10985,6 @@ /obj/structure/flora/tree/dead/tree_4, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_colony_grounds) -"hIW" = ( -/obj/effect/sentry_landmark/lz_2/top_left, -/turf/open/floor/shiva/north, -/area/shiva/exterior/lz2_fortress) "hJH" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony, /turf/open/floor/plating, @@ -11087,6 +11170,11 @@ }, /turf/open/floor/wood, /area/shiva/interior/colony/medseceng) +"hUS" = ( +/obj/item/stack/sheet/metal, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/wredfull, +/area/shiva/interior/colony/medseceng) "hVs" = ( /obj/structure/surface/table, /obj/item/evidencebag{ @@ -11232,6 +11320,10 @@ /obj/effect/landmark/xeno_spawn, /turf/open/floor/shiva/redfull/west, /area/shiva/interior/colony/research_hab) +"ifI" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/wood, +/area/shiva/interior/colony/medseceng) "ifN" = ( /obj/structure/surface/rack, /obj/item/lightstick, @@ -11270,6 +11362,10 @@ /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, /turf/open/floor/shiva/north, /area/shiva/interior/colony/medseceng) +"ihk" = ( +/obj/effect/sentry_landmark/lz_2/bottom_right, +/turf/open/floor/shiva/radiator_tile, +/area/shiva/exterior/lz2_fortress) "ihp" = ( /obj/structure/surface/table/woodentable, /obj/item/reagent_container/food/drinks/bottle/sake, @@ -11459,6 +11555,10 @@ /obj/structure/machinery/vending/snack, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/central) +"itu" = ( +/obj/structure/flora/tree/dead/tree_2, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "itG" = ( /obj/structure/closet/secure_closet/security, /obj/effect/landmark/objective_landmark/medium, @@ -11488,6 +11588,12 @@ "itW" = ( /turf/open/floor/shiva/red/north, /area/shiva/interior/colony/central) +"iub" = ( +/obj/structure/flora/grass/tallgrass/ice/corner{ + dir = 10 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "iuz" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/shiva/floor3, @@ -11690,9 +11796,6 @@ }, /turf/open/auto_turf/snow/layer0, /area/shiva/exterior/cp_lz2) -"iDu" = ( -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) "iDy" = ( /obj/structure/flora/grass/tallgrass/ice/corner{ dir = 4 @@ -11734,12 +11837,6 @@ }, /turf/open/floor/shiva/multi_tiles/east, /area/shiva/interior/colony/botany) -"iHu" = ( -/obj/structure/platform_decoration/shiva/catwalk{ - dir = 8 - }, -/turf/open/auto_turf/snow/layer4, -/area/shiva/exterior/southwest_valley) "iHN" = ( /obj/effect/landmark/survivor_spawner, /turf/open/floor/shiva/green/east, @@ -11798,12 +11895,6 @@ "iJY" = ( /turf/open/floor/shiva/red/north, /area/shiva/interior/colony/medseceng) -"iKW" = ( -/obj/structure/platform_decoration/shiva/catwalk{ - dir = 4 - }, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) "iLf" = ( /obj/item/lightstick/red/spoke/planted{ pixel_x = 12; @@ -11822,14 +11913,15 @@ /obj/structure/window/framed/shiva, /turf/open/floor/plating, /area/shiva/interior/aerodrome) -"iMC" = ( -/obj/item/tool/shovel/snow, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) "iMW" = ( /obj/item/stack/cable_coil/cut, /turf/open/auto_turf/snow/layer0, /area/shiva/interior/caves/cp_camp) +"iNt" = ( +/obj/structure/desertdam/decals/road_stop, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/shiva/floor3, +/area/shiva/interior/colony/research_hab) "iNS" = ( /obj/effect/decal/cleanable/blood{ dir = 4; @@ -11860,13 +11952,6 @@ /obj/item/lightstick/red/variant/planted, /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/lz1_valley) -"iOA" = ( -/obj/structure/machinery/door_control/brbutton{ - id = "hangar_ice_3"; - pixel_y = 28 - }, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) "iPg" = ( /turf/open/floor/shiva/multi_tiles/west, /area/shiva/interior/colony/n_admin) @@ -12079,12 +12164,6 @@ /obj/structure/machinery/power/apc/no_power/east, /turf/open/floor/shiva, /area/shiva/interior/bar) -"jac" = ( -/obj/structure/platform/shiva/catwalk{ - dir = 4 - }, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "jay" = ( /turf/open/floor/shiva/yellowcorners/north, /area/shiva/interior/colony/medseceng) @@ -12100,6 +12179,10 @@ /obj/item/device/whistle, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/research_hab) +"jbr" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/carpet, +/area/shiva/interior/colony/medseceng) "jbE" = ( /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/medseceng) @@ -12152,12 +12235,6 @@ }, /turf/open/floor/shiva/multi_tiles/west, /area/shiva/interior/colony/botany) -"jhm" = ( -/obj/structure/platform/shiva/catwalk{ - dir = 8 - }, -/turf/open/auto_turf/snow/layer4, -/area/shiva/exterior/southwest_valley) "jhq" = ( /turf/open/floor/shiva/radiator_tile, /area/shiva/interior/colony/n_admin) @@ -12318,6 +12395,10 @@ /obj/structure/closet/secure_closet/security, /turf/open/floor/shiva/red/southwest, /area/shiva/interior/colony/central) +"jtc" = ( +/obj/effect/sentry_landmark/lz_1/bottom_left, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/lz1_valley) "jtp" = ( /obj/structure/prop/invuln/ice_prefab, /turf/open/auto_turf/ice/layer0, @@ -12570,6 +12651,10 @@ /obj/item/tool/pickaxe, /turf/open/auto_turf/ice/layer1, /area/shiva/interior/oob/dev_room) +"jLT" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/caves/medseceng_caves) "jLX" = ( /obj/structure/machinery/door/airlock/almayer/generic{ name = "\improper Anti-Freeze Lounge" @@ -12579,10 +12664,18 @@ "jMf" = ( /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/junkyard) +"jMB" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/ice/layer0, +/area/shiva/interior/caves/research_caves) "jMD" = ( /obj/structure/foamed_metal, /turf/open/floor/shiva/north, /area/shiva/exterior/lz2_fortress) +"jMK" = ( +/obj/effect/landmark/monkey_spawn, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "jMZ" = ( /turf/open/floor/chapel/east, /area/shiva/interior/colony/central) @@ -12656,6 +12749,12 @@ }, /turf/open/auto_turf/snow/layer0, /area/shiva/exterior/junkyard) +"jQi" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva, +/area/shiva/interior/colony/research_hab) "jQy" = ( /obj/structure/machinery/door/airlock/multi_tile/almayer/medidoor/colony{ dir = 1; @@ -12716,6 +12815,12 @@ /obj/item/device/flashlight/lamp, /turf/open/floor/shiva/north, /area/shiva/interior/colony/medseceng) +"jUM" = ( +/obj/structure/platform/shiva/catwalk{ + dir = 1 + }, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "jVi" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/auto_turf/snow/layer2, @@ -12736,13 +12841,6 @@ }, /turf/open/auto_turf/snow/layer0, /area/shiva/interior/colony/medseceng) -"jWh" = ( -/obj/structure/stairs/perspective/ice{ - dir = 1; - icon_state = "p_stair_full" - }, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) "jWL" = ( /obj/structure/machinery/light/double{ dir = 1; @@ -12770,6 +12868,10 @@ }, /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/cp_colony_grounds) +"jYX" = ( +/obj/effect/sentry_landmark/lz_1/top_right, +/turf/open/auto_turf/snow/layer0, +/area/shiva/interior/caves/cp_camp) "jZF" = ( /obj/item/tool/wirecutters/clippers, /turf/open/floor/shiva/floor3, @@ -12810,13 +12912,6 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/aux_power) -"kbJ" = ( -/obj/structure/machinery/light/double{ - dir = 4; - pixel_y = -5 - }, -/turf/open/floor/shiva/north, -/area/shiva/interior/colony/medseceng) "kbK" = ( /obj/item/reagent_container/glass/bucket{ pixel_x = 4; @@ -12956,12 +13051,6 @@ }, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_colony_grounds) -"khx" = ( -/obj/structure/platform/shiva/catwalk{ - dir = 4 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "khz" = ( /obj/item/device/flashlight, /turf/open/floor/shiva, @@ -13010,13 +13099,10 @@ }, /turf/open/floor/plating, /area/shiva/interior/aerodrome) -"kjX" = ( -/obj/structure/stairs/perspective/ice{ - dir = 1; - icon_state = "p_stair_full" - }, -/turf/open/auto_turf/snow/layer4, -/area/shiva/exterior/southwest_valley) +"kkw" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/wred/northeast, +/area/shiva/interior/colony/medseceng) "klF" = ( /obj/structure/bed/chair{ dir = 4 @@ -13095,6 +13181,10 @@ /obj/effect/landmark/objective_landmark/close, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/s_admin) +"kqO" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/caves/medseceng_caves) "kri" = ( /obj/item/lightstick/red/planted, /turf/open/auto_turf/snow/layer2, @@ -13131,10 +13221,6 @@ "ktd" = ( /turf/closed/wall/shiva/prefabricated/reinforced, /area/shiva/interior/garage) -"ktn" = ( -/obj/effect/sentry_landmark/lz_2/bottom_right, -/turf/open/floor/shiva/radiator_tile, -/area/shiva/exterior/lz2_fortress) "kts" = ( /obj/structure/surface/table, /obj/item/storage/box/beakers, @@ -13400,12 +13486,6 @@ /obj/effect/landmark/static_comms/net_one, /turf/open/floor/wood, /area/shiva/interior/aerodrome) -"kGE" = ( -/obj/structure/flora/bush/snow{ - icon_state = "snowgrassbb_1" - }, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "kGW" = ( /obj/structure/flora/tree/dead/tree_2, /turf/open/auto_turf/snow/layer2, @@ -13485,6 +13565,12 @@ }, /turf/open/floor/interior/plastic/alt, /area/shiva/interior/warehouse) +"kLk" = ( +/obj/structure/flora/grass/tallgrass/ice/corner{ + dir = 6 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "kLv" = ( /obj/item/tool/wirecutters/clippers, /turf/open/floor/shiva/north, @@ -13503,6 +13589,12 @@ /obj/structure/flora/grass/tallgrass/ice, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/cp_lz2) +"kLL" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor/shiva/floor3, +/area/shiva/interior/colony/research_hab) "kLM" = ( /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/lz1_valley) @@ -13738,6 +13830,10 @@ /obj/structure/machinery/power/port_gen/pacman, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/cp_lz2) +"kXM" = ( +/obj/vehicle/train/cargo/engine, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "kZj" = ( /obj/structure/prop/ice_colony/dense/planter_box{ dir = 1 @@ -13832,6 +13928,10 @@ "leg" = ( /turf/closed/wall/shiva/prefabricated/reinforced/hull, /area/shiva/exterior/telecomm/lz1_north) +"lel" = ( +/obj/item/lightstick/red/variant, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "lfe" = ( /obj/structure/prop/ice_colony/soil_net, /turf/open/auto_turf/snow/layer1, @@ -13885,12 +13985,6 @@ }, /turf/open/auto_turf/snow/layer1, /area/shiva/interior/caves/cp_camp) -"lip" = ( -/obj/structure/flora/grass/tallgrass/ice/corner{ - dir = 10 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "liD" = ( /obj/structure/machinery/power/apc/no_power/west, /turf/open/floor/shiva/floor3, @@ -13923,6 +14017,10 @@ "llZ" = ( /turf/open/auto_turf/snow/layer2, /area/shiva/interior/warehouse/caves) +"lmg" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/wred/north, +/area/shiva/interior/colony/medseceng) "lmt" = ( /obj/structure/largecrate/random/barrel/red, /turf/open/auto_turf/snow/layer0, @@ -14069,6 +14167,10 @@ /obj/effect/landmark/objective_landmark/close, /turf/open/floor/prison/kitchen, /area/shiva/interior/colony/central) +"lsR" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/ice/layer2, +/area/shiva/interior/caves/research_caves) "ltA" = ( /obj/structure/surface/rack, /obj/item/tool/shovel/snow, @@ -14094,6 +14196,10 @@ /obj/effect/landmark/objective_landmark/far, /turf/open/floor/shiva/bluefull, /area/shiva/interior/colony/central) +"lvy" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/dark2, +/area/shiva/interior/valley_huts/disposals) "lvW" = ( /obj/structure/machinery/computer/cameras{ dir = 8 @@ -14125,6 +14231,10 @@ "lxn" = ( /turf/open/floor/shiva/floor3, /area/shiva/interior/bar) +"lxD" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/aerodrome) "lyh" = ( /obj/item/lightstick/red/spoke/planted{ layer = 2.99; @@ -14158,6 +14268,10 @@ }, /turf/open/auto_turf/snow/layer3, /area/shiva/interior/caves/cp_camp) +"lAP" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/yellowfull/west, +/area/shiva/interior/colony/research_hab) "lBC" = ( /obj/structure/machinery/landinglight/ds2/delaythree{ dir = 8 @@ -14287,6 +14401,16 @@ /obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_s_research) +"lIA" = ( +/obj/effect/decal/cleanable/blood/drip, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/colony/research_hab) +"lJf" = ( +/obj/effect/decal/cleanable/blood, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/yellowfull, +/area/shiva/interior/colony/research_hab) "lJh" = ( /obj/structure/machinery/vending/snack, /turf/open/floor/shiva/floor3, @@ -14297,6 +14421,10 @@ }, /turf/open/floor/shiva/north, /area/shiva/interior/colony/s_admin) +"lJv" = ( +/obj/effect/sentry_landmark/lz_2/top_right, +/turf/open/floor/shiva/north, +/area/shiva/exterior/lz2_fortress) "lJx" = ( /obj/structure/window/framed/shiva, /turf/open/floor/plating, @@ -14321,6 +14449,10 @@ /obj/structure/machinery/power/port_gen/pacman, /turf/open/floor/plating, /area/shiva/exterior/lz1_valley) +"lMC" = ( +/obj/structure/flora/tree/dead/tree_5, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "lMO" = ( /obj/structure/barricade/snow{ dir = 8 @@ -14342,12 +14474,6 @@ /obj/structure/surface/table, /turf/open/floor/shiva/redfull/west, /area/shiva/interior/colony/research_hab) -"lNE" = ( -/obj/structure/flora/bush/snow{ - icon_state = "snowgrassbb_1" - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "lNK" = ( /obj/structure/prop/invuln/ice_prefab{ dir = 5 @@ -14470,16 +14596,6 @@ /obj/effect/spawner/random/toolbox, /turf/open/floor/shiva/north, /area/shiva/interior/colony/central) -"lWC" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W-corner" - }, -/obj/item/lightstick/red/spoke/planted{ - pixel_x = -10; - pixel_y = -1 - }, -/turf/open/floor/plating, -/area/shiva/exterior/southwest_valley) "lWL" = ( /obj/effect/spider/cocoon{ icon_state = "cocoon_large3" @@ -14525,13 +14641,6 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/bar) -"lXQ" = ( -/obj/structure/stairs/perspective/ice{ - dir = 1; - icon_state = "p_stair_sn_full_cap" - }, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) "lYf" = ( /obj/structure/machinery/door/poddoor/shutters/almayer{ dir = 4; @@ -14580,6 +14689,16 @@ /obj/item/device/flashlight/lamp, /turf/open/floor/shiva/bluefull, /area/shiva/interior/colony/s_admin) +"lZl" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W-corner" + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -11; + pixel_y = 25 + }, +/turf/open/floor/plating, +/area/shiva/exterior/southwest_valley) "mae" = ( /obj/structure/surface/table, /obj/item/paper_bin{ @@ -14604,6 +14723,10 @@ "maW" = ( /turf/open/floor/shiva/redfull, /area/shiva/interior/colony/medseceng) +"mbd" = ( +/obj/effect/sentry_landmark/lz_2/bottom_right, +/turf/open/floor/shiva/floor3, +/area/shiva/exterior/lz2_fortress) "mbj" = ( /obj/structure/prop/invuln/ice_prefab/trim{ dir = 8 @@ -14633,6 +14756,13 @@ "mdx" = ( /turf/open/floor/shiva/north, /area/shiva/interior/colony/n_admin) +"mdz" = ( +/obj/structure/bed/chair/office/dark{ + dir = 1 + }, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/yellowfull, +/area/shiva/interior/colony/research_hab) "mdV" = ( /obj/structure/flora/bush/snow{ icon_state = "snowgrassall_3" @@ -14659,6 +14789,10 @@ /obj/structure/bed/chair, /turf/open/floor/shiva/north, /area/shiva/interior/colony/s_admin) +"meQ" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/carpet, +/area/shiva/interior/colony/research_hab) "mfa" = ( /obj/item/weapon/ice_axe, /turf/open/auto_turf/snow/layer2, @@ -14727,6 +14861,13 @@ "miD" = ( /turf/open/floor/shiva/yellow/east, /area/shiva/interior/colony/research_hab) +"miG" = ( +/obj/structure/machinery/door_control/brbutton{ + id = "hangar_ice_3"; + pixel_y = 28 + }, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "miW" = ( /obj/structure/closet/secure_closet/security, /obj/effect/landmark/objective_landmark/close, @@ -14902,13 +15043,10 @@ /obj/structure/machinery/light/double, /turf/open/floor/shiva/floor3, /area/shiva/interior/bar) -"mxr" = ( -/obj/structure/stairs/perspective/ice{ - dir = 8; - icon_state = "p_stair_sn_full_cap" - }, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) +"mxS" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/shiva/yellow/west, +/area/shiva/interior/colony/deck) "myR" = ( /obj/structure/prop/invuln/ice_prefab/trim{ dir = 8 @@ -15037,6 +15175,10 @@ }, /turf/closed/wall/shiva/prefabricated, /area/shiva/interior/bar) +"mEQ" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/colony/research_hab) "mEV" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/tool/hand_labeler, @@ -15209,6 +15351,12 @@ }, /turf/open/floor/plating, /area/shiva/interior/colony/medseceng) +"mMw" = ( +/obj/structure/platform_decoration/shiva/catwalk{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "mME" = ( /obj/item/lightstick/red/spoke/planted{ layer = 2.99; @@ -15233,10 +15381,6 @@ /obj/structure/dispenser, /turf/open/floor/shiva/north, /area/shiva/interior/colony/medseceng) -"mNQ" = ( -/obj/effect/sentry_landmark/lz_1/top_right, -/turf/open/auto_turf/snow/layer0, -/area/shiva/interior/caves/cp_camp) "mOu" = ( /obj/structure/machinery/light/double, /turf/open/floor/shiva/yellow, @@ -15458,11 +15602,6 @@ /obj/item/weapon/gun/flamer, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/central) -"ndb" = ( -/obj/effect/decal/cleanable/dirt, -/obj/effect/decal/cleanable/dirt, -/turf/open/auto_turf/snow/layer0, -/area/shiva/interior/colony/research_hab) "ndJ" = ( /obj/structure/flora/bush/snow{ icon_state = "snowgrassall_3" @@ -15584,6 +15723,11 @@ }, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/cp_lz2) +"nlt" = ( +/obj/structure/barricade/handrail/wire, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva, +/area/shiva/interior/colony/research_hab) "nlx" = ( /obj/structure/platform/strata, /obj/structure/platform/strata{ @@ -15656,10 +15800,6 @@ }, /turf/open/auto_turf/snow/layer3, /area/shiva/interior/colony/medseceng) -"npK" = ( -/obj/effect/sentry_landmark/lz_1/top_left, -/turf/open/auto_turf/snow/layer2, -/area/shiva/interior/caves/cp_camp) "npM" = ( /obj/structure/machinery/power/reactor/colony, /turf/open/floor/plating, @@ -15693,6 +15833,10 @@ }, /turf/open/floor/shiva, /area/shiva/interior/colony/research_hab) +"nrt" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating, +/area/shiva/interior/colony/medseceng) "nrB" = ( /obj/effect/landmark/objective_landmark/science, /turf/open/floor/shiva/north, @@ -15715,10 +15859,6 @@ "ntc" = ( /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/cp_lz2) -"nte" = ( -/obj/vehicle/train/cargo/trolley, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) "ntJ" = ( /turf/open/auto_turf/ice/layer0, /area/shiva/interior/caves/cp_camp) @@ -15793,10 +15933,6 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/research_hab) -"nxV" = ( -/obj/effect/sentry_landmark/lz_1/bottom_left, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/lz1_valley) "nyc" = ( /obj/structure/flora/bush/ausbushes/lavendergrass, /turf/open/auto_turf/snow/layer3, @@ -15842,10 +15978,6 @@ /obj/item/tool/crowbar, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/junkyard) -"nAs" = ( -/obj/effect/decal/cleanable/blood/oil, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) "nAY" = ( /turf/open/floor/shiva/yellowcorners, /area/shiva/interior/colony/medseceng) @@ -16000,6 +16132,12 @@ }, /turf/open/auto_turf/ice/layer1, /area/shiva/interior/caves/cp_camp) +"nKM" = ( +/obj/structure/platform/shiva/catwalk{ + dir = 8 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "nKO" = ( /obj/structure/machinery/light/double, /turf/open/floor/shiva/radiator_tile, @@ -16111,13 +16249,6 @@ /obj/item/tool/stamp, /turf/open/floor/shiva/bluefull, /area/shiva/interior/colony/n_admin) -"nRD" = ( -/obj/structure/stairs/perspective/ice{ - dir = 1; - icon_state = "p_stair_full" - }, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) "nSI" = ( /obj/structure/machinery/light/double{ dir = 1; @@ -16128,6 +16259,11 @@ "nSO" = ( /turf/open/auto_turf/ice/layer1, /area/shiva/interior/caves/medseceng_caves) +"nSZ" = ( +/obj/item/stack/cable_coil/cut, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/north, +/area/shiva/interior/colony/medseceng) "nTu" = ( /obj/structure/reagent_dispensers/fueltank, /turf/open/floor/interior/plastic, @@ -16243,6 +16379,11 @@ "oaP" = ( /turf/open/auto_turf/ice/layer2, /area/shiva/interior/oob/dev_room) +"oaW" = ( +/obj/structure/blocker/forcefield/multitile_vehicles, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/colony/research_hab) "obb" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/device/flashlight, @@ -16284,6 +16425,16 @@ }, /turf/open/floor/shiva, /area/shiva/interior/bar) +"ocP" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W-corner" + }, +/obj/item/lightstick/red/spoke/planted{ + pixel_x = -10; + pixel_y = -1 + }, +/turf/open/floor/plating, +/area/shiva/exterior/southwest_valley) "odb" = ( /obj/structure/machinery/light/double{ dir = 8; @@ -16361,6 +16512,10 @@ /obj/structure/blocker/forcefield/multitile_vehicles, /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/cp_colony_grounds) +"oiy" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/ice/layer1, +/area/shiva/exterior/valley) "oiH" = ( /obj/structure/flora/tree/dead/tree_1, /turf/open/auto_turf/snow/layer3, @@ -16417,9 +16572,6 @@ /obj/structure/girder/displaced, /turf/open/floor/plating, /area/shiva/interior/colony/botany) -"onk" = ( -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "onl" = ( /obj/structure/surface/table, /obj/item/evidencebag, @@ -16498,10 +16650,12 @@ /obj/effect/decal/cleanable/dirt, /turf/open/auto_turf/ice/layer1, /area/shiva/interior/colony/research_hab) -"orO" = ( -/obj/structure/desertdam/decals/road_stop, -/turf/open/floor/shiva/floor3, -/area/shiva/interior/colony/research_hab) +"orv" = ( +/obj/structure/platform/shiva/catwalk{ + dir = 8 + }, +/turf/open/auto_turf/snow/layer4, +/area/shiva/exterior/southwest_valley) "osh" = ( /turf/open/floor/shiva/yellowfull/west, /area/shiva/interior/colony/medseceng) @@ -16546,6 +16700,10 @@ }, /turf/closed/wall/shiva/ice, /area/shiva/interior/caves/cp_camp) +"ouY" = ( +/obj/effect/sentry_landmark/lz_2/bottom_left, +/turf/open/floor/shiva/north, +/area/shiva/exterior/lz2_fortress) "ovc" = ( /turf/open/floor/carpet, /area/shiva/interior/colony/medseceng) @@ -16635,16 +16793,6 @@ "oCG" = ( /turf/open/floor/plating/plating_catwalk/shiva, /area/shiva/interior/aerodrome) -"oDi" = ( -/obj/structure/platform_decoration/strata{ - dir = 1 - }, -/obj/item/lightstick/red/variant/planted{ - pixel_x = -7; - pixel_y = -5 - }, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) "oDH" = ( /obj/structure/flora/grass/tallgrass/ice/corner{ dir = 6 @@ -16670,6 +16818,10 @@ /obj/effect/decal/cleanable/vomit, /turf/open/floor/wood, /area/shiva/interior/colony/s_admin) +"oEA" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/caves/research_caves) "oET" = ( /obj/item/weapon/baseballbat/metal, /turf/open/floor/shiva/floor3, @@ -16731,6 +16883,10 @@ }, /turf/open/floor/shiva/north, /area/shiva/exterior/lz2_fortress) +"oHV" = ( +/obj/structure/machinery/power/apc/no_power/north, +/turf/open/floor/plating, +/area/shiva/exterior/southwest_valley) "oIh" = ( /obj/item/frame/air_alarm, /turf/open/floor/shiva/wred/north, @@ -16739,6 +16895,11 @@ /obj/structure/largecrate/random/case/small, /turf/open/floor/shiva/floor3, /area/shiva/interior/aerodrome) +"oIT" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor/shiva/floor3, +/area/shiva/interior/colony/research_hab) "oJe" = ( /obj/structure/surface/table, /obj/item/tool/hand_labeler, @@ -16761,10 +16922,6 @@ /obj/structure/window/reinforced, /turf/open/floor/wood, /area/shiva/interior/colony/central) -"oKt" = ( -/obj/vehicle/train/cargo/engine, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) "oKM" = ( /obj/structure/closet/cabinet, /obj/item/clothing/under/assistantformal, @@ -16833,6 +16990,10 @@ "oQo" = ( /turf/closed/wall/shiva/prefabricated, /area/shiva/exterior/cp_s_research) +"oRc" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/snow/layer0, +/area/shiva/interior/colony/medseceng) "oRH" = ( /turf/open/auto_turf/snow/layer2, /area/shiva/interior/caves/cp_camp) @@ -17019,6 +17180,13 @@ }, /turf/open/floor/shiva/north, /area/shiva/interior/colony/deck) +"pfj" = ( +/obj/structure/stairs/perspective/ice{ + dir = 8; + icon_state = "p_stair_sn_full_cap" + }, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "pfp" = ( /obj/structure/prop/invuln/ice_prefab{ dir = 9 @@ -17380,6 +17548,10 @@ }, /turf/open/auto_turf/snow/layer1, /area/shiva/interior/caves/research_caves) +"pCj" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/floor3, +/area/shiva/interior/colony/research_hab) "pCw" = ( /obj/item/lightstick/red/spoke/planted{ pixel_x = 12; @@ -17391,10 +17563,6 @@ /obj/item/tool/shovel, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_colony_grounds) -"pCI" = ( -/obj/effect/decal/cleanable/dirt, -/turf/open/floor/shiva/floor3, -/area/shiva/interior/colony/research_hab) "pCJ" = ( /obj/item/book/manual/marine_law, /obj/structure/surface/table/reinforced/prison, @@ -17514,6 +17682,10 @@ }, /turf/open/auto_turf/snow/layer4, /area/shiva/exterior/cp_lz2) +"pHd" = ( +/obj/structure/flora/bush/ausbushes/lavendergrass, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "pHz" = ( /obj/structure/closet/secure_closet/personal, /obj/effect/landmark/objective_landmark/close, @@ -17595,14 +17767,6 @@ }, /turf/open/auto_turf/snow/layer0, /area/shiva/exterior/cp_colony_grounds) -"pKK" = ( -/obj/item/lightstick/red/variant, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) -"pKO" = ( -/obj/item/lightstick/planted, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "pKP" = ( /obj/structure/surface/table, /obj/item/device/flashlight/lamp/green{ @@ -17704,6 +17868,10 @@ /obj/item/stack/cable_coil/cut, /turf/open/floor/shiva/yellowfull/west, /area/shiva/interior/colony/medseceng) +"pOn" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/auto_turf/ice/layer1, +/area/shiva/interior/colony/research_hab) "pOI" = ( /obj/structure/surface/table, /obj/item/reagent_container/food/drinks/dry_ramen, @@ -17887,6 +18055,10 @@ "qbF" = ( /turf/open/auto_turf/ice/layer0, /area/shiva/exterior/junkyard/cp_bar) +"qcn" = ( +/obj/structure/flora/grass/tallgrass/ice/corner, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "qcT" = ( /obj/structure/largecrate/random, /turf/open/floor/plating/plating_catwalk/shiva, @@ -18208,14 +18380,6 @@ }, /turf/open/floor/shiva/multi_tiles, /area/shiva/interior/colony/research_hab) -"que" = ( -/obj/item/lightstick/red/variant/planted, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) -"quv" = ( -/obj/effect/sentry_landmark/lz_2/top_right, -/turf/open/floor/shiva/floor3, -/area/shiva/exterior/lz2_fortress) "qvr" = ( /obj/structure/machinery/alarm{ dir = 8; @@ -18269,6 +18433,12 @@ /obj/item/stool, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/research_hab) +"qyQ" = ( +/obj/structure/prop/ice_colony/flamingo/festive{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "qza" = ( /obj/item/device/flashlight/flare, /turf/open/auto_turf/snow/layer2, @@ -18334,6 +18504,9 @@ }, /turf/open/floor/plating, /area/shiva/interior/bar) +"qDh" = ( +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "qDJ" = ( /obj/structure/morgue{ dir = 8 @@ -18405,6 +18578,13 @@ /obj/effect/landmark/item_pool_spawner/survivor_ammo/buckshot, /turf/open/floor/shiva/yellow/west, /area/shiva/interior/colony/medseceng) +"qKB" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "N" + }, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/purplefull/north, +/area/shiva/interior/colony/research_hab) "qLA" = ( /obj/structure/machinery/door/airlock/almayer/maint/colony/autoname{ dir = 8 @@ -18621,6 +18801,13 @@ }, /turf/open/floor/plating, /area/shiva/exterior/valley) +"qXQ" = ( +/obj/item/stack/snow{ + pixel_x = -7 + }, +/obj/item/tool/shovel/snow, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "qXS" = ( /turf/open/floor/shiva, /area/shiva/interior/bar) @@ -18740,6 +18927,12 @@ /obj/effect/decal/cleanable/blood/oil, /turf/open/floor/wood, /area/shiva/interior/aerodrome) +"rff" = ( +/obj/structure/flora/bush/snow{ + icon_state = "snowgrassall_1" + }, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "rfi" = ( /obj/structure/platform/strata, /turf/open/auto_turf/snow/layer3, @@ -18769,6 +18962,15 @@ /obj/item/storage/firstaid/fire, /turf/open/floor/interior/plastic, /area/shiva/interior/warehouse) +"rhL" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "W-corner" + }, +/obj/structure/barricade/metal{ + dir = 4 + }, +/turf/open/floor/plating, +/area/shiva/exterior/southwest_valley) "rhS" = ( /obj/structure/surface/table, /obj/item/paper/janitor{ @@ -18831,10 +19033,6 @@ }, /turf/open/auto_turf/snow/layer1, /area/shiva/interior/caves/cp_camp) -"rli" = ( -/obj/structure/flora/tree/dead/tree_1, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "rnz" = ( /obj/structure/flora/pottedplant, /turf/open/floor/wood, @@ -18853,6 +19051,10 @@ }, /turf/open/auto_turf/ice/layer1, /area/shiva/interior/caves/cp_camp) +"rps" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/yellowcorners/east, +/area/shiva/interior/colony/medseceng) "rpv" = ( /obj/item/stack/rods, /turf/open/floor/shiva/bluefull, @@ -18943,6 +19145,16 @@ /obj/structure/machinery/light/double, /turf/open/floor/shiva/wred, /area/shiva/interior/colony/medseceng) +"ryN" = ( +/obj/structure/platform/strata{ + dir = 8 + }, +/obj/structure/stairs/perspective/ice{ + dir = 1; + icon_state = "p_stair_sn_full_cap" + }, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "ryZ" = ( /obj/structure/surface/table, /obj/item/tool/pickaxe/plasmacutter, @@ -19142,10 +19354,6 @@ /obj/structure/prop/ice_colony/soil_net, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/junkyard) -"rNY" = ( -/obj/effect/landmark/monkey_spawn, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) "rNZ" = ( /obj/structure/prop/ice_colony/dense/planter_box{ dir = 9 @@ -19165,6 +19373,10 @@ }, /turf/open/floor/plating, /area/shiva/interior/colony/medseceng) +"rOL" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/multi_tiles/north, +/area/shiva/interior/colony/research_hab) "rPa" = ( /obj/structure/bed/chair/dropship/passenger{ dir = 4 @@ -19289,6 +19501,15 @@ }, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/cp_colony_grounds) +"rWN" = ( +/obj/item/tool/shovel/snow, +/obj/item/storage/fancy/cigarettes/arcturian_ace{ + layer = 3.1; + pixel_x = -8; + pixel_y = 23 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "rWS" = ( /obj/item/ammo_magazine/rifle/ap, /turf/open/floor/shiva/multi_tiles/north, @@ -19383,6 +19604,9 @@ }, /turf/open/auto_turf/snow/layer2, /area/shiva/interior/caves/cp_camp) +"saY" = ( +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "sbd" = ( /obj/effect/decal/cleanable/blood/splatter, /turf/open/floor/shiva/floor3, @@ -19395,12 +19619,6 @@ /obj/structure/largecrate/random/barrel/green, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/junkyard) -"scp" = ( -/obj/structure/platform_decoration/shiva/catwalk{ - dir = 4 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "scN" = ( /obj/structure/surface/table, /obj/item/device/assembly/infra, @@ -19509,10 +19727,6 @@ }, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/cp_lz2) -"siG" = ( -/obj/effect/sentry_landmark/lz_1/bottom_left, -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/lz1_valley) "siZ" = ( /turf/closed/wall/shiva/prefabricated/orange, /area/shiva/exterior/cp_s_research) @@ -19523,6 +19737,10 @@ "sjo" = ( /turf/open/floor/shiva/green/northwest, /area/shiva/interior/colony/botany) +"sjA" = ( +/obj/item/lightstick/planted, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "skl" = ( /obj/effect/decal/cleanable/dirt, /turf/open/auto_turf/snow/layer0, @@ -19688,6 +19906,10 @@ /obj/structure/machinery/landinglight/ds2/spoke, /turf/open/floor/shiva/north, /area/shiva/exterior/lz2_fortress) +"sxS" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_door, +/turf/open/floor/shiva/yellow/east, +/area/shiva/interior/colony/deck) "sxT" = ( /obj/structure/flora/grass/tallgrass/ice, /turf/open/auto_turf/snow/layer0, @@ -19723,12 +19945,6 @@ /obj/item/clothing/gloves/yellow, /turf/open/floor/shiva/north, /area/shiva/interior/colony/medseceng) -"szU" = ( -/obj/structure/prop/ice_colony/flamingo/festive{ - dir = 4 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "sAe" = ( /obj/structure/machinery/light/double{ dir = 4; @@ -19972,6 +20188,17 @@ }, /turf/open/floor/plating, /area/shiva/interior/colony/deck) +"sNk" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "NW-out" + }, +/obj/structure/desertdam/decals/road_stop{ + icon_state = "road_edge_decal5"; + pixel_x = -14 + }, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor/shiva/purplefull/west, +/area/shiva/interior/colony/research_hab) "sNX" = ( /obj/effect/landmark/xeno_spawn, /turf/open/floor/shiva, @@ -19985,6 +20212,12 @@ /obj/structure/surface/table, /turf/open/floor/shiva/yellow/northwest, /area/shiva/interior/colony/medseceng) +"sON" = ( +/obj/structure/platform/shiva/catwalk{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "sPn" = ( /obj/structure/surface/table, /obj/effect/spawner/random/toolbox{ @@ -20059,9 +20292,9 @@ /obj/item/stack/rods, /turf/open/floor/shiva/floor3, /area/shiva/exterior/lz2_fortress) -"sWW" = ( -/obj/item/lightstick/red/variant/planted, -/turf/open/auto_turf/snow/layer1, +"sWw" = ( +/obj/vehicle/train/cargo/trolley, +/turf/open/auto_turf/snow/layer0, /area/shiva/exterior/southwest_valley) "sXr" = ( /obj/structure/surface/table/reinforced/prison, @@ -20119,12 +20352,6 @@ /obj/item/clothing/shoes/snow, /turf/open/floor/interior/plastic/alt, /area/shiva/interior/warehouse) -"sZr" = ( -/obj/structure/flora/bush/snow{ - icon_state = "snowgrassall_1" - }, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "sZx" = ( /obj/structure/machinery/landinglight/ds2/delayone{ dir = 1 @@ -20247,6 +20474,11 @@ /obj/item/tool/shovel/spade, /turf/open/auto_turf/snow/layer0, /area/shiva/interior/colony/botany) +"tgJ" = ( +/obj/structure/barricade/wooden, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating, +/area/shiva/interior/colony/research_hab) "thc" = ( /obj/structure/surface/table, /obj/item/storage/fancy/cigarettes/lucky_strikes{ @@ -20332,9 +20564,6 @@ /obj/structure/largecrate/random/case/double, /turf/open/auto_turf/ice/layer1, /area/shiva/interior/aerodrome) -"tmT" = ( -/turf/open/auto_turf/snow/layer0, -/area/shiva/exterior/southwest_valley) "tmV" = ( /obj/structure/machinery/door/airlock/multi_tile/elevator/arrivals, /turf/open/shuttle/elevator/grating, @@ -20404,23 +20633,6 @@ /obj/item/stack/rods, /turf/open/auto_turf/snow/layer1, /area/shiva/interior/caves/cp_camp) -"tpg" = ( -/turf/open/floor/plating/plating_catwalk/shiva, -/area/shiva/exterior/southwest_valley) -"tpL" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "NW-out" - }, -/obj/structure/desertdam/decals/road_stop{ - icon_state = "road_edge_decal5"; - pixel_x = -14 - }, -/turf/open/floor/shiva/purplefull/west, -/area/shiva/interior/colony/research_hab) -"tpP" = ( -/obj/structure/flora/bush/ausbushes/lavendergrass, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "tqs" = ( /obj/structure/prop/ice_colony/dense/ice_tray{ pixel_y = 5 @@ -20583,6 +20795,13 @@ }, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_lz2) +"tAe" = ( +/obj/structure/largecrate/random/secure, +/obj/item/ashtray/bronze{ + pixel_y = 7 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "tBB" = ( /obj/structure/platform/strata, /turf/open/auto_turf/snow/layer4, @@ -20727,16 +20946,6 @@ /obj/structure/blocker/invisible_wall, /turf/open/auto_turf/snow/layer2, /area/shiva/exterior/junkyard) -"tJY" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "SW-out" - }, -/obj/structure/desertdam/decals/road_stop{ - icon_state = "road_edge_decal8"; - pixel_x = -14 - }, -/turf/open/floor/shiva/purplefull/west, -/area/shiva/interior/colony/research_hab) "tKd" = ( /obj/structure/bed/chair/comfy/blue, /turf/open/floor/shiva/north, @@ -20790,6 +20999,10 @@ }, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_colony_grounds) +"tMv" = ( +/obj/effect/sentry_landmark/lz_2/top_right, +/turf/open/floor/shiva/floor3, +/area/shiva/exterior/lz2_fortress) "tMR" = ( /obj/structure/ice/thin/single{ opacity = 1; @@ -20811,10 +21024,6 @@ }, /turf/open/floor/shiva/radiator_tile, /area/shiva/exterior/cp_lz2) -"tMZ" = ( -/obj/effect/sentry_landmark/lz_2/bottom_left, -/turf/open/floor/shiva/north, -/area/shiva/exterior/lz2_fortress) "tNm" = ( /obj/structure/surface/table, /obj/item/tool/kitchen/utensil/fork, @@ -20855,12 +21064,22 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/botany) +"tOX" = ( +/obj/structure/platform_decoration/shiva/catwalk{ + dir = 4 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "tPs" = ( /obj/structure/prop/ice_colony/ground_wire{ dir = 1 }, /turf/open/auto_turf/snow/layer0, /area/shiva/interior/caves/cp_camp) +"tPu" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/multi_tiles/west, +/area/shiva/interior/colony/research_hab) "tPz" = ( /obj/structure/largecrate/random, /turf/open/floor/shiva/floor3, @@ -20933,6 +21152,10 @@ }, /turf/open/floor/prison/kitchen, /area/shiva/interior/bar) +"tSq" = ( +/obj/structure/flora/tree/dead/tree_4, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "tSt" = ( /obj/structure/barricade/handrail/strata, /obj/structure/surface/table, @@ -20999,13 +21222,6 @@ }, /turf/open/floor/shiva/bluefull, /area/shiva/interior/colony/s_admin) -"tWv" = ( -/obj/structure/machinery/light/double{ - dir = 1; - pixel_y = 9 - }, -/turf/open/floor/shiva/radiator_tile2, -/area/shiva/interior/colony/medseceng) "tWz" = ( /obj/structure/machinery/space_heater, /turf/open/floor/shiva, @@ -21317,6 +21533,10 @@ /obj/structure/machinery/disposal, /turf/open/floor/shiva/north, /area/shiva/interior/garage) +"ulr" = ( +/obj/item/tool/shovel/snow, +/turf/open/auto_turf/snow/layer1, +/area/shiva/exterior/southwest_valley) "ulD" = ( /obj/structure/cable/heavyduty{ icon_state = "1-2-4-8" @@ -21407,6 +21627,10 @@ /obj/structure/machinery/space_heater, /turf/open/floor/shiva/redfull/west, /area/shiva/interior/colony/medseceng) +"urH" = ( +/obj/structure/flora/bush/ausbushes/lavendergrass, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "urX" = ( /obj/structure/flora/bush/snow{ icon_state = "snowgrassbb_3" @@ -21416,6 +21640,17 @@ "ush" = ( /turf/open/floor/shiva/yellow/northeast, /area/shiva/interior/garage) +"usQ" = ( +/obj/effect/decal/warning_stripes{ + icon_state = "SW-out" + }, +/obj/structure/desertdam/decals/road_stop{ + icon_state = "road_edge_decal8"; + pixel_x = -14 + }, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_wall, +/turf/open/floor/shiva/purplefull/west, +/area/shiva/interior/colony/research_hab) "usZ" = ( /obj/structure/barricade/handrail/wire{ dir = 8; @@ -21480,12 +21715,6 @@ "uxV" = ( /turf/open/floor/shiva/multi_tiles/north, /area/shiva/interior/colony/botany) -"uxZ" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W-corner" - }, -/turf/open/floor/plating, -/area/shiva/exterior/southwest_valley) "uyI" = ( /obj/structure/largecrate/random/mini/small_case/c{ pixel_x = 11; @@ -21541,6 +21770,10 @@ }, /turf/open/auto_turf/snow/layer0, /area/shiva/exterior/cp_colony_grounds) +"uBt" = ( +/obj/effect/sentry_landmark/lz_1/top_left, +/turf/open/auto_turf/snow/layer2, +/area/shiva/interior/caves/cp_camp) "uBz" = ( /obj/structure/machinery/autolathe/full, /turf/open/floor/shiva/floor3, @@ -21579,6 +21812,14 @@ }, /turf/open/floor/shiva/purplefull/north, /area/shiva/interior/colony/research_hab) +"uFi" = ( +/obj/structure/machinery/light/double{ + dir = 1; + pixel_y = 9 + }, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating, +/area/shiva/interior/colony/medseceng) "uFl" = ( /obj/structure/barricade/snow{ dir = 1 @@ -21607,6 +21848,12 @@ "uGq" = ( /turf/open/floor/plating, /area/shiva/interior/colony/n_admin) +"uGs" = ( +/obj/structure/platform/shiva/catwalk{ + dir = 1 + }, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "uGw" = ( /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/medium, @@ -21631,6 +21878,13 @@ }, /turf/open/floor/prison/kitchen, /area/shiva/interior/colony/central) +"uIx" = ( +/obj/structure/bed/chair{ + dir = 4 + }, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/north, +/area/shiva/interior/colony/medseceng) "uIC" = ( /obj/structure/prop/invuln/minecart_tracks{ dir = 8 @@ -21896,6 +22150,12 @@ /obj/structure/machinery/vending/coffee, /turf/open/floor/shiva/bluefull, /area/shiva/interior/colony/n_admin) +"uUb" = ( +/obj/structure/flora/bush/snow{ + icon_state = "snowgrassbb_1" + }, +/turf/open/auto_turf/snow/layer3, +/area/shiva/exterior/southwest_valley) "uVa" = ( /obj/structure/machinery/power/terminal{ dir = 1 @@ -22022,9 +22282,6 @@ }, /turf/open/auto_turf/snow/layer2, /area/shiva/interior/caves/s_lz2) -"vdy" = ( -/turf/open/auto_turf/snow/layer4, -/area/shiva/exterior/southwest_valley) "vdC" = ( /obj/structure/flora/pottedplant, /turf/open/floor/shiva/north, @@ -22036,6 +22293,11 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/research_hab) +"vei" = ( +/obj/item/stack/sheet/metal, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/wred/east, +/area/shiva/interior/colony/medseceng) "veo" = ( /obj/structure/surface/table, /obj/item/device/defibrillator, @@ -22188,7 +22450,7 @@ }, /turf/open/floor/plating/plating_catwalk/shiva, /area/shiva/exterior/lz2_fortress) -"voo" = ( +"vou" = ( /obj/structure/prop/ice_colony/flamingo{ dir = 8 }, @@ -22219,15 +22481,6 @@ /obj/effect/landmark/monkey_spawn, /turf/open/auto_turf/snow/layer2, /area/shiva/interior/caves/cp_camp) -"vqV" = ( -/obj/structure/platform/shiva/catwalk{ - dir = 1 - }, -/obj/structure/prop/ice_colony/flamingo{ - dir = 9 - }, -/turf/open/auto_turf/snow/layer2, -/area/shiva/exterior/southwest_valley) "vrm" = ( /obj/structure/bed/chair/office/light{ dir = 4 @@ -22249,6 +22502,10 @@ /obj/item/storage/box/wy_mre, /turf/open/floor/shiva/bluefull, /area/shiva/interior/colony/n_admin) +"vtf" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating, +/area/shiva/interior/caves/research_caves) "vty" = ( /obj/item/shard{ icon_state = "medium"; @@ -22260,6 +22517,13 @@ /obj/effect/decal/cleanable/blood/drip, /turf/open/auto_turf/snow/layer1, /area/shiva/interior/caves/cp_camp) +"vtD" = ( +/obj/structure/stairs/perspective/ice{ + dir = 1; + icon_state = "p_stair_full" + }, +/turf/open/auto_turf/snow/layer0, +/area/shiva/exterior/southwest_valley) "vuj" = ( /obj/structure/bed/roller, /turf/open/floor/shiva/floor3, @@ -22343,6 +22607,10 @@ /obj/structure/fence, /turf/open/auto_turf/snow/layer1, /area/shiva/exterior/valley) +"vAv" = ( +/obj/effect/sentry_landmark/lz_1/top_left, +/turf/open/auto_turf/snow/layer0, +/area/shiva/interior/caves/cp_camp) "vAw" = ( /obj/structure/bed/chair, /obj/structure/machinery/light/double{ @@ -22839,6 +23107,11 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/research_hab) +"wli" = ( +/obj/effect/decal/cleanable/dirt, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/shiva/multi_tiles, +/area/shiva/interior/colony/research_hab) "wlj" = ( /turf/open/auto_turf/snow/layer4, /area/shiva/interior/colony/central) @@ -22855,6 +23128,9 @@ }, /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/botany) +"wme" = ( +/turf/open/floor/plating/plating_catwalk/shiva, +/area/shiva/exterior/southwest_valley) "wnK" = ( /turf/open/floor/shiva/floor3, /area/shiva/interior/colony/research_hab) @@ -23090,10 +23366,6 @@ /obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, /turf/open/floor/shiva/multi_tiles/east, /area/shiva/interior/colony/research_hab) -"wFU" = ( -/obj/effect/sentry_landmark/lz_1/top_left, -/turf/open/auto_turf/snow/layer0, -/area/shiva/interior/caves/cp_camp) "wGD" = ( /turf/open/floor/shiva/multi_tiles, /area/shiva/interior/colony/s_admin) @@ -23187,16 +23459,6 @@ /obj/structure/window/framed/shiva, /turf/open/floor/plating/icefloor, /area/shiva/interior/telecomm/lz1_biceps) -"wNB" = ( -/obj/structure/machinery/door_control/brbutton{ - id = "hangar_ice_2"; - pixel_y = 28 - }, -/obj/structure/platform/shiva/catwalk{ - dir = 4 - }, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) "wOq" = ( /obj/structure/reagent_dispensers/water_cooler, /turf/open/floor/shiva/red/southwest, @@ -23522,6 +23784,10 @@ }, /turf/open/floor/shiva/wredfull, /area/shiva/interior/colony/medseceng) +"xpd" = ( +/obj/structure/flora/grass/tallgrass/ice, +/turf/open/auto_turf/snow/layer2, +/area/shiva/exterior/southwest_valley) "xqe" = ( /obj/structure/bed/chair/comfy/orange{ dir = 1 @@ -23616,16 +23882,6 @@ /obj/item/device/flashlight/lamp/green, /turf/open/floor/shiva/multi_tiles/southeast, /area/shiva/interior/colony/research_hab) -"xwk" = ( -/obj/item/lightstick/red/variant, -/turf/open/auto_turf/snow/layer1, -/area/shiva/exterior/southwest_valley) -"xwo" = ( -/obj/structure/platform/shiva/catwalk{ - dir = 8 - }, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "xwL" = ( /obj/structure/filingcabinet, /obj/effect/landmark/objective_landmark/close, @@ -23646,6 +23902,12 @@ }, /turf/open/auto_turf/snow/layer3, /area/shiva/exterior/cp_colony_grounds) +"xyi" = ( +/obj/structure/machinery/light/double, +/obj/effect/decal/cleanable/vomit, +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/floor/plating, +/area/shiva/interior/colony/medseceng) "xyY" = ( /obj/structure/prop/invuln{ desc = "The mounting points are ground down from heavy use. They'll need some maintenance work before they can be used again."; @@ -23716,16 +23978,6 @@ }, /turf/open/floor/shiva/north, /area/shiva/interior/colony/medseceng) -"xCz" = ( -/obj/effect/decal/warning_stripes{ - icon_state = "W-corner" - }, -/obj/item/lightstick/red/spoke/planted{ - pixel_x = -11; - pixel_y = 25 - }, -/turf/open/floor/plating, -/area/shiva/exterior/southwest_valley) "xCA" = ( /obj/effect/decal/cleanable/blood/drip, /turf/open/floor/prison/kitchen, @@ -23776,10 +24028,6 @@ /obj/structure/machinery/disposal, /turf/open/floor/shiva/wred/southeast, /area/shiva/interior/colony/medseceng) -"xEx" = ( -/obj/structure/flora/tree/dead/tree_5, -/turf/open/auto_turf/snow/layer3, -/area/shiva/exterior/southwest_valley) "xEB" = ( /obj/item/tool/warning_cone, /turf/open/floor/shiva, @@ -23975,6 +24223,10 @@ }, /turf/open/auto_turf/snow/layer4, /area/shiva/exterior/cp_lz2) +"xUA" = ( +/obj/effect/landmark/structure_spawner/setup/distress/xeno_weed_node, +/turf/open/auto_turf/ice/layer1, +/area/shiva/exterior/cp_s_research) "xVo" = ( /obj/structure/machinery/photocopier, /turf/open/floor/shiva/blue/west, @@ -23985,6 +24237,13 @@ }, /turf/open/auto_turf/ice/layer1, /area/shiva/interior/caves/cp_camp) +"xXf" = ( +/obj/structure/stairs/perspective/ice{ + dir = 1; + icon_state = "p_stair_full" + }, +/turf/open/auto_turf/snow/layer4, +/area/shiva/exterior/southwest_valley) "xXv" = ( /obj/structure/surface/table/reinforced/prison, /obj/item/trash/plate{ @@ -26481,7 +26740,7 @@ mFm mFm uRn mFm -tMZ +ouY xYx mFm nNd @@ -26553,7 +26812,7 @@ aFO aFO aFO aFO -wFU +vAv xAS oRH oRH @@ -26645,7 +26904,7 @@ mFm fOE mFm mFm -tMZ +ouY mFm xYx mFm @@ -26717,7 +26976,7 @@ elf too xAS oRH -wFU +vAv aFO xAS aFO @@ -26875,7 +27134,7 @@ aFO aFO xAS xAS -npK +uBt uIO oRH oRH @@ -26971,7 +27230,7 @@ mFm mFm mFm xYx -tMZ +ouY mFm caS caS @@ -27882,7 +28141,7 @@ iQq kLM kLM uqb -nxV +jtc uqb puZ puZ @@ -28203,7 +28462,7 @@ cQW cQW iQq iQq -siG +fDx kLM kLM ath @@ -28529,7 +28788,7 @@ kLM cQW iQq kLM -nxV +jtc wgM kLM ath @@ -28752,7 +29011,7 @@ wgX mFm mFm mFm -aWb +eQr hlO jMD caS @@ -29072,7 +29331,7 @@ mhP mFm wMj wMj -gGg +mbd mFm kEh jMD @@ -29210,7 +29469,7 @@ mFm mFm mFm mFm -hIW +dkY mFm mFm mFm @@ -29222,7 +29481,7 @@ iuK mFm mFm mFm -gSC +lJv mFm mFm mFm @@ -29308,10 +29567,10 @@ tlB tlB hBq tlB -ceh +bqz tlB xAS -mNQ +jYX tlB xAS tlB @@ -29369,17 +29628,17 @@ caS caS mFm mFm -hIW +dkY mFm mFm mFm mFm mFm -hIW +dkY mFm mFm mFm -quv +tMv iuK mFm mFm @@ -29388,7 +29647,7 @@ mFm mFm mFm mFm -gSC +lJv mFm mFm mFm @@ -29401,7 +29660,7 @@ ftm umj hjx vOd -ktn +ihk mFm hlO kAp @@ -29797,7 +30056,7 @@ aFO aFO xAS tlB -ceh +bqz tlB xAS aFO @@ -30138,11 +30397,11 @@ kLM iQq iQq iQq -dQH +crJ iQq iQq iQq -dQH +crJ kLM kLM qoU @@ -30297,7 +30556,7 @@ kLM knI iQq iQq -dQH +crJ iQq iQq iQq @@ -30617,20 +30876,20 @@ ibP dMo uji uji -hsU -lNE -coD -sWW -iDu -tmT -tmT -tmT -tmT -iDu -iDu -coD -coD -coD +oHV +hvH +qDh +gdI +aJt +hbY +hbY +hbY +hbY +aJt +aJt +qDh +qDh +qDh hzJ huz huz @@ -30778,22 +31037,22 @@ pvv pvv fRg uji -vdy -coD -coD -coD -iDu -iDu -tmT -tmT -tmT -tmT -iDu -iDu -hgd -onk -vdy -vdy +dKD +qDh +qDh +qDh +aJt +aJt +hbY +hbY +hbY +hbY +aJt +aJt +gGq +saY +dKD +dKD huz huz huz @@ -30940,22 +31199,22 @@ pvv pvv fRg hGj -iDu -sWW -coD -xwk -coD -tmT -tmT -tmT -tmT -iDu -tmT -iDu -coD -iDu -que -vdy +aJt +gdI +qDh +cTe +qDh +hbY +hbY +hbY +hbY +aJt +hbY +aJt +qDh +aJt +dCB +dKD huz kys pef @@ -31102,22 +31361,22 @@ pvv pvv fRg hGj -iDu -tmT -iDu -coD -iDu -tmT -tmT -tmT -tmT -tmT -iDu -tmT -tmT -iDu -iDu -iDu +aJt +hbY +aJt +qDh +aJt +hbY +hbY +hbY +hbY +hbY +aJt +hbY +hbY +aJt +aJt +aJt huz krU axJ @@ -31264,22 +31523,22 @@ pvv pvv gxK hGj -tmT -tmT -tmT -iDu -tmT -tmT -tmT -tmT -tmT -tmT -tmT -iDu -iDu -tmT -tmT -tmT +hbY +hbY +hbY +aJt +hbY +hbY +hbY +hbY +hbY +hbY +hbY +aJt +aJt +hbY +hbY +hbY huz axJ axJ @@ -31426,22 +31685,22 @@ dbH fhv fRg hGj -iDu -iDu -tmT -tmT -iDu -oKt -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tpg +aJt +aJt +hbY +hbY +aJt +kXM +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +wme exX qIr axJ @@ -31588,22 +31847,22 @@ aUA gIQ fRg hGj -coD -coD -coD -iDu -tmT -nte -tmT -tmT -tmT -rNY -tmT -tmT -tmT -tmT -tmT -eSN +qDh +qDh +qDh +aJt +hbY +sWw +hbY +hbY +hbY +jMK +hbY +hbY +hbY +hbY +hbY +cbV akF alS aMW @@ -31750,22 +32009,22 @@ deV eVG fRg hGj -coD -iDu -iDu -tmT -tmT -nte -tmT -iDu -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tpg +qDh +aJt +aJt +hbY +hbY +sWw +hbY +aJt +hbY +hbY +hbY +hbY +hbY +hbY +hbY +wme exX qIr rdS @@ -31912,22 +32171,22 @@ dKR pvv fRg hGj -iDu -tmT -tmT -tmT -tmT -tmT -iDu -iDu -coD -iDu -tmT -tmT -tmT -tmT -tmT -tpg +aJt +hbY +hbY +hbY +hbY +hbY +aJt +aJt +qDh +aJt +hbY +hbY +hbY +hbY +hbY +wme exX qIr aut @@ -32074,22 +32333,22 @@ pvv pvv fRg hGj -tmT -tmT -tmT -tmT -tmT -tmT -iDu -vdy -iDu -tmT -tmT -tmT -tmT -tmT -tmT -tmT +hbY +hbY +hbY +hbY +hbY +hbY +aJt +dKD +aJt +hbY +hbY +hbY +hbY +hbY +hbY +hbY huz aut rdS @@ -32236,22 +32495,22 @@ pvv pvv fRg hGj -tmT -sWW -iDu -sWW -iDu -iDu -tmT -iDu -tmT -tmT -tmT -tmT -pKK -tmT -sWW -iDu +hbY +gdI +aJt +gdI +aJt +aJt +hbY +aJt +hbY +hbY +hbY +hbY +lel +hbY +gdI +aJt huz rdS axJ @@ -32398,17 +32657,17 @@ pvv pvv gqe uji -wNB -khx -jac -khx -iHu -cbe -iDu -tmT -tmT -iDu -iDu +eqm +dmv +sON +dmv +gDH +tSq +aJt +hbY +hbY +aJt +aJt huz huz huz @@ -32564,13 +32823,13 @@ iMA iMA iMA uKZ -ehV -vdy -gYj -tmT -tmT -iDu -coD +uGs +dKD +pHd +hbY +hbY +aJt +qDh huz cio ieD @@ -32726,13 +32985,13 @@ ohq mKB cLq iMA -avx -voo -iDu -tmT -tmT -iDu -tpg +jUM +vou +aJt +hbY +hbY +aJt +wme exX qIr azS @@ -32888,13 +33147,13 @@ pvv fRg xQa iMA -avx -coD -iDu -tmT -tmT -iDu -tpg +jUM +qDh +aJt +hbY +hbY +aJt +wme exX alW arW @@ -33050,13 +33309,13 @@ pvv fRg uKZ uKZ -vqV -iDu -iDu -tmT -tmT -tmT -iDu +ecg +aJt +aJt +hbY +hbY +hbY +aJt huz pJM ayZ @@ -33212,13 +33471,13 @@ khz fRg iMA nIA -scp -iDu -tmT -tmT -iDu -tmT -tmT +tOX +aJt +hbY +hbY +aJt +hbY +hbY huz aQq axJ @@ -33374,13 +33633,13 @@ pvv oCG kjM oCG -tmT -tmT -tmT -iDu -vdy -iDu -tmT +hbY +hbY +hbY +aJt +dKD +aJt +hbY huz huz avz @@ -33536,14 +33795,14 @@ pvv oCG wRm oCG -tmT -tmT -tmT -szU -iDu -tmT -tmT -coD +hbY +hbY +hbY +qyQ +aJt +hbY +hbY +qDh ncS pTp pTp @@ -33698,14 +33957,14 @@ dZN fRg iMA tLC -hye -iDu -tmT -iDu -tmT -tmT -iDu -coD +ddF +aJt +hbY +aJt +hbY +hbY +aJt +qDh ncS mRc rdS @@ -33860,14 +34119,14 @@ iMA iMA uKZ uKZ -ehV -iDu -tmT -tmT -tmT -iDu -iDu -coD +uGs +aJt +hbY +hbY +hbY +aJt +aJt +qDh ncS bWB auh @@ -34022,13 +34281,13 @@ ftr obb vHX iMA -ehV -iDu -tmT -tmT -iDu -coD -coD +uGs +aJt +hbY +hbY +aJt +qDh +qDh huz huz auh @@ -34184,13 +34443,13 @@ bKV krm iXx iMA -ehV -coD -iDu -tmT -nAs -coD -ajE +uGs +qDh +aJt +hbY +gZn +qDh +qXQ huz qSW arZ @@ -34346,13 +34605,13 @@ iMA iMA iMA uKZ -ehV -coD -iDu -tmT -tmT -iDu -ajd +uGs +qDh +aJt +hbY +hbY +aJt +cWI huz fjS anJ @@ -34504,16 +34763,16 @@ pvv eGs fRg uji -xwo -jhm -bHC -bHC -iKW -iDu -tmT -tmT -tmT -tmT +fKR +orv +nKM +nKM +mMw +aJt +hbY +hbY +hbY +hbY qIr oWk qIr @@ -34666,16 +34925,16 @@ pvv pvv fRg hvZ -iDu -sWW -iDu -sWW -iDu -tmT -iDu -tmT -tmT -tmT +aJt +gdI +aJt +gdI +aJt +hbY +aJt +hbY +hbY +hbY qIr oWk qIr @@ -34828,16 +35087,16 @@ aSA pvv fRg hvZ -iDu -tmT -tmT -tmT -tmT -iDu -tmT -tmT -tmT -tmT +aJt +hbY +hbY +hbY +hbY +aJt +hbY +hbY +hbY +hbY qIr akF alS @@ -34990,16 +35249,16 @@ wTz pvv fRg hvZ -tmT -iDu -tmT -tmT -tmT -tmT -tmT -iDu -tmT -tmT +hbY +aJt +hbY +hbY +hbY +hbY +hbY +aJt +hbY +hbY qIr exX qIr @@ -35152,16 +35411,16 @@ dbH wvx fRg hvZ -iDu -tmT -iDu -tmT -tmT -tmT -iDu -rli -gYj -tmT +aJt +hbY +aJt +hbY +hbY +hbY +aJt +dvw +pHd +hbY huz huz kLi @@ -35314,16 +35573,16 @@ dCS eoH fRg hvZ -tmT -tmT -iDu -tmT -tmT -iDu -tpP -vdy -onk -iDu +hbY +hbY +aJt +hbY +hbY +aJt +eWF +dKD +saY +aJt huz huz dLi @@ -35476,16 +35735,16 @@ deV uyI fRg hvZ -tmT -tmT -tmT -tmT -tmT -tmT -iDu -vdy -coD -tmT +hbY +hbY +hbY +hbY +hbY +hbY +aJt +dKD +qDh +hbY huz huz huz @@ -35638,17 +35897,17 @@ pti pvv fRg hvZ -iDu -tmT -tmT -tmT -tmT -tmT -iDu -onk -iDu -tmT -tmT +aJt +hbY +hbY +hbY +hbY +hbY +aJt +saY +aJt +hbY +hbY huz huz huz @@ -35800,19 +36059,19 @@ pvv pvv fRg hvZ -iDu -iDu -tmT -tmT -tmT -tmT -tmT -iDu -iDu -tmT -tmT -tmT -lXQ +aJt +aJt +hbY +hbY +hbY +hbY +hbY +aJt +aJt +hbY +hbY +hbY +bir cwZ kAw kAw @@ -35962,19 +36221,19 @@ pvv pvv fRg hvZ -iDu -sWW -iDu -sWW -iDu -iDu -tmT -iDu -tmT -tmT -iDu -tmT -jWh +aJt +gdI +aJt +gdI +aJt +aJt +hbY +aJt +hbY +hbY +aJt +hbY +vtD cwZ kAw kAw @@ -36124,19 +36383,19 @@ hZI pvv fWq uji -iOA -vdy -onk -iDu -coD -coD -tmT -tmT -iDu -iDu -iDu -iDu -fpF +miG +dKD +saY +aJt +qDh +qDh +hbY +hbY +aJt +aJt +aJt +aJt +avR wSv kAw kAw @@ -36286,18 +36545,18 @@ bxL gGc rzR uji -eoE -eoE -eoE -hHR -hHR -xCz -uxZ -uxZ -uxZ -lWC -hHR -hHR +gWx +gWx +gWx +rhL +rhL +lZl +bLV +bLV +bLV +ocP +rhL +rhL sax sax sax @@ -36448,18 +36707,18 @@ uKZ uKZ uKZ uji -vdy -vdy -onk -iDu -coD -coD -tmT -tmT -tmT -iDu -coD -gzb +dKD +dKD +saY +aJt +qDh +qDh +hbY +hbY +hbY +aJt +qDh +kLk sax sax sax @@ -36601,28 +36860,28 @@ uKZ jLX uKZ uji -iDu -hgd -iDu -iDu -hgd -coD -coD -sWW -iDu -onk -sWW -coD -coD -coD -iDu -tmT -tmT -tmT -iDu -coD -bhN -fCs +aJt +gGq +aJt +aJt +gGq +qDh +qDh +gdI +aJt +saY +gdI +qDh +qDh +qDh +aJt +hbY +hbY +hbY +aJt +qDh +qcn +xpd sax sax rBk @@ -36763,28 +37022,28 @@ qnJ jOi qnJ mkC -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -iDu -iMC -tmT -tmT -iDu -iDu -tmT -iDu -tmT -tmT -iDu -coD -bhN -fCs +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +aJt +ulr +hbY +hbY +aJt +aJt +hbY +aJt +hbY +hbY +aJt +qDh +qcn +xpd sax sax sax @@ -36925,27 +37184,27 @@ ajy jOi ajy ppS -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -iDu -coD -lip +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +aJt +qDh +iub sax sax sax @@ -37087,27 +37346,27 @@ ajy jOi ajy ppS -tmT -tmT -tmT -tmT -tmT -tmT -iDu -iDu -tmT -iDu -iDu -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -iDu -vdy +hbY +hbY +hbY +hbY +hbY +hbY +aJt +aJt +hbY +aJt +aJt +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +aJt +dKD sax hrk llZ @@ -37249,28 +37508,28 @@ ajy jOi ajy ppS -iDu -iDu -iDu -coD -gYj -coD -eyx -coD -iDu -coD -coD -iDu -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -tmT -grk +aJt +aJt +aJt +qDh +pHd +qDh +geQ +qDh +aJt +qDh +qDh +aJt +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +hbY +ryN hrk kAw qgP @@ -37411,28 +37670,28 @@ ajy jOi ajy lGT -onk -iDu -coD -onk -guC -vdy -etl -fLi -bFx -coD -iDu -sWW -tmT -tmT -tmT -iDu -tmT -tmT -tmT -iDu -oDi -nRD +saY +aJt +qDh +saY +itu +dKD +tAe +rWN +urH +qDh +aJt +gdI +hbY +hbY +hbY +aJt +hbY +hbY +hbY +aJt +fna +daY kAw vPr kAw @@ -37573,28 +37832,28 @@ bni bni bni uir -vdy -onk -iDu -coD -onk -bFx -coD -rli -coD -coD -iDu -tmT -tmT -tmT -iDu -tmT -iDu -tmT -tmT -tmT -iDu -kjX +dKD +saY +aJt +qDh +saY +urH +qDh +dvw +qDh +qDh +aJt +hbY +hbY +hbY +aJt +hbY +aJt +hbY +hbY +hbY +aJt +xXf kAw vPr qgP @@ -37738,25 +37997,25 @@ kyD kyD kyD tHd -tmT -tmT -tmT -tmT -tmT -coD -coD -coD -iDu -iDu -onk -onk -tpP -vdy -vdy -coD -tmT -coD -kjX +hbY +hbY +hbY +hbY +hbY +qDh +qDh +qDh +aJt +aJt +saY +saY +eWF +dKD +dKD +qDh +hbY +qDh +xXf kAw llZ nZA @@ -37902,23 +38161,23 @@ fDH kyD tHd kyD -tmT -tmT -coD -coD -coD -coD -onk -onk -onk -tpP -xEx -vdy -coD -dWq -vdy -tmT -kjX +hbY +hbY +qDh +qDh +qDh +qDh +saY +saY +saY +eWF +lMC +dKD +qDh +gKF +dKD +hbY +xXf kAw kAw jaT @@ -38065,22 +38324,22 @@ kyD kyD kyD kyD -tmT -tmT -tmT -tmT -onk -vdy -onk -onk -onk -vdy -tpP -coD -tmT -coD -tmT -mxr +hbY +hbY +hbY +hbY +saY +dKD +saY +saY +saY +dKD +eWF +qDh +hbY +qDh +hbY +pfj kAw vPr vPr @@ -38228,21 +38487,21 @@ kyD kyD kyD kyD -tmT -iDu -tmT -iDu -iDu -onk -onk -onk -vdy -onk -vdy -sZr -coD -coD -aOk +hbY +aJt +hbY +aJt +aJt +saY +saY +saY +dKD +saY +dKD +rff +qDh +qDh +bSu sax sax sax @@ -38391,18 +38650,18 @@ kyD kyD kyD kyD -tmT -tmT -iDu -iDu -onk -onk -iDu -onk -coD -onk -vdy -vdy +hbY +hbY +aJt +aJt +saY +saY +aJt +saY +qDh +saY +dKD +dKD rgy jMf gss @@ -38554,16 +38813,16 @@ kyD kyD tHd kyD -coD -coD -coD -pKO -coD -coD -kGE -iDu -coD -vdy +qDh +qDh +qDh +sjA +qDh +qDh +uUb +aJt +qDh +dKD oxP ofw ofw @@ -38718,13 +38977,13 @@ kyD kyD kyD jMf -onk -coD -coD -onk -coD -coD -iDu +saY +qDh +qDh +saY +qDh +qDh +aJt jMf jMf jMf @@ -48265,10 +48524,10 @@ pLf asz asz asz -ndb -pCI -gmV -vTc +bBx +oIT +kLL +aXD asz asz asz @@ -48302,7 +48561,7 @@ gpz gpz bJj bJj -bJj +efO gpz bJj bJj @@ -48427,11 +48686,11 @@ pLf asz crF aXH -tHD +wli crF crF tHD -uEx +qKB crF fNE qud @@ -48458,7 +48717,7 @@ jrg jrg bJj bJj -gpz +cux gpz gpz gpz @@ -48640,7 +48899,7 @@ puZ (152,1,1) = {" acH acT -ajO +nrt ajO acT agt @@ -48751,10 +49010,10 @@ pLf asz asz asz -tpL -orO -orO -tJY +sNk +iNt +iNt +usQ asz asz asz @@ -48943,16 +49202,16 @@ jrg amu amu amu -bJj -fXX -gpz -bJj -bJj +ean +gWc +jMB +ean +oEA jrg jrg -bJj -gpz -osE +ean +jMB +lsR sax sax sax @@ -49269,13 +49528,13 @@ fXX fXX osE osE -gpz +cux gpz jrg jrg bJj bJj -osE +dIE osE sax sax @@ -49399,17 +49658,17 @@ asz aUX aWB gTU -wnK +pCj wnK wnK aXH rZt -rZt +dAt rZt asz asz rZt -rZt +dAt hCY hCY fNE @@ -49775,7 +50034,7 @@ puZ acH acT aQX -ajO +nrt acT agA aoK @@ -49914,14 +50173,14 @@ jrg jrg amu fXX -fXX +vtf amu jrg bJj gpz bJj bJj -bJj +efO osE bJj amu @@ -49940,7 +50199,7 @@ ajO ajO acT aoK -aoK +ifI aoK aoK apj @@ -50107,11 +50366,11 @@ aoK aoK acT iJY +aff agh agh agh -agh -kbJ +aqz agh agh xbP @@ -50401,7 +50660,7 @@ amu lAb fXX fXX -fXX +vtf fXX fXX fXX @@ -50533,7 +50792,7 @@ asz rZt rZt rZt -gGf +gCe bDx asz kXt @@ -50705,7 +50964,7 @@ rZt asz asz hLB -rZt +dAt rZt asz asz @@ -50746,7 +51005,7 @@ puZ (165,1,1) = {" acH acT -aKq +uFi ajO acT aim @@ -50917,7 +51176,7 @@ agh anR acT iJY -agh +aff agh axG aek @@ -51048,7 +51307,7 @@ rAH ukp kVd uzu -ukp +xUA ukp jrg amu @@ -51330,7 +51589,7 @@ kaC kaC xHv xHv -xHv +lxD xHv wXs lSU @@ -51338,12 +51597,12 @@ lSU tSI rZt gLv -rZt +dAt gLv afF wBf wnK -dTU +wFB wnK asz kbZ @@ -51382,7 +51641,7 @@ bJj bJj amu gpz -gpz +cux amu amu fXX @@ -51398,7 +51657,7 @@ ajO ajO aSa maW -maW +hdF agh nfg acT @@ -51565,7 +51824,7 @@ agh nfg acT iJY -agh +aff agh axG acT @@ -51701,7 +51960,7 @@ xgc bJj bJj bJj -bJj +efO bJj fXX osE @@ -51734,12 +51993,12 @@ acT ajO aDn cbt -agh +aff agh bFC umm agh -hqC +uIx hqC agh uXQ @@ -51855,7 +52114,7 @@ uzu ukp xgc ukp -ukp +xUA ukp pLf ukp @@ -51880,7 +52139,7 @@ puZ (172,1,1) = {" acH anq -bVS +xyi acT afx agh @@ -51908,13 +52167,13 @@ uXQ fkb agh agh -agh +aff agh agh fkb sYu sYu -sYu +alG sYu sYu sYu @@ -51984,7 +52243,7 @@ bme lSU twi flN -flN +pOn flN kEs kEs @@ -52146,7 +52405,7 @@ mIL uIE flN flN -flN +eSo flN flN eit @@ -52154,16 +52413,16 @@ kEs kEs flN rMI -dTU +wFB dTU rMI goj chU -goj +hFk chU chU chU -goj +hFk chU aiD asz @@ -52208,11 +52467,11 @@ ajV aDn aDn agh -maW +hdF maW ajO iJY -agh +aff agh agh axG @@ -52305,14 +52564,14 @@ oQl oQl mIL fQX -gaz +aRa uIE flN -flN -gCL +eSo +jQi flN kEs -flN +mEQ flN vTc rMI @@ -52346,7 +52605,7 @@ ukp bJj bJj bJj -gpz +cux bJj bJj bJj @@ -52378,7 +52637,7 @@ agh agh agh agh -agh +aff axG acT iEp @@ -52470,7 +52729,7 @@ ood mIL lqu flN -eit +lIA flN kEs kEs @@ -52493,7 +52752,7 @@ goj fNE aud miD -ptr +bIl ptr rZt aCB @@ -52632,7 +52891,7 @@ ood pqj vwn uIE -flN +pOn kEs flN flN @@ -52697,9 +52956,9 @@ amh aly amh acT -bdT -maW -bdT +hvd +fgj +hvd acT acT acT @@ -52788,13 +53047,13 @@ jAL jAL mIL vJu -mIL +oiy ood fQX jAL mIL lSU -uIE +oaW flN kEs agw @@ -52807,11 +53066,11 @@ lSU wOO goj chU -goj +hFk lfk rZt uII -aiD +lJf chU goj fNE @@ -52853,7 +53112,7 @@ puZ acH acT ajO -ajO +nrt aDn acT acT @@ -53022,7 +53281,7 @@ ajO ajO aSa axG -maW +hdF axG aek vhG @@ -53180,7 +53439,7 @@ cbW ajO ajO aQX -ajO +nrt ajO aDn axG @@ -53282,7 +53541,7 @@ oQl oQl lSU dwQ -eBG +tgJ dwQ dwQ elw @@ -53309,7 +53568,7 @@ asz jrg jrg jrg -osE +dIE bJj bJj bJj @@ -53320,7 +53579,7 @@ bJj bJj bJj bJj -bJj +efO gpz bJj bJj @@ -53345,14 +53604,14 @@ acT acT acT acT -tWv -axG -bdT +cwx +dEh +hvd aek cJy agh agh -agh +aff agh agh agh @@ -53361,7 +53620,7 @@ agh ahy agh agh -agh +aff uXQ acT agK @@ -53374,7 +53633,7 @@ agh uXQ ajw umm -agh +aff agh uXQ ajw @@ -53465,7 +53724,7 @@ oag asz aud rZt -rZt +dAt tiw asz jrg @@ -53610,7 +53869,7 @@ lSU lSU dwQ oaO -dwQ +fdo dwQ dwQ bXo @@ -53638,7 +53897,7 @@ bJj bJj bJj bJj -bJj +efO bJj bJj gpz @@ -53692,7 +53951,7 @@ vKx cBe cBe cBe -mfr +rps agh agh uXQ @@ -53779,11 +54038,11 @@ lSU lQm goj chU -goj +hFk dqH rZt sCl -onM +mdz chU goj fNE @@ -53810,7 +54069,7 @@ osE bJj bJj gpz -bJj +efO jrg jrg sax @@ -53832,7 +54091,7 @@ amP amU aoe bhS -amP +aeo amU aek scN @@ -54022,7 +54281,7 @@ agh feR acT aeh -agh +aff agh agh kdW @@ -54175,7 +54434,7 @@ agh uyJ acT aia -tCi +nSZ agh mah umm @@ -54422,7 +54681,7 @@ dwQ dwQ adI adj -dwQ +fdo adH lSU goj @@ -54620,7 +54879,7 @@ jrg jrg pxA flN -rZt +dAt dwQ pxA puZ @@ -54638,11 +54897,11 @@ adX bhS amP amP -amP +aeo amP aos amP -amP +aeo amP gBr aek @@ -54743,7 +55002,7 @@ ors lSU lSU dwQ -dwQ +fdo lSU ada ady @@ -54751,11 +55010,11 @@ adE lSU goj goj +hFk goj goj goj -goj -goj +hFk goj goj wnK @@ -54768,7 +55027,7 @@ bJj osE bJj bJj -gpz +cux gpz bJj bJj @@ -54815,7 +55074,7 @@ vOP mfr agh agh -agh +aff agh agh agh @@ -54920,7 +55179,7 @@ rZt kmO rZt rZt -rZt +dAt rZt rZt rZt @@ -54962,11 +55221,11 @@ adX bhS amP amP +aeo amP amP amP -amP -amP +aeo amP amU aek @@ -55153,7 +55412,7 @@ ovc aVQ qOD mms -mms +hzh mms xjg nMZ @@ -55234,7 +55493,7 @@ fgK lSU chU gAV -gAV +lAP gAV gAV gAV @@ -55472,7 +55731,7 @@ eAZ qDT acT aoK -ovc +jbr ovc acT qOD @@ -55571,7 +55830,7 @@ asz asz rZt flN -rZt +dAt dwQ flN flN @@ -55626,7 +55885,7 @@ oYw oYw gQR agh -agh +aff agh agh gQR @@ -55642,7 +55901,7 @@ dOf mms mms rDn -jVp +mxS joP mms mms @@ -55772,12 +56031,12 @@ acT axG maW axG -bhS +lmg qGq amP amP amP -amP +aeo amU knC aSi @@ -55804,7 +56063,7 @@ ljM igN igN igN -igN +sxS joP mms mms @@ -55909,14 +56168,14 @@ pxA mWE pJA wnK -mwF +fww mwF mwF mwF vKu bJi bJi -chU +rOL mwF pxA flN @@ -55930,7 +56189,7 @@ puZ (197,1,1) = {" acH axG -axG +tef axG iWa axG @@ -55943,7 +56202,7 @@ amP amU ajO aSi -aSi +oRc aSi aSi eAZ @@ -56043,7 +56302,7 @@ jDv oQl asz chU -gAV +lAP chU adT rZt @@ -56132,7 +56391,7 @@ qEC acT mms mms -mms +hzh mms mms sNi @@ -56159,7 +56418,7 @@ jAN asR atD auV -gxN +lvy gxN gxN axV @@ -56223,7 +56482,7 @@ bUe rZt chU rZt -chU +rOL dwQ wnK pxA @@ -56420,12 +56679,12 @@ dbQ amP dbQ xBo -bhS +lmg amP sHc acT xoi -amP +aeo amU aek eAZ @@ -56442,15 +56701,15 @@ acT gWF amP iNS -amP +aeo amP amP gcP acT acT wxu -bhI -pNq +hst +kkw amP amU ajO @@ -56541,7 +56800,7 @@ goj goj pxA vKu -wnK +pCj wnK cSn pxA @@ -56598,7 +56857,7 @@ oYw aDn aDn axG -axG +tef axG axG bhS @@ -56741,7 +57000,7 @@ puZ acH bhS amP -amP +aeo amP acT bhS @@ -56756,7 +57015,7 @@ eAZ eAZ oYw aSi -aSi +oRc aSi knC maW @@ -56853,13 +57112,13 @@ bgC rZt rZt chU -gAV +lAP chU rZt asz biM biM -biM +meQ goj lpA uWA @@ -56943,7 +57202,7 @@ acT wHZ amP amP -amP +aeo amP amj acT @@ -57036,7 +57295,7 @@ pxA pxA wnK wnK -wnK +pCj wnK wnK pxA @@ -57044,7 +57303,7 @@ rZt vKu vKu wnK -vKu +sQU wnK vKu wnK @@ -57355,7 +57614,7 @@ kQJ vKu wnK vKu -wnK +pCj vKu kap rZt @@ -57408,20 +57667,20 @@ aDn acT acT dWM -amP +aeo amU acT apO amP amP -amP +aeo amP amP amU nKc bhS mCg -pQt +hUS mhx aDn gXS @@ -57433,11 +57692,11 @@ alx amP amP acT -nSO -nSO -nSO -nSO -nSO +jLT +kqO +kqO +kqO +jLT puZ puZ puZ @@ -57530,7 +57789,7 @@ rZt vKu vKu wnK -vKu +sQU wnK vKu wnK @@ -57589,7 +57848,7 @@ aae gXS ajO ajO -ajO +nrt ajO ajO amP @@ -57597,7 +57856,7 @@ amP gXS wje nSO -kPl +fpp nSO nSO puZ @@ -57663,7 +57922,7 @@ eSt wFB dTU rZt -gAV +lAP rZt dTU asz @@ -57671,7 +57930,7 @@ asz asz asz asz -goj +hFk goj fNE chU @@ -57837,7 +58096,7 @@ biM biM fNE chU -vKu +sQU vQm pxA rZt @@ -57875,7 +58134,7 @@ puZ acH acT afm -amP +aeo amU axG axG @@ -57886,7 +58145,7 @@ tef axG okM axG -axG +tef axG axG axG @@ -57990,7 +58249,7 @@ goj goj djO goj -wnK +pCj rZt rZt fNE @@ -58003,7 +58262,7 @@ wnK vFX pxA iQe -qaF +nlt chU kyu drx @@ -58171,7 +58430,7 @@ gFb sfM oHF wnK -wnK +pCj wnK pxA lYG @@ -58245,7 +58504,7 @@ nSO nSO kPl kPl -nSO +bMW wje kPl puZ @@ -58398,7 +58657,7 @@ nSO aDw kPl kPl -kPl +fpp kPl nSO nSO @@ -58481,12 +58740,12 @@ rZt vKu vKu vKu -vKu +sQU vKu vKu vKu toN -vKu +sQU vKu dgF hEE @@ -58542,7 +58801,7 @@ axG mKf wje wje -nSO +bMW nSO kPl kPl @@ -58699,7 +58958,7 @@ amP amP gXS amU -amP +aeo gXS fjs aah @@ -58713,7 +58972,7 @@ aOu nSO kPl kPl -nSO +bMW nSO nSO nSO @@ -58727,7 +58986,7 @@ nSO kPl kPl kPl -nSO +bMW nSO nSO kPl @@ -58796,11 +59055,11 @@ oQl asz tqs rZt -goj +hFk rZt fHM goj -wnK +pCj rZt vKu wnK @@ -58988,13 +59247,13 @@ euA euA bJi euA -euA +tPu euA euA bJi bJi chU -mwF +fww rZt twi kue @@ -59009,7 +59268,7 @@ puZ acH acT aga -amP +aeo amU axG amP @@ -59020,7 +59279,7 @@ hms hms hms hms -cnk +vei amP bhI gXS @@ -59144,7 +59403,7 @@ pxA pxA bJi rZt -dTU +wFB dTU dTU dTU @@ -59195,7 +59454,7 @@ nSO nSO nSO nSO -nSO +bMW kPl kPl nSO From 539a7b15a79fc5d3214b3a83e2778b124a0e6198 Mon Sep 17 00:00:00 2001 From: "cmss13-ci[bot]" <180991813+cmss13-ci[bot]@users.noreply.github.com> Date: Thu, 31 Oct 2024 22:19:58 +0000 Subject: [PATCH 29/29] Automatic changelog for PR #7341 [ci skip] --- html/changelogs/AutoChangeLog-pr-7341.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-7341.yml diff --git a/html/changelogs/AutoChangeLog-pr-7341.yml b/html/changelogs/AutoChangeLog-pr-7341.yml new file mode 100644 index 000000000000..2f1ae7408e41 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-7341.yml @@ -0,0 +1,4 @@ +author: "Steelpoint" +delete-after: True +changes: + - maptweak: "The north-east and south-east areas of Shivas Snowball start of pre-weeded, in addition to a few resin doors and walls near the main entrances to hive locations." \ No newline at end of file