EmpArtifactSystem.cs 862 B

1234567891011121314151617181920212223
  1. using Content.Server.Emp;
  2. using Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Components;
  3. using Content.Server.Xenoarchaeology.XenoArtifacts.Events;
  4. using Robust.Server.GameObjects;
  5. namespace Content.Server.Xenoarchaeology.XenoArtifacts.Effects.Systems;
  6. public sealed class EmpArtifactSystem : EntitySystem
  7. {
  8. [Dependency] private readonly EmpSystem _emp = default!;
  9. [Dependency] private readonly TransformSystem _transform = default!;
  10. /// <inheritdoc/>
  11. public override void Initialize()
  12. {
  13. SubscribeLocalEvent<EmpArtifactComponent, ArtifactActivatedEvent>(OnActivate);
  14. }
  15. private void OnActivate(EntityUid uid, EmpArtifactComponent component, ArtifactActivatedEvent args)
  16. {
  17. _emp.EmpPulse(_transform.GetMapCoordinates(uid), component.Range, component.EnergyConsumption, component.DisableDuration);
  18. }
  19. }