using Robust.Shared.Map; namespace Content.Shared.Weapons.Ranged.Events; /// /// Raised on a gun when it would like to take the specified amount of ammo. /// public sealed class TakeAmmoEvent : EntityEventArgs { public readonly EntityUid? User; public readonly int Shots; public List<(EntityUid? Entity, IShootable Shootable)> Ammo; /// /// If no ammo returned what is the reason for it? /// public string? Reason; /// /// Coordinates to spawn the ammo at. /// public EntityCoordinates Coordinates; // Frontier: better revolver reloading /// /// Does this event represent an intent to fire, or to safely remove ammo from an entity? /// public bool WillBeFired; // End Frontier public TakeAmmoEvent(int shots, List<(EntityUid? Entity, IShootable Shootable)> ammo, EntityCoordinates coordinates, EntityUid? user, bool willBeFired = false) // Frontier: add willBeFired { Shots = shots; Ammo = ammo; Coordinates = coordinates; User = user; WillBeFired = willBeFired; // Frontier } }