using Content.Shared.EntityTable.EntitySelectors;
namespace Content.Server.StationEvents.Components;
[RegisterComponent, Access(typeof(RampingStationEventSchedulerSystem))]
public sealed partial class RampingStationEventSchedulerComponent : Component
{
///
/// Average ending chaos modifier for the ramping event scheduler. Higher means faster.
/// Max chaos chosen for a round will deviate from this
///
[DataField]
public float AverageChaos = 12f;
///
/// Average time (in minutes) for when the ramping event scheduler should stop increasing the chaos modifier.
/// Close to how long you expect a round to last, so you'll probably have to tweak this on downstreams.
///
[DataField]
public float AverageEndTime = 90f;
[DataField]
public float EndTime;
[DataField]
public float MaxChaos;
[DataField]
public float StartingChaos;
[DataField]
public float TimeUntilNextEvent;
///
/// The gamerules that the scheduler can choose from
///
/// Reminder that though we could do all selection via the EntityTableSelector, we also need to consider various restrictions.
/// As such, we want to pass a list of acceptable game rules, which are then parsed for restrictions by the .
[DataField(required: true)]
public EntityTableSelector ScheduledGameRules = default!;
}