GhostRoleRaffleSettings.cs 1.1 KB

123456789101112131415161718192021222324252627282930
  1. namespace Content.Server.Ghost.Roles.Raffles;
  2. /// <summary>
  3. /// Defines settings for a ghost role raffle.
  4. /// </summary>
  5. [DataDefinition]
  6. public sealed partial class GhostRoleRaffleSettings
  7. {
  8. /// <summary>
  9. /// The initial duration of a raffle in seconds. This is the countdown timer's value when the raffle starts.
  10. /// </summary>
  11. [ViewVariables(VVAccess.ReadWrite)]
  12. [DataField(required: true)]
  13. public uint InitialDuration { get; set; }
  14. /// <summary>
  15. /// When the raffle is joined by a player, the countdown timer is extended by this value in seconds.
  16. /// </summary>
  17. [ViewVariables(VVAccess.ReadWrite)]
  18. [DataField(required: true)]
  19. public uint JoinExtendsDurationBy { get; set; }
  20. /// <summary>
  21. /// The maximum duration in seconds for the ghost role raffle. A raffle cannot run for longer than this
  22. /// duration, even if extended by joiners. Must be greater than or equal to <see cref="InitialDuration"/>.
  23. /// </summary>
  24. [ViewVariables(VVAccess.ReadWrite)]
  25. [DataField(required: true)]
  26. public uint MaxDuration { get; set; }
  27. }