Commit Graph

427 Commits

Author SHA1 Message Date
Michael Ficocelli
18f84396e2 FEATURE: Add "Recent Errors" tab and improved error modal (#2169) 2025-06-16 16:43:21 -07:00
catloversg
a794fddaf7 MISC: Add file metadata (timestamps) (#2199) 2025-06-16 16:34:06 -07:00
catloversg
7d2686ed1b API: Standardize names of Stock APIs (#2173) 2025-06-02 02:36:36 -07:00
Chris Farfan de los Godos
552d13ad6d SINGULARITY: Adding getUnlockedAchievements function (#2156) 2025-05-24 13:47:34 -07:00
catloversg
4e5044124c CORPORATION: Rename setAutoJobAssignment API to setJobAssignment (#2146) 2025-05-22 12:42:16 -07:00
catloversg
37d9284d33 MISC: Remove deprecated tail-related APIs (#2143) 2025-05-19 20:10:15 -07:00
G4mingJon4s
2b8c008be1 NETSCRIPT: Moved formatting functions to their own interface (#1635) 2025-05-14 09:13:35 -07:00
catloversg
b53180ff1e MISC: Remove APIs that were deprecated a long time ago (#2088) 2025-05-10 22:10:48 -07:00
catloversg
849bcb2601 MISC: Add formulas API for calculating share power and move UI of sharing RAM (#2126) 2025-05-10 19:14:15 -07:00
Naga
0aaa28054a NETSCRIPT: Add functionality and support to fully allow Players to use IP addresses in place of hostnames (#1990) 2025-04-10 18:41:37 -07:00
Shy
d28a06e764 API: dynamic imports with ns.dynamicImport() (#2036) 2025-04-09 18:49:01 -07:00
Michael Ficocelli
f6e7ef082c IPVGO: Add support for highlighting nodes and adding small text (#1996) 2025-03-31 13:36:30 -07:00
Naga
1539c428bc NETSCRIPT: Add the 'cat' method to 'ns.singularity' (#1999) 2025-03-23 00:04:26 -07:00
Michael Ficocelli
70a083b34b IPVGO: Improve type checking and documentation (#2028) 2025-03-22 23:59:46 -07:00
Michael Ficocelli
17ffabdfa5 IPVGO: Add new analysis method to set a custom testing board state (#2029) 2025-03-22 23:52:26 -07:00
LJ
30075f3c07 API: Add donationForRep() to Formulas (#1141) 2025-02-11 22:05:32 -08:00
Michael Ficocelli
c8d2c9f769 IPVGO: Support scripts playing against each other as each color on "No AI" boards (#1917)
This is a big change with a *lot* of moving parts.

The largest part of it is enabling scripts to `playAsWhite` as a parameter to many Go functions. In the implementation, this involved a significant rewrite of `opponentNextTurn` promise handling.

A number of other changes and bugfixes are included:
* Fixes the issue where handicap stones are added on game load.
* Better typing for error callbacks.
* Throw errors instead of deadlocking on bad cheat usage.
* Return always-resolved gameOver promise after game end
* Added a new `resetStats` api function.

---------

Co-authored-by: David Walker <d0sboots@gmail.com>
2025-02-02 20:47:16 -08:00
catloversg
d6ee16cdb3 API: Move tail-related APIs to another namespace (#1935)
* API: Move tail-related APIs to another namespace

* Add missing RAM cost config

* Remove setTailFontSize from NS namespace
2025-02-01 21:43:56 -08:00
catloversg
956e3875e9 API: Add getSaveData API (#1390) 2025-01-30 10:36:59 -08:00
G4mingJon4s
ffae0045a4 CODINGCONTRACT: Add support for other answer formats (#1892) 2025-01-26 09:35:04 -08:00
catloversg
b161142796 API: Add ns.renderTail (#1815) 2025-01-25 09:14:45 -08:00
catloversg
9bf408221c CODEBASE: Merge TypeAssertion files (#1922) 2025-01-24 11:06:39 -08:00
Yichi Zhang
e6a1c344d3 NETSCRIPT: Log script kill immediately and identify the killing script. (#1907) 2025-01-12 21:07:01 -08:00
G4mingJon4s
c622291eff NETSCRIPT: Added changing tail font size through scripts (#1852) 2025-01-04 16:51:13 -08:00
catloversg
6e1848dd79 CORPORATION: Add new API to check if player can create corporation (#1598)
* CORPORATION: Add new API to check if player can create corporation
* Update description of createCorporation API
* Return enum instead of true/false
* Use throwIfReachable
* Fix typo in comment
2024-11-30 21:49:19 -08:00
catloversg
05da0efc81 REFACTOR: Mitigate cyclic dependency between Jsonable classes (#1792) 2024-11-23 15:53:31 -08:00
catloversg
36c143b687 CODEBASE: Fix lint errors 2 (#1756) 2024-11-06 23:09:11 -08:00
catloversg
f6502dd490 CODEBASE: Fix lint errors 1 (#1732) 2024-11-03 22:35:14 -08:00
ballardrog
0bf378a1b0 IPVGO: Add getCheatCount(). (#1734) 2024-10-27 18:52:23 -07:00
catloversg
9a0400d3df API: Improve built-in print APIs when printing objects containing Map or Set (#1723) 2024-10-23 16:01:58 -07:00
catloversg
867f79c5ab API: Improve built-in print APIs when printing Promise objects (#1710) 2024-10-21 20:37:40 -07:00
Alain Bryden
cd99006c4e NETSCRIPT: Update ScriptDeath to extend Error (#1685)
* Update ScriptDeath to extend Error

- Rename the "name" property to "hostname" so that it doesn't clash with inherited Error.name property.
- Extend Error, this way if a user ends up catching it they can:
  - Test the type of error caught (name) and ignore it if desired
  - Get a stack trace and find out where they went wrong
  - Not require special case error printing logic for catching things that are neither strings, nor Error objects.

It is possible (but unlikely) that this could make killing scripts slower in some circumstances.
2024-10-09 21:18:06 -07:00
catloversg
32e00aff7a BUGFIX: Wrong parameter requirement of ns.bladeburner.setTeamSize (#1673) 2024-09-30 20:18:25 -07:00
G4mingJon4s
651b17739c NETSCRIPT: Add ns.self() as a free info function (#1636)
* added utility info

* moved info to running script

* fix for RAM cost

* description changes

Co-authored-by: David Walker <d0sboots@gmail.com>

* fixed wrong formatting

* Added parent to ignored fields

---------

Co-authored-by: David Walker <d0sboots@gmail.com>
2024-09-07 17:34:24 -07:00
Nicole
b4f2a5c641 set static information netscript costs to 0 (#1628) 2024-08-25 10:09:36 -07:00
Yichi Zhang
028e779602 NETSCRIPT: Don't make dynamicLoadedFns entries for free functions. (#1617) 2024-08-23 21:23:41 -07:00
catloversg
be515cc195 BUGFIX: Crash in b1tflum3 and destroyW0r1dD43m0n API (#1619) 2024-08-23 21:06:53 -07:00
Nicole
7f5c4e1fe0 API: Reduced RAM cost for ns.getPurchasedServers (#1614) 2024-08-22 00:44:21 -07:00
David Walker
5b2a4eafcb MISC: Improve several things relating to PID lookups (#1594)
findRunningScriptByPid needlessly took a "server" argument. This caused
there to be a "getRunningScriptByPid" version that did *not*, and it was
looping through all servers in order to function, which is needlessly
inefficient.

By removing the parameter and the needless inefficient helper method,
the following changes:
- Many Netscript functions such as isRunning() and getScript() become faster.
- The terminal "tail" command now works by pid regardless of the current
  server. Note that "kill" already worked this way.

I also improved the docs around "tail", since the pid argument wasn't
in the help.
2024-08-17 14:03:00 -07:00
David Walker
34db6e8b26 NETSCRIPT: Rework disableLog for efficiency (#1589)
The current implementation was naive; disableLog("ALL") was storing a
key for every function, and iterating over a different object to do it
(when iterating over objects is quite slow).

The common cases of Bitburner (and especially batching, where efficiency
matters most) are either never disabling anything, or disabling "ALL".
This optimizes for these two cases, at the expense of slightly more
complicated code to deal with the less-common edge cases.
2024-08-16 19:10:20 -07:00
catloversg
289f60d8c8 BLADEBURNER: Add API to calculate max upgrade count of skill (#1475) 2024-08-16 13:15:20 -07:00
catloversg
a9cb46606c DOCUMENTATION: Update documentation of Corporation API (#1587) 2024-08-16 02:02:23 -07:00
Tom Prince
854c1a5921 MISC: Remove unsed attribues of internal ScriptDeath. (#1513) 2024-07-23 17:50:51 -07:00
catloversg
783120c886 FEATURE: BitNode options (#1411) 2024-07-14 14:30:30 -07:00
catloversg
b1c1fc24a9 GRAFTING: Add new api for checking ongoing grafting (#1435) 2024-06-28 19:59:18 -07:00
David Walker
9c9a69f2e2 NETSCRIPT: Add ramOverride() function (#1346)
This adds a way to dynamically change the static RAM limit of a script,
which is also its current RAM usage. This makes it possible for scripts
to dynamically change their memory footprint, opening up new strategies
beyond current ram-dodging.

Calling functions still permanently increases the *dynamic* memory
limit; RAM-dodging is still the optimal strategy for avoiding RAM costs,
in that sense.

This also adds dynamicRamUsage to the info returned by
`getRunningScript`, to allow introspection on the currently needed ram.
2024-06-28 18:42:20 -07:00
David Walker
1c20a24079 MISC: Make spawn able to have 0 delay (#1333)
This eliminates a hole where spawn was unrelaible, because other scripts
could jump in and steal the RAM. It's not an API break, because 0 used
to be an invalid value.
2024-06-28 18:41:41 -07:00
David Walker
06d742a7f3 BUGFIX: Fix rounding issues due to ramOverride edge cases (#1339)
*All* RAM calculations must take place in units of hundredths-of-a-GB in
order for there not to be issues.

Also adds slightly more verbose logging when the dynamic RAM check
fails.
2024-06-28 17:58:17 -07:00
catloversg
5a8f0e99af SINGULARITY: Add ns.singularity.getFactionWorkTypes (#1425) 2024-06-24 20:43:36 -07:00
Michael Ficocelli
cf48d666f5 IPVGO: Add history, and details to status, to go API (#1348) 2024-06-05 18:24:48 -07:00