CutWireVariationPassComponent.cs 780 B

1234567891011121314151617181920212223242526272829
  1. using Content.Shared.Whitelist;
  2. namespace Content.Server.GameTicking.Rules.VariationPass.Components;
  3. /// <summary>
  4. /// Handles cutting a random wire on random devices around the station.
  5. /// </summary>
  6. [RegisterComponent]
  7. public sealed partial class CutWireVariationPassComponent : Component
  8. {
  9. /// <summary>
  10. /// Blacklist of hackable entities that should not be chosen to
  11. /// have wires cut.
  12. /// </summary>
  13. [DataField]
  14. public EntityWhitelist Blacklist = new();
  15. /// <summary>
  16. /// Chance for an individual wire to be cut.
  17. /// </summary>
  18. [DataField]
  19. public float WireCutChance = 0.05f;
  20. /// <summary>
  21. /// Maximum number of wires that can be cut stationwide.
  22. /// </summary>
  23. [DataField]
  24. public int MaxWiresCut = 10;
  25. }