From f3441f99db8356a2896933f0c23a62727e7fde93 Mon Sep 17 00:00:00 2001 From: Doctor-Cpu <77215380+Doctor-Cpu@users.noreply.github.com> Date: Tue, 7 Jan 2025 09:06:43 +0000 Subject: [PATCH] ais battery recharges --- .../StationAi/StationAiSystem.Power.cs | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Content.Server/Silicons/StationAi/StationAiSystem.Power.cs b/Content.Server/Silicons/StationAi/StationAiSystem.Power.cs index 5c65aba065..dfa044ed76 100644 --- a/Content.Server/Silicons/StationAi/StationAiSystem.Power.cs +++ b/Content.Server/Silicons/StationAi/StationAiSystem.Power.cs @@ -23,11 +23,24 @@ private void UpdatePower(float frameTime) while (query.MoveNext(out var uid, out var aiPower, out var core, out var battery)) { if (aiPower.IsPowered) + { + if (!TryComp(uid, out var power)) + continue; + + if (_battery.IsFull(uid, battery)) + continue; + + var inputCharge = power.Load > power.PowerReceived ? power.PowerReceived : power.Load; + var newCharge = battery.CurrentCharge + inputCharge * frameTime; + _battery.SetCharge(uid, newCharge, battery); + } + else { if (!_battery.TryUseCharge(uid, aiPower.Wattage * frameTime, battery)) { aiPower.IsPowered = false; TurnOff(uid, core); + _battery.SetCharge(uid, 0f, battery); } } } @@ -69,10 +82,8 @@ private void UpdateState(EntityUid uid, StationAiRequirePowerComponent component { TurnOn(uid, core); } - else - { - TurnOff(uid, core); - } + + // dont run turn off now as it will instantly kill the ai } private void TurnOff(EntityUid uid, StationAiCoreComponent core)