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.