]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Modify battery assert to avoid floating point errors (#28007)
authorLeon Friedrich <60421075+ElectroJr@users.noreply.github.com>
Sun, 19 May 2024 01:54:52 +0000 (13:54 +1200)
committerGitHub <noreply@github.com>
Sun, 19 May 2024 01:54:52 +0000 (11:54 +1000)
Content.Server/Power/Pow3r/BatteryRampPegSolver.cs

index 5d52bde377757ac774d1ff94d6a0758fbcb9a99b..0afd86679b179f8c1a12f3a70162f73dab311681 100644 (file)
@@ -240,7 +240,8 @@ namespace Content.Server.Power.Pow3r
                 }
             }
 
-            if (unmet <= 0 || totalBatterySupply <= 0)
+            // Return if normal supplies met all demand or there are no supplying batteries
+            if (unmet <= 0 || totalMaxBatterySupply <= 0)
                 return;
 
             // Target output capacity for batteries
@@ -275,8 +276,8 @@ namespace Content.Server.Power.Pow3r
 
                 battery.SupplyRampTarget = battery.MaxEffectiveSupply * relativeTargetBatteryOutput - battery.CurrentReceiving * battery.Efficiency;
 
-                DebugTools.Assert(battery.SupplyRampTarget + battery.CurrentReceiving * battery.Efficiency <= battery.LoadingNetworkDemand
-                    || MathHelper.CloseToPercent(battery.SupplyRampTarget + battery.CurrentReceiving * battery.Efficiency, battery.LoadingNetworkDemand, 0.001));
+                DebugTools.Assert(battery.MaxEffectiveSupply * relativeTargetBatteryOutput <= battery.LoadingNetworkDemand
+                                  || MathHelper.CloseToPercent(battery.MaxEffectiveSupply * relativeTargetBatteryOutput, battery.LoadingNetworkDemand, 0.001));
             }
         }