From 745d90ad73f799bf7ad9ce81d6f4f6e07bf9dde8 Mon Sep 17 00:00:00 2001 From: Kaga-404 <103199482+Kaga-404@users.noreply.github.com> Date: Thu, 1 Aug 2024 22:43:11 -0700 Subject: [PATCH] Revolver fixes for caseless ammo and wielding (#30117) * handled check * splits Handled and TryResetDelay checks --- .../Ranged/Systems/SharedGunSystem.Revolver.cs | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs index 14aaff5bf7..2c0204d946 100644 --- a/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs +++ b/Content.Shared/Weapons/Ranged/Systems/SharedGunSystem.Revolver.cs @@ -9,6 +9,8 @@ using Robust.Shared.Utility; using System; using System.Linq; using Content.Shared.Interaction.Events; +using Content.Shared.Wieldable; +using Content.Shared.Wieldable.Components; using JetBrains.Annotations; namespace Content.Shared.Weapons.Ranged.Systems; @@ -31,9 +33,14 @@ public partial class SharedGunSystem private void OnRevolverUse(EntityUid uid, RevolverAmmoProviderComponent component, UseInHandEvent args) { + if (args.Handled) + return; + if (!_useDelay.TryResetDelay(uid)) return; + args.Handled = true; + Cycle(component); UpdateAmmoCount(uid, prediction: false); Dirty(uid, component); @@ -393,10 +400,14 @@ public partial class SharedGunSystem args.Ammo.Add((spawned, EnsureComp(spawned))); if (cartridge.DeleteOnSpawn) + { + component.AmmoSlots[index] = null; component.Chambers[index] = null; + } } else { + component.AmmoSlots[index] = null; component.Chambers[index] = null; args.Ammo.Add((ent.Value, EnsureComp(ent.Value))); }