diff --git a/src/NetscriptFunctions.ts b/src/NetscriptFunctions.ts index 2f746cbe3..65b2c0053 100644 --- a/src/NetscriptFunctions.ts +++ b/src/NetscriptFunctions.ts @@ -1564,7 +1564,11 @@ export const ns: InternalAPI = { total += script.scriptRef.onlineMoneyMade / script.scriptRef.onlineRunningTime; } - return [total, Player.scriptProdSinceLastAug / (Player.playtimeSinceLastAug / 1000)]; + let incomeFromScriptsSinceLastAug = Player.scriptProdSinceLastAug / (Player.playtimeSinceLastAug / 1000); + if (!Number.isFinite(incomeFromScriptsSinceLastAug)) { + incomeFromScriptsSinceLastAug = 0; + } + return [total, incomeFromScriptsSinceLastAug]; }, getScriptIncome: (ctx) => diff --git a/src/Script/ScriptHelpers.ts b/src/Script/ScriptHelpers.ts index 2001a4af8..0adfeedd6 100644 --- a/src/Script/ScriptHelpers.ts +++ b/src/Script/ScriptHelpers.ts @@ -58,8 +58,11 @@ export function scriptCalculateOfflineProduction(runningScript: RunningScript): const expGain = confidence * (runningScript.onlineExpGained / runningScript.onlineRunningTime) * timePassed; Player.gainHackingExp(expGain); - const moneyGain = + let moneyGain = (runningScript.onlineMoneyMade / Player.playtimeSinceLastAug) * timePassed * CONSTANTS.OfflineHackingIncome; + if (!Number.isFinite(moneyGain)) { + moneyGain = 0; + } // money is given to player during engine load Player.scriptProdSinceLastAug += moneyGain; diff --git a/src/engine.tsx b/src/engine.tsx index 20a89b460..10996bd2e 100644 --- a/src/engine.tsx +++ b/src/engine.tsx @@ -276,8 +276,11 @@ const Engine: { tryGeneratingRandomContract(timeOffline / CONSTANTS.MillisecondsPerTenMinutes); let offlineReputation = 0; - const offlineHackingIncome = + let offlineHackingIncome = (Player.moneySourceA.hacking / Player.playtimeSinceLastAug) * timeOffline * CONSTANTS.OfflineHackingIncome; + if (!Number.isFinite(offlineHackingIncome)) { + offlineHackingIncome = 0; + } Player.gainMoney(offlineHackingIncome, "hacking"); // Process offline progress diff --git a/src/ui/ActiveScripts/ScriptProduction.tsx b/src/ui/ActiveScripts/ScriptProduction.tsx index 12d57fcbd..32ca9a658 100644 --- a/src/ui/ActiveScripts/ScriptProduction.tsx +++ b/src/ui/ActiveScripts/ScriptProduction.tsx @@ -30,7 +30,10 @@ const useStyles = makeStyles()((theme: Theme) => ({ })); export function ScriptProduction(): React.ReactElement { const { classes } = useStyles(); - const prodRateSinceLastAug = Player.scriptProdSinceLastAug / (Player.playtimeSinceLastAug / 1000); + let prodRateSinceLastAug = Player.scriptProdSinceLastAug / (Player.playtimeSinceLastAug / 1000); + if (!Number.isFinite(prodRateSinceLastAug)) { + prodRateSinceLastAug = 0; + } return (