From 7b9cad58d4c2acb3c139613ae11e856c5f5bc737 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 17:48:45 -0500 Subject: [PATCH 01/37] Fix Cthonian Platforms (#3780) :cl: fix: Cthonian Platforms now have proper dirs /:cl: --- _maps/shuttles/pgf/pgf_woeful_cthonian.dmm | 29 +++++++++++++--------- 1 file changed, 17 insertions(+), 12 deletions(-) diff --git a/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm index a04c729df8ef6..0e6a33de1aeb9 100644 --- a/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm +++ b/_maps/shuttles/pgf/pgf_woeful_cthonian.dmm @@ -120,7 +120,7 @@ }, /obj/structure/catwalk/over, /obj/structure/platform{ - dir = 8 + dir = 4 }, /turf/open/floor/plating, /area/ship/engineering) @@ -922,7 +922,7 @@ }, /obj/structure/catwalk/over, /obj/structure/platform{ - dir = 8 + dir = 4 }, /turf/open/floor/plating, /area/ship/engineering) @@ -983,7 +983,7 @@ /obj/machinery/light/directional/north, /obj/machinery/power/ship_gravity, /obj/structure/platform{ - dir = 8 + dir = 4 }, /turf/open/floor/plasteel/tech, /area/ship/engineering) @@ -1033,9 +1033,6 @@ /obj/machinery/turretid/ship{ pixel_x = 26 }, -/obj/machinery/computer/cargo{ - dir = 8 - }, /obj/effect/turf_decal/techfloor{ dir = 4 }, @@ -1046,7 +1043,12 @@ name = "bridge shutter control" }, /obj/structure/platform/ship_two{ - dir = 8 + dir = 5 + }, +/obj/machinery/computer/cargo{ + dir = 8; + layer = 3.1; + pixel_y = -2 }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) @@ -1094,10 +1096,12 @@ dir = 4 }, /obj/machinery/computer/helm{ - dir = 8 + dir = 8; + layer = 3.1; + pixel_y = 5 }, /obj/structure/platform/ship_two{ - dir = 8 + dir = 6 }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) @@ -1366,13 +1370,14 @@ /obj/structure/table/reinforced, /obj/item/radio/intercom/wideband/table{ dir = 4; - pixel_y = 4 + pixel_y = 0; + pixel_x = 1 }, /obj/item/desk_flag/gezena{ pixel_x = 8 }, /obj/structure/platform/ship_two{ - dir = 8 + dir = 4 }, /turf/open/floor/plasteel/telecomms_floor, /area/ship/bridge) @@ -3246,7 +3251,7 @@ }, /obj/machinery/light/directional/south, /obj/structure/platform{ - dir = 8 + dir = 4 }, /turf/open/floor/plasteel/tech, /area/ship/engineering) From 3da17656bfb641e9f629ab216169012ae6ba9400 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 17:01:37 -0600 Subject: [PATCH 02/37] Automatic changelog generation for PR #3780 [ci skip] --- html/changelogs/AutoChangeLog-pr-3780.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3780.yml diff --git a/html/changelogs/AutoChangeLog-pr-3780.yml b/html/changelogs/AutoChangeLog-pr-3780.yml new file mode 100644 index 0000000000000..ebf469d08dd44 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3780.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {bugfix: Cthonian Platforms now have proper dirs} +delete-after: true From 7a278da7108ea153afdd68cb133478dcc3e742b5 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 19 Nov 2024 16:50:13 -0600 Subject: [PATCH 03/37] Fixes the Listening Post Server Monitor + Replaces a Frontier Suit with a Softsuit (#3777) ## About The Pull Request The Telecomms Monitor board on the listening post doesn't actually work. It's just a maintenance computer. The intended thing to properly use the listening setup is a Server Monitor, that lets you see the contents of the server. Replaced the singular suit on the ruin with a Soft suit ## Why It's Good For The Game Fixes good ## Changelog :cl: add: Added a soft suit to the Listening Post fix: Fixed the Listening Post Comms Monitor to be the right type /:cl: --- .../LavaRuins/lavaland_abandonedlisteningpost.dmm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm index 6341438965e45..934f0ffe01efb 100644 --- a/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm +++ b/_maps/RandomRuins/LavaRuins/lavaland_abandonedlisteningpost.dmm @@ -1232,7 +1232,9 @@ /turf/open/floor/plasteel/dark, /area/ruin/unpowered/listening_post/commons) "vJ" = ( -/obj/machinery/suit_storage_unit/mining/eva, +/obj/machinery/suit_storage_unit/inherit, +/obj/item/clothing/suit/space/syndicate, +/obj/item/clothing/head/helmet/space/syndicate, /turf/open/floor/plasteel/tech/grid, /area/ruin/unpowered/listening_post) "vR" = ( @@ -1762,12 +1764,12 @@ /turf/open/floor/plating, /area/ruin/unpowered/listening_post/engineering) "Gy" = ( -/obj/machinery/computer/telecomms/monitor{ - dir = 8 - }, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 4 }, +/obj/machinery/computer/telecomms/server{ + dir = 8 + }, /turf/open/floor/plasteel/dark, /area/ruin/unpowered/listening_post/operations) "GB" = ( From 5be3bd748a0a99ef0013b37a22139c678f0134c4 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 17:16:15 -0600 Subject: [PATCH 04/37] Automatic changelog generation for PR #3777 [ci skip] --- html/changelogs/AutoChangeLog-pr-3777.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3777.yml diff --git a/html/changelogs/AutoChangeLog-pr-3777.yml b/html/changelogs/AutoChangeLog-pr-3777.yml new file mode 100644 index 0000000000000..8d172cf509ee8 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3777.yml @@ -0,0 +1,5 @@ +author: generalthrax +changes: + - {rscadd: Added a soft suit to the Listening Post} + - {bugfix: Fixed the Listening Post Comms Monitor to be the right type} +delete-after: true From 0c2db093d1717882fdca8bf9d52c7dfda6821e46 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 19 Nov 2024 16:52:12 -0600 Subject: [PATCH 05/37] Replaces Rubbershot on the Kilo and Scarab with Buckshot (#3708) ## About The Pull Request Says on the tin. ## Why It's Good For The Game Every round on both these ships I've seen the boxes either go unused or recycled. What am I gonna shoot them at? Goliaths? My own crew? ## Changelog :cl: balance: Replaced rubbershot on the Kilo and Scarab with buckshot /:cl: --------- Signed-off-by: generalthrax <139387950+generalthrax@users.noreply.github.com> --- _maps/shuttles/independent/independent_kilo.dmm | 5 ++++- _maps/shuttles/independent/independent_scarab.dmm | 4 ---- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/_maps/shuttles/independent/independent_kilo.dmm b/_maps/shuttles/independent/independent_kilo.dmm index d0d7523167b96..38d9d1cc68537 100644 --- a/_maps/shuttles/independent/independent_kilo.dmm +++ b/_maps/shuttles/independent/independent_kilo.dmm @@ -661,7 +661,10 @@ /obj/machinery/atmospherics/components/unary/vent_scrubber/on/layer4{ dir = 8 }, -/obj/item/storage/box/ammo/a12g_rubbershot, +/obj/item/storage/box/ammo/a12g_buckshot, +/obj/item/gun/ballistic/shotgun/doublebarrel/presawn{ + default_ammo_type = 0 + }, /obj/structure/cable/pink{ icon_state = "4-10" }, diff --git a/_maps/shuttles/independent/independent_scarab.dmm b/_maps/shuttles/independent/independent_scarab.dmm index 83af7832fd565..99e4797077d23 100644 --- a/_maps/shuttles/independent/independent_scarab.dmm +++ b/_maps/shuttles/independent/independent_scarab.dmm @@ -3987,10 +3987,6 @@ dir = 5 }, /obj/structure/rack, -/obj/item/storage/box/ammo/a12g_rubbershot{ - pixel_x = -4; - pixel_y = 9 - }, /obj/item/storage/box/ammo/a12g_buckshot{ pixel_y = 2; pixel_x = 4 From ed9a810ad2051cf73ab365c4a417dad4568b4263 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 17:30:14 -0600 Subject: [PATCH 06/37] Automatic changelog generation for PR #3708 [ci skip] --- html/changelogs/AutoChangeLog-pr-3708.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3708.yml diff --git a/html/changelogs/AutoChangeLog-pr-3708.yml b/html/changelogs/AutoChangeLog-pr-3708.yml new file mode 100644 index 0000000000000..394b2353a7999 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3708.yml @@ -0,0 +1,4 @@ +author: generalthrax +changes: + - {balance: Replaced rubbershot on the Kilo and Scarab with buckshot} +delete-after: true From 4bf219ca1c3da986ec79f55ec84b125bdbc4fa2c Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:25:53 -0500 Subject: [PATCH 07/37] fix super sporter wear slot (#3757) :cl: fix: super sporter fits on back /:cl: --- .../projectiles/guns/manufacturer/serene_sporting/ballistics.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm index ab997c044d013..13820fea264df 100644 --- a/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm +++ b/code/modules/projectiles/guns/manufacturer/serene_sporting/ballistics.dm @@ -169,6 +169,8 @@ EMPTY_GUN_HELPER(automatic/m12_sporter/mod) bolt_type = BOLT_TYPE_LOCKING + slot_flags = ITEM_SLOT_BACK + w_class = WEIGHT_CLASS_BULKY weapon_weight = WEAPON_MEDIUM From d0e12e7ff518f2bede69a2978399d9ec43b5a354 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:26:41 -0500 Subject: [PATCH 08/37] 2 shelf fixes (#3769) :cl: fix: crate shelves now return all metal fix: crate shelves no longer lead to 0 metal stacks /:cl: --- code/game/objects/structures/crateshelf.dm | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/code/game/objects/structures/crateshelf.dm b/code/game/objects/structures/crateshelf.dm index a637829bd2c2b..65a20a128829f 100644 --- a/code/game/objects/structures/crateshelf.dm +++ b/code/game/objects/structures/crateshelf.dm @@ -81,7 +81,7 @@ balloon_alert(user, "adding additional shelf to rack") if(do_after(user, 3 SECONDS, src)) add_shelf(1) - our_sheet.add(-2) + our_sheet.use(2) return TRUE to_chat(user, span_notice("Adding a shelf to [src] requires more metal.")) return FALSE @@ -169,8 +169,12 @@ shelf_contents[shelf_contents.Find(crate)] = null if(!(flags_1&NODECONSTRUCT_1)) density = FALSE - var/obj/item/rack_parts/shelf/newparts = new(loc) - transfer_fingerprints_to(newparts) + var/obj/item/rack_parts/shelf/new_parts = new(loc) + if(capacity >= 2) + var/obj/item/stack/sheet/metal/new_metal = new(loc) + new_metal.amount = (capacity-1)*2 + transfer_fingerprints_to(new_metal) + transfer_fingerprints_to(new_parts) return ..() /obj/item/rack_parts/shelf From d0c3f5c118dd2932622fcad7c02313e72a3abddf Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 18:06:59 -0600 Subject: [PATCH 09/37] Automatic changelog generation for PR #3769 [ci skip] --- html/changelogs/AutoChangeLog-pr-3769.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3769.yml diff --git a/html/changelogs/AutoChangeLog-pr-3769.yml b/html/changelogs/AutoChangeLog-pr-3769.yml new file mode 100644 index 0000000000000..45bb017b221f0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3769.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {bugfix: crate shelves now return all metal} + - {bugfix: crate shelves no longer lead to 0 metal stacks} +delete-after: true From 4ef37b9c155d2f65334d2cefdf420c15a9dbbf0f Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:29:17 -0500 Subject: [PATCH 10/37] holopads now say the area disconnected on call end (#3773) :cl: fix: holopads now say the area disconnected on call end /:cl: --- code/datums/holocall.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/holocall.dm b/code/datums/holocall.dm index e6733b8d56124..d394d7707be86 100644 --- a/code/datums/holocall.dm +++ b/code/datums/holocall.dm @@ -112,7 +112,7 @@ var/area/A = get_area(connected_holopad) calling_holopad.say("[A] holopad disconnected.") else if(H == calling_holopad && connected_holopad) - connected_holopad.say("[user] disconnected.") + connected_holopad.say("[caller_location] disconnected.") ConnectionFailure(H, TRUE) From dc656ad66cc3f8e2062650aaa4c4cade0d438496 Mon Sep 17 00:00:00 2001 From: Sadhorizon <108196626+Sadhorizon@users.noreply.github.com> Date: Wed, 20 Nov 2024 00:30:07 +0100 Subject: [PATCH 11/37] Adds a Hardliner faction datum. (#3765) ## About The Pull Request Title. ## Why It's Good For The Game Three Hardliner ships are open (#3761, #3744, #3741) and all are using the base syndicate faction. What a shame. ## Changelog :cl: code: Added a Hardliner faction datum. /:cl: --- _maps/configs/syndicate_gorlex_komodo.json | 2 +- code/__DEFINES/factions.dm | 2 ++ code/modules/faction/faction_datum.dm | 4 ++++ 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/_maps/configs/syndicate_gorlex_komodo.json b/_maps/configs/syndicate_gorlex_komodo.json index 0cefb4ca08b3f..5044590efb151 100644 --- a/_maps/configs/syndicate_gorlex_komodo.json +++ b/_maps/configs/syndicate_gorlex_komodo.json @@ -1,5 +1,5 @@ { - "faction": "/datum/faction/syndicate", + "faction": "/datum/faction/syndicate/hardliners", "prefix": "ISV", "namelists": [ "GORLEX", diff --git a/code/__DEFINES/factions.dm b/code/__DEFINES/factions.dm index 596060d6610e5..1fa102e8687aa 100644 --- a/code/__DEFINES/factions.dm +++ b/code/__DEFINES/factions.dm @@ -16,6 +16,7 @@ #define FACTION_SYNDICATE "Syndicate" #define FACTION_NGR "New Gorlex Republic" #define FACTION_CYBERSUN "CyberSun" + #define FACTION_HARDLINERS "Hardliners" #define FACTION_SUNS "Student-Union of Naturalistic Sciences" #define FACTION_SOLGOV "SolGov" #define FACTION_SRM "Saint-Roumain Militia" @@ -31,6 +32,7 @@ #define PREFIX_SYNDICATE list("SEV", "SSV") #define PREFIX_NGR list("NGRV") #define PREFIX_CYBERSUN list("CSSV") + #define PREFIX_HARDLINERS list("ISV") #define PREFIX_SUNS list("SUNS") #define PREFIX_SOLGOV list("SCSV") #define PREFIX_SRM list("SRSV") diff --git a/code/modules/faction/faction_datum.dm b/code/modules/faction/faction_datum.dm index 017c324f50119..993fee1e37f3a 100644 --- a/code/modules/faction/faction_datum.dm +++ b/code/modules/faction/faction_datum.dm @@ -24,6 +24,10 @@ name = FACTION_CYBERSUN prefixes = PREFIX_CYBERSUN +/datum/faction/syndicate/hardliners + name = FACTION_HARDLINERS + prefixes = PREFIX_HARDLINERS + /datum/faction/syndicate/suns name = FACTION_SUNS short_name = "SUNS" From 12a8c2cf982cc80d22adc7fe14cad7873f29b537 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:31:32 -0500 Subject: [PATCH 12/37] increases marine armor prices (#3781) :cl: balance: medium marine armor now costs 3k at da outpost. /:cl: --- code/modules/cargo/packs/spacesuit_armor.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/cargo/packs/spacesuit_armor.dm b/code/modules/cargo/packs/spacesuit_armor.dm index ffa24a2dd2bd8..612f530d4137e 100644 --- a/code/modules/cargo/packs/spacesuit_armor.dm +++ b/code/modules/cargo/packs/spacesuit_armor.dm @@ -138,7 +138,7 @@ /datum/supply_pack/spacesuit_armor/marine_armor name = "Tactical Armor Crate" - desc = "One set of well-rounded, tactical body armor. The set includes a helmet and vest." + desc = "One set of well-rounded tactical armor. While it does not protect the limbs, the vest is fairly durable. The set includes a helmet and vest." cost = 1500 contains = list(/obj/item/clothing/suit/armor/vest/marine, /obj/item/clothing/head/helmet/marine) @@ -147,8 +147,8 @@ /datum/supply_pack/spacesuit_armor/medium_marine_armor name = "Medium Tactical Armor Crate" - desc = "One set of well-rounded medium tactical body armor. The set includes a helmet and vest." - cost = 2000 + desc = "One set of well-rounded medium tactical body armor. Plates are attached to the vest and cover the limbs. The set includes a helmet and chestpiece." + cost = 3000 contains = list(/obj/item/clothing/suit/armor/vest/marine/medium, /obj/item/clothing/head/helmet/marine) crate_name = "armor crate" From f9c658e68eb433d68dd6382a13a2245c4d8913f8 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:41:44 -0500 Subject: [PATCH 13/37] frontiersmen turrets kill everything not in their faction (#3798) :cl: balance: frontiersmen turrets kill everything not in their faction /:cl: --- code/game/machinery/porta_turret/portable_turret.dm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/code/game/machinery/porta_turret/portable_turret.dm b/code/game/machinery/porta_turret/portable_turret.dm index 809fba0790bc6..3d4cbb79a6e5e 100644 --- a/code/game/machinery/porta_turret/portable_turret.dm +++ b/code/game/machinery/porta_turret/portable_turret.dm @@ -1082,6 +1082,9 @@ DEFINE_BITFIELD(turret_flags, list( shot_delay = 2 scan_range = 6 +/obj/machinery/porta_turret/ship/frontiersmen/assess_perp(mob/living/carbon/human/perp) + return 10 //Syndicate turrets shoot everything not in their faction //this needs to be default behavior and im gonna refactor it soon + /obj/machinery/porta_turret/ship/frontiersmen/light name = "Pounder Turret" desc = "A low caliber SMG with an atrociously high cycle rate, frankensteined together with a targetting assembly." From 76977cb26697d71310c5fcbc9b5be2dffc925656 Mon Sep 17 00:00:00 2001 From: Theos Date: Tue, 19 Nov 2024 18:44:15 -0500 Subject: [PATCH 14/37] Real 9mm fix (#3804) ## About The Pull Request Fixes #3772 ## Why It's Good For The Game ## Changelog :cl: fix: 9mm AP boxes now work right /:cl: --------- Signed-off-by: Theos --- _maps/RandomRuins/RockRuins/rockplanet_distillery.dmm | 2 +- _maps/shuttles/nanotrasen/nanotrasen_heron.dmm | 2 +- code/modules/cargo/packs/ammo.dm | 2 +- .../ammo_stacks/prefab_stacks/premade_pistol_stacks.dm | 8 ++++---- code/modules/research/designs/weapon_designs.dm | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm index 67eb3e648365e..ed1febb808b27 100644 --- a/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm +++ b/_maps/RandomRuins/RockRuins/rockplanet_distillery.dmm @@ -3073,7 +3073,7 @@ pixel_x = -3 }, /obj/item/ammo_box/magazine/illestren_a850r, -/obj/item/storage/box/ammo/c9mm/ap, +/obj/item/storage/box/ammo/c9mm_ap, /obj/item/ammo_box/magazine/illestren_a850r, /obj/item/ammo_box/magazine/co9mm{ start_empty = 1 diff --git a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm index 538c5717a8404..feef647c11424 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_heron.dmm @@ -13080,7 +13080,7 @@ /obj/item/storage/box/ammo/c9mm, /obj/item/storage/box/ammo/c9mm, /obj/item/storage/box/ammo/c9mm, -/obj/item/storage/box/ammo/c9mm/ap, +/obj/item/storage/box/ammo/c9mm_ap, /obj/item/stock_parts/cell/gun{ pixel_x = -3; pixel_y = -5 diff --git a/code/modules/cargo/packs/ammo.dm b/code/modules/cargo/packs/ammo.dm index 5ebf45ef1d857..9047120b6afaf 100644 --- a/code/modules/cargo/packs/ammo.dm +++ b/code/modules/cargo/packs/ammo.dm @@ -30,7 +30,7 @@ /datum/supply_pack/ammo/c9mmap_ammo_box name = "9mm AP Ammo Box Crate" desc = "Contains a 48-round 9mm box loaded with armor piercing ammo." - contains = list(/obj/item/storage/box/ammo/c9mm/ap) + contains = list(/obj/item/storage/box/ammo/c9mm_ap) cost = 400 /datum/supply_pack/ammo/c9mmhp_ammo_box diff --git a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm index 68ae4e2236ba4..10c944b98d93a 100644 --- a/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm +++ b/code/modules/projectiles/boxes_magazines/ammo_stacks/prefab_stacks/premade_pistol_stacks.dm @@ -115,18 +115,18 @@ /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/surplus = 48) generate_items_inside(items_inside,src) -/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_ap +/obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap ammo_type = /obj/item/ammo_casing/c9mm/ap -/obj/item/storage/box/ammo/c9mm/ap +/obj/item/storage/box/ammo/c9mm_ap name = "box of AP 9mm ammo" desc = "A box of 9mm armor-piercing ammo, designed to penetrate through armor at the cost of total damage." icon_state = "9mmbox-ap" -/obj/item/storage/box/ammo/c9mm/ap/PopulateContents() +/obj/item/storage/box/ammo/c9mm_ap/PopulateContents() ..() var/static/items_inside = list( - /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm_ap = 4) + /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/ap = 4) generate_items_inside(items_inside,src) /obj/item/ammo_box/magazine/ammo_stack/prefilled/c9mm/hp diff --git a/code/modules/research/designs/weapon_designs.dm b/code/modules/research/designs/weapon_designs.dm index a07f9d96dd803..10d19097df569 100644 --- a/code/modules/research/designs/weapon_designs.dm +++ b/code/modules/research/designs/weapon_designs.dm @@ -388,7 +388,7 @@ id = "ap9mm" build_type = PROTOLATHE materials = list(/datum/material/iron = 15000, /datum/material/uranium = 1000) - build_path = /obj/item/storage/box/ammo/c9mm/ap + build_path = /obj/item/storage/box/ammo/c9mm_ap category = list("Ammo") departmental_flags = DEPARTMENTAL_FLAG_SECURITY From c60342fa260a6bacbe8d00fdbb5e282143d362c8 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 18:45:47 -0600 Subject: [PATCH 15/37] Automatic changelog generation for PR #3765 [ci skip] --- html/changelogs/AutoChangeLog-pr-3765.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3765.yml diff --git a/html/changelogs/AutoChangeLog-pr-3765.yml b/html/changelogs/AutoChangeLog-pr-3765.yml new file mode 100644 index 0000000000000..3060816ba7f06 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3765.yml @@ -0,0 +1,4 @@ +author: Sadhorizon +changes: + - {code_imp: Added a Hardliner faction datum.} +delete-after: true From fbac27e8c6c04b4621670de1f587d140941f3736 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 18:46:54 -0600 Subject: [PATCH 16/37] Automatic changelog generation for PR #3781 [ci skip] --- html/changelogs/AutoChangeLog-pr-3781.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3781.yml diff --git a/html/changelogs/AutoChangeLog-pr-3781.yml b/html/changelogs/AutoChangeLog-pr-3781.yml new file mode 100644 index 0000000000000..f3817539bf036 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3781.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {balance: medium marine armor now costs 3k at da outpost.} +delete-after: true From 4cdf9d60e8ebc70725c3ddde6c616b1697e9bd47 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 18:48:11 -0600 Subject: [PATCH 17/37] Automatic changelog generation for PR #3798 [ci skip] --- html/changelogs/AutoChangeLog-pr-3798.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3798.yml diff --git a/html/changelogs/AutoChangeLog-pr-3798.yml b/html/changelogs/AutoChangeLog-pr-3798.yml new file mode 100644 index 0000000000000..63d89bc10a7af --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3798.yml @@ -0,0 +1,4 @@ +author: Erikafox +changes: + - {balance: frontiersmen turrets kill everything not in their faction} +delete-after: true From 73c1b87cd583815bd59b4ba9a6033fd2d11e3f26 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 18:48:35 -0600 Subject: [PATCH 18/37] Automatic changelog generation for PR #3804 [ci skip] --- html/changelogs/AutoChangeLog-pr-3804.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3804.yml diff --git a/html/changelogs/AutoChangeLog-pr-3804.yml b/html/changelogs/AutoChangeLog-pr-3804.yml new file mode 100644 index 0000000000000..d77924bafab48 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3804.yml @@ -0,0 +1,4 @@ +author: SomeguyManperson +changes: + - {bugfix: 9mm AP boxes now work right} +delete-after: true From 689271afde2e7710e13112a82546f53e1d548420 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 20 Nov 2024 01:40:57 +0000 Subject: [PATCH 19/37] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3708.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3765.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3769.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3777.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3780.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3781.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3798.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3804.yml | 4 ---- html/changelogs/archive/2024-11.yml | 15 +++++++++++++++ 9 files changed, 15 insertions(+), 34 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3708.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3765.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3769.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3777.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3780.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3781.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3798.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3804.yml diff --git a/html/changelogs/AutoChangeLog-pr-3708.yml b/html/changelogs/AutoChangeLog-pr-3708.yml deleted file mode 100644 index 394b2353a7999..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-3708.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: generalthrax -changes: - - {balance: Replaced rubbershot on the Kilo and Scarab with buckshot} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3765.yml b/html/changelogs/AutoChangeLog-pr-3765.yml deleted file mode 100644 index 3060816ba7f06..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-3765.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Sadhorizon -changes: - - {code_imp: Added a Hardliner faction datum.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3769.yml b/html/changelogs/AutoChangeLog-pr-3769.yml deleted file mode 100644 index 45bb017b221f0..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-3769.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Erikafox -changes: - - {bugfix: crate shelves now return all metal} - - {bugfix: crate shelves no longer lead to 0 metal stacks} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3777.yml b/html/changelogs/AutoChangeLog-pr-3777.yml deleted file mode 100644 index 8d172cf509ee8..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-3777.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: generalthrax -changes: - - {rscadd: Added a soft suit to the Listening Post} - - {bugfix: Fixed the Listening Post Comms Monitor to be the right type} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3780.yml b/html/changelogs/AutoChangeLog-pr-3780.yml deleted file mode 100644 index ebf469d08dd44..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-3780.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {bugfix: Cthonian Platforms now have proper dirs} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3781.yml b/html/changelogs/AutoChangeLog-pr-3781.yml deleted file mode 100644 index f3817539bf036..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-3781.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {balance: medium marine armor now costs 3k at da outpost.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3798.yml b/html/changelogs/AutoChangeLog-pr-3798.yml deleted file mode 100644 index 63d89bc10a7af..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-3798.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Erikafox -changes: - - {balance: frontiersmen turrets kill everything not in their faction} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3804.yml b/html/changelogs/AutoChangeLog-pr-3804.yml deleted file mode 100644 index d77924bafab48..0000000000000 --- a/html/changelogs/AutoChangeLog-pr-3804.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: SomeguyManperson -changes: - - {bugfix: 9mm AP boxes now work right} -delete-after: true diff --git a/html/changelogs/archive/2024-11.yml b/html/changelogs/archive/2024-11.yml index a2a0bea0329a1..5921ea671719f 100644 --- a/html/changelogs/archive/2024-11.yml +++ b/html/changelogs/archive/2024-11.yml @@ -204,3 +204,18 @@ - rscadd: Four new hats for your blorbo customization! Find them in loadout. Sponsored by Miskilamo Shipbreaking. - bugfix: Vox Frontiersmen Officers finally stitched up their clothing. +2024-11-20: + Erikafox: + - balance: frontiersmen turrets kill everything not in their faction + - balance: medium marine armor now costs 3k at da outpost. + - bugfix: crate shelves now return all metal + - bugfix: crate shelves no longer lead to 0 metal stacks + - bugfix: Cthonian Platforms now have proper dirs + Sadhorizon: + - code_imp: Added a Hardliner faction datum. + SomeguyManperson: + - bugfix: 9mm AP boxes now work right + generalthrax: + - balance: Replaced rubbershot on the Kilo and Scarab with buckshot + - rscadd: Added a soft suit to the Listening Post + - bugfix: Fixed the Listening Post Comms Monitor to be the right type From 0fc3e597841509c64e85411b16ce75ff14473ba0 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:52:28 -0500 Subject: [PATCH 20/37] projectiles no longer trigger prox sensors (#3774) :cl: balance: projectiles no longer trigger prox sensors /:cl: --- code/modules/assembly/proximity.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/assembly/proximity.dm b/code/modules/assembly/proximity.dm index 1162f1d3b6cfc..7368e05f1b440 100644 --- a/code/modules/assembly/proximity.dm +++ b/code/modules/assembly/proximity.dm @@ -71,7 +71,7 @@ return secured /obj/item/assembly/prox_sensor/HasProximity(atom/movable/AM as mob|obj) - if (istype(AM, /obj/effect/beam)) + if(istype(AM, /obj/effect/beam) || istype(AM, /obj/projectile) || istype(AM, /obj/effect/projectile)) return sense() From fdf91d5b5800c5af32eea2865a98126d87792c03 Mon Sep 17 00:00:00 2001 From: Theos Date: Tue, 19 Nov 2024 18:54:12 -0500 Subject: [PATCH 21/37] Bandage lifespan no longer scales with bleeding speed (#3784) ## About The Pull Request Bandage lifespan is now a flat 1 point = 1 tick of bleed staunching instead of also being reduced by the current bloodloss speed ## Why It's Good For The Game Didn't scale well with higher speeds of bleeding, effectively making them unmanageable since the rate of bleed healing is balanced around casual bloodloss and not ranked and competitive bloodloss ## Changelog :cl: balance: bandages will no longer fall off faster with more bleeding /:cl: Signed-off-by: Theos --- code/datums/components/bandage.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/datums/components/bandage.dm b/code/datums/components/bandage.dm index 16f6a2f0b0596..05a31ec4ee321 100644 --- a/code/datums/components/bandage.dm +++ b/code/datums/components/bandage.dm @@ -41,7 +41,7 @@ SIGNAL_HANDLER var/obj/item/bodypart/heal_target = parent - lifespan -= 1 + heal_target.bleeding // particularly nasty bleeding can burn through dressing faster + lifespan-- heal_target.adjust_bleeding(-bleed_reduction) if(lifespan <= 0 || !heal_target.bleeding) //remove treatment once it's no longer able to treat drop_bandage(TRUE) From fa506cee39204358b2f616e24d5feadf4ab2fc6d Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:55:16 -0500 Subject: [PATCH 22/37] wasteplanet walls SUCJK (#3748) :cl: add: walls on wasteworlds now have a chance to start damaged balance: walls on waste worlds are now universally weaker /:cl: --- .../turfs/open/floor/plating/wasteplanet.dm | 43 +++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/code/game/turfs/open/floor/plating/wasteplanet.dm b/code/game/turfs/open/floor/plating/wasteplanet.dm index 6de774313697b..250ab5f45569d 100644 --- a/code/game/turfs/open/floor/plating/wasteplanet.dm +++ b/code/game/turfs/open/floor/plating/wasteplanet.dm @@ -266,19 +266,62 @@ //closed turfs are a thing /turf/closed/wall/r_wall/wasteplanet + max_integrity = 800 + integrity = 800 baseturfs = /turf/open/floor/plating/wasteplanet +/turf/closed/wall/r_wall/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(200,400)) + + /turf/closed/wall/r_wall/rust/wasteplanet + max_integrity = 600 + integrity = 600 baseturfs = /turf/open/floor/plating/wasteplanet/rust +/turf/closed/wall/r_wall/rust/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,400)) + /turf/closed/wall/wasteplanet + max_integrity = 200 + integrity = 200 baseturfs = /turf/open/floor/plating/wasteplanet +/turf/closed/wall/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,150)) + /turf/closed/wall/rust/wasteplanet + max_integrity = 100 + integrity = 100 baseturfs = /turf/open/floor/plating/wasteplanet/rust +/turf/closed/wall/rust/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,100)) + /turf/closed/wall/concrete/wasteplanet + max_integrity = 200 + integrity = 200 baseturfs = /turf/open/floor/concrete/wasteplanet +/turf/closed/wall/concrete/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,100)) + /turf/closed/wall/concrete/reinforced/wasteplanet + max_integrity = 700 + integrity = 700 baseturfs = /turf/open/floor/concrete/wasteplanet + +/turf/closed/wall/concrete/reinforced/wasteplanet/Initialize(mapload, inherited_virtual_z) + . = ..() + if(prob(25)) + alter_integrity(-rand(0,500)) From a7e0f5397d3a441ddb74dcfdad57ef0202c8912a Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 20:12:15 -0600 Subject: [PATCH 23/37] Automatic changelog generation for PR #3748 [ci skip] --- html/changelogs/AutoChangeLog-pr-3748.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3748.yml diff --git a/html/changelogs/AutoChangeLog-pr-3748.yml b/html/changelogs/AutoChangeLog-pr-3748.yml new file mode 100644 index 0000000000000..df756af885bff --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3748.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {rscadd: walls on wasteworlds now have a chance to start damaged} + - {balance: walls on waste worlds are now universally weaker} +delete-after: true From a935639fe6b6a6b09b03ab2d5c7aa059bdb053d3 Mon Sep 17 00:00:00 2001 From: firebudgy <153147550+firebudgy@users.noreply.github.com> Date: Tue, 19 Nov 2024 15:59:21 -0800 Subject: [PATCH 24/37] Sound Enabling: Vox Screaming (#3778) ## About The Pull Request Within the files there existed a sound effect for Vox screaming, but for one reason or another it was never actually enabled for them. This fixes that. ## Why It's Good For The Game More species being able to scream in pain after getting an arm torn off is good. ## Changelog :cl: add: Enabled thee screaming audio emote for Vox. /:cl: --- code/modules/mob/living/carbon/human/emote.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/mob/living/carbon/human/emote.dm b/code/modules/mob/living/carbon/human/emote.dm index da75efa5265ae..f973a2b7a5905 100644 --- a/code/modules/mob/living/carbon/human/emote.dm +++ b/code/modules/mob/living/carbon/human/emote.dm @@ -67,6 +67,8 @@ return pick('sound/voice/human/malescream_1.ogg', 'sound/voice/human/malescream_2.ogg', 'sound/voice/human/malescream_3.ogg', 'sound/voice/human/malescream_4.ogg', 'sound/voice/human/malescream_5.ogg', 'sound/voice/human/malescream_6.ogg') else if(ismoth(H)) return 'sound/voice/moth/scream_moth.ogg' + else if(isvox(H)) + return 'sound/voice/vox/vox_scream_1.ogg' else if(islizard(H)) return pick('sound/voice/lizard/lizard_scream_1.ogg', 'sound/voice/lizard/lizard_scream_2.ogg', 'sound/voice/lizard/lizard_scream_3.ogg', 'sound/voice/lizard/lizard_scream_4.ogg') From 5816d6cf9f4ff0869ee24c947c5fab432881f734 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 20:41:35 -0600 Subject: [PATCH 25/37] Automatic changelog generation for PR #3778 [ci skip] --- html/changelogs/AutoChangeLog-pr-3778.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3778.yml diff --git a/html/changelogs/AutoChangeLog-pr-3778.yml b/html/changelogs/AutoChangeLog-pr-3778.yml new file mode 100644 index 0000000000000..f7b17d97c3b62 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3778.yml @@ -0,0 +1,4 @@ +author: firebudgy +changes: + - {rscadd: Enabled thee screaming audio emote for Vox.} +delete-after: true From 79b886f651063bed3af115bbe1d8d61f1a62186a Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 20 Nov 2024 00:05:57 +0000 Subject: [PATCH 26/37] Bump cross-spawn from 7.0.3 to 7.0.6 in /tgui (#3808) Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
Changelog

Sourced from cross-spawn's changelog.

7.0.6 (2024-11-18)

Bug Fixes

  • update cross-spawn version to 7.0.5 in package-lock.json (f700743)

7.0.5 (2024-11-07)

Bug Fixes

  • fix escaping bug introduced by backtracking (640d391)

7.0.4 (2024-11-07)

Bug Fixes

Commits
  • 77cd97f chore(release): 7.0.6
  • 6717de4 chore: upgrade standard-version
  • f700743 fix: update cross-spawn version to 7.0.5 in package-lock.json
  • 9a7e3b2 chore: fix build status badge
  • 0852683 chore(release): 7.0.5
  • 640d391 fix: fix escaping bug introduced by backtracking
  • bff0c87 chore: remove codecov
  • a7c6abc chore: replace travis with github workflows
  • 9b9246e chore(release): 7.0.4
  • 5ff3a07 fix: disable regexp backtracking (#160)
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=cross-spawn&package-manager=npm_and_yarn&previous-version=7.0.3&new-version=7.0.6)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) ---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) You can disable automated security fix PRs for this repo from the [Security Alerts page](https://github.com/shiptest-ss13/Shiptest/network/alerts).
Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- tgui/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 0bbf5add1c915..eaeb92321e550 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -3661,13 +3661,13 @@ __metadata: linkType: hard "cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: path-key: ^3.1.0 shebang-command: ^2.0.0 which: ^2.0.1 - checksum: 671cc7c7288c3a8406f3c69a3ae2fc85555c04169e9d611def9a675635472614f1c0ed0ef80955d5b6d4e724f6ced67f0ad1bb006c2ea643488fcfef994d7f52 + checksum: 8d306efacaf6f3f60e0224c287664093fa9185680b2d195852ba9a863f85d02dcc737094c6e512175f8ee0161f9b87c73c6826034c2422e39de7d6569cf4503b languageName: node linkType: hard From ec04f91d113db50517facfecbfab677c24bf7ec6 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Tue, 19 Nov 2024 18:14:00 -0600 Subject: [PATCH 27/37] Succumb Code Touchup (#3711) ## About The Pull Request Touches up saycode related to succumbing just a little bit. Originally was intended to actually solve a problem, but it didn't, and I figured it was fine to add the tweaks I made anyways for the hell of it. Also made the dramatic "last words" screen text a bit more consistent. Yes, I know it was for drama reasons, but this is far better than having to use an entire get_hearers call for it, and I doubt anyone will notice a difference. ## Why It's Good For The Game Succumb code was kind of a mess, so I cleaned it up. Honestly, I don't think this should be in say() at all, but hey, I just work here. ## Changelog :cl: tweak: Whispering (as in, directly using the verb or typing `#` before your message) will now skip the succumb confirmation prompt, while normal talking will still continue to prompt if you want to succumb. /:cl: --------- Co-authored-by: Sun-Soaked <45698967+Sun-Soaked@users.noreply.github.com> --- code/_onclick/hud/alert.dm | 6 ++- code/modules/mob/living/living_say.dm | 60 +++++++++++++-------------- 2 files changed, 32 insertions(+), 34 deletions(-) diff --git a/code/_onclick/hud/alert.dm b/code/_onclick/hud/alert.dm index b5026c71247fa..5dacaec1b4cfd 100644 --- a/code/_onclick/hud/alert.dm +++ b/code/_onclick/hud/alert.dm @@ -420,9 +420,11 @@ or shoot a gun to move around via Newton's 3rd Law of Motion." return if (length(last_whisper)) - living_owner.dying_breath("[last_whisper]") living_owner.say("#[last_whisper]") - living_owner.succumb(whispered = length(last_whisper) > 0) + //Say handles everything else for us + return + + living_owner.succumb(FALSE) //ALIENS diff --git a/code/modules/mob/living/living_say.dm b/code/modules/mob/living/living_say.dm index 1e40ddf767046..2e0c07be8fd7b 100644 --- a/code/modules/mob/living/living_say.dm +++ b/code/modules/mob/living/living_say.dm @@ -57,7 +57,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( "รท" = MODE_VOCALCORDS )) -/mob/living/proc/Ellipsis(original_msg, chance = 50, keep_words) +/mob/living/proc/ellipsis(original_msg, chance = 50, keep_words) if(chance <= 0) return "..." if(chance >= 100) @@ -79,7 +79,7 @@ GLOBAL_LIST_INIT(department_radio_keys, list( return new_msg -/mob/living/say(message, bubble_type,list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) +/mob/living/say(message, bubble_type, list/spans = list(), sanitize = TRUE, datum/language/language = null, ignore_spam = FALSE, forced = null) var/ic_blocked = FALSE if(client && !forced && CHAT_FILTER_CHECK(message)) //The filter doesn't act on the sanitized message, but the raw message. @@ -112,8 +112,13 @@ GLOBAL_LIST_INIT(department_radio_keys, list( client?.dsay(message) return - // dead is the only state you can never emote - if(stat != DEAD && check_emote(original_message, forced)) + var/succumbed = FALSE + + if(stat == DEAD) + say_dead(original_message) + return + + if(check_emote(original_message, forced)) return switch(stat) @@ -123,11 +128,19 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(!(message_mods[MODE_CHANGELING] || message_mods[MODE_ALIEN])) return if(HARD_CRIT) - if(!(message_mods[WHISPER_MODE] || message_mods[MODE_CHANGELING] || message_mods[MODE_ALIEN])) + if(!(message_mods[MODE_CHANGELING] || message_mods[MODE_ALIEN])) + // If we cut our message short, abruptly end it with a-.. + var/message_len = length_char(message) + var/health_diff = round(-HEALTH_THRESHOLD_DEAD + health) + message = copytext_char(message, 1, health_diff) + (message_len > health_diff ? "-.." : "...") + message = ellipsis(message, 10, 1) + + //If the player didn't voluntarily whisper, we'll ask them to confirm their dying words + if(!message_mods[WHISPER_MODE] && (tgui_alert(src, "Your dying words will be \"[message]\", continue?", "Succumb", list("Cancel", "Continue"), 15 SECONDS) != "Continue")) + return + message_mods[WHISPER_MODE] = MODE_WHISPER_CRIT - if(DEAD) - say_dead(original_message) - return + succumbed = TRUE if(client && SSlag_switch.measures[SLOWMODE_SAY] && !HAS_TRAIT(src, TRAIT_BYPASS_MEASURES) && !forced && src == usr) if(!COOLDOWN_FINISHED(client, say_slowmode)) @@ -149,33 +162,20 @@ GLOBAL_LIST_INIT(department_radio_keys, list( var/message_range = 7 - var/succumbed = FALSE - if(message_mods[MODE_CUSTOM_SAY_EMOTE]) log_message(message_mods[MODE_CUSTOM_SAY_EMOTE], LOG_RADIO_EMOTE) if(!message_mods[MODE_CUSTOM_SAY_ERASE_INPUT]) - if(message_mods[WHISPER_MODE]) + //Final words (MODE_WHISPER_CRIT) are already obfuscated, let them have full range + if(message_mods[WHISPER_MODE] == MODE_WHISPER) if(saymode || message_mods[RADIO_EXTENSION]) //no radio while in crit saymode = null message_mods -= RADIO_EXTENSION message_range = 1 var/logged_message = message - if(stat == HARD_CRIT) //This is cheaper than checking for MODE_WHISPER_CRIT message mod - var/health_diff = round(-HEALTH_THRESHOLD_DEAD + health) - // If we cut our message short, abruptly end it with a-.. - var/message_len = length_char(message) - message = copytext_char(message, 1, health_diff) + "[message_len > health_diff ? "-.." : "..."]" - message = Ellipsis(message, 10, 1) - last_words = message - var/final_warning = alert(usr, "Your dying words will be \"[last_words]\", continue?", "Succumb", "Cancel", "Continue") - if(final_warning == "Cancel" || QDELETED(src)) - return - message_mods[WHISPER_MODE] = MODE_WHISPER_CRIT - succumbed = TRUE - src.log_talk(logged_message, LOG_WHISPER, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) + src.log_talk(logged_message, LOG_WHISPER, forced_by = forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) else - src.log_talk(message, LOG_SAY, forced_by=forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) + src.log_talk(message, LOG_SAY, forced_by = forced, custom_say_emote = message_mods[MODE_CUSTOM_SAY_EMOTE]) message = treat_message(message) // unfortunately we still need this var/sigreturn = SEND_SIGNAL(src, COMSIG_MOB_SAY, args) @@ -226,9 +226,8 @@ GLOBAL_LIST_INIT(department_radio_keys, list( send_speech(message, message_range, src, bubble_type, spans, language, message_mods) if(succumbed) - succumb(1) + succumb(TRUE) to_chat(src, compose_message(src, language, message, , spans, message_mods)) - dying_breath(message) return 1 @@ -249,6 +248,8 @@ GLOBAL_LIST_INIT(department_radio_keys, list( // Create map text prior to modifying message for goonchat if (client?.prefs.chat_on_map && !(stat == UNCONSCIOUS || stat == HARD_CRIT) && (client.prefs.see_chat_non_mob || ismob(speaker)) && can_hear()) + if(message_mods[MODE_WHISPER] == MODE_WHISPER_CRIT) + play_screen_text("message") if(message_mods[MODE_CUSTOM_SAY_ERASE_INPUT]) create_chat_message(speaker, null, message_mods[MODE_CUSTOM_SAY_EMOTE], spans, EMOTE_MESSAGE) else @@ -419,8 +420,3 @@ GLOBAL_LIST_INIT(department_radio_keys, list( if(get_minds && mind) return mind.get_language_holder() . = ..() - -/mob/living/proc/dying_breath(message) - for(var/mob/M in get_hearers_in_view(7, src)) - if(M.can_hear()) - M.play_screen_text("[message]") From c2ca384e6bf6b0fc4d290ffd700a9feee60af924 Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 19:18:27 -0500 Subject: [PATCH 28/37] increase plasmacutter price. reduce anglegrinder price (#3727) :cl: balance: plasma cutters r more expensive. balance: angle grinders are cheaper, and come with a bowman headset. /:cl: --------- Signed-off-by: Erika Fox <94164348+Erikafox@users.noreply.github.com> --- code/modules/cargo/packs/tools.dm | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/code/modules/cargo/packs/tools.dm b/code/modules/cargo/packs/tools.dm index 0cd01966b245e..830746d96fa4e 100644 --- a/code/modules/cargo/packs/tools.dm +++ b/code/modules/cargo/packs/tools.dm @@ -74,13 +74,6 @@ contains = list(/obj/item/pickaxe/drill/jackhammer) crate_name = "jackhammer crate" -/datum/supply_pack/tools/plasmacutter - name = "Plasmacutter Crate" - desc = "Contains a plasmacutter, capable of rapidly breaking down hull." - cost = 1250 - contains = list(/obj/item/gun/energy/plasmacutter) - crate_name = "plasmacutter crate" - /datum/supply_pack/tools/metalfoam name = "Metal Foam Grenade Crate" desc = "Seal up those pesky hull breaches with 7 metal foam grenades." @@ -112,10 +105,20 @@ /datum/supply_pack/tools/anglegrinder name = "Angle Grinder" desc = "Contains one angle grinder pack, a tool used for quick structure deconstruction and salvaging" - cost = 2000 - contains = list(/obj/item/gear_pack/anglegrinder) + cost = 1500 + contains = list( + /obj/item/gear_pack/anglegrinder, + /obj/item/radio/headset/alt + ) crate_name = "Angle Grinder" +/datum/supply_pack/tools/plasmacutter + name = "Plasmacutter Crate" + desc = "Contains a plasmacutter, capable of rapidly breaking down hull." + cost = 2500 + contains = list(/obj/item/gun/energy/plasmacutter) + crate_name = "plasmacutter crate" + /* Liquid tanks */ From 0965fff1e6e4c585b58a902bf6081c70d64fe507 Mon Sep 17 00:00:00 2001 From: generalthrax <139387950+generalthrax@users.noreply.github.com> Date: Tue, 19 Nov 2024 18:19:19 -0600 Subject: [PATCH 29/37] You can no longer see clothes through Blood Red Hardsuits (& others) (#3717) ## About The Pull Request Used to be able to see what someone was wearing underneath their hardsuit ## Why It's Good For The Game Oversight probably. I don't think the NGR / Hardliner / Ramzi hardsuits are supposed to have this var applied to them to begin with ## Changelog :cl: fix: You can no longer see through Marauder hardsuits /:cl: --- code/modules/clothing/factions/hardliners.dm | 2 -- code/modules/clothing/factions/ngr.dm | 1 - code/modules/clothing/spacesuits/hardsuit.dm | 1 - 3 files changed, 4 deletions(-) diff --git a/code/modules/clothing/factions/hardliners.dm b/code/modules/clothing/factions/hardliners.dm index ffa5a5e459ae7..83c00e64b89ef 100644 --- a/code/modules/clothing/factions/hardliners.dm +++ b/code/modules/clothing/factions/hardliners.dm @@ -126,7 +126,6 @@ icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/hl - lightweight = 1 jetpack = null /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/hl @@ -148,7 +147,6 @@ helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/elite/hl icon = 'icons/obj/clothing/faction/hardliners/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/hardliners/suits.dmi' - lightweight = 1 jetpack = null ///////// diff --git a/code/modules/clothing/factions/ngr.dm b/code/modules/clothing/factions/ngr.dm index cdf1f0bdc96f1..366fa3b37cfe8 100644 --- a/code/modules/clothing/factions/ngr.dm +++ b/code/modules/clothing/factions/ngr.dm @@ -138,7 +138,6 @@ icon = 'icons/obj/clothing/faction/ngr/suits.dmi' mob_overlay_icon = 'icons/mob/clothing/faction/ngr/suits.dmi' helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/ngr - lightweight = 1 jetpack = null greyscale_colors = list("#33353a", "#d9ad82", "#8c1a34") diff --git a/code/modules/clothing/spacesuits/hardsuit.dm b/code/modules/clothing/spacesuits/hardsuit.dm index f806beca1e023..00e527a3161a4 100644 --- a/code/modules/clothing/spacesuits/hardsuit.dm +++ b/code/modules/clothing/spacesuits/hardsuit.dm @@ -436,7 +436,6 @@ item_state = "hardsuit1-ramzi" hardsuit_type = "ramzi" helmettype = /obj/item/clothing/head/helmet/space/hardsuit/syndi/ramzi - lightweight = 1 jetpack = null armor = list("melee" = 35, "bullet" = 25, "laser" = 20,"energy" = 40, "bomb" = 10, "bio" = 100, "rad" = 50, "fire" = 75, "acid" = 75) slowdown = 0.7 From 3a1e9c9462e1f249524af167789e51429ba121f2 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 21:11:50 -0600 Subject: [PATCH 30/37] Automatic changelog generation for PR #3711 [ci skip] --- html/changelogs/AutoChangeLog-pr-3711.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3711.yml diff --git a/html/changelogs/AutoChangeLog-pr-3711.yml b/html/changelogs/AutoChangeLog-pr-3711.yml new file mode 100644 index 0000000000000..142a4c3d03ddc --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3711.yml @@ -0,0 +1,6 @@ +author: MarkSuckerberg +changes: + - {tweak: 'Whispering (as in, directly using the verb or typing `#` before your + message) will now skip the succumb confirmation prompt, while normal talking + will still continue to prompt if you want to succumb.'} +delete-after: true From ae678bbfd2e7951f0e8539570bf3053839f4dff4 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 21:13:22 -0600 Subject: [PATCH 31/37] Automatic changelog generation for PR #3717 [ci skip] --- html/changelogs/AutoChangeLog-pr-3717.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3717.yml diff --git a/html/changelogs/AutoChangeLog-pr-3717.yml b/html/changelogs/AutoChangeLog-pr-3717.yml new file mode 100644 index 0000000000000..c684df41e3612 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3717.yml @@ -0,0 +1,4 @@ +author: generalthrax +changes: + - {bugfix: You can no longer see through Marauder hardsuits} +delete-after: true From 04e55a07ce1f17d7b35aa86f62ae1dd4b804ce9a Mon Sep 17 00:00:00 2001 From: Burning02 <141873051+Burning02@users.noreply.github.com> Date: Tue, 19 Nov 2024 19:20:31 -0500 Subject: [PATCH 32/37] Adds NVG's to the outpost market (#3616) ## About The Pull Request Adds Night vision goggles to the outpost, for 1000 credits a pop. ## Why It's Good For The Game Currently as it is, night vision goggles are inaccessible player wise unless your ship spawned with them, or you had found RnD in one of the few ruins left behind with them. With this PR, it adds them to the outpost cargo, which allows players to buy them without such needs. Night vision goggles add to PvP a different field of combat with other hostile vessels, which include ambushes or as we have seen with a recent round, potential traps for the opposing side to fall into. Another aspect is their use in exploration and potential PvE encounters, like deep drills in caves or asteroids, or ruin exploration for ruins that either start with low/no power or have no functional lights for the explorers to see. ## Changelog :cl: add: Night vision goggles are now purchasable via the outpost for 1000 credits /:cl: --- code/modules/cargo/packs/exploration.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/code/modules/cargo/packs/exploration.dm b/code/modules/cargo/packs/exploration.dm index a350fd3231462..3a02f59c9b7a4 100644 --- a/code/modules/cargo/packs/exploration.dm +++ b/code/modules/cargo/packs/exploration.dm @@ -97,3 +97,11 @@ /obj/item/storage/box/flares, /obj/item/storage/box/flares, ) + +/datum/supply_pack/exploration/nvg + name = "Night Vision Goggles" + desc = "Contains a singular pair of Night Vision Goggles, for all your spelunking and military LARP occasions." + cost = 1000 + contains = list( + /obj/item/clothing/glasses/night + ) From e0a0a7bc5414328b4fe71d618704bb6e103df78e Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Erikafox@users.noreply.github.com> Date: Tue, 19 Nov 2024 19:26:24 -0500 Subject: [PATCH 33/37] Moves more fax things around (#3756) :cl: add: fax secret documents add: and space cash and biscuit folders. without /:cl: --- code/modules/paperwork/fax.dm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/code/modules/paperwork/fax.dm b/code/modules/paperwork/fax.dm index 90fdeb79af9c3..c0b137ca23006 100644 --- a/code/modules/paperwork/fax.dm +++ b/code/modules/paperwork/fax.dm @@ -34,6 +34,9 @@ /obj/item/paper, /obj/item/photo, /obj/item/holochip, + /obj/item/folder/biscuit, + /obj/item/spacecash, + /obj/item/documents, ) /// List of types which should be allowed to be faxed if hacked var/static/list/exotic_types = list( @@ -47,9 +50,7 @@ /obj/item/reagent_containers/food/snacks/raisincookie, /obj/item/reagent_containers/food/snacks/pancakes, /obj/item/throwing_star, - /obj/item/spacecash, /obj/item/card, - /obj/item/folder/biscuit ) /// Internal radio for announcing over comms var/obj/item/radio/radio From 5395c23705205a7e85f2f7f54209945ef99fd3ae Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 21:42:39 -0600 Subject: [PATCH 34/37] Automatic changelog generation for PR #3756 [ci skip] --- html/changelogs/AutoChangeLog-pr-3756.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3756.yml diff --git a/html/changelogs/AutoChangeLog-pr-3756.yml b/html/changelogs/AutoChangeLog-pr-3756.yml new file mode 100644 index 0000000000000..8f50d6d15799e --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3756.yml @@ -0,0 +1,5 @@ +author: Erikafox +changes: + - {rscadd: fax secret documents} + - {rscadd: and space cash and biscuit folders. without} +delete-after: true From 4b31d928de08026bd9b189870048995ca36277a7 Mon Sep 17 00:00:00 2001 From: fighterslam <56803762+fighterslam@users.noreply.github.com> Date: Tue, 19 Nov 2024 20:07:38 -0600 Subject: [PATCH 35/37] Ranger Minor Fixes (#3794) ## About The Pull Request My stupid ass messed up the access requirements on the armory, so I've fixed that in this PR and added the vigilitas gas masks that were brought to my attention. ## Why It's Good For The Game ## Changelog :cl: fix: fixes access on the ranger armory /:cl: --- .../shuttles/nanotrasen/nanotrasen_ranger.dmm | 97 ++++++++++++------- 1 file changed, 63 insertions(+), 34 deletions(-) diff --git a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm index 76847f40a3dcf..b38ddeee98921 100644 --- a/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm +++ b/_maps/shuttles/nanotrasen/nanotrasen_ranger.dmm @@ -344,6 +344,11 @@ /obj/effect/turf_decal/techfloor{ dir = 1 }, +/obj/item/radio/weather_monitor{ + pixel_x = 25; + anchored = 1; + name = "barometric monitor" + }, /turf/open/floor/circuit/telecomms, /area/ship/science/ai_chamber) "cN" = ( @@ -463,9 +468,7 @@ }, /obj/effect/turf_decal/trimline/opaque/vired/arrow_ccw, /obj/machinery/light/dim/directional/north, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "dC" = ( /obj/effect/turf_decal/ntspaceworks_small/right, @@ -590,9 +593,7 @@ /obj/machinery/advanced_airlock_controller{ pixel_y = 24 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "eD" = ( /obj/machinery/power/apc/auto_name/directional/west, @@ -694,10 +695,10 @@ dir = 1 }, /obj/structure/platform/industrial{ - dir = 8 + dir = 4 }, /obj/structure/platform/industrial/corner{ - dir = 9 + dir = 8 }, /turf/open/floor/plasteel/dark, /area/ship/bridge) @@ -987,6 +988,7 @@ /obj/machinery/airalarm/directional/south, /obj/item/clothing/head/nanotrasen/beret/security/command, /obj/item/clothing/suit/armor/nanotrasen/sec_director, +/obj/item/clothing/under/nanotrasen/security/director, /turf/open/floor/wood, /area/ship/crew/dorm/captain) "hz" = ( @@ -1000,7 +1002,9 @@ /area/ship/crew/specialized/engineering) "hF" = ( /obj/machinery/light/dim/directional/north, -/obj/structure/closet/secure_closet/armorycage, +/obj/structure/closet/secure_closet/armorycage{ + req_access = list(1) + }, /obj/effect/turf_decal/industrial/fire, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 5 @@ -1402,7 +1406,7 @@ }, /obj/item/paper{ name = "NT Spaceworks Notice"; - default_raw_text = "Dear engineer, please bring your attention to the advanced control mechanisms present on and around this console. There is an external lighting switch to toggle the vessel's exterior lighting, highlighted in yellow, an aiar alarm connected to this console which controls external atmospherics fittings, and the console itself, which can read external atmosphere from a main sensor affixed to the port-side hull. -NT Spaceworks" + default_raw_text = "Dear engineer, please bring your attention to the advanced control mechanisms present on and around this console. There is an external lighting switch to toggle the vessel's exterior lighting, highlighted in yellow, an air alarm connected to this console which controls external atmospherics fittings, and the console itself, which can read external atmosphere from a main sensor affixed to the fore of the vessel. -NT Spaceworks" }, /turf/open/floor/plasteel/mono/dark, /area/ship/external/dark) @@ -2035,9 +2039,7 @@ /obj/effect/turf_decal/techfloor{ dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "oq" = ( /obj/structure/cable/cyan{ @@ -2274,7 +2276,6 @@ /obj/machinery/camera/autoname{ dir = 1 }, -/obj/machinery/air_sensor/external, /obj/item/radio/intercom/directional/south, /obj/machinery/light/floor, /turf/open/floor/engine/hull, @@ -2636,9 +2637,7 @@ /obj/machinery/camera/autoname{ dir = 10 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "sJ" = ( /turf/closed/wall/mineral/titanium/nodiagonal, @@ -3432,6 +3431,7 @@ /obj/structure/cable{ icon_state = "4-8" }, +/obj/effect/decal/cleanable/plasma, /turf/open/floor/plasteel/tech, /area/ship/engineering/engines/port) "yf" = ( @@ -3661,7 +3661,8 @@ }, /obj/structure/filingcabinet/chestdrawer{ dir = 4; - pixel_x = -6 + pixel_x = -6; + density = 0 }, /obj/structure/cable{ icon_state = "4-8" @@ -3774,6 +3775,9 @@ }, /obj/structure/closet/cabinet, /obj/machinery/light/small/directional/south, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/science, +/obj/item/clothing/under/nanotrasen/medical/paramedic, /turf/open/floor/plasteel/tech, /area/ship/crew/specialized/medical) "AF" = ( @@ -4172,9 +4176,7 @@ /obj/effect/turf_decal/techfloor{ dir = 8 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "CW" = ( /obj/machinery/atmospherics/pipe/simple/scrubbers/hidden/layer4, @@ -4431,6 +4433,10 @@ }, /obj/machinery/power/apc/auto_name/directional/south, /obj/structure/cable, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/reagent_containers/food/drinks/waterbottle/large, +/obj/item/storage/ration/cheese_pizza_slice, +/obj/item/storage/ration/pepperoni_pizza_slice, /turf/open/floor/plasteel/tech, /area/ship/cargo) "EE" = ( @@ -5525,6 +5531,8 @@ pixel_y = -10 }, /obj/item/clothing/suit/hooded/wintercoat, +/obj/item/storage/backpack/duffelbag, +/obj/item/storage/backpack/duffelbag, /turf/open/floor/plasteel/tech, /area/ship/engineering/engines/starboard) "MR" = ( @@ -5902,6 +5910,13 @@ }, /turf/open/floor/plasteel/dark, /area/ship/hallway/central) +"Pa" = ( +/obj/structure/catwalk/over/plated_catwalk/dark{ + name = "sensor protection plate" + }, +/obj/machinery/air_sensor/external, +/turf/open/floor/plasteel/telecomms_floor, +/area/ship/external/dark) "Pd" = ( /obj/machinery/atmospherics/pipe/simple/supply/hidden/layer2{ dir = 4 @@ -5972,6 +5987,11 @@ /obj/item/clothing/suit/hooded/wintercoat/engineering/atmos, /obj/machinery/airalarm/directional/north, /obj/machinery/light/small/directional/west, +/obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/science/robotics, +/obj/item/clothing/under/nanotrasen/engineering, +/obj/item/clothing/under/nanotrasen/engineering/atmos, +/obj/item/clothing/under/nanotrasen/engineering/director, /turf/open/floor/wood, /area/ship/crew/specialized/engineering) "PG" = ( @@ -6040,6 +6060,8 @@ /obj/machinery/camera/autoname{ dir = 6 }, +/obj/item/clothing/under/nanotrasen/supply, +/obj/item/clothing/under/nanotrasen/supply/miner, /turf/open/floor/plasteel/tech, /area/ship/crew/specialized/cargo) "PR" = ( @@ -6126,7 +6148,9 @@ /turf/open/floor/engine/hull, /area/ship/external/dark) "Rn" = ( -/obj/structure/closet/secure_closet/armorycage, +/obj/structure/closet/secure_closet/armorycage{ + req_access = list(1) + }, /obj/effect/turf_decal/industrial/fire, /obj/effect/turf_decal/siding/thinplating/dark{ dir = 9 @@ -6147,14 +6171,6 @@ pixel_x = -1; pixel_y = 9 }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -10; - pixel_y = -14 - }, -/obj/item/clothing/mask/gas/sechailer{ - pixel_x = -1; - pixel_y = -14 - }, /obj/item/flashlight/seclite{ pixel_x = 5; pixel_y = 4 @@ -6169,6 +6185,18 @@ pixel_x = 5; pixel_y = -11 }, +/obj/item/clothing/mask/gas/vigilitas, +/obj/item/clothing/mask/gas/vigilitas, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -1; + pixel_y = -14; + name = "half-mask respirator" + }, +/obj/item/clothing/mask/gas/sechailer{ + pixel_x = -1; + pixel_y = -14; + name = "half-mask respirator" + }, /turf/open/floor/plasteel/tech, /area/ship/storage/equip) "Ro" = ( @@ -6200,9 +6228,7 @@ /obj/effect/turf_decal/techfloor{ dir = 4 }, -/turf/open/floor/plasteel/tech/techmaint{ - color = "#a8b2b6" - }, +/turf/open/floor/plasteel/tech, /area/ship/hallway/central) "RM" = ( /obj/structure/chair/sofa/brown/left/directional/west, @@ -6893,6 +6919,7 @@ /obj/item/clothing/shoes/sneakers/black{ pixel_y = -10 }, +/obj/item/clothing/suit/hooded/wintercoat, /turf/open/floor/plasteel/dark, /area/ship/crew/cryo) "XL" = ( @@ -7203,6 +7230,8 @@ /obj/machinery/firealarm/directional/west, /obj/item/clothing/head/nanotrasen/beret/security, /obj/item/clothing/head/nanotrasen/cap/security, +/obj/item/clothing/under/nanotrasen/security, +/obj/item/clothing/under/nanotrasen/security/director, /turf/open/floor/plasteel/tech, /area/ship/crew/specialized/security) "Zw" = ( @@ -8627,7 +8656,7 @@ zW zW zW zW -wq +Pa zW Lk LU From befda6fac1d7d840403b8f29cb22d337d2e70b29 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 19 Nov 2024 22:03:30 -0600 Subject: [PATCH 36/37] Automatic changelog generation for PR #3794 [ci skip] --- html/changelogs/AutoChangeLog-pr-3794.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3794.yml diff --git a/html/changelogs/AutoChangeLog-pr-3794.yml b/html/changelogs/AutoChangeLog-pr-3794.yml new file mode 100644 index 0000000000000..4b285cc0f8410 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3794.yml @@ -0,0 +1,4 @@ +author: fighterslam +changes: + - {bugfix: fixes access on the ranger armory} +delete-after: true From a18ed3ca3ab0ebe0829b1e02e9017eb59b9c3017 Mon Sep 17 00:00:00 2001 From: Mark Suckerberg Date: Tue, 19 Nov 2024 23:16:25 -0600 Subject: [PATCH 37/37] Auxmos update and potential fix (incredibly mergeable) (#3764) ## About The Pull Request Updates to the latest version of auxmos, and switches (temporarily) to a branch with a fix I added to auxmos to potentially stop the runtimes we're getting. Here's hoping at least ## Why It's Good For The Game These runtimes are the bane of everyone ## Changelog :cl: /:cl: --- auxmos.dll | Bin 715776 -> 772096 bytes code/__HELPERS/bindings.dm | 67 +++++++++++++++++- code/controllers/subsystem/air.dm | 2 + code/game/objects/effects/turf_fire.dm | 25 ++++--- code/game/turfs/open/_open.dm | 2 +- code/game/turfs/turf.dm | 2 +- .../environmental/LINDA_turf_tile.dm | 6 +- .../atmospherics/gasmixtures/gas_mixture.dm | 2 - dependencies.sh | 4 +- tools/ci/build_auxmos.sh | 4 +- tools/tgs_scripts/PreCompile.sh | 2 +- 11 files changed, 92 insertions(+), 24 deletions(-) diff --git a/auxmos.dll b/auxmos.dll index 0df77c97b287407c45b572918ffeb8fa3e34810b..ae9b9dbf52947e32e84ee0538822194c0a71d0eb 100644 GIT binary patch literal 772096 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�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