using Robust.Shared.Network; namespace Content.Server.GameTicking.Rules.Components; /// /// This is used for globally tracking players that need to be respawned. /// Used on gamerule entities. /// [RegisterComponent, Access(typeof(RespawnRuleSystem))] public sealed partial class RespawnTrackerComponent : Component { /// /// A list of the people that should be respawned. /// Used to make sure that we don't respawn aghosts or observers. /// [DataField] public HashSet Players = new(); /// /// The delay between dying and respawning. /// [DataField] public TimeSpan RespawnDelay = TimeSpan.Zero; /// /// A dictionary of player netuserids and when they will respawn. /// [DataField] public Dictionary RespawnQueue = new(); /// /// Whether or not to delete the original body when respawning /// [DataField] public bool DeleteBody = true; /// /// Is the spawn timer running at a set time for everyone, or X amount of time since death? /// [DataField] public bool Fixed = false; /// /// Only used if fixed is true /// [DataField] public TimeSpan GlobalTimer = TimeSpan.Zero; }