ZombieRuleComponent.cs 926 B

12345678910111213141516171819202122232425262728
  1. using Content.Shared.Roles;
  2. using Robust.Shared.Audio;
  3. using Robust.Shared.Prototypes;
  4. using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom;
  5. namespace Content.Server.GameTicking.Rules.Components;
  6. [RegisterComponent, Access(typeof(ZombieRuleSystem))]
  7. public sealed partial class ZombieRuleComponent : Component
  8. {
  9. /// <summary>
  10. /// When the round will next check for round end.
  11. /// </summary>
  12. [DataField(customTypeSerializer: typeof(TimeOffsetSerializer))]
  13. public TimeSpan? NextRoundEndCheck;
  14. /// <summary>
  15. /// The amount of time between each check for the end of the round.
  16. /// </summary>
  17. [DataField]
  18. public TimeSpan EndCheckDelay = TimeSpan.FromSeconds(30);
  19. /// <summary>
  20. /// After this amount of the crew become zombies, the shuttle will be automatically called.
  21. /// </summary>
  22. [DataField]
  23. public float ZombieShuttleCallPercentage = 0.7f;
  24. }