using Content.Server.Beam; using Content.Shared.Revenant.Components; using Content.Shared.Revenant.EntitySystems; namespace Content.Server.Revenant.EntitySystems; /// /// This handles... /// public sealed class RevenantOverloadedLightsSystem : SharedRevenantOverloadedLightsSystem { [Dependency] private readonly BeamSystem _beam = default!; protected override void OnZap(Entity lights) { var component = lights.Comp; if (component.Target == null) return; var lxform = Transform(lights); var txform = Transform(component.Target.Value); if (!lxform.Coordinates.TryDistance(EntityManager, txform.Coordinates, out var distance)) return; if (distance > component.ZapRange) return; _beam.TryCreateBeam(lights, component.Target.Value, component.ZapBeamEntityId); } }