From 2bf2540ce3ac14b2845f16a340f3d6028f976e9b Mon Sep 17 00:00:00 2001 From: Blundir <100090741+Blundir@users.noreply.github.com> Date: Tue, 7 Nov 2023 01:03:00 +0200 Subject: [PATCH 01/16] Shotgun tube toggle hotkey (#4794) # About the pull request Adds hotkey to toggling multi magazine on multi tube shotgun. # Explain why it's good for the game Having hotkeys for combat related actions is very important. # Changelog :cl: add: added shotgun tube toggle hotkey /:cl: --------- Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com> --- code/__DEFINES/keybinding.dm | 1 + code/datums/keybinding/human_combat.dm | 17 +++++++++++++++++ 2 files changed, 18 insertions(+) diff --git a/code/__DEFINES/keybinding.dm b/code/__DEFINES/keybinding.dm index 88f194bb33df..5a0809d83ac1 100644 --- a/code/__DEFINES/keybinding.dm +++ b/code/__DEFINES/keybinding.dm @@ -87,6 +87,7 @@ #define COMSIG_KB_HUMAN_WEAPON_UNLOAD "keybinding_human_weapon_unload" #define COMSIG_KB_HUMAN_WEAPON_ATTACHMENT "keybinding_human_weapon_attachment" #define COMSIG_KB_HUMAN_WEAPON_ATTACHMENT_RAIL "keybinding_human_weapon_attachment_rail" +#define COMSIG_KB_HUMAN_WEAPON_SHOTGUN_TUBE "keybinding_human_weapon_shotgun_tube" #define COMSIG_KB_HUMAN_WEAPON_TOGGLE_IFF "keybinding_human_weapon_toggle_iff" diff --git a/code/datums/keybinding/human_combat.dm b/code/datums/keybinding/human_combat.dm index 2f37efc61438..d30414d68563 100644 --- a/code/datums/keybinding/human_combat.dm +++ b/code/datums/keybinding/human_combat.dm @@ -190,3 +190,20 @@ var/obj/item/weapon/gun/rifle/m46c/COgun = held_item COgun.toggle_iff(human) return TRUE + +/datum/keybinding/human/combat/toggle_shotgun_tube + hotkey_keys = list("Unbound") + classic_keys = list("Unbound") + name = "toggle_shotgun_tube" + full_name = "Toggle Shotgun Tube" + keybind_signal = COMSIG_KB_HUMAN_WEAPON_SHOTGUN_TUBE + +/datum/keybinding/human/combat/toggle_shotgun_tube/down(client/user) + . = ..() + if(.) + return + var/mob/living/carbon/human/human = user.mob + var/obj/item/weapon/gun/shotgun/pump/dual_tube/held_item = human.get_held_item() + if(istype(held_item)) + held_item.toggle_tube() + return TRUE From ca2ccf345cb2a1826ff4f2619a77afc52047a779 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Mon, 6 Nov 2023 23:15:31 +0000 Subject: [PATCH 02/16] Automatic changelog for PR #4794 [ci skip] --- html/changelogs/AutoChangeLog-pr-4794.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4794.yml diff --git a/html/changelogs/AutoChangeLog-pr-4794.yml b/html/changelogs/AutoChangeLog-pr-4794.yml new file mode 100644 index 000000000000..2cfd2f357e4b --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4794.yml @@ -0,0 +1,4 @@ +author: "Blundir" +delete-after: True +changes: + - rscadd: "added shotgun tube toggle hotkey" \ No newline at end of file From 329074ce3fdca18d25252537c226064209d6e6c1 Mon Sep 17 00:00:00 2001 From: Changelogs Date: Tue, 7 Nov 2023 01:09:53 +0000 Subject: [PATCH 03/16] Automatic changelog compile [ci skip] --- html/changelogs/AutoChangeLog-pr-4572.yml | 5 -- html/changelogs/AutoChangeLog-pr-4623.yml | 4 -- html/changelogs/AutoChangeLog-pr-4628.yml | 4 -- html/changelogs/AutoChangeLog-pr-4699.yml | 10 ---- html/changelogs/AutoChangeLog-pr-4794.yml | 4 -- html/changelogs/AutoChangeLog-pr-4796.yml | 5 -- html/changelogs/AutoChangeLog-pr-4811.yml | 5 -- html/changelogs/AutoChangeLog-pr-4815.yml | 4 -- html/changelogs/AutoChangeLog-pr-4819.yml | 4 -- html/changelogs/AutoChangeLog-pr-4823.yml | 4 -- html/changelogs/AutoChangeLog-pr-4825.yml | 4 -- html/changelogs/AutoChangeLog-pr-4826.yml | 4 -- html/changelogs/AutoChangeLog-pr-4830.yml | 4 -- html/changelogs/AutoChangeLog-pr-4831.yml | 5 -- html/changelogs/AutoChangeLog-pr-4832.yml | 4 -- html/changelogs/AutoChangeLog-pr-4834.yml | 4 -- html/changelogs/AutoChangeLog-pr-4835.yml | 4 -- html/changelogs/AutoChangeLog-pr-4838.yml | 4 -- html/changelogs/AutoChangeLog-pr-4841.yml | 4 -- html/changelogs/AutoChangeLog-pr-4845.yml | 4 -- html/changelogs/AutoChangeLog-pr-4847.yml | 4 -- html/changelogs/archive/2023-11.yml | 60 +++++++++++++++++++++++ 22 files changed, 60 insertions(+), 94 deletions(-) delete mode 100644 html/changelogs/AutoChangeLog-pr-4572.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4623.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4628.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4699.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4794.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4796.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4811.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4815.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4819.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4823.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4825.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4826.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4830.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4831.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4832.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4834.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4835.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4838.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4841.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4845.yml delete mode 100644 html/changelogs/AutoChangeLog-pr-4847.yml diff --git a/html/changelogs/AutoChangeLog-pr-4572.yml b/html/changelogs/AutoChangeLog-pr-4572.yml deleted file mode 100644 index 5dd4e07a3200..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4572.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "TopHatPenguin" -delete-after: True -changes: - - rscadd: "Adds a mostly built communications office nightmare insert to Kutjevo which attaches onto the sensor tower." - - rscadd: "Re-adds the Kutjevo blackbox." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4623.yml b/html/changelogs/AutoChangeLog-pr-4623.yml deleted file mode 100644 index d79a53a45b70..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4623.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Firartix and Frans_Feiffer" -delete-after: True -changes: - - rscadd: "Readded Halloween pumpkin helmets." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4628.yml b/html/changelogs/AutoChangeLog-pr-4628.yml deleted file mode 100644 index e00fa7383896..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4628.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "realforest2001" -delete-after: True -changes: - - rscadd: "Added a big line to Nightmare survivor spawns that indicates hostility." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4699.yml b/html/changelogs/AutoChangeLog-pr-4699.yml deleted file mode 100644 index 691f38c5f4e4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4699.yml +++ /dev/null @@ -1,10 +0,0 @@ -author: "Morrow, Zonespace" -delete-after: True -changes: - - rscadd: "Added objectives to hijack. You now must hold different sections of the ship to successfully launch lifeboats or pods" - - rscadd: "The areas that contribute to hijack objectives are the lifeboat pumps, astronav, and engineering" - - rscadd: "Fuel pumps now have red alert sentries" - - rscadd: "Corporate liaison evac shuttle now can be launched at any time even if evac has not been called" - - rscadd: "You can now self-destruct the ship by overloading the fusion generators in engineering once lifeboat fuel is at 100%." - - rscdel: "Removed auto launch of lifeboats and pods" - - code_imp: "Refactored EvacuationAuthority into SShijack" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4794.yml b/html/changelogs/AutoChangeLog-pr-4794.yml deleted file mode 100644 index 2cfd2f357e4b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4794.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Blundir" -delete-after: True -changes: - - rscadd: "added shotgun tube toggle hotkey" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4796.yml b/html/changelogs/AutoChangeLog-pr-4796.yml deleted file mode 100644 index b314142a6e81..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4796.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "BeagleGaming1" -delete-after: True -changes: - - code_imp: "Tents now hold the datum directly, instead of the typepath" - - admin: "Added a proc for staff to change tent dmm's" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4811.yml b/html/changelogs/AutoChangeLog-pr-4811.yml deleted file mode 100644 index c679e21335ac..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4811.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "AndroBetel" -delete-after: True -changes: - - spellcheck: "Fixed a typo in RO rules sign." - - spellcheck: "RO mention is no more, replaced with QM." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4815.yml b/html/changelogs/AutoChangeLog-pr-4815.yml deleted file mode 100644 index 029707a4b807..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4815.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Doubleumc" -delete-after: True -changes: - - bugfix: "vehicle interiors can hear exterior noises" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4819.yml b/html/changelogs/AutoChangeLog-pr-4819.yml deleted file mode 100644 index 48abe6072890..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4819.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "IowaPotatoFarmer" -delete-after: True -changes: - - rscadd: "Added new survivor presets for New Varadero to make them more visually distinct and unique to the map." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4823.yml b/html/changelogs/AutoChangeLog-pr-4823.yml deleted file mode 100644 index 75e0f5807495..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4823.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Drathek" -delete-after: True -changes: - - bugfix: "Fixed various job's entry messages having broken links to the wiki" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4825.yml b/html/changelogs/AutoChangeLog-pr-4825.yml deleted file mode 100644 index a63550514e3b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4825.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Xander3359" -delete-after: True -changes: - - bugfix: "Fixes being able to create ghost tanks from a Broiler-T unit." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4826.yml b/html/changelogs/AutoChangeLog-pr-4826.yml deleted file mode 100644 index b06b575cb81d..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4826.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Steelpoint" -delete-after: True -changes: - - rscadd: "Corpsman can chose to optionally vend a set of armoured sterile gloves as a alternative to regular gloves. They provide full glove protection, but are otherwise an aesthetic choice." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4830.yml b/html/changelogs/AutoChangeLog-pr-4830.yml deleted file mode 100644 index 2eaaf3f2081f..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4830.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "fira" -delete-after: True -changes: - - admin: "Added better logging for orbital bombardment." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4831.yml b/html/changelogs/AutoChangeLog-pr-4831.yml deleted file mode 100644 index f405e983a48b..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4831.yml +++ /dev/null @@ -1,5 +0,0 @@ -author: "IowaPotatoFarmer" -delete-after: True -changes: - - rscdel: "Removed the ability to build ground structures or anchor wall girders on top of xeno tunnels." - - bugfix: "Fixed wall girders being anchorable on shuttle tiles." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4832.yml b/html/changelogs/AutoChangeLog-pr-4832.yml deleted file mode 100644 index 9f9570a6cc47..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4832.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "blackdragonTOW" -delete-after: True -changes: - - imageadd: "Changed nanotrasen cashcard icon to W-Y" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4834.yml b/html/changelogs/AutoChangeLog-pr-4834.yml deleted file mode 100644 index 7778f38607b4..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4834.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Alexguinea" -delete-after: True -changes: - - rscadd: "Added toners to the rec vendor" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4835.yml b/html/changelogs/AutoChangeLog-pr-4835.yml deleted file mode 100644 index 6fcce13e1ece..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4835.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "fira" -delete-after: True -changes: - - rscdel: "Removed unused magnet and mass driver legacy SS13 machinery." \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4838.yml b/html/changelogs/AutoChangeLog-pr-4838.yml deleted file mode 100644 index 0bde8de19bd9..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4838.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "SpartanBobby" -delete-after: True -changes: - - maptweak: "Alot of changes to big reds admin area, including new windows, prop placement, room detailing, new doors" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4841.yml b/html/changelogs/AutoChangeLog-pr-4841.yml deleted file mode 100644 index d6f6b2fae886..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4841.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "Releasethesea" -delete-after: True -changes: - - balance: "Makes it so that Pill packets fit in helmets" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4845.yml b/html/changelogs/AutoChangeLog-pr-4845.yml deleted file mode 100644 index 6f72d4bf6272..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4845.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "fira" -delete-after: True -changes: - - bugfix: "Fixed being able to put anything in your boots. You're not wizards!" \ No newline at end of file diff --git a/html/changelogs/AutoChangeLog-pr-4847.yml b/html/changelogs/AutoChangeLog-pr-4847.yml deleted file mode 100644 index 492ab7973cb1..000000000000 --- a/html/changelogs/AutoChangeLog-pr-4847.yml +++ /dev/null @@ -1,4 +0,0 @@ -author: "567Turtle" -delete-after: True -changes: - - soundadd: "New whistle sound effect" \ No newline at end of file diff --git a/html/changelogs/archive/2023-11.yml b/html/changelogs/archive/2023-11.yml index 2d89cade6388..18b35afdd339 100644 --- a/html/changelogs/archive/2023-11.yml +++ b/html/changelogs/archive/2023-11.yml @@ -48,3 +48,63 @@ you pack and send crates and items via disposals again. - balance: Whiskey Outpost supply drops should now be more interesting and impactful. - rscadd: Added missing Synth vendors on WO. +2023-11-07: + 567Turtle: + - soundadd: New whistle sound effect + Alexguinea: + - rscadd: Added toners to the rec vendor + AndroBetel: + - spellcheck: Fixed a typo in RO rules sign. + - spellcheck: RO mention is no more, replaced with QM. + BeagleGaming1: + - code_imp: Tents now hold the datum directly, instead of the typepath + - admin: Added a proc for staff to change tent dmm's + Blundir: + - rscadd: added shotgun tube toggle hotkey + Doubleumc: + - bugfix: vehicle interiors can hear exterior noises + Drathek: + - bugfix: Fixed various job's entry messages having broken links to the wiki + Firartix and Frans_Feiffer: + - rscadd: Readded Halloween pumpkin helmets. + IowaPotatoFarmer: + - rscadd: Added new survivor presets for New Varadero to make them more visually + distinct and unique to the map. + - rscdel: Removed the ability to build ground structures or anchor wall girders + on top of xeno tunnels. + - bugfix: Fixed wall girders being anchorable on shuttle tiles. + Morrow, Zonespace: + - rscadd: Added objectives to hijack. You now must hold different sections of the + ship to successfully launch lifeboats or pods + - rscadd: The areas that contribute to hijack objectives are the lifeboat pumps, + astronav, and engineering + - rscadd: Fuel pumps now have red alert sentries + - rscadd: Corporate liaison evac shuttle now can be launched at any time even if + evac has not been called + - rscadd: You can now self-destruct the ship by overloading the fusion generators + in engineering once lifeboat fuel is at 100%. + - rscdel: Removed auto launch of lifeboats and pods + - code_imp: Refactored EvacuationAuthority into SShijack + Releasethesea: + - balance: Makes it so that Pill packets fit in helmets + SpartanBobby: + - maptweak: Alot of changes to big reds admin area, including new windows, prop + placement, room detailing, new doors + Steelpoint: + - rscadd: Corpsman can chose to optionally vend a set of armoured sterile gloves + as a alternative to regular gloves. They provide full glove protection, but + are otherwise an aesthetic choice. + TopHatPenguin: + - rscadd: Adds a mostly built communications office nightmare insert to Kutjevo + which attaches onto the sensor tower. + - rscadd: Re-adds the Kutjevo blackbox. + Xander3359: + - bugfix: Fixes being able to create ghost tanks from a Broiler-T unit. + blackdragonTOW: + - imageadd: Changed nanotrasen cashcard icon to W-Y + fira: + - rscdel: Removed unused magnet and mass driver legacy SS13 machinery. + - bugfix: Fixed being able to put anything in your boots. You're not wizards! + - admin: Added better logging for orbital bombardment. + realforest2001: + - rscadd: Added a big line to Nightmare survivor spawns that indicates hostility. From 37f49c3906a76c6d9d9782578411a0b18db8f929 Mon Sep 17 00:00:00 2001 From: Releasethesea <135743398+Releasethesea@users.noreply.github.com> Date: Tue, 7 Nov 2023 04:11:48 -0600 Subject: [PATCH 04/16] Cigars now fit in helmets (#4851) # About the pull request Cigars couldnt fit in helmets, i *think* it was unintentional so im fixing/adding it # Explain why it's good for the game if cigarettes could fit, why couldnt cigars? well now they can. # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: add: Makes it so cigars fit in helmets. /:cl: --- code/modules/clothing/head/helmet.dm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/code/modules/clothing/head/helmet.dm b/code/modules/clothing/head/helmet.dm index 2c89d31e04cf..45ee972e7091 100644 --- a/code/modules/clothing/head/helmet.dm +++ b/code/modules/clothing/head/helmet.dm @@ -217,6 +217,8 @@ GLOBAL_LIST_INIT(allowed_helmet_items, list( /obj/item/storage/fancy/cigarettes/arcturian_ace = "helmet_cig_aapack", /obj/item/storage/fancy/cigarettes/lucky_strikes_4 = "hat_cig_ls_mre", /obj/item/storage/fancy/cigar/matchbook = "helmet_matches_mre", + /obj/item/clothing/mask/cigarette/cigar = "helmet_cig_cig", + /obj/item/clothing/mask/electronic_cigarette = "helmet_cig_cig", // CARDS /obj/item/toy/deck = "helmet_card_deck", From ffdb0546a19d02e595ab952494e377b1222d8938 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Tue, 7 Nov 2023 10:21:04 +0000 Subject: [PATCH 05/16] Automatic changelog for PR #4851 [ci skip] --- html/changelogs/AutoChangeLog-pr-4851.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4851.yml diff --git a/html/changelogs/AutoChangeLog-pr-4851.yml b/html/changelogs/AutoChangeLog-pr-4851.yml new file mode 100644 index 000000000000..e6e261c03e38 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4851.yml @@ -0,0 +1,4 @@ +author: "Releasethesea" +delete-after: True +changes: + - rscadd: "Makes it so cigars fit in helmets." \ No newline at end of file From 830e002a27b7b4115815e450b8506832cb403a02 Mon Sep 17 00:00:00 2001 From: QuickLode <63271983+QuickLode@users.noreply.github.com> Date: Tue, 7 Nov 2023 03:22:07 -0800 Subject: [PATCH 06/16] Adds a Colony Synthetic variant, with bug fixes (#4760) # About the pull request 1. should fix fax machine problem(thx forest) 2. gives trucker synth the frontier jumpsuit(Thwomplert) 3. adds Freelancer Synthetic. This Synth is one that was bought off a civi market and reprogrammed, or stolen and reprogrammed, or hacked, You get the point - its going with a band of freelancers. The idea behind it is that this synth's team is dead and they are just programmed as a merc for pay - hoping to someday find their boss boss and give the money as set up. I always thought about this one for a long time and decided to put him in the civilian category, where its hard to roll and also gives you freedom to choose your allegiance. In this case I hope that a freelancer synthetic will open up unique avenue of RP and allegiance. I've only explored it once ingame, but it was very good for RP! Hopefully people can recreate this success. was hard to make this guy look cool and I also wasn't sure on what his loadout would be. I ended up giving him random generic stuff while looking like a beat up freelancer(missing the armor especially hurt his look, since thats the largest piece of a freelancer - the curiass, but I don't want to give armor for balance reasons) and no beret because its for a SL only. as usual, if a synth wants to change RP avenues and don different clothes for different RP, no one would know the difference # Explain why it's good for the game 1. bug bad 2. a beat up UA laborer that so happens to be synthetic. you wouldn't expect it because there's so many similar looking people! exactly the job of a synth - to blend in. 3. Freelancer colony synth hopefully will open up a unique avenue of RP. If they don't want to they can always ditch it - but its on a relatively rare and uncommon roll anyways. # Testing Photographs and Procedure
[Screenshots & Videos](https://cdn.discordapp.com/attachments/490668342357786645/1166307813719556187/image.png?ex=654a03cb&is=65378ecb&hm=7108218bbaab61c78c0bedcecbfdcc07bdf9db87a3fefe9fb94b28d3430cc815&) Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: add: adds another Colony Synthetic variant, changes up some existing ones(trucker,CMB) fix: fixes a small problem with WY-Colony Synthetic access(thx forest), adds WY subtype of Synthetics for admin building/faxes fix: fixes problems with organic spawning ferret industries Trucker Synthetic /:cl: --- code/datums/map_config.dm | 8 +++-- code/modules/clothing/under/marine_uniform.dm | 2 +- code/modules/gear_presets/synths.dm | 30 ++++++++++++++++--- 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/code/datums/map_config.dm b/code/datums/map_config.dm index 1f3c265ead76..3bf5c601cec9 100644 --- a/code/datums/map_config.dm +++ b/code/datums/map_config.dm @@ -87,12 +87,14 @@ /datum/equipment_preset/synth/survivor/janitor_synth, /datum/equipment_preset/synth/survivor/chef_synth, /datum/equipment_preset/synth/survivor/teacher_synth, + /datum/equipment_preset/synth/survivor/freelancer_synth, + /datum/equipment_preset/synth/survivor/trucker_synth, /datum/equipment_preset/synth/survivor/bartender_synth, /datum/equipment_preset/synth/survivor/detective_synth, /datum/equipment_preset/synth/survivor/cmb_synth, - /datum/equipment_preset/synth/survivor/security_synth, - /datum/equipment_preset/synth/survivor/protection_synth, - /datum/equipment_preset/synth/survivor/corporate_synth, + /datum/equipment_preset/synth/survivor/wy/security_synth, + /datum/equipment_preset/synth/survivor/wy/protection_synth, + /datum/equipment_preset/synth/survivor/wy/corporate_synth, /datum/equipment_preset/synth/survivor/radiation_synth, ) diff --git a/code/modules/clothing/under/marine_uniform.dm b/code/modules/clothing/under/marine_uniform.dm index 59cc02b12577..847652636e75 100644 --- a/code/modules/clothing/under/marine_uniform.dm +++ b/code/modules/clothing/under/marine_uniform.dm @@ -581,7 +581,7 @@ worn_state = "freelancer_uniform" min_cold_protection_temperature = ICE_PLANET_MIN_COLD_PROT has_sensor = UNIFORM_NO_SENSORS - suit_restricted = list(/obj/item/clothing/suit/storage/marine/faction/freelancer) + suit_restricted = list(/obj/item/clothing/suit/storage/marine/faction/freelancer, /obj/item/clothing/suit/storage/webbing, /obj/item/clothing/suit/storage/utility_vest) //=========================//Dutch Dozen\\================================\\ diff --git a/code/modules/gear_presets/synths.dm b/code/modules/gear_presets/synths.dm index be0efb1bccaa..9ac7950b7246 100644 --- a/code/modules/gear_presets/synths.dm +++ b/code/modules/gear_presets/synths.dm @@ -147,6 +147,10 @@ . = ..() access = get_access(ACCESS_LIST_WY_PMC) +/datum/equipment_preset/synth/survivor/wy/New() + . = ..() + access = get_access(ACCESS_LIST_COLONIAL_ALL) + get_region_accesses(2) + get_region_accesses(4) + ACCESS_MARINE_RESEARCH + ACCESS_WY_GENERAL // for WY synths - admin building and wy fax machines access + /datum/equipment_preset/synth/survivor/load_gear(mob/living/carbon/human/new_human) for(var/equipment in equipment_to_spawn) var/equipment_path = islist(equipment_to_spawn[equipment]) ? pick(equipment_to_spawn[equipment]) : equipment_to_spawn[equipment] @@ -300,11 +304,28 @@ WEAR_L_HAND = /obj/item/storage/large_holster/machete/full ) +/datum/equipment_preset/synth/survivor/freelancer_synth + name = "Survivor - Synthetic - Freelancer Synth" + equipment_to_spawn = list( + WEAR_HEAD = /obj/item/clothing/head/welding, + WEAR_FACE = /obj/item/clothing/mask/rebreather/scarf, + WEAR_BODY = /obj/item/clothing/under/marine/veteran/freelancer, + WEAR_BACK = /obj/item/storage/backpack/lightpack, + WEAR_IN_BACK = /obj/item/tool/weldpack/minitank, + WEAR_JACKET = /obj/item/clothing/suit/storage/utility_vest, + WEAR_IN_JACKET = /obj/item/explosive/grenade/smokebomb, + WEAR_WAIST = /obj/item/storage/belt/marine, + WEAR_HANDS = /obj/item/clothing/gloves/marine/veteran, + WEAR_R_HAND = /obj/item/storage/pouch/flare/full, + WEAR_FEET = /obj/item/clothing/shoes/marine/upp, + WEAR_L_HAND = /obj/item/storage/large_holster/katana/full + ) + /datum/equipment_preset/synth/survivor/trucker_synth name = "Survivor - Synthetic - Trucker Synth" equipment_to_spawn = list( WEAR_HEAD = /obj/item/clothing/head/soft/ferret, - WEAR_BODY = /obj/item/clothing/under/colonist, + WEAR_BODY = /obj/item/clothing/under/rank/synthetic/frontier, WEAR_BACK = /obj/item/storage/backpack/satchel/norm, WEAR_IN_BACK = /obj/item/pamphlet/skill/powerloader, WEAR_R_HAND = /obj/item/tool/weldingtool/hugetank, @@ -359,6 +380,7 @@ WEAR_L_EAR = /obj/item/device/radio/headset/distress/CMB/limited, WEAR_EYES = /obj/item/clothing/glasses/sunglasses/sechud, WEAR_BODY = /obj/item/clothing/under/CM_uniform, + WEAR_ACCESSORY = /obj/item/clothing/accessory/holobadge/cord, WEAR_BACK = /obj/item/storage/backpack/satchel/sec, WEAR_IN_BACK = /obj/item/device/camera, WEAR_IN_BACK = /obj/item/device/taperecorder, @@ -373,7 +395,7 @@ survivor_variant = SECURITY_SURVIVOR -/datum/equipment_preset/synth/survivor/security_synth +/datum/equipment_preset/synth/survivor/wy/security_synth name = "Survivor - Synthetic - Corporate Security Synth" idtype = /obj/item/card/id/silver/cl role_comm_title = "WY Syn" @@ -394,7 +416,7 @@ survivor_variant = SECURITY_SURVIVOR -/datum/equipment_preset/synth/survivor/protection_synth +/datum/equipment_preset/synth/survivor/wy/protection_synth name = "Survivor - Synthetic - Corporate Protection Synth" idtype = /obj/item/card/id/pmc role_comm_title = "WY Syn" @@ -418,7 +440,7 @@ survivor_variant = SECURITY_SURVIVOR -/datum/equipment_preset/synth/survivor/corporate_synth +/datum/equipment_preset/synth/survivor/wy/corporate_synth name = "Survivor - Synthetic - Corporate Clerical Synth" idtype = /obj/item/card/id/data role_comm_title = "WY Syn" From 80cf19bffbe4a79e7ba46a05886210f69073a7a4 Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Tue, 7 Nov 2023 11:34:42 +0000 Subject: [PATCH 07/16] Automatic changelog for PR #4760 [ci skip] --- html/changelogs/AutoChangeLog-pr-4760.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4760.yml diff --git a/html/changelogs/AutoChangeLog-pr-4760.yml b/html/changelogs/AutoChangeLog-pr-4760.yml new file mode 100644 index 000000000000..b16cb2437199 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4760.yml @@ -0,0 +1,6 @@ +author: "QuickLode" +delete-after: True +changes: + - rscadd: "adds another Colony Synthetic variant, changes up some existing ones(trucker,CMB)" + - bugfix: "fixes a small problem with WY-Colony Synthetic access(thx forest), adds WY subtype of Synthetics for admin building/faxes" + - bugfix: "fixes problems with organic spawning ferret industries Trucker Synthetic" \ No newline at end of file From 330cd7fa4715041827b44a2c683a78e81e729f85 Mon Sep 17 00:00:00 2001 From: zzzmike <85382350+zzzmike@users.noreply.github.com> Date: Tue, 7 Nov 2023 05:17:06 -0800 Subject: [PATCH 08/16] fixes typo (#4848) # About the pull request Fixes typo # Explain why it's good for the game typo bad # Testing Photographs and Procedure
Screenshots & Videos Put screenshots and videos here with an empty line between the screenshots and the `
` tags.
# Changelog :cl: spellcheck: fixed a typo /:cl: --- strings/metatips.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/strings/metatips.txt b/strings/metatips.txt index 24be6896bc05..a28c90239593 100644 --- a/strings/metatips.txt +++ b/strings/metatips.txt @@ -12,7 +12,7 @@ As a mentor, you can become the imaginary friend of a new player to teach them! You shouldn't ignore what your allies are up to. Sometimes they can be organizing a flank in hivemind/radio, sometimes they can be walking up behind you with a slug-loaded shotgun. Either way, it pays to be alert to what they're doing, as much to as what the enemies are. The Wiki (https://cm-ss13.com/wiki) is a very useful repository of information about the game, such as weapons, equipment, xenomorph castes and their strains. It may not be fully up to date much of the time, but the basics are usually accurate. As an observer, you may see how much remaining hijack time is left in the status panel. -You can always AdminHelp with the F1 key to question a mmeber of staff regarding rules or game bugs. +You can always AdminHelp with the F1 key to question a member of staff regarding rules or game bugs. As ghost you are given extra tools for spectating the round: you can jump and follow specific players, get notifications about CAS and OB strikes, can see all health bars, and such. You can press ESC key to bring up the game pause menu. It allows you change settings, AdminHelp and MentorHelp, and even access the Web Maps of game by clicking at top right. Dead? You can take that moment to 'Edit Characters' from Preferences or Escape menus, to flesh out your characters or change your settings. From a7e1d74dfe4b504acb1aa0b8b5f4f176501a7fce Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Tue, 7 Nov 2023 13:25:32 +0000 Subject: [PATCH 09/16] Automatic changelog for PR #4848 [ci skip] --- html/changelogs/AutoChangeLog-pr-4848.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4848.yml diff --git a/html/changelogs/AutoChangeLog-pr-4848.yml b/html/changelogs/AutoChangeLog-pr-4848.yml new file mode 100644 index 000000000000..4977495850ff --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4848.yml @@ -0,0 +1,4 @@ +author: "zzzmike" +delete-after: True +changes: + - spellcheck: "fixed a typo" \ No newline at end of file From 465b4c500f25ad1c74cf097ca78efd702dce37a4 Mon Sep 17 00:00:00 2001 From: Birdtalon Date: Tue, 7 Nov 2023 13:17:49 +0000 Subject: [PATCH 10/16] Adds icon for hive core and cluster to Xeno tacmap (#4820) There was supposed to be an icon for the hive core but it doesn't seem to exist. I added one for hive core and cluster ![dreammaker_2023-11-01_21-26-47](https://github.com/cmss13-devs/cmss13/assets/25027759/38f4d39f-4e1d-4874-bc8d-1a9a020a4604) ![2023-11-01_21-18-05](https://github.com/cmss13-devs/cmss13/assets/25027759/e0cf5302-004b-4a2a-9370-a8fcfac961a6) My sprites even at this level are awful. If someone who is actually artistic could make better ones I will use those. Likewise if you would like to make 2 states for the core, damaged and healthy I can restore the intended functionality of displaying a different icon for a damaged core. # About the pull request Places a Cabinet on a Wall in the SW Big Red mines. As evidenced by the below images, we did test it. Oddly enough, the cabinet was always empty. (Unless the cabinet's stuff was included in a sprinkle. In which case...Oops? We did check the sprinkle file names, but none seemed to mention the SW mines.) # Explain why it's good for the game Well. It probably isn't. It's an empty cabinet. But it looks nicer now? # Testing Photographs and Procedure
Screenshots & Videos What's been done in StrongDMM ![LookIdontgetpaidforinformaticgraphics](https://github.com/cmss13-devs/cmss13/assets/38842059/c39fbe6b-949d-4742-b4f4-3989a8159a55) What it looks like Ingame. ![Test SolarisRidgepixel](https://github.com/cmss13-devs/cmss13/assets/38842059/c50ffae8-0fd4-407a-8790-374a9d11b737)
# Changelog :cl: Skye. maptweak: Tweaks a Cabinet in the SW mines of Solaris Ridge fix: On account of it being propped up on the floor like a cardboard cutout. /:cl: --- maps/map_files/BigRed/BigRed.dmm | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/maps/map_files/BigRed/BigRed.dmm b/maps/map_files/BigRed/BigRed.dmm index b13a1d684262..412d970cffbd 100644 --- a/maps/map_files/BigRed/BigRed.dmm +++ b/maps/map_files/BigRed/BigRed.dmm @@ -37444,11 +37444,10 @@ }, /area/space) "weO" = ( -/obj/structure/closet/secure_closet/medical_wall, -/turf/open/floor/plating{ - dir = 8; - icon_state = "platingdmg3" +/obj/structure/closet/secure_closet/medical_wall{ + pixel_y = -5 }, +/turf/closed/wall/solaris/reinforced, /area/bigredv2/caves/mining) "wfd" = ( /obj/effect/decal/cleanable/dirt, @@ -44776,8 +44775,8 @@ aao aao aao aao -uHQ weO +pSa wtj rKs wJd From 49d89e7dbf45b2cf11ecbbfa94d2414e614fb45d Mon Sep 17 00:00:00 2001 From: cm13-github <128137806+cm13-github@users.noreply.github.com> Date: Tue, 7 Nov 2023 13:54:35 +0000 Subject: [PATCH 13/16] Automatic changelog for PR #4854 [ci skip] --- html/changelogs/AutoChangeLog-pr-4854.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4854.yml diff --git a/html/changelogs/AutoChangeLog-pr-4854.yml b/html/changelogs/AutoChangeLog-pr-4854.yml new file mode 100644 index 000000000000..c506769a9ab0 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4854.yml @@ -0,0 +1,5 @@ +author: "Skye." +delete-after: True +changes: + - maptweak: "Tweaks a Cabinet in the SW mines of Solaris Ridge" + - bugfix: "On account of it being propped up on the floor like a cardboard cutout." \ No newline at end of file From a341a35eede6590b0f06c4fcb43b14355d481588 Mon Sep 17 00:00:00 2001 From: fira Date: Tue, 7 Nov 2023 16:14:12 +0100 Subject: [PATCH 14/16] Code maintenace of Stats Entities (#4750) # About the pull request * Removes extraneous `= null` * Adds `Destroy` with proper clearing to all entities * Fixes up some single-letter vars and incorrect proc signatures * Transforms some comments to DMDoc * Generally tries to clear up the usage of the entity lists (they're MOSTLY indexed) # Explain why it's good for the game Code maintenance # Testing Photographs and Procedure Didn't see anything wrong but best tested in TM # Changelog Nothing player facing --- code/datums/mind.dm | 5 ++++ .../datums/statistics/entities/caste_stats.dm | 4 +++ .../datums/statistics/entities/death_stats.dm | 8 +++--- .../datums/statistics/entities/human_stats.dm | 15 ++++++++--- code/datums/statistics/entities/job_stats.dm | 14 +++++------ .../datums/statistics/entities/panel_stats.dm | 2 +- .../statistics/entities/player_entity.dm | 9 +++++-- .../statistics/entities/player_stats.dm | 10 +++++++- .../datums/statistics/entities/round_stats.dm | 18 ++++++++++--- .../statistics/entities/weapon_stats.dm | 25 ++++++++++++------- code/datums/statistics/entities/xeno_stats.dm | 6 +++++ 11 files changed, 85 insertions(+), 31 deletions(-) diff --git a/code/datums/mind.dm b/code/datums/mind.dm index 2e56b963e88f..9e8279a843a4 100644 --- a/code/datums/mind.dm +++ b/code/datums/mind.dm @@ -29,9 +29,14 @@ research_objective_interface = new() /datum/mind/Destroy() + QDEL_NULL(initial_account) QDEL_NULL(objective_memory) QDEL_NULL(objective_interface) QDEL_NULL(research_objective_interface) + current = null + original = null + ghost_mob = null + player_entity = null return ..() /datum/mind/proc/transfer_to(mob/living/new_character, force = FALSE) diff --git a/code/datums/statistics/entities/caste_stats.dm b/code/datums/statistics/entities/caste_stats.dm index 639e1b4a05f5..6bfc18d124b7 100644 --- a/code/datums/statistics/entities/caste_stats.dm +++ b/code/datums/statistics/entities/caste_stats.dm @@ -3,6 +3,10 @@ var/total_hits = 0 var/list/abilities_used = list() // types of /datum/entity/statistic, "tail sweep" = 10, "screech" = 2 +/datum/entity/player_stats/caste/Destroy(force) + . = ..() + QDEL_LIST_ASSOC_VAL(abilities_used) + /datum/entity/player_stats/caste/proc/setup_ability(ability) if(!ability) return diff --git a/code/datums/statistics/entities/death_stats.dm b/code/datums/statistics/entities/death_stats.dm index cb3053a33442..35ff1769b925 100644 --- a/code/datums/statistics/entities/death_stats.dm +++ b/code/datums/statistics/entities/death_stats.dm @@ -140,16 +140,16 @@ new_death.detach() return new_death -/mob/living/carbon/human/track_mob_death(cause, cause_mob) - . = ..(cause, cause_mob, job) +/mob/living/carbon/human/track_mob_death(datum/cause_data/cause_data, turf/death_loc) + . = ..() if(statistic_exempt || !mind) return var/datum/entity/player_stats/human/human_stats = mind.setup_human_stats() if(human_stats && human_stats.death_list) human_stats.death_list.Insert(1, .) -/mob/living/carbon/xenomorph/track_mob_death(cause, cause_mob) - var/datum/entity/statistic/death/new_death = ..(cause, cause_mob, caste_type) +/mob/living/carbon/xenomorph/track_mob_death(datum/cause_data/cause_data, turf/death_loc) + var/datum/entity/statistic/death/new_death = ..() if(!new_death) return new_death.is_xeno = TRUE // this was placed beneath the if below, which meant gibbing as a xeno wouldn't track properly in stats diff --git a/code/datums/statistics/entities/human_stats.dm b/code/datums/statistics/entities/human_stats.dm index 51b07867dfd3..1e15aa1d161b 100644 --- a/code/datums/statistics/entities/human_stats.dm +++ b/code/datums/statistics/entities/human_stats.dm @@ -5,10 +5,17 @@ var/total_shots = 0 var/total_shots_hit = 0 var/total_screams = 0 - var/datum/entity/weapon_stats/top_weapon = null // reference to /datum/entity/weapon_stats (like tac-shotty) - var/list/weapon_stats_list = list() // list of types /datum/entity/weapon_stats - var/list/job_stats_list = list() // list of types /datum/entity/job_stats - var/list/datum/entity/statistic/medal/medal_list = list() // list of all medals earned + var/list/weapon_stats_list = list() //! indexed list of types /datum/entity/weapon_stats + var/list/job_stats_list = list() //! indexed list of types /datum/entity/job_stats + var/datum/entity/weapon_stats/top_weapon //! reference to /datum/entity/weapon_stats (like tac-shotty) + var/list/datum/entity/statistic/medal/medal_list = list() //! list of all medals earned + +/datum/entity/player_stats/human/Destroy(force) + . = ..() + QDEL_LIST_ASSOC_VAL(weapon_stats_list) + QDEL_LIST_ASSOC_VAL(job_stats_list) + QDEL_NULL(top_weapon) + QDEL_LIST(medal_list) /datum/entity/player_stats/human/get_playtime(type) if(!type) diff --git a/code/datums/statistics/entities/job_stats.dm b/code/datums/statistics/entities/job_stats.dm index ecde1c942082..199c2adb3160 100644 --- a/code/datums/statistics/entities/job_stats.dm +++ b/code/datums/statistics/entities/job_stats.dm @@ -1,8 +1,8 @@ /datum/entity/player_stats/job - var/name = null - var/total_friendly_fire = null - var/total_revives = null - var/total_lives_saved = null - var/total_shots = null - var/total_shots_hit = null - var/total_screams = null + var/name + var/total_friendly_fire + var/total_revives + var/total_lives_saved + var/total_shots + var/total_shots_hit + var/total_screams diff --git a/code/datums/statistics/entities/panel_stats.dm b/code/datums/statistics/entities/panel_stats.dm index d6e391e1731f..e507d5d81a8b 100644 --- a/code/datums/statistics/entities/panel_stats.dm +++ b/code/datums/statistics/entities/panel_stats.dm @@ -8,7 +8,7 @@ update_panel_data(round_statistics) ui_interact(user) -/datum/entity/player_entity/proc/ui_interact(mob/user, ui_key = "statistics", datum/nanoui/ui = null, force_open = 1) +/datum/entity/player_entity/proc/ui_interact(mob/user, ui_key = "statistics", datum/nanoui/ui, force_open = 1) data["menu"] = menu data["subMenu"] = subMenu data["dataMenu"] = dataMenu diff --git a/code/datums/statistics/entities/player_entity.dm b/code/datums/statistics/entities/player_entity.dm index 72f4d95d7aa3..f0b3d37ede7e 100644 --- a/code/datums/statistics/entities/player_entity.dm +++ b/code/datums/statistics/entities/player_entity.dm @@ -8,8 +8,8 @@ /datum/entity/player_entity var/name var/ckey // "cakey" - var/list/datum/entity/player_stats = list() - var/list/datum/entity/statistic/death/death_stats = list() + var/list/player_stats = list() //! Indeed list of /datum/entity/player_stats + var/list/death_stats = list() //! Indexed list of /datum/entity/statistic/death var/menu = 0 var/subMenu = 0 var/dataMenu = 0 @@ -18,6 +18,11 @@ var/savefile_version var/save_loaded = FALSE +/datum/entity/player_entity/Destroy(force) + QDEL_LIST_ASSOC_VAL(player_stats) + QDEL_LIST_ASSOC_VAL(death_stats) + return ..() + /datum/entity/player_entity/proc/get_playtime(branch, type) var/playtime = 0 if(player_stats["[branch]"]) diff --git a/code/datums/statistics/entities/player_stats.dm b/code/datums/statistics/entities/player_stats.dm index b378d7c2ea24..d9fbd3b11e03 100644 --- a/code/datums/statistics/entities/player_stats.dm +++ b/code/datums/statistics/entities/player_stats.dm @@ -6,13 +6,21 @@ var/total_rounds_played = 0 var/steps_walked = 0 var/round_played = FALSE - var/datum/entity/statistic/nemesis = null // "runner" = 3 + var/datum/entity/statistic/nemesis // "runner" = 3 var/list/niche_stats = list() // list of type /datum/entity/statistic, "Total Executions" = number var/list/humans_killed = list() // list of type /datum/entity/statistic, "jobname2" = number var/list/xenos_killed = list() // list of type /datum/entity/statistic, "caste" = number var/list/death_list = list() // list of type /datum/entity/death_stats var/display_stat = TRUE +/datum/entity/player_stats/Destroy(force) + QDEL_NULL(nemesis) + QDEL_LIST_ASSOC_VAL(niche_stats) + QDEL_LIST_ASSOC_VAL(humans_killed) + QDEL_LIST_ASSOC_VAL(xenos_killed) + QDEL_LIST_ASSOC_VAL(death_list) + return ..() + /datum/entity/player_stats/proc/get_playtime() return total_playtime diff --git a/code/datums/statistics/entities/round_stats.dm b/code/datums/statistics/entities/round_stats.dm index 0e1fb6e387db..baed6befa912 100644 --- a/code/datums/statistics/entities/round_stats.dm +++ b/code/datums/statistics/entities/round_stats.dm @@ -23,7 +23,7 @@ var/total_slashes = 0 // untracked data - var/datum/entity/statistic/map/current_map = null // reference to current map + var/datum/entity/statistic/map/current_map // reference to current map var/list/datum/entity/statistic/death/death_stats_list = list() var/list/abilities_used = list() // types of /datum/entity/statistic, "tail sweep" = 10, "screech" = 2 @@ -37,8 +37,20 @@ var/list/job_stats_list = list() // list of types /datum/entity/job_stats // nanoui data - var/round_data[0] - var/death_data[0] + var/list/round_data = list() + var/list/death_data = list() + +/datum/entity/statistic/round/Destroy(force) + . = ..() + QDEL_NULL(current_map) + QDEL_LIST(death_stats_list) + QDEL_LIST_ASSOC_VAL(abilities_used) + QDEL_LIST_ASSOC_VAL(final_participants) + QDEL_LIST_ASSOC_VAL(hijack_participants) + QDEL_LIST_ASSOC_VAL(total_deaths) + QDEL_LIST_ASSOC_VAL(caste_stats_list) + QDEL_LIST_ASSOC_VAL(weapon_stats_list) + QDEL_LIST_ASSOC_VAL(job_stats_list) /datum/entity_meta/statistic_round entity_type = /datum/entity/statistic/round diff --git a/code/datums/statistics/entities/weapon_stats.dm b/code/datums/statistics/entities/weapon_stats.dm index 0d8458c20de2..9fff5c514458 100644 --- a/code/datums/statistics/entities/weapon_stats.dm +++ b/code/datums/statistics/entities/weapon_stats.dm @@ -1,16 +1,23 @@ /datum/entity/weapon_stats - var/datum/entity/player = null // "deanthelis" - var/list/niche_stats = list() // list of type /datum/entity/statistic, "Total Reloads" = number - var/list/humans_killed = list() // list of type /datum/entity/statistic, "jobname2" = number - var/list/xenos_killed = list() // list of type /datum/entity/statistic, "caste" = number - var/name = null + var/datum/entity/player + var/list/niche_stats = list() //! Indexed list of /datum/entity/statistic, "Total Reloads" = number + var/list/humans_killed = list() //! Indexed list of /datum/entity/statistic, "jobname2" = number + var/list/xenos_killed = list() //! Indexed list of /datum/entity/statistic, "caste" = number + var/name var/total_kills = 0 - var/total_hits = null - var/total_shots = null - var/total_shots_hit = null - var/total_friendly_fire = null + var/total_hits + var/total_shots + var/total_shots_hit + var/total_friendly_fire var/display_stat = TRUE +/datum/entity/weapon_stats/Destroy(force) + player = null + QDEL_LIST_ASSOC_VAL(niche_stats) + QDEL_LIST_ASSOC_VAL(humans_killed) + QDEL_LIST_ASSOC_VAL(xenos_killed) + return ..() + /datum/entity/weapon_stats/proc/count_human_kill(job_name) if(!job_name) return diff --git a/code/datums/statistics/entities/xeno_stats.dm b/code/datums/statistics/entities/xeno_stats.dm index 9ed327258258..8fff4a2e5dd3 100644 --- a/code/datums/statistics/entities/xeno_stats.dm +++ b/code/datums/statistics/entities/xeno_stats.dm @@ -4,6 +4,12 @@ var/list/caste_stats_list = list() // list of types /datum/entity/player_stats/caste var/list/datum/entity/statistic/medal/medal_list = list() // list of all royal jelly earned +/datum/entity/player_stats/xeno/Destroy(force) + . = ..() + QDEL_NULL(top_caste) + QDEL_LIST_ASSOC_VAL(caste_stats_list) + QDEL_LIST(medal_list) + /datum/entity/player_stats/xeno/get_playtime(type) if(!type || type == FACTION_XENOMORPH) return ..() From 2c9ef445392b800971416a0cdb3750c448ba7138 Mon Sep 17 00:00:00 2001 From: fira Date: Tue, 7 Nov 2023 16:14:39 +0100 Subject: [PATCH 15/16] Minor Code Maintenance Bundle (deletes, standards, runtimes) (#4756) # About the pull request Just some bundled code maintenance bits: * annotations and variable names * loc -> forceMove / New -> Initialize, GLOB variables, per standard * add some missing ref clearing in Destroy * dead code * fix minor runtimes * runtime fix in gear presets spamming logs * fixes a typo in bottles making them use only 1 of the 4 sprites # Explain why it's good for the game Standards, bugfixing # Changelog :cl: fix: Spawned bottles now use all 4 of their sprites as intended rather than always the same. /:cl: --- code/game/objects/effects/spawners/random.dm | 15 +++++++------ .../items/reagent_containers/glass/bottle.dm | 2 +- code/game/objects/items/storage/backpack.dm | 16 +++++++++++--- code/game/objects/items/storage/boxes.dm | 1 + code/game/objects/items/storage/storage.dm | 21 ++++++++++--------- code/game/objects/structures/flora.dm | 2 ++ code/modules/cm_marines/smartgun_mount.dm | 6 +++--- code/modules/cm_tech/implements/railgun.dm | 6 +++--- code/modules/gear_presets/cmb.dm | 2 -- code/modules/gear_presets/uscm.dm | 2 -- code/modules/mob/dead/observer/observer.dm | 5 +++-- .../mob/living/carbon/xenomorph/Embryo.dm | 2 +- .../mob/living/carbon/xenomorph/Xenomorph.dm | 2 +- code/modules/projectiles/gun.dm | 7 +------ 14 files changed, 47 insertions(+), 42 deletions(-) diff --git a/code/game/objects/effects/spawners/random.dm b/code/game/objects/effects/spawners/random.dm index a70fb5588f84..d302e7794f8b 100644 --- a/code/game/objects/effects/spawners/random.dm +++ b/code/game/objects/effects/spawners/random.dm @@ -351,8 +351,7 @@ /obj/effect/spawner/random/gun/proc/spawn_weapon_on_floor(gunpath, ammopath, ammo_amount = 1) - var/atom/spawnloc = src - spawnloc = get_turf(spawnloc) + var/turf/spawnloc = get_turf(src) var/obj/gun var/obj/ammo @@ -360,20 +359,20 @@ gun = new gunpath(spawnloc) if(scatter) var/direction = pick(alldirs) - var/turf/T = get_step(gun, direction) - if(!T || T.density) + var/turf/turf = get_step(gun, direction) + if(!turf || turf.density) return - gun.loc = T + gun.forceMove(turf) if(ammopath) for(var/i in 0 to ammo_amount-1) ammo = new ammopath(spawnloc) if(scatter) for(i=0, i Date: Tue, 7 Nov 2023 15:38:11 +0000 Subject: [PATCH 16/16] Automatic changelog for PR #4756 [ci skip] --- html/changelogs/AutoChangeLog-pr-4756.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-4756.yml diff --git a/html/changelogs/AutoChangeLog-pr-4756.yml b/html/changelogs/AutoChangeLog-pr-4756.yml new file mode 100644 index 000000000000..f0e5a3bc074d --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-4756.yml @@ -0,0 +1,4 @@ +author: "fira" +delete-after: True +changes: + - bugfix: "Spawned bottles now use all 4 of their sprites as intended rather than always the same." \ No newline at end of file