Fix gun cycling ammo count update (#25635)

Doesn't update correctly when cycling.
This commit is contained in:
metalgearsloth
2024-02-28 03:40:19 +11:00
committed by GitHub
parent a9502be29e
commit fc0ff8fb31

View File

@@ -112,7 +112,10 @@ public abstract partial class SharedGunSystem
} }
} }
CycleCartridge(uid, component, user); if (!CycleCartridge(uid, component, user))
{
UpdateAmmoCount(uid);
}
if (component.BoltClosed != false) if (component.BoltClosed != false)
{ {
@@ -202,11 +205,12 @@ public abstract partial class SharedGunSystem
/// <summary> /// <summary>
/// Tries to take ammo from the magazine and insert into the chamber. /// Tries to take ammo from the magazine and insert into the chamber.
/// </summary> /// </summary>
private void CycleCartridge(EntityUid uid, ChamberMagazineAmmoProviderComponent component, EntityUid? user = null, AppearanceComponent? appearance = null) private bool CycleCartridge(EntityUid uid, ChamberMagazineAmmoProviderComponent component, EntityUid? user = null, AppearanceComponent? appearance = null)
{ {
// Try to put a new round in if possible. // Try to put a new round in if possible.
var magEnt = GetMagazineEntity(uid); var magEnt = GetMagazineEntity(uid);
var chambered = GetChamberEntity(uid); var chambered = GetChamberEntity(uid);
var result = false;
// Similar to what takeammo does though that uses an optimised version where // Similar to what takeammo does though that uses an optimised version where
// multiple bullets may be fired in a single tick. // multiple bullets may be fired in a single tick.
@@ -243,7 +247,11 @@ public abstract partial class SharedGunSystem
{ {
UpdateAmmoCount(uid); UpdateAmmoCount(uid);
} }
result = true;
} }
return result;
} }
/// <summary> /// <summary>