From: Kaga-404 <103199482+Kaga-404@users.noreply.github.com> Date: Fri, 2 Aug 2024 05:43:11 +0000 (-0700) Subject: Revolver fixes for caseless ammo and wielding (#30117) X-Git-Url: https://git.smokeofanarchy.ru/gitweb.cgi?a=commitdiff_plain;h=745d90ad73f799bf7ad9ce81d6f4f6e07bf9dde8;p=space-station-14.git Revolver fixes for caseless ammo and wielding (#30117) * handled check * splits Handled and TryResetDelay checks --- 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))); }