From 71eea91f1bc37e6ca0fa2db09ec10c3b3d2040e8 Mon Sep 17 00:00:00 2001 From: metalgearsloth <31366439+metalgearsloth@users.noreply.github.com> Date: Mon, 26 Oct 2020 20:31:41 +1100 Subject: [PATCH] Bonk power allocations (#2392) linq bad. Last one on my hit list is PVS but that needs a full rewrite. Co-authored-by: Metal Gear Sloth --- .../NodeGroups/ApcNetNodeGroup.cs | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Content.Server/GameObjects/Components/NodeContainer/NodeGroups/ApcNetNodeGroup.cs b/Content.Server/GameObjects/Components/NodeContainer/NodeGroups/ApcNetNodeGroup.cs index 9ff47fa32e..b08f621bae 100644 --- a/Content.Server/GameObjects/Components/NodeContainer/NodeGroups/ApcNetNodeGroup.cs +++ b/Content.Server/GameObjects/Components/NodeContainer/NodeGroups/ApcNetNodeGroup.cs @@ -90,17 +90,20 @@ namespace Content.Server.GameObjects.Components.NodeContainer.NodeGroups { if (!apc.MainBreakerEnabled) continue; - + totalCharge += battery.CurrentCharge; totalMaxCharge += battery.MaxCharge; } - var availablePowerFraction = totalCharge / totalMaxCharge; - foreach (var receiver in _providerReceivers.SelectMany(kvp => kvp.Value)) - { - if (!receiver.NeedsPower || receiver.PowerDisabled) - continue; - receiver.HasApcPower = TryUsePower(receiver.Load * frameTime); + foreach (var (_, receivers) in _providerReceivers) + { + foreach (var receiver in receivers) + { + if (!receiver.NeedsPower || receiver.PowerDisabled) + continue; + + receiver.HasApcPower = TryUsePower(receiver.Load * frameTime); + } } } @@ -110,7 +113,7 @@ namespace Content.Server.GameObjects.Components.NodeContainer.NodeGroups { if (!apc.MainBreakerEnabled) continue; - + if (battery.TryUseCharge(neededCharge)) //simplification - all power needed must come from one battery { return true;