using Content.Server.NodeContainer; using Content.Server.NodeContainer.Nodes; using Robust.Shared.Map; namespace Content.Server.Electrocution { [DataDefinition] public sealed class ElectrocutionNode : Node { [DataField("cable")] public EntityUid CableEntity; [DataField("node")] public string NodeName = default!; public override IEnumerable GetReachableNodes(TransformComponent xform, EntityQuery nodeQuery, EntityQuery xformQuery, IMapGrid? grid, IEntityManager entMan) { if (!nodeQuery.TryGetComponent(CableEntity, out var nodeContainer)) yield break; if (nodeContainer.TryGetNode(NodeName, out Node? node)) yield return node; } } }