fix sleeve memory bug

This commit is contained in:
Olivier Gagnon
2021-09-08 23:47:34 -04:00
parent bada8a5f39
commit 2a13db39c7
360 changed files with 5424 additions and 15764 deletions
+7 -31
View File
@@ -1,27 +1,16 @@
import { BitNodeMultipliers } from "../../BitNode/BitNodeMultipliers";
import { HacknetNodeConstants } from "../data/Constants";
export function calculateMoneyGainRate(
level: number,
ram: number,
cores: number,
mult: number,
): number {
export function calculateMoneyGainRate(level: number, ram: number, cores: number, mult: number): number {
const gainPerLevel = HacknetNodeConstants.MoneyGainPerLevel;
const levelMult = level * gainPerLevel;
const ramMult = Math.pow(1.035, ram - 1);
const coresMult = (cores + 5) / 6;
return (
levelMult * ramMult * coresMult * mult * BitNodeMultipliers.HacknetNodeMoney
);
return levelMult * ramMult * coresMult * mult * BitNodeMultipliers.HacknetNodeMoney;
}
export function calculateLevelUpgradeCost(
startingLevel: number,
extraLevels = 1,
costMult = 1,
): number {
export function calculateLevelUpgradeCost(startingLevel: number, extraLevels = 1, costMult = 1): number {
const sanitizedLevels = Math.round(extraLevels);
if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {
return 0;
@@ -35,19 +24,14 @@ export function calculateLevelUpgradeCost(
let totalMultiplier = 0;
let currLevel = startingLevel;
for (let i = 0; i < sanitizedLevels; ++i) {
totalMultiplier +=
HacknetNodeConstants.LevelBaseCost * Math.pow(mult, currLevel);
totalMultiplier += HacknetNodeConstants.LevelBaseCost * Math.pow(mult, currLevel);
++currLevel;
}
return (HacknetNodeConstants.BaseCost / 2) * totalMultiplier * costMult;
}
export function calculateRamUpgradeCost(
startingRam: number,
extraLevels = 1,
costMult = 1,
): number {
export function calculateRamUpgradeCost(startingRam: number, extraLevels = 1, costMult = 1): number {
const sanitizedLevels = Math.round(extraLevels);
if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {
return 0;
@@ -76,11 +60,7 @@ export function calculateRamUpgradeCost(
return totalCost;
}
export function calculateCoreUpgradeCost(
startingCore: number,
extraLevels = 1,
costMult = 1,
): number {
export function calculateCoreUpgradeCost(startingCore: number, extraLevels = 1, costMult = 1): number {
const sanitizedCores = Math.round(extraLevels);
if (isNaN(sanitizedCores) || sanitizedCores < 1) {
return 0;
@@ -108,9 +88,5 @@ export function calculateNodeCost(n: number, mult = 1): number {
if (n <= 0) {
return 0;
}
return (
HacknetNodeConstants.BaseCost *
Math.pow(HacknetNodeConstants.PurchaseNextMult, n - 1) *
mult
);
return HacknetNodeConstants.BaseCost * Math.pow(HacknetNodeConstants.PurchaseNextMult, n - 1) * mult;
}
+6 -32
View File
@@ -13,21 +13,10 @@ export function calculateHashGainRate(
const coreMultiplier = 1 + (cores - 1) / 5;
const ramRatio = 1 - ramUsed / maxRam;
return (
baseGain *
ramMultiplier *
coreMultiplier *
ramRatio *
mult *
BitNodeMultipliers.HacknetNodeMoney
);
return baseGain * ramMultiplier * coreMultiplier * ramRatio * mult * BitNodeMultipliers.HacknetNodeMoney;
}
export function calculateLevelUpgradeCost(
startingLevel: number,
extraLevels = 1,
costMult = 1,
): number {
export function calculateLevelUpgradeCost(startingLevel: number, extraLevels = 1, costMult = 1): number {
const sanitizedLevels = Math.round(extraLevels);
if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {
return 0;
@@ -48,11 +37,7 @@ export function calculateLevelUpgradeCost(
return 10 * HacknetServerConstants.BaseCost * totalMultiplier * costMult;
}
export function calculateRamUpgradeCost(
startingRam: number,
extraLevels = 1,
costMult = 1,
): number {
export function calculateRamUpgradeCost(startingRam: number, extraLevels = 1, costMult = 1): number {
const sanitizedLevels = Math.round(extraLevels);
if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {
return 0;
@@ -79,11 +64,7 @@ export function calculateRamUpgradeCost(
return totalCost;
}
export function calculateCoreUpgradeCost(
startingCores: number,
extraLevels = 1,
costMult = 1,
): number {
export function calculateCoreUpgradeCost(startingCores: number, extraLevels = 1, costMult = 1): number {
const sanitizedLevels = Math.round(extraLevels);
if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {
return 0;
@@ -106,10 +87,7 @@ export function calculateCoreUpgradeCost(
return totalCost;
}
export function calculateCacheUpgradeCost(
startingCache: number,
extraLevels = 1,
): number {
export function calculateCacheUpgradeCost(startingCache: number, extraLevels = 1): number {
const sanitizedLevels = Math.round(extraLevels);
if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {
return 0;
@@ -136,9 +114,5 @@ export function calculateServerCost(n: number, mult = 1): number {
return Infinity;
}
return (
HacknetServerConstants.BaseCost *
Math.pow(HacknetServerConstants.PurchaseMult, n - 1) *
mult
);
return HacknetServerConstants.BaseCost * Math.pow(HacknetServerConstants.PurchaseMult, n - 1) * mult;
}