Elaborate on the conditions under which the function would return true or false. In particular, after a gang is successfully created the function always return true so the player can recruit a number of founding members to their gang. When the gang is at capacity, the function always return false. In between, the function returns true or false depending on the amount of respect the player has.
Add some examples to illustrate the use of the various options. As per suggestion by @Snarling, simplify the examples on free-form text box and drop-down list.
Elaborate on the effects of `options.type` and `options.choices`. Break the explanation into bullet points for clearer presentation. Thanks to @Snarling for pointing out that the default is to create a boolean dialog box.
* 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()`.