Commit Graph

6641 Commits

Author SHA1 Message Date
catloversg 1a8dcad02b BUGFIX: Duplicated program in edge case (#1549) 2024-08-05 13:43:56 -07:00
catloversg 180dae1d2c DOCUMENTATION: Add GoAnalysis and GoCheat (#1548) 2024-08-05 13:42:19 -07:00
catloversg 9a77b47241 MISC: Remove js-sha256 (#1278) 2024-08-05 13:40:16 -07:00
catloversg eeac3f7dd1 BUGFIX: Duplicated augmentation when buying after grafting (#1536) 2024-08-04 13:11:00 -07:00
catloversg e5a63b4116 MISC: Fix typos in NetscriptDefinitions.d.ts (#1546) 2024-08-04 13:09:50 -07:00
catloversg 986ac0b627 BUGFIX: Wrong countdown of remaining time for Bladeburner action (#1547) 2024-08-04 13:07:10 -07:00
catloversg 23f193c8eb MISC: Remove unnecessary dependency in Person class (#1534) 2024-08-04 00:04:06 -07:00
catloversg 1b9676c68e MISC: Clarify deprecation warning of ns.getTimeSinceLastAug() (#1535) 2024-08-04 00:01:34 -07:00
catloversg 7c7293b687 BUGFIX: Prompt does not reset text value (#1539) 2024-08-04 00:01:01 -07:00
catloversg 1ed47b4bc9 BUGFIX: Tab completion uses wrong command list (#1537) 2024-08-03 23:52:29 -07:00
catloversg 829eda2e5a MISC: Add help text for changelog command (#1540) 2024-08-03 23:43:14 -07:00
BaxoPlenty 3be9f9dfd7 BUGFIX: Fix link to non-existing page (#1541) 2024-08-03 23:42:43 -07:00
Yichi Zhang 0dd42a1d57 TERMINAL: Stop terminal scp from revealing and copying to unreachable servers (#1542) 2024-08-03 23:38:00 -07:00
catloversg d9394db543 BUGFIX: Add missing BN multipliers in UI (#1545) 2024-08-03 23:17:50 -07:00
Tom Prince 935ac610d3 EDITOR: Support cross-language imports in editor. (#1518) 2024-08-01 23:59:31 -07:00
Tom Prince 2f95d21503 UI: Sync UI updates to game updates. (#1512)
There are a bunch of React components that update at the same rate
that the game engine processes cycles. Rather than have each place
that does so start its own timer to update that often, add a new
react hook that triggers an update shortly after the engine completes
a cycle.
2024-08-01 23:57:43 -07:00
catloversg 06677a1306 MISC: Refactor Person.ts and Sleeve.ts (#1532) 2024-08-01 22:59:41 -07:00
catloversg d4b73531f5 DOCUMENTATION: Remove unmaintained VS Code extension (#1531) 2024-08-01 22:45:47 -07:00
catloversg 9308301b12 UI: Fix misleading favor numbers (#1530) 2024-08-01 22:44:03 -07:00
catloversg bcb4a3835b BLADEBURNER: Allow upgrading skill level over max safe integer (#1509) 2024-07-31 12:48:09 -07:00
Michael Taylor 0ceb478e32 DOC: Typo in ns2 migration doc (#1528) 2024-07-31 12:41:54 -07:00
mmjr-x 4d57d636af INFILTRATION: Minesweepergame minor bugfix, made rounding behavior for height, width and mine count consistent (#1526) 2024-07-30 15:23:55 -07:00
TheAimMan 6cae65fc0d BUGFIX: Cap Gang recruit member calculation (#1523) 2024-07-27 15:44:00 -07:00
gmcew ad5e2b0fe5 CONTRACT: Remove " "s from .getDescription() result (#1525) 2024-07-27 15:42:28 -07:00
TheAimMan d4f3cf7d81 BUGFIX: Stop current work when starting a program with Singularity (#1521) 2024-07-26 15:05:27 -07:00
Tom Prince 1e6e635ae3 BUGFIX: Correctly show remaining grafting/programming time left when cycles are skipped. (#1510) 2024-07-26 02:05:29 -07:00
Tom Prince c3dc275d34 MISC: Show values of constants in type hints. (#1515) 2024-07-26 01:56:09 -07:00
Tom Prince 02538d6953 EDITOR: Enable strict typechecking of typescript. (#1493)
* EDITOR: Tweak typescript language server configuration to match use.

- We allow importing files with `.ts`/`.tsx` extensions.
- We use an file-at-a-time transpiler, so we don't support features
  that require understanding the full type system.
- We use the classic `React.createElement` transform.
2024-07-23 21:28:05 -07:00
Tom Prince 854c1a5921 MISC: Remove unsed attribues of internal ScriptDeath. (#1513) 2024-07-23 17:50:51 -07:00
robofinch 42bcfa1889 BUGFIX: Prevent runtime NotAllowedError on Safari (#1507)
Could occur when the browser’s window is resized.
2024-07-20 01:16:02 -07:00
David Walker 4502fd443e BUGFIX: Don't spin forever if IDB can't be loaded (#1500)
Our IndexDB handling did not have very good error handling. It wasn't
reporting the actual errors that occured, nor was it using actual Error
objects. In some cases it also had overly convoluted Promise use, and it
didn't need to be .tsx either.

The biggest issue was that if any problem occured during the main
load(), this would end up as an unhandled rejection and so it would only
be logged to the console. This extends the previous catch to also cover
this, so that the recovery screen is activated.
2024-07-19 19:27:04 -07:00
Tom Prince d1f190c894 BUGFIX: Fix mathjax path on dev server. (#1501) 2024-07-19 17:13:42 -07:00
Tom Prince dc93d166f0 BUGFIX: Use mathjax from npm, rather than vendored copy. (#1491) 2024-07-18 16:27:01 -07:00
catloversg ceaf27714b MISC: Remove testing code in ScriptTransformer (#1499) 2024-07-17 23:23:18 -07:00
catloversg cea0afe1f4 EDITOR: Follow-up of #1470 (Editor outline) (#1498) 2024-07-17 15:18:10 -07:00
David Walker abe7a43eec MISC: Always include stack trace in Recovery Mode (#1487)
We are getting some more error reports coming in that don't have enough
info in them. It turns out that populating the stack trace was gated
behind the dev flag; in reality, production builds are where we need it
most. Even if it ends up being obfuscated (source maps should prevent
this), we can figure out the actual source lines with enough effort if
need be.

This also changes to using the actual stack trace, rather than the
"component" trace (the tree of JSX objects), since knowing where the
code failed is far more valuable. Also, it ensures we get the full error
details when things go wrong in savefile loading.
2024-07-14 22:51:18 -07:00
catloversg 864613c616 MISC: Support JSX, TS, TSX script files (#1216) 2024-07-14 14:47:10 -07:00
catloversg 783120c886 FEATURE: BitNode options (#1411) 2024-07-14 14:30:30 -07:00
catloversg 0e1e8a9862 MISC: Disable rumor of Bladeburners in BN8 (#1484) 2024-07-14 14:20:10 -07:00
catloversg 8d39c7d9fc UI: Only show relevant changes in "Purchased Augmentations" table (#1476) 2024-07-08 11:07:19 -07:00
David Walker 06553d9700 BUGFIX: Fix "Router called before initialization" race (#1474)
If the game takes long enough to load, certain counters can become
eligible to run as soon as Engine.start() runs. When this happens,
eventually Router.page() is called, which throws an Error since Router
isn't initialized yet. (Dropping a breakpoint before Engine.start() and
waiting at least 30 seconds is enough to reliably repro, but I have seen
this both live and in tests.)

This fixes it so that Router.page() is valid immediately, returning a
value of Page.LoadingScreen. It also removes the isInitialized field,
since this is now redundant. Trying to switch pages is still an error,
but that doesn't happen without user input, whereas checking the current
page is quite common.

This also consolidates a check for "should we show toasts" behind a
function in Router, making the logic central and equal for a few
usecases. This means (for instance) that the "autosave is disabled"
logic won't run during infiltration. (The toast should have already been
suppressed.)
2024-07-07 22:13:37 -07:00
catloversg 2b6ec5cd33 BLADEBURNER: Fix wrong behavior of ns.bladeburner.getSkillUpgradeCost (#1471) 2024-07-07 14:49:23 -07:00
jazzybones-www 1613eb38ed BUGFIX: fix a typo in the hamming code problem statement (#1472) 2024-07-07 14:41:22 -07:00
catloversg 8f0ea7c8c4 EDITOR: Work around bug in monaco-editor (#1470) 2024-07-07 14:38:22 -07:00
catloversg b7a996718b UI: Tweak Hacknet summary (#1466) 2024-07-07 14:33:49 -07:00
Tom Prince b277975656 EDITOR: Provide type definitions for React and ReactDOM in in-game editor. (#1458)
* Fix the type declaration of `!!raw-loader!` modules.

Instead of declaring them to export an object with a single key
`default` which is a string, the modules have a default export, which
is a string.

Note, that this doesn't actually change the generated code, just the
types that typescript sees. The code worked before because the only
thing done to the values was to coerce the values to a string, which
turned into a no-op.

* Switch from using `raw-loader` to using a source asset module.

`raw-loader` was deprecated in webpack v5.
2024-07-07 00:08:33 -07:00
catloversg 055b4bd7bc MISC: Add threshold for warning about system clock (#1463) 2024-07-06 22:24:51 -07:00
catloversg f18d28fc6e DOCUMENTATION: Add link to NS API documentation (#1460) 2024-07-06 12:54:56 -07:00
catloversg 8ade4801a9 MISC: Remove redundant type of CONSTANTS (#1464) 2024-07-06 12:52:20 -07:00
David Walker 1f2e69631e EDITOR: Use ramOverride() to set compiled script RAM (#1446)
To use this, add a line like "ns.ramOverride(2);" as the first statement
in main(). Not only will it take effect at runtime, but it will now
*also* be parsed at compile time, changing the script's static RAM
limit. Since ns.ramOverride is a 0-cost function, the call to it on
startup then becomes a no-op.

This is an often-requested feature, and allows for scripts to set their
usage without it needing to be explicitly mentioned via args or options
when being launched. This also reduces pressure on the static RAM
analysis to be perfect all the time. (But certain limits, such as
"functions names must be unique across namespaces," remain.)

This also adds a tooltip to the RAM calculation, to make this slightly
discoverable.
2024-07-05 17:32:46 -07:00