1
0

GhostKickUserOnTriggerSystem.cs 815 B

1234567891011121314151617181920212223242526
  1. using Content.Server.Explosion.EntitySystems;
  2. using Robust.Shared.Player;
  3. namespace Content.Server.GhostKick;
  4. public sealed class GhostKickUserOnTriggerSystem : EntitySystem
  5. {
  6. [Dependency] private readonly GhostKickManager _ghostKickManager = default!;
  7. public override void Initialize()
  8. {
  9. SubscribeLocalEvent<GhostKickUserOnTriggerComponent, TriggerEvent>(HandleMineTriggered);
  10. }
  11. private void HandleMineTriggered(EntityUid uid, GhostKickUserOnTriggerComponent userOnTriggerComponent, TriggerEvent args)
  12. {
  13. if (!TryComp(args.User, out ActorComponent? actor))
  14. return;
  15. _ghostKickManager.DoDisconnect(
  16. actor.PlayerSession.Channel,
  17. "Tripped over a kick mine, crashed through the fourth wall");
  18. args.Handled = true;
  19. }
  20. }