From e02e490521fd1a21e021065d07ad31690d8008da Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 13 Sep 2024 00:59:41 +0000 Subject: [PATCH 01/28] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3336.yml | 9 --------- html/changelogs/archive/2024-09.yml | 7 +++++++ 2 files changed, 7 insertions(+), 9 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3336.yml diff --git a/html/changelogs/AutoChangeLog-pr-3336.yml b/html/changelogs/AutoChangeLog-pr-3336.yml deleted file mode 100644 index 4d8aae8b4a5d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3336.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: retlaw34, rye-rice, Apogee-dev, generalthrax, Tamamitsune, Nitha(emotional - support) -changes: - - {rscadd: Scarborough Arms for every syndicate faction} - - {rscadd: New sounds for the commander} - - {balance: scout's price has been reduced slightly} - - {rscdel: Donksoft toy guns} - - {bugfix: You can no longer attach shit to revolvers} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index ec4e60a8effb..f95d157a458c 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -69,3 +69,10 @@ - rscdel: Removed the Tribal crafting tab (some items were moved to other tabs). - rscdel: Removed bone club, skull helmet and bone armor from the bone construction menu. +2024-09-13: + retlaw34, rye-rice, Apogee-dev, generalthrax, Tamamitsune, Nitha(emotional support): + - rscadd: Scarborough Arms for every syndicate faction + - rscadd: New sounds for the commander + - balance: scout's price has been reduced slightly + - rscdel: Donksoft toy guns + - bugfix: You can no longer attach shit to revolvers From 0aa203535aaf0048f34af45a6b8851e98464585a Mon Sep 17 00:00:00 2001 From: Byemoh Date: Fri, 13 Sep 2024 04:10:35 -0500 Subject: [PATCH 02/28] Fixes Centcom Ban DB erroring out with bad index (#3337) ## About The Pull Request BYOND 515 "fixes" an undocumented feature where vars can be accessed on objects by accessing them like a list. I fix this on Yogstation too so I might as well port it here cause you guys are nice (hi shiptest!) https://github.com/yogstation13/Yogstation/pull/22586 ## Why It's Good For The Game We should be able to use this if we have it! ## Changelog :cl: fix: Centcom Ban DB is now accessible again through PP /:cl: --- code/modules/admin/topic.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index d17583060942..927120f94a9d 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1973,7 +1973,7 @@ if(response.body == "[]") dat += "
0 bans detected for [ckey]
" else - bans = json_decode(response["body"]) + bans = json_decode(response.body) //Ignore bans from non-whitelisted sources, if a whitelist exists var/list/valid_sources From fe5f948ea29f3bbae3a956fcbda4a3554735e196 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 13 Sep 2024 04:21:45 -0500 Subject: [PATCH 03/28] Automatic changelog generation for PR #3337 [ci skip] --- html/changelogs/AutoChangeLog-pr-3337.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3337.yml diff --git a/html/changelogs/AutoChangeLog-pr-3337.yml b/html/changelogs/AutoChangeLog-pr-3337.yml new file mode 100644 index 000000000000..502921cf17bd --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3337.yml @@ -0,0 +1,4 @@ +author: ToasterBiome +changes: + - {bugfix: Centcom Ban DB is now accessible again through PP} +delete-after: true From ac2885c87b72fe3dd85c3c8ba6f4aaa69fd3c10b Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Fri, 13 Sep 2024 04:52:35 -0500 Subject: [PATCH 04/28] fixes no emergency sprite for floor lights (#3349) ## About The Pull Request floor lights can no longer go emergency as they do not currently have sprites for it ## Why It's Good For The Game no more invisable lights ## Changelog :cl: fix: no emergency for floor lights untill someone adds a sprite for them! /:cl: --- code/modules/power/lighting.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/code/modules/power/lighting.dm b/code/modules/power/lighting.dm index 530b3b8703fc..662bdbecc572 100644 --- a/code/modules/power/lighting.dm +++ b/code/modules/power/lighting.dm @@ -937,6 +937,7 @@ MAPPING_DIRECTIONAL_HELPERS(/obj/machinery/light/small/built, 28) layer = 2.5 light_type = /obj/item/light/bulb fitting = "bulb" + no_emergency = TRUE #undef LIGHT_DRAIN_TIME //WS Edit -- Ethereal Charge Scaling #undef LIGHT_POWER_GAIN //WS Edit -- Ethereal Charge Scaling From 95f5db8454647674f0d660f9902157aedd61efba Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 13 Sep 2024 05:03:36 -0500 Subject: [PATCH 05/28] Automatic changelog generation for PR #3349 [ci skip] --- html/changelogs/AutoChangeLog-pr-3349.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3349.yml diff --git a/html/changelogs/AutoChangeLog-pr-3349.yml b/html/changelogs/AutoChangeLog-pr-3349.yml new file mode 100644 index 000000000000..38a6c4127d38 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3349.yml @@ -0,0 +1,4 @@ +author: FalloutFalcon +changes: + - {bugfix: no emergency for floor lights untill someone adds a sprite for them!} +delete-after: true From 647183dad5f06e6acb030170aed355800a4de9b2 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Fri, 13 Sep 2024 02:54:43 -0700 Subject: [PATCH 06/28] New items and rebalances for Outpost Cargo Exploration Tab + Underground Scanner detection change (#3328) ## About The Pull Request Rebalances the prices of old packs in the exploration tab, and adds some new items. - Lava Exploration Kit: Price: 1500 -> 500, adds two pocket extinguishers - Ice Exploration Kit: Price: 1500 -> 500, swaps out the boots for ice hiking boots, adds two winter coats - Jungle Exploration Ki: Price: 750-> 500, adds two lanterns - Bluespace shelter capsules: Price: 3000 -> 500, only contains a single capsule now Adds some new packs: - Lavaproof rods crate, 200 credits - Binoculars 200 credits - Deep core drill scanner, 250 credits - Anomaly neutralizer, 250 credits - GPS, 100 credits You can now click a vein with a deep core scanner on harm intent so the scanner no longer picks it up, or hit it again to readd it to tracking. The deep core scanner fits in explorer webbing storage and explorer suits. ## Why It's Good For The Game A lot of the exploration packs were comically overcosted for what they were. For 1500, the ice exploration pack got you.... two pickaxes, boots that didnt protect from the ice, and cosmetic goggles. For 1500 you could get two actual mining crates which would serve you a lot better. The new prices should hopefully make them more worthwhile purchases. The new packs are meant to be generally useful items to aid in exploration. Lavaproof rods are a useful, if niche nice to have if you're penned in by lava. Binocs and GPS are good for general exploration. Anomaly neutralizers are handy for difficult anomalies that hard or impossible to approach normally. Case in point: https://github.com/user-attachments/assets/cabbdb99-d425-4227-863b-ffdd6549fff1 Adds the deep core mining scanner as an individual purchase so you don't have to pay a 1000 credit buy in for the drill if you only intend to do missions. Detectability changes for veins are meant to be QOL, and streamline finding the type of vein you want, as you can now remove unwanted veins from being tracked instead of wandering aimlessly hoping to get close enough to another vein for the scanner to lock on. ## Changelog :cl: add: Adds binocs, lavaproof rods, gps, deep core mining scanner, anomaly neutralizer to exploration cargo add: You can hit veins with a deep core scanner on harm intent to stop it tracking, and hit it again to readd it. add: Deep core scanner fits in explorer webbing and explorer suits. balance: Outpost Cargo exploration tab /:cl: --- code/game/objects/items/storage/belt.dm | 1 + code/modules/cargo/packs/exploration.dm | 82 ++++++++++++++----- .../modules/mining/equipment/explorer_gear.dm | 6 +- .../mining/equipment/mineral_scanner.dm | 13 ++- code/modules/mining/ore_veins.dm | 8 ++ 5 files changed, 85 insertions(+), 25 deletions(-) diff --git a/code/game/objects/items/storage/belt.dm b/code/game/objects/items/storage/belt.dm index 055fa58ad393..fb56a7a15886 100644 --- a/code/game/objects/items/storage/belt.dm +++ b/code/game/objects/items/storage/belt.dm @@ -357,6 +357,7 @@ /obj/item/clothing/gloves, /obj/item/resonator, /obj/item/mining_scanner, + /obj/item/pinpointer/mineral, /obj/item/pickaxe, /obj/item/shovel, /obj/item/stack/sheet/animalhide, diff --git a/code/modules/cargo/packs/exploration.dm b/code/modules/cargo/packs/exploration.dm index 504b3b4bdbb1..e88cf65a3931 100644 --- a/code/modules/cargo/packs/exploration.dm +++ b/code/modules/cargo/packs/exploration.dm @@ -8,13 +8,13 @@ /datum/supply_pack/exploration/lava name = "Lava Exploration Kit" - desc = "Contains two pickaxes, 60 lavaproof rods, and goggles to protect eyes from the heat" - cost = 1500 + desc = "Contains two pickaxes, 60 lavaproof rods, two pocket extinguishers and goggles to protect yourself from the heat." + cost = 500 contains = list( /obj/item/pickaxe/mini, /obj/item/pickaxe/mini, - /obj/item/clothing/glasses/heat, - /obj/item/clothing/glasses/heat, + /obj/item/extinguisher/mini, + /obj/item/extinguisher/mini, /obj/item/clothing/glasses/heat, /obj/item/clothing/glasses/heat, /obj/item/stack/rods/lava/thirty, @@ -22,34 +22,45 @@ ) crate_name = "Lava Exploration Kit" +/datum/supply_pack/exploration/lavaproof_ords + name ="Lavaproof Rods Crate" + desc = "Contains 60 lavaproof rods for safely traversing molten pits." + cost = 200 + contains = list( + /obj/item/stack/rods/lava/thirty, + /obj/item/stack/rods/lava/thirty, + ) + crate_name = "Lavaproof Rod Crate" + /datum/supply_pack/exploration/ice name = "Ice Exploration Kit" - desc = "Contains two pickaxes, winter clothes, and goggles to protect eyes from the cold" - cost = 1500 + desc = "Contains two pickaxes, 2 sets of winter clothes and ice hiking boots, along with goggles to protect eyes from the cold." + cost = 500 contains = list( /obj/item/pickaxe/mini, /obj/item/pickaxe/mini, /obj/item/clothing/glasses/cold, /obj/item/clothing/glasses/cold, - /obj/item/clothing/glasses/cold, - /obj/item/clothing/glasses/cold, - /obj/item/clothing/shoes/winterboots, - /obj/item/clothing/shoes/winterboots, - /obj/item/clothing/shoes/winterboots, - /obj/item/clothing/shoes/winterboots, + /obj/item/clothing/suit/hooded/wintercoat, + /obj/item/clothing/suit/hooded/wintercoat, + /obj/item/clothing/shoes/winterboots/ice_boots, + /obj/item/clothing/shoes/winterboots/ice_boots, ) crate_name = "Ice Exploration Kit" /datum/supply_pack/exploration/jungle name = "Jungle Exploration Kit" - desc = "Contains hatchets, picks, and antivenom, great for dense jungles!" - cost = 750 + desc = "Contains a hatchets, two picks and lanterns, plus antivenom pills, great for dense jungles!" + cost = 500 contains = list( /obj/item/pickaxe/mini, /obj/item/pickaxe/mini, + /obj/item/flashlight/lantern, + /obj/item/flashlight/lantern, /obj/item/storage/pill_bottle/charcoal, /obj/item/storage/pill_bottle/charcoal, /obj/item/hatchet, + /obj/item/hatchet, ) crate_name = "Jungle Exploration Kit" @@ -76,16 +87,45 @@ crate_name = "Beach Kit" /* - Heavy Duty Exploration Gear + General Exploration Gear */ /datum/supply_pack/exploration/capsules - name = "Bluespace Shelter Capsules" - desc = "A trio of Bluespace Shelter Capsules, for instant shelter in rough situations." - cost = 3000 + name = "Bluespace Shelter Capsule" + desc = "Contains a Bluespace Shelter Capsule, for instant shelter in rough situations." + cost = 500 + contains = list( + /obj/item/survivalcapsule + ) + +/datum/supply_pack/exploration/binocular + name = "Binoculars" + desc = "One pair of binoculars for surveying terrain." + cost = 200 + contains = list( + /obj/item/binoculars + ) + +/datum/supply_pack/exploration/anom_neutralizer + name = "Anomaly Neutralizer" + desc = "A single use anomaly neutralizer for stabalizing hazardous anomalies." + cost = 250 + contains = list( + /obj/item/anomaly_neutralizer + ) + +/datum/supply_pack/exploration/mineral_scanner + name = "Underground Mineral Scanner" + desc = "Contains an underground mineral scanner for locating veins of ore beneath the earth. Deep core laser drill for extracting said ores not included." + cost = 250 contains = list( - /obj/item/survivalcapsule, - /obj/item/survivalcapsule, - /obj/item/survivalcapsule, + /obj/item/pinpointer/mineral ) +/datum/supply_pack/exploration/gps + name = "GPS" + desc = "Contains a GPS device, useful for finding lost things and not getting lost yourself." + cost = 100 + contains = list( + /obj/item/gps + ) diff --git a/code/modules/mining/equipment/explorer_gear.dm b/code/modules/mining/equipment/explorer_gear.dm index 038d69dff370..3b390da34251 100644 --- a/code/modules/mining/equipment/explorer_gear.dm +++ b/code/modules/mining/equipment/explorer_gear.dm @@ -11,7 +11,7 @@ heat_protection = CHEST|GROIN|LEGS|ARMS hoodtype = /obj/item/clothing/head/hooded/explorer armor = list("melee" = 15, "bullet" = 10, "laser" = 10, "energy" = 10, "bomb" = 50, "bio" = 100, "rad" = 50, "fire" = 50, "acid" = 50) - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION @@ -65,7 +65,7 @@ resistance_flags = FIRE_PROOF | LAVA_PROOF slowdown = 0 armor = list("melee" = 70, "bullet" = 40, "laser" = 30, "energy" = 45, "bomb" = 70, "bio" = 100, "rad" = 100, "fire" = 100, "acid" = 100) - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) /obj/item/clothing/suit/space/hostile_environment/Initialize() . = ..() @@ -167,7 +167,7 @@ heat_protection = CHEST|GROIN|LEGS|ARMS hoodtype = /obj/item/clothing/head/hooded/survivor_hood armor = list("melee" = 10, "bullet" = 0, "laser" = 0, "energy" = 10, "bomb" = 20, "bio" = 100, "rad" = 20, "fire" = 50, "acid" = 30) - allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) + allowed = list(/obj/item/flashlight, /obj/item/tank/internals, /obj/item/resonator, /obj/item/mining_scanner, /obj/item/t_scanner/adv_mining_scanner, /obj/item/pinpointer/mineral, /obj/item/gun/energy/kinetic_accelerator, /obj/item/pickaxe) resistance_flags = FIRE_PROOF supports_variations = DIGITIGRADE_VARIATION | VOX_VARIATION diff --git a/code/modules/mining/equipment/mineral_scanner.dm b/code/modules/mining/equipment/mineral_scanner.dm index 7c62a915f65e..4def7dbe5dde 100644 --- a/code/modules/mining/equipment/mineral_scanner.dm +++ b/code/modules/mining/equipment/mineral_scanner.dm @@ -126,6 +126,7 @@ /obj/item/pinpointer/mineral/examine(mob/user) . = ..() . += "It is currently set to [scanmode ? "scan underground" : "scan the surface"]." + . += span_notice("You can use the scanner on an vein on harm intent to mark them as sites of no interest, causing them to no longer show up on scans.") /obj/item/pinpointer/mineral/AltClick(mob/user) //switching modes ..() @@ -204,7 +205,7 @@ var/located_dist var/obj/structure/located_vein for(var/obj/structure/vein/I in GLOB.ore_veins) - if(I.z == 0 || I.virtual_z() != here.virtual_z()) + if(I.z == 0 || I.virtual_z() != here.virtual_z() || I.detectable == FALSE) continue if(located_vein) var/new_dist = get_dist(here, get_turf(I)) @@ -223,6 +224,16 @@ if(!proximity || !istype(O,/obj/structure/vein)) return playsound(src, 'sound/effects/fastbeep.ogg', 10) + if(user.a_intent == INTENT_HARM) + if(O.detectable == TRUE) + to_chat(user,span_notice("You blacklist the vein from the scanner's telemetry, and will no longer be detected as a site of interest to the scanner.")) + O.detectable = FALSE + return + else + to_chat(user,span_notice("You mark vein into the scanner's telemetry, allowing it be located by underground scans.")) + O.detectable = TRUE + return + if(O.vein_contents.len > 0) to_chat(user, "Class [O.vein_class] ore vein with [O.mining_charges] possible ore lodes found.") for(var/re in O.vein_contents) diff --git a/code/modules/mining/ore_veins.dm b/code/modules/mining/ore_veins.dm index 32b1ffeab8d5..16f6afa8da0c 100644 --- a/code/modules/mining/ore_veins.dm +++ b/code/modules/mining/ore_veins.dm @@ -10,6 +10,8 @@ GLOBAL_LIST_EMPTY(ore_veins) move_resist = INFINITY resistance_flags = INDESTRUCTIBLE | LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF + //Whether the mining scanner is able to locate this vein. + var/detectable = TRUE var/mining_charges = 6 //Classification of the quality of possible ores within a vein //Used to determine difficulty & ore amounts @@ -75,6 +77,11 @@ GLOBAL_LIST_EMPTY(ore_veins) ore_list.Remove(picked) GLOB.ore_veins += src +/obj/structure/vein/examine(mob/user) + . = ..() + if(!detectable) + . += span_notice("This vein has been marked as a site of no interest, and will not show up on deep core scans.") + /obj/structure/vein/Destroy() GLOB.ore_veins -= src return ..() @@ -105,6 +112,7 @@ GLOBAL_LIST_EMPTY(ore_veins) /obj/structure/vein/proc/toggle_spawning() spawning_started = SEND_SIGNAL(src, COMSIG_SPAWNER_TOGGLE_SPAWNING, spawning_started) + // // Planetary and Class Subtypes // The current set of subtypes are heavily subject to future balancing and reworking as the balance of them is tested more From c77c91047b9a54127db1b3cd179a9d57854d0d37 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 13 Sep 2024 05:17:03 -0500 Subject: [PATCH 07/28] Automatic changelog generation for PR #3328 [ci skip] --- html/changelogs/AutoChangeLog-pr-3328.yml | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3328.yml diff --git a/html/changelogs/AutoChangeLog-pr-3328.yml b/html/changelogs/AutoChangeLog-pr-3328.yml new file mode 100644 index 000000000000..200c0f077522 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3328.yml @@ -0,0 +1,9 @@ +author: Gristlebee +changes: + - {rscadd: 'Adds binocs, lavaproof rods, gps, deep core mining scanner, anomaly + neutralizer to exploration cargo'} + - {rscadd: 'You can hit veins with a deep core scanner on harm intent to stop it + tracking, and hit it again to readd it.'} + - {rscadd: Deep core scanner fits in explorer webbing and explorer suits.} + - {balance: Outpost Cargo exploration tab} +delete-after: true From bcd38b47c4da72a1293bf647a709c7fc19826d31 Mon Sep 17 00:00:00 2001 From: MemeSnorfer <116136632+MemeSnorfer@users.noreply.github.com> Date: Fri, 13 Sep 2024 03:05:35 -0700 Subject: [PATCH 08/28] Removes Emotes From Most Reagents (#3317) ## About The Pull Request Does what it says on the tin. Removes jitter, drool, moan, twitch, and other similar emotes from most chems. ## Why It's Good For The Game Who thought smoking weed makes you moan? The emotes are disruptive and don't contribute to roleplay in any way whatsoever. Players should handle how their blorbos act upon taking various drugs themselves. The screams from applying styptic powder/silver sulfadiazine patches are frankly ridiculous as well. ## Changelog :cl: del: Removed forced emotes from most reagents. /:cl: --- .../chemistry/reagents/alcohol_reagents.dm | 8 ---- .../chemistry/reagents/drug_reagents.dm | 39 +------------------ .../chemistry/reagents/food_reagents.dm | 6 --- .../chemistry/reagents/medicine_reagents.dm | 5 --- .../chemistry/reagents/other_reagents.dm | 12 ------ .../chemistry/reagents/trickwine_reagents.dm | 1 - 6 files changed, 1 insertion(+), 70 deletions(-) diff --git a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm index b59f4358c76a..ad27b15207a8 100644 --- a/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/alcohol_reagents.dm @@ -1374,26 +1374,18 @@ All effects don't start immediately, but rather get worse over time; the rate is if(1 to 5) M.Dizzy(10) M.set_drugginess(30) - if(prob(10)) - M.emote(pick("twitch","giggle")) if(5 to 10) M.Jitter(20) M.Dizzy(20) M.set_drugginess(45) - if(prob(20)) - M.emote(pick("twitch","giggle")) if (10 to 200) M.Jitter(40) M.Dizzy(40) M.set_drugginess(60) - if(prob(30)) - M.emote(pick("twitch","giggle")) if(200 to INFINITY) M.Jitter(60) M.Dizzy(60) M.set_drugginess(75) - if(prob(40)) - M.emote(pick("twitch","giggle")) if(prob(30)) M.adjustToxLoss(2, 0) . = 1 diff --git a/code/modules/reagents/chemistry/reagents/drug_reagents.dm b/code/modules/reagents/chemistry/reagents/drug_reagents.dm index b776a285b346..a62dfc53b63b 100644 --- a/code/modules/reagents/chemistry/reagents/drug_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/drug_reagents.dm @@ -21,8 +21,6 @@ if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED)) if(prob(10)) step(M, pick(GLOB.cardinals)) - if(prob(7)) - M.emote(pick("twitch","drool","moan","giggle")) ..() /datum/reagent/drug/space_drugs/overdose_start(mob/living/M) @@ -166,7 +164,7 @@ /datum/reagent/drug/methamphetamine name = "Methamphetamine" - description = "Reduces stun times by about 300%, speeds the user up, and allows the user to quickly recover stamina while dealing a small amount of Brain damage. If overdosed the subject will move randomly, laugh randomly, drop items and suffer from Toxin and Brain damage. If addicted the subject will constantly jitter and drool, before becoming dizzy and losing motor control and eventually suffer heavy toxin damage." + description = "Reduces stun times by about 300%, speeds the user up, and allows the user to quickly recover stamina while dealing a small amount of Brain damage. If overdosed the subject will move randomly, drop items and suffer from Toxin and Brain damage. If addicted the subject will become dizzy, lose motor control and eventually suffer heavy toxin damage." reagent_state = LIQUID color = "#FAFAFA" overdose_threshold = 20 @@ -194,8 +192,6 @@ M.adjustStaminaLoss(-2, 0) M.Jitter(2) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, rand(1,4)) - if(prob(5)) - M.emote(pick("twitch", "shiver")) ..() . = 1 @@ -203,8 +199,6 @@ if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i in 1 to 4) step(M, pick(GLOB.cardinals)) - if(prob(20)) - M.emote("laugh") if(prob(33)) M.visible_message("[M]'s hands flip out and flail everywhere!") M.drop_all_held_items() @@ -215,15 +209,11 @@ /datum/reagent/drug/methamphetamine/addiction_act_stage1(mob/living/M) M.Jitter(5) - if(prob(20)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/methamphetamine/addiction_act_stage2(mob/living/M) M.Jitter(10) M.Dizzy(10) - if(prob(30)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/methamphetamine/addiction_act_stage3(mob/living/M) @@ -232,8 +222,6 @@ step(M, pick(GLOB.cardinals)) M.Jitter(15) M.Dizzy(15) - if(prob(40)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/methamphetamine/addiction_act_stage4(mob/living/carbon/human/M) @@ -243,8 +231,6 @@ M.Jitter(20) M.Dizzy(20) M.adjustToxLoss(5, 0) - if(prob(50)) - M.emote(pick("twitch","drool","moan")) ..() . = 1 @@ -293,8 +279,6 @@ if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !ismovable(M.loc)) for(var/i in 1 to 8) step(M, pick(GLOB.cardinals)) - if(prob(20)) - M.emote(pick("twitch","drool","moan")) if(prob(33)) M.drop_all_held_items() ..() @@ -306,8 +290,6 @@ step(M, pick(GLOB.cardinals)) M.Jitter(5) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10) - if(prob(20)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/bath_salts/addiction_act_stage2(mob/living/M) @@ -318,8 +300,6 @@ M.Jitter(10) M.Dizzy(10) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10) - if(prob(30)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/bath_salts/addiction_act_stage3(mob/living/M) @@ -330,8 +310,6 @@ M.Jitter(15) M.Dizzy(15) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10) - if(prob(40)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/drug/bath_salts/addiction_act_stage4(mob/living/carbon/human/M) @@ -343,8 +321,6 @@ M.Dizzy(50) M.adjustToxLoss(5, 0) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 10) - if(prob(50)) - M.emote(pick("twitch","drool","moan")) ..() . = 1 @@ -398,13 +374,10 @@ var/reaction = rand(1,3) switch(reaction) if(1) - M.emote("laugh") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "happiness_drug", /datum/mood_event/happiness_drug_good_od) if(2) - M.emote("sway") M.Dizzy(25) if(3) - M.emote("frown") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "happiness_drug", /datum/mood_event/happiness_drug_bad_od) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 0.5) ..() @@ -414,32 +387,24 @@ var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) mood.setSanity(min(mood.sanity, SANITY_DISTURBED)) M.Jitter(5) - if(prob(20)) - M.emote(pick("twitch","laugh","frown")) ..() /datum/reagent/drug/happiness/addiction_act_stage2(mob/living/M) var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) mood.setSanity(min(mood.sanity, SANITY_UNSTABLE)) M.Jitter(10) - if(prob(30)) - M.emote(pick("twitch","laugh","frown")) ..() /datum/reagent/drug/happiness/addiction_act_stage3(mob/living/M) var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) mood.setSanity(min(mood.sanity, SANITY_CRAZY)) M.Jitter(15) - if(prob(40)) - M.emote(pick("twitch","laugh","frown")) ..() /datum/reagent/drug/happiness/addiction_act_stage4(mob/living/carbon/human/M) var/datum/component/mood/mood = M.GetComponent(/datum/component/mood) mood.setSanity(SANITY_INSANE) M.Jitter(20) - if(prob(50)) - M.emote(pick("twitch","laugh","frown")) ..() . = 1 @@ -477,8 +442,6 @@ M.Jitter(5) if(prob(5)) M.drop_all_held_items() - if(prob(15)) - M.emote(pick("twitch","drool")) if(prob(20)) M.losebreath++ M.adjustStaminaLoss(4, 0) diff --git a/code/modules/reagents/chemistry/reagents/food_reagents.dm b/code/modules/reagents/chemistry/reagents/food_reagents.dm index b78fd6aa8198..abdaf511691d 100644 --- a/code/modules/reagents/chemistry/reagents/food_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/food_reagents.dm @@ -339,20 +339,14 @@ if(1 to 5) M.Dizzy(5) M.set_drugginess(30) - if(prob(10)) - M.emote(pick("twitch","giggle")) if(5 to 10) M.Jitter(10) M.Dizzy(10) M.set_drugginess(35) - if(prob(20)) - M.emote(pick("twitch","giggle")) if (10 to INFINITY) M.Jitter(20) M.Dizzy(20) M.set_drugginess(40) - if(prob(30)) - M.emote(pick("twitch","giggle")) ..() /datum/reagent/consumable/garlic //NOTE: having garlic in your blood stops vampires from biting you. diff --git a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm index d42fc60057f1..6460cd423f78 100644 --- a/code/modules/reagents/chemistry/reagents/medicine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/medicine_reagents.dm @@ -259,7 +259,6 @@ M.adjustFireLoss(-reac_volume) if(show_message) to_chat(M, "You feel your burns healing! It stings like hell!") - M.emote("scream") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) ..() @@ -313,7 +312,6 @@ M.adjustBruteLoss(-reac_volume) if(show_message) to_chat(M, "You feel your bruises healing! It stings like hell!") - M.emote("scream") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) ..() @@ -1539,7 +1537,6 @@ M.losebreath++ if(prob(20)) to_chat(M, "You have a sudden fit!") - M.emote("moan") M.Paralyze(20) // you should be in a bad spot at this point unless epipen has been used if(81) to_chat(M, "You feel too exhausted to continue!") // at this point you will eventually die unless you get charcoal @@ -1751,7 +1748,6 @@ M.adjustFireLoss(reac_volume) if(show_message) to_chat(M, "You feel your skin bubble and burn as your flesh knits itself together!") - M.emote("scream") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) ..() @@ -1786,7 +1782,6 @@ M.adjustBruteLoss(reac_volume) if(show_message) to_chat(M, "You feel your flesh tear as your skin rapidly regenerates!") - M.emote("scream") SEND_SIGNAL(M, COMSIG_ADD_MOOD_EVENT, "painful_medicine", /datum/mood_event/painful_medicine) ..() diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index fdfeeb1cda9c..56d248e1d447 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -516,12 +516,6 @@ metabolization_rate = 0.25 * REAGENTS_METABOLISM taste_description = "bitterness" -/datum/reagent/serotrotium/on_mob_life(mob/living/carbon/M) - if(ishuman(M)) - if(prob(7)) - M.emote(pick("twitch","drool","moan","gasp")) - ..() - /datum/reagent/oxygen name = "Oxygen" description = "A colorless, odorless gas. Grows on trees but is still pretty valuable." @@ -597,8 +591,6 @@ /datum/reagent/mercury/on_mob_life(mob/living/carbon/M) if(!HAS_TRAIT(src, TRAIT_IMMOBILIZED) && !isspaceturf(M.loc)) step(M, pick(GLOB.cardinals)) - if(prob(5)) - M.emote(pick("twitch","drool","moan")) M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 1) ..() @@ -762,8 +754,6 @@ /datum/reagent/lithium/on_mob_life(mob/living/carbon/M) if(!HAS_TRAIT(M, TRAIT_IMMOBILIZED) && !isspaceturf(M.loc)) step(M, pick(GLOB.cardinals)) - if(prob(5)) - M.emote(pick("twitch","drool","moan")) ..() /datum/reagent/lithium/dip_object(obj/item/I, mob/user, obj/item/reagent_containers/H) @@ -1036,8 +1026,6 @@ M.adjustOrganLoss(ORGAN_SLOT_BRAIN, 2*REM) if(prob(50)) M.drowsyness = max(M.drowsyness, 3) - if(prob(10)) - M.emote("drool") ..() /datum/reagent/nanomachines diff --git a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm index be5e2ce35f9a..9f907a33b022 100644 --- a/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/trickwine_reagents.dm @@ -35,7 +35,6 @@ M.Jitter(3 * reac_volume) M.Dizzy(2 * reac_volume) M.set_drugginess(3 * reac_volume) - M.emote(pick("twitch","giggle")) return ..() /datum/reagent/consumable/ethanol/trickwine/ice_wine From 3388d91389075e4d2699fbb6bae623032851e713 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 13 Sep 2024 05:30:45 -0500 Subject: [PATCH 09/28] Automatic changelog generation for PR #3317 [ci skip] --- html/changelogs/AutoChangeLog-pr-3317.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3317.yml diff --git a/html/changelogs/AutoChangeLog-pr-3317.yml b/html/changelogs/AutoChangeLog-pr-3317.yml new file mode 100644 index 000000000000..763c4c0bd8d5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3317.yml @@ -0,0 +1,4 @@ +author: MemeSnorfer +changes: + - {rscdel: Removed forced emotes from most reagents.} +delete-after: true From 2b0ef6ebfc87b62ecdca9355ebdc9989e7d0bef3 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 14 Sep 2024 00:58:54 +0000 Subject: [PATCH 10/28] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3317.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3328.yml | 9 --------- html/changelogs/AutoChangeLog-pr-3337.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3349.yml | 4 ---- html/changelogs/archive/2024-09.yml | 14 ++++++++++++++ 5 files changed, 14 insertions(+), 21 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3317.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3328.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3337.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3349.yml diff --git a/html/changelogs/AutoChangeLog-pr-3317.yml b/html/changelogs/AutoChangeLog-pr-3317.yml deleted file mode 100644 index 763c4c0bd8d5..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3317.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: MemeSnorfer -changes: - - {rscdel: Removed forced emotes from most reagents.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3328.yml b/html/changelogs/AutoChangeLog-pr-3328.yml deleted file mode 100644 index 200c0f077522..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3328.yml +++ /dev/null @@ -1,9 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: 'Adds binocs, lavaproof rods, gps, deep core mining scanner, anomaly - neutralizer to exploration cargo'} - - {rscadd: 'You can hit veins with a deep core scanner on harm intent to stop it - tracking, and hit it again to readd it.'} - - {rscadd: Deep core scanner fits in explorer webbing and explorer suits.} - - {balance: Outpost Cargo exploration tab} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3337.yml b/html/changelogs/AutoChangeLog-pr-3337.yml deleted file mode 100644 index 502921cf17bd..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3337.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: ToasterBiome -changes: - - {bugfix: Centcom Ban DB is now accessible again through PP} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3349.yml b/html/changelogs/AutoChangeLog-pr-3349.yml deleted file mode 100644 index 38a6c4127d38..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3349.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: FalloutFalcon -changes: - - {bugfix: no emergency for floor lights untill someone adds a sprite for them!} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index f95d157a458c..26c6706451e2 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -76,3 +76,17 @@ - balance: scout's price has been reduced slightly - rscdel: Donksoft toy guns - bugfix: You can no longer attach shit to revolvers +2024-09-14: + FalloutFalcon: + - bugfix: no emergency for floor lights untill someone adds a sprite for them! + Gristlebee: + - rscadd: Adds binocs, lavaproof rods, gps, deep core mining scanner, anomaly neutralizer + to exploration cargo + - rscadd: You can hit veins with a deep core scanner on harm intent to stop it tracking, + and hit it again to readd it. + - rscadd: Deep core scanner fits in explorer webbing and explorer suits. + - balance: Outpost Cargo exploration tab + MemeSnorfer: + - rscdel: Removed forced emotes from most reagents. + ToasterBiome: + - bugfix: Centcom Ban DB is now accessible again through PP From 8e25c0bf6a19826594194e8723019485ffcc3814 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Fri, 13 Sep 2024 19:49:54 -0500 Subject: [PATCH 11/28] useless vars (#3356) ## About The Pull Request ## Why It's Good For The Game ## Changelog :cl: del: Removed useless vars /:cl: --- code/modules/mob/living/carbon/carbon_defense.dm | 2 -- 1 file changed, 2 deletions(-) diff --git a/code/modules/mob/living/carbon/carbon_defense.dm b/code/modules/mob/living/carbon/carbon_defense.dm index 5330ee1841f6..62174120a60f 100644 --- a/code/modules/mob/living/carbon/carbon_defense.dm +++ b/code/modules/mob/living/carbon/carbon_defense.dm @@ -648,14 +648,12 @@ REMOVE_TRAIT(src, TRAIT_KNOCKEDOUT, OXYLOSS_TRAIT) /mob/living/carbon/bullet_act(obj/projectile/P, def_zone, piercing_hit = FALSE) - var/mob/living/carbon/human/current_user = src //is this a good idea? who can say? var/armor = run_armor_check(def_zone, P.flag, P.armour_penetration, silent = TRUE) var/on_hit_state = P.on_hit(src, armor, piercing_hit) if(!P.nodamage && on_hit_state != BULLET_ACT_BLOCK && !QDELETED(src)) //QDELETED literally just for the instagib rifle. Yeah. apply_damage(P.damage, P.damage_type, def_zone, armor, sharpness = TRUE) if(P.damage-armor >= 15 && P.damage_type == BRUTE && (!armor || prob(40) || P.damage-armor >= 25)) spray_blood(get_dir(P.starting,src), (P.damage-armor)/5) - var/obj/item/bodypart/targeted_bodypart = null bleed((P.damage-armor)/2) recoil_camera(src, clamp((P.damage-armor)/4,0.5,10), clamp((P.damage-armor)/4,0.5,10), P.damage/8, P.Angle) From 12e2edf82c391574b77bfce4305c14d33d1e73d4 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Fri, 13 Sep 2024 20:09:55 -0500 Subject: [PATCH 12/28] Automatic changelog generation for PR #3356 [ci skip] --- html/changelogs/AutoChangeLog-pr-3356.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3356.yml diff --git a/html/changelogs/AutoChangeLog-pr-3356.yml b/html/changelogs/AutoChangeLog-pr-3356.yml new file mode 100644 index 000000000000..35b9605de5a6 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3356.yml @@ -0,0 +1,4 @@ +author: FalloutFalcon +changes: + - {rscdel: Removed useless vars} +delete-after: true From 678ecb16b6fdc65aed99d9c213be2ae4e092873c Mon Sep 17 00:00:00 2001 From: "bork (Shiiba)" <97755577+trazodont@users.noreply.github.com> Date: Sat, 14 Sep 2024 12:35:10 -0500 Subject: [PATCH 13/28] Fixes double sandwich crafting category (#3357) ## About The Pull Request Fixes the double sandwich crafting category and makes BLT crafting recipe not borked to heck ![image](https://github.com/user-attachments/assets/354ddec7-8550-4644-a1f5-b9ef438b2fc4) ## Why It's Good For The Game Bugs bad, fixes good! ## Changelog :cl: fix: you can now make blts, rejoice /:cl --- .../food_and_drinks/recipes/tablecraft/recipes_sandwich.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm index b8cefcb9bd80..121f15fa972f 100644 --- a/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm +++ b/code/modules/food_and_drinks/recipes/tablecraft/recipes_sandwich.dm @@ -61,5 +61,5 @@ /obj/item/reagent_containers/food/snacks/grown/tomato = 1 ) result = /obj/item/reagent_containers/food/snacks/blt - category = CAT_SANDWICH + subcategory = CAT_SANDWICH From 28e913d947d9c5d24a519a5b247f93b25b2eb642 Mon Sep 17 00:00:00 2001 From: zevo <95449138+Zevotech@users.noreply.github.com> Date: Sat, 14 Sep 2024 13:35:38 -0400 Subject: [PATCH 14/28] Fixes south-facing subshuttle prechargers (#3355) ## About The Pull Request Subshuttle engine prechargers which originally faced south were changed to face east for some reason. This fixes that. ## Why It's Good For The Game Subshuttle engines should charge properly. ## Changelog :cl: fix: Certain Subshuttle engine prechargers have now been correctly rotated. /:cl: --- _maps/shuttles/subshuttles/frontiersmen_brawler.dmm | 4 +++- _maps/shuttles/subshuttles/independent_kunai.dmm | 8 ++++++-- _maps/shuttles/subshuttles/inteq_anvil.dmm | 4 +++- _maps/shuttles/subshuttles/inteq_haste.dmm | 4 +++- _maps/shuttles/subshuttles/syndicate_runner.dmm | 4 +++- 5 files changed, 18 insertions(+), 6 deletions(-) diff --git a/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm b/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm index d9c361701213..20fe92d380f7 100644 --- a/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm +++ b/_maps/shuttles/subshuttles/frontiersmen_brawler.dmm @@ -370,7 +370,9 @@ /obj/structure/window/reinforced{ dir = 1 }, -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, /obj/structure/cable, /turf/open/floor/plasteel/tech/grid, /area/ship/bridge) diff --git a/_maps/shuttles/subshuttles/independent_kunai.dmm b/_maps/shuttles/subshuttles/independent_kunai.dmm index e1975d0a1737..1cd4e42355e5 100644 --- a/_maps/shuttles/subshuttles/independent_kunai.dmm +++ b/_maps/shuttles/subshuttles/independent_kunai.dmm @@ -260,7 +260,9 @@ dir = 1 }, /obj/structure/cable, -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 1 + }, /obj/machinery/door/poddoor/shutters{ id = "polengine"; name = "Engine Shutters" @@ -278,7 +280,9 @@ dir = 1 }, /obj/structure/cable, -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, /obj/machinery/door/poddoor/shutters{ id = "polengine" }, diff --git a/_maps/shuttles/subshuttles/inteq_anvil.dmm b/_maps/shuttles/subshuttles/inteq_anvil.dmm index 5e591774e259..4a4c4073ced1 100644 --- a/_maps/shuttles/subshuttles/inteq_anvil.dmm +++ b/_maps/shuttles/subshuttles/inteq_anvil.dmm @@ -67,7 +67,9 @@ /turf/open/floor/plasteel/mono/dark, /area/ship/bridge) "g" = ( -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, /obj/structure/cable, /obj/structure/window/reinforced{ dir = 1 diff --git a/_maps/shuttles/subshuttles/inteq_haste.dmm b/_maps/shuttles/subshuttles/inteq_haste.dmm index 25324d952a5e..177dcd41bc5c 100644 --- a/_maps/shuttles/subshuttles/inteq_haste.dmm +++ b/_maps/shuttles/subshuttles/inteq_haste.dmm @@ -121,7 +121,9 @@ /obj/structure/cable/yellow{ icon_state = "0-4" }, -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, /turf/open/floor/plasteel/tech, /area/ship/bridge) "K" = ( diff --git a/_maps/shuttles/subshuttles/syndicate_runner.dmm b/_maps/shuttles/subshuttles/syndicate_runner.dmm index 69430bf09157..d7f64a0d43ee 100644 --- a/_maps/shuttles/subshuttles/syndicate_runner.dmm +++ b/_maps/shuttles/subshuttles/syndicate_runner.dmm @@ -1,6 +1,8 @@ //MAP CONVERTED BY dmm2tgm.py THIS HEADER COMMENT PREVENTS RECONVERSION, DO NOT REMOVE "aa" = ( -/obj/machinery/power/smes/shuttle/precharged, +/obj/machinery/power/smes/shuttle/precharged{ + dir = 2 + }, /obj/structure/window/reinforced{ dir = 4 }, From e724549af6d293af1203d62b278edb8fdfb76a9c Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 14 Sep 2024 12:58:18 -0500 Subject: [PATCH 15/28] Automatic changelog generation for PR #3355 [ci skip] --- html/changelogs/AutoChangeLog-pr-3355.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3355.yml diff --git a/html/changelogs/AutoChangeLog-pr-3355.yml b/html/changelogs/AutoChangeLog-pr-3355.yml new file mode 100644 index 000000000000..d0f89b671aaa --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3355.yml @@ -0,0 +1,4 @@ +author: Zevotech +changes: + - {bugfix: Certain Subshuttle engine prechargers have now been correctly rotated.} +delete-after: true From 6da20a794d48cc346d5a0d3fe1d4b8325d799c1c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Sep 2024 11:16:52 -0700 Subject: [PATCH 16/28] Bump webpack from 5.75.0 to 5.94.0 in /tgui (#3314) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Bumps [webpack](https://github.com/webpack/webpack) from 5.75.0 to 5.94.0.
Release notes

Sourced from webpack's releases.

v5.94.0

Bug Fixes

  • Added runtime condition for harmony reexport checked
  • Handle properly data/http/https protocols in source maps
  • Make bigint optimistic when browserslist not found
  • Move @​types/eslint-scope to dev deps
  • Related in asset stats is now always an array when no related found
  • Handle ASI for export declarations
  • Mangle destruction incorrect with export named default properly
  • Fixed unexpected asi generation with sequence expression
  • Fixed a lot of types

New Features

  • Added new external type "module-import"
  • Support webpackIgnore for new URL() construction
  • [CSS] @import pathinfo support

Security

  • Fixed DOM clobbering in auto public path

v5.93.0

Bug Fixes

  • Generate correct relative path to runtime chunks
  • Makes DefinePlugin quieter under default log level
  • Fixed mangle destructuring default in namespace import
  • Fixed consumption of eager shared modules for module federation
  • Strip slash for pretty regexp
  • Calculate correct contenthash for CSS generator options

New Features

  • Added the binary generator option for asset modules to explicitly keep source maps produced by loaders
  • Added the modern-module library value for tree shakable output
  • Added the overrideStrict option to override strict or non-strict mode for javascript modules

v5.92.1

Bug Fixes

  • Doesn't crash with an error when the css experiment is enabled and contenthash is used

v5.92.0

Bug Fixes

  • Correct tidle range's comutation for module federation
  • Consider runtime for pure expression dependency update hash
  • Return value in the subtractRuntime function for runtime logic

... (truncated)

Commits
  • eabf85d chore(release): 5.94.0
  • 955e057 security: fix DOM clobbering in auto public path
  • 9822387 test: fix
  • cbb86ed test: fix
  • 5ac3d7f fix: unexpected asi generation with sequence expression
  • 2411661 security: fix DOM clobbering in auto public path
  • b8c03d4 fix: unexpected asi generation with sequence expression
  • f46a03c revert: do not use heuristic fallback for "module-import"
  • 60f1898 fix: do not use heuristic fallback for "module-import"
  • 66306aa Revert "fix: module-import get fallback from externalsPresets"
  • Additional commits viewable in compare view
Maintainer changes

This version was pushed to npm by evilebottnawi, a new releaser for webpack since your current version.


[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=webpack&package-manager=npm_and_yarn&previous-version=5.75.0&new-version=5.94.0)](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/package.json | 2 +- tgui/yarn.lock | 418 +++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 417 insertions(+), 3 deletions(-) diff --git a/tgui/package.json b/tgui/package.json index 2c5059e3626c..169af0aeafc7 100644 --- a/tgui/package.json +++ b/tgui/package.json @@ -56,7 +56,7 @@ "terser-webpack-plugin": "^5.1.4", "typescript": "^4.9.4", "url-loader": "^4.1.1", - "webpack": "^5.75.0", + "webpack": "^5.94.0", "webpack-bundle-analyzer": "^4.4.2", "webpack-cli": "^4.7.2" } diff --git a/tgui/yarn.lock b/tgui/yarn.lock index dcda23e174b2..3275e0e3473d 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -1763,6 +1763,17 @@ __metadata: languageName: node linkType: hard +"@jridgewell/gen-mapping@npm:^0.3.5": + version: 0.3.5 + resolution: "@jridgewell/gen-mapping@npm:0.3.5" + dependencies: + "@jridgewell/set-array": ^1.2.1 + "@jridgewell/sourcemap-codec": ^1.4.10 + "@jridgewell/trace-mapping": ^0.3.24 + checksum: ff7a1764ebd76a5e129c8890aa3e2f46045109dabde62b0b6c6a250152227647178ff2069ea234753a690d8f3c4ac8b5e7b267bbee272bffb7f3b0a370ab6e52 + languageName: node + linkType: hard + "@jridgewell/resolve-uri@npm:3.1.0": version: 3.1.0 resolution: "@jridgewell/resolve-uri@npm:3.1.0" @@ -1784,6 +1795,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/set-array@npm:^1.2.1": + version: 1.2.1 + resolution: "@jridgewell/set-array@npm:1.2.1" + checksum: 832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10 + languageName: node + linkType: hard + "@jridgewell/source-map@npm:^0.3.2": version: 0.3.2 resolution: "@jridgewell/source-map@npm:0.3.2" @@ -1794,6 +1812,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/source-map@npm:^0.3.3": + version: 0.3.6 + resolution: "@jridgewell/source-map@npm:0.3.6" + dependencies: + "@jridgewell/gen-mapping": ^0.3.5 + "@jridgewell/trace-mapping": ^0.3.25 + checksum: c9dc7d899397df95e3c9ec287b93c0b56f8e4453cd20743e2b9c8e779b1949bc3cccf6c01bb302779e46560eb45f62ea38d19fedd25370d814734268450a9f30 + languageName: node + linkType: hard + "@jridgewell/sourcemap-codec@npm:1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.10": version: 1.4.14 resolution: "@jridgewell/sourcemap-codec@npm:1.4.14" @@ -1818,6 +1846,16 @@ __metadata: languageName: node linkType: hard +"@jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25": + version: 0.3.25 + resolution: "@jridgewell/trace-mapping@npm:0.3.25" + dependencies: + "@jridgewell/resolve-uri": ^3.1.0 + "@jridgewell/sourcemap-codec": ^1.4.14 + checksum: 9d3c40d225e139987b50c48988f8717a54a8c994d8a948ee42e1412e08988761d0754d7d10b803061cc3aebf35f92a5dbbab493bd0e1a9ef9e89a2130e83ba34 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:^0.3.9": version: 0.3.17 resolution: "@jridgewell/trace-mapping@npm:0.3.17" @@ -1979,6 +2017,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^1.0.5": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: dd8b5bed28e6213b7acd0fb665a84e693554d850b0df423ac8076cc3ad5823a6bc26b0251d080bdc545af83179ede51dd3f6fa78cad2c46ed1f29624ddf3e41a + languageName: node + linkType: hard + "@types/graceful-fs@npm:^4.1.2": version: 4.1.5 resolution: "@types/graceful-fs@npm:4.1.5" @@ -2198,6 +2243,16 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/ast@npm:1.12.1, @webassemblyjs/ast@npm:^1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/ast@npm:1.12.1" + dependencies: + "@webassemblyjs/helper-numbers": 1.11.6 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + checksum: 31bcc64147236bd7b1b6d29d1f419c1f5845c785e1e42dc9e3f8ca2e05a029e9393a271b84f3a5bff2a32d35f51ff59e2181a6e5f953fe88576acd6750506202 + languageName: node + linkType: hard + "@webassemblyjs/floating-point-hex-parser@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.1" @@ -2205,6 +2260,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/floating-point-hex-parser@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/floating-point-hex-parser@npm:1.11.6" + checksum: 29b08758841fd8b299c7152eda36b9eb4921e9c584eb4594437b5cd90ed6b920523606eae7316175f89c20628da14326801090167cc7fbffc77af448ac84b7e2 + languageName: node + linkType: hard + "@webassemblyjs/helper-api-error@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/helper-api-error@npm:1.11.1" @@ -2212,6 +2274,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-api-error@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-api-error@npm:1.11.6" + checksum: e8563df85161096343008f9161adb138a6e8f3c2cc338d6a36011aa55eabb32f2fd138ffe63bc278d009ada001cc41d263dadd1c0be01be6c2ed99076103689f + languageName: node + linkType: hard + "@webassemblyjs/helper-buffer@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/helper-buffer@npm:1.11.1" @@ -2219,6 +2288,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-buffer@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/helper-buffer@npm:1.12.1" + checksum: c3ffb723024130308db608e86e2bdccd4868bbb62dffb0a9a1530606496f79c87f8565bd8e02805ce64912b71f1a70ee5fb00307258b0c082c3abf961d097eca + languageName: node + linkType: hard + "@webassemblyjs/helper-numbers@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/helper-numbers@npm:1.11.1" @@ -2230,6 +2306,17 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-numbers@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-numbers@npm:1.11.6" + dependencies: + "@webassemblyjs/floating-point-hex-parser": 1.11.6 + "@webassemblyjs/helper-api-error": 1.11.6 + "@xtuc/long": 4.2.2 + checksum: f4b562fa219f84368528339e0f8d273ad44e047a07641ffcaaec6f93e5b76fd86490a009aa91a294584e1436d74b0a01fa9fde45e333a4c657b58168b04da424 + languageName: node + linkType: hard + "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.1" @@ -2237,6 +2324,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-wasm-bytecode@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/helper-wasm-bytecode@npm:1.11.6" + checksum: 3535ef4f1fba38de3475e383b3980f4bbf3de72bbb631c2b6584c7df45be4eccd62c6ff48b5edd3f1bcff275cfd605a37679ec199fc91fd0a7705d7f1e3972dc + languageName: node + linkType: hard + "@webassemblyjs/helper-wasm-section@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/helper-wasm-section@npm:1.11.1" @@ -2249,6 +2343,18 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/helper-wasm-section@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/helper-wasm-section@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": 1.12.1 + "@webassemblyjs/helper-buffer": 1.12.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + "@webassemblyjs/wasm-gen": 1.12.1 + checksum: c19810cdd2c90ff574139b6d8c0dda254d42d168a9e5b3d353d1bc085f1d7164ccd1b3c05592a45a939c47f7e403dc8d03572bb686642f06a3d02932f6f0bc8f + languageName: node + linkType: hard + "@webassemblyjs/ieee754@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/ieee754@npm:1.11.1" @@ -2258,6 +2364,15 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/ieee754@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/ieee754@npm:1.11.6" + dependencies: + "@xtuc/ieee754": ^1.2.0 + checksum: 13574b8e41f6ca39b700e292d7edf102577db5650fe8add7066a320aa4b7a7c09a5056feccac7a74eb68c10dea9546d4461412af351f13f6b24b5f32379b49de + languageName: node + linkType: hard + "@webassemblyjs/leb128@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/leb128@npm:1.11.1" @@ -2267,6 +2382,15 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/leb128@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/leb128@npm:1.11.6" + dependencies: + "@xtuc/long": 4.2.2 + checksum: 7ea942dc9777d4b18a5ebfa3a937b30ae9e1d2ce1fee637583ed7f376334dd1d4274f813d2e250056cca803e0952def4b954913f1a3c9068bcd4ab4ee5143bf0 + languageName: node + linkType: hard + "@webassemblyjs/utf8@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/utf8@npm:1.11.1" @@ -2274,6 +2398,13 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/utf8@npm:1.11.6": + version: 1.11.6 + resolution: "@webassemblyjs/utf8@npm:1.11.6" + checksum: 807fe5b5ce10c390cfdd93e0fb92abda8aebabb5199980681e7c3743ee3306a75729bcd1e56a3903980e96c885ee53ef901fcbaac8efdfa480f9c0dae1d08713 + languageName: node + linkType: hard + "@webassemblyjs/wasm-edit@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wasm-edit@npm:1.11.1" @@ -2290,6 +2421,22 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-edit@npm:^1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-edit@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": 1.12.1 + "@webassemblyjs/helper-buffer": 1.12.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + "@webassemblyjs/helper-wasm-section": 1.12.1 + "@webassemblyjs/wasm-gen": 1.12.1 + "@webassemblyjs/wasm-opt": 1.12.1 + "@webassemblyjs/wasm-parser": 1.12.1 + "@webassemblyjs/wast-printer": 1.12.1 + checksum: ae23642303f030af888d30c4ef37b08dfec7eab6851a9575a616e65d1219f880d9223913a39056dd654e49049d76e97555b285d1f7e56935047abf578cce0692 + languageName: node + linkType: hard + "@webassemblyjs/wasm-gen@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wasm-gen@npm:1.11.1" @@ -2303,6 +2450,19 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-gen@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-gen@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": 1.12.1 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + "@webassemblyjs/ieee754": 1.11.6 + "@webassemblyjs/leb128": 1.11.6 + "@webassemblyjs/utf8": 1.11.6 + checksum: 5787626bb7f0b033044471ddd00ce0c9fe1ee4584e8b73e232051e3a4c99ba1a102700d75337151c8b6055bae77eefa4548960c610a5e4a504e356bd872138ff + languageName: node + linkType: hard + "@webassemblyjs/wasm-opt@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wasm-opt@npm:1.11.1" @@ -2315,6 +2475,18 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-opt@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-opt@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": 1.12.1 + "@webassemblyjs/helper-buffer": 1.12.1 + "@webassemblyjs/wasm-gen": 1.12.1 + "@webassemblyjs/wasm-parser": 1.12.1 + checksum: 0e8fa8a0645304a1e18ff40d3db5a2e9233ebaa169b19fcc651d6fc9fe2cac0ce092ddee927318015ae735d9cd9c5d97c0cafb6a51dcd2932ac73587b62df991 + languageName: node + linkType: hard + "@webassemblyjs/wasm-parser@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wasm-parser@npm:1.11.1" @@ -2329,6 +2501,20 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wasm-parser@npm:1.12.1, @webassemblyjs/wasm-parser@npm:^1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wasm-parser@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": 1.12.1 + "@webassemblyjs/helper-api-error": 1.11.6 + "@webassemblyjs/helper-wasm-bytecode": 1.11.6 + "@webassemblyjs/ieee754": 1.11.6 + "@webassemblyjs/leb128": 1.11.6 + "@webassemblyjs/utf8": 1.11.6 + checksum: 176015de3551ac068cd4505d837414f258d9ade7442bd71efb1232fa26c9f6d7d4e11a5c816caeed389943f409af7ebff6899289a992d7a70343cb47009d21a8 + languageName: node + linkType: hard + "@webassemblyjs/wast-printer@npm:1.11.1": version: 1.11.1 resolution: "@webassemblyjs/wast-printer@npm:1.11.1" @@ -2339,6 +2525,16 @@ __metadata: languageName: node linkType: hard +"@webassemblyjs/wast-printer@npm:1.12.1": + version: 1.12.1 + resolution: "@webassemblyjs/wast-printer@npm:1.12.1" + dependencies: + "@webassemblyjs/ast": 1.12.1 + "@xtuc/long": 4.2.2 + checksum: 2974b5dda8d769145ba0efd886ea94a601e61fb37114c14f9a9a7606afc23456799af652ac3052f284909bd42edc3665a76bc9b50f95f0794c053a8a1757b713 + languageName: node + linkType: hard + "@webpack-cli/configtest@npm:^1.0.4": version: 1.0.4 resolution: "@webpack-cli/configtest@npm:1.0.4" @@ -2426,6 +2622,15 @@ __metadata: languageName: node linkType: hard +"acorn-import-attributes@npm:^1.9.5": + version: 1.9.5 + resolution: "acorn-import-attributes@npm:1.9.5" + peerDependencies: + acorn: ^8 + checksum: 1c0c49b6a244503964ae46ae850baccf306e84caf99bc2010ed6103c69a423987b07b520a6c619f075d215388bd4923eccac995886a54309eda049ab78a4be95 + languageName: node + linkType: hard + "acorn-jsx@npm:^5.3.1": version: 5.3.1 resolution: "acorn-jsx@npm:5.3.1" @@ -2467,6 +2672,15 @@ __metadata: languageName: node linkType: hard +"acorn@npm:^8.8.2": + version: 8.12.1 + resolution: "acorn@npm:8.12.1" + bin: + acorn: bin/acorn + checksum: 677880034aee5bdf7434cc2d25b641d7bedb0b5ef47868a78dadabedccf58e1c5457526d9d8249cd253f2df087e081c3fe7d903b448d8e19e5131a3065b83c07 + languageName: node + linkType: hard + "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -2985,6 +3199,20 @@ __metadata: languageName: node linkType: hard +"browserslist@npm:^4.21.10": + version: 4.23.3 + resolution: "browserslist@npm:4.23.3" + dependencies: + caniuse-lite: ^1.0.30001646 + electron-to-chromium: ^1.5.4 + node-releases: ^2.0.18 + update-browserslist-db: ^1.1.0 + bin: + browserslist: cli.js + checksum: 7906064f9970aeb941310b2fcb8b4ace4a1b50aa657c986677c6f1553a8cabcc94ee9c5922f715baffbedaa0e6cf0831b6fed7b059dde6873a4bfadcbe069c7e + languageName: node + linkType: hard + "bser@npm:2.1.1": version: 2.1.1 resolution: "bser@npm:2.1.1" @@ -3083,6 +3311,13 @@ __metadata: languageName: node linkType: hard +"caniuse-lite@npm:^1.0.30001646": + version: 1.0.30001653 + resolution: "caniuse-lite@npm:1.0.30001653" + checksum: 289cf06c26a46f3e6460ccd5feffa788ab0ab35d306898c48120c65cfb11959bfa560e9f739393769b4fd01150c69b0747ad3ad5ec3abf3dfafd66df3c59254e + languageName: node + linkType: hard + "capital-case@npm:^1.0.4": version: 1.0.4 resolution: "capital-case@npm:1.0.4" @@ -3723,6 +3958,13 @@ __metadata: languageName: node linkType: hard +"electron-to-chromium@npm:^1.5.4": + version: 1.5.13 + resolution: "electron-to-chromium@npm:1.5.13" + checksum: f18ac84dd3bf9a200654a6a9292b9ec4bced0cf9bd26cec9941b775f4470c581c9d043e70b37a124d9752dcc0f47fc96613d52b2defd8e59632852730cb418b9 + languageName: node + linkType: hard + "emittery@npm:^0.8.1": version: 0.8.1 resolution: "emittery@npm:0.8.1" @@ -3777,6 +4019,16 @@ __metadata: languageName: node linkType: hard +"enhanced-resolve@npm:^5.17.1": + version: 5.17.1 + resolution: "enhanced-resolve@npm:5.17.1" + dependencies: + graceful-fs: ^4.2.4 + tapable: ^2.2.0 + checksum: 4bc38cf1cea96456f97503db7280394177d1bc46f8f87c267297d04f795ac5efa81e48115a2f5b6273c781027b5b6bfc5f62b54df629e4d25fa7001a86624f59 + languageName: node + linkType: hard + "enquirer@npm:^2.3.5": version: 2.3.6 resolution: "enquirer@npm:2.3.6" @@ -3848,6 +4100,13 @@ __metadata: languageName: node linkType: hard +"es-module-lexer@npm:^1.2.1": + version: 1.5.4 + resolution: "es-module-lexer@npm:1.5.4" + checksum: a0cf04fb92d052647ac7d818d1913b98d3d3d0f5b9d88f0eafb993436e4c3e2c958599db68839d57f2dfa281fdf0f60e18d448eb78fc292c33c0f25635b6854f + languageName: node + linkType: hard + "es-to-primitive@npm:^1.2.1": version: 1.2.1 resolution: "es-to-primitive@npm:1.2.1" @@ -3911,6 +4170,13 @@ __metadata: languageName: node linkType: hard +"escalade@npm:^3.1.2": + version: 3.1.2 + resolution: "escalade@npm:3.1.2" + checksum: 1ec0977aa2772075493002bdbd549d595ff6e9393b1cb0d7d6fcaf78c750da0c158f180938365486f75cb69fba20294351caddfce1b46552a7b6c3cde52eaa02 + languageName: node + linkType: hard + "escape-html@npm:~1.0.3": version: 1.0.3 resolution: "escape-html@npm:1.0.3" @@ -4799,6 +5065,13 @@ __metadata: languageName: node linkType: hard +"graceful-fs@npm:^4.2.11": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: ac85f94da92d8eb6b7f5a8b20ce65e43d66761c55ce85ac96df6865308390da45a8d3f0296dd3a663de65d30ba497bd46c696cc1e248c72b13d6d567138a4fc7 + languageName: node + linkType: hard + "gzip-size@npm:^6.0.0": version: 6.0.0 resolution: "gzip-size@npm:6.0.0" @@ -5988,6 +6261,17 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^27.4.5": + version: 27.5.1 + resolution: "jest-worker@npm:27.5.1" + dependencies: + "@types/node": "*" + merge-stream: ^2.0.0 + supports-color: ^8.0.0 + checksum: 98cd68b696781caed61c983a3ee30bf880b5bd021c01d98f47b143d4362b85d0737f8523761e2713d45e18b4f9a2b98af1eaee77afade4111bb65c77d6f7c980 + languageName: node + linkType: hard + "jest@npm:^27.0.6": version: 27.0.6 resolution: "jest@npm:27.0.6" @@ -6759,6 +7043,13 @@ __metadata: languageName: node linkType: hard +"node-releases@npm:^2.0.18": + version: 2.0.18 + resolution: "node-releases@npm:2.0.18" + checksum: ef55a3d853e1269a6d6279b7692cd6ff3e40bc74947945101138745bfdc9a5edabfe72cb19a31a8e45752e1910c4c65c77d931866af6357f242b172b7283f5b3 + languageName: node + linkType: hard + "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -7120,6 +7411,13 @@ __metadata: languageName: node linkType: hard +"picocolors@npm:^1.0.1": + version: 1.0.1 + resolution: "picocolors@npm:1.0.1" + checksum: fa68166d1f56009fc02a34cdfd112b0dd3cf1ef57667ac57281f714065558c01828cdf4f18600ad6851cbe0093952ed0660b1e0156bddf2184b6aaf5817553a5 + languageName: node + linkType: hard + "picomatch@npm:^2.0.4, picomatch@npm:^2.2.1, picomatch@npm:^2.2.3": version: 2.3.0 resolution: "picomatch@npm:2.3.0" @@ -7835,6 +8133,17 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"schema-utils@npm:^3.1.1, schema-utils@npm:^3.2.0": + version: 3.3.0 + resolution: "schema-utils@npm:3.3.0" + dependencies: + "@types/json-schema": ^7.0.8 + ajv: ^6.12.5 + ajv-keywords: ^3.5.2 + checksum: ea56971926fac2487f0757da939a871388891bc87c6a82220d125d587b388f1704788f3706e7f63a7b70e49fc2db974c41343528caea60444afd5ce0fe4b85c0 + languageName: node + linkType: hard + "secure-json-parse@npm:^2.0.0": version: 2.4.0 resolution: "secure-json-parse@npm:2.4.0" @@ -7919,6 +8228,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"serialize-javascript@npm:^6.0.1": + version: 6.0.2 + resolution: "serialize-javascript@npm:6.0.2" + dependencies: + randombytes: ^2.1.0 + checksum: c4839c6206c1d143c0f80763997a361310305751171dd95e4b57efee69b8f6edd8960a0b7fbfc45042aadff98b206d55428aee0dc276efe54f100899c7fa8ab7 + languageName: node + linkType: hard + "set-blocking@npm:~2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -8520,6 +8838,28 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"terser-webpack-plugin@npm:^5.3.10": + version: 5.3.10 + resolution: "terser-webpack-plugin@npm:5.3.10" + dependencies: + "@jridgewell/trace-mapping": ^0.3.20 + jest-worker: ^27.4.5 + schema-utils: ^3.1.1 + serialize-javascript: ^6.0.1 + terser: ^5.26.0 + peerDependencies: + webpack: ^5.1.0 + peerDependenciesMeta: + "@swc/core": + optional: true + esbuild: + optional: true + uglify-js: + optional: true + checksum: bd6e7596cf815f3353e2a53e79cbdec959a1b0276f5e5d4e63e9d7c3c5bb5306df567729da287d1c7b39d79093e56863c569c42c6c24cc34c76aa313bd2cbcea + languageName: node + linkType: hard + "terser@npm:^5.14.2, terser@npm:^5.7.0": version: 5.15.1 resolution: "terser@npm:5.15.1" @@ -8534,6 +8874,20 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"terser@npm:^5.26.0": + version: 5.31.6 + resolution: "terser@npm:5.31.6" + dependencies: + "@jridgewell/source-map": ^0.3.3 + acorn: ^8.8.2 + commander: ^2.20.0 + source-map-support: ~0.5.20 + bin: + terser: bin/terser + checksum: 60d3faf39c9ad7acc891e17888bbd206e0b777f442649cf49873a5fa317b8b8a17179a46970d884d5f93e8addde0206193ed1e2e4f1ccb1cafb167f7d1ddee96 + languageName: node + linkType: hard + "test-exclude@npm:^6.0.0": version: 6.0.0 resolution: "test-exclude@npm:6.0.0" @@ -8662,7 +9016,7 @@ resolve@^2.0.0-next.3: terser-webpack-plugin: ^5.1.4 typescript: ^4.9.4 url-loader: ^4.1.1 - webpack: ^5.75.0 + webpack: ^5.94.0 webpack-bundle-analyzer: ^4.4.2 webpack-cli: ^4.7.2 languageName: unknown @@ -9052,6 +9406,20 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"update-browserslist-db@npm:^1.1.0": + version: 1.1.0 + resolution: "update-browserslist-db@npm:1.1.0" + dependencies: + escalade: ^3.1.2 + picocolors: ^1.0.1 + peerDependencies: + browserslist: ">= 4.21.0" + bin: + update-browserslist-db: cli.js + checksum: 7b74694d96f0c360f01b702e72353dc5a49df4fe6663d3ee4e5c628f061576cddf56af35a3a886238c01dd3d8f231b7a86a8ceaa31e7a9220ae31c1c1238e562 + languageName: node + linkType: hard + "upper-case-first@npm:^2.0.2": version: 2.0.2 resolution: "upper-case-first@npm:2.0.2" @@ -9190,6 +9558,16 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"watchpack@npm:^2.4.1": + version: 2.4.2 + resolution: "watchpack@npm:2.4.2" + dependencies: + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.1.2 + checksum: 92d9d52ce3d16fd83ed6994d1dd66a4d146998882f4c362d37adfea9ab77748a5b4d1e0c65fa104797928b2d40f635efa8f9b925a6265428a69f1e1852ca3441 + languageName: node + linkType: hard + "webidl-conversions@npm:^5.0.0": version: 5.0.0 resolution: "webidl-conversions@npm:5.0.0" @@ -9284,7 +9662,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"webpack@npm:^5, webpack@npm:^5.75.0": +"webpack@npm:^5": version: 5.75.0 resolution: "webpack@npm:5.75.0" dependencies: @@ -9321,6 +9699,42 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"webpack@npm:^5.94.0": + version: 5.94.0 + resolution: "webpack@npm:5.94.0" + dependencies: + "@types/estree": ^1.0.5 + "@webassemblyjs/ast": ^1.12.1 + "@webassemblyjs/wasm-edit": ^1.12.1 + "@webassemblyjs/wasm-parser": ^1.12.1 + acorn: ^8.7.1 + acorn-import-attributes: ^1.9.5 + browserslist: ^4.21.10 + chrome-trace-event: ^1.0.2 + enhanced-resolve: ^5.17.1 + es-module-lexer: ^1.2.1 + eslint-scope: 5.1.1 + events: ^3.2.0 + glob-to-regexp: ^0.4.1 + graceful-fs: ^4.2.11 + json-parse-even-better-errors: ^2.3.1 + loader-runner: ^4.2.0 + mime-types: ^2.1.27 + neo-async: ^2.6.2 + schema-utils: ^3.2.0 + tapable: ^2.1.1 + terser-webpack-plugin: ^5.3.10 + watchpack: ^2.4.1 + webpack-sources: ^3.2.3 + peerDependenciesMeta: + webpack-cli: + optional: true + bin: + webpack: bin/webpack.js + checksum: 6a3d667be304a69cd6dcb8d676bc29f47642c0d389af514cfcd646eaaa809961bc6989fc4b2621a717dfc461130f29c6e20006d62a32e012dafaa9517813a4e6 + languageName: node + linkType: hard + "whatwg-encoding@npm:^1.0.5": version: 1.0.5 resolution: "whatwg-encoding@npm:1.0.5" From 8740dd7cbe613425e385aae4fd37ba162a12af88 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Sat, 14 Sep 2024 11:17:57 -0700 Subject: [PATCH 17/28] Gun Safety PSA - Keep your gun safeties on to prevent accidental discharges! (#3312) ## About The Pull Request Unsafetied guns have a small chance to go off and fire on their own under select conditions, which are currently: - Being thrown and hitting something. - Being on a ship when it takes off or docks. (Having it stored in a stable container eg. lockers/crates, protect it from going off) - Falling down while carrying a gun (Shoves, slips, etc) - Paralyzes while holding a gun - Having your gun holstered lowers the chance of it going off from falling down due to the aforementioned causes - Being EMPed if it's an energy weapon. Modifies fire_casing so it works without a user. ## Why It's Good For The Game Makes guns a bit more dangerous (to yourself mainly), and reinforces the fact guns are Dangerous Weapons and you should be careful with them by adding a mechanical reason to have your safety on outside of combat and properly securing your weapons. ~~adds more medical gameplay due to increased injuries~~ ## Changelog :cl: add: Unsaftied guns can go off on their own. code: Changes ammo casing firing code so it's able to work without a user. /:cl: --- code/__DEFINES/guns.dm | 5 ++ code/datums/status_effects/debuffs.dm | 2 + code/game/objects/items/storage/storage.dm | 6 +++ .../modules/projectiles/ammunition/_firing.dm | 26 ++++++---- code/modules/projectiles/gun.dm | 48 +++++++++++++++++++ code/modules/projectiles/guns/ballistic.dm | 5 ++ code/modules/projectiles/guns/energy.dm | 6 +++ code/modules/projectiles/projectile.dm | 6 ++- code/modules/shuttle/on_move.dm | 6 +++ 9 files changed, 100 insertions(+), 10 deletions(-) diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index 01cfa1e5bd5c..b98da0bc1d18 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -69,6 +69,11 @@ #define MANUFACTURER_PGF "the Etherbor Industries emblem" #define MANUFACTURER_IMPORT "Lanchester Import Co." +// Misfire chances if the gun's safety is off +#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_LOW 100 +#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM 100 +#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH 100 + ///////////////// // ATTACHMENTS // ///////////////// diff --git a/code/datums/status_effects/debuffs.dm b/code/datums/status_effects/debuffs.dm index 02b96c1b81de..17e2208cdebe 100644 --- a/code/datums/status_effects/debuffs.dm +++ b/code/datums/status_effects/debuffs.dm @@ -49,6 +49,7 @@ . = ..() if(!.) return + owner.trip_with_gun("knockdown") ADD_TRAIT(owner, TRAIT_FLOORED, TRAIT_STATUS_EFFECT(id)) /datum/status_effect/incapacitating/knockdown/on_remove() @@ -79,6 +80,7 @@ . = ..() if(!.) return + owner.trip_with_gun("paralyze") ADD_TRAIT(owner, TRAIT_INCAPACITATED, TRAIT_STATUS_EFFECT(id)) ADD_TRAIT(owner, TRAIT_IMMOBILIZED, TRAIT_STATUS_EFFECT(id)) ADD_TRAIT(owner, TRAIT_FLOORED, TRAIT_STATUS_EFFECT(id)) diff --git a/code/game/objects/items/storage/storage.dm b/code/game/objects/items/storage/storage.dm index c2619eef4c14..f0e5665b446b 100644 --- a/code/game/objects/items/storage/storage.dm +++ b/code/game/objects/items/storage/storage.dm @@ -28,6 +28,12 @@ if(EXPLODE_LIGHT) SSexplosions.lowobj += A +/obj/item/storage/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + . = ..() + for(var/obj/item/gun/at_risk in get_all_contents()) + if(at_risk.safety == FALSE && prob(GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH)) + at_risk.discharge("is hits the ground hard") + /obj/item/storage/canStrip(mob/who) . = ..() if(!. && rummage_if_nodrop) diff --git a/code/modules/projectiles/ammunition/_firing.dm b/code/modules/projectiles/ammunition/_firing.dm index 93fa4208d571..bdc5254f13c9 100644 --- a/code/modules/projectiles/ammunition/_firing.dm +++ b/code/modules/projectiles/ammunition/_firing.dm @@ -1,7 +1,7 @@ -/obj/item/ammo_casing/proc/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread, atom/fired_from) +/obj/item/ammo_casing/proc/fire_casing(atom/target, mob/living/user, params, distro, quiet, zone_override, spread, atom/fired_from, misfire = FALSE) distro += variance var/targloc = get_turf(target) - ready_proj(target, user, quiet, zone_override, fired_from) + ready_proj(target, user, quiet, zone_override, fired_from, misfire) if(pellets == 1) if(distro) //We have to spread a pixel-precision bullet. throw_proj was called before so angles should exist by now... if(randomspread) @@ -15,19 +15,20 @@ return FALSE AddComponent(/datum/component/pellet_cloud, projectile_type, pellets) SEND_SIGNAL(src, COMSIG_PELLET_CLOUD_INIT, target, user, fired_from, randomspread, spread, zone_override, params, distro) + if(user) + if(click_cooldown_override) + user.changeNext_move(click_cooldown_override) - if(click_cooldown_override) - user.changeNext_move(click_cooldown_override) - - user.newtonian_move(get_dir(target, user)) + user.newtonian_move(get_dir(target, user)) update_appearance() return TRUE -/obj/item/ammo_casing/proc/ready_proj(atom/target, mob/living/user, quiet, zone_override = "", atom/fired_from) +/obj/item/ammo_casing/proc/ready_proj(atom/target, mob/living/user, quiet, zone_override = "", atom/fired_from, misfire = FALSE) if (!BB) return BB.original = target BB.firer = user + BB.misfire = misfire BB.fired_from = fired_from if (zone_override) BB.def_zone = zone_override @@ -45,7 +46,11 @@ qdel(reagents) /obj/item/ammo_casing/proc/throw_proj(atom/target, turf/targloc, mob/living/user, params, spread) - var/turf/curloc = get_turf(user) + var/turf/curloc + if(user) + curloc = get_turf(user) + else + curloc = get_turf(src) if (!istype(targloc) || !istype(curloc) || !BB) return FALSE @@ -60,7 +65,10 @@ if(target) //if the target is right on our location we'll skip the travelling code in the proj's fire() direct_target = target if(!direct_target) - BB.preparePixelProjectile(target, user, params, spread) + if(user) + BB.preparePixelProjectile(target, user, params, spread) + else + BB.preparePixelProjectile(target, curloc, params, spread) BB.fire(null, direct_target) BB = null return TRUE diff --git a/code/modules/projectiles/gun.dm b/code/modules/projectiles/gun.dm index c5bfb5facbcf..f97dc5a5ce86 100644 --- a/code/modules/projectiles/gun.dm +++ b/code/modules/projectiles/gun.dm @@ -728,6 +728,11 @@ if(zoomed) zoom(user, user.dir) +/obj/item/gun/throw_impact(atom/hit_atom, datum/thrownthing/throwingdatum) + . = ..() + if(prob(GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH)) + discharge("hits the ground hard") + /obj/item/gun/update_overlays() . = ..() if(ismob(loc) && has_safety) @@ -947,6 +952,49 @@ flash_loc.vis_contents -= muzzle_flash muzzle_flash.applied = FALSE +// for guns firing on their own without a user +/obj/item/gun/proc/discharge(cause, seek_chance = 10) + var/target + if(!safety) + // someone is very unlucky and about to be shot + if(prob(seek_chance)) + for(var/mob/living/target_mob in range(6, get_turf(src))) + if(!isInSight(src, target_mob)) + continue + target = target_mob + break + if(!target) + var/fire_dir = pick(GLOB.alldirs) + target = get_ranged_target_turf(get_turf(src),fire_dir,6) + if(!chambered || !chambered.BB) + visible_message(span_danger("\The [src] [cause ? "[cause], suddenly going off" : "suddenly goes off"] without its safteies on! Luckily it wasn't live.")) + playsound(src, dry_fire_sound, 30, TRUE) + else + visible_message(span_danger("\The [src] [cause ? "[cause], suddenly going off" : "suddenly goes off"] without its safeties on!")) + unsafe_shot(target) + +/obj/item/gun/proc/unsafe_shot(target) + if(chambered) + chambered.fire_casing(target,null, null, null, suppressed, ran_zone(BODY_ZONE_CHEST, 50), 0, src,TRUE) + playsound(src, fire_sound, 100, TRUE) + +/mob/living/proc/trip_with_gun(cause) + var/mob/living/carbon/human/human_holder + if(ishuman(src)) + human_holder = src + for(var/obj/item/gun/at_risk in get_all_contents()) + var/chance_to_fire = GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM + var/did_fire = FALSE + if(human_holder) + // gun is less likely to go off in a holster + if(at_risk == human_holder.s_store) + chance_to_fire = GUN_NO_SAFETY_MALFUNCTION_CHANCE_LOW + if(at_risk.safety == FALSE && prob(chance_to_fire)) + if(at_risk.process_fire(src,src,FALSE, null, pick(BODY_ZONE_L_LEG,BODY_ZONE_R_LEG)) == TRUE) + log_combat(src,src,"misfired",at_risk,"caused by [cause]") + visible_message(span_danger("\The [at_risk.name]'s trigger gets caught as [src] falls, suddenly going off into [src]'s leg without its safties on!"), span_danger("\The [at_risk.name]'s trigger gets caught on something as you fall, suddenly going off into your leg without its safeties on!")) + emote("scream") + //I need to refactor this into an attachment /datum/action/toggle_scope_zoom name = "Toggle Scope" diff --git a/code/modules/projectiles/guns/ballistic.dm b/code/modules/projectiles/guns/ballistic.dm index 8adaabfa9fd6..0288813fd089 100644 --- a/code/modules/projectiles/guns/ballistic.dm +++ b/code/modules/projectiles/guns/ballistic.dm @@ -376,3 +376,8 @@ GLOBAL_LIST_INIT(gun_saw_types, typecacheof(list( if(AC.BB) process_fire(user, user, FALSE) . = TRUE + +/obj/item/gun/ballistic/unsafe_shot(target, empty_chamber = TRUE) + . = ..() + process_chamber(empty_chamber,TRUE) + diff --git a/code/modules/projectiles/guns/energy.dm b/code/modules/projectiles/guns/energy.dm index abe3e3fd7b43..aaf37d4c9556 100644 --- a/code/modules/projectiles/guns/energy.dm +++ b/code/modules/projectiles/guns/energy.dm @@ -39,6 +39,8 @@ /obj/item/gun/energy/emp_act(severity) . = ..() if(!(. & EMP_PROTECT_CONTENTS)) + if(prob(GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH)) + discharge("malfunctions from the EMP") cell.use(round(cell.charge / severity)) chambered = null //we empty the chamber recharge_newshot() //and try to charge a new shot @@ -323,3 +325,7 @@ . += "\The [name] has [round(cell.charge/shot.e_cost)] shots remaining on [shot.select_name] mode." else . += span_notice("\The [name] doesn't seem to have a cell!") + +/obj/item/gun/energy/unsafe_shot(target) + . = ..() + process_chamber() diff --git a/code/modules/projectiles/projectile.dm b/code/modules/projectiles/projectile.dm index ea640e1a7219..2cccb02224ed 100644 --- a/code/modules/projectiles/projectile.dm +++ b/code/modules/projectiles/projectile.dm @@ -24,6 +24,8 @@ resistance_flags = LAVA_PROOF | FIRE_PROOF | UNACIDABLE | ACID_PROOF var/def_zone = "" //Aiming at var/atom/movable/firer = null//Who shot it + // if the projectile was the result of a misfire. For logging. + var/misfire = FALSE var/atom/fired_from = null // the atom that the projectile was fired from (gun, turret) var/suppressed = FALSE //Attack message var/yo = null @@ -284,7 +286,9 @@ for(var/datum/reagent/R in reagents.reagent_list) reagent_note += "[R.name] ([num2text(R.volume)])" - if(ismob(firer)) + if(misfire) + L.log_message("has been hit by a misfired [src] from \a [fired_from] last touched by [fired_from.fingerprintslast]", LOG_ATTACK, color = "orange") + else if(ismob(firer)) log_combat(firer, L, "shot", src, reagent_note) else L.log_message("has been shot by [firer] with [src]", LOG_ATTACK, color="orange") diff --git a/code/modules/shuttle/on_move.dm b/code/modules/shuttle/on_move.dm index f4d68520c879..6cb9f7304585 100644 --- a/code/modules/shuttle/on_move.dm +++ b/code/modules/shuttle/on_move.dm @@ -291,6 +291,7 @@ All ShuttleMove procs go here /************************************Item move procs************************************/ + /obj/item/storage/pod/afterShuttleMove(turf/oldT, list/movement_force, shuttle_dir, shuttle_preferred_direction, move_dir, rotation) . = ..() // If the pod was launched, the storage will always open. The reserved_level check @@ -299,6 +300,11 @@ All ShuttleMove procs go here if (oldT && !is_reserved_level(oldT)) unlocked = TRUE +/obj/item/gun/lateShuttleMove(turf/oldT, list/movement_force, move_dir) + . = ..() + if(prob(GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM)) + discharge("is thrown around by the force of the take off") + /************************************Mob move procs************************************/ /mob/onShuttleMove(turf/newT, turf/oldT, list/movement_force, move_dir, obj/docking_port/stationary/old_dock, obj/docking_port/mobile/moving_dock, list/obj/docking_port/mobile/towed_shuttles) From 02c8132ff276603b9694bf2ef7222b839ba48c0c Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sat, 14 Sep 2024 13:42:52 -0500 Subject: [PATCH 18/28] Automatic changelog generation for PR #3312 [ci skip] --- html/changelogs/AutoChangeLog-pr-3312.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3312.yml diff --git a/html/changelogs/AutoChangeLog-pr-3312.yml b/html/changelogs/AutoChangeLog-pr-3312.yml new file mode 100644 index 000000000000..287478974fbf --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3312.yml @@ -0,0 +1,5 @@ +author: Gristlebee +changes: + - {rscadd: Unsaftied guns can go off on their own.} + - {code_imp: Changes ammo casing firing code so it's able to work without a user.} +delete-after: true From 1d23c7c7aeeb09b41388a4facfc5c04343ac5cef Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sat, 14 Sep 2024 18:27:30 +0000 Subject: [PATCH 19/28] Bump micromatch from 4.0.4 to 4.0.8 in /tgui (#3316) Bumps [micromatch](https://github.com/micromatch/micromatch) from 4.0.4 to 4.0.8.
Release notes

Sourced from micromatch's releases.

4.0.8

Ultimate release that fixes both CVE-2024-4067 and CVE-2024-4068. We consider the issues low-priority, so even if you see automated scanners saying otherwise, don't be scared.

Changelog

Sourced from micromatch's changelog.

[4.0.8] - 2024-08-22

  • backported CVE-2024-4067 fix (from v4.0.6) over to 4.x branch

[4.0.7] - 2024-05-22

  • this is basically v4.0.5, with some README updates
  • it is vulnerable to CVE-2024-4067
  • Updated braces to v3.0.3 to avoid CVE-2024-4068
  • does NOT break API compatibility

[4.0.6] - 2024-05-21

  • Added hasBraces to check if a pattern contains braces.
  • Fixes CVE-2024-4067
  • BREAKS API COMPATIBILITY
  • Should be labeled as a major release, but it's not.

[4.0.1 - 4.0.5]

[4.0.0] - 2019-03-20

Added

  • Adds support for options.onMatch. See the readme for details
  • Adds support for options.onIgnore. See the readme for details
  • Adds support for options.onResult. See the readme for details

Breaking changes

  • Require Node.js >= 8.6
  • Removed support for passing an array of brace patterns to micromatch.braces().
  • To strictly enforce closing brackets (for {, [, and (), you must now use strictBrackets=true instead of strictErrors.
  • cache - caching and all related options and methods have been removed
  • options.unixify was renamed to options.windows
  • options.nodupes Was removed. Duplicates are always removed by default. You can override this with custom behavior by using the onMatch, onResult and onIgnore functions.
  • options.snapdragon was removed, as snapdragon is no longer used.
  • options.sourcemap was removed, as snapdragon is no longer used, which provided sourcemap support.

[3.0.0] - 2017-04-11

Complete overhaul, with 36,000+ new unit tests validated against actual output generated by Bash and minimatch. More specifically, 35,000+ of the tests:

  • micromatch results are directly compared to bash results
  • in rare cases, when micromatch and bash disagree, micromatch's results are compared to minimatch's results
  • micromatch is much more accurate than minimatch, so there were cases where I had to make assumptions. I'll try to document these.

This refactor introduces a parser and compiler that are supersets of more granular parsers and compilers from other sub-modules. Each of these sub-modules has a singular responsibility and focuses on a certain type of matching that aligns with a specific part of the Bash "expansion" API.

These sub-modules work like plugins to seamlessly create the micromatch parser/compiler, so that strings are parsed in one pass, an AST is created, then a new string is generated by the compiler.

... (truncated)

Commits
  • 8bd704e 4.0.8
  • a0e6841 run verb to generate README documentation
  • 4ec2884 Merge branch 'v4' into hauserkristof-feature/v4.0.8
  • 03aa805 Merge pull request #266 from hauserkristof/feature/v4.0.8
  • 814f5f7 lint
  • 67fcce6 fix: CHANGELOG about braces & CVE-2024-4068, v4.0.5
  • 113f2e3 fix: CVE numbers in CHANGELOG
  • d9dbd9a feat: updated CHANGELOG
  • 2ab1315 fix: use actions/setup-node@v4
  • 1406ea3 feat: rework test to work on macos with node 10,12 and 14
  • Additional commits viewable in compare view

[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=micromatch&package-manager=npm_and_yarn&previous-version=4.0.4&new-version=4.0.8)](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 | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/tgui/yarn.lock b/tgui/yarn.lock index 3275e0e3473d..bdf58e167804 100644 --- a/tgui/yarn.lock +++ b/tgui/yarn.lock @@ -3168,7 +3168,7 @@ __metadata: languageName: node linkType: hard -"braces@npm:^3.0.1, braces@npm:~3.0.2": +"braces@npm:^3.0.3, braces@npm:~3.0.2": version: 3.0.3 resolution: "braces@npm:3.0.3" dependencies: @@ -6731,12 +6731,12 @@ __metadata: linkType: hard "micromatch@npm:^4.0.4": - version: 4.0.4 - resolution: "micromatch@npm:4.0.4" + version: 4.0.8 + resolution: "micromatch@npm:4.0.8" dependencies: - braces: ^3.0.1 - picomatch: ^2.2.3 - checksum: ef3d1c88e79e0a68b0e94a03137676f3324ac18a908c245a9e5936f838079fcc108ac7170a5fadc265a9c2596963462e402841406bda1a4bb7b68805601d631c + braces: ^3.0.3 + picomatch: ^2.3.1 + checksum: 79920eb634e6f400b464a954fcfa589c4e7c7143209488e44baf627f9affc8b1e306f41f4f0deedde97e69cb725920879462d3e750ab3bd3c1aed675bb3a8966 languageName: node linkType: hard @@ -7425,6 +7425,13 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 050c865ce81119c4822c45d3c84f1ced46f93a0126febae20737bd05ca20589c564d6e9226977df859ed5e03dc73f02584a2b0faad36e896936238238b0446cf + languageName: node + linkType: hard + "pino-std-serializers@npm:^3.1.0": version: 3.2.0 resolution: "pino-std-serializers@npm:3.2.0" From 1da0895cd63ce36246beec2359e94c99187da85b Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 15 Sep 2024 01:06:13 +0000 Subject: [PATCH 20/28] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3312.yml | 5 ----- html/changelogs/AutoChangeLog-pr-3355.yml | 4 ---- html/changelogs/AutoChangeLog-pr-3356.yml | 4 ---- html/changelogs/archive/2024-09.yml | 8 ++++++++ 4 files changed, 8 insertions(+), 13 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3312.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3355.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-3356.yml diff --git a/html/changelogs/AutoChangeLog-pr-3312.yml b/html/changelogs/AutoChangeLog-pr-3312.yml deleted file mode 100644 index 287478974fbf..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3312.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: Gristlebee -changes: - - {rscadd: Unsaftied guns can go off on their own.} - - {code_imp: Changes ammo casing firing code so it's able to work without a user.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3355.yml b/html/changelogs/AutoChangeLog-pr-3355.yml deleted file mode 100644 index d0f89b671aaa..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3355.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Zevotech -changes: - - {bugfix: Certain Subshuttle engine prechargers have now been correctly rotated.} -delete-after: true diff --git a/html/changelogs/AutoChangeLog-pr-3356.yml b/html/changelogs/AutoChangeLog-pr-3356.yml deleted file mode 100644 index 35b9605de5a6..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3356.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: FalloutFalcon -changes: - - {rscdel: Removed useless vars} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index 26c6706451e2..1658836d2220 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -90,3 +90,11 @@ - rscdel: Removed forced emotes from most reagents. ToasterBiome: - bugfix: Centcom Ban DB is now accessible again through PP +2024-09-15: + FalloutFalcon: + - rscdel: Removed useless vars + Gristlebee: + - rscadd: Unsaftied guns can go off on their own. + - code_imp: Changes ammo casing firing code so it's able to work without a user. + Zevotech: + - bugfix: Certain Subshuttle engine prechargers have now been correctly rotated. From 815a2992aab763e15495c14b65e9b759343ec6e0 Mon Sep 17 00:00:00 2001 From: Gristlebee <56049844+Gristlebee@users.noreply.github.com> Date: Sat, 14 Sep 2024 23:20:11 -0700 Subject: [PATCH 21/28] Fixes gun misfires always happening (#3363) ## About The Pull Request I fucked up, sorrrrryyy. I forgot to fix the chances ## Why It's Good For The Game Fixes good ## Changelog :cl: fix: Misfires no longer have 100% chance /:cl: --- code/__DEFINES/guns.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/__DEFINES/guns.dm b/code/__DEFINES/guns.dm index b98da0bc1d18..d1cea0d28de4 100644 --- a/code/__DEFINES/guns.dm +++ b/code/__DEFINES/guns.dm @@ -70,9 +70,9 @@ #define MANUFACTURER_IMPORT "Lanchester Import Co." // Misfire chances if the gun's safety is off -#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_LOW 100 -#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM 100 -#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH 100 +#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_LOW 5 +#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_MEDIUM 10 +#define GUN_NO_SAFETY_MALFUNCTION_CHANCE_HIGH 15 ///////////////// // ATTACHMENTS // From 4087e45294be8522aaed30a35a8e8862e704c36c Mon Sep 17 00:00:00 2001 From: Changelogs Date: Sun, 15 Sep 2024 01:31:06 -0500 Subject: [PATCH 22/28] Automatic changelog generation for PR #3363 [ci skip] --- html/changelogs/AutoChangeLog-pr-3363.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3363.yml diff --git a/html/changelogs/AutoChangeLog-pr-3363.yml b/html/changelogs/AutoChangeLog-pr-3363.yml new file mode 100644 index 000000000000..30311adf0679 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3363.yml @@ -0,0 +1,4 @@ +author: Gristlebee +changes: + - {bugfix: Misfires no longer have 100% chance} +delete-after: true From 2e4418b53ea23b5ead911c98f3b1efc3b943e58d Mon Sep 17 00:00:00 2001 From: Changelogs Date: Mon, 16 Sep 2024 01:03:21 +0000 Subject: [PATCH 23/28] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3363.yml | 4 ---- html/changelogs/archive/2024-09.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3363.yml diff --git a/html/changelogs/AutoChangeLog-pr-3363.yml b/html/changelogs/AutoChangeLog-pr-3363.yml deleted file mode 100644 index 30311adf0679..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3363.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Gristlebee -changes: - - {bugfix: Misfires no longer have 100% chance} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index 1658836d2220..9ba7cae9be4b 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -98,3 +98,6 @@ - code_imp: Changes ammo casing firing code so it's able to work without a user. Zevotech: - bugfix: Certain Subshuttle engine prechargers have now been correctly rotated. +2024-09-16: + Gristlebee: + - bugfix: Misfires no longer have 100% chance From 46b6217d03daeebd9e262141aefb6f706d25242d Mon Sep 17 00:00:00 2001 From: Erika Fox <94164348+Bjarl@users.noreply.github.com> Date: Tue, 17 Sep 2024 20:35:18 -0400 Subject: [PATCH 24/28] Concrete Mix @ Outpost (#3376) ## About The Pull Request I don't know how we've gotten this far without stable concrete mix. It's a staple of concrete related situations. Adds a chemical jug of concrete mix (in an ideal world this would be a big chalky bag) to the outpost for 1000 credits. ## Why It's Good For The Game Construction fluff. Also useful for a ship I'm planning. ## Changelog :cl: add: You can now purchase concrete mix at the outpost. For concrete making. /:cl: --- code/modules/cargo/packs/material.dm | 6 ++++++ .../modules/reagents/chemistry/reagents/other_reagents.dm | 8 ++++++++ code/modules/reagents/chemistry/recipes/others.dm | 4 ++++ code/modules/reagents/reagent_containers/jug.dm | 4 ++++ 4 files changed, 22 insertions(+) diff --git a/code/modules/cargo/packs/material.dm b/code/modules/cargo/packs/material.dm index dc01a4dfdc75..238b6491ea3b 100644 --- a/code/modules/cargo/packs/material.dm +++ b/code/modules/cargo/packs/material.dm @@ -111,3 +111,9 @@ contains = list(/obj/item/stack/sheet/mineral/wood/fifty) crate_name = "wood planks crate" +/datum/supply_pack/material/concrete_mix + name = "Concrete Mix (Jug)" + desc = "Feeling lazy? Need a structure and quick? Use concrete! Just add water." + cost = 500 + contains = list(/obj/item/reagent_containers/glass/chem_jug/concrete_mix) + crate_name = "Concrete Mix" diff --git a/code/modules/reagents/chemistry/reagents/other_reagents.dm b/code/modules/reagents/chemistry/reagents/other_reagents.dm index 56d248e1d447..11306b441f1e 100644 --- a/code/modules/reagents/chemistry/reagents/other_reagents.dm +++ b/code/modules/reagents/chemistry/reagents/other_reagents.dm @@ -2358,6 +2358,14 @@ else addtimer(CALLBACK(L, TYPE_PROC_REF(/mob/living, gib)), 5 SECONDS) +/datum/reagent/concrete_mix + name = "Concrete Mix" + description = "Pre-made concrete mix, ideal for lazy engineers." + color = "#c4c0bc" + taste_description = "chalky concrete" + harmful = TRUE + reagent_state = SOLID + /datum/reagent/cement name = "Cement" description = "A sophisticated binding agent used to produce concrete." diff --git a/code/modules/reagents/chemistry/recipes/others.dm b/code/modules/reagents/chemistry/recipes/others.dm index e7494191d1df..d9b6b782115e 100644 --- a/code/modules/reagents/chemistry/recipes/others.dm +++ b/code/modules/reagents/chemistry/recipes/others.dm @@ -620,6 +620,10 @@ required_temp = 400 mix_message = "The mixture boils off a grey vapor..."//The water boils off, leaving the cement +/datum/chemical_reaction/quick_concrete + results = list(/datum/reagent/concrete = 5) + required_reagents = list(/datum/reagent/concrete_mix = 5, /datum/reagent/water = 5) + /datum/chemical_reaction/hexement results = list(/datum/reagent/cement/hexement = 1) required_reagents = list(/datum/reagent/cement = 6, /datum/reagent/phenol = 1) diff --git a/code/modules/reagents/reagent_containers/jug.dm b/code/modules/reagents/reagent_containers/jug.dm index 46c5620ecb20..8214a0747dfc 100644 --- a/code/modules/reagents/reagent_containers/jug.dm +++ b/code/modules/reagents/reagent_containers/jug.dm @@ -148,3 +148,7 @@ name = "chemical jug (hexacrete)" list_reagents = list(/datum/reagent/concrete/hexacrete = 150) +/obj/item/reagent_containers/glass/chem_jug/concrete_mix + name = "chemical jug (concrete mix)" + desc = "Just pour out and add water!" + list_reagents = list(/datum/reagent/concrete_mix = 150) From fb59591fb50db170514c17781a56bc5a2a65b8df Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 17 Sep 2024 19:47:00 -0500 Subject: [PATCH 25/28] Automatic changelog generation for PR #3376 [ci skip] --- html/changelogs/AutoChangeLog-pr-3376.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3376.yml diff --git a/html/changelogs/AutoChangeLog-pr-3376.yml b/html/changelogs/AutoChangeLog-pr-3376.yml new file mode 100644 index 000000000000..49eb0a8d7b9b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3376.yml @@ -0,0 +1,4 @@ +author: Bjarl +changes: + - {rscadd: You can now purchase concrete mix at the outpost. For concrete making.} +delete-after: true From bfbe7eb431c5f4263acaae80e85158e4d49d18cc Mon Sep 17 00:00:00 2001 From: Changelogs Date: Wed, 18 Sep 2024 00:59:29 +0000 Subject: [PATCH 26/28] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-3376.yml | 4 ---- html/changelogs/archive/2024-09.yml | 3 +++ 2 files changed, 3 insertions(+), 4 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-3376.yml diff --git a/html/changelogs/AutoChangeLog-pr-3376.yml b/html/changelogs/AutoChangeLog-pr-3376.yml deleted file mode 100644 index 49eb0a8d7b9b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-3376.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: Bjarl -changes: - - {rscadd: You can now purchase concrete mix at the outpost. For concrete making.} -delete-after: true diff --git a/html/changelogs/archive/2024-09.yml b/html/changelogs/archive/2024-09.yml index 9ba7cae9be4b..dde60b3d120b 100644 --- a/html/changelogs/archive/2024-09.yml +++ b/html/changelogs/archive/2024-09.yml @@ -101,3 +101,6 @@ 2024-09-16: Gristlebee: - bugfix: Misfires no longer have 100% chance +2024-09-18: + Bjarl: + - rscadd: You can now purchase concrete mix at the outpost. For concrete making. From 8b2faaffa17b03a65fb5a82d4c4680dce9558845 Mon Sep 17 00:00:00 2001 From: FalloutFalcon <86381784+FalloutFalcon@users.noreply.github.com> Date: Tue, 17 Sep 2024 19:35:23 -0500 Subject: [PATCH 27/28] CTF machines are only added to processing when CTF starts (#3360) ## About The Pull Request small optimization to reduce the size of SSmachines processing ## Why It's Good For The Game ## Changelog :cl: code: ctf machines now only process while ctf is running /:cl: --- _maps/map_files/generic/CentCom.dmm | 4 ++-- code/modules/awaymissions/capture_the_flag.dm | 3 +++ code/modules/awaymissions/mission_code/challenge.dm | 10 ++++++++++ code/modules/power/singularity/emitter.dm | 10 ---------- 4 files changed, 15 insertions(+), 12 deletions(-) diff --git a/_maps/map_files/generic/CentCom.dmm b/_maps/map_files/generic/CentCom.dmm index 13e075e9884d..fdfae529865d 100644 --- a/_maps/map_files/generic/CentCom.dmm +++ b/_maps/map_files/generic/CentCom.dmm @@ -154,7 +154,7 @@ /turf/open/floor/plating, /area/ctf) "agI" = ( -/obj/machinery/power/emitter/energycannon{ +/obj/machinery/power/emitter/energycannon/ctf{ active = 0 }, /turf/open/floor/plating, @@ -163,7 +163,7 @@ /turf/open/floor/plating, /area/ctf) "aha" = ( -/obj/machinery/power/emitter/energycannon{ +/obj/machinery/power/emitter/energycannon/ctf{ active = 0; dir = 1 }, diff --git a/code/modules/awaymissions/capture_the_flag.dm b/code/modules/awaymissions/capture_the_flag.dm index 2f87eea6d2a7..42d7643fb926 100644 --- a/code/modules/awaymissions/capture_the_flag.dm +++ b/code/modules/awaymissions/capture_the_flag.dm @@ -171,6 +171,7 @@ icon = 'icons/obj/device.dmi' icon_state = "syndbeacon" resistance_flags = INDESTRUCTIBLE + processing_flags = START_PROCESSING_MANUALLY var/team = WHITE_TEAM var/team_span = "" //Capture the Flag scoring @@ -347,6 +348,7 @@ /obj/machinery/capture_the_flag/proc/start_ctf() ctf_enabled = TRUE + START_PROCESSING(SSmachines, src) for(var/d in dead_barricades) var/obj/effect/ctf/dead_barricade/D = d D.respawn() @@ -378,6 +380,7 @@ /obj/machinery/capture_the_flag/proc/stop_ctf() ctf_enabled = FALSE + STOP_PROCESSING(SSmachines, src) arena_reset = FALSE var/area/A = get_area(src) for(var/i in GLOB.mob_list) diff --git a/code/modules/awaymissions/mission_code/challenge.dm b/code/modules/awaymissions/mission_code/challenge.dm index 05d079220151..6f8bb473b77a 100644 --- a/code/modules/awaymissions/mission_code/challenge.dm +++ b/code/modules/awaymissions/mission_code/challenge.dm @@ -35,3 +35,13 @@ /obj/machinery/power/emitter/energycannon/RefreshParts() return + +/obj/machinery/power/emitter/energycannon/ctf + processing_flags = START_PROCESSING_MANUALLY + +/obj/machinery/power/emitter/energycannon/ctf/proc/toggle_ctf(ctf_enabled) + src.active = ctf_enabled + if(ctf_enabled) + START_PROCESSING(SSmachines, src) + else + STOP_PROCESSING(SSmachines, src) diff --git a/code/modules/power/singularity/emitter.dm b/code/modules/power/singularity/emitter.dm index 2dcaa224a71e..73920780bef3 100644 --- a/code/modules/power/singularity/emitter.dm +++ b/code/modules/power/singularity/emitter.dm @@ -357,16 +357,6 @@ if(user) user.visible_message("[user.name] emags [src].", "You short out the lock.") -/obj/machinery/power/emitter/ctf - name = "Energy Cannon" - active = TRUE - active_power_usage = FALSE - idle_power_usage = FALSE - locked = TRUE - req_access_txt = "100" - welded = TRUE - use_power = FALSE - /obj/machinery/power/emitter/welded/Initialize() welded = TRUE return ..() From 29177cb4020f1da6a77357f1de050b6b732afcaa Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 17 Sep 2024 20:10:40 -0500 Subject: [PATCH 28/28] Automatic changelog generation for PR #3360 [ci skip] --- html/changelogs/AutoChangeLog-pr-3360.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-3360.yml diff --git a/html/changelogs/AutoChangeLog-pr-3360.yml b/html/changelogs/AutoChangeLog-pr-3360.yml new file mode 100644 index 000000000000..70c427bfbfb5 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-3360.yml @@ -0,0 +1,4 @@ +author: FalloutFalcon +changes: + - {code_imp: ctf machines now only process while ctf is running} +delete-after: true