From 986ac0b627eeb4faf4f400fb4552326c9c4e08c4 Mon Sep 17 00:00:00 2001 From: catloversg <152669316+catloversg@users.noreply.github.com> Date: Mon, 5 Aug 2024 03:07:10 +0700 Subject: [PATCH] BUGFIX: Wrong countdown of remaining time for Bladeburner action (#1547) --- src/Bladeburner/ui/ActionHeader.tsx | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/Bladeburner/ui/ActionHeader.tsx b/src/Bladeburner/ui/ActionHeader.tsx index 6295ac930..51b87b9a7 100644 --- a/src/Bladeburner/ui/ActionHeader.tsx +++ b/src/Bladeburner/ui/ActionHeader.tsx @@ -27,10 +27,11 @@ export function ActionHeader({ bladeburner, action, rerender }: ActionHeaderProp bladeburner.actionTimeToComplete, ); const remainingSeconds = Math.max( - bladeburner.actionTimeToComplete - bladeburner.actionTimeCurrent + bladeburner.actionTimeOverflow, + bladeburner.actionTimeToComplete - bladeburner.actionTimeCurrent - bladeburner.actionTimeOverflow, 0, ); - const remainingBonusSeconds = Math.floor(bladeburner.storedCycles / BladeburnerConstants.CyclesPerSecond); + const remainingBonusSeconds = bladeburner.storedCycles / BladeburnerConstants.CyclesPerSecond; + const showMilliseconds = remainingBonusSeconds > 4; /** * Bladeburner is processed every second. Each time it's processed, we use (up to) 4 bonus seconds and process it as * if (up to) 5 seconds passed. @@ -41,7 +42,7 @@ export function ActionHeader({ bladeburner, action, rerender }: ActionHeaderProp let eta; if (remainingSeconds <= effectiveBonusSeconds) { // If we have enough effectiveBonusSeconds, ETA is (remainingSeconds / 5). - eta = Math.floor(remainingSeconds / 5); + eta = remainingSeconds / 5; } else { /** * For example, let's say we start the "Training" action with 20 bonus seconds: remainingSeconds=30;remainingBonusSeconds=20. @@ -75,7 +76,9 @@ export function ActionHeader({ bladeburner, action, rerender }: ActionHeaderProp progress: computedActionTimeCurrent / bladeburner.actionTimeToComplete, })} - Remaining time: {convertTimeMsToTimeElapsedString(eta * 1000)} + + Remaining time: {convertTimeMsToTimeElapsedString(eta * 1000, showMilliseconds)} + );