using Content.Server.Administration.Systems; using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom; namespace Content.Server.Administration.Components; /// /// Component to track the timer for the SuperBonk smite. /// [RegisterComponent, AutoGenerateComponentPause, Access(typeof(SuperBonkSystem))] public sealed partial class SuperBonkComponent : Component { /// /// All of the tables the target will be bonked on. /// [DataField] public List.Enumerator Tables; /// /// How often should we bonk. /// [DataField] public TimeSpan BonkCooldown = TimeSpan.FromMilliseconds(100); /// /// Next time when we will bonk. /// [DataField(customTypeSerializer: typeof(TimeOffsetSerializer)), AutoPausedField] public TimeSpan NextBonk = TimeSpan.Zero; /// /// Whether to remove the clumsy component from the target after SuperBonk is done. /// [DataField] public bool RemoveClumsy = true; /// /// Whether to stop Super Bonk on the target once he dies. Otherwise it will continue until no other tables are left /// or the target is gibbed. /// [DataField] public bool StopWhenDead = true; }