mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-16 06:18:42 +02:00
BUGFIX: Some calculations return NaN due to Player.playtimeSinceLastAug being 0 in edge cases (#1985)
This commit is contained in:
@@ -1564,7 +1564,11 @@ export const ns: InternalAPI<NSFull> = {
|
||||
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) =>
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
@@ -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 (
|
||||
<Table size="small" classes={{ root: classes.size }}>
|
||||
|
||||
Reference in New Issue
Block a user