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";
}