using Content.Shared.Dragon;
using Content.Shared.EntityTable.EntitySelectors;
namespace Content.Server.Dragon;
// TODO: replace accumulators with timespan logic
[RegisterComponent]
public sealed partial class DragonRiftComponent : SharedDragonRiftComponent
{
///
/// Dragon that spawned this rift.
///
[DataField]
public EntityUid? Dragon;
///
/// How long the rift has been active.
///
[DataField]
public float Accumulator = 0f;
///
/// The maximum amount we can accumulate before becoming impervious.
///
[DataField("maxAccumualator")] // load bearing typo...
public float MaxAccumulator = 300f;
///
/// Accumulation of the spawn timer.
///
[DataField]
public float SpawnAccumulator = 30f;
///
/// How long it takes for a new spawn to be added.
///
[DataField]
public float SpawnCooldown = 30f;
///
/// The table of entities to consider for spawning. One will be picked every spawn.
///
[DataField(required: true)]
public EntityTableSelector Spawn;
}