Merge branch 'dev' into bugfix/2958

This commit is contained in:
Jack 2022-03-30 08:26:18 +08:00 committed by GitHub
commit b79f466395
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
336 changed files with 7898 additions and 156491 deletions

@ -137,7 +137,7 @@ module.exports = {
"no-ex-assign": ["off"],
"no-extra-boolean-cast": ["error"],
"no-extra-parens": ["off"],
"no-extra-semi": ["off"],
"no-extra-semi": ["error"],
"no-eval": ["off"],
"no-extend-native": ["off"],
"no-extra-bind": ["error"],
@ -166,12 +166,12 @@ module.exports = {
"no-label-var": ["error"],
"no-labels": ["off"],
"no-lone-blocks": ["error"],
"no-lonely-if": ["off"],
"no-lonely-if": ["error"],
"no-loop-func": ["off"],
"no-magic-numbers": ["off"],
"no-mixed-operators": ["off"],
"no-mixed-requires": ["error"],
"no-mixed-spaces-and-tabs": ["off"],
"no-mixed-spaces-and-tabs": ["error"],
"no-multi-assign": ["off"],
"no-multi-spaces": ["off"],
"no-multi-str": ["error"],
@ -253,7 +253,7 @@ module.exports = {
"no-use-before-define": ["off"],
"no-useless-call": ["off"],
"no-useless-computed-key": ["error"],
"no-useless-concat": ["off"],
"no-useless-concat": ["error"],
"no-useless-constructor": ["error"],
"no-useless-escape": ["off"],
"no-useless-rename": [

@ -0,0 +1,85 @@
name: Check for Generated Files
on:
# Triggers the workflow on push or pull request events but only for the dev branch
pull_request:
branches: [dev]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
checkFiles:
name: Check Files
runs-on: ubuntu-latest
steps:
- name: Checkout files
uses: actions/checkout@v2
- name: Check bundle files
id: changed-bundle-files
uses: tj-actions/changed-files@v18.4
with:
files: |
dist/*
index.html
main.bundle.js
main.bundle.js.map
- name: Check documentation changes
id: changed-markdown-doc-files
uses: tj-actions/changed-files@v18.4
with:
files: |
markdown/*.md
- name: Warn when bundle files were changed
id: warn-bundles-changed
if: steps.changed-bundle-files.outputs.any_changed == 'true'
run: |
echo "One or more files in the bundle files were changed." >> warnings.txt
- name: Warn when documentation markdown files were changed
id: warn-markdown-changed
if: steps.changed-markdown-doc-files.outputs.any_changed == 'true'
run: |
echo "One or more files in the markdown documentation were changed." >> warnings.txt
- name: Print Warnings
id: get-warnings
run: |
if [ -f warnings.txt ]
then
echo "::set-output name=has_warnings::true"
else
echo "::set-output name=has_warnings::false"
touch warnings.txt
fi
- name: Get Comment Body
id: get-comment-body
if : steps.get-warnings.outputs.has_warnings == 'true'
run: |
cat warnings.txt > comment.txt
echo "" >> comment.txt
echo "Please do not commit files generated by webpack or generated markdown" >> comment.txt
echo "" >> comment.txt
echo "See [CONTRIBUTING.md](https://github.com/danielyxie/bitburner/blob/dev/doc/CONTRIBUTING.md) for details." >> comment.txt
body=$(cat comment.txt)
body="${body//'%'/'%25'}"
body="${body//$'\n'/'%0A'}"
body="${body//$'\r'/'%0D'}"
echo ::set-output name=body::$body
- name: Add github comment on problem
if : steps.get-warnings.outputs.has_warnings == 'true'
uses: peter-evans/commit-comment@v1
with:
body: ${{ steps.get-comment-body.outputs.body }}
- name: Flag as error
if : steps.get-warnings.outputs.has_warnings == 'true'
run: |
COMMIT_WARNINGS=$(cat warnings.txt)
echo "::warning:: $COMMIT_WARNINGS"
exit 1

@ -3,9 +3,9 @@ name: CI
on:
# Triggers the workflow on push or pull request events but only for the dev branch
push:
branches: [ dev ]
branches: [dev]
pull_request:
branches: [ dev ]
branches: [dev]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
@ -20,7 +20,7 @@ jobs:
uses: actions/setup-node@v2
with:
node-version: 16.13.1
cache: 'npm'
cache: "npm"
- name: Install npm dependencies
run: npm ci
- name: Build the production app
@ -34,11 +34,25 @@ jobs:
uses: actions/setup-node@v2
with:
node-version: 16.13.1
cache: 'npm'
cache: "npm"
- name: Install npm dependencies
run: npm ci
- name: Run linter
run: npm run lint:report
prettier:
name: Prettier
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 16.13.1
uses: actions/setup-node@v2
with:
node-version: 16.13.1
cache: "npm"
- name: Install npm dependencies
run: npm ci
- name: Run prettier check
run: npm run format:report
test:
name: Test
runs-on: ubuntu-latest
@ -48,7 +62,7 @@ jobs:
uses: actions/setup-node@v2
with:
node-version: 16.13.1
cache: 'npm'
cache: "npm"
- name: Install npm dependencies
run: npm ci
- name: Run tests

@ -1,23 +0,0 @@
.staneksgift_row {
padding: 0;
margin: 0;
}
.staneksgift_cell {
width: 25px;
height: 25px;
background-color: #808080;
font-color: white;
padding: 0px;
margin: 0px;
border: 1px solid black;
float: left;
}
.staneksgift_cell:first-child {
clear: left;
}
.staneksgift_container {
position: fixed;
}

435
dist/bitburner.d.ts vendored

@ -15,65 +15,65 @@ export declare interface ActiveFragment {
* @public
*/
export declare interface AugmentationStats {
/** Multipler to hacking skill */
/** Multiplier to hacking skill */
hacking_mult?: number;
/** Multipler to strength skill */
/** Multiplier to strength skill */
strength_mult?: number;
/** Multipler to defense skill */
/** Multiplier to defense skill */
defense_mult?: number;
/** Multipler to dexterity skill */
/** Multiplier to dexterity skill */
dexterity_mult?: number;
/** Multipler to agility skill */
/** Multiplier to agility skill */
agility_mult?: number;
/** Multipler to charisma skill */
/** Multiplier to charisma skill */
charisma_mult?: number;
/** Multipler to hacking experience gain rate */
/** Multiplier to hacking experience gain rate */
hacking_exp_mult?: number;
/** Multipler to strength experience gain rate */
/** Multiplier to strength experience gain rate */
strength_exp_mult?: number;
/** Multipler to defense experience gain rate */
/** Multiplier to defense experience gain rate */
defense_exp_mult?: number;
/** Multipler to dexterity experience gain rate */
/** Multiplier to dexterity experience gain rate */
dexterity_exp_mult?: number;
/** Multipler to agility experience gain rate */
/** Multiplier to agility experience gain rate */
agility_exp_mult?: number;
/** Multipler to charisma experience gain rate */
/** Multiplier to charisma experience gain rate */
charisma_exp_mult?: number;
/** Multipler to chance of successfully performing a hack */
/** Multiplier to chance of successfully performing a hack */
hacking_chance_mult?: number;
/** Multipler to hacking speed */
/** Multiplier to hacking speed */
hacking_speed_mult?: number;
/** Multipler to amount of money the player gains from hacking */
/** Multiplier to amount of money the player gains from hacking */
hacking_money_mult?: number;
/** Multipler to amount of money injected into servers using grow */
/** Multiplier to amount of money injected into servers using grow */
hacking_grow_mult?: number;
/** Multipler to amount of reputation gained when working */
/** Multiplier to amount of reputation gained when working */
company_rep_mult?: number;
/** Multipler to amount of reputation gained when working */
/** Multiplier to amount of reputation gained when working */
faction_rep_mult?: number;
/** Multipler to amount of money gained from crimes */
/** Multiplier to amount of money gained from crimes */
crime_money_mult?: number;
/** Multipler to crime success rate */
/** Multiplier to crime success rate */
crime_success_mult?: number;
/** Multipler to amount of money gained from working */
/** Multiplier to amount of money gained from working */
work_money_mult?: number;
/** Multipler to amount of money produced by Hacknet Nodes */
/** Multiplier to amount of money produced by Hacknet Nodes */
hacknet_node_money_mult?: number;
/** Multipler to cost of purchasing a Hacknet Node */
/** Multiplier to cost of purchasing a Hacknet Node */
hacknet_node_purchase_cost_mult?: number;
/** Multipler to cost of ram for a Hacknet Node */
/** Multiplier to cost of ram for a Hacknet Node */
hacknet_node_ram_cost_mult?: number;
/** Multipler to cost of core for a Hacknet Node */
/** Multiplier to cost of core for a Hacknet Node */
hacknet_node_core_cost_mult?: number;
/** Multipler to cost of leveling up a Hacknet Node */
/** Multiplier to cost of leveling up a Hacknet Node */
hacknet_node_level_cost_mult?: number;
/** Multipler to Bladeburner max stamina */
/** Multiplier to Bladeburner max stamina */
bladeburner_max_stamina_mult?: number;
/** Multipler to Bladeburner stamina gain rate */
/** Multiplier to Bladeburner stamina gain rate */
bladeburner_stamina_gain_mult?: number;
/** Multipler to effectiveness in Bladeburner Field Analysis */
/** Multiplier to effectiveness in Bladeburner Field Analysis */
bladeburner_analysis_mult?: number;
/** Multipler to success chance in Bladeburner contracts/operations */
/** Multiplier to success chance in Bladeburner contracts/operations */
bladeburner_success_chance_mult?: number;
}
@ -88,6 +88,17 @@ export declare interface AugmentPair {
cost: number;
}
/**
* Used for autocompletion
* @public
*/
export declare interface AutocompleteData {
servers: string[];
scripts: string[];
txts: string[];
flags(schema: [string, string | number | boolean | string[]][]): any;
}
/**
* Options to affect the behavior of {@link NS.hack | hack}, {@link NS.grow | grow}, and {@link NS.weaken | weaken}.
* @public
@ -124,6 +135,8 @@ export declare interface BitNodeMultipliers {
CompanyWorkExpGain: number;
/** Influences how much money the player earns when completing working their job. */
CompanyWorkMoney: number;
/** Influences the money gain from dividends of corporations created by the player. */
CorporationSoftCap: number;
/** Influences the valuation of corporations created by the player. */
CorporationValuation: number;
/** Influences the base experience gained for each ability when the player commits a crime. */
@ -178,7 +191,7 @@ export declare interface BitNodeMultipliers {
ScriptHackMoneyGain: number;
/** Influences the growth percentage per cycle against a server. */
ServerGrowthRate: number;
/** Influences the maxmimum money that a server can grow to. */
/** Influences the maximum money that a server can grow to. */
ServerMaxMoney: number;
/** Influences the initial money that a server starts with. */
ServerStartingMoney: number;
@ -348,7 +361,7 @@ export declare interface Bladeburner {
*
* Note that this is meant to be used for Contracts and Operations.
* This function will return Infinity for actions such as Training and Field Analysis.
* This function will return 1 for BlackOps not yet completed regardless of wether
* This function will return 1 for BlackOps not yet completed regardless of whether
* the player has the required rank to attempt the mission or not.
*
* @param type - Type of action.
@ -388,7 +401,7 @@ export declare interface Bladeburner {
getActionCurrentLevel(type: string, name: string): number;
/**
* Get wether an action is set to autolevel.
* Get whether an action is set to autolevel.
* @remarks
* RAM cost: 4 GB
*
@ -777,7 +790,7 @@ export declare interface CodingAttemptOptions {
*/
export declare interface CodingContract {
/**
* Attemps a coding contract.
* Attempts a coding contract.
* @remarks
* RAM cost: 10 GB
*
@ -960,14 +973,26 @@ export declare interface Corporation extends WarehouseAPI, OfficeAPI {
issueDividends(percent: number): void;
/**
* Buyback Shares
* @param amt - Number of shares to attempt to buyback.
* @param amount - Amount of shares to buy back.
*
*/
buyBackShares(amt: number): void;
buyBackShares(amount: number): void;
/**
* Sell Shares
* @param amt - Number of shares to attempt to sell.
* @param amount - Amount of shares to sell.
*
*/
sellShares(amt: number): void;
sellShares(amount: number): void;
/**
* Get bonus time.
*
* Bonus time is accumulated when the game is offline or if the game is inactive in the browser.
*
* Bonus time makes the game progress faster.
*
* @returns Bonus time for the Corporation mechanic in milliseconds.
*/
getBonusTime(): number;
}
/**
@ -1015,7 +1040,7 @@ export declare interface CrimeStats {
/** How much money is given */
money: number;
/** Name of crime */
name: number;
name: string;
/** Milliseconds it takes to attempt the crime */
time: number;
/** Description of the crime activity */
@ -1055,7 +1080,7 @@ export declare interface CrimeStats {
export declare interface Division {
/** Name of the division */
name: string;
/** Type of division, like Aggriculture */
/** Type of division, like Agriculture */
type: string;
/** Awareness of the division */
awareness: number;
@ -1550,42 +1575,75 @@ export declare interface GangMemberAscension {
* @public
*/
export declare interface GangMemberInfo {
/** Name of the gang member */
name: string;
/** Currently assigned task */
task: string;
earnedRespect: number;
/** Hack skill level */
hack: number;
/** Strength skill level */
str: number;
/** Defense skill level */
def: number;
/** Dexterity skill level */
dex: number;
/** Agility skill level */
agi: number;
/** Charisma skill level */
cha: number;
/** Current hack experience */
hack_exp: number;
/** Current strength experience */
str_exp: number;
/** Current defense experience */
def_exp: number;
/** Current dexterity experience */
dex_exp: number;
/** Current agility experience */
agi_exp: number;
/** Current charisma experience */
cha_exp: number;
/** Hack multiplier from equipment */
hack_mult: number;
/** Strength multiplier from equipment */
str_mult: number;
/** Defense multiplier from equipment */
def_mult: number;
/** Dexterity multiplier from equipment */
dex_mult: number;
/** Agility multiplier from equipment */
agi_mult: number;
/** Charisma multiplier from equipment */
cha_mult: number;
/** Hack multiplier from ascensions */
hack_asc_mult: number;
/** Strength multiplier from ascensions */
str_asc_mult: number;
/** Defense multiplier from ascensions */
def_asc_mult: number;
/** Dexterity multiplier from ascensions */
dex_asc_mult: number;
/** Agility multiplier from ascensions */
agi_asc_mult: number;
/** Charisma multiplier from ascensions */
cha_asc_mult: number;
/** Total earned hack experience */
hack_asc_points: number;
/** Total earned strength experience */
str_asc_points: number;
/** Total earned defense experience */
def_asc_points: number;
/** Total earned dexterity experience */
dex_asc_points: number;
/** Total earned agility experience */
agi_asc_points: number;
/** Total earned charisma experience */
cha_asc_points: number;
upgrades: string[];
@ -1640,7 +1698,7 @@ export declare interface GangTaskStats {
baseMoney: number;
/** Hacking skill impact on task scaling */
hackWeight: number;
/** Stength skill impact on task scaling */
/** Strength skill impact on task scaling */
strWeight: number;
/** Defense skill impact on task scaling */
defWeight: number;
@ -1668,6 +1726,49 @@ export declare interface GangTerritory {
wanted: number;
}
/**
* Grafting API
* @remarks
* This API requires Source-File 10 to use.
* @public
*/
export declare interface Grafting {
/**
* Retrieve the grafting cost of an aug.
* @remarks
* RAM cost: 3.75 GB
*
* @param augName - Name of the aug to check the price of. Must be an exact match.
* @returns The cost required to graft the named augmentation.
* @throws Will error if an invalid Augmentation name is provided.
*/
getAugmentationGraftPrice(augName: string): number;
/**
* Retrieves the time required to graft an aug.
* @remarks
* RAM cost: 3.75 GB
*
* @param augName - Name of the aug to check the grafting time of. Must be an exact match.
* @returns The time required, in millis, to graft the named augmentation.
* @throws Will error if an invalid Augmentation name is provided.
*/
getAugmentationGraftTime(augName: string): number;
/**
* Begins grafting the named aug. You must be in New Tokyo to use this.
* @remarks
* RAM cost: 7.5 GB
*
* @param augName - The name of the aug to begin grafting. Must be an exact match.
* @param focus - Acquire player focus on this Augmentation grafting. Optional. Defaults to true.
* @returns True if the aug successfully began grafting, false otherwise (e.g. not enough money, or
* invalid Augmentation name provided).
* @throws Will error if called while you are not in New Tokyo.
*/
graftAugmentation(augName: string, focus?: boolean): boolean;
}
/**
* Hacking formulas
* @public
@ -1675,6 +1776,7 @@ export declare interface GangTerritory {
export declare interface HackingFormulas {
/**
* Calculate hack chance.
* (Ex: 0.25 would indicate a 25% chance of success.)
* @param server - Server info from {@link NS.getServer | getServer}
* @param player - Player info from {@link NS.getPlayer | getPlayer}
* @returns The calculated hack chance.
@ -1691,6 +1793,7 @@ export declare interface HackingFormulas {
hackExp(server: Server, player: Player): number;
/**
* Calculate hack percent for one thread.
* (Ex: 0.25 would steal 25% of the server's current value.)
* @remarks
* Multiply by thread to get total percent hacked.
* @param server - Server info from {@link NS.getServer | getServer}
@ -1699,7 +1802,8 @@ export declare interface HackingFormulas {
*/
hackPercent(server: Server, player: Player): number;
/**
* Calculate the percent a server would grow.
* Calculate the percent a server would grow to.
* (Ex: 3.0 would would grow the server to 300% of its current value.)
* @param server - Server info from {@link NS.getServer | getServer}
* @param threads - Amount of thread.
* @param player - Player info from {@link NS.getPlayer | getPlayer}
@ -2079,7 +2183,7 @@ export declare interface Hacknet {
getHashUpgradeLevel(upgName: string): number;
/**
* Get the multipler to study.
* Get the multiplier to study.
* @remarks
* RAM cost: 0 GB
*
@ -2090,7 +2194,7 @@ export declare interface Hacknet {
getStudyMult(): number;
/**
* Get the multipler to training.
* Get the multiplier to training.
* @remarks
* RAM cost: 0 GB
*
@ -2463,7 +2567,7 @@ export declare interface NodeStats {
* ns.getHostname();
* // Some related functions are gathered under a sub-property of the ns object
* ns.stock.getPrice();
* // Some functions need to be await ed
* // Some functions need to be awaited
* await ns.hack('n00dles');
* }
* ```
@ -2531,6 +2635,13 @@ export declare interface NS extends Singularity {
*/
readonly ui: UserInterface;
/**
* Namespace for grafting functions.
* @remarks
* RAM cost: 0 GB
*/
readonly grafting: Grafting;
/**
* Arguments passed into the script.
*
@ -2565,13 +2676,11 @@ export declare interface NS extends Singularity {
* ```ts
* // NS1:
* var earnedMoney = hack("foodnstuff");
* earnedMoney = earnedMoney + hack("foodnstuff", { threads: 5 }); // Only use 5 threads to hack
* ```
* @example
* ```ts
* // NS2:
* let earnedMoney = await ns.hack("foodnstuff");
* earnedMoney += await ns.hack("foodnstuff", { threads: 5 }); // Only use 5 threads to hack
* ```
* @param host - Hostname of the target server to hack.
* @param opts - Optional parameters for configuring function behavior.
@ -2599,16 +2708,14 @@ export declare interface NS extends Singularity {
* @example
* ```ts
* // NS1:
* var availableMoney = getServerMoneyAvailable("foodnstuff");
* var currentMoney = getServerMoneyAvailable("foodnstuff");
* currentMoney = currentMoney * (1 + grow("foodnstuff"));
* currentMoney = currentMoney * (1 + grow("foodnstuff", { threads: 5 })); // Only use 5 threads to grow
* ```
* @example
* ```ts
* // NS2:
* let availableMoney = ns.getServerMoneyAvailable("foodnstuff");
* let currentMoney = ns.getServerMoneyAvailable("foodnstuff");
* currentMoney *= (1 + await ns.grow("foodnstuff"));
* currentMoney *= (1 + await ns.grow("foodnstuff", { threads: 5 })); // Only use 5 threads to grow
* ```
* @param host - Hostname of the target server to grow.
* @param opts - Optional parameters for configuring function behavior.
@ -2634,14 +2741,12 @@ export declare interface NS extends Singularity {
* // NS1:
* var currentSecurity = getServerSecurityLevel("foodnstuff");
* currentSecurity = currentSecurity - weaken("foodnstuff");
* currentSecurity = currentSecurity - weaken("foodnstuff", { threads: 5 }); // Only use 5 threads to weaken
* ```
* @example
* ```ts
* // NS2:
* let currentSecurity = ns.getServerSecurityLevel("foodnstuff");
* currentSecurity -= await ns.weaken("foodnstuff");
* currentSecurity -= await ns.weaken("foodnstuff", { threads: 5 }); // Only use 5 threads to weaken
* ```
* @param host - Hostname of the target server to weaken.
* @param opts - Optional parameters for configuring function behavior.
@ -2828,6 +2933,17 @@ export declare interface NS extends Singularity {
*/
print(...args: any[]): void;
/**
* Prints a formatted string to the scripts logs.
* @remarks
* RAM cost: 0 GB
*
* see: https://github.com/alexei/sprintf.js
* @param format - format of the message
* @param args - Value(s) to be printed.
*/
printf(format: string, ...args: any[]): void;
/**
* Prints one or more values or variables to the Terminal.
* @remarks
@ -3286,6 +3402,34 @@ export declare interface NS extends Singularity {
* @returns True if the script is successfully killed, and false otherwise.
*/
kill(script: number): boolean;
/**
* {@inheritDoc NS.(kill:1)}
* @example
* ```ts
* // NS1:
* //The following example will try to kill a script named foo.script on the foodnstuff server that was ran with no arguments:
* kill("foo.script", "foodnstuff");
*
* //The following will try to kill a script named foo.script on the current server that was ran with no arguments:
* kill("foo.script", getHostname());
*
* //The following will try to kill a script named foo.script on the current server that was ran with the arguments 1 and “foodnstuff”:
* kill("foo.script", getHostname(), 1, "foodnstuff");
* ```
* @example
* ```ts
* // NS2:
* //The following example will try to kill a script named foo.script on the foodnstuff server that was ran with no arguments:
* ns.kill("foo.script", "foodnstuff");
*
* //The following will try to kill a script named foo.script on the current server that was ran with no arguments:
* ns.kill("foo.script", getHostname());
*
* //The following will try to kill a script named foo.script on the current server that was ran with the arguments 1 and “foodnstuff”:
* ns.kill("foo.script", getHostname(), 1, "foodnstuff");
* ```
*/
kill(script: string, host: string, ...args: string[]): boolean;
/**
@ -3351,6 +3495,37 @@ export declare interface NS extends Singularity {
* @returns True if the script/literature file is successfully copied over and false otherwise. If the files argument is an array then this function will return true if at least one of the files in the array is successfully copied.
*/
scp(files: string | string[], destination: string): Promise<boolean>;
/**
* {@inheritDoc NS.(scp:1)}
* @example
* ```ts
* // NS1:
* //Copies foo.lit from the helios server to the home computer:
* scp("foo.lit", "helios", "home");
*
* //Tries to copy three files from rothman-uni to home computer:
* files = ["foo1.lit", "foo2.script", "foo3.script"];
* scp(files, "rothman-uni", "home");
* ```
* @example
* ```ts
* // NS2:
* //Copies foo.lit from the helios server to the home computer:
* await ns.scp("foo.lit", "helios", "home");
*
* //Tries to copy three files from rothman-uni to home computer:
* files = ["foo1.lit", "foo2.script", "foo3.script"];
* await ns.scp(files, "rothman-uni", "home");
* ```
* @example
* ```ts
* //ns2, copies files from home to a target server
* const server = ns.args[0];
* const files = ["hack.js","weaken.js","grow.js"];
* await ns.scp(files, "home", server);
* ```
*/
scp(files: string | string[], source: string, destination: string): Promise<boolean>;
/**
@ -3377,8 +3552,8 @@ export declare interface NS extends Singularity {
* @example
* ```ts
* // NS1:
* const scripts = ps("home");
* for (let i = 0; i < scripts.length; ++i) {
* var scripts = ps("home");
* for (var i = 0; i < scripts.length; ++i) {
* tprint(scripts[i].filename + ' ' + scripts[i].threads);
* tprint(scripts[i].args);
* }
@ -3387,8 +3562,8 @@ export declare interface NS extends Singularity {
* ```ts
* // NS2:
* const ps = ns.ps("home");
* for (script of ps) {
* ns.tprint(`${script.filename} ${ps[i].threads}`);
* for (let script of ps) {
* ns.tprint(`${script.filename} ${script.threads}`);
* ns.tprint(script.args);
* }
* ```
@ -3764,7 +3939,7 @@ export declare interface NS extends Singularity {
* @param filename - Optional. Filename or PID of the script.
* @param hostname - Optional. Name of host server the script is running on.
* @param args - Arguments to identify the script
* @returns info about a running script
* @returns The info about the running script if found, and null otherwise.
*/
getRunningScript(filename?: FilenameOrPID, hostname?: string, ...args: (string | number)[]): RunningScript;
@ -4155,6 +4330,10 @@ export declare interface NS extends Singularity {
* @returns Amount of income the specified script generates while online.
*/
getScriptIncome(): [number, number];
/**
* {@inheritDoc NS.(getScriptIncome:1)}
*/
getScriptIncome(script: string, host: string, ...args: string[]): number;
/**
@ -4175,6 +4354,10 @@ export declare interface NS extends Singularity {
* @returns Amount of hacking experience the specified script generates while online.
*/
getScriptExpGain(): number;
/**
* {@inheritDoc NS.(getScriptExpGain:1)}
*/
getScriptExpGain(script: string, host: string, ...args: string[]): number;
/**
@ -4238,19 +4421,25 @@ export declare interface NS extends Singularity {
tFormat(milliseconds: number, milliPrecision?: boolean): string;
/**
* Prompt the player with a Yes/No modal.
* Prompt the player with an input modal.
* @remarks
* RAM cost: 0 GB
*
* Prompts the player with a dialog box with two options: Yes and No.
* This function will return true if the player click Yes and false if
* the player clicks No. The scripts execution is halted until the player
* selects one of the options.
* Prompts the player with a dialog box. If `options.type` is undefined or "boolean",
* the player is shown "Yes" and "No" prompts, which return true and false respectively.
* Passing a type of "text" will give the player a text field and a value of "select"
* will show a drop-down field. Choosing type "select" will require an array or object
* to be passed via the `options.choices` property.
* The scripts execution is halted until the player selects one of the options.
*
* @param txt - Text to appear in the prompt dialog box.
* @returns True if the player click Yes and false if the player clicks No.
* @param options - Options to modify the prompt the player is shown.
* @returns True if the player click Yes; false if the player clicks No; or the value entered by the player.
*/
prompt(txt: string): Promise<boolean>;
prompt(
txt: string,
options?: { type?: "boolean" | "text" | "select" | undefined; choices?: string[] },
): Promise<boolean | string>;
/**
* Open up a message box.
@ -4572,14 +4761,14 @@ export declare interface OfficeAPI {
/**
* Get the cost to unlock research
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param researchName - Name of the research
* @returns cost
*/
getResearchCost(divisionName: string, researchName: string): number;
/**
* Gets if you have unlocked a research
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param researchName - Name of the research
* @returns true is unlocked, false if not
*/
hasResearched(divisionName: string, researchName: string): boolean;
@ -4703,6 +4892,8 @@ export declare interface Player {
factions: string[];
tor: boolean;
hasCorporation: boolean;
inBladeburner: boolean;
entropy: number;
}
/**
@ -4720,7 +4911,7 @@ export declare interface PlayerSkills {
dexterity: number;
/** Agility level */
agility: number;
/** Chraisma level */
/** Charisma level */
charisma: number;
/** Intelligence level */
intelligence: number;
@ -4781,9 +4972,11 @@ export declare interface RunningScript {
logs: string[];
offlineExpGained: number;
offlineMoneyMade: number;
/** Offline running time of the script, in seconds **/
offlineRunningTime: number;
onlineExpGained: number;
onlineMoneyMade: number;
/** Online running time of the script, in seconds **/
onlineRunningTime: number;
pid: number;
ramUsage: number;
@ -4956,7 +5149,7 @@ export declare interface Singularity {
* purchasing a TOR router using this function is the same as if you were to
* manually purchase one.
*
* @returns True if actions is successful, false otherwise.
* @returns True if actions is successful or you already own TOR router, false otherwise.
*/
purchaseTor(): boolean;
@ -4993,7 +5186,7 @@ export declare interface Singularity {
*
*
* Returns a boolean indicating whether or not the player is currently performing an
* action. These actions include working for a company/faction, studying at a univeristy,
* action. These actions include working for a company/faction, studying at a university,
* working out at a gym, creating a program, committing a crime, or carrying out a Hacking Mission.
*
* @returns True if the player is currently performing an action, false otherwise.
@ -5012,9 +5205,10 @@ export declare interface Singularity {
* The actions that can be stopped with this function are:
*
* * Studying at a university
* * Working out at a gym
* * Working for a company/faction
* * Creating a program
* * Committing a Crime
* * Committing a crime
*
* This function will return true if the players action was ended.
* It will return false if the player was not performing an action when this function was called.
@ -5647,6 +5841,67 @@ export declare interface Singularity {
* @returns True if the focus was changed.
*/
setFocus(focus: boolean): boolean;
/**
* Get a list of programs offered on the dark web.
* @remarks
* RAM cost: 1 GB * 16/4/1
*
*
* This function allows the player to get a list of programs available for purchase
* on the dark web. Players MUST have purchased Tor to get the list of programs
* available. If Tor has not been purchased yet, this function will return an
* empty list.
*
* @example
* ```ts
* // NS1
* getDarkwebProgramsAvailable();
* // returns ['BruteSSH.exe', 'FTPCrack.exe'...etc]
* ```
* @example
* ```ts
* // NS2
* ns.getDarkwebProgramsAvailable();
* // returns ['BruteSSH.exe', 'FTPCrack.exe'...etc]
* ```
* @returns - a list of programs available for purchase on the dark web, or [] if Tor has not
* been purchased
*/
getDarkwebPrograms(): string[];
/**
* Check the price of an exploit on the dark web
* @remarks
* RAM cost: 0.5 GB * 16/4/1
*
*
* This function allows you to check the price of a darkweb exploit/program.
* You MUST have a TOR router in order to use this function. The price returned
* by this function is the same price you would see with buy -l from the terminal.
* Returns the cost of the program if it has not been purchased yet, 0 if it
* has already been purchased, or -1 if Tor has not been purchased (and thus
* the program/exploit is not available for purchase).
*
* If the program does not exist, an error is thrown.
*
*
* @example
* ```ts
* // NS1
* getDarkwebProgramCost("brutessh.exe");
* ```
* @example
* ```ts
* // NS2
* ns.getDarkwebProgramCost("brutessh.exe");
* ```
* @param programName - Name of program to check the price of
* @returns Price of the specified darkweb program
* (if not yet purchased), 0 if it has already been purchased, or -1 if Tor has not been
* purchased. Throws an error if the specified program/exploit does not exist
*/
getDarkwebProgramCost(programName: string): number;
}
/**
@ -5981,14 +6236,14 @@ export declare interface Stanek {
* RAM cost: 0.4 GB
* @returns The width of the gift.
*/
width(): number;
giftWidth(): number;
/**
* Stanek's Gift height.
* @remarks
* RAM cost: 0.4 GB
* @returns The height of the gift.
*/
height(): number;
giftHeight(): number;
/**
* Charge a fragment, increasing its power.
@ -5998,7 +6253,7 @@ export declare interface Stanek {
* @param rootY - rootY Root Y against which to align the top left of the fragment.
* @returns Promise that lasts until the charge action is over.
*/
charge(rootX: number, rootY: number): Promise<void>;
chargeFragment(rootX: number, rootY: number): Promise<void>;
/**
* List possible fragments.
@ -6023,7 +6278,7 @@ export declare interface Stanek {
* @remarks
* RAM cost: 0 GB
*/
clear(): void;
clearGift(): void;
/**
* Check if fragment can be placed at specified location.
@ -6036,7 +6291,7 @@ export declare interface Stanek {
* @param fragmentId - fragmentId ID of the fragment to place.
* @returns true if the fragment can be placed at that position. false otherwise.
*/
canPlace(rootX: number, rootY: number, rotation: number, fragmentId: number): boolean;
canPlaceFragment(rootX: number, rootY: number, rotation: number, fragmentId: number): boolean;
/**
* Place fragment on Stanek's Gift.
* @remarks
@ -6048,7 +6303,7 @@ export declare interface Stanek {
* @param fragmentId - ID of the fragment to place.
* @returns true if the fragment can be placed at that position. false otherwise.
*/
place(rootX: number, rootY: number, rotation: number, fragmentId: number): boolean;
placeFragment(rootX: number, rootY: number, rotation: number, fragmentId: number): boolean;
/**
* Get placed fragment at location.
* @remarks
@ -6058,7 +6313,7 @@ export declare interface Stanek {
* @param rootY - Y against which to align the top left of the fragment.
* @returns The fragment at [rootX, rootY], if any.
*/
get(rootX: number, rootY: number): ActiveFragment | undefined;
getFragment(rootX: number, rootY: number): ActiveFragment | undefined;
/**
* Remove fragment at location.
@ -6069,7 +6324,7 @@ export declare interface Stanek {
* @param rootY - Y against which to align the top left of the fragment.
* @returns The fragment at [rootX, rootY], if any.
*/
remove(rootX: number, rootY: number): boolean;
removeFragment(rootX: number, rootY: number): boolean;
}
/**
@ -6458,6 +6713,20 @@ export declare interface TIX {
* @returns True if you successfully purchased it or if you already have access, false otherwise.
*/
purchase4SMarketDataTixApi(): boolean;
/**
* Purchase WSE Account.
* @remarks RAM cost: 2.5 GB
* @returns True if you successfully purchased it or if you already have access, false otherwise.
*/
purchaseWseAccount(): boolean;
/**
* Purchase TIX API Access
* @remarks RAM cost: 2.5 GB
* @returns True if you successfully purchased it or if you already have access, false otherwise.
*/
purchaseTixApi(): boolean;
}
/**
@ -6637,6 +6906,14 @@ export declare interface WarehouseAPI {
* @param enabled - smart supply enabled
*/
setSmartSupply(divisionName: string, cityName: string, enabled: boolean): void;
/**
* Set whether smart supply uses leftovers before buying
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param materialName - Name of the material
* @param enabled - smart supply use leftovers enabled
*/
setSmartSupplyUseLeftovers(divisionName: string, cityName: string, materialName: string, enabled: boolean): void;
/**
* Set material buy data
* @param divisionName - Name of the division

@ -1,2 +0,0 @@
!function(n){function t(t){for(var e,i,f=t[0],c=t[1],l=t[2],a=0,s=[];a<f.length;a++)i=f[a],Object.prototype.hasOwnProperty.call(r,i)&&r[i]&&s.push(r[i][0]),r[i]=0;for(e in c)Object.prototype.hasOwnProperty.call(c,e)&&(n[e]=c[e]);for(p&&p(t);s.length;)s.shift()();return u.push.apply(u,l||[]),o()}function o(){for(var n,t=0;t<u.length;t++){for(var o=u[t],e=!0,f=1;f<o.length;f++){var c=o[f];0!==r[c]&&(e=!1)}e&&(u.splice(t--,1),n=i(i.s=o[0]))}return n}var e={},r={2:0},u=[];function i(t){if(e[t])return e[t].exports;var o=e[t]={i:t,l:!1,exports:{}};return n[t].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.m=n,i.c=e,i.d=function(n,t,o){i.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:o})},i.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.t=function(n,t){if(1&t&&(n=i(n)),8&t)return n;if(4&t&&"object"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&t&&"string"!=typeof n)for(var e in n)i.d(o,e,function(t){return n[t]}.bind(null,e));return o},i.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return i.d(t,"a",t),t},i.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},i.p="";var f=window.webpackJsonp=window.webpackJsonp||[],c=f.push.bind(f);f.push=t,f=f.slice();for(var l=0;l<f.length;l++)t(f[l]);var p=c;u.push([1281,0]),o()}({1281:function(n,t,o){"use strict";o.r(t);o(1282),o(1284),o(1286),o(1288),o(1290),o(1292),o(1294),o(1296),o(1298),o(1300),o(1302),o(1304),o(1306),o(1308),o(1310),o(1312),o(1314),o(1316),o(1318),o(1320),o(1322),o(1324),o(1326),o(1328),o(1330),o(1332),o(1334),o(1336),o(1338),o(1340)},1284:function(n,t,o){},1286:function(n,t,o){},1288:function(n,t,o){},1290:function(n,t,o){},1292:function(n,t,o){},1294:function(n,t,o){},1296:function(n,t,o){},1298:function(n,t,o){},1300:function(n,t,o){},1302:function(n,t,o){},1304:function(n,t,o){},1306:function(n,t,o){},1308:function(n,t,o){},1310:function(n,t,o){},1312:function(n,t,o){},1314:function(n,t,o){},1316:function(n,t,o){},1318:function(n,t,o){},1320:function(n,t,o){},1322:function(n,t,o){},1324:function(n,t,o){},1326:function(n,t,o){},1328:function(n,t,o){},1330:function(n,t,o){},1332:function(n,t,o){},1334:function(n,t,o){},1336:function(n,t,o){},1338:function(n,t,o){},1340:function(n,t,o){}});
//# sourceMappingURL=engineStyle.bundle.js.map

6070
dist/engineStyle.css vendored

File diff suppressed because it is too large Load Diff

101
dist/vendor.bundle.js vendored

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

301
dist/vendor.css vendored

@ -1,301 +0,0 @@
/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
========================================================================== */
/**
* 1. Correct the line height in all browsers.
* 2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
line-height: 1.15;
/* 1 */
-webkit-text-size-adjust: 100%;
/* 2 */ }
/* Sections
========================================================================== */
/**
* Remove the margin in all browsers.
*/
body {
margin: 0; }
/**
* Correct the font size and margin on `h1` elements within `section` and
* `article` contexts in Chrome, Firefox, and Safari.
*/
h1 {
font-size: 2em;
margin: 0.67em 0; }
/* Grouping content
========================================================================== */
/**
* 1. Add the correct box sizing in Firefox.
* 2. Show the overflow in Edge and IE.
*/
hr {
box-sizing: content-box;
/* 1 */
height: 0;
/* 1 */
overflow: visible;
/* 2 */ }
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
pre {
font-family: monospace, monospace;
/* 1 */
font-size: 1em;
/* 2 */ }
/* Text-level semantics
========================================================================== */
/**
* Remove the gray background on active links in IE 10.
*/
a {
background-color: transparent; }
/**
* 1. Remove the bottom border in Chrome 57-
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
*/
abbr[title] {
border-bottom: none;
/* 1 */
text-decoration: underline;
/* 2 */
text-decoration: underline dotted;
/* 2 */ }
/**
* Add the correct font weight in Chrome, Edge, and Safari.
*/
b,
strong {
font-weight: bolder; }
/**
* 1. Correct the inheritance and scaling of font size in all browsers.
* 2. Correct the odd `em` font sizing in all browsers.
*/
code,
kbd,
samp {
font-family: monospace, monospace;
/* 1 */
font-size: 1em;
/* 2 */ }
/**
* Add the correct font size in all browsers.
*/
small {
font-size: 80%; }
/**
* Prevent `sub` and `sup` elements from affecting the line height in
* all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline; }
sub {
bottom: -0.25em; }
sup {
top: -0.5em; }
/* Embedded content
========================================================================== */
/**
* Remove the border on images inside links in IE 10.
*/
img {
border-style: none; }
/* Forms
========================================================================== */
/**
* 1. Change the font styles in all browsers.
* 2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
font-family: inherit;
/* 1 */
font-size: 100%;
/* 1 */
line-height: 1.15;
/* 1 */
margin: 0;
/* 2 */ }
/**
* Show the overflow in IE.
* 1. Show the overflow in Edge.
*/
button,
input {
/* 1 */
overflow: visible; }
/**
* Remove the inheritance of text transform in Edge, Firefox, and IE.
* 1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
/* 1 */
text-transform: none; }
/**
* Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type="button"],
[type="reset"],
[type="submit"] {
-webkit-appearance: button; }
/**
* Remove the inner border and padding in Firefox.
*/
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
border-style: none;
padding: 0; }
/**
* Restore the focus styles unset by the previous rule.
*/
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
outline: 1px dotted ButtonText; }
/**
* Correct the padding in Firefox.
*/
fieldset {
padding: 0.35em 0.75em 0.625em; }
/**
* 1. Correct the text wrapping in Edge and IE.
* 2. Correct the color inheritance from `fieldset` elements in IE.
* 3. Remove the padding so developers are not caught out when they zero out
* `fieldset` elements in all browsers.
*/
legend {
box-sizing: border-box;
/* 1 */
color: inherit;
/* 2 */
display: table;
/* 1 */
max-width: 100%;
/* 1 */
padding: 0;
/* 3 */
white-space: normal;
/* 1 */ }
/**
* Add the correct vertical alignment in Chrome, Firefox, and Opera.
*/
progress {
vertical-align: baseline; }
/**
* Remove the default vertical scrollbar in IE 10+.
*/
textarea {
overflow: auto; }
/**
* 1. Add the correct box sizing in IE 10.
* 2. Remove the padding in IE 10.
*/
[type="checkbox"],
[type="radio"] {
box-sizing: border-box;
/* 1 */
padding: 0;
/* 2 */ }
/**
* Correct the cursor style of increment and decrement buttons in Chrome.
*/
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
height: auto; }
/**
* 1. Correct the odd appearance in Chrome and Safari.
* 2. Correct the outline style in Safari.
*/
[type="search"] {
-webkit-appearance: textfield;
/* 1 */
outline-offset: -2px;
/* 2 */ }
/**
* Remove the inner padding in Chrome and Safari on macOS.
*/
[type="search"]::-webkit-search-decoration {
-webkit-appearance: none; }
/**
* 1. Correct the inability to style clickable types in iOS and Safari.
* 2. Change font properties to `inherit` in Safari.
*/
::-webkit-file-upload-button {
-webkit-appearance: button;
/* 1 */
font: inherit;
/* 2 */ }
/* Interactive
========================================================================== */
/*
* Add the correct display in Edge, IE 10+, and Firefox.
*/
details {
display: block; }
/*
* Add the correct display in all browsers.
*/
summary {
display: list-item; }
/* Misc
========================================================================== */
/**
* Add the correct display in IE 10+.
*/
template {
display: none; }
/**
* Add the correct display in IE 10.
*/
[hidden] {
display: none; }
/*# sourceMappingURL=vendor.css.map*/

@ -12,4 +12,5 @@ must be unlocked.
Source-Files <advancedgameplay/sourcefiles>
Intelligence <advancedgameplay/intelligence>
Sleeves <advancedgameplay/sleeves>
Grafting <advancedgameplay/grafting>
Hacking algorithms <advancedgameplay/hackingalgorithms>

@ -0,0 +1,18 @@
.. _gameplay_grafting:
Grafting
========
Grafting is an experimental process through which you can obtain the benefits of
Augmentations, without needing to reboot your body.
In order to graft, you must first purchase a blueprint for and craft the Augmentation.
This can be done at VitaLife in New Tokyo, where you'll find a shady researcher with
questionable connections. Once you purchase a blueprint, you will start crafting the
Augmentation, and it will be grafted to your body once complete.
Be warned, some who have tested grafting have reported an unidentified malware. Dubbed
"Entropy", this virus seems to grow in potency as more Augmentations are grafted,
causing unpredictable affects to the victim.
Note that when crafting an Augmentation, cancelling will **not** save your progress,
and the money spent will **not** be returned.

@ -6,10 +6,8 @@ Intelligence is a :ref:`stat <gameplay_stats>` that is unlocked by having
:ref:`Source-File 5 <gameplay_sourcefiles>` (i.e. Destroying BitNode-5).
Intelligence is unique because it is permanent and persistent. It never gets reset
back to 1. However, gaining Intelligence experience is extremely slow. The methods
of gaining Intelligence exp is also hidden. You won't know when you gain
experience and how much. It is a stat that gradually builds up as you continue
to play the game.
back to 1. However, gaining Intelligence experience is extremely slow. It is a stat
that gradually builds up as you continue to play the game.
Intelligence will boost your production for many actions in the game, including:
@ -18,3 +16,4 @@ Intelligence will boost your production for many actions in the game, including:
* Crime success rate
* Bladeburner
* Reputation gain for companies & factions
* Augmentation grafting speed

@ -91,19 +91,3 @@ and above, and is only available after defeating BitNode-10 at least once.
Memory is a persistent stat, meaning it never gets reset back to 1.
The maximum possible value for a sleeve's memory is 100.
Re-sleeving
^^^^^^^^^^^
Re-sleeving is the process of digitizing and transferring your consciousness into a
new human body, or "sleeve". When you re-sleeve into a new body, your stat experience
and Augmentations get replaced with those of the new body.
In order to re-sleeve, you must purchase new bodies. This can be done at VitaLife in
New Tokyo. Once you purchase a body to re-sleeve into, the effects will take
place immediately.
Note that resleeving **REMOVES** all of your currently-installed Augmentations,
and replaces them with the ones provided by the purchased sleeve. However,
Augmentations that are purchased but not installed will **not** be removed. If you have purchased
an Augmentation and then re-sleeve into a body which already has that Augmentation,
it will be removed since you cannot have duplicate Augmentations.

@ -53,6 +53,7 @@ List of all Source-Files
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|| BitNode-10: Digital Carbon || * Each level of this grants a Duplicate Sleeve. |
|| || * Allows the player to access the `Sleeve API <https://github.com/danielyxie/bitburner/blob/dev/markdown/bitburner.sleeve.md>`_ in other BitNodes. |
|| || * Grants the player access to the VitaLife secret laboratory in other BitNodes. Also grants access to the Grafting API. |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|| BitNode-11: The Big Crash || * Company favor increases both the player's salary and reputation gain at that |
|| || company by 1% per favor (rather than just the reputation gain). |

@ -21,23 +21,19 @@ can be used to check how much RAM a server has.
Identifying Servers
^^^^^^^^^^^^^^^^^^^
A server is identified by two properties: its IP address and its hostname.
An IP address is a 32-bit number represented in dot-decimal notation.
For example, "56.1.5.0" and "86.5.1.0" might be two IP addresses
you see in the game. A hostname is a label assigned to a server.
A server is identified by its hostname.
A hostname is a label assigned to a server.
A hostname will usually give you a general idea of what the server
is. For example, the company Nova Medical might have a server with
the hostname "nova-med".
Hostnames and IP addresses are unique. This means that if one
server has the IP address "1.1.1.1" and the hostname
"some-server", then no other server in the game can have that
IP address or that hostname.
Hostnames are unique. This means that if one
server has the the hostname "some-server", then no other server
in the game can have that that hostname.
There are many :ref:`Netscript Functions <netscriptfunctions>`
and :ref:`terminal` commands in the game
that will require you to target a specific server. This is done using
either the IP address or the hostname of the server.
that will require you to target a specific server by hostname.
Player-owned Servers
^^^^^^^^^^^^^^^^^^^^

@ -239,7 +239,7 @@ connect
$ connect [hostname/ip]
Connect to a remote server. The hostname or IP address of the remote server must
Connect to a remote server. The hostname of the remote server must
be given as the argument to this command. Note that only servers that are immediately
adjacent to the current server in the network can be connected to. To see which
servers can be connected to, use the 'scan' command.
@ -347,7 +347,7 @@ Kills all scripts on the current server.
ls
^^
$ ls [dir] [| grep pattern]
$ ls [dir] [--grep pattern]
Prints files and directories on the current server to the Terminal screen.
@ -358,19 +358,21 @@ followed by the files (also in alphabetical order).
The :code:`dir` optional parameter allows you to specify the directory for which to display
files.
The :code:`| grep pattern` optional parameter allows you to only display files and directories
The :code:`--grep pattern` optional parameter allows you to only display files and directories
with a certain pattern in their names.
The :code:`-l` optional parameter allows you to force each item onto a single line.
Examples::
// List files/directories with the '.script' extension in the current directory
$ ls | grep .script
$ ls -l --grep .script
// List files/directories with the '.js' extension in the root directory
$ ls / | grep .js
$ ls / -l --grep .js
// List files/directories with the word 'purchase' in the name, in the :code:`scripts` directory
$ ls scripts | grep purchase
$ ls scripts -l --grep purchase
lscpu

@ -3,6 +3,108 @@
Changelog
=========
v1.6.0 - 2022-03-29 Grafting
----------------------------
** Vitalife secret lab **
* A new mechanic called Augmentation Grafting has been added. Resleeving has been removed.
* Credit to @nickofolas for his incredible work.
** Stanek **
* BREAKING: Many functions in the stanek API were renamed in order to avoid name collision with things like Map.prototype.get
** UI **
* Major update to Sleeve, Gang UI, and Create Program (@nickofolas)
* re-add pre tags to support slash n in prompt (@jacktose)
* Tabelize linked output of 'ls' (@Master-Guy)
* Add the ability to filter open scripts (@phyzical)
* Add minHeight to editor tabs (@nickofolas)
* Properly expand gang equipment cards to fill entire screen (@nickofolas)
* Add shortcut to Faction augmentations page from FactionsRoot (@nickofolas)
* Fix extra space on editor tabs (@nickofolas)
* Present offline message as list (@DSteve595)
* add box showing remaining augments per faction (@jjayeon)
* Add tab switching support to vim mode (@JParisFerrer)
* Show current task on gang management screen (@zeddrak)
* Fix for ui of gang members current task when set via api (@phyzical)
* Don't hide irrelevant materials if their stock is not empty and hide irrelevant divisions from Export (@SagePtr)
* Fix regex to enable alpha transparency hex codes (8 digits) (@surdaft)
** API **
* Added dark web functions to ns api
* BREAKING: purchaseTor() should returns true if player already has Tor. (@DavidGrinberg, @waffleattack)
* Implement getBonusTime in Corporation API (@t-wolfeadam)
* Added functions to purchase TIX and WSI (@incubusnb)
* purchaseSleeveAug checks shock value (@incubusnb)
* Fix bug with hacknet api
* Fix spendHashes bug
* Added 0 cost of asleep() (@Master-Guy)
* Fix some misleading corporation errors (@TheRealMaxion)
* expose the inBladeburner on the player object (@phyzical)
* added ram charge for stanek width and height (@phyzical)
* Fix sufficient player money check to buy back shares. (@ChrissiQ)
* Fix Static Ram Circumventing for some NS functions (@CrafterKolyan)
* added CorporationSoftCap to NetscriptDefinitions (@phyzical)
* Added definition of autocomplete() 'data' argument. (@tigercat2000)
* Adding support for text/select options in Prompt command (@PhilipArmstead)
* Added the ability to exportGame via api (@phyzical)
** Arcade **
* Added an arcade to New Tokyo where you can play a 4 year old version of bitburner.
** Misc. **
* Add a warning triggered while auto-saves are off. (@MartinFournier)
* Log info for field analysis now displays actual rank gained. (@ApamNapat)
* Removed BladeburnerSkillCost from skill point cost description. (@ApamNapat)
* Fix handling for UpArrow in bladeburner console. (@dowinter)
* Add GitHub action to check PRs for generated files. (@MartinFournier)
* Cap Staneks gift at 25x25 to prevent crashes. (@waffleattack)
* Remove old & unused files from repository. (@MartinFournier)
* Factions on the factions screens are sorted by story progress / type. (@phyzical)
* Fix log manager not picking up new runs of scripts. (@phyzical)
* Added prettier to cicd.
* UI improvements (@phyzical)
* Documentation / Typos (@nanogyth, @Master-Guy, @incubusnb, @ApamNapat, @phyzical, @SagePtr)
* Give player code a copy of Division.upgrades instead of the live object (@Ornedan)
* Fix bug with small town achievement.
* Fix bug with purchaseSleeveAug (@phyzical)
* Check before unlocking corp upgrade (@gianfun)
* General codebase improvements. (@phyzical, @Master-Guy, @ApamNapat)
* Waiting on promises in NS1 no longer freezes the script. (@Master-Guy)
* Fix bug with missing ramcost for tFormat (@TheMas3212)
* Fix crash with new prompt
* Quick fix to prevent division by 0 in terminal (@Master-Guy)
* removed ip references (@phyzical, @Master-Guy)
* Terminal now supports 'ls -l'
* Fix negative number formatting (@Master-Guy)
* Fix unique ip generation (@InDieTasten)
* remove terminal command theme from docs (@phyzical)
* Fix 'Augmentations Left' with gang factions (@nickofolas)
* Attempt to fix 'bladeburner.process()' early routing issue (@MartinFournier)
* work in progress augment fix (@phyzical)
* Fixes missing space in Smart Supply (@TheRealMaxion)
* Change license to Apache 2 with Commons Clause
* updated regex sanitization (@mbrannen)
* Sleeve fix for when faction isnt found (@phyzical)
* Fix editor "close" naming (@phyzical)
* Fix bug with sleeves where some factions would be listed as workable. (@phyzical)
* Fix research tree of product industries post-prestige (@pd)
* Added a check for exisiting industry type before expanding (@phyzical)
* fix hackAnalyzeThreads returning infinity (@chrisrabe)
* Make growthAnalyze more accurate (@dwRchyngqxs)
* Add 'Zoom -> Reset Zoom' command to Steam (@smolgumball)
* Add hasOwnProperty check to GetServer (@SagePtr)
* Speed up employee productivity calculation (@pd)
* Field Work and Security Work benefit from 'share' (@SagePtr)
* Nerf noodle bar.
v1.5.0 - Steam Cloud integration
--------------------------------
@ -21,7 +123,7 @@ v1.5.0 - Steam Cloud integration
* Fix display of corporation product equation (@SagePtr)
* Make Bitverse more accessible (@ChrissiQ)
* Make corporation warehouse more accessible (@ChrissiQ)
* Make tab style more consistent (@nikfolas)
* Make tab style more consistent (@nickofolas)
** Netscript **

@ -64,9 +64,9 @@ documentation_title = '{0} Documentation'.format(project)
# built documents.
#
# The short X.Y version.
version = '1.5'
version = '1.6'
# The full version, including alpha/beta/rc tags.
release = '1.5.0'
release = '1.6.0'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.

File diff suppressed because one or more lines are too long

@ -3,7 +3,6 @@
<head>
<meta charset="utf-8"/>
<title>Bitburner</title>
<link rel="stylesheet" href="main.css" />
<style>
body {
background-color: black;

@ -3,7 +3,6 @@
<head>
<meta charset="utf-8"/>
<title>Bitburner</title>
<link rel="stylesheet" href="main.css" />
<style>
body {
background-color: black;

@ -337,23 +337,21 @@ async function restoreIfNewerExists(window) {
let bestMatch;
if (!steam.data && !disk.data) {
log.info("No data to import");
} else {
} else if (!steam.data) {
// We'll just compare using the lastSave field for now.
if (!steam.data) {
log.debug('Best potential save match: Disk');
bestMatch = disk;
} else if (!disk.data) {
log.debug('Best potential save match: Steam Cloud');
bestMatch = steam;
} else if ((steam.data.lastSave >= disk.data.lastSave)
|| (steam.data.playtime + lowPlaytime > disk.data.playtime)) {
// We want to prioritze steam data if the playtime is very close
log.debug('Best potential save match: Steam Cloud');
bestMatch = steam;
} else {
log.debug('Best potential save match: disk');
bestMatch = disk;
}
log.debug('Best potential save match: Disk');
bestMatch = disk;
} else if (!disk.data) {
log.debug('Best potential save match: Steam Cloud');
bestMatch = steam;
} else if ((steam.data.lastSave >= disk.data.lastSave)
|| (steam.data.playtime + lowPlaytime > disk.data.playtime)) {
// We want to prioritze steam data if the playtime is very close
log.debug('Best potential save match: Steam Cloud');
bestMatch = steam;
} else {
log.debug('Best potential save match: disk');
bestMatch = disk;
}
if (bestMatch) {
if (bestMatch.data.lastSave > currentData.lastSave + 5000) {

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

7461
main.css

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -4,7 +4,7 @@
## AugmentationStats.agility\_exp\_mult property
Multipler to agility experience gain rate
Multiplier to agility experience gain rate
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.agility\_mult property
Multipler to agility skill
Multiplier to agility skill
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.bladeburner\_analysis\_mult property
Multipler to effectiveness in Bladeburner Field Analysis
Multiplier to effectiveness in Bladeburner Field Analysis
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.bladeburner\_max\_stamina\_mult property
Multipler to Bladeburner max stamina
Multiplier to Bladeburner max stamina
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.bladeburner\_stamina\_gain\_mult property
Multipler to Bladeburner stamina gain rate
Multiplier to Bladeburner stamina gain rate
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.bladeburner\_success\_chance\_mult property
Multipler to success chance in Bladeburner contracts/operations
Multiplier to success chance in Bladeburner contracts/operations
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.charisma\_exp\_mult property
Multipler to charisma experience gain rate
Multiplier to charisma experience gain rate
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.charisma\_mult property
Multipler to charisma skill
Multiplier to charisma skill
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.company\_rep\_mult property
Multipler to amount of reputation gained when working
Multiplier to amount of reputation gained when working
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.crime\_money\_mult property
Multipler to amount of money gained from crimes
Multiplier to amount of money gained from crimes
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.crime\_success\_mult property
Multipler to crime success rate
Multiplier to crime success rate
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.defense\_exp\_mult property
Multipler to defense experience gain rate
Multiplier to defense experience gain rate
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.defense\_mult property
Multipler to defense skill
Multiplier to defense skill
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.dexterity\_exp\_mult property
Multipler to dexterity experience gain rate
Multiplier to dexterity experience gain rate
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.dexterity\_mult property
Multipler to dexterity skill
Multiplier to dexterity skill
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.faction\_rep\_mult property
Multipler to amount of reputation gained when working
Multiplier to amount of reputation gained when working
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacking\_chance\_mult property
Multipler to chance of successfully performing a hack
Multiplier to chance of successfully performing a hack
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacking\_exp\_mult property
Multipler to hacking experience gain rate
Multiplier to hacking experience gain rate
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacking\_grow\_mult property
Multipler to amount of money injected into servers using grow
Multiplier to amount of money injected into servers using grow
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacking\_money\_mult property
Multipler to amount of money the player gains from hacking
Multiplier to amount of money the player gains from hacking
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacking\_mult property
Multipler to hacking skill
Multiplier to hacking skill
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacking\_speed\_mult property
Multipler to hacking speed
Multiplier to hacking speed
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacknet\_node\_core\_cost\_mult property
Multipler to cost of core for a Hacknet Node
Multiplier to cost of core for a Hacknet Node
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacknet\_node\_level\_cost\_mult property
Multipler to cost of leveling up a Hacknet Node
Multiplier to cost of leveling up a Hacknet Node
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacknet\_node\_money\_mult property
Multipler to amount of money produced by Hacknet Nodes
Multiplier to amount of money produced by Hacknet Nodes
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacknet\_node\_purchase\_cost\_mult property
Multipler to cost of purchasing a Hacknet Node
Multiplier to cost of purchasing a Hacknet Node
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.hacknet\_node\_ram\_cost\_mult property
Multipler to cost of ram for a Hacknet Node
Multiplier to cost of ram for a Hacknet Node
<b>Signature:</b>

@ -16,34 +16,34 @@ export interface AugmentationStats
| Property | Type | Description |
| --- | --- | --- |
| [agility\_exp\_mult?](./bitburner.augmentationstats.agility_exp_mult.md) | number | <i>(Optional)</i> Multipler to agility experience gain rate |
| [agility\_mult?](./bitburner.augmentationstats.agility_mult.md) | number | <i>(Optional)</i> Multipler to agility skill |
| [bladeburner\_analysis\_mult?](./bitburner.augmentationstats.bladeburner_analysis_mult.md) | number | <i>(Optional)</i> Multipler to effectiveness in Bladeburner Field Analysis |
| [bladeburner\_max\_stamina\_mult?](./bitburner.augmentationstats.bladeburner_max_stamina_mult.md) | number | <i>(Optional)</i> Multipler to Bladeburner max stamina |
| [bladeburner\_stamina\_gain\_mult?](./bitburner.augmentationstats.bladeburner_stamina_gain_mult.md) | number | <i>(Optional)</i> Multipler to Bladeburner stamina gain rate |
| [bladeburner\_success\_chance\_mult?](./bitburner.augmentationstats.bladeburner_success_chance_mult.md) | number | <i>(Optional)</i> Multipler to success chance in Bladeburner contracts/operations |
| [charisma\_exp\_mult?](./bitburner.augmentationstats.charisma_exp_mult.md) | number | <i>(Optional)</i> Multipler to charisma experience gain rate |
| [charisma\_mult?](./bitburner.augmentationstats.charisma_mult.md) | number | <i>(Optional)</i> Multipler to charisma skill |
| [company\_rep\_mult?](./bitburner.augmentationstats.company_rep_mult.md) | number | <i>(Optional)</i> Multipler to amount of reputation gained when working |
| [crime\_money\_mult?](./bitburner.augmentationstats.crime_money_mult.md) | number | <i>(Optional)</i> Multipler to amount of money gained from crimes |
| [crime\_success\_mult?](./bitburner.augmentationstats.crime_success_mult.md) | number | <i>(Optional)</i> Multipler to crime success rate |
| [defense\_exp\_mult?](./bitburner.augmentationstats.defense_exp_mult.md) | number | <i>(Optional)</i> Multipler to defense experience gain rate |
| [defense\_mult?](./bitburner.augmentationstats.defense_mult.md) | number | <i>(Optional)</i> Multipler to defense skill |
| [dexterity\_exp\_mult?](./bitburner.augmentationstats.dexterity_exp_mult.md) | number | <i>(Optional)</i> Multipler to dexterity experience gain rate |
| [dexterity\_mult?](./bitburner.augmentationstats.dexterity_mult.md) | number | <i>(Optional)</i> Multipler to dexterity skill |
| [faction\_rep\_mult?](./bitburner.augmentationstats.faction_rep_mult.md) | number | <i>(Optional)</i> Multipler to amount of reputation gained when working |
| [hacking\_chance\_mult?](./bitburner.augmentationstats.hacking_chance_mult.md) | number | <i>(Optional)</i> Multipler to chance of successfully performing a hack |
| [hacking\_exp\_mult?](./bitburner.augmentationstats.hacking_exp_mult.md) | number | <i>(Optional)</i> Multipler to hacking experience gain rate |
| [hacking\_grow\_mult?](./bitburner.augmentationstats.hacking_grow_mult.md) | number | <i>(Optional)</i> Multipler to amount of money injected into servers using grow |
| [hacking\_money\_mult?](./bitburner.augmentationstats.hacking_money_mult.md) | number | <i>(Optional)</i> Multipler to amount of money the player gains from hacking |
| [hacking\_mult?](./bitburner.augmentationstats.hacking_mult.md) | number | <i>(Optional)</i> Multipler to hacking skill |
| [hacking\_speed\_mult?](./bitburner.augmentationstats.hacking_speed_mult.md) | number | <i>(Optional)</i> Multipler to hacking speed |
| [hacknet\_node\_core\_cost\_mult?](./bitburner.augmentationstats.hacknet_node_core_cost_mult.md) | number | <i>(Optional)</i> Multipler to cost of core for a Hacknet Node |
| [hacknet\_node\_level\_cost\_mult?](./bitburner.augmentationstats.hacknet_node_level_cost_mult.md) | number | <i>(Optional)</i> Multipler to cost of leveling up a Hacknet Node |
| [hacknet\_node\_money\_mult?](./bitburner.augmentationstats.hacknet_node_money_mult.md) | number | <i>(Optional)</i> Multipler to amount of money produced by Hacknet Nodes |
| [hacknet\_node\_purchase\_cost\_mult?](./bitburner.augmentationstats.hacknet_node_purchase_cost_mult.md) | number | <i>(Optional)</i> Multipler to cost of purchasing a Hacknet Node |
| [hacknet\_node\_ram\_cost\_mult?](./bitburner.augmentationstats.hacknet_node_ram_cost_mult.md) | number | <i>(Optional)</i> Multipler to cost of ram for a Hacknet Node |
| [strength\_exp\_mult?](./bitburner.augmentationstats.strength_exp_mult.md) | number | <i>(Optional)</i> Multipler to strength experience gain rate |
| [strength\_mult?](./bitburner.augmentationstats.strength_mult.md) | number | <i>(Optional)</i> Multipler to strength skill |
| [work\_money\_mult?](./bitburner.augmentationstats.work_money_mult.md) | number | <i>(Optional)</i> Multipler to amount of money gained from working |
| [agility\_exp\_mult?](./bitburner.augmentationstats.agility_exp_mult.md) | number | <i>(Optional)</i> Multiplier to agility experience gain rate |
| [agility\_mult?](./bitburner.augmentationstats.agility_mult.md) | number | <i>(Optional)</i> Multiplier to agility skill |
| [bladeburner\_analysis\_mult?](./bitburner.augmentationstats.bladeburner_analysis_mult.md) | number | <i>(Optional)</i> Multiplier to effectiveness in Bladeburner Field Analysis |
| [bladeburner\_max\_stamina\_mult?](./bitburner.augmentationstats.bladeburner_max_stamina_mult.md) | number | <i>(Optional)</i> Multiplier to Bladeburner max stamina |
| [bladeburner\_stamina\_gain\_mult?](./bitburner.augmentationstats.bladeburner_stamina_gain_mult.md) | number | <i>(Optional)</i> Multiplier to Bladeburner stamina gain rate |
| [bladeburner\_success\_chance\_mult?](./bitburner.augmentationstats.bladeburner_success_chance_mult.md) | number | <i>(Optional)</i> Multiplier to success chance in Bladeburner contracts/operations |
| [charisma\_exp\_mult?](./bitburner.augmentationstats.charisma_exp_mult.md) | number | <i>(Optional)</i> Multiplier to charisma experience gain rate |
| [charisma\_mult?](./bitburner.augmentationstats.charisma_mult.md) | number | <i>(Optional)</i> Multiplier to charisma skill |
| [company\_rep\_mult?](./bitburner.augmentationstats.company_rep_mult.md) | number | <i>(Optional)</i> Multiplier to amount of reputation gained when working |
| [crime\_money\_mult?](./bitburner.augmentationstats.crime_money_mult.md) | number | <i>(Optional)</i> Multiplier to amount of money gained from crimes |
| [crime\_success\_mult?](./bitburner.augmentationstats.crime_success_mult.md) | number | <i>(Optional)</i> Multiplier to crime success rate |
| [defense\_exp\_mult?](./bitburner.augmentationstats.defense_exp_mult.md) | number | <i>(Optional)</i> Multiplier to defense experience gain rate |
| [defense\_mult?](./bitburner.augmentationstats.defense_mult.md) | number | <i>(Optional)</i> Multiplier to defense skill |
| [dexterity\_exp\_mult?](./bitburner.augmentationstats.dexterity_exp_mult.md) | number | <i>(Optional)</i> Multiplier to dexterity experience gain rate |
| [dexterity\_mult?](./bitburner.augmentationstats.dexterity_mult.md) | number | <i>(Optional)</i> Multiplier to dexterity skill |
| [faction\_rep\_mult?](./bitburner.augmentationstats.faction_rep_mult.md) | number | <i>(Optional)</i> Multiplier to amount of reputation gained when working |
| [hacking\_chance\_mult?](./bitburner.augmentationstats.hacking_chance_mult.md) | number | <i>(Optional)</i> Multiplier to chance of successfully performing a hack |
| [hacking\_exp\_mult?](./bitburner.augmentationstats.hacking_exp_mult.md) | number | <i>(Optional)</i> Multiplier to hacking experience gain rate |
| [hacking\_grow\_mult?](./bitburner.augmentationstats.hacking_grow_mult.md) | number | <i>(Optional)</i> Multiplier to amount of money injected into servers using grow |
| [hacking\_money\_mult?](./bitburner.augmentationstats.hacking_money_mult.md) | number | <i>(Optional)</i> Multiplier to amount of money the player gains from hacking |
| [hacking\_mult?](./bitburner.augmentationstats.hacking_mult.md) | number | <i>(Optional)</i> Multiplier to hacking skill |
| [hacking\_speed\_mult?](./bitburner.augmentationstats.hacking_speed_mult.md) | number | <i>(Optional)</i> Multiplier to hacking speed |
| [hacknet\_node\_core\_cost\_mult?](./bitburner.augmentationstats.hacknet_node_core_cost_mult.md) | number | <i>(Optional)</i> Multiplier to cost of core for a Hacknet Node |
| [hacknet\_node\_level\_cost\_mult?](./bitburner.augmentationstats.hacknet_node_level_cost_mult.md) | number | <i>(Optional)</i> Multiplier to cost of leveling up a Hacknet Node |
| [hacknet\_node\_money\_mult?](./bitburner.augmentationstats.hacknet_node_money_mult.md) | number | <i>(Optional)</i> Multiplier to amount of money produced by Hacknet Nodes |
| [hacknet\_node\_purchase\_cost\_mult?](./bitburner.augmentationstats.hacknet_node_purchase_cost_mult.md) | number | <i>(Optional)</i> Multiplier to cost of purchasing a Hacknet Node |
| [hacknet\_node\_ram\_cost\_mult?](./bitburner.augmentationstats.hacknet_node_ram_cost_mult.md) | number | <i>(Optional)</i> Multiplier to cost of ram for a Hacknet Node |
| [strength\_exp\_mult?](./bitburner.augmentationstats.strength_exp_mult.md) | number | <i>(Optional)</i> Multiplier to strength experience gain rate |
| [strength\_mult?](./bitburner.augmentationstats.strength_mult.md) | number | <i>(Optional)</i> Multiplier to strength skill |
| [work\_money\_mult?](./bitburner.augmentationstats.work_money_mult.md) | number | <i>(Optional)</i> Multiplier to amount of money gained from working |

@ -4,7 +4,7 @@
## AugmentationStats.strength\_exp\_mult property
Multipler to strength experience gain rate
Multiplier to strength experience gain rate
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.strength\_mult property
Multipler to strength skill
Multiplier to strength skill
<b>Signature:</b>

@ -4,7 +4,7 @@
## AugmentationStats.work\_money\_mult property
Multipler to amount of money gained from working
Multiplier to amount of money gained from working
<b>Signature:</b>

@ -0,0 +1,22 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [AutocompleteData](./bitburner.autocompletedata.md) &gt; [flags](./bitburner.autocompletedata.flags.md)
## AutocompleteData.flags() method
<b>Signature:</b>
```typescript
flags(schema: [string, string | number | boolean | string[]][]): any;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| schema | \[string, string \| number \| boolean \| string\[\]\]\[\] | |
<b>Returns:</b>
any

@ -0,0 +1,28 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [AutocompleteData](./bitburner.autocompletedata.md)
## AutocompleteData interface
Used for autocompletion
<b>Signature:</b>
```typescript
interface AutocompleteData
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [scripts](./bitburner.autocompletedata.scripts.md) | string\[\] | |
| [servers](./bitburner.autocompletedata.servers.md) | string\[\] | |
| [txts](./bitburner.autocompletedata.txts.md) | string\[\] | |
## Methods
| Method | Description |
| --- | --- |
| [flags(schema)](./bitburner.autocompletedata.flags.md) | |

@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [AutocompleteData](./bitburner.autocompletedata.md) &gt; [scripts](./bitburner.autocompletedata.scripts.md)
## AutocompleteData.scripts property
<b>Signature:</b>
```typescript
scripts: string[];
```

@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [AutocompleteData](./bitburner.autocompletedata.md) &gt; [servers](./bitburner.autocompletedata.servers.md)
## AutocompleteData.servers property
<b>Signature:</b>
```typescript
servers: string[];
```

@ -0,0 +1,11 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [AutocompleteData](./bitburner.autocompletedata.md) &gt; [txts](./bitburner.autocompletedata.txts.md)
## AutocompleteData.txts property
<b>Signature:</b>
```typescript
txts: string[];
```

@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [BitNodeMultipliers](./bitburner.bitnodemultipliers.md) &gt; [CorporationSoftCap](./bitburner.bitnodemultipliers.corporationsoftcap.md)
## BitNodeMultipliers.CorporationSoftCap property
Influences the money gain from dividends of corporations created by the player.
<b>Signature:</b>
```typescript
CorporationSoftCap: number;
```

@ -26,6 +26,7 @@ export interface BitNodeMultipliers
| [CodingContractMoney](./bitburner.bitnodemultipliers.codingcontractmoney.md) | number | Influences the amount of money gained from completing Coding Contracts |
| [CompanyWorkExpGain](./bitburner.bitnodemultipliers.companyworkexpgain.md) | number | Influences the experience gained for each ability when the player completes working their job. |
| [CompanyWorkMoney](./bitburner.bitnodemultipliers.companyworkmoney.md) | number | Influences how much money the player earns when completing working their job. |
| [CorporationSoftCap](./bitburner.bitnodemultipliers.corporationsoftcap.md) | number | Influences the money gain from dividends of corporations created by the player. |
| [CorporationValuation](./bitburner.bitnodemultipliers.corporationvaluation.md) | number | Influences the valuation of corporations created by the player. |
| [CrimeExpGain](./bitburner.bitnodemultipliers.crimeexpgain.md) | number | Influences the base experience gained for each ability when the player commits a crime. |
| [CrimeMoney](./bitburner.bitnodemultipliers.crimemoney.md) | number | Influences the base money gained when the player commits a crime. |
@ -53,7 +54,7 @@ export interface BitNodeMultipliers
| [ScriptHackMoney](./bitburner.bitnodemultipliers.scripthackmoney.md) | number | Influences how much the money on a server can be reduced when a script performs a hack against it. |
| [ScriptHackMoneyGain](./bitburner.bitnodemultipliers.scripthackmoneygain.md) | number | Influences how much of the money stolen by a scripted hack will be added to the player's money. |
| [ServerGrowthRate](./bitburner.bitnodemultipliers.servergrowthrate.md) | number | Influences the growth percentage per cycle against a server. |
| [ServerMaxMoney](./bitburner.bitnodemultipliers.servermaxmoney.md) | number | Influences the maxmimum money that a server can grow to. |
| [ServerMaxMoney](./bitburner.bitnodemultipliers.servermaxmoney.md) | number | Influences the maximum money that a server can grow to. |
| [ServerStartingMoney](./bitburner.bitnodemultipliers.serverstartingmoney.md) | number | Influences the initial money that a server starts with. |
| [ServerStartingSecurity](./bitburner.bitnodemultipliers.serverstartingsecurity.md) | number | Influences the initial security level (hackDifficulty) of a server. |
| [ServerWeakenRate](./bitburner.bitnodemultipliers.serverweakenrate.md) | number | Influences the weaken amount per invocation against a server. |

@ -4,7 +4,7 @@
## BitNodeMultipliers.ServerMaxMoney property
Influences the maxmimum money that a server can grow to.
Influences the maximum money that a server can grow to.
<b>Signature:</b>

@ -4,7 +4,7 @@
## Bladeburner.getActionAutolevel() method
Get wether an action is set to autolevel.
Get whether an action is set to autolevel.
<b>Signature:</b>

@ -31,5 +31,5 @@ RAM cost: 4 GB
Returns the remaining count of the specified action.
Note that this is meant to be used for Contracts and Operations. This function will return Infinity for actions such as Training and Field Analysis. This function will return 1 for BlackOps not yet completed regardless of wether the player has the required rank to attempt the mission or not.
Note that this is meant to be used for Contracts and Operations. This function will return Infinity for actions such as Training and Field Analysis. This function will return 1 for BlackOps not yet completed regardless of whether the player has the required rank to attempt the mission or not.

@ -20,7 +20,7 @@ You have to be employed in the Bladeburner division and be in BitNode-7 or have
| Method | Description |
| --- | --- |
| [getActionAutolevel(type, name)](./bitburner.bladeburner.getactionautolevel.md) | Get wether an action is set to autolevel. |
| [getActionAutolevel(type, name)](./bitburner.bladeburner.getactionautolevel.md) | Get whether an action is set to autolevel. |
| [getActionCountRemaining(type, name)](./bitburner.bladeburner.getactioncountremaining.md) | Get action count remaining. |
| [getActionCurrentLevel(type, name)](./bitburner.bladeburner.getactioncurrentlevel.md) | Get the current level of an action. |
| [getActionEstimatedSuccessChance(type, name)](./bitburner.bladeburner.getactionestimatedsuccesschance.md) | Get estimate success chance of an action. |

@ -4,7 +4,7 @@
## CodingContract.attempt() method
Attemps a coding contract.
Attempts a coding contract.
<b>Signature:</b>

@ -16,7 +16,7 @@ export interface CodingContract
| Method | Description |
| --- | --- |
| [attempt(answer, filename, host, opts)](./bitburner.codingcontract.attempt.md) | Attemps a coding contract. |
| [attempt(answer, filename, host, opts)](./bitburner.codingcontract.attempt.md) | Attempts a coding contract. |
| [getContractType(filename, host)](./bitburner.codingcontract.getcontracttype.md) | Get the type of a coding contract. |
| [getData(filename, host)](./bitburner.codingcontract.getdata.md) | Get the input data. |
| [getDescription(filename, host)](./bitburner.codingcontract.getdescription.md) | Get the description. |

@ -0,0 +1,23 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Corporation](./bitburner.corporation.md) &gt; [getBonusTime](./bitburner.corporation.getbonustime.md)
## Corporation.getBonusTime() method
Get bonus time.
“Bonus time” is accumulated when the game is offline or if the game is inactive in the browser.
“Bonus time” makes the game progress faster.
<b>Signature:</b>
```typescript
getBonusTime(): number;
```
<b>Returns:</b>
number
Bonus time for the Corporation mechanic in milliseconds.

@ -23,6 +23,7 @@ export interface Corporation extends WarehouseAPI, OfficeAPI
| [createCorporation(corporationName, selfFund)](./bitburner.corporation.createcorporation.md) | Create a Corporation |
| [expandCity(divisionName, cityName)](./bitburner.corporation.expandcity.md) | Expand to a new city |
| [expandIndustry(industryType, divisionName)](./bitburner.corporation.expandindustry.md) | Expand to a new industry |
| [getBonusTime()](./bitburner.corporation.getbonustime.md) | Get bonus time.<!-- -->“Bonus time” is accumulated when the game is offline or if the game is inactive in the browser.<!-- -->“Bonus time” makes the game progress faster. |
| [getCorporation()](./bitburner.corporation.getcorporation.md) | Get corporation data |
| [getDivision(divisionName)](./bitburner.corporation.getdivision.md) | Get division data |
| [getExpandCityCost()](./bitburner.corporation.getexpandcitycost.md) | Gets the cost to expand into a new city |

@ -31,7 +31,7 @@ export interface CrimeStats
| [karma](./bitburner.crimestats.karma.md) | number | Amount of karma lost for successfully committing this crime |
| [kills](./bitburner.crimestats.kills.md) | number | How many people die as a result of this crime |
| [money](./bitburner.crimestats.money.md) | number | How much money is given |
| [name](./bitburner.crimestats.name.md) | number | Name of crime |
| [name](./bitburner.crimestats.name.md) | string | Name of crime |
| [strength\_exp](./bitburner.crimestats.strength_exp.md) | number | strength exp gained from crime |
| [strength\_success\_weight](./bitburner.crimestats.strength_success_weight.md) | number | strength level impact on success change of the crime |
| [time](./bitburner.crimestats.time.md) | number | Milliseconds it takes to attempt the crime |

@ -9,5 +9,5 @@ Name of crime
<b>Signature:</b>
```typescript
name: number;
name: string;
```

@ -27,6 +27,6 @@ interface Division
| [research](./bitburner.division.research.md) | number | Amount of research in that division |
| [thisCycleExpenses](./bitburner.division.thiscycleexpenses.md) | number | Expenses this cycle |
| [thisCycleRevenue](./bitburner.division.thiscyclerevenue.md) | number | Revenue this cycle |
| [type](./bitburner.division.type.md) | string | Type of division, like Aggriculture |
| [type](./bitburner.division.type.md) | string | Type of division, like Agriculture |
| [upgrades](./bitburner.division.upgrades.md) | number\[\] | All research bought |

@ -4,7 +4,7 @@
## Division.type property
Type of division, like Aggriculture
Type of division, like Agriculture
<b>Signature:</b>

@ -4,6 +4,8 @@
## GangMemberInfo.agi property
Agility skill level
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.agi\_asc\_mult property
Agility multiplier from ascensions
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.agi\_asc\_points property
Total earned agility experience
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.agi\_exp property
Current agility experience
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.agi\_mult property
Agility multiplier from equipment
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.cha property
Charisma skill level
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.cha\_asc\_mult property
Charisma multiplier from ascensions
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.cha\_asc\_points property
Total earned charisma experience
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.cha\_exp property
Current charisma experience
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.cha\_mult property
Charisma multiplier from equipment
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.def property
Defense skill level
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.def\_asc\_mult property
Defense multiplier from ascensions
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.def\_asc\_points property
Total earned defense experience
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.def\_exp property
Current defense experience
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.def\_mult property
Defense multiplier from equipment
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.dex property
Dexterity skill level
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.dex\_asc\_mult property
Dexterity multiplier from ascensions
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.dex\_asc\_points property
Total earned dexterity experience
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.dex\_exp property
Current dexterity experience
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.dex\_mult property
Dexterity multiplier from equipment
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.hack property
Hack skill level
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.hack\_asc\_mult property
Hack multiplier from ascensions
<b>Signature:</b>
```typescript

@ -4,6 +4,8 @@
## GangMemberInfo.hack\_asc\_points property
Total earned hack experience
<b>Signature:</b>
```typescript

Some files were not shown because too many files have changed in this diff Show More