]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Fix power sensor looking at wrong electrical network (#40934)
authorRed Mushie <82113471+redmushie@users.noreply.github.com>
Thu, 16 Oct 2025 12:26:26 +0000 (14:26 +0200)
committerGitHub <noreply@github.com>
Thu, 16 Oct 2025 12:26:26 +0000 (12:26 +0000)
* Fix power sensor looking at wrong electrical network if it happened to be connected

* Remove unnecessary loop in power sensor logic

Content.Server/DeviceLinking/Systems/PowerSensorSystem.cs

index b03cceda0f3bb0090856a49959fed1dc7433381b..1cb5091d242ff499f3e054315a90bb890e2b7716 100644 (file)
@@ -98,28 +98,19 @@ public sealed class PowerSensorSystem : EntitySystem
         var nodeContainer = Comp<NodeContainerComponent>(uid);
         var deviceNode = (CableDeviceNode) nodeContainer.Nodes[cable.Node];
 
-        var charge = 0f;
-        var chargingState = false;
-        var dischargingState = false;
-
         // update state based on the power stats retrieved from the selected power network
         var xform = _xformQuery.GetComponent(uid);
         if (!TryComp(xform.GridUid, out MapGridComponent? grid))
             return;
 
-        var cables = deviceNode.GetReachableNodes(xform, _nodeQuery, _xformQuery, grid, EntityManager);
-        foreach (var node in cables)
-        {
-            if (node.NodeGroup == null)
-                continue;
+        if (deviceNode.NodeGroup == null)
+            return;
 
-            var group = (IBasePowerNet) node.NodeGroup;
-            var stats = _powerNet.GetNetworkStatistics(group.NetworkNode);
-            charge = comp.Output ? stats.OutStorageCurrent : stats.InStorageCurrent;
-            chargingState = charge > comp.LastCharge;
-            dischargingState = charge < comp.LastCharge;
-            break;
-        }
+        var group = (IBasePowerNet) deviceNode.NodeGroup;
+        var stats = _powerNet.GetNetworkStatistics(group.NetworkNode);
+        var charge = comp.Output ? stats.OutStorageCurrent : stats.InStorageCurrent;
+        var chargingState = charge > comp.LastCharge;
+        var dischargingState = charge < comp.LastCharge;
 
         comp.LastCharge = charge;