using Content.Server.Explosion.EntitySystems; using Robust.Shared.Containers; using Robust.Shared.Prototypes; namespace Content.Server.Explosion.Components; /// /// Grenades that, when triggered, explode into projectiles /// [RegisterComponent, Access(typeof(ProjectileGrenadeSystem))] public sealed partial class ProjectileGrenadeComponent : Component { public Container Container = default!; /// /// The kind of projectile that the prototype is filled with. /// [DataField] public EntProtoId? FillPrototype; /// /// If we have a pre-fill how many more can we spawn. /// public int UnspawnedCount; /// /// Total amount of projectiles /// [DataField] public int Capacity = 3; /// /// Should the angle of the projectiles be uneven? /// [DataField] public bool RandomAngle = false; /// /// The minimum speed the projectiles may come out at /// [DataField] public float MinVelocity = 2f; /// /// The maximum speed the projectiles may come out at /// [DataField] public float MaxVelocity = 6f; /// /// The trigger key that will activate the grenade. /// [DataField] public string TriggerKey = "timer"; }