diff --git a/src/NetscriptFunctions.ts b/src/NetscriptFunctions.ts index 52b0df31c..8af58649e 100644 --- a/src/NetscriptFunctions.ts +++ b/src/NetscriptFunctions.ts @@ -1737,13 +1737,11 @@ const base: InternalAPI = { return numeralWrapper.format(n, format); }, - tFormat: - (ctx) => - (_milliseconds, _milliPrecision = false) => { - const milliseconds = helpers.number(ctx, "milliseconds", _milliseconds); - const milliPrecision = !!_milliPrecision; - return convertTimeMsToTimeElapsedString(milliseconds, milliPrecision); - }, + tFormat: (ctx) => (_milliseconds, _milliPrecision) => { + const milliseconds = helpers.number(ctx, "milliseconds", _milliseconds); + const milliPrecision = !!_milliPrecision; + return convertTimeMsToTimeElapsedString(milliseconds, milliPrecision); + }, getTimeSinceLastAug: () => () => { return Player.playtimeSinceLastAug; }, diff --git a/src/utils/StringHelperFunctions.ts b/src/utils/StringHelperFunctions.ts index 94133e3aa..8417dc032 100644 --- a/src/utils/StringHelperFunctions.ts +++ b/src/utils/StringHelperFunctions.ts @@ -7,7 +7,8 @@ e.g. 10000 -> "10 seconds" 120000 -> "2 minutes and 0 seconds" */ function convertTimeMsToTimeElapsedString(time: number, showMilli = false): string { - time = Math.floor(time); + const negFlag = time < 0; + time = Math.abs(Math.floor(time)); const millisecondsPerSecond = 1000; const secondPerMinute = 60; const minutesPerHours = 60; @@ -47,7 +48,7 @@ function convertTimeMsToTimeElapsedString(time: number, showMilli = false): stri } res += `${seconds} second${!showMilli && secTruncMinutes === 1 ? "" : "s"}`; - return res; + return negFlag ? `-(${res})` : res; } // Finds the longest common starting substring in a set of strings