Files
Delta-v/Content.Server/StationEvents/Components/BasicStationEventSchedulerComponent.cs
T
Princess CheeseballsandPrincess Cheeseballs b6b2a563ab Remove Visitor Shuttles (Real) and also cleanup the event rule system to not break when I try to do this. (#41915)
* shelve

* halfway there

* borgar

* just pass TimeSpan.Zero????

* better API

* no more TODO

* comment

* some fixes

* Gonna make a new PR for this I guess shrug

* add quark back, cleanup some stuff

* add syndie pod back

* one final change

---------

Co-authored-by: Princess Cheeseballs <66055347+Pronana@users.noreply.github.com>
2026-06-29 12:43:43 +02:00

42 lines
1.5 KiB
C#

using Content.Shared.Destructible.Thresholds;
using Content.Shared.EntityTable.EntitySelectors;
namespace Content.Server.StationEvents.Components;
[RegisterComponent, Access(typeof(BasicStationEventSchedulerSystem))]
public sealed partial class BasicStationEventSchedulerComponent : Component
{
/// <summary>
/// How long the the scheduler waits to begin starting rules.
/// </summary>
[DataField]
public float MinimumTimeUntilFirstEvent = 200;
/// <summary>
/// How much additional time it may take for a GameRule to first start.
/// </summary>
[DataField]
public float MaximumSpanUntilFirstEvent = 120;
/// <summary>
/// The minimum and maximum time between rule starts in seconds.
/// </summary>
[DataField]
public MinMax MinMaxEventTiming = new(3 * 60, 10 * 60);
/// <summary>
/// How long until the next check for an event runs, is initially set based on MinimumTimeUntilFirstEvent & MinMaxEventTiming.
/// </summary>
[DataField]
public float TimeUntilNextEvent;
/// <summary>
/// The gamerules that the scheduler can choose from
/// </summary>
/// Reminder that though we could do all selection via the EntityTableSelector, we also need to consider various <see cref="StationEventComponent"/> restrictions.
/// As such, we want to pass a list of acceptable game rules, which are then parsed for restrictions by the <see cref="EventManagerSystem"/>.
[DataField(required: true)]
public EntityTableSelector ScheduledGameRules = default!;
}