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