Commit Graph

261 Commits

Author SHA1 Message Date
catloversg
0bc05772f6 CODEBASE: Remove barrel imports in Bladeburner code (#2580) 2026-03-19 20:13:19 -07:00
catloversg
3813d03fb6 MISC: Rework intelligence override (#2575) 2026-03-19 20:09:37 -07:00
David Walker
b6a29681f4 BUGFIX: Fix webstorm by using a mutationLock (#2542) 2026-03-06 11:11:06 -08:00
David Walker
dc5c43db2e REFACTOR: Make getPlayer 10x faster (#2548) 2026-03-03 14:21:34 -08:00
Michael Ficocelli
3d41c348bc DNET: Rebalance / player feedback (#2533) 2026-02-28 11:48:03 -08:00
Misha279-UA
c85d9cbe8c CCT: Add "Find Largest Rectangle in a Matrix" coding contract (#2519) 2026-02-24 12:10:42 -08:00
David Walker
8f4313b180 Revert "PIPE: Add pipe support for passing data into and out of terminal commands (#2395)" (#2524)
This reverts commit 92b8b58588.

Accidental merge on my part - the code is in decent shape, but isn't meant to go in for 3.0.
2026-02-22 11:28:10 -08:00
Michael Ficocelli
92b8b58588 PIPE: Add pipe support for passing data into and out of terminal commands (#2395) 2026-02-22 11:18:23 -08:00
catloversg
0c118ede38 DOCUMENTATION: Use relative links instead of absolute links (#2521) 2026-02-21 11:58:15 -08:00
catloversg
67fd763c30 JEST: Show coding contract names when their tests failed (#2520) 2026-02-21 10:20:31 -08:00
Michael Ficocelli
9279b16729 DNET: Adjust balance from player feedback (#2512) 2026-02-18 13:41:48 -08:00
David Walker
42bdbbc2c8 MISC: Update blood donations (#2508)
Per Hydroflame's request
2026-02-16 10:12:52 -08:00
catloversg
9a6e80129f UI: Improve navigation system of in-game documentation viewer (#2499)
* UI: Improve navigation system of in-game documentation viewer

* Update based on feedback

* Update based on feedback
2026-02-16 09:00:58 -08:00
catloversg
dd78a2cb44 API: Remove RAM cost of hacknet namespace and set RAM cost of each hacknet API (#2502)
* API: Remove RAM cost of hacknet namespace and set RAM cost of each hacknet API

* Fix Jest tests

* Update based on feedback
2026-02-16 09:00:02 -08:00
catloversg
dc0c3b6fa3 JEST: Add tests for checking getAnswer and solver of coding contracts (#2503) 2026-02-15 10:53:58 -08:00
David Walker
b51ed8fd59 BUG: Fix missed cases in offline server handling (#2495)
There were two large holes in the existing offline server handling:

1. It didn't include IPs, so scripts that used IPs instead of hostnames
   would get exceptions thrown for "server not found."
2. Coverage was very low for non-Darknet APIs. Maybe most of them don't
   need to be covered, but many obvious ones like "ps", "killall" and
   "hasRootAccess" were missing. IMO the only reliable answer is one
   that enforces *all* are covered via the type system.

To accomplish the second part, helpers.getServer() was changed to return
null when a server is offline. This intentionally breaks a lot of its
utility, which was to return a server unconditionally. To compensate,
its utility was increased - it now also does unknown argument
processing, allowing it to subsume a common line that all callers were
repeating.

Some callers switched to ctx.workerScript.getServer(), because they
didn't actually need to be using helpers.getServer(). Similarly, a few
callsites switched to GetServerOrThrow(), for the cases where it should
be guaranteed that the server is valid. The rest are returning a
default/failure response when the server is offline. (Except for
contracts, which threw on failure already anyway.)
2026-02-15 10:29:47 -08:00
Michael Ficocelli
26db9f2955 DNET: More fixes and feedback (#2489)
* Add some re-rendering improvements to avoid the canvas and visual servers getting desynched

* removed underlevelled nerf to low-level servers; improved charisma level docs

* Remove offscreen dynamic culling

* PR feedback; add cache file names to tooltip

* Ensure stasis link servers get loaded properly; ensure darkweb has neighbors to prevent unit tests from failing; remove extra optional chaining accessors
2026-02-13 17:23:24 -08:00
David Walker
26b5c28df6 REFACTOR: Speed up by-ip lookups by introducing a new map entry (#2488)
Thankfully, the existing AllServers map is not exported, so we can
ensure that all the changes are only local to this file.

This also fixes a bug if renameServer was called with the same
name. (Probably calling code checked that case already.)
2026-02-11 10:43:52 -08:00
catloversg
ac34d6508d BLADEBURNER: Stop randomizing action difficulty (#2491) 2026-02-11 10:36:10 -08:00
catloversg
638c791047 MISC: Change how coding contract rewards are randomized (#2490) 2026-02-11 10:34:59 -08:00
catloversg
97987fe35b BUGFIX: Global states are not reset properly between each Jest test (#2487) 2026-02-10 10:13:00 -08:00
catloversg
95b739f703 BUGFIX: Darknet state is not reset properly on prestige (#2486) 2026-02-10 09:39:31 -08:00
Michael Ficocelli
bab6280735 DNET: Add JS object properties as server names; refactor save/load/server storage to support this (#2482) 2026-02-10 00:13:47 -08:00
David Walker
b5da311133 REFACTOR: Consolidate checks under getFailureResult() (#2476)
There was duplicated code, and more importantly, were were handling
certain things subtly differently in exec() and scp() as a result. This
notably causes a behavior change in exec() and scp() where failure to
authenticate now returns failure instead of throwing, which I believe is
the proper response.

This also makes it easier to see in the code exactly which functions
require what (auth, session, etc.)
2026-02-08 08:39:42 -08:00
Michael Ficocelli
60a8996707 DARKNET: Add extra hint to sorted echo puzzle at high levels (#2465) 2026-02-06 04:58:01 -08:00
Michael Ficocelli
0eae02adcf DARKNET: Improve documentation; remove requirement that getBlockedRam and getDepth be called on a darknet server (#2472) 2026-02-05 07:28:06 -08:00
catloversg
796bef81b3 BUGFIX: Sleeves can earn exp and purchase augmentations when enabling disableSleeveExpAndAugmentation (#2467) 2026-02-05 04:47:24 -08:00
Michael Ficocelli
6073964768 DARKNET: Darkweb Expansion Project & Bitnode (#2139)
This is BN15. It is a really big change; see the PR for all the details.
2026-02-03 03:40:36 -08:00
catloversg
5a2bdfc9f1 CODEBASE: Update NodeJS to v24 (#2456) 2026-01-28 22:10:55 -08:00
TheAimMan
210c338f86 SLEEVES: Add sleeve commands to purchase sleeves and memory via the API (#2443) 2026-01-20 12:55:51 -08:00
Michael Ficocelli
4218b01dfb IPVGO: Do not update captures on passed analysis boards (#2415) 2025-12-21 13:44:24 -08:00
Paul Setzer
968c0c2a8c CONTRACTS: Generate test contracts on executing host by default. Add support for optional parameter to specify the server. (#2417) 2025-12-16 16:23:59 -08:00
imcute_aaaa
77fe36db89 BUGFIX: Coding contracts may have duplicate names (#2399) 2025-11-26 23:59:11 -08:00
gmcew
7c0286222c API: Move and rename purchased server functions to cloud API (#2367)
* Convert purchased server functions to cloud API

- Create `ns.cloud`
- Change `bitnode multipliers` and `server constants` wording for consistency
- change `server`, `ram` and `getting started` docs for consistency
- Added changes to 3.0.0 API Break and `setRemovedFunctions` in NetscriptFunctions.js

Tested by
- running tutorial `purchase-server-8gb.js`, and a more typical player one
- buying manually using vendor (Alpha Ent in Sector 12)
- deleting them all using script, and checked all deleted functions gave correct error
- Imported completed save to ensure auto-transfer of function work

* Revision in line with comments

- changed more `purchased` to `cloud` references
- Added BN mults auto-conversion

* Update getting_started.md

 - Corrected function names for new `cloud API`

* Don't show `cloud API` warning

v3.0.0 API break auto-replaces `cloud` functions, not warning suggested.

* API Break correction

- `cloud` affected API break replacement changed to be more descriptive and functional

* Fix typo and add empty lines

* Update many things (check commit's description)

- Comments
- Terminal message
- UI Text
- TSDoc
- md docs
- Improve error messages in src\NetscriptFunctions\Cloud.ts
2025-11-07 12:10:33 -08:00
catloversg
a703e8753b JEST: Refactor tests that add home server manually (#2358) 2025-10-21 20:57:14 -04:00
catloversg
6837f334fd CODEBASE: Remove redundant check in getServer utility function and serverExists API (#2357) 2025-10-19 11:45:30 -07:00
catloversg
d421d4fcf9 MISC: Make TIX access independent from WSE account (#2342) 2025-10-11 17:28:45 -07:00
catloversg
1883af6c38 TOOLS: Enable linting in test folder (#2337) 2025-10-06 23:48:18 -07:00
Michael Ficocelli
0d1f5f3eeb IPVGO: Consistently return error() calls to make sure it is obvious the function halts at that point (#2335) 2025-10-06 14:26:31 -07:00
Michael Taylor
370424af2d JEST: Quiet Jest tests output on expected failures (#2332) 2025-10-05 12:31:15 -07:00
catloversg
020b185377 JEST: Enable restoreMocks option and fix lint errors (#2333)
* JEST: Enable restoreMocks option and fix lint errors

* Fix test\jest\Save.test.ts
2025-10-04 14:38:50 -07:00
catloversg
9d5342732c JEST: Add Jest test to test migration from v2 to v3 (#2305) 2025-09-05 23:40:02 -07:00
Michael Ficocelli
cad38f015c IPVGO: Prevent tiny islands surrounded by offline nodes during initial board generation (#2310) 2025-09-05 23:26:57 -07:00
David Walker
d4cb50fbf1 BUGFIX: Fix calculateExp so that it won't return a too small result (#2274)
* BUGFIX: Fix calculateExp so that it won't return a too small result

Due to floating point rounding issues, when applying the inverse
operation and flooring, roughly half the time we would get the next
lower skill level. This quickly finds a slightly higher result that
gives the correct inverse.

* clearer test layout
2025-07-31 12:54:31 -07:00
catloversg
f182030385 CORPORATION: Use different term for dividend modifier instead of tax (#2237) 2025-07-11 12:55:46 -07:00
catloversg
6c7783aa85 CORPORATION: Remove DreamSense upgrade (#2232) 2025-07-10 01:40:36 -07:00
catloversg
9b59fcbb5f BUGFIX: Running scripts may be loaded before main UI (#1726) 2025-07-05 18:10:51 -07:00
hydroflame
407dad0d6b MISC: Update blood donations (#2216) 2025-06-26 15:15:57 -07:00
catloversg
8aa73b2c65 MISC: Detect circular dependencies when generating modules (#2194) 2025-06-21 13:32:47 -07:00
catloversg
510a9a6be5 BUGFIX: Documentation navigator does not handle external URL properly (#2202) 2025-06-21 13:31:52 -07:00