From c00da0cd8716c9018b5fdc32cbe983454eaa5c72 Mon Sep 17 00:00:00 2001 From: catloversg <152669316+catloversg@users.noreply.github.com> Date: Tue, 17 Mar 2026 02:46:06 +0700 Subject: [PATCH] BUGFIX: hacknetNodeCost formula API throws when using documented optional parameter (#2577) --- ...tburner.hacknetnodesformulas.hacknetnodecost.md | 4 ++-- src/NetscriptFunctions/Formulas.ts | 14 ++++++++------ src/ScriptEditor/NetscriptDefinitions.d.ts | 2 +- 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/markdown/bitburner.hacknetnodesformulas.hacknetnodecost.md b/markdown/bitburner.hacknetnodesformulas.hacknetnodecost.md index 60d88ad22..a10f07343 100644 --- a/markdown/bitburner.hacknetnodesformulas.hacknetnodecost.md +++ b/markdown/bitburner.hacknetnodesformulas.hacknetnodecost.md @@ -9,7 +9,7 @@ Calculate the cost of a hacknet node. **Signature:** ```typescript -hacknetNodeCost(n: number, mult: number): number; +hacknetNodeCost(n: number, mult?: number): number; ``` ## Parameters @@ -58,7 +58,7 @@ number -player cost reduction (defaults to 1) +_(Optional)_ player cost reduction (defaults to 1) diff --git a/src/NetscriptFunctions/Formulas.ts b/src/NetscriptFunctions/Formulas.ts index 1d90ca544..0a10a14b1 100644 --- a/src/NetscriptFunctions/Formulas.ts +++ b/src/NetscriptFunctions/Formulas.ts @@ -274,12 +274,14 @@ export function NetscriptFormulas(): InternalAPI { checkFormulasAccess(ctx); return calculateCoreUpgradeCost(startingCore, extraCores, costMult); }, - hacknetNodeCost: (ctx) => (_n, _mult) => { - const n = helpers.number(ctx, "n", _n); - const mult = helpers.number(ctx, "mult", _mult); - checkFormulasAccess(ctx); - return calculateNodeCost(n, mult); - }, + hacknetNodeCost: + (ctx) => + (_n, _mult = 1) => { + const n = helpers.number(ctx, "n", _n); + const mult = helpers.number(ctx, "mult", _mult); + checkFormulasAccess(ctx); + return calculateNodeCost(n, mult); + }, constants: (ctx) => () => { checkFormulasAccess(ctx); return Object.assign({}, HacknetNodeConstants); diff --git a/src/ScriptEditor/NetscriptDefinitions.d.ts b/src/ScriptEditor/NetscriptDefinitions.d.ts index 202463df7..b0b3fce80 100644 --- a/src/ScriptEditor/NetscriptDefinitions.d.ts +++ b/src/ScriptEditor/NetscriptDefinitions.d.ts @@ -6328,7 +6328,7 @@ interface HacknetNodesFormulas { * @param mult - player cost reduction (defaults to 1) * @returns The calculated cost. */ - hacknetNodeCost(n: number, mult: number): number; + hacknetNodeCost(n: number, mult?: number): number; /** * All constants used by the game. * @returns An object with all hacknet node constants used by the game.