From d1b563064870229f759783bf485380a581021ce1 Mon Sep 17 00:00:00 2001 From: Nemanja <98561806+EmoGarbage404@users.noreply.github.com> Date: Sun, 20 Nov 2022 21:50:43 -0500 Subject: [PATCH] fix infinite power gen bug (#12688) --- .../Power/EntitySystems/UpgradePowerSystem.cs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/Content.Server/Power/EntitySystems/UpgradePowerSystem.cs b/Content.Server/Power/EntitySystems/UpgradePowerSystem.cs index 2219f7c3bf..0dd696b251 100644 --- a/Content.Server/Power/EntitySystems/UpgradePowerSystem.cs +++ b/Content.Server/Power/EntitySystems/UpgradePowerSystem.cs @@ -71,23 +71,24 @@ public sealed class UpgradePowerSystem : EntitySystem private void OnSupplierRefreshParts(EntityUid uid, UpgradePowerSupplierComponent component, RefreshPartsEvent args) { - if (!TryComp(uid, out var powa)) - return; - + var supply = component.BaseSupplyRate; var rating = args.PartRatings[component.MachinePartPowerSupply]; switch (component.Scaling) { case MachineUpgradeScalingType.Linear: - powa.MaxSupply += component.BaseSupplyRate * (rating - 1); + supply += component.BaseSupplyRate * (rating - 1); break; case MachineUpgradeScalingType.Exponential: - powa.MaxSupply *= MathF.Pow(component.PowerSupplyMultiplier, rating - 1); + supply *= MathF.Pow(component.PowerSupplyMultiplier, rating - 1); break; default: Logger.Error($"invalid power scaling type for {ToPrettyString(uid)}."); - powa.MaxSupply = component.BaseSupplyRate; + supply = component.BaseSupplyRate; break; } + + if (TryComp(uid, out var powa)) + powa.MaxSupply = supply; } private void OnSupplierUpgradeExamine(EntityUid uid, UpgradePowerSupplierComponent component, UpgradeExamineEvent args)