GreytideVirusComponent.cs 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. using Content.Server.StationEvents.Events;
  2. using Content.Shared.Access;
  3. using Content.Shared.Destructible.Thresholds;
  4. using Robust.Shared.Prototypes;
  5. namespace Content.Server.StationEvents.Components;
  6. /// <summary>
  7. /// Greytide Virus event specific configuration
  8. /// </summary>
  9. [RegisterComponent, Access(typeof(GreytideVirusRule))]
  10. public sealed partial class GreytideVirusRuleComponent : Component
  11. {
  12. /// <summary>
  13. /// Range from which the severity is randomly picked from.
  14. /// </summary>
  15. [DataField]
  16. public MinMax SeverityRange = new(1, 3);
  17. /// <summary>
  18. /// Severity corresponding to the number of access groups affected.
  19. /// Will pick randomly from the SeverityRange if not specified.
  20. /// </summary>
  21. [DataField]
  22. public int? Severity;
  23. /// <summary>
  24. /// Access groups to pick from.
  25. /// </summary>
  26. [DataField]
  27. public List<ProtoId<AccessGroupPrototype>> AccessGroups = new();
  28. /// <summary>
  29. /// Entities with this access level will be ignored.
  30. /// </summary>
  31. [DataField]
  32. public List<ProtoId<AccessLevelPrototype>> Blacklist = new();
  33. }