Compare commits

..

123 Commits

Author SHA1 Message Date
Snarling
05875e4f3e Bump version number
Missed this in previous release update
2023-11-30 17:01:56 -05:00
Snarling
f93bbfbd5d UPDATE: 2.5.1 Release (#952) 2023-11-30 16:46:56 -05:00
Snarling
6a76e1a9ab Changeog 2023-11-07 19:38:50 -05:00
Snarling
aaf80a9a33 SLEEVE: Add a nextCompletion promise to SleeveBladeburnerWork (#916) 2023-11-05 20:09:34 -05:00
Sphyxis
0c4cf81f66 FIX: #896 - Establish a base growth in Bladeburner (#899) 2023-11-05 04:43:33 -05:00
Snarling
99afd2ff2a Fix FactionsDev issue
Receive all invites button was only setting the alreadyInvited flag for the selected faction, instead of all factions.

Also some slight refactoring / variable name improvements.
2023-11-05 04:40:30 -05:00
Jesse Clark
9585913e0a FACTIONS: fix invite requirement for slum snakes (#915) 2023-11-05 01:07:05 -04:00
Sphyxis
b06b8bbdde BLADEBURNER: Updated descriptions (#906) 2023-11-03 21:48:46 -04:00
Caldwell
4e8c43fdbe install latest eslint (#912) 2023-11-03 21:20:32 -04:00
TheAimMan
14b4722210 Clear Stanek before applying entropy on prestige (#907) 2023-11-03 21:12:08 -04:00
Sphyxis
2df04bc567 SLEEVES: Set to Idle in UI (#903) 2023-11-03 21:01:53 -04:00
omuretsu
e56e3dddf1 Fix stuff I broke in #910 2023-11-02 18:57:22 -04:00
Snarling
2997384403 FACTIONS: Followup changes for Rumors PR (#910) 2023-11-02 11:02:12 -04:00
Jesse Clark
fdcb8306d9 FACTIONS: Add "Rumors" system for learning about faction join requirements (#888) 2023-11-02 10:20:24 -04:00
Shockwave
023f32bce3 FORMULAS: Removing the possible exception when gymGains/universityGains is called (#898) 2023-11-01 20:22:17 -04:00
François Gannaz
87e2f5c23b TERMINAL: Fix autocompletion when running scripts with the "./" command (#900) 2023-10-30 12:32:11 -04:00
TheAimMan
6f67224146 BUGFIX: Add effect definition to fragmentObject (#891) 2023-10-30 04:00:31 -04:00
Caldwell
009622069f add size property to getProduct (#893) 2023-10-30 03:56:54 -04:00
TheAimMan
2a149df13e BUGFIX: Contracts now fail if there are 0 of them remaining (#889) 2023-10-30 03:11:51 -04:00
Caldwell
0bdab7bec8 CORPORATION: move product productionCost into cityData (#887) 2023-10-30 03:10:45 -04:00
TheAimMan
ca12bddaf5 BUGFIX: Check Corp Research pre-reqs in research api call (#884) 2023-10-30 03:09:34 -04:00
Zonoia
bc5789af60 MISC: Readthedocs configuration that redirects to this repo (#833) 2023-10-24 05:11:14 -04:00
Snarling
cb2f530b88 dedupe + audit fix (#890) 2023-10-24 04:32:48 -04:00
omuretsu
d58e2ec7cf Changelog 10/23/23 2023-10-23 08:34:11 -04:00
omuretsu
e608e07879 Doc update 2023-10-23 07:32:46 -04:00
Snarling
87925f1900 EDITOR: Reorganization and minor efficiency improvements (#886) 2023-10-23 07:02:33 -04:00
David Walker
e339b5dc5f Tweak Illuminati .lit to provide a join hint (#883) 2023-10-23 05:34:04 -04:00
Squirlll
62be77b3f4 UI: grammar/typo fixes (#878) 2023-10-23 05:31:27 -04:00
TheAimMan
848fc9905a BUGFIX: SleeveCrimeWork.ts works through all cyclesWorked if its greater than cyclesNeeded (#881) 2023-10-23 05:31:11 -04:00
TheAimMan
5d266e01a6 Fix rm on .cct files (#880) 2023-10-23 05:19:49 -04:00
alutman
445c0c3134 Offline hacking income now shown for scripts (#873) 2023-10-23 05:00:16 -04:00
alutman
36a8b35cfb Prevent faction invitations appearing after prestige (#872) 2023-10-23 04:55:08 -04:00
TheAimMan
71e37823dd BUGFIX: Update warehouseSizeUsed after bulk purchase (#871) 2023-10-23 04:54:43 -04:00
Snarling
36312c660d CODE: Enable es2023 features (#870) 2023-10-23 04:49:12 -04:00
Caldwell
e992cb966a CORPORATION: adding prevState and changed state display in the warehouse UI (#861) 2023-10-23 04:48:06 -04:00
TheAimMan
eed2c5d6d4 BUGFIX: Update NetscriptHelpers.tsx to verify servers are on network when getServer is called (#855) 2023-10-23 04:37:19 -04:00
Jesse Clark
61c311a126 API: Add nextUpdate() promise for systems with bonus time (#845) 2023-10-23 04:24:30 -04:00
Snarling
daa7a22786 UI: General devmenu followup changes (#885) 2023-10-23 04:22:11 -04:00
missymae#2783
ff0118f2f4 UI: Update general devmenu page (#835) 2023-10-23 04:01:21 -04:00
Daniele Basso
9dd8275be1 Replace electron-config with electron-store. (#813) 2023-10-23 02:43:18 -04:00
Jesse Clark
62ab9f33be UI: Clarify wording in Corporation (#866) 2023-10-17 09:59:52 -04:00
omuretsu
d4120fa688 Update changelog date 2023-10-17 09:00:57 -04:00
omuretsu
45cf414e9c Changelog update 10/17 2023-10-17 07:20:35 -04:00
Snarling
38f693e2c1 ENUMS: Followup for #859 (#868) 2023-10-17 07:19:32 -04:00
Caldwell
9c41995e59 increment employees the right way (#869)
move the incrementation of employees after the avg calc
2023-10-17 07:07:26 -04:00
Warrobot10
ad03e4ee82 Update CONTRIBUTING.md (#862) 2023-10-17 07:06:50 -04:00
alutman
1a052a7daf API: Change singularity.applyToCompany() to use an enum for job field (#859) 2023-10-17 05:33:16 -04:00
Tyasuh
686d2e2b9b Remove territory warfare toggle from main gang management page (#849) 2023-10-17 03:47:54 -04:00
missymae#2783
1007ce5e68 API: Add ns.bladeburner.getNextBlackOp() (#815) 2023-10-17 02:18:54 -04:00
omuretsu
7e94a8653e Fix electron w/ unsupported arch for greenworks 2023-10-09 19:14:53 -04:00
Caldwell
6fa149ff08 CORPORATION: remove unneeded "state" property from Divisions (#857) 2023-10-07 23:25:46 -04:00
Jesse Clark
2f40b66789 CORPORATION: UI to display production and sales multipliers (#838) 2023-10-07 23:22:28 -04:00
Caldwell
269a74d5c0 CODEBASE: update dependencies (#852) 2023-10-07 18:52:48 -04:00
Warrobot10
79cfbb5f2e Fix a doc typo (#858) 2023-10-07 18:44:28 -04:00
Snarling
1b271d6e29 Update electron to latest (#850) 2023-10-04 19:46:08 -04:00
omuretsu
feb3f1a5db Dev changelog 2023-10-04 10:50:14 -04:00
omuretsu
32197e024d Actually fix faction invite spam 2023-10-04 10:32:33 -04:00
omuretsu
7226a9effa Update changelog.md 2023-10-04 10:30:06 -04:00
Snarling
74fe6af595 Hotfix: Popups no longer show up during infiltration (#847) 2023-10-04 09:52:04 -04:00
Noah Harris
e22527e7b7 fix: check for purchased program before enough money (#839) 2023-10-03 02:02:28 -04:00
Jesse Clark
f4cd4b3362 Fix check for "True Recursion" achievement (#827) 2023-10-03 01:29:09 -04:00
omuretsu
a4e9fd9705 Update SourceFilesDev.tsx
Remove unused sfData state variable
Removed the custom coloring for the SF buttons from #830.
Added a text indicator for the current SF level.
Other minor organizational changes
2023-10-03 01:19:10 -04:00
missymae#2783
aa5d37c7c1 UI: Make Source-Files devmenu page reactive (#830) 2023-10-03 00:36:51 -04:00
missymae#2783
673efb427f UI: Fix some DevMenu react errors, add number of exploits to savegame comparison (#825) 2023-10-02 23:28:16 -04:00
Michael Ficocelli
7b00fcc5b1 MISC: spelling and consistency fixes in the NetscriptDefinitions.ts file (#821) 2023-10-02 20:14:44 -04:00
Jesse Clark
7f575eb34c UI: Clean up typesetting of Corp ingredient formulas (#819) 2023-10-02 20:13:41 -04:00
Yichi Zhang
3f0c10adf4 STANEK: Re-apply stanek boosts when applying entropy (#816) 2023-10-02 20:11:22 -04:00
omuretsu
7f82ceaf24 npm audit fix 2023-10-02 20:07:22 -04:00
missymae#2783
3c52984d61 UI: Add a Credits button in options menu (#836) 2023-10-02 20:00:52 -04:00
omuretsu
a8e48ddb12 2.5.1 dev start 2023-10-02 19:46:57 -04:00
omuretsu
5c738919fc Update changelog.md for 2.5.0 2023-10-02 19:30:37 -04:00
Snarling
223d9b9cdb 2.5.0 as release version (#842) 2023-10-02 19:18:10 -04:00
omuretsu
6a63f8a02c Final dev changelog for 2.5.0 cycle? 2023-09-29 21:32:36 -04:00
Jesse Clark
ad6f919d64 CORPORATION: Dramatically lower API RAM costs (#818) 2023-09-27 17:38:30 -04:00
muesli4brekkies
c5e2f65cb0 API: Added spawnDelay parameter to ns.spawn options, allowing user defined delay (#807) 2023-09-27 01:31:47 -04:00
Michael Ficocelli
7fad6e0778 UI: Rename Territory Warfare gang status to avoid confusion with gang member task of the same name (#790) 2023-09-26 21:04:43 -04:00
Snarling
6d3495d05f Changelog update for 2.5.0 (#828) 2023-09-24 09:11:49 -04:00
David Walker
875bddbbdb BUGFIX: Patch a minor hole in RAM calculation (#820) 2023-09-21 21:44:32 -04:00
Snarling
648c180952 UI: Modals no longer update content and become inert while closing (#817) 2023-09-21 21:33:18 -04:00
Jesse Clark
3ae3f947ac CORPORATION: Rework share price calculation + UI improvements (#782) 2023-09-20 00:36:48 -04:00
Michael Ficocelli
f6e1c171ae MISC: Add configuration to eslintrc to fix the warning thrown when linting (#814) 2023-09-19 12:24:12 -04:00
Yichi Zhang
1b81fe8766 CORPORATION: Rework valuation calculation (#789) 2023-09-19 08:47:16 -04:00
missymae#2783
e1d2e12747 UI: Improve soft reset dialog, and always confirm soft resets (#809) 2023-09-17 16:30:10 -04:00
Jesse Clark
b9d13063ac Format time in ns.sleep and ns.asleep (#806) 2023-09-17 15:40:25 -04:00
missymae#2783
47176b7809 Workout achievement requires work in gym (#805) 2023-09-17 15:38:52 -04:00
Caldwell
d914040ae7 CORPORATION: Remove Market TA string in sell dialog text fields (#784) 2023-09-12 19:49:51 -04:00
omuretsu
cb93f4d108 Changelog update 12sep 2023-09-12 06:09:18 -04:00
omuretsu
fe0f8cad4d Import changes
Just some import changes in a couple files.
2023-09-12 05:38:25 -04:00
Caldwell
b6eafce563 CORPORATION: remove TA modals and integrate into sell modal (#796) 2023-09-12 05:30:45 -04:00
Zelow79
99e5c5e6b0 Added BB Training to sleeve actions (#713) 2023-09-12 05:07:36 -04:00
Caldwell
bf5e638891 CORPORATION: Fix "Use same 'Sell Amount' for all cities" toggle for products (#775) 2023-09-12 04:31:51 -04:00
Caldwell
d2b3659512 DOC: Add CorporationDivisions multiplier to BitNodeMultipliers API interface (#798) 2023-09-12 04:30:19 -04:00
aschmider
a6ff0d3e14 CORPORATION: Fix additive value in party result message (#793) (#794) 2023-09-12 03:56:59 -04:00
aschmider
c4482a70f9 HACKNET: Fix spendHashes ignoring count for Company Favor upgrade (#791) (#792) 2023-09-12 03:55:43 -04:00
missymae#2783
3c42880185 DOCS: Updates to basic documentations (#788) 2023-09-12 02:07:04 -04:00
Noah Harris
7b2e8e5312 UI: clear search suggestions on clearall modification (#787) 2023-09-12 02:00:20 -04:00
Michael Ficocelli
b844593e22 UI: Add filter to faction augmentation purchase page (#783) 2023-09-12 01:36:47 -04:00
Caldwell
624a0a5b02 CORPORATION: improve State description (#778) 2023-09-12 01:25:51 -04:00
Caldwell
bba2ccd83a CORPORATION: add issueNewSharesCooldown and makesMaterial (#774) 2023-09-12 01:23:36 -04:00
Michael Ficocelli
25dae7ec8b UI: Basic Map and Set support in ns.print/tprint (#756) 2023-09-12 01:07:41 -04:00
omuretsu
f95ca64e01 Changelog update 5 sep 2023-09-05 18:34:26 -04:00
Caldwell
0ed88a4317 UI: Stats page uses same number format as overview for skills. (#776) 2023-09-05 18:13:41 -04:00
missymae#2783
8d3f2bd750 GANG: Updates to Docs, UI, API (#773)
API Changes:
Adds ns.gang.getRecruitsAvailable: Gets the number of additional gang members that can currently be recruited
Adds ns.gang.respectForNextRecruit: Gets the respect threshold for recruiting the next gang member
Adds ns.gang.renameMember: Renames a gang member

Plus many doc and ui improvements
2023-09-05 18:07:19 -04:00
missymae#2783
bec737a253 DOCS: Add documentation descriptions for GangMemberInfo properties (#779) 2023-09-03 16:50:24 -04:00
muesli4brekkies
66ac31ee99 DOCS: Improve/correct some API docs related to ports (#772) 2023-09-02 10:57:31 -04:00
Michael Ficocelli
52769706d2 UI: Keep tail windows and dialogs mounted but hidden on pages where they are not shown (#769) 2023-08-31 21:31:59 -04:00
Michael Ficocelli
ae87851889 Improve pagination for Active Scripts page (#763) 2023-08-31 20:31:48 -04:00
Caldwell
7c82221a13 CORP: Change some number formatting to look better (#764)
changed formatCorpStat to formatBigNumber to make big numbers readable
2023-08-31 20:29:04 -04:00
VictorS
b7fdcdf35d DOCS: Improved documentation for functions that take a FilenameOrPID (#759) 2023-08-30 16:36:34 -04:00
missymae#2783
ad9bde40e0 DOCS: Improve documentation for ns.bladeburner.getActionRepGain (#760) 2023-08-30 16:28:21 -04:00
Caldwell
8c86e1e07a fix NaN in Bladeburner success Chance (#761) 2023-08-30 14:51:16 -04:00
Valentin Dewilde
1ea555f572 UI: Move pagination to top of active scripts, improve filtering (#494) 2023-08-30 14:45:27 -04:00
omuretsu
bc7482b0a2 Changelog update 2023-08-28 15:47:59 -04:00
missymae#2783
12de5505b5 DOCS: Bladeburner in-game documentation update (#755) 2023-08-28 15:36:49 -04:00
Michael Ficocelli
62058a7f78 UI: Suppress confusing reputation-earned dialog on augment install (#739) 2023-08-28 15:12:13 -04:00
Michael Ficocelli
9a0d688909 NETSCRIPT: Add more helpful error messages to getPurchasedServerCost (#757) 2023-08-28 15:03:16 -04:00
Eli Doran
b4f33fe655 Remove an unnecessary for loop in HacknetServer upgradeRam (#754) 2023-08-28 14:51:20 -04:00
missymae#2783
4b627cde1e DOCS: ns.getScriptLog update to use "FilenameOrPID" and related ns.tail change (#753) 2023-08-28 14:49:37 -04:00
Caldwell
101fb21c58 UI: Faction augmentation page rerenders automatically (#744) 2023-08-28 14:40:34 -04:00
Michael Ficocelli
79b677973b MESSAGES: Re-implement limit on Icarus messages after a bitnode is completed (#742) 2023-08-28 14:38:15 -04:00
Michael Ficocelli
93235570d0 TERMINAL: Prevent recursive aliases from being resolved. (#741) 2023-08-28 14:26:25 -04:00
omuretsu
51b03003f6 Fix changelog 2023-08-26 18:35:44 -04:00
omuretsu
281e22c90c 2.4.2dev Start 2023-08-26 18:32:14 -04:00
323 changed files with 9733 additions and 20357 deletions

View File

@@ -35,4 +35,9 @@ module.exports = {
"@typescript-eslint/no-explicit-any": "off",
"react/no-unescaped-entities": "off",
},
settings: {
react: {
version: "detect",
},
},
};

16
.readthedocs.yaml Normal file
View File

@@ -0,0 +1,16 @@
# .readthedocs.yaml
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
# Required
version: 2
# Set the version of Python and other tools you might need
build:
os: ubuntu-22.04
tools:
python: "3.11"
# Build documentation in the docs/ directory with Sphinx
sphinx:
configuration: doc/conf.py

View File

@@ -60,7 +60,7 @@ called `npm` is installed as well.
Not all code contributions will be accepted. The safest way to ensure
that you don't waste time working on something that gets rejected is to
run your idea(s)/plan(s) past the developpers first.
run your idea(s)/plan(s) past the developers first.
You can contact him through Discord.
Otherwise, here are some general guidelines for determining what types of
@@ -232,7 +232,7 @@ rules:
## Deploying a new version
Update the following
Update the following:
- `src/Constants.ts` `Version` and `LatestUpdate`
- `package.json` `version`

34
doc/conf.py Normal file
View File

@@ -0,0 +1,34 @@
# Configuration file for the Sphinx documentation builder.
#
# This file only contains a selection of the most common options. For a full
# list see the documentation:
# https://www.sphinx-doc.org/en/master/usage/configuration.html
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
import os
import sys
# -- Project information -----------------------------------------------------
project = 'Bitburner'
# -- General configuration ---------------------------------------------------
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
]
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = ['*']
exclude_patterns = ['doc/index.rst']
# -- Options for HTML output -------------------------------------------------

5
doc/index.rst Normal file
View File

@@ -0,0 +1,5 @@
.. meta::
:http-equiv=Refresh: 0; url='https://github.com/bitburner-official/bitburner-src/blob/stable/src/Documentation/doc/index.md'
This link is outdated as documentation for Bitburner has been migrated to an in-game menu, this page should have redirected you to the new location.
You can also click `here to go to the game's documentation <https://github.com/bitburner-official/bitburner-src/blob/stable/src/Documentation/doc/index.md/>`_.

View File

@@ -2,8 +2,8 @@
const http = require("http");
const crypto = require("crypto");
const log = require("electron-log");
const Config = require("electron-config");
const config = new Config();
const Store = require("electron-store");
const store = new Store();
let server;
let window;
@@ -100,7 +100,7 @@ async function initialize(win) {
});
});
const autostart = config.get("autostart", false);
const autostart = store.get("autostart", false);
if (autostart) {
try {
await enable();
@@ -118,8 +118,8 @@ function enable() {
return Promise.resolve();
}
const port = config.get("port", 9990);
const host = config.get("host", "127.0.0.1");
const port = store.get("port", 9990);
const host = store.get("host", "127.0.0.1");
log.log(`Starting http server on port ${port} - listening on ${host}`);
// https://stackoverflow.com/a/62289870
@@ -165,20 +165,20 @@ function isListening() {
function toggleAutostart() {
const newValue = !isAutostart();
config.set("autostart", newValue);
store.set("autostart", newValue);
log.log(`New autostart value is '${newValue}'`);
}
function isAutostart() {
return config.get("autostart");
return store.get("autostart");
}
function getAuthenticationToken() {
const token = config.get("token");
const token = store.get("token");
if (token) return token;
const newToken = generateToken();
config.set("token", newToken);
store.set("token", newToken);
return newToken;
}

View File

@@ -7,15 +7,10 @@ var fs = require("fs");
var greenworks;
if (process.platform == "darwin") {
if (process.arch == "x64") greenworks = require("./lib/greenworks-osx64");
else if (process.arch == "ia32") greenworks = require("./lib/greenworks-osx32");
} else if (process.platform == "win32") {
if (process.arch == "x64") greenworks = require("./lib/greenworks-win64");
else if (process.arch == "ia32") greenworks = require("./lib/greenworks-win32");
} else if (process.platform == "linux") {
if (process.arch == "x64") greenworks = require("./lib/greenworks-linux64");
else if (process.arch == "ia32") greenworks = require("./lib/greenworks-linux32");
if (process.arch === "x64") {
if (process.platform === "darwin") greenworks = require("./lib/greenworks-osx64");
else if (process.platform === "win32") greenworks = require("./lib/greenworks-win64");
else if (process.platform === "linux") greenworks = require("./lib/greenworks-linux64");
}
function error_process(err, error_callback) {

3
electron/jsconfig.json Normal file
View File

@@ -0,0 +1,3 @@
{
"compilerOptions": { "target": "ESNext" }
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -9,13 +9,13 @@ const achievements = require("./achievements");
const utils = require("./utils");
const storage = require("./storage");
const debounce = require("lodash/debounce");
const Config = require("electron-config");
const config = new Config();
const Store = require("electron-store");
const store = new Store();
const path = require("path");
const { fileURLToPath } = require("url");
log.transports.file.level = config.get("file-log-level", "info");
log.transports.console.level = config.get("console-log-level", "debug");
log.transports.file.level = store.get("file-log-level", "info");
log.transports.console.level = store.get("console-log-level", "debug");
log.catchErrors();
log.info(`Started app: ${JSON.stringify(process.argv)}`);
@@ -105,7 +105,7 @@ function setStopProcessHandler(app, window) {
window.gameInfo = { ...arg };
await storage.prepareSaveFolders(window);
const restoreNewest = config.get("onload-restore-newest", true);
const restoreNewest = store.get("onload-restore-newest", true);
if (restoreNewest && !isRestoreDisabled) {
try {
await storage.restoreIfNewerExists(window);
@@ -159,7 +159,7 @@ function setStopProcessHandler(app, window) {
utils.writeToast(window, "Could not save to Steam Cloud.", "error", 5000);
}
},
config.get("cloud-save-min-time", 1000 * 60 * 15),
store.get("cloud-save-min-time", 1000 * 60 * 15),
{ leading: true },
);
@@ -174,7 +174,7 @@ function setStopProcessHandler(app, window) {
utils.writeToast(window, "Could not save to disk", "error", 5000);
}
},
config.get("disk-save-min-time", 1000 * 60 * 5),
store.get("disk-save-min-time", 1000 * 60 * 5),
{ leading: true },
);

View File

@@ -1,11 +1,11 @@
/* eslint-disable @typescript-eslint/no-var-requires */
const { app, Menu, clipboard, dialog, shell } = require("electron");
const log = require("electron-log");
const Config = require("electron-config");
const Store = require("electron-store");
const api = require("./api-server");
const utils = require("./utils");
const storage = require("./storage");
const config = new Config();
const store = new Store();
function getMenu(window) {
const canZoomIn = utils.getZoomFactor() <= 2;
@@ -153,9 +153,9 @@ function getMenu(window) {
{
label: "Restore Newest on Load",
type: "checkbox",
checked: config.get("onload-restore-newest", true),
checked: store.get("onload-restore-newest", true),
click: (menuItem) => {
config.set("onload-restore-newest", menuItem.checked);
store.set("onload-restore-newest", menuItem.checked);
utils.writeToast(
window,
`${menuItem.checked ? "Enabled" : "Disabled"} Restore Newest on Load`,

View File

@@ -1,51 +1,106 @@
{
"name": "bitburner",
"version": "2.3.2dev",
"lockfileVersion": 2,
"version": "2.5.1",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "bitburner",
"version": "2.3.2dev",
"version": "2.5.1",
"dependencies": {
"electron-config": "^2.0.0",
"electron-log": "^4.4.8",
"electron-store": "^8.1.0",
"lodash": "^4.17.21"
}
},
"node_modules/conf": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/conf/-/conf-1.4.0.tgz",
"integrity": "sha512-bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg==",
"node_modules/ajv": {
"version": "8.12.0",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
"integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
"dependencies": {
"dot-prop": "^4.1.0",
"env-paths": "^1.0.0",
"make-dir": "^1.0.0",
"pkg-up": "^2.0.0",
"write-file-atomic": "^2.3.0"
"fast-deep-equal": "^3.1.1",
"json-schema-traverse": "^1.0.0",
"require-from-string": "^2.0.2",
"uri-js": "^4.2.2"
},
"funding": {
"type": "github",
"url": "https://github.com/sponsors/epoberezkin"
}
},
"node_modules/ajv-formats": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
"integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
"dependencies": {
"ajv": "^8.0.0"
},
"peerDependencies": {
"ajv": "^8.0.0"
},
"peerDependenciesMeta": {
"ajv": {
"optional": true
}
}
},
"node_modules/atomically": {
"version": "1.7.0",
"resolved": "https://registry.npmjs.org/atomically/-/atomically-1.7.0.tgz",
"integrity": "sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==",
"engines": {
"node": ">=10.12.0"
}
},
"node_modules/conf": {
"version": "10.2.0",
"resolved": "https://registry.npmjs.org/conf/-/conf-10.2.0.tgz",
"integrity": "sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==",
"dependencies": {
"ajv": "^8.6.3",
"ajv-formats": "^2.1.1",
"atomically": "^1.7.0",
"debounce-fn": "^4.0.0",
"dot-prop": "^6.0.1",
"env-paths": "^2.2.1",
"json-schema-typed": "^7.0.3",
"onetime": "^5.1.2",
"pkg-up": "^3.1.0",
"semver": "^7.3.5"
},
"engines": {
"node": ">=4"
"node": ">=12"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/debounce-fn": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/debounce-fn/-/debounce-fn-4.0.0.tgz",
"integrity": "sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==",
"dependencies": {
"mimic-fn": "^3.0.0"
},
"engines": {
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/dot-prop": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz",
"integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==",
"version": "6.0.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-6.0.1.tgz",
"integrity": "sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==",
"dependencies": {
"is-obj": "^1.0.0"
"is-obj": "^2.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/electron-config": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/electron-config/-/electron-config-2.0.0.tgz",
"integrity": "sha512-5mGwRK4lsAo6tiy4KNF/zUInYpUGr7JJzLA8FHOoqBWV3kkKJWSrDXo4Uk2Ffm5aeQ1o73XuorfkYhaWFV2O4g==",
"deprecated": "Renamed to `electron-store`.",
"dependencies": {
"conf": "^1.0.0"
"node": ">=10"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/electron-log": {
@@ -53,56 +108,70 @@
"resolved": "https://registry.npmjs.org/electron-log/-/electron-log-4.4.8.tgz",
"integrity": "sha512-QQ4GvrXO+HkgqqEOYbi+DHL7hj5JM+nHi/j+qrN9zeeXVKy8ZABgbu4CnG+BBqDZ2+tbeq9tUC4DZfIWFU5AZA=="
},
"node_modules/env-paths": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz",
"integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA=",
"engines": {
"node": ">=4"
"node_modules/electron-store": {
"version": "8.1.0",
"resolved": "https://registry.npmjs.org/electron-store/-/electron-store-8.1.0.tgz",
"integrity": "sha512-2clHg/juMjOH0GT9cQ6qtmIvK183B39ZXR0bUoPwKwYHJsEF3quqyDzMFUAu+0OP8ijmN2CbPRAelhNbWUbzwA==",
"dependencies": {
"conf": "^10.2.0",
"type-fest": "^2.17.0"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/env-paths": {
"version": "2.2.1",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz",
"integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==",
"engines": {
"node": ">=6"
}
},
"node_modules/fast-deep-equal": {
"version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
"integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
},
"node_modules/find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz",
"integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==",
"dependencies": {
"locate-path": "^2.0.0"
"locate-path": "^3.0.0"
},
"engines": {
"node": ">=4"
}
},
"node_modules/graceful-fs": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
},
"node_modules/imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
"engines": {
"node": ">=0.8.19"
"node": ">=6"
}
},
"node_modules/is-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=",
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz",
"integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==",
"engines": {
"node": ">=0.10.0"
"node": ">=8"
}
},
"node_modules/json-schema-traverse": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
"integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
},
"node_modules/json-schema-typed": {
"version": "7.0.3",
"resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-7.0.3.tgz",
"integrity": "sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A=="
},
"node_modules/locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz",
"integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==",
"dependencies": {
"p-locate": "^2.0.0",
"p-locate": "^3.0.0",
"path-exists": "^3.0.0"
},
"engines": {
"node": ">=4"
"node": ">=6"
}
},
"node_modules/lodash": {
@@ -110,227 +179,152 @@
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"node_modules/make-dir": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
"node_modules/lru-cache": {
"version": "6.0.0",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
"dependencies": {
"pify": "^3.0.0"
"yallist": "^4.0.0"
},
"engines": {
"node": ">=4"
"node": ">=10"
}
},
"node_modules/mimic-fn": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-3.1.0.tgz",
"integrity": "sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==",
"engines": {
"node": ">=8"
}
},
"node_modules/onetime": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
"integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
"dependencies": {
"mimic-fn": "^2.1.0"
},
"engines": {
"node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/onetime/node_modules/mimic-fn": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
"integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
"engines": {
"node": ">=6"
}
},
"node_modules/p-limit": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
"integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
"dependencies": {
"p-try": "^1.0.0"
"p-try": "^2.0.0"
},
"engines": {
"node": ">=4"
"node": ">=6"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"node_modules/p-locate": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz",
"integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==",
"dependencies": {
"p-limit": "^1.1.0"
"p-limit": "^2.0.0"
},
"engines": {
"node": ">=4"
"node": ">=6"
}
},
"node_modules/p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=",
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
"integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
"engines": {
"node": ">=4"
"node": ">=6"
}
},
"node_modules/path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=",
"engines": {
"node": ">=4"
}
},
"node_modules/pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=",
"integrity": "sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==",
"engines": {
"node": ">=4"
}
},
"node_modules/pkg-up": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
"integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-3.1.0.tgz",
"integrity": "sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==",
"dependencies": {
"find-up": "^2.1.0"
"find-up": "^3.0.0"
},
"engines": {
"node": ">=4"
"node": ">=8"
}
},
"node_modules/signal-exit": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ=="
"node_modules/punycode": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz",
"integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==",
"engines": {
"node": ">=6"
}
},
"node_modules/write-file-atomic": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
"integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
"node_modules/require-from-string": {
"version": "2.0.2",
"resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
"integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/semver": {
"version": "7.5.4",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
"integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
"dependencies": {
"graceful-fs": "^4.1.11",
"imurmurhash": "^0.1.4",
"signal-exit": "^3.0.2"
}
}
},
"dependencies": {
"conf": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/conf/-/conf-1.4.0.tgz",
"integrity": "sha512-bzlVWS2THbMetHqXKB8ypsXN4DQ/1qopGwNJi1eYbpwesJcd86FBjFciCQX/YwAhp9bM7NVnPFqZ5LpV7gP0Dg==",
"requires": {
"dot-prop": "^4.1.0",
"env-paths": "^1.0.0",
"make-dir": "^1.0.0",
"pkg-up": "^2.0.0",
"write-file-atomic": "^2.3.0"
"lru-cache": "^6.0.0"
},
"bin": {
"semver": "bin/semver.js"
},
"engines": {
"node": ">=10"
}
},
"dot-prop": {
"version": "4.2.1",
"resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.1.tgz",
"integrity": "sha512-l0p4+mIuJIua0mhxGoh4a+iNL9bmeK5DvnSVQa6T0OhrVmaEa1XScX5Etc673FePCJOArq/4Pa2cLGODUWTPOQ==",
"requires": {
"is-obj": "^1.0.0"
"node_modules/type-fest": {
"version": "2.19.0",
"resolved": "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz",
"integrity": "sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==",
"engines": {
"node": ">=12.20"
},
"funding": {
"url": "https://github.com/sponsors/sindresorhus"
}
},
"electron-config": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/electron-config/-/electron-config-2.0.0.tgz",
"integrity": "sha512-5mGwRK4lsAo6tiy4KNF/zUInYpUGr7JJzLA8FHOoqBWV3kkKJWSrDXo4Uk2Ffm5aeQ1o73XuorfkYhaWFV2O4g==",
"requires": {
"conf": "^1.0.0"
"node_modules/uri-js": {
"version": "4.4.1",
"resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
"integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
"dependencies": {
"punycode": "^2.1.0"
}
},
"electron-log": {
"version": "4.4.8",
"resolved": "https://registry.npmjs.org/electron-log/-/electron-log-4.4.8.tgz",
"integrity": "sha512-QQ4GvrXO+HkgqqEOYbi+DHL7hj5JM+nHi/j+qrN9zeeXVKy8ZABgbu4CnG+BBqDZ2+tbeq9tUC4DZfIWFU5AZA=="
},
"env-paths": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/env-paths/-/env-paths-1.0.0.tgz",
"integrity": "sha1-QWgTO0K7BcOKNbGuQ5fIKYqzaeA="
},
"find-up": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz",
"integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=",
"requires": {
"locate-path": "^2.0.0"
}
},
"graceful-fs": {
"version": "4.2.8",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz",
"integrity": "sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg=="
},
"imurmurhash": {
"version": "0.1.4",
"resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
"integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o="
},
"is-obj": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz",
"integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8="
},
"locate-path": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz",
"integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=",
"requires": {
"p-locate": "^2.0.0",
"path-exists": "^3.0.0"
}
},
"lodash": {
"version": "4.17.21",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz",
"integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg=="
},
"make-dir": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz",
"integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==",
"requires": {
"pify": "^3.0.0"
}
},
"p-limit": {
"version": "1.3.0",
"resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz",
"integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==",
"requires": {
"p-try": "^1.0.0"
}
},
"p-locate": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz",
"integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=",
"requires": {
"p-limit": "^1.1.0"
}
},
"p-try": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz",
"integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M="
},
"path-exists": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz",
"integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU="
},
"pify": {
"version": "3.0.0",
"resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz",
"integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY="
},
"pkg-up": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz",
"integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=",
"requires": {
"find-up": "^2.1.0"
}
},
"signal-exit": {
"version": "3.0.6",
"resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
"integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ=="
},
"write-file-atomic": {
"version": "2.4.3",
"resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz",
"integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==",
"requires": {
"graceful-fs": "^4.1.11",
"imurmurhash": "^0.1.4",
"signal-exit": "^3.0.2"
}
"node_modules/yallist": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
"integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
}

View File

@@ -1,6 +1,6 @@
{
"name": "bitburner",
"version": "2.4.1",
"version": "2.5.1",
"description": "A cyberpunk-themed programming incremental game",
"main": "main.js",
"author": "Daniel Xie, Olivier Gagnon, et al.",
@@ -24,7 +24,7 @@
"buildResources": "public"
},
"dependencies": {
"electron-config": "^2.0.0",
"electron-store": "^8.1.0",
"electron-log": "^4.4.8",
"lodash": "^4.17.21"
}

View File

@@ -10,8 +10,8 @@ const gunzip = promisify(zlib.gunzip);
const greenworks = require("./greenworks");
const log = require("electron-log");
const flatten = require("lodash/flatten");
const Config = require("electron-config");
const config = new Config();
const Store = require("electron-store");
const store = new Store();
// https://stackoverflow.com/a/69418940
const dirSize = async (directory) => {
@@ -79,23 +79,23 @@ async function getFolderSizeInBytes(saveFolder) {
}
function setAutosaveConfig(value) {
config.set("autosave-enabled", value);
store.set("autosave-enabled", value);
}
function isAutosaveEnabled() {
return config.get("autosave-enabled", true);
return store.get("autosave-enabled", true);
}
function setSaveCompressionConfig(value) {
config.set("save-compression-enabled", value);
store.set("save-compression-enabled", value);
}
function isSaveCompressionEnabled() {
return config.get("save-compression-enabled", true);
return store.get("save-compression-enabled", true);
}
function setCloudEnabledConfig(value) {
config.set("cloud-enabled", value);
store.set("cloud-enabled", value);
}
async function getSaveFolder(window, root = false) {
@@ -112,7 +112,7 @@ function isCloudEnabled() {
if (!greenworks.isCloudEnabledForUser()) return false;
// Let's check the config file to see if it's been overriden
const enabledInConf = config.get("cloud-enabled", true);
const enabledInConf = store.get("cloud-enabled", true);
if (!enabledInConf) return false;
const isAppEnabled = greenworks.isCloudEnabled();
@@ -214,7 +214,7 @@ async function getSteamCloudSaveString() {
async function saveGameToDisk(window, saveData) {
const currentFolder = await getSaveFolder(window);
let saveFolderSizeBytes = await getFolderSizeInBytes(currentFolder);
const maxFolderSizeBytes = config.get("autosave-quota", 1e8); // 100Mb per playerIndentifier
const maxFolderSizeBytes = store.get("autosave-quota", 1e8); // 100Mb per playerIndentifier
const remainingSpaceBytes = maxFolderSizeBytes - saveFolderSizeBytes;
log.debug(`Folder Usage: ${saveFolderSizeBytes} bytes`);
log.debug(`Folder Capacity: ${maxFolderSizeBytes} bytes`);

View File

@@ -2,8 +2,8 @@
const { dialog, shell } = require("electron");
const log = require("electron-log");
const Config = require("electron-config");
const config = new Config();
const Store = require("electron-store");
const store = new Store();
function reloadAndKill(window, killScripts) {
log.info("Reloading & Killing all scripts...");
@@ -88,7 +88,7 @@ async function writeToast(window, message, type = "info", duration = 2000) {
}
function getZoomFactor() {
const configZoom = config.get("zoom", 1);
const configZoom = store.get("zoom", 1);
return configZoom;
}
@@ -96,7 +96,7 @@ function setZoomFactor(window, zoom = null) {
if (zoom === null) {
zoom = 1;
} else {
config.set("zoom", zoom);
store.set("zoom", zoom);
}
window.webContents.setZoomFactor(zoom);
}

View File

@@ -2,8 +2,8 @@
const { screen } = require("electron");
const log = require("electron-log");
const debounce = require("lodash/debounce");
const Config = require("electron-config");
const config = new Config();
const Store = require("electron-store");
const store = new Store();
// https://stackoverflow.com/a/68627253
const windowTracker = (windowName) => {
@@ -11,8 +11,8 @@ const windowTracker = (windowName) => {
const setBounds = () => {
// Restore from appConfig
if (config.has(`window.${windowName}`)) {
windowState = config.get(`window.${windowName}`);
if (store.has(`window.${windowName}`)) {
windowState = store.get(`window.${windowName}`);
return;
}
@@ -40,7 +40,7 @@ const windowTracker = (windowName) => {
windowState.isMaximized = window.isMaximized();
log.silly(`Saving window.${windowName} to configs`);
config.set(`window.${windowName}`, windowState);
store.set(`window.${windowName}`, windowState);
log.silly(windowState);
}, 1000);

View File

@@ -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; [CorporationDivisions](./bitburner.bitnodemultipliers.corporationdivisions.md)
## BitNodeMultipliers.CorporationDivisions property
Influences the amount of divisions a corporation can have at the same time
**Signature:**
```typescript
CorporationDivisions: number;
```

View File

@@ -26,6 +26,7 @@ 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. |
| [CorporationDivisions](./bitburner.bitnodemultipliers.corporationdivisions.md) | | number | Influences the amount of divisions a corporation can have at the same time |
| [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. |

View File

@@ -29,5 +29,5 @@ Estimated success chance for the specified action.
RAM cost: 4 GB
Returns the estimated success chance for the specified action. This chance is returned as a decimal value, NOT a percentage (e.g. if you have an estimated success chance of 80%, then this function will return 0.80, NOT 80).
Returns the estimated success chance for the specified action. This chance is returned as a decimal value, NOT a percentage (e.g. if you have an estimated success chance of 80%, then this function will return 0.80, NOT 80). Returns 2 values, value\[0\] - MIN Chance, value\[1\] - MAX Chance

View File

@@ -18,7 +18,7 @@ getActionRepGain(type: string, name: string, level: number): number;
| --- | --- | --- |
| type | string | Type of action. |
| name | string | Name of action. Must be an exact match. |
| level | number | Optional action level at which to calculate the gain |
| level | number | Optional number. Action level at which to calculate the gain. Will be the action's current level if not given. |
**Returns:**

View File

@@ -4,7 +4,7 @@
## Bladeburner.getBonusTime() method
Get bladeburner bonus time.
Get Bladeburner bonus time.
**Signature:**
@@ -25,5 +25,5 @@ Returns the amount of accumulated “bonus time” (milliseconds) for the Bladeb
“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, up to 5x the normal speed. For example, if an action takes 30 seconds to complete but youve accumulated over 30 seconds in bonus time, then the action will only take 6 seconds in real life to complete.
“Bonus time” makes the game progress faster, up to 5x the normal speed. For example, if an action takes 30 seconds to complete, but youve accumulated over 30 seconds in bonus time, then the action will only take 6 seconds in real life to complete.

View File

@@ -0,0 +1,25 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Bladeburner](./bitburner.bladeburner.md) &gt; [getNextBlackOp](./bitburner.bladeburner.getnextblackop.md)
## Bladeburner.getNextBlackOp() method
Get an object with the name and rank requirement of the next BlackOp that can be completed.
**Signature:**
```typescript
getNextBlackOp(): { name: string; rank: number } | null;
```
**Returns:**
{ name: string; rank: number } \| null
An object with the `.name` and `.rank` properties of the available BlackOp, or `null`<!-- -->.
## Remarks
RAM cost: 2 GB
Returns the name and rank requirement for the available BlackOp. Returns `null` if no BlackOps remain in the BitNode.

View File

@@ -9,14 +9,14 @@ Get skill level.
**Signature:**
```typescript
getSkillLevel(name: string): number;
getSkillLevel(skillName: string): number;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| name | string | |
| skillName | string | Name of skill. Case-sensitive and must be an exact match. |
**Returns:**

View File

@@ -9,14 +9,14 @@ Get cost to upgrade skill.
**Signature:**
```typescript
getSkillUpgradeCost(name: string, count?: number): number;
getSkillUpgradeCost(skillName: string, count?: number): number;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| name | string | |
| skillName | string | Name of skill. Case-sensitive and must be an exact match. |
| count | number | _(Optional)_ Number of times to upgrade the skill. Defaults to 1 if not specified. |
**Returns:**

View File

@@ -4,7 +4,7 @@
## Bladeburner.getStamina() method
Get bladeburner stamina.
Get Bladeburner stamina.
**Signature:**

View File

@@ -4,7 +4,7 @@
## Bladeburner.inBladeburner() method
Returns whether player is a member of bladeburner division. Does not require API access.
Returns whether player is a member of Bladeburner division. Does not require API access.
**Signature:**
@@ -15,7 +15,7 @@ inBladeburner(): boolean;
boolean
whether player is a member of bladeburner division.
whether player is a member of Bladeburner division.
## Remarks

View File

@@ -4,7 +4,7 @@
## Bladeburner.joinBladeburnerDivision() method
Join the bladeburner division.
Join the Bladeburner division.
**Signature:**

View File

@@ -4,7 +4,7 @@
## Bladeburner.joinBladeburnerFaction() method
Join the bladeburner faction.
Join the Bladeburner faction.
**Signature:**

View File

@@ -31,7 +31,7 @@ You have to be employed in the Bladeburner division and be in BitNode-7 or have
| [getActionTime(type, name)](./bitburner.bladeburner.getactiontime.md) | Get the time to complete an action. |
| [getBlackOpNames()](./bitburner.bladeburner.getblackopnames.md) | List all black ops. |
| [getBlackOpRank(name)](./bitburner.bladeburner.getblackoprank.md) | Get black op required rank. |
| [getBonusTime()](./bitburner.bladeburner.getbonustime.md) | Get bladeburner bonus time. |
| [getBonusTime()](./bitburner.bladeburner.getbonustime.md) | Get Bladeburner bonus time. |
| [getCity()](./bitburner.bladeburner.getcity.md) | Get current city. |
| [getCityChaos(city)](./bitburner.bladeburner.getcitychaos.md) | Get chaos of a city. |
| [getCityCommunities(city)](./bitburner.bladeburner.getcitycommunities.md) | Get number of communities in a city. |
@@ -39,22 +39,24 @@ You have to be employed in the Bladeburner division and be in BitNode-7 or have
| [getContractNames()](./bitburner.bladeburner.getcontractnames.md) | List all contracts. |
| [getCurrentAction()](./bitburner.bladeburner.getcurrentaction.md) | Get current action. |
| [getGeneralActionNames()](./bitburner.bladeburner.getgeneralactionnames.md) | List all general actions. |
| [getNextBlackOp()](./bitburner.bladeburner.getnextblackop.md) | Get an object with the name and rank requirement of the next BlackOp that can be completed. |
| [getOperationNames()](./bitburner.bladeburner.getoperationnames.md) | List all operations. |
| [getRank()](./bitburner.bladeburner.getrank.md) | Get player bladeburner rank. |
| [getSkillLevel(name)](./bitburner.bladeburner.getskilllevel.md) | Get skill level. |
| [getSkillLevel(skillName)](./bitburner.bladeburner.getskilllevel.md) | Get skill level. |
| [getSkillNames()](./bitburner.bladeburner.getskillnames.md) | List all skills. |
| [getSkillPoints()](./bitburner.bladeburner.getskillpoints.md) | Get bladeburner skill points. |
| [getSkillUpgradeCost(name, count)](./bitburner.bladeburner.getskillupgradecost.md) | Get cost to upgrade skill. |
| [getStamina()](./bitburner.bladeburner.getstamina.md) | Get bladeburner stamina. |
| [getSkillUpgradeCost(skillName, count)](./bitburner.bladeburner.getskillupgradecost.md) | Get cost to upgrade skill. |
| [getStamina()](./bitburner.bladeburner.getstamina.md) | Get Bladeburner stamina. |
| [getTeamSize(type, name)](./bitburner.bladeburner.getteamsize.md) | Get team size. |
| [inBladeburner()](./bitburner.bladeburner.inbladeburner.md) | Returns whether player is a member of bladeburner division. Does not require API access. |
| [joinBladeburnerDivision()](./bitburner.bladeburner.joinbladeburnerdivision.md) | Join the bladeburner division. |
| [joinBladeburnerFaction()](./bitburner.bladeburner.joinbladeburnerfaction.md) | Join the bladeburner faction. |
| [inBladeburner()](./bitburner.bladeburner.inbladeburner.md) | Returns whether player is a member of Bladeburner division. Does not require API access. |
| [joinBladeburnerDivision()](./bitburner.bladeburner.joinbladeburnerdivision.md) | Join the Bladeburner division. |
| [joinBladeburnerFaction()](./bitburner.bladeburner.joinbladeburnerfaction.md) | Join the Bladeburner faction. |
| [nextUpdate()](./bitburner.bladeburner.nextupdate.md) | Sleep until the next Bladeburner update has happened. |
| [setActionAutolevel(type, name, autoLevel)](./bitburner.bladeburner.setactionautolevel.md) | Set an action autolevel. |
| [setActionLevel(type, name, level)](./bitburner.bladeburner.setactionlevel.md) | Set the level of an action. |
| [setTeamSize(type, name, size)](./bitburner.bladeburner.setteamsize.md) | Set team size. |
| [startAction(type, name)](./bitburner.bladeburner.startaction.md) | Start an action. |
| [stopBladeburnerAction()](./bitburner.bladeburner.stopbladeburneraction.md) | Stop current action. |
| [switchCity(city)](./bitburner.bladeburner.switchcity.md) | Travel to another city in bladeburner. |
| [upgradeSkill(name, count)](./bitburner.bladeburner.upgradeskill.md) | Upgrade skill. |
| [switchCity(city)](./bitburner.bladeburner.switchcity.md) | Travel to another city in Bladeburner. |
| [upgradeSkill(skillName, count)](./bitburner.bladeburner.upgradeskill.md) | Upgrade skill. |

View File

@@ -0,0 +1,37 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Bladeburner](./bitburner.bladeburner.md) &gt; [nextUpdate](./bitburner.bladeburner.nextupdate.md)
## Bladeburner.nextUpdate() method
Sleep until the next Bladeburner update has happened.
**Signature:**
```typescript
nextUpdate(): Promise<number>;
```
**Returns:**
Promise&lt;number&gt;
Promise that resolves to the number of milliseconds of Bladeburner time that were processed in the previous update (1000 - 5000 ms).
## Remarks
RAM cost: 1 GB
The amount of real time spent asleep between updates can vary due to "bonus time" (usually 1 second).
## Example
```js
while (true) {
const duration = await ns.bladeburner.nextUpdate();
ns.print(`Bladeburner Division completed ${ns.tFormat(duration)} of actions.`);
ns.print(`Bonus time remaining: ${ns.tFormat(ns.bladeburner.getBonusTime())}`);
// Manage the Bladeburner division
}
```

View File

@@ -31,3 +31,12 @@ RAM cost: 4 GB
Attempts to start the specified Bladeburner action. Returns true if the action was started successfully, and false otherwise.
## Example
```js
ns.bladeburner.startAction("Contracts", "Tracking")
// This will start the Bladeburner Contracts action of Tracking
```

View File

@@ -4,7 +4,7 @@
## Bladeburner.switchCity() method
Travel to another city in bladeburner.
Travel to another city in Bladeburner.
**Signature:**

View File

@@ -9,14 +9,14 @@ Upgrade skill.
**Signature:**
```typescript
upgradeSkill(name: string, count?: number): boolean;
upgradeSkill(skillName: string, count?: number): boolean;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| name | string | |
| skillName | string | Name of skill to be upgraded. Case-sensitive and must be an exact match. |
| count | number | _(Optional)_ Number of times to upgrade the skill. Defaults to 1 if not specified. |
**Returns:**

View File

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

View File

@@ -16,6 +16,7 @@ export interface CompanyPositionInfo
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [field](./bitburner.companypositioninfo.field.md) | | [JobField](./bitburner.jobfield.md) | |
| [name](./bitburner.companypositioninfo.name.md) | | [JobName](./bitburner.jobname.md) | |
| [nextPosition](./bitburner.companypositioninfo.nextposition.md) | | [JobName](./bitburner.jobname.md) \| null | |
| [requiredReputation](./bitburner.companypositioninfo.requiredreputation.md) | | number | |

View File

@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [CorpIndustryData](./bitburner.corpindustrydata.md) &gt; [makesMaterials](./bitburner.corpindustrydata.makesmaterials.md)
## CorpIndustryData.makesMaterials property
Whether the industry of this division is capable of producing materials
**Signature:**
```typescript
makesMaterials: boolean;
```

View File

@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [CorpIndustryData](./bitburner.corpindustrydata.md) &gt; [makesProducts](./bitburner.corpindustrydata.makesproducts.md)
## CorpIndustryData.makesProducts property
Whether the industry of this division is capable of developing and producing products
**Signature:**
```typescript
makesProducts: boolean;
```

View File

@@ -20,7 +20,9 @@ interface CorpIndustryData
| [aiCoreFactor?](./bitburner.corpindustrydata.aicorefactor.md) | | number | _(Optional)_ AI Cores factor |
| [description](./bitburner.corpindustrydata.description.md) | | string | |
| [hardwareFactor?](./bitburner.corpindustrydata.hardwarefactor.md) | | number | _(Optional)_ Hardware factor |
| [producedMaterials?](./bitburner.corpindustrydata.producedmaterials.md) | | [CorpMaterialName](./bitburner.corpmaterialname.md)<!-- -->\[\] | _(Optional)_ |
| [makesMaterials](./bitburner.corpindustrydata.makesmaterials.md) | | boolean | Whether the industry of this division is capable of producing materials |
| [makesProducts](./bitburner.corpindustrydata.makesproducts.md) | | boolean | Whether the industry of this division is capable of developing and producing products |
| [producedMaterials?](./bitburner.corpindustrydata.producedmaterials.md) | | [CorpMaterialName](./bitburner.corpmaterialname.md)<!-- -->\[\] | _(Optional)_ Array of Materials produced |
| [product?](./bitburner.corpindustrydata.product.md) | | [CorpProductData](./bitburner.corpproductdata.md) | _(Optional)_ |
| [realEstateFactor?](./bitburner.corpindustrydata.realestatefactor.md) | | number | _(Optional)_ Real estate factor |
| [recommendStarting](./bitburner.corpindustrydata.recommendstarting.md) | | boolean | |

View File

@@ -4,6 +4,8 @@
## CorpIndustryData.producedMaterials property
Array of Materials produced
**Signature:**
```typescript

View File

@@ -4,7 +4,7 @@
## Corporation.buyBackShares() method
Buyback Shares
Buyback Shares. Spend money from the player's wallet to transfer shares from public traders to the CEO.
**Signature:**

View File

@@ -19,7 +19,7 @@ export interface Corporation extends WarehouseAPI, OfficeAPI
| --- | --- |
| [acceptInvestmentOffer()](./bitburner.corporation.acceptinvestmentoffer.md) | Accept investment based on you companies current valuation |
| [bribe(factionName, amountCash)](./bitburner.corporation.bribe.md) | Bribe a faction |
| [buyBackShares(amount)](./bitburner.corporation.buybackshares.md) | Buyback Shares |
| [buyBackShares(amount)](./bitburner.corporation.buybackshares.md) | Buyback Shares. Spend money from the player's wallet to transfer shares from public traders to the CEO. |
| [createCorporation(corporationName, selfFund)](./bitburner.corporation.createcorporation.md) | Create a Corporation |
| [expandCity(divisionName, city)](./bitburner.corporation.expandcity.md) | Expand to a new city |
| [expandIndustry(industryType, divisionName)](./bitburner.corporation.expandindustry.md) | Expand to a new industry |
@@ -39,6 +39,7 @@ export interface Corporation extends WarehouseAPI, OfficeAPI
| [issueDividends(rate)](./bitburner.corporation.issuedividends.md) | Issue dividends |
| [issueNewShares(amount)](./bitburner.corporation.issuenewshares.md) | Issue new shares |
| [levelUpgrade(upgradeName)](./bitburner.corporation.levelupgrade.md) | Level an upgrade. |
| [nextUpdate()](./bitburner.corporation.nextupdate.md) | Sleep until the next Corporation update has happened. |
| [purchaseUnlock(upgradeName)](./bitburner.corporation.purchaseunlock.md) | Unlock an upgrade |
| [sellShares(amount)](./bitburner.corporation.sellshares.md) | Sell Shares |
| [sellShares(amount)](./bitburner.corporation.sellshares.md) | Sell Shares. Transfer shares from the CEO to public traders to receive money in the player's wallet. |

View File

@@ -0,0 +1,41 @@
<!-- 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; [nextUpdate](./bitburner.corporation.nextupdate.md)
## Corporation.nextUpdate() method
Sleep until the next Corporation update has happened.
**Signature:**
```typescript
nextUpdate(): Promise<CorpStateName>;
```
**Returns:**
Promise&lt;[CorpStateName](./bitburner.corpstatename.md)<!-- -->&gt;
Promise that resolves to the name of the state that was just processed.
I.e. when the state is PURCHASE, it means purchasing has just happened. Note that this is the state just before `getCorporation().state`<!-- -->.
Possible states are START, PURCHASE, PRODUCTION, EXPORT, SALE.
## Remarks
RAM cost: 1 GB
The amount of real time spent asleep between updates can vary due to "bonus time" (usually 200 milliseconds - 2 seconds).
## Example
```js
while (true) {
const prevState = await ns.corporation.nextUpdate();
const nextState = ns.corporation.getCorporation().state;
ns.print(`Corporation finished with ${prevState}, next will be ${nextState}.`);
// Manage the Corporation
}
```

View File

@@ -4,7 +4,7 @@
## Corporation.sellShares() method
Sell Shares
Sell Shares. Transfer shares from the CEO to public traders to receive money in the player's wallet.
**Signature:**

View File

@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [investorShares](./bitburner.corporationinfo.investorshares.md)
## CorporationInfo.investorShares property
Amount of shares owned by private investors. Not available for public sale or CEO buyback.
**Signature:**
```typescript
investorShares: number;
```

View File

@@ -4,7 +4,7 @@
## CorporationInfo.issuedShares property
Amount of acquirable shares.
Amount of shares owned by public traders. Available for CEO buyback.
**Signature:**

View File

@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [issueNewSharesCooldown](./bitburner.corporationinfo.issuenewsharescooldown.md)
## CorporationInfo.issueNewSharesCooldown property
Cooldown until new shares can be issued
**Signature:**
```typescript
issueNewSharesCooldown: number;
```

View File

@@ -22,13 +22,16 @@ interface CorporationInfo
| [divisions](./bitburner.corporationinfo.divisions.md) | | string\[\] | Array of all division names |
| [expenses](./bitburner.corporationinfo.expenses.md) | | number | Expenses per second this cycle |
| [funds](./bitburner.corporationinfo.funds.md) | | number | Funds available |
| [issuedShares](./bitburner.corporationinfo.issuedshares.md) | | number | Amount of acquirable shares. |
| [investorShares](./bitburner.corporationinfo.investorshares.md) | | number | Amount of shares owned by private investors. Not available for public sale or CEO buyback. |
| [issuedShares](./bitburner.corporationinfo.issuedshares.md) | | number | Amount of shares owned by public traders. Available for CEO buyback. |
| [issueNewSharesCooldown](./bitburner.corporationinfo.issuenewsharescooldown.md) | | number | Cooldown until new shares can be issued |
| [name](./bitburner.corporationinfo.name.md) | | string | Name of the corporation |
| [numShares](./bitburner.corporationinfo.numshares.md) | | number | Amount of share owned |
| [nextState](./bitburner.corporationinfo.nextstate.md) | | [CorpStateName](./bitburner.corpstatename.md) | <p>The next state to be processed.</p><p>I.e. when the state is PURCHASE, it means purchasing will occur during the next state transition.</p><p>Possible states are START, PURCHASE, PRODUCTION, EXPORT, SALE.</p> |
| [numShares](./bitburner.corporationinfo.numshares.md) | | number | Amount of shares owned by the CEO. |
| [prevState](./bitburner.corporationinfo.prevstate.md) | | [CorpStateName](./bitburner.corpstatename.md) | <p>The last state that got processed.</p><p>I.e. when that state is PURCHASE, it means purchasing just happened.</p><p>Possible states are START, PURCHASE, PRODUCTION, EXPORT, SALE.</p> |
| [public](./bitburner.corporationinfo.public.md) | | boolean | Indicating if the company is public |
| [revenue](./bitburner.corporationinfo.revenue.md) | | number | Revenue per second this cycle |
| [sharePrice](./bitburner.corporationinfo.shareprice.md) | | number | Price of the shares |
| [shareSaleCooldown](./bitburner.corporationinfo.sharesalecooldown.md) | | number | Cooldown until shares can be sold again |
| [state](./bitburner.corporationinfo.state.md) | | string | State of the corporation. Possible states are START, PURCHASE, PRODUCTION, EXPORT, SALE. |
| [totalShares](./bitburner.corporationinfo.totalshares.md) | | number | Total number of shares issues by this corporation |
| [totalShares](./bitburner.corporationinfo.totalshares.md) | | number | Total number of shares issued by this corporation. |

View File

@@ -0,0 +1,17 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [nextState](./bitburner.corporationinfo.nextstate.md)
## CorporationInfo.nextState property
The next state to be processed.
I.e. when the state is PURCHASE, it means purchasing will occur during the next state transition.
Possible states are START, PURCHASE, PRODUCTION, EXPORT, SALE.
**Signature:**
```typescript
nextState: CorpStateName;
```

View File

@@ -4,7 +4,7 @@
## CorporationInfo.numShares property
Amount of share owned
Amount of shares owned by the CEO.
**Signature:**

View File

@@ -0,0 +1,17 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [prevState](./bitburner.corporationinfo.prevstate.md)
## CorporationInfo.prevState property
The last state that got processed.
I.e. when that state is PURCHASE, it means purchasing just happened.
Possible states are START, PURCHASE, PRODUCTION, EXPORT, SALE.
**Signature:**
```typescript
prevState: CorpStateName;
```

View File

@@ -1,13 +0,0 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [state](./bitburner.corporationinfo.state.md)
## CorporationInfo.state property
State of the corporation. Possible states are START, PURCHASE, PRODUCTION, EXPORT, SALE.
**Signature:**
```typescript
state: string;
```

View File

@@ -4,7 +4,7 @@
## CorporationInfo.totalShares property
Total number of shares issues by this corporation
Total number of shares issued by this corporation.
**Signature:**

View File

@@ -4,7 +4,7 @@
## Division.makesProducts property
Whether the industry this division is in is capable of making products
Whether the industry of this division is capable of developing and producing products
**Signature:**

View File

@@ -20,7 +20,7 @@ interface Division
| [cities](./bitburner.division.cities.md) | | [CityName](./bitburner.cityname.md)<!-- -->\[\] | Cities in which this division has expanded |
| [lastCycleExpenses](./bitburner.division.lastcycleexpenses.md) | | number | Expenses last cycle |
| [lastCycleRevenue](./bitburner.division.lastcyclerevenue.md) | | number | Revenue last cycle |
| [makesProducts](./bitburner.division.makesproducts.md) | | boolean | Whether the industry this division is in is capable of making products |
| [makesProducts](./bitburner.division.makesproducts.md) | | boolean | Whether the industry of this division is capable of developing and producing products |
| [maxProducts](./bitburner.division.maxproducts.md) | | number | How many products this division can support |
| [name](./bitburner.division.name.md) | | string | Name of the division |
| [numAdVerts](./bitburner.division.numadverts.md) | | number | Number of times AdVert has been bought |

View File

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

View File

@@ -15,6 +15,7 @@ interface Fragment
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [effect](./bitburner.fragment.effect.md) | | string | |
| [id](./bitburner.fragment.id.md) | | number | |
| [limit](./bitburner.fragment.limit.md) | | number | |
| [power](./bitburner.fragment.power.md) | | number | |

View File

@@ -0,0 +1,23 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Gang](./bitburner.gang.md) &gt; [getRecruitsAvailable](./bitburner.gang.getrecruitsavailable.md)
## Gang.getRecruitsAvailable() method
Check how many gang members you can currently recruit.
**Signature:**
```typescript
getRecruitsAvailable(): number;
```
**Returns:**
number
Number indicating how many members can be recruited, considering current reputation and gang size.
## Remarks
RAM cost: 1 GB

View File

@@ -34,11 +34,15 @@ If you are not in BitNode-2, then you must have Source-File 2 in order to use th
| [getMemberInformation(name)](./bitburner.gang.getmemberinformation.md) | Get information about a specific gang member. |
| [getMemberNames()](./bitburner.gang.getmembernames.md) | List all gang members. |
| [getOtherGangInformation()](./bitburner.gang.getotherganginformation.md) | Get information about the other gangs. |
| [getRecruitsAvailable()](./bitburner.gang.getrecruitsavailable.md) | Check how many gang members you can currently recruit. |
| [getTaskNames()](./bitburner.gang.gettasknames.md) | List member task names. |
| [getTaskStats(name)](./bitburner.gang.gettaskstats.md) | Get stats of a task. |
| [inGang()](./bitburner.gang.ingang.md) | Check if you're in a gang. |
| [nextUpdate()](./bitburner.gang.nextupdate.md) | Sleeps until the next Gang update has happened. |
| [purchaseEquipment(memberName, equipName)](./bitburner.gang.purchaseequipment.md) | Purchase an equipment for a gang member. |
| [recruitMember(name)](./bitburner.gang.recruitmember.md) | Recruit a new gang member. |
| [renameMember(memberName, newName)](./bitburner.gang.renamemember.md) | Rename a Gang member to a new unique name. |
| [respectForNextRecruit()](./bitburner.gang.respectfornextrecruit.md) | Check the amount of Respect needed for your next gang recruit. |
| [setMemberTask(memberName, taskName)](./bitburner.gang.setmembertask.md) | Set gang member to task. |
| [setTerritoryWarfare(engage)](./bitburner.gang.setterritorywarfare.md) | Enable/Disable territory warfare. |
| [setTerritoryWarfare(engage)](./bitburner.gang.setterritorywarfare.md) | Enable/Disable territory clashes. |

View File

@@ -0,0 +1,37 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Gang](./bitburner.gang.md) &gt; [nextUpdate](./bitburner.gang.nextupdate.md)
## Gang.nextUpdate() method
Sleeps until the next Gang update has happened.
**Signature:**
```typescript
nextUpdate(): Promise<number>;
```
**Returns:**
Promise&lt;number&gt;
Promise that resolves to the number of milliseconds of Gang time that were processed in the previous update (2000 - 5000 ms).
## Remarks
RAM cost: 1 GB
The amount of real time spent asleep between updates can vary due to "bonus time".
## Example
```js
while (true) {
const duration = await ns.gang.nextUpdate();
ns.print(`Gang completed ${ns.tFormat(duration)} of activity.`);
ns.print(`Bonus time remaining: ${ns.tFormat(ns.gang.getBonusTime())}`);
// Manage the Gang
}
```

View File

@@ -0,0 +1,33 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Gang](./bitburner.gang.md) &gt; [renameMember](./bitburner.gang.renamemember.md)
## Gang.renameMember() method
Rename a Gang member to a new unique name.
**Signature:**
```typescript
renameMember(memberName: string, newName: string): boolean;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| memberName | string | Name of the member to change. |
| newName | string | New name for that gang member. |
**Returns:**
boolean
True if successful, and false if not.
## Remarks
RAM cost: 0 GB
Rename a Gang Member if none already has the new name.

View File

@@ -0,0 +1,23 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Gang](./bitburner.gang.md) &gt; [respectForNextRecruit](./bitburner.gang.respectfornextrecruit.md)
## Gang.respectForNextRecruit() method
Check the amount of Respect needed for your next gang recruit.
**Signature:**
```typescript
respectForNextRecruit(): number;
```
**Returns:**
number
The static number value of Respect needed for the next recruit, with consideration to your current gang size. Returns `Infinity` if you have reached the gang size limit.
## Remarks
RAM cost: 1 GB

View File

@@ -4,7 +4,7 @@
## Gang.setTerritoryWarfare() method
Enable/Disable territory warfare.
Enable/Disable territory clashes.
**Signature:**
@@ -16,7 +16,7 @@ setTerritoryWarfare(engage: boolean): void;
| Parameter | Type | Description |
| --- | --- | --- |
| engage | boolean | Whether or not to engage in territory warfare. |
| engage | boolean | Whether or not to engage in territory clashes. |
**Returns:**
@@ -26,5 +26,5 @@ void
RAM cost: 2 GB
Set whether or not the gang should engage in territory warfare
Set whether or not the gang should engage in territory clashes

View File

@@ -21,10 +21,11 @@ interface GangGenInfo
| [moneyGainRate](./bitburner.ganggeninfo.moneygainrate.md) | | number | Money earned per game cycle |
| [power](./bitburner.ganggeninfo.power.md) | | number | Gang's power for territory warfare |
| [respect](./bitburner.ganggeninfo.respect.md) | | number | Gang's respect |
| [respectForNextRecruit](./bitburner.ganggeninfo.respectfornextrecruit.md) | | number | Amount of Respect needed for next gang recruit, if possible |
| [respectGainRate](./bitburner.ganggeninfo.respectgainrate.md) | | number | Respect earned per game cycle |
| [territory](./bitburner.ganggeninfo.territory.md) | | number | Amount of territory held |
| [territoryClashChance](./bitburner.ganggeninfo.territoryclashchance.md) | | number | Clash chance |
| [territoryWarfareEngaged](./bitburner.ganggeninfo.territorywarfareengaged.md) | | boolean | Indicating if territory warfare is enabled |
| [territoryWarfareEngaged](./bitburner.ganggeninfo.territorywarfareengaged.md) | | boolean | Indicating if territory clashes are enabled |
| [wantedLevel](./bitburner.ganggeninfo.wantedlevel.md) | | number | Gang's wanted level |
| [wantedLevelGainRate](./bitburner.ganggeninfo.wantedlevelgainrate.md) | | number | Wanted level gained/lost per game cycle (negative for losses) |
| [wantedPenalty](./bitburner.ganggeninfo.wantedpenalty.md) | | number | Number indicating the current wanted penalty |

View File

@@ -0,0 +1,13 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GangGenInfo](./bitburner.ganggeninfo.md) &gt; [respectForNextRecruit](./bitburner.ganggeninfo.respectfornextrecruit.md)
## GangGenInfo.respectForNextRecruit property
Amount of Respect needed for next gang recruit, if possible
**Signature:**
```typescript
respectForNextRecruit: number;
```

View File

@@ -4,7 +4,7 @@
## GangGenInfo.territoryWarfareEngaged property
Indicating if territory warfare is enabled
Indicating if territory clashes are enabled
**Signature:**

View File

@@ -4,7 +4,7 @@
## GangMemberInfo.agi\_asc\_points property
Total earned agility experience
Total Agility Ascension points accumulated
**Signature:**

View File

@@ -4,6 +4,8 @@
## GangMemberInfo.augmentations property
List of all Augmentations currently installed on gang member
**Signature:**
```typescript

View File

@@ -4,7 +4,7 @@
## GangMemberInfo.cha\_asc\_points property
Total earned charisma experience
Total Charisma Ascension points accumulated
**Signature:**

View File

@@ -4,7 +4,7 @@
## GangMemberInfo.def\_asc\_points property
Total earned defense experience
Total Defense Ascension points accumulated
**Signature:**

View File

@@ -4,7 +4,7 @@
## GangMemberInfo.dex\_asc\_points property
Total earned dexterity experience
Total Dexterity Ascension points accumulated
**Signature:**

View File

@@ -4,6 +4,8 @@
## GangMemberInfo.earnedRespect property
Amount of Respect earned by member since they last Ascended
**Signature:**
```typescript

View File

@@ -4,7 +4,7 @@
## GangMemberInfo.hack\_asc\_points property
Total earned hack experience
Total Hack Ascension points accumulated
**Signature:**

View File

@@ -16,41 +16,41 @@ interface GangMemberInfo
| Property | Modifiers | Type | Description |
| --- | --- | --- | --- |
| [agi\_asc\_mult](./bitburner.gangmemberinfo.agi_asc_mult.md) | | number | Agility multiplier from ascensions |
| [agi\_asc\_points](./bitburner.gangmemberinfo.agi_asc_points.md) | | number | Total earned agility experience |
| [agi\_asc\_points](./bitburner.gangmemberinfo.agi_asc_points.md) | | number | Total Agility Ascension points accumulated |
| [agi\_exp](./bitburner.gangmemberinfo.agi_exp.md) | | number | Current agility experience |
| [agi\_mult](./bitburner.gangmemberinfo.agi_mult.md) | | number | Agility multiplier from equipment |
| [agi](./bitburner.gangmemberinfo.agi.md) | | number | Agility skill level |
| [augmentations](./bitburner.gangmemberinfo.augmentations.md) | | string\[\] | |
| [augmentations](./bitburner.gangmemberinfo.augmentations.md) | | string\[\] | List of all Augmentations currently installed on gang member |
| [cha\_asc\_mult](./bitburner.gangmemberinfo.cha_asc_mult.md) | | number | Charisma multiplier from ascensions |
| [cha\_asc\_points](./bitburner.gangmemberinfo.cha_asc_points.md) | | number | Total earned charisma experience |
| [cha\_asc\_points](./bitburner.gangmemberinfo.cha_asc_points.md) | | number | Total Charisma Ascension points accumulated |
| [cha\_exp](./bitburner.gangmemberinfo.cha_exp.md) | | number | Current charisma experience |
| [cha\_mult](./bitburner.gangmemberinfo.cha_mult.md) | | number | Charisma multiplier from equipment |
| [cha](./bitburner.gangmemberinfo.cha.md) | | number | Charisma skill level |
| [def\_asc\_mult](./bitburner.gangmemberinfo.def_asc_mult.md) | | number | Defense multiplier from ascensions |
| [def\_asc\_points](./bitburner.gangmemberinfo.def_asc_points.md) | | number | Total earned defense experience |
| [def\_asc\_points](./bitburner.gangmemberinfo.def_asc_points.md) | | number | Total Defense Ascension points accumulated |
| [def\_exp](./bitburner.gangmemberinfo.def_exp.md) | | number | Current defense experience |
| [def\_mult](./bitburner.gangmemberinfo.def_mult.md) | | number | Defense multiplier from equipment |
| [def](./bitburner.gangmemberinfo.def.md) | | number | Defense skill level |
| [dex\_asc\_mult](./bitburner.gangmemberinfo.dex_asc_mult.md) | | number | Dexterity multiplier from ascensions |
| [dex\_asc\_points](./bitburner.gangmemberinfo.dex_asc_points.md) | | number | Total earned dexterity experience |
| [dex\_asc\_points](./bitburner.gangmemberinfo.dex_asc_points.md) | | number | Total Dexterity Ascension points accumulated |
| [dex\_exp](./bitburner.gangmemberinfo.dex_exp.md) | | number | Current dexterity experience |
| [dex\_mult](./bitburner.gangmemberinfo.dex_mult.md) | | number | Dexterity multiplier from equipment |
| [dex](./bitburner.gangmemberinfo.dex.md) | | number | Dexterity skill level |
| [earnedRespect](./bitburner.gangmemberinfo.earnedrespect.md) | | number | |
| [earnedRespect](./bitburner.gangmemberinfo.earnedrespect.md) | | number | Amount of Respect earned by member since they last Ascended |
| [hack\_asc\_mult](./bitburner.gangmemberinfo.hack_asc_mult.md) | | number | Hack multiplier from ascensions |
| [hack\_asc\_points](./bitburner.gangmemberinfo.hack_asc_points.md) | | number | Total earned hack experience |
| [hack\_asc\_points](./bitburner.gangmemberinfo.hack_asc_points.md) | | number | Total Hack Ascension points accumulated |
| [hack\_exp](./bitburner.gangmemberinfo.hack_exp.md) | | number | Current hack experience |
| [hack\_mult](./bitburner.gangmemberinfo.hack_mult.md) | | number | Hack multiplier from equipment |
| [hack](./bitburner.gangmemberinfo.hack.md) | | number | Hack skill level |
| [moneyGain](./bitburner.gangmemberinfo.moneygain.md) | | number | |
| [moneyGain](./bitburner.gangmemberinfo.moneygain.md) | | number | Per Cycle Income for this gang member |
| [name](./bitburner.gangmemberinfo.name.md) | | string | Name of the gang member |
| [respectGain](./bitburner.gangmemberinfo.respectgain.md) | | number | |
| [respectGain](./bitburner.gangmemberinfo.respectgain.md) | | number | Per Cycle Rate this member is currently gaining Respect |
| [str\_asc\_mult](./bitburner.gangmemberinfo.str_asc_mult.md) | | number | Strength multiplier from ascensions |
| [str\_asc\_points](./bitburner.gangmemberinfo.str_asc_points.md) | | number | Total earned strength experience |
| [str\_asc\_points](./bitburner.gangmemberinfo.str_asc_points.md) | | number | Total Strength Ascension points accumulated |
| [str\_exp](./bitburner.gangmemberinfo.str_exp.md) | | number | Current strength experience |
| [str\_mult](./bitburner.gangmemberinfo.str_mult.md) | | number | Strength multiplier from equipment |
| [str](./bitburner.gangmemberinfo.str.md) | | number | Strength skill level |
| [task](./bitburner.gangmemberinfo.task.md) | | string | Currently assigned task |
| [upgrades](./bitburner.gangmemberinfo.upgrades.md) | | string\[\] | |
| [wantedLevelGain](./bitburner.gangmemberinfo.wantedlevelgain.md) | | number | |
| [upgrades](./bitburner.gangmemberinfo.upgrades.md) | | string\[\] | List of all non-Augmentation Equipment owned by gang member |
| [wantedLevelGain](./bitburner.gangmemberinfo.wantedlevelgain.md) | | number | Per Cycle Rate by which this member is affecting your gang's Wanted Level |

View File

@@ -4,6 +4,8 @@
## GangMemberInfo.moneyGain property
Per Cycle Income for this gang member
**Signature:**
```typescript

View File

@@ -4,6 +4,8 @@
## GangMemberInfo.respectGain property
Per Cycle Rate this member is currently gaining Respect
**Signature:**
```typescript

View File

@@ -4,7 +4,7 @@
## GangMemberInfo.str\_asc\_points property
Total earned strength experience
Total Strength Ascension points accumulated
**Signature:**

View File

@@ -4,6 +4,8 @@
## GangMemberInfo.upgrades property
List of all non-Augmentation Equipment owned by gang member
**Signature:**
```typescript

View File

@@ -4,6 +4,8 @@
## GangMemberInfo.wantedLevelGain property
Per Cycle Rate by which this member is affecting your gang's Wanted Level
**Signature:**
```typescript

View File

@@ -4,7 +4,7 @@
## HackingFormulas.growPercent() method
Calculate the percent a server would grow to. Not exact due to limitations of mathematics. (Ex: 3.0 would would grow the server to 300% of its current value.)
Calculate the percent a server would grow to. Not exact due to limitations of mathematics. (Ex: 3.0 would grow the server to 300% of its current value.)
**Signature:**

View File

@@ -16,7 +16,7 @@ interface HackingFormulas
| Method | Description |
| --- | --- |
| [growPercent(server, threads, player, cores)](./bitburner.hackingformulas.growpercent.md) | Calculate the percent a server would grow to. Not exact due to limitations of mathematics. (Ex: 3.0 would would grow the server to 300% of its current value.) |
| [growPercent(server, threads, player, cores)](./bitburner.hackingformulas.growpercent.md) | Calculate the percent a server would grow to. Not exact due to limitations of mathematics. (Ex: 3.0 would grow the server to 300% of its current value.) |
| [growThreads(server, player, targetMoney, cores)](./bitburner.hackingformulas.growthreads.md) | Calculate how many threads it will take to grow server to targetMoney. Starting money is server.moneyAvailable. |
| [growTime(server, player)](./bitburner.hackingformulas.growtime.md) | Calculate grow time. |
| [hackChance(server, player)](./bitburner.hackingformulas.hackchance.md) | Calculate hack chance. (Ex: 0.25 would indicate a 25% chance of success.) |

View File

@@ -17,7 +17,7 @@ getCacheUpgradeCost(index: number, n?: number): number;
| Parameter | Type | Description |
| --- | --- | --- |
| index | number | Index/Identifier of Hacknet Node. |
| n | number | _(Optional)_ Number of times to upgrade cache. Must be positive. Rounded to nearest integer. Defaults to 1 if not specified. |
| n | number | _(Optional)_ Number of times to upgrade cache. Must be positive. Will be rounded to the nearest integer. Defaults to 1 if not specified. |
**Returns:**

View File

@@ -17,7 +17,7 @@ getCoreUpgradeCost(index: number, n?: number): number;
| Parameter | Type | Description |
| --- | --- | --- |
| index | number | Index/Identifier of Hacknet Node. |
| n | number | _(Optional)_ Number of times to upgrade cores. Must be positive. Rounded to nearest integer. Defaults to 1 if not specified. |
| n | number | _(Optional)_ Number of times to upgrade cores. Must be positive. Will be rounded to the nearest integer. Defaults to 1 if not specified. |
**Returns:**

View File

@@ -17,7 +17,7 @@ getLevelUpgradeCost(index: number, n?: number): number;
| Parameter | Type | Description |
| --- | --- | --- |
| index | number | Index/Identifier of Hacknet Node. |
| n | number | _(Optional)_ Number of levels to upgrade. Must be positive. Rounded to nearest integer. Defaults to 1 if not specified. |
| n | number | _(Optional)_ Number of levels to upgrade. Must be positive. Will be rounded to the nearest integer. Defaults to 1 if not specified. |
**Returns:**

View File

@@ -17,7 +17,7 @@ getRamUpgradeCost(index: number, n?: number): number;
| Parameter | Type | Description |
| --- | --- | --- |
| index | number | Index/Identifier of Hacknet Node. |
| n | number | _(Optional)_ Number of times to upgrade RAM. Must be positive. Rounded to nearest integer. Defaults to 1 if not specified. |
| n | number | _(Optional)_ Number of times to upgrade RAM. Must be positive. Will be rounded to the nearest integer. Defaults to 1 if not specified. |
**Returns:**

View File

@@ -21,7 +21,7 @@ The index of the Hacknet Node or if the player cannot afford to purchase a new H
RAM cost: 0 GB
Purchases a new Hacknet Node. Returns a number with the index of the Hacknet Node. This index is equivalent to the number at the end of the Hacknet Nodes name (e.g The Hacknet Node named `hacknet-node-4` will have an index of 4).
Purchases a new Hacknet Node. Returns a number with the index of the Hacknet Node. This index is equivalent to the number at the end of the Hacknet Nodes name (e.g. The Hacknet Node named `hacknet-node-4` will have an index of 4).
If the player cannot afford to purchase a new Hacknet Node then the function will return -1.

View File

@@ -17,7 +17,7 @@ upgradeCache(index: number, n?: number): boolean;
| Parameter | Type | Description |
| --- | --- | --- |
| index | number | Index/Identifier of Hacknet Node. |
| n | number | _(Optional)_ Number of cache levels to purchase. Must be positive. Rounded to nearest integer. Defaults to 1 if not specified. |
| n | number | _(Optional)_ Number of cache levels to purchase. Must be positive. Will be rounded to the nearest integer. Defaults to 1 if not specified. |
**Returns:**

View File

@@ -17,7 +17,7 @@ upgradeCore(index: number, n?: number): boolean;
| Parameter | Type | Description |
| --- | --- | --- |
| index | number | Index/Identifier of Hacknet Node. |
| n | number | _(Optional)_ Number of cores to purchase. Must be positive. Rounded to nearest integer. Defaults to 1 if not specified. |
| n | number | _(Optional)_ Number of cores to purchase. Must be positive. Will be rounded to the nearest integer. Defaults to 1 if not specified. |
**Returns:**

View File

@@ -17,7 +17,7 @@ upgradeLevel(index: number, n?: number): boolean;
| Parameter | Type | Description |
| --- | --- | --- |
| index | number | Index/Identifier of Hacknet Node. |
| n | number | _(Optional)_ Number of levels to purchase. Must be positive. Rounded to nearest integer. Defaults to 1 if not specified. |
| n | number | _(Optional)_ Number of levels to purchase. Must be positive. Will be rounded to the nearest integer. Defaults to 1 if not specified. |
**Returns:**

View File

@@ -17,7 +17,7 @@ upgradeRam(index: number, n?: number): boolean;
| Parameter | Type | Description |
| --- | --- | --- |
| index | number | Index/Identifier of Hacknet Node. |
| n | number | _(Optional)_ Number of times to upgrade RAM. Must be positive. Rounded to nearest integer. Defaults to 1 if not specified. |
| n | number | _(Optional)_ Number of times to upgrade RAM. Must be positive. Will be rounded to the nearest integer. Defaults to 1 if not specified. |
**Returns:**

View File

@@ -0,0 +1,31 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [JobField](./bitburner.jobfield.md)
## JobField enum
**Signature:**
```typescript
declare enum JobField
```
## Enumeration Members
| Member | Value | Description |
| --- | --- | --- |
| agent | <code>&quot;Agent&quot;</code> | |
| business | <code>&quot;Business&quot;</code> | |
| businessConsultant | <code>&quot;Business Consultant&quot;</code> | |
| employee | <code>&quot;Employee&quot;</code> | |
| it | <code>&quot;IT&quot;</code> | |
| networkEngineer | <code>&quot;Network Engineer&quot;</code> | |
| partTimeEmployee | <code>&quot;Part-time Employee&quot;</code> | |
| partTimeWaiter | <code>&quot;Part-time Waiter&quot;</code> | |
| security | <code>&quot;Security&quot;</code> | |
| securityEngineer | <code>&quot;Security Engineer&quot;</code> | |
| software | <code>&quot;Software&quot;</code> | |
| softwareConsultant | <code>&quot;Software Consultant&quot;</code> | |
| waiter | <code>&quot;Waiter&quot;</code> | |

View File

@@ -13,6 +13,7 @@
| [CrimeType](./bitburner.crimetype.md) | |
| [FactionWorkType](./bitburner.factionworktype.md) | |
| [GymType](./bitburner.gymtype.md) | |
| [JobField](./bitburner.jobfield.md) | |
| [JobName](./bitburner.jobname.md) | |
| [LocationName](./bitburner.locationname.md) | Names of all locations |
| [OrderType](./bitburner.ordertype.md) | |
@@ -98,6 +99,7 @@
| [Sleeve](./bitburner.sleeve.md) | Sleeve API |
| [SleevePerson](./bitburner.sleeveperson.md) | |
| [SourceFileLvl](./bitburner.sourcefilelvl.md) | |
| [SpawnOptions](./bitburner.spawnoptions.md) | |
| [Stanek](./bitburner.stanek.md) | Stanek's Gift API. |
| [StockMarketConstants](./bitburner.stockmarketconstants.md) | Constants used for the stockmarket game mechanic. |
| [StockOrder](./bitburner.stockorder.md) | <p>Return value of [getOrders](./bitburner.tix.getorders.md)</p><p>Keys are stock symbols, properties are arrays of [StockOrderObject](./bitburner.stockorderobject.md)</p> |

View File

@@ -9,14 +9,14 @@ Clear data from a port.
**Signature:**
```typescript
clearPort(handle: number): void;
clearPort(portNumber: number): void;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| handle | number | Port to clear. |
| portNumber | number | Port to clear data from. Must be a positive integer. |
**Returns:**

View File

@@ -29,9 +29,7 @@ True if specified file exists, and false otherwise.
RAM cost: 0.1 GB
Returns a boolean indicating whether the specified file exists on the target server. The filename for programs is case insensitive, other file types are case sensitive. For example, fileExists(“brutessh.exe”) will work fine, even though the actual program is named 'BruteSSH.exe'.
\*
Returns a boolean indicating whether the specified file exists on the target server. The filename for programs is case-insensitive, other file types are case-sensitive. For example, fileExists(“brutessh.exe”) will work fine, even though the actual program is named 'BruteSSH.exe'.
## Example

View File

@@ -9,7 +9,7 @@ Format a number as a percentage.
**Signature:**
```typescript
formatPercent(n: number, fractionalDigits?: number, multStart?: number): string;
formatPercent(n: number, fractionalDigits?: number, suffixStart?: number): string;
```
## Parameters
@@ -18,7 +18,7 @@ formatPercent(n: number, fractionalDigits?: number, multStart?: number): string;
| --- | --- | --- |
| n | number | Number to format as a percentage. |
| fractionalDigits | number | _(Optional)_ Number of digits to show in the fractional part of the decimal number. Optional, defaults to 2. |
| multStart | number | _(Optional)_ |
| suffixStart | number | _(Optional)_ When to switch the percentage to a multiplier. Default is 1e6 or x1.00m. |
**Returns:**

View File

@@ -16,7 +16,7 @@ getPortHandle(portNumber: number): NetscriptPort;
| Parameter | Type | Description |
| --- | --- | --- |
| portNumber | number | Port number. Must be an integer between 1 and 20. |
| portNumber | number | Port number. Must be a positive integer. |
**Returns:**

View File

@@ -21,8 +21,8 @@ getRunningScript(
| Parameter | Type | Description |
| --- | --- | --- |
| filename | [FilenameOrPID](./bitburner.filenameorpid.md) | _(Optional)_ Optional. Filename or PID of the script. |
| hostname | string | _(Optional)_ Optional. Name of host server the script is running on. |
| args | (string \| number \| boolean)\[\] | Arguments to identify the script |
| hostname | string | _(Optional)_ Hostname of target server. Optional, defaults to the server the calling script is running on. |
| args | (string \| number \| boolean)\[\] | Arguments to specify/identify the script. Optional, when looking for scripts run without arguments. |
**Returns:**
@@ -34,5 +34,5 @@ The info about the running script if found, and null otherwise.
RAM cost: 0.3 GB
Running with no args returns current script. If you use a PID as the first parameter, the hostname and args parameters are unnecessary.
Running with no args returns current script. If you use a PID as the first parameter, the hostname and args parameters are unnecessary. If hostname is omitted while filename is used as the first parameter, hostname defaults to the server the calling script is running on. Remember that a script is semi-uniquely identified by both its name and its arguments. (You can run multiple copies of scripts with the same arguments, but for the purposes of functions like this that check based on filename, the filename plus arguments forms the key.)

View File

@@ -9,14 +9,14 @@ Get all the logs of a script.
**Signature:**
```typescript
getScriptLogs(fn?: string, host?: string, ...args: (string | number | boolean)[]): string[];
getScriptLogs(fn?: FilenameOrPID, host?: string, ...args: (string | number | boolean)[]): string[];
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| fn | string | _(Optional)_ Optional. Filename of script to get logs from. |
| fn | [FilenameOrPID](./bitburner.filenameorpid.md) | _(Optional)_ Optional. Filename or PID of script to get logs from. |
| host | string | _(Optional)_ Optional. Hostname of the server that the script is on. |
| args | (string \| number \| boolean)\[\] | Arguments to identify which scripts to get logs for. |
@@ -32,7 +32,7 @@ RAM cost: 0 GB
Returns a scripts logs. The logs are returned as an array, where each line is an element in the array. The most recently logged line is at the end of the array. Note that there is a maximum number of lines that a script stores in its logs. This is configurable in the games options. If the function is called with no arguments, it will return the current scripts logs.
Otherwise, the fn, hostname/ip, and args… arguments can be used to get the logs from another script. Remember that scripts are uniquely identified by both their names and arguments.
Otherwise, the PID or filename, hostname/ip, and args… arguments can be used to get logs from another script. Remember that scripts are uniquely identified by both their names and arguments.
## Example

View File

@@ -17,8 +17,8 @@ isRunning(script: FilenameOrPID, host?: string, ...args: (string | number | bool
| Parameter | Type | Description |
| --- | --- | --- |
| script | [FilenameOrPID](./bitburner.filenameorpid.md) | Filename or PID of script to check. This is case-sensitive. |
| host | string | _(Optional)_ Hostname of target server. |
| args | (string \| number \| boolean)\[\] | Arguments to specify/identify which scripts to search for. |
| host | string | _(Optional)_ Hostname of target server. Optional, defaults to the server the calling script is running on. |
| args | (string \| number \| boolean)\[\] | Arguments to specify/identify the script. Optional, when looking for scripts run without arguments. |
**Returns:**
@@ -30,7 +30,7 @@ True if the specified script is running on the target server, and false otherwis
RAM cost: 0.1 GB
Returns a boolean indicating whether the specified script is running on the target server. If you use a PID instead of a filename, the hostname and args parameters are unnecessary. Remember that a script is semi-uniquely identified by both its name and its arguments. (You can run multiple copies of scripts with the same arguments, but for the purposes of functions like this that check based on filename, the filename plus arguments forms the key.)
Returns a boolean indicating whether the specified script is running on the target server. If you use a PID instead of a filename, the hostname and args parameters are unnecessary. If hostname is omitted while filename is used as the first parameter, hostname defaults to the server the calling script is running on. Remember that a script is semi-uniquely identified by both its name and its arguments. (You can run multiple copies of scripts with the same arguments, but for the purposes of functions like this that check based on filename, the filename plus arguments forms the key.)
## Example

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