AutoTraitorSystem.cs 835 B

1234567891011121314151617181920212223242526
  1. using Content.Server.Antag;
  2. using Content.Server.Traitor.Components;
  3. using Content.Shared.Mind.Components;
  4. using Robust.Shared.Prototypes;
  5. namespace Content.Server.Traitor.Systems;
  6. /// <summary>
  7. /// Makes entities with <see cref="AutoTraitorComponent"/> a traitor either immediately if they have a mind or when a mind is added.
  8. /// </summary>
  9. public sealed class AutoTraitorSystem : EntitySystem
  10. {
  11. [Dependency] private readonly AntagSelectionSystem _antag = default!;
  12. public override void Initialize()
  13. {
  14. base.Initialize();
  15. SubscribeLocalEvent<AutoTraitorComponent, MindAddedMessage>(OnMindAdded);
  16. }
  17. private void OnMindAdded(EntityUid uid, AutoTraitorComponent comp, MindAddedMessage args)
  18. {
  19. _antag.ForceMakeAntag<AutoTraitorComponent>(args.Mind.Comp.Session, comp.Profile);
  20. }
  21. }