using Content.Shared.Weapons.Ranged.Systems; using Robust.Shared.GameStates; using Robust.Shared.Prototypes; namespace Content.Shared.Projectiles; /// /// Spawns a spread of the projectiles when fired /// [RegisterComponent, NetworkedComponent, Access(typeof(SharedGunSystem))] public sealed partial class ProjectileSpreadComponent : Component { /// /// The entity prototype that will be fired by the rest of the spread. /// Will generally be the same entity prototype as the first projectile being fired. /// Needed for ammo components that do not specify a fired prototype, unlike cartridges. /// [DataField(required: true)] public EntProtoId Proto; /// /// How much the ammo spreads when shot, in degrees. Does nothing if count is 0. /// [DataField] public Angle Spread = Angle.FromDegrees(5); /// /// How many prototypes are spawned when shot. /// [DataField] public int Count = 1; }