* Types for InternalFunction and ExternalFunction have been modified to actually typecheck ns functions against docs.
* Internal functions are required to use unknown for any params on the inner function.
* Return types for internal function inner-function must match the respective external function.
* Added new typecheck assertion function for asserting dynamic object types, to allow unknownifying params that were previously hardcoded objec structures.
* Because type assertion for parameter types and return types is enforced by InternalAPI, removed all duplicate type declarations on NetscriptFunction params and returns.
The first example shows how to use `ns.scan()` without passing an argument. The second example uses `ns.scan()` by passing the hostname of a target server. Both examples can be written more succinctly by using the `forEach()` method of array, but for the purposes of illustration the `for` loop should be easier for beginners to read.
INFILTRATION: Slash minigame fixed so attacking when the guard is preparing doesn't cause failure, fixed indicator when player has Might of Ares augmentation
Whenever StanekGift updated Sleeve's mult,
all mult were reset to default value (1.0 usually).
then stanek mult were merged.
but aug's mults never were.
=> Added a small loop to StanekGift updateMults() which reapply Aug's mult.
Remove some trailing whitespaces in `src/ScriptEditor/NetscriptDefinitions.d.ts` because `npm run format` complains about them. The trailing whitespaces were introduced in one of my earlier patches. Sorry about this :-(
The comment of each example is so long that, in the generated documentation for `ns.exec()` shown at
https://github.com/danielyxie/bitburner/blob/dev/markdown/bitburner.ns.exec.md
you must use the horizontal scrollbar to read the whole comment. Even if you maximize the browser window, you must still use the horizontal scrollbar to read the whole comment. Tested on Brave, Chrome, Firefox, and Opera. Fix this by limiting each line of comment to at most 90 characters.
Some typographical fixes in the documentation of `ns.exec()`. Link to the function `ns.run()`. Currently, the line `* * @example` causes API Extractor to output an asterisk (i.e. `*`) between the two code examples. The function `ns.exec()` calls the function `runScriptFromScript()` from `src/NetscriptWorker.ts`, which uses the floor function to round down the number of threads.
* RamCostGenerator will have an error if ramcosts are defined for nonexistent functions, in addition to error if not all functions have ram costs defined
* Removed a few random blank comment lines in NetscriptDefinitions.d.ts
* RamCalculation.test.ts checks exact expected static and dynamic ram usage from (almost) every function, based on defined RamCosts in RamCostGenerator.
Reverted ToastVariant back to an enum internally. Still exposed to player as just possible strings.
Changed all 1-line documentation comments to actually be 1-line. Moved some because they were not providing documentation for the thing they were trying to.
- Added ignoreAugment_WKSharmonizer to GameTimer to allow for strict, unmodified timers
- Changed SlashGame failure check
- Changed `timeUntilAttacking` value so the progress bar in SlashGame is accurate
Fixes#4184. The hard-coded stock symbol `"FISG"` should be `"FSIG"`. The updated examples do not use a hard-coded stock symbol. The documentation is updated to explain under which circumstances a player can run the function `stock.getPrice()`.
Some typographical fixes for the documentation of `stock.getPrice()`. The line for RAM cost should be separated by a blank line from the sentence about the definition of a stock's price. Otherwise `npm run doc` would cram those information together onto one line.
Some typographical fixes. In the generated documentation for `tprintf()`, the documentation for the parameter `values` is missing because `@param msg` should be `@param values`.
Makes the Datamancer skill for Bladeburner apply to the Population Estimate change of the Tracking contract. If this was not desired, then the description of Datamancer needs to be made more accurate :D