mirror of
https://github.com/WWhiteDreamProject/wwdpublic.git
synced 2026-04-18 05:59:03 +03:00
## Mirror of PR #26009: [Fixed bug with appearance of ammo battery magazine guns](https://github.com/space-wizards/space-station-14/pull/26009) from <img src="https://avatars.githubusercontent.com/u/10567778?v=4" alt="space-wizards" width="22"/> [space-wizards](https://github.com/space-wizards)/[space-station-14](https://github.com/space-wizards/space-station-14) ###### `63232389ca9a499fb614960ccf9eae9b3d186037` PR opened by <img src="https://avatars.githubusercontent.com/u/33431126?v=4" width="16"/><a href="https://github.com/778b"> 778b</a> at 2024-03-11 18:34:37 UTC --- PR changed 1 files with 9 additions and 0 deletions. The PR had the following labels: --- <details open="true"><summary><h1>Original Body</h1></summary> > <!-- Please read these guidelines before opening your PR: https://docs.spacestation14.io/en/getting-started/pr-guideline --> > <!-- The text between the arrows are comments - they will not be visible on your PR. --> > > ## About the PR > <!-- What did you change in this PR? --> > Fix bug with guns which used MagazineAmmoProviderComponent with Battery magazines like svalinn laser pistol. > > ## Why / Balance > <!-- Why was it changed? Link any discussions or issues here. Please discuss how this would affect game balance. --> > Bugfix, no balance here > > ## Technical details > <!-- If this is a code change, summarize at high level how your new code works. This makes it easier to review. --> > Just added subscribe for AmmoCounterControlEvent which using AmmoCounterComponent because battery magazines must redefine control in this event to display ammo, now its work well. > Also checked some other guns which using MagazineAmmoProviderComponent and they work like always, without new bugs > > > ## Media > <!-- > PRs which make ingame changes (adding clothing, items, new features, etc) are required to have media attached that showcase the changes. > Small fixes/refactors are exempt. > Any media may be used in SS14 progress reports, with clear credit given. > > If you're unsure whether your PR will require media, ask a maintainer. > > Check the box below to confirm that you have in fact seen this (put an X in the brackets, like [X]): > --> > Before: >  > > After: > https://github.com/space-wizards/space-station-14/assets/33431126/d4aa3c99-7e89-44d7-9030-1fa2a3db13ab > > > > - [x] I have added screenshots/videos to this PR showcasing its changes ingame, **or** this PR does not require an ingame showcase > > ## Breaking changes > <!-- > List any breaking changes, including namespace, public class/method/field changes, prototype renames; and provide instructions for fixing them. This will be pasted in #codebase-changes. > --> > > **Changelog** > <!-- > Make players aware of new features and changes that could affect how they play the game by adding a Changelog entry. Please read the Changelog guidelines located at: https://docs.spacestation14.io/en/getting-started/pr-guideline#changelog > --> > > 🆑 778b > > - fix: Guns which use battery as magazines now display ammo. Like Svalinn pistol. > > </details> Co-authored-by: SimpleStation14 <Unknown>
39 lines
1.1 KiB
C#
39 lines
1.1 KiB
C#
using Content.Shared.Weapons.Ranged;
|
|
|
|
namespace Content.Client.Weapons.Ranged.Systems;
|
|
|
|
public sealed partial class GunSystem
|
|
{
|
|
protected override void InitializeMagazine()
|
|
{
|
|
base.InitializeMagazine();
|
|
SubscribeLocalEvent<MagazineAmmoProviderComponent, UpdateAmmoCounterEvent>(OnMagazineAmmoUpdate);
|
|
SubscribeLocalEvent<MagazineAmmoProviderComponent, AmmoCounterControlEvent>(OnMagazineControl);
|
|
}
|
|
|
|
private void OnMagazineAmmoUpdate(EntityUid uid, MagazineAmmoProviderComponent component, UpdateAmmoCounterEvent args)
|
|
{
|
|
var ent = GetMagazineEntity(uid);
|
|
|
|
if (ent == null)
|
|
{
|
|
if (args.Control is DefaultStatusControl control)
|
|
{
|
|
control.Update(0, 0);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
RaiseLocalEvent(ent.Value, args, false);
|
|
}
|
|
|
|
private void OnMagazineControl(EntityUid uid, MagazineAmmoProviderComponent component, AmmoCounterControlEvent args)
|
|
{
|
|
var ent = GetMagazineEntity(uid);
|
|
if (ent == null)
|
|
return;
|
|
RaiseLocalEvent(ent.Value, args, false);
|
|
}
|
|
}
|