Compare commits

..

160 Commits

Author SHA1 Message Date
Olivier Gagnon
02605090df v1.2.0 2021-12-18 16:28:09 -05:00
hydroflame
853125009b Merge pull request #1977 from Rez855/feature/multi-tab-script-editor
Added the ability to open multiple script files at a time
2021-12-18 14:53:35 -05:00
hydroflame
b739d60490 Merge pull request #1979 from MartinFournier/feature/skill-progress-bars
Fix #1889: Add skill progress to overview
2021-12-18 14:44:18 -05:00
hydroflame
d5201885aa Merge pull request #1997 from pobiega/fix/nformat-return-type
ScriptEditor NetScriptDefinitions: nFormat should return string
2021-12-18 14:40:20 -05:00
hydroflame
0ff110492e Merge pull request #1982 from wynro/add-ALL-to-enableLog
Add support for ALL argument in enableLog function
2021-12-18 14:39:44 -05:00
Olivier Gagnon
4eb1914c79 re-add n00dles in beginer guide 2021-12-18 14:37:52 -05:00
Olivier Gagnon
47f20c666e Merge branch 'dev' of github.com:danielyxie/bitburner into dev 2021-12-18 14:36:30 -05:00
hydroflame
da58c1df9f Merge pull request #1959 from cblte/patch-1
Update gettingstartedguideforbeginnerprogrammers.rst
2021-12-18 14:36:25 -05:00
hydroflame
c723c7ecd2 Merge pull request #1957 from billyvg/feat/add-ctrl-u-clear-line
feat: Add `ctrl+u/k/w` hotkeys
2021-12-18 14:35:12 -05:00
Olivier Gagnon
d45d6c8f3a Merge branch 'dev' of github.com:danielyxie/bitburner into dev 2021-12-18 14:29:04 -05:00
Olivier Gagnon
cbb3563556 @millennIumAMbiguity doc typo 2021-12-18 14:28:57 -05:00
hydroflame
a9b0dd0d3f Merge pull request #1992 from 2PacIsAlive/dev
Fix typo in AutolinkProgram description
2021-12-18 10:56:33 -05:00
hydroflame
1dafa03a71 Merge pull request #1995 from Adraxas/dev
Fix NS.exec signature
2021-12-18 10:56:01 -05:00
hydroflame
7c1fa4e228 Merge pull request #1998 from MartinFournier/feature/suppress-save-toast
Add an option to suppress the 'Saved Game' toast
2021-12-18 10:55:07 -05:00
Olivier Gagnon
21191e0b8d re-add noscripts 2021-12-18 10:44:22 -05:00
Olivier Gagnon
1368e468bb Merge branch 'dev' of github.com:danielyxie/bitburner into dev 2021-12-18 10:31:59 -05:00
BuildTools
59498f780a Small css tweaks 2021-12-18 07:11:59 -06:00
Martin Fournier
733f04c343 Add an option to suppress the 'Saved Game' toast 2021-12-18 08:01:15 -05:00
Robin Rexstedt
87d8f67df1 make nFormat return a string 2021-12-18 13:12:23 +01:00
BuildTools
2265f797c4 Added the ability to open multiple script files at a time
Fixed a bug where ram would stay the same when switching between scripts

Fixed bug where updating ram could cause the GUI to crash

The editor will now go to the last edited line when switching tabs.

Tidied up the script editor UI
2021-12-18 04:10:25 -06:00
Jared Jolton
5e5e2c60aa Fix typo in AutolinkProgram description 2021-12-17 21:58:05 -07:00
Adraxas
069d76df25 Fix NS.exec signature 2021-12-17 18:40:00 -08:00
Olivier Gagnon
eb002d655a Merge branch 'dev' of github.com:danielyxie/bitburner into dev 2021-12-17 16:34:14 -05:00
Olivier Gagnon
5bb304caff rm console log 2021-12-17 16:33:55 -05:00
hydroflame
504a8a4be5 Merge pull request #1971 from MartinFournier/feature/hashes-upgrades
Fix #1863: Add getHashUpgrades hacknet function
2021-12-17 15:50:46 -05:00
hydroflame
2b5cc03e79 Merge pull request #1968 from MageKing17/patch-1
Quickly fix silly typo mentioned on Discord.
2021-12-17 12:55:58 -05:00
hydroflame
b122cebc98 Merge pull request #1972 from MartinFournier/feature/electron-background-color
Fix #1902: Set default electron color to black
2021-12-17 12:55:32 -05:00
hydroflame
5b79712817 Merge pull request #1985 from billyvg/fix/prevent-ctrl-alt-j-navigation
Prevent `ctrl+alt+j` from navigating to Jobs
2021-12-17 12:55:08 -05:00
hydroflame
3e4e26ac8c Merge pull request #1981 from MartinFournier/fix/theme-popup-deferred
Fix #1974: Change default input to deferred
2021-12-17 12:46:33 -05:00
hydroflame
b7011407fd Merge pull request #1980 from MartinFournier/feature/editorconfig
Set default editorconfig to indent_size=2
2021-12-17 12:46:08 -05:00
Martin Fournier
84c77c1d2c Fix #1889: Add skill progress to overview
Adds a progress bar for each stat to show how close to level up you are.
2021-12-17 12:44:18 -05:00
Billy Vong
f4ea1ae970 Merge branch 'dev' into fix/prevent-ctrl-alt-j-navigation 2021-12-17 12:39:57 -05:00
Billy Vong
659211e1ff Prevent ctrl+alt+j from navigating to Jobs
This is a browser hot key to open the Chrome Developer Tools.
2021-12-17 12:35:47 -05:00
hydroflame
c6843b231a Merge pull request #1962 from MartinFournier/feature/exit-process
Attempt to fix processes that stay up after closing app
2021-12-17 12:13:50 -05:00
hydroflame
196086cc13 Merge branch 'dev' into feature/exit-process 2021-12-17 11:49:58 -05:00
Olivier Gagnon
36fd3c5d68 try kill again 2021-12-17 11:38:00 -05:00
Guillermo Robles
b14432329a Add support for ALL argument in enableLog function
- Fixes: #1928
2021-12-17 17:33:33 +01:00
Martin Fournier
da0cc6d8f1 Fix #1974: Change default input to deferred
The value does not change automatically now, there's a "Set" button in
the popup to trigger the onColorChange event.
2021-12-17 11:00:00 -05:00
Martin Fournier
c59806c87d Set default editorconfig to indent_size=2
Prettier already formats the code like that, so it causes a mismatch for
devs using editorconfig as well.
2021-12-17 09:54:32 -05:00
Martin Fournier
6d94ee0c2c Fix #1902: Set default electron color to black
If loading of the index.html is slow, there should be no white
background anymore.
2021-12-17 05:52:31 -05:00
Martin Fournier
217b94d0a0 Fix #1863: Add getHashUpgrades hacknet function
Adds a new functions ofr hacknet servers that returns the list of
available hash upgrades.
2021-12-17 05:35:17 -05:00
MageKing17
e8b4d15078 Update TutorialRoot.tsx
Correct "NS1 vs NS1" typo.
2021-12-17 00:35:23 -08:00
Olivier Gagnon
6c5842d2e7 noscripts backup 2021-12-17 01:33:35 -05:00
Olivier Gagnon
b0929e3cff only exit?2 2021-12-16 23:29:52 -05:00
Olivier Gagnon
795df0ed69 only exit? 2021-12-16 23:13:05 -05:00
Olivier Gagnon
ae6f8c5ee7 make tutorial better 2021-12-16 20:54:50 -05:00
Martin Fournier
63f7775804 Remove process handler when doing a hard reload 2021-12-16 20:21:25 -05:00
Olivier Gagnon
81e291ef6a change color of terminal input 2021-12-16 20:20:07 -05:00
Olivier Gagnon
aafc311759 bug 2021-12-16 20:09:51 -05:00
Olivier Gagnon
99f3566e52 bugfix 2021-12-16 20:09:19 -05:00
Olivier Gagnon
9e86131625 bugfix 2021-12-16 20:07:34 -05:00
Martin Fournier
dc21a5b87b Attempt to fix processes that stay up after closing app 2021-12-16 18:26:20 -05:00
Billy Vong
9b64551197 Merge branch 'dev' into feat/add-ctrl-u-clear-line 2021-12-16 17:07:39 -05:00
Billy Vong
2e9a42d74c add comment 2021-12-16 17:03:49 -05:00
Billy Vong
2804b6ae56 remove console 2021-12-16 17:03:15 -05:00
Billy Vong
d4bf6100a3 feat: Add ctrl+u/k/w hotkeys
Adds the `ctrl+u/k/w` hotkeys to clear line before and after, as well as deleting word before cursor. I implemented deleting word after cursor, but I have not repod the functionality in bash, so I did not add the hotkey.
2021-12-16 16:59:24 -05:00
Olivier Gagnon
3436873373 Merge branch 'dev' of github.com:danielyxie/bitburner into dev 2021-12-16 15:49:02 -05:00
Olivier Gagnon
1cca819f87 disable browser throttling 2021-12-16 15:48:40 -05:00
Olivier Gagnon
3ca762d8cf disable browser throttling 2021-12-16 15:46:26 -05:00
hydroflame
55d386a504 Merge pull request #1952 from MartinFournier/feature/git-commit-version
Fix #1880: Show git commit of bundled app
2021-12-16 15:45:25 -05:00
Olivier Gagnon
33e918fc49 doc 2021-12-16 15:28:53 -05:00
Martin Fournier
e8e2760c73 Fix #1880: Show git commit of bundled app 2021-12-16 15:25:59 -05:00
Olivier Gagnon
e16fba2418 scan doc 2021-12-16 15:21:00 -05:00
Olivier Gagnon
1b680431b6 regen doc 2021-12-16 12:59:11 -05:00
Olivier Gagnon
361c3d3469 rebuild 2021-12-16 12:57:59 -05:00
Olivier Gagnon
5718800b91 doc update 2021-12-16 12:41:18 -05:00
Olivier Gagnon
6ef99e138c fix BN exploit 2021-12-16 12:40:24 -05:00
Olivier Gagnon
3c67da02f3 typo 2021-12-16 12:33:44 -05:00
Olivier Gagnon
2e2bd7441a minor tweak 2021-12-16 12:30:23 -05:00
Olivier Gagnon
9292484ed0 minor tweak 2021-12-16 12:29:41 -05:00
hydroflame
abc61b820c Merge pull request #1938 from TheCoderJT/issue1906
#1906
2021-12-16 12:29:05 -05:00
Olivier Gagnon
a1af0318d8 minor error message tweak 2021-12-16 12:20:04 -05:00
hydroflame
b05645a61c Merge pull request #1936 from TheCoderJT/issue1920
Issue1920
2021-12-16 12:19:23 -05:00
hydroflame
43aba18b77 Merge pull request #1933 from Saynt-Garmo/dev
Issue 1911
2021-12-16 12:18:16 -05:00
Olivier Gagnon
52f2e52456 minor tweak to scp error message 2021-12-16 12:14:48 -05:00
hydroflame
0a63de4539 Merge pull request #1932 from theit8514/cp-1922
Update cp and mv terminal commands #1922
2021-12-16 12:14:15 -05:00
Olivier Gagnon
16431f1031 minor tweak to doc 2021-12-16 12:13:00 -05:00
hydroflame
2da9f87031 Merge pull request #1895 from TheCoderJT/editingGitDocs
Editing git docs
2021-12-16 12:11:05 -05:00
Olivier Gagnon
91c7811a36 format 2021-12-16 12:04:09 -05:00
Olivier Gagnon
d7f9cb8cec make setFocus a little more robust 2021-12-16 12:02:46 -05:00
hydroflame
f9499d3259 Merge pull request #1874 from theit8514/script-focus
Reimplement setFocus
2021-12-16 12:00:34 -05:00
Olivier Gagnon
a92d3238be small fix with electron build 2021-12-16 11:52:25 -05:00
Jordan Turner
89bc702ef2 . 2021-12-15 22:18:47 -07:00
Jordan Turner
53a8cbe9bd have to re commit for some reason sry same as before semi colons 2021-12-15 22:17:54 -07:00
Jordan Turner
e1e032b61f added semi colons they were missing at the end of some examples 2021-12-15 22:15:29 -07:00
Jordan Turner
db9b0a8ec8 added await before the ns2 method calls 2021-12-15 22:01:44 -07:00
Jordan Turner
3926913790 updated appearach of example sections based on alainbryden suggestion 2021-12-15 21:47:18 -07:00
theit8514
2e133bcf0a Fix return type of isFocused 2021-12-15 20:55:47 -05:00
Jordan Turner
889751490f finishWeaken now shows 3 decimal places for hackDifficulty and improved the print message 2021-12-15 18:53:39 -07:00
theit8514
d59601f848 Add return value and code style cleanup 2021-12-15 20:48:19 -05:00
theit8514
cd4c98d942 Only change to terminal when focused 2021-12-15 20:44:08 -05:00
theit8514
c50c92f9b5 Update SF requirement to match documentation 2021-12-15 20:33:48 -05:00
theit8514
2726420709 Add errors and only change page when focus changes 2021-12-15 20:33:48 -05:00
theit8514
07d449afc2 Ensure focus does not change between calls to work 2021-12-15 20:33:48 -05:00
theit8514
ad57f3dc73 Work functions do not take focus
setFocus readded and updated to send the user to the Work page if focusing.
2021-12-15 20:33:48 -05:00
Jordan Turner
ac79d0aea4 adjusted the wording and added dynamic player server location 2021-12-15 17:52:08 -07:00
Jordan Turner
4836617745 made the terminal error more clear based on issue 1920 2021-12-15 17:19:45 -07:00
tyasuh.taeragan@gmail.com
ce0de40e59 Issue 1934 2021-12-15 18:10:29 -05:00
tyasuh.taeragan@gmail.com
61e962ec12 Issue 1911 2021-12-15 17:59:03 -05:00
theit8514
8ef227595a Add support for relative paths in mv
Fixes mv command deleting file on overwrite
2021-12-15 17:46:36 -05:00
theit8514
4e022c68e9 Add support for relative paths in cp
Fix cp error messages
Add support for directory destinations (e.g. copy file.js directory)
2021-12-15 17:36:15 -05:00
Jordan Turner
632e1f70f3 added rs to backricks to color code syntax 2021-12-15 10:25:54 -07:00
Jordan Turner
687682fcbd added syntax useage to github ns page 2021-12-15 10:10:32 -07:00
Jordan Turner
ab24e4865e reverted back to orginal 2021-12-15 08:34:20 -07:00
Jordan Turner
a48d91b4cd added syntax useage to github ns main page 2021-12-15 08:24:05 -07:00
cblte
4991709772 Update gettingstartedguideforbeginnerprogrammers.rst
Updated the scan-analyze 2 output with current values. The server n00dles only has 4GB ram available, so I took him of the list of usable servers to run the script on.
2021-12-15 16:10:10 +01:00
Olivier Gagnon
e3a0caf50f fix killall steam not working 2021-12-14 22:34:09 -05:00
Olivier Gagnon
5b38ee3cfb fix undying script bug 2021-12-14 19:39:55 -05:00
Olivier Gagnon
4d80813707 bugfix 2021-12-14 15:56:11 -05:00
Olivier Gagnon
de9fb24156 Fix scripts dying of weird causes. 2021-12-13 22:26:22 -05:00
Olivier Gagnon
c1e3a170ab Augmentations page shows stats reductions 2021-12-13 20:28:21 -05:00
Olivier Gagnon
e5b4dd8e90 Files should be saved on the server that opened them. 2021-12-13 20:08:58 -05:00
Olivier Gagnon
50bc9496ec fix gym not giving discoutns 2021-12-13 19:46:08 -05:00
Olivier Gagnon
1b42b51e5f few bugfix 2021-12-13 18:44:52 -05:00
Olivier Gagnon
7b8e486e3a fix typo in doc 2021-12-13 15:50:01 -05:00
Olivier Gagnon
aae03982ee Merge branch 'dev' of github.com:danielyxie/bitburner into dev 2021-12-13 14:59:55 -05:00
Olivier Gagnon
72f7e9644c fix doc 2021-12-13 14:59:41 -05:00
hydroflame
e9623340af Merge pull request #1869 from theit8514/scp-async
Await scp multiple script copy
2021-12-13 12:08:25 -05:00
theit8514
3437a0a730 Await scp multiple script copy 2021-12-12 19:50:53 -05:00
Olivier Gagnon
7d6947ee01 fix unknown script die for known reason 2021-12-12 14:57:44 -05:00
Olivier Gagnon
e117548895 fix some stack traces not printing file name 2021-12-12 14:49:02 -05:00
Olivier Gagnon
4460bf1613 fix shortcuts 2021-12-12 14:02:45 -05:00
Olivier Gagnon
11ba8c91be getServer of hacknet doesn't return undefined 2021-12-12 13:47:05 -05:00
Olivier Gagnon
dea8abef1d better error message for bad args 2021-12-12 13:30:28 -05:00
Olivier Gagnon
cdeabfec0e Steam enable debug 2021-12-12 13:25:28 -05:00
Olivier Gagnon
eb77bf352c fullscreen for steam 2021-12-12 12:58:57 -05:00
Olivier Gagnon
c845fb4203 reload n kill on steam 2021-12-12 12:48:42 -05:00
Olivier Gagnon
5f696aba72 Merge branch 'dev' of github.com:danielyxie/bitburner into dev 2021-12-12 12:48:26 -05:00
Olivier Gagnon
69a9448e47 fix typos 2021-12-12 12:46:56 -05:00
hydroflame
5dfd5dc91c Merge pull request #1855 from TealKoi/patch-1
Update bitburner.ns.getweakentime.md
2021-12-12 12:35:09 -05:00
Eric Wright
f2708e6772 Update bitburner.ns.getweakentime.md
There is a reference to the grow function on line 25. Update to reference weaken.
2021-12-11 19:22:18 -06:00
hydroflame
ac3ed65e55 Merge pull request #1851 from DJMatch3000/patch-1
Player Stats ui bugfix
2021-12-10 16:10:19 -05:00
DJMatch3000
445fbd59c7 Player Stats ui bugfix
Fixed a mix-up with Bladeburner stats on the Player Stats page
2021-12-10 15:45:17 -05:00
Olivier Gagnon
172998bef5 boost noodle bar 2021-12-09 16:47:26 -05:00
Olivier Gagnon
2eaa33c9f3 nerf manualHack int gain but differently 2021-12-09 16:30:03 -05:00
Olivier Gagnon
769aad8ead nerf manualHack int gain 2021-12-09 16:26:49 -05:00
Olivier Gagnon
d5e47a7180 regen doc 2021-12-09 12:59:46 -05:00
Olivier Gagnon
394a286646 formulas for ascension 2021-12-09 12:52:51 -05:00
Olivier Gagnon
5e916ee3bd tighten bn13 2021-12-09 10:45:33 -05:00
Olivier Gagnon
7e6a0bbf56 make BN13 harder 2021-12-09 10:15:50 -05:00
Olivier Gagnon
d195b00ab6 Added option to suppress TIX limit/stop orders 2021-12-08 20:21:44 -05:00
Olivier Gagnon
c915cd06d8 corp doc 2021-12-08 20:03:22 -05:00
Olivier Gagnon
14317628e6 formulas doc 2021-12-08 19:19:07 -05:00
Olivier Gagnon
5a15df9ce7 rename the functions I created 2 minutes ago. 2021-12-08 19:03:33 -05:00
Olivier Gagnon
6eba92b36c rename the functions I created 2 minutes ago. 2021-12-08 18:41:49 -05:00
Olivier Gagnon
d64ce5271e fix receiving multiple times the same invite 2021-12-08 18:29:56 -05:00
Olivier Gagnon
ed821617c0 save files are now chronologically named 2021-12-08 18:27:57 -05:00
Olivier Gagnon
35fa4a4117 fix sleeve function not returning cha 2021-12-08 18:27:14 -05:00
Olivier Gagnon
0306397f53 fix buying negative memory 2021-12-08 18:25:49 -05:00
Olivier Gagnon
2af57cb01e formulas for gang stuff 2021-12-08 18:19:30 -05:00
Olivier Gagnon
d01d75606a few bugfix 2021-12-08 17:39:01 -05:00
Olivier Gagnon
133d80749d add bn14 location 2021-12-04 23:47:53 -05:00
Olivier Gagnon
a845c5ac8f rm tail bound 2021-12-04 18:58:26 -05:00
Olivier Gagnon
25aa5d3afe corp api 2021-12-03 23:08:11 -05:00
Olivier Gagnon
737276e855 corp api 2021-12-03 23:06:04 -05:00
hydroflame
ed26228cdc Merge pull request #1820 from cvr-119/text
Typo correction
2021-12-03 16:59:32 -05:00
corver
2f55cd27c5 Fix some Bladeburner typos 2021-12-03 16:45:48 -05:00
corver
83090bfa8c Match descriptions of BN5 and SF5 2021-12-03 16:30:06 -05:00
Olivier Gagnon
f487a0c0e9 loosed hacking nerf 2021-12-03 16:27:49 -05:00
Olivier Gagnon
5470f9fdc1 wd diff increase 2021-12-03 16:21:35 -05:00
281 changed files with 463135 additions and 1240 deletions

View File

@@ -2,12 +2,9 @@ root = true
[*]
indent_style = space
indent_size = 4
indent_size = 2
trim_trailing_whitespace = true
insert_final_newline = true
[package.json]
indent_size = 2
[md]
trim_trailing_whitespace = false

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
width="256"
height="256"
viewBox="0 0 67.733332 67.733335"
version="1.1"
id="svg5"
inkscape:version="1.1.1 (c3084ef, 2021-09-22)"
sodipodi:docname="BN13+.svg"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview7"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:document-units="mm"
showgrid="true"
units="px"
inkscape:zoom="2.326908"
inkscape:cx="86.81048"
inkscape:cy="111.09163"
inkscape:window-width="2423"
inkscape:window-height="1341"
inkscape:window-x="146"
inkscape:window-y="29"
inkscape:window-maximized="0"
inkscape:current-layer="layer1">
<inkscape:grid
type="xygrid"
id="grid824" />
</sodipodi:namedview>
<defs
id="defs2" />
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="background">
<rect
style="fill:#000000;stroke:none;stroke-width:7.02745"
id="rect849"
width="67.73333"
height="67.73333"
x="0"
y="0" />
</g>
<g
inkscape:label="main"
inkscape:groupmode="layer"
id="layer1">
<text
xml:space="preserve"
style="font-weight:bold;font-size:16.0737px;line-height:1.25;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';text-align:center;text-anchor:middle;fill:#00ff00;fill-opacity:1;stroke-width:0.215272"
x="34.276661"
y="40.084541"
id="text8876"><tspan
sodipodi:role="line"
style="text-align:center;text-anchor:middle;fill:#00ff00;fill-opacity:1;stroke-width:0.215272"
x="34.276661"
y="40.084541"
id="tspan20241">BN13+</tspan></text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

795
dist/bitburner.d.ts vendored
View File

@@ -808,9 +808,9 @@ export declare interface CodingContract {
*
* @param filename - Filename of the contract.
* @param host - Host of the server containing the contract. Optional. Defaults to current server if not provided.
* @returns The specified contracts data;
* @returns The specified contracts data, data type depends on contract type.;
*/
getData(filename: string, host?: string): string;
getData(filename: string, host?: string): any;
/**
* Get the number of attempt remaining.
@@ -826,6 +826,80 @@ export declare interface CodingContract {
getNumTriesRemaining(filename: string, host?: string): number;
}
/**
* Corporation API
* @public
*/
export declare interface Corporation extends WarehouseAPI, OfficeAPI {
/**
* Get corporation data
* @returns Corporation data
*/
getCorporation(): CorporationInfo;
/**
* Get division data
* @param divisionName - Name of the division
* @returns Division data
*/
getDivision(divisionName: string): Division;
/**
* Expand to a new industry
* @param industryType - Name of the industry
* @param divisionName - Name of the division
*/
expandIndustry(industryType: string, divisionName: string): void;
/**
* Expand to a new city
* @param divisionName - Name of the division
* @param cityName - Name of the city
*/
expandCity(divisionName: string, cityName: string): void;
/**
* Unlock an upgrade.
* @param upgradeName - Name of the upgrade
*/
unlockUpgrade(upgradeName: string): void;
/**
* Level an upgrade.
* @param upgradeName - Name of the upgrade
*/
levelUpgrade(upgradeName: string): void;
/**
* Issue dividends
* @param percent - Percent of profit to issue as dividends.
*/
issueDividends(percent: number): void;
}
/**
* General info about a corporation
* @public
*/
export declare interface CorporationInfo {
/** Name of the corporation */
name: string;
/** Funds available */
funds: number;
/** Revenue per second this cycle */
revenue: number;
/** Expenses per second this cycle */
expenses: number;
/** Is the company is public */
public: boolean;
/** Total number of shares issues by this corporation */
totalShares: number;
/** Amount of share owned */
numShares: number;
/** Cooldown until shares can be sold again */
shareSaleCooldown: number;
/** Amount of shares issued */
issuedShares: number;
/** Price of the shares */
sharePrice: number;
/** State of the corporation, like PRODUCTION or EXPORT */
state: string;
}
/**
* Data representing the internal values of a crime.
* @public
@@ -873,6 +947,77 @@ export declare interface CrimeStats {
intelligence_exp: number;
}
/**
* Corporation division
* @public
*/
export declare interface Division {
/** Name of the division */
name: string;
/** Type of division, like Aggriculture */
type: string;
/** Awareness of the division */
awareness: number;
/** Popularity of the division */
popularity: number;
/** Production multiplier */
prodMult: number;
/** Amount of research in that division */
research: number;
/** Revenue last cycle */
lastCycleRevenue: number;
/** Expenses last cycle */
lastCycleExpenses: number;
/** Revenue this cycle */
thisCycleRevenue: number;
/** Expenses this cycle */
thisCycleExpenses: number;
/** All research bought */
upgrades: number[];
/** Cities in which this division has expanded */
cities: string[];
}
/**
* Employee in an office
* @public
*/
export declare interface Employee {
/** Name of the employee */
name: string;
/** Morale */
mor: number;
/** Happiness */
hap: number;
/** Energy */
ene: number;
int: number;
cha: number;
exp: number;
cre: number;
eff: number;
/** Salary */
sal: number;
/** City */
loc: string;
/** Current job */
pos: string;
}
/**
* Object representing the number of employee in each job.
* @public
*/
export declare interface EmployeeJobs {
Operations: number;
Engineer: number;
Business: number;
Management: number;
"Research & Development": number;
Training: number;
Unassigned: number;
}
/**
* Object representing data representing a gang member equipment.
* @public
@@ -893,13 +1038,22 @@ export declare interface EquipmentStats {
}
/**
* Formulas API
* @remarks
* You need Formulas.exe on your home computer to use this API.
* @public
*/
export declare interface Formulas {
/** Skills formulas */
skills: SkillsFormulas;
/** Hacking formulas */
hacking: HackingFormulas;
/** Hacknet Nodes formulas */
hacknetNodes: HacknetNodesFormulas;
/** Hacknet Servers formulas */
hacknetServers: HacknetServersFormulas;
/** Gang formulas */
gang: GangFormulas;
}
/**
@@ -1121,6 +1275,18 @@ export declare interface Gang {
*/
ascendMember(memberName: string): GangMemberAscension | undefined;
/**
* Get the result of an ascension without ascending.
* @remarks
* RAM cost: 2 GB
*
* Get the result of an ascension without ascending.
*
* @param memberName - Name of member.
* @returns Object with info about the ascension results. undefined if ascension is impossible.
*/
getAscensionResult(memberName: string): GangMemberAscension | undefined;
/**
* Enable/Disable territory warfare.
* @remarks
@@ -1160,6 +1326,57 @@ export declare interface Gang {
getBonusTime(): number;
}
/**
* Gang formulas
* @public
*/
export declare interface GangFormulas {
/**
* Calculate the wanted penalty.
* @param gang - Gang info from {@link Gang.getGangInformation | getGangInformation}
* @returns The calculated wanted penalty.
*/
wantedPenalty(gang: GangGenInfo): number;
/**
* Calculate respect gain per tick.
* @param gang - Gang info from {@link Gang.getGangInformation | getGangInformation}
* @param member - Gang info from {@link Gang.getMemberInformation | getMemberInformation}
* @param task - Gang info from {@link Gang.getTaskStats | getTaskStats}
* @returns The calculated respect gain.
*/
respectGain(gang: GangGenInfo, member: GangMemberInfo, task: GangTaskStats): number;
/**
* Calculate wanted gain per tick.
* @param gang - Gang info from {@link Gang.getGangInformation | getGangInformation}
* @param member - Member info from {@link Gang.getMemberInformation | getMemberInformation}
* @param task - Task info from {@link Gang.getTaskStats | getTaskStats}
* @returns The calculated wanted gain.
*/
wantedLevelGain(gang: GangGenInfo, member: GangMemberInfo, task: GangTaskStats): number;
/**
* Calculate money gain per tick.
* @param gang - Gang info from {@link Gang.getGangInformation | getGangInformation}
* @param member - Member info from {@link Gang.getMemberInformation | getMemberInformation}
* @param task - Task info from {@link Gang.getTaskStats | getTaskStats}
* @returns The calculated money gain.
*/
moneyGain(gang: GangGenInfo, member: GangMemberInfo, task: GangTaskStats): number;
/**
* Calculate ascension point gain.
* @param exp - Experience point before ascension.
* @returns The calculated ascension point gain.
*/
ascensionPointsGain(exp: number): number;
/**
* Calculate ascension mult.
* @param points - Amount of ascension points.
* @returns The calculated ascension mult.
*/
ascensionMultiplier(points: number): number;
}
/**
* Gang general info.
* @public
@@ -1169,24 +1386,26 @@ export declare interface GangGenInfo {
faction: string;
/** Boolean indicating whether or not its a hacking gang */
isHacking: boolean;
/** Money earned per second */
/** Money earned per game cycle */
moneyGainRate: number;
/** Gang's power for territory warfare */
power: number;
/** Gang's respect */
respect: number;
/** Respect earned per second */
/** Respect earned per game cycle */
respectGainRate: number;
/** Amount of territory held. Returned in decimal form, not percentage */
/** Amount of territory held. */
territory: number;
/** Clash chance. Returned in decimal form, not percentage */
/** Clash chance. */
territoryClashChance: number;
/** Gang's wanted level */
wantedLevel: number;
/** Wanted level gained/lost per second (negative for losses) */
/** Wanted level gained/lost per game cycle (negative for losses) */
wantedLevelGainRate: number;
/** Boolean indicating if territory warfare is enabled. */
territoryWarfareEngaged: boolean;
/** Number indicating the current wanted penalty. */
wantedPenalty: number;
}
/**
@@ -1253,6 +1472,10 @@ export declare interface GangMemberInfo {
upgrades: string[];
augmentations: string[];
respectGain: number;
wantedLevelGain: number;
moneyGain: number;
}
/**
@@ -1328,16 +1551,65 @@ export declare interface GangTerritory {
}
/**
* Hacking formulas
* @public
*/
export declare interface HackingFormulas {
hackChance(server: number, player: number): number;
hackExp(server: number, player: number): number;
hackPercent(server: number, player: number): number;
growPercent(server: number, threads: number, player: number, cores?: number): number;
hackTime(server: number, player: number): number;
growTime(server: number, player: number): number;
weakenTime(server: number, player: number): number;
/**
* Calculate hack chance.
* @param server - Server info from {@link NS.getServer | getServer}
* @param player - Player info from {@link NS.getPlayer | getPlayer}
* @returns The calculated hack chance.
*/
hackChance(server: Server, player: Player): number;
/**
* Calculate hack exp for one thread.
* @remarks
* Multiply by thread to get total exp
* @param server - Server info from {@link NS.getServer | getServer}
* @param player - Player info from {@link NS.getPlayer | getPlayer}
* @returns The calculated hack exp.
*/
hackExp(server: Server, player: Player): number;
/**
* Calculate hack percent for one thread.
* @remarks
* Multiply by thread to get total percent hacked.
* @param server - Server info from {@link NS.getServer | getServer}
* @param player - Player info from {@link NS.getPlayer | getPlayer}
* @returns The calculated hack percent.
*/
hackPercent(server: Server, player: Player): number;
/**
* Calculate the percent a server would grow.
* @param server - Server info from {@link NS.getServer | getServer}
* @param threads - Amount of thread.
* @param player - Player info from {@link NS.getPlayer | getPlayer}
* @param cores - Number of cores on the computer that will execute grow.
* @returns The calculated grow percent.
*/
growPercent(server: Server, threads: number, player: Player, cores?: number): number;
/**
* Calculate hack time.
* @param server - Server info from {@link NS.getServer | getServer}
* @param player - Player info from {@link NS.getPlayer | getPlayer}
* @returns The calculated hack time.
*/
hackTime(server: Server, player: Player): number;
/**
* Calculate grow time.
* @param server - Server info from {@link NS.getServer | getServer}
* @param player - Player info from {@link NS.getPlayer | getPlayer}
* @returns The calculated grow time.
*/
growTime(server: Server, player: Player): number;
/**
* Calculate weaken time.
* @param server - Server info from {@link NS.getServer | getServer}
* @param player - Player info from {@link NS.getPlayer | getPlayer}
* @returns The calculated weaken time.
*/
weakenTime(server: Server, player: Player): number;
}
/**
@@ -1691,31 +1963,137 @@ export declare interface HacknetMultipliers {
}
/**
* Hacknet Node formulas
* @public
*/
export declare interface HacknetNodesFormulas {
/**
* Calculate money gain rate.
* @param level - level of the node.
* @param ram - ram of the node.
* @param cores - cores of the node.
* @param mult - player production mult (default to 1)
* @returns The calculated money gain rate.
*/
moneyGainRate(level: number, ram: number, cores: number, mult?: number): number;
/**
* Calculate cost of upgrading hacknet node level.
* @param startingLevel - starting level
* @param extraLevels - amount of level to purchase (defaults to 1)
* @param costMult - player cost reduction (default to 1)
* @returns The calculated cost.
*/
levelUpgradeCost(startingLevel: number, extraLevels?: number, costMult?: number): number;
/**
* Calculate cost of upgrading hacknet node ram.
* @param startingRam - starting ram
* @param extraLevels - amount of level of ram to purchase (defaults to 1)
* @param costMult - player cost reduction (default to 1)
* @returns The calculated cost.
*/
ramUpgradeCost(startingRam: number, extraLevels?: number, costMult?: number): number;
/**
* Calculate cost of upgrading hacknet node cores.
* @param startingCore - starting cores
* @param extraCores - amount of cores to purchase (defaults to 1)
* @param costMult - player cost reduction (default to 1)
* @returns The calculated cost.
*/
coreUpgradeCost(startingCore: number, extraCores?: number, costMult?: number): number;
/**
* Calculate the cost of a hacknet node.
* @param n - number of the hacknet node
* @param mult - player cost reduction (defaults to 1)
* @returns The calculated cost.
*/
hacknetNodeCost(n: number, mult: number): number;
/**
* All constants used by the game.
* @returns An object with all hacknet node constants used by the game.
*/
constants(): number;
}
/**
* Hacknet Server formulas
* @public
*/
export declare interface HacknetServersFormulas {
/**
* Calculate hash gain rate.
* @param level - level of the server.
* @param ramUsed - ramUsed of the server.
* @param maxRam - maxRam of the server.
* @param cores - cores of the server.
* @param mult - player production mult (default to 1)
* @returns The calculated hash gain rate.
*/
hashGainRate(level: number, ramUsed: number, maxRam: number, cores: number, mult?: number): number;
/**
* Calculate cost of upgrading hacknet server level.
* @param startingLevel - starting level
* @param extraLevels - amount of level to purchase (defaults to 1)
* @param costMult - player cost reduction (default to 1)
* @returns The calculated cost.
*/
levelUpgradeCost(startingLevel: number, extraLevels?: number, costMult?: number): number;
/**
* Calculate cost of upgrading hacknet server ram.
* @param startingRam - starting ram
* @param extraLevels - amount of level of ram to purchase (defaults to 1)
* @param costMult - player cost reduction (default to 1)
* @returns The calculated cost.
*/
ramUpgradeCost(startingRam: number, extraLevels?: number, costMult?: number): number;
/**
* Calculate cost of upgrading hacknet server cores.
* @param startingCore - starting cores
* @param extraCores - amount of cores to purchase (defaults to 1)
* @param costMult - player cost reduction (default to 1)
* @returns The calculated cost.
*/
coreUpgradeCost(startingCore: number, extraCores?: number, costMult?: number): number;
/**
* Calculate cost of upgrading hacknet server cache.
* @param startingCache - starting cache level
* @param extraCache - amount of levels of cache to purchase (defaults to 1)
* @returns The calculated cost.
*/
cacheUpgradeCost(startingCache: number, extraCache?: number): number;
/**
* Calculate hash cost of an upgrade.
* @param upgName - name of the upgrade
* @param level - level of the upgrade
* @returns The calculated hash cost.
*/
hashUpgradeCost(upgName: number, level: number): number;
hacknetServerCost(n: number, mult: number): number;
/**
* Calculate the cost of a hacknet server.
* @param n - number of the hacknet server
* @param mult - player cost reduction (defaults to 1)
* @returns The calculated cost.
*/
hacknetServerCost(n: number, mult?: number): number;
/**
* All constants used by the game.
* @returns An object with all hacknet server constants used by the game.
*/
constants(): any;
}
/**
* Material in a warehouse
* @public
*/
export declare interface Material {
/** Name of the material */
name: string;
/** Amount of material */
qty: number;
/** Quality of the material */
qlt: number;
}
/**
* Object representing all the values related to a hacknet node.
* @public
@@ -1746,6 +2124,29 @@ export declare interface NodeStats {
/**
* Collection of all functions passed to scripts
* @public
* @remarks
* <b>Basic ns1 usage example:</b>
* ```ts
* // Basic ns functions can be used directly
* getHostname();
* // Some related functions are gathered within a common namespace
* stock.getPrice();
* ```
* {@link https://bitburner.readthedocs.io/en/latest/netscript/netscript1.html| ns1 in-game docs}
* <hr>
* <b>Basic ns2 usage example:</b>
* ```ts
* export async function main(ns) {
* // Basic ns functions can be accessed on the ns object
* ns.getHostname();
* // Some related functions are gathered under a sub-property of the ns object
* ns.stock.getPrice();
* // Some functions need to be await ed
* await ns.hack('n00dles');
* }
* ```
* {@link https://bitburner.readthedocs.io/en/latest/netscript/netscriptjs.html| ns2 in-game docs}
* <hr>
*/
export declare interface NS extends Singularity {
/**
@@ -1784,7 +2185,6 @@ export declare interface NS extends Singularity {
* RAM cost: 0 GB
*/
readonly stock: TIX;
/**
*
* Namespace for formulas functions.
@@ -1797,6 +2197,11 @@ export declare interface NS extends Singularity {
* RAM cost: 0 GB
*/
readonly stanek: Stanek;
/**
* Namespace for corporation functions.
* RAM cost: 0 GB
*/
readonly corporation: Corporation;
/**
* Arguments passed into the script.
@@ -1810,7 +2215,7 @@ export declare interface NS extends Singularity {
* It is also possible to get the number of arguments that was passed into a script using: 'args.length'
* WARNING: Do not try to modify the args array. This will break the game.
*/
readonly args: (string | number)[];
readonly args: (string | number | boolean)[];
/**
* Steal a servers money.
@@ -1939,9 +2344,9 @@ export declare interface NS extends Singularity {
*
* @example
* ```ts
* //For example, assume the following returns 1:
* //For example, assume the following returns 0.01:
* hackAnalyze("foodnstuff");
* //This means that if hack the foodnstuff server, then you will steal 1% of its total money. If you hack using N threads, then you will steal N% of its total money.
* //This means that if hack the foodnstuff server, then you will steal 1% of its total money. If you hack using N threads, then you will steal N*0.01 times its total money.
* ```
* @param host - Hostname of the target server.
* @returns The percentage of money you will steal from the target server with a single hack.
@@ -2177,15 +2582,14 @@ export declare interface NS extends Singularity {
* @remarks
* RAM cost: 0.2 GB
*
* Returns an array containing the hostnames or IPs of all servers that are one
* node way from the specified target server. The hostnames/IPs in the returned
* Returns an array containing the hostnames of all servers that are one
* node way from the specified target server. The hostnames in the returned
* array are strings.
*
* @param host - Hostname of the server to scan.
* @param hostnames - Optional boolean specifying whether the function should output hostnames (if true) or IP addresses (if false).
* @returns Returns an string of hostnames or IP.
* @returns Returns an string of hostnames.
*/
scan(host: string, hostnames?: boolean): string[];
scan(host?: string): string[];
/**
* Runs NUKE.exe on a server.
@@ -2619,7 +3023,7 @@ export declare interface NS extends Singularity {
* RAM cost: 0.1 GB
*
* Returns the servers instrinsic “growth parameter”. This growth
* parameter is a number between 1 and 100 that represents how
* parameter is a number between 0 and 100 that represents how
* quickly the servers money grows. This parameter affects the
* percentage by which the servers money is increased when using the
* grow function. A higher growth parameter will result in a
@@ -2877,13 +3281,12 @@ export declare interface NS extends Singularity {
deleteServer(host: string): boolean;
/**
* Returns an array with either the hostnames or IPs of all of the servers you have purchased.
* Returns an array with the hostnames of all of the servers you have purchased.
*
* @remarks 2.25 GB
* @param hostnameMode - Optional. Defaults to true. Returns hostnames if true, and IPs if false.
* @returns Returns an array with either the hostnames or IPs of all of the servers you have purchased.
* @returns Returns an array with the hostnames of all of the servers you have purchased.
*/
getPurchasedServers(hostnameMode?: boolean): string[];
getPurchasedServers(): string[];
/**
* Returns the maximum number of servers you can purchase.
@@ -3406,6 +3809,104 @@ export declare interface NS extends Singularity {
flags(schema: [string, string | number | boolean | string[]][]): any;
}
/**
* Office for a division in a city.
* @public
*/
export declare interface Office {
/** City of the office */
loc: string;
/** Maximum number of employee */
size: number;
/** Minimum amount of energy of the employees */
minEne: number;
/** Maximum amount of energy of the employees */
maxEne: number;
/** Minimum happiness of the employees */
minHap: number;
/** Maximum happiness of the employees */
maxHap: number;
/** Maximum morale of the employees */
maxMor: number;
/** Name of all the employees */
employees: string[];
/** Positions of the employees */
employeeProd: EmployeeJobs;
}
/**
* Corporation Office API
* @remarks
* Requires the Office API upgrade from your corporation.
* @public
*/
export declare interface OfficeAPI {
/**
* Assign an employee to a job.
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param employeeName - name of the employee
* @param job - Name of the job.
* @returns A promise that is fulfilled when the assignment is complete.
*/
assignJob(divisionName: string, cityName: string, employeeName: string, job: string): Promise<void>;
/**
* Assign an employee to a job.
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @returns The newly hired employee, if any
*/
hireEmployee(divisionName: string, cityName: string): Employee | undefined;
/**
* Upgrade office size.
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param size - Amount of positions to open
*/
upgradeOfficeSize(divisionName: string, cityName: string, size: number): void;
/**
* Assign an employee to a job.
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param costPerEmployee - Amount to spend per employee.
* @returns Amount of happiness increased.
*/
throwParty(divisionName: string, cityName: string, costPerEmployee: number): Promise<number>;
/**
* Buy coffee for your employees
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @returns A promise that is fulfilled when the coffee is served.
*/
buyCoffee(divisionName: string, cityName: string): Promise<void>;
/**
* Hire AdVert.
* @param divisionName - Name of the division
*/
hireAdVert(divisionName: string): void;
/**
* Hire AdVert.
* @param divisionName - Name of the division
* @param researchName - Name of the research
*/
research(divisionName: string, researchName: string): void;
/**
* Get data about an office
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @returns Office data
*/
getOffice(divisionName: string, cityName: string): Office;
/**
* Get data about an employee
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param employeeName - Name of the employee
* @returns Employee data
*/
getEmployee(divisionName: string, cityName: string, employeeName: string): Employee;
}
/**
* @public
*/
@@ -3532,6 +4033,23 @@ export declare interface ProcessInfo {
args: string[];
}
/**
* Product in a warehouse
* @public
*/
export declare interface Product {
/** Name of the product */
name: string;
/** Demand for the product */
dmd: number;
/** Competition for the product */
cmp: number;
/** Production cost */
pCost: number;
/** Sell cost, can be "MP+5" */
sCost: string | number;
}
/**
* @public
*/
@@ -4349,14 +4867,46 @@ export declare interface Singularity {
* @returns True if the installation was successful.
*/
installBackdoor(): Promise<void>;
/**
* SF4.2 - Check if the player is focused.
* @remarks
* RAM cost: 0.1 GB
*
*
* @returns True if the player is focused.
*/
isFocused(): boolean;
/**
* SF4.2 - Set the players focus.
* @remarks
* RAM cost: 0.1 GB
*
* @returns True if the focus was changed.
*/
setFocus(focus: boolean): boolean;
}
/**
* Skills formulas
* @public
*/
export declare interface SkillsFormulas {
calculateSkill(exp: number, mult?: number): number;
calculateExp(skill: number, mult?: number): number;
/**
* Calculate skill level.
* @param exp - experience for that skill
* @param skillMult - Multiplier for that skill, defaults to 1.
* @returns The calculated skill level.
*/
calculateSkill(exp: number, skillMult?: number): number;
/**
* Calculate exp for skill level.
* @param skill - target skill level
* @param skillMult - Multiplier for that skill, defaults to 1.
* @returns The calculated exp required.
*/
calculateExp(skill: number, skillMult?: number): number;
}
/**
@@ -5134,4 +5684,187 @@ export declare interface TIX {
purchase4SMarketDataTixApi(): boolean;
}
/**
* Warehouse for a division in a city
* @public
*/
export declare interface Warehouse {
/** Amount of size upgrade bought */
level: number;
/** City in which the warehouse is located */
loc: string;
/** Total space in the warehouse */
size: number;
/** Used space in the warehouse */
sizeUsed: number;
}
/**
* Corporation Warehouse API
* @remarks
* Requires the Warehouse API upgrade from your corporation.
* @public
*/
export declare interface WarehouseAPI {
/**
* Set material sell data.
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param materialName - Name of the material
* @param amt - Amount to sell, can be "MAX"
* @param price - Price to sell, can be "MP"
*/
sellMaterial(divisionName: string, cityName: string, materialName: string, amt: string, price: string): void;
/**
* Set product sell data.
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param productName - Name of the product
* @param amt - Amount to sell, can be "MAX"
* @param price - Price to sell, can be "MP"
* @param all - Sell in all city
*/
sellProduct(
divisionName: string,
cityName: string,
productName: string,
amt: string,
price: string,
all: boolean,
): void;
/**
* Discontinue a product.
* @param divisionName - Name of the division
* @param productName - Name of the product
*/
discontinueProduct(divisionName: string, productName: string): void;
/**
* Set smart supply
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param enabled - smart supply enabled
*/
setSmartSupply(divisionName: string, cityName: string, enabled: boolean): void;
/**
* Set material buy data
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param materialName - Name of the material
* @param amt - Amount of material to buy
*/
buyMaterial(divisionName: string, cityName: string, materialName: string, amt: number): void;
/**
* Get warehouse data
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @returns warehouse data
*/
getWarehouse(divisionName: string, cityName: string): Warehouse;
/**
* Get product data
* @param divisionName - Name of the division
* @param productName - Name of the product
* @returns product data
*/
getProduct(divisionName: string, productName: string): Product;
/**
* Get material data
* @param divisionName - Name of the division
* @param materialName - Name of the material
* @returns material data
*/
getMaterial(divisionName: string, cityName: string, materialName: string): Material;
/**
* Set market TA 1 for a material.
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param materialName - Name of the material
* @param on - market ta enabled
*/
setMaterialMarketTA1(divisionName: string, cityName: string, materialName: string, on: boolean): void;
/**
* Set market TA 2 for a material.
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param materialName - Name of the material
* @param on - market ta enabled
*/
setMaterialMarketTA2(divisionName: string, cityName: string, materialName: string, on: boolean): void;
/**
* Set market TA 1 for a product.
* @param divisionName - Name of the division
* @param productName - Name of the product
* @param on - market ta enabled
*/
setProductMarketTA1(divisionName: string, productName: string, on: boolean): void;
/**
* Set market TA 2 for a product.
* @param divisionName - Name of the division
* @param productName - Name of the product
* @param on - market ta enabled
*/
setProductMarketTA2(divisionName: string, productName: string, on: boolean): void;
/**
* Set material export data
* @param sourceDivision - Source division
* @param sourceCity - Source city
* @param targetDivision - Target division
* @param targetCity - Target city
* @param materialName - Name of the material
* @param amt - Amount of material to export.
*/
exportMaterial(
sourceDivision: string,
sourceCity: string,
targetDivision: string,
targetCity: string,
materialName: string,
amt: number,
): void;
/**
* Cancel material export
* @param sourceDivision - Source division
* @param sourceCity - Source city
* @param targetDivision - Target division
* @param targetCity - Target city
* @param materialName - Name of the material
* @param amt - Amount of material to export.
*/
cancelExportMaterial(
sourceDivision: string,
sourceCity: string,
targetDivision: string,
targetCity: string,
materialName: string,
amt: number,
): void;
/**
* Purchase warehouse for a new city
* @param divisionName - Name of the division
* @param cityName - Name of the city
*/
purchaseWarehouse(divisionName: string, cityName: string): void;
/**
* Upgrade warehouse
* @param divisionName - Name of the division
* @param cityName - Name of the city
*/
upgradeWarehouse(divisionName: string, cityName: string): void;
/**
* Create a new product
* @param divisionName - Name of the division
* @param cityName - Name of the city
* @param productName - Name of the product
* @param designInvest - Amount to invest for the design of the product.
* @param marketingInvest - Amount to invest for the marketing of the product.
*/
makeProduct(
divisionName: string,
cityName: string,
productName: string,
designInvest: number,
marketingInvest: number,
): void;
}
export { }

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,415 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
define('vs/basic-languages/typescript/typescript',["require", "exports", "../fillers/monaco-editor-core"], function (require, exports, monaco_editor_core_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.language = exports.conf = void 0;
exports.conf = {
wordPattern: /(-?\d*\.\d\w*)|([^\`\~\!\@\#\%\^\&\*\(\)\-\=\+\[\{\]\}\\\|\;\:\'\"\,\.\<\>\/\?\s]+)/g,
comments: {
lineComment: '//',
blockComment: ['/*', '*/']
},
brackets: [
['{', '}'],
['[', ']'],
['(', ')']
],
onEnterRules: [
{
// e.g. /** | */
beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,
afterText: /^\s*\*\/$/,
action: {
indentAction: monaco_editor_core_1.languages.IndentAction.IndentOutdent,
appendText: ' * '
}
},
{
// e.g. /** ...|
beforeText: /^\s*\/\*\*(?!\/)([^\*]|\*(?!\/))*$/,
action: {
indentAction: monaco_editor_core_1.languages.IndentAction.None,
appendText: ' * '
}
},
{
// e.g. * ...|
beforeText: /^(\t|(\ \ ))*\ \*(\ ([^\*]|\*(?!\/))*)?$/,
action: {
indentAction: monaco_editor_core_1.languages.IndentAction.None,
appendText: '* '
}
},
{
// e.g. */|
beforeText: /^(\t|(\ \ ))*\ \*\/\s*$/,
action: {
indentAction: monaco_editor_core_1.languages.IndentAction.None,
removeText: 1
}
}
],
autoClosingPairs: [
{ open: '{', close: '}' },
{ open: '[', close: ']' },
{ open: '(', close: ')' },
{ open: '"', close: '"', notIn: ['string'] },
{ open: "'", close: "'", notIn: ['string', 'comment'] },
{ open: '`', close: '`', notIn: ['string', 'comment'] },
{ open: '/**', close: ' */', notIn: ['string'] }
],
folding: {
markers: {
start: new RegExp('^\\s*//\\s*#?region\\b'),
end: new RegExp('^\\s*//\\s*#?endregion\\b')
}
}
};
exports.language = {
// Set defaultToken to invalid to see what you do not tokenize yet
defaultToken: 'invalid',
tokenPostfix: '.ts',
keywords: [
// Should match the keys of textToKeywordObj in
// https://github.com/microsoft/TypeScript/blob/master/src/compiler/scanner.ts
'abstract',
'any',
'as',
'asserts',
'bigint',
'boolean',
'break',
'case',
'catch',
'class',
'continue',
'const',
'constructor',
'debugger',
'declare',
'default',
'delete',
'do',
'else',
'enum',
'export',
'extends',
'false',
'finally',
'for',
'from',
'function',
'get',
'if',
'implements',
'import',
'in',
'infer',
'instanceof',
'interface',
'is',
'keyof',
'let',
'module',
'namespace',
'never',
'new',
'null',
'number',
'object',
'package',
'private',
'protected',
'public',
'override',
'readonly',
'require',
'global',
'return',
'set',
'static',
'string',
'super',
'switch',
'symbol',
'this',
'throw',
'true',
'try',
'type',
'typeof',
'undefined',
'unique',
'unknown',
'var',
'void',
'while',
'with',
'yield',
'async',
'await',
'of'
],
operators: [
'<=',
'>=',
'==',
'!=',
'===',
'!==',
'=>',
'+',
'-',
'**',
'*',
'/',
'%',
'++',
'--',
'<<',
'</',
'>>',
'>>>',
'&',
'|',
'^',
'!',
'~',
'&&',
'||',
'??',
'?',
':',
'=',
'+=',
'-=',
'*=',
'**=',
'/=',
'%=',
'<<=',
'>>=',
'>>>=',
'&=',
'|=',
'^=',
'@'
],
// we include these common regular expressions
symbols: /[=><!~?:&|+\-*\/\^%]+/,
escapes: /\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,
digits: /\d+(_+\d+)*/,
octaldigits: /[0-7]+(_+[0-7]+)*/,
binarydigits: /[0-1]+(_+[0-1]+)*/,
hexdigits: /[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,
regexpctl: /[(){}\[\]\$\^|\-*+?\.]/,
regexpesc: /\\(?:[bBdDfnrstvwWn0\\\/]|@regexpctl|c[A-Z]|x[0-9a-fA-F]{2}|u[0-9a-fA-F]{4})/,
// The main tokenizer for our languages
tokenizer: {
root: [[/[{}]/, 'delimiter.bracket'], { include: 'common' }],
common: [
// identifiers and keywords
[
/[a-z_$][\w$]*/,
{
cases: {
'@keywords': 'keyword',
'@default': 'identifier'
}
}
],
[/[A-Z][\w\$]*/, 'type.identifier'],
// [/[A-Z][\w\$]*/, 'identifier'],
// whitespace
{ include: '@whitespace' },
// regular expression: ensure it is terminated before beginning (otherwise it is an opeator)
[
/\/(?=([^\\\/]|\\.)+\/([dgimsuy]*)(\s*)(\.|;|,|\)|\]|\}|$))/,
{ token: 'regexp', bracket: '@open', next: '@regexp' }
],
// delimiters and operators
[/[()\[\]]/, '@brackets'],
[/[<>](?!@symbols)/, '@brackets'],
[/!(?=([^=]|$))/, 'delimiter'],
[
/@symbols/,
{
cases: {
'@operators': 'delimiter',
'@default': ''
}
}
],
// numbers
[/(@digits)[eE]([\-+]?(@digits))?/, 'number.float'],
[/(@digits)\.(@digits)([eE][\-+]?(@digits))?/, 'number.float'],
[/0[xX](@hexdigits)n?/, 'number.hex'],
[/0[oO]?(@octaldigits)n?/, 'number.octal'],
[/0[bB](@binarydigits)n?/, 'number.binary'],
[/(@digits)n?/, 'number'],
// delimiter: after number because of .\d floats
[/[;,.]/, 'delimiter'],
// strings
[/"([^"\\]|\\.)*$/, 'string.invalid'],
[/'([^'\\]|\\.)*$/, 'string.invalid'],
[/"/, 'string', '@string_double'],
[/'/, 'string', '@string_single'],
[/`/, 'string', '@string_backtick']
],
whitespace: [
[/[ \t\r\n]+/, ''],
[/\/\*\*(?!\/)/, 'comment.doc', '@jsdoc'],
[/\/\*/, 'comment', '@comment'],
[/\/\/.*$/, 'comment']
],
comment: [
[/[^\/*]+/, 'comment'],
[/\*\//, 'comment', '@pop'],
[/[\/*]/, 'comment']
],
jsdoc: [
[/[^\/*]+/, 'comment.doc'],
[/\*\//, 'comment.doc', '@pop'],
[/[\/*]/, 'comment.doc']
],
// We match regular expression quite precisely
regexp: [
[
/(\{)(\d+(?:,\d*)?)(\})/,
['regexp.escape.control', 'regexp.escape.control', 'regexp.escape.control']
],
[
/(\[)(\^?)(?=(?:[^\]\\\/]|\\.)+)/,
['regexp.escape.control', { token: 'regexp.escape.control', next: '@regexrange' }]
],
[/(\()(\?:|\?=|\?!)/, ['regexp.escape.control', 'regexp.escape.control']],
[/[()]/, 'regexp.escape.control'],
[/@regexpctl/, 'regexp.escape.control'],
[/[^\\\/]/, 'regexp'],
[/@regexpesc/, 'regexp.escape'],
[/\\\./, 'regexp.invalid'],
[
/(\/)([dgimsuy]*)/,
[{ token: 'regexp', bracket: '@close', next: '@pop' }, 'keyword.other']
]
],
regexrange: [
[/-/, 'regexp.escape.control'],
[/\^/, 'regexp.invalid'],
[/@regexpesc/, 'regexp.escape'],
[/[^\]]/, 'regexp'],
[
/\]/,
{
token: 'regexp.escape.control',
next: '@pop',
bracket: '@close'
}
]
],
string_double: [
[/[^\\"]+/, 'string'],
[/@escapes/, 'string.escape'],
[/\\./, 'string.escape.invalid'],
[/"/, 'string', '@pop']
],
string_single: [
[/[^\\']+/, 'string'],
[/@escapes/, 'string.escape'],
[/\\./, 'string.escape.invalid'],
[/'/, 'string', '@pop']
],
string_backtick: [
[/\$\{/, { token: 'delimiter.bracket', next: '@bracketCounting' }],
[/[^\\`$]+/, 'string'],
[/@escapes/, 'string.escape'],
[/\\./, 'string.escape.invalid'],
[/`/, 'string', '@pop']
],
bracketCounting: [
[/\{/, 'delimiter.bracket', '@bracketCounting'],
[/\}/, 'delimiter.bracket', '@pop'],
{ include: 'common' }
]
}
};
});
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
define('vs/basic-languages/javascript/javascript',["require", "exports", "../typescript/typescript"], function (require, exports, typescript_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.language = exports.conf = void 0;
exports.conf = typescript_1.conf;
exports.language = {
// Set defaultToken to invalid to see what you do not tokenize yet
defaultToken: 'invalid',
tokenPostfix: '.js',
keywords: [
'break',
'case',
'catch',
'class',
'continue',
'const',
'constructor',
'debugger',
'default',
'delete',
'do',
'else',
'export',
'extends',
'false',
'finally',
'for',
'from',
'function',
'get',
'if',
'import',
'in',
'instanceof',
'let',
'new',
'null',
'return',
'set',
'super',
'switch',
'symbol',
'this',
'throw',
'true',
'try',
'typeof',
'undefined',
'var',
'void',
'while',
'with',
'yield',
'async',
'await',
'of'
],
typeKeywords: [],
operators: typescript_1.language.operators,
symbols: typescript_1.language.symbols,
escapes: typescript_1.language.escapes,
digits: typescript_1.language.digits,
octaldigits: typescript_1.language.octaldigits,
binarydigits: typescript_1.language.binarydigits,
hexdigits: typescript_1.language.hexdigits,
regexpctl: typescript_1.language.regexpctl,
regexpesc: typescript_1.language.regexpesc,
tokenizer: typescript_1.language.tokenizer
};
});

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

1911
dist/ext/monaco-editor/min/vs/loader.js vendored Normal file

File diff suppressed because it is too large Load Diff

136
dist/vendor.bundle.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -4,7 +4,7 @@
Source-Files
============
Source-Files are a type of persistent upgrade that are more powerful than Augmentations.
Source-Files are a type of persistent upgrade that is more powerful than Augmentations.
Source-Files are received by destroying a BitNode. There are many different BitNodes
in the game and each BitNode will grant a different Source-File when it is destroyed.
@@ -15,19 +15,19 @@ of level 3.
List of all Source-Files
^^^^^^^^^^^^^^^^^^^^^^^^
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|| BitNode-1: Source Genesis || * Lets the player start with 32 GB of RAM on home computer. |
|| BitNode-1: Source Genesis || * Let the player start with 32 GB of RAM on the home computer. |
|| || * Increases all of the player's multipliers by 16%/24%/28%. |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|| BitNode-2: Rise of the Underworld || * Lets the player create Gangs in other BitNodes (although some |
|| BitNode-2: Rise of the Underworld || * Let the player create Gangs in other BitNodes (although some |
|| || BitNodes will disable this mechanic). |
|| || * Increases the player's crime success rate, crime money, and |
|| || charisma multipliers by 24%/36%/42%. |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|| BitNode-3: Corporatocracy || * Lets the player create Corporations in other BitNodes (although some |
|| BitNode-3: Corporatocracy || * Let the player create Corporations in other BitNodes (although some |
|| || BitNodes will disable this mechanic). |
|| || * Increases the player's charisma and company salary multipliers by 8%/12%/14%. |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|| BitNode-4: The Singularity || * Lets the player access and use Netscript Singularity Functions in other BitNodes. |
|| BitNode-4: The Singularity || * Let the player access and use Netscript Singularity Functions in other BitNodes. |
|| || * Each level of this Source-File opens up more of the Singularity Functions to use. |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|| BitNode-5: Artificial Intelligence || * Unlocks :ref:`gameplay_intelligence`. |
@@ -47,7 +47,7 @@ List of all Source-Files
|| || * Level 3 grants permanent access to use limit/stop orders. |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|| BitNode-9: Hacktocracy || * Level 1 permanently unlocks the Hacknet Server in other BitNodes. |
|| || * Level 2 lets the player start with 128 GB of RAM on home computer. |
|| || * Level 2 lets the player start with 128 GB of RAM on the home computer. |
|| || * Level 3 grants a highly-upgraded Hacknet Server when entering a new BitNode (it |
|| || will be lost after installing augments). |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
@@ -60,6 +60,6 @@ List of all Source-Files
|| || 32%/48%/56%. |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
|| BitNode-12: The Recursion || * There is no maximum level for this Source-File. |
|| || * Lets the player start with Neuroflux Governor equal to the level of this |
|| || * Let the player start with Neuroflux Governor equal to the level of this |
|| || Source-File. |
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
+-------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

View File

@@ -3,8 +3,107 @@
Changelog
=========
v1.1.0 - 2021-12-18 You guys are awesome (community because they're god damn awesome)
-------------------------------------------------------------------------------------
** Script Editor **
* The text editor can open several files at once. (@Rez855 / @Shadow72)
It's not perfect so keep the feedback coming.
** Steam **
* Windows has a new launch option that lets player start with killing all their scripts
This is a safety net in case all the other safety nets fail.
* Linux has several launch options that use different flags for different OS.
* Debug and Fullscreen are available in the window utility bar.
* Tried (and maybe failed) to make the game completely kill itself after closing.
This one I still don't know wtf is going.
* No longer has background throttling.
* Default color should be pitch black when loading
* Add BN13: Challenge achievement.
** Tutorial **
* I watched someone play bitburner on youtube and reworked part of
the tutorial to try to make some parts of the game clearer.
https://www.youtube.com/watch?v=-_JETXff4Zo
* Add option to restart tutorial.
** Netscript **
* getGangInformation returns more information.
* getAscensionResult added
* getMemberInformation returns more info
* Formulas API has new functions for gang.
* Added documentation for corp API.
* exec has clearer error message when you send invalid data.
* getServer returns all defined field for hacknet servers.
* Fix a bug with scp multiple files (@theit8514)
* Stack traces should be smarter at replacing blobs with filenames
* Fix a weird error message that would occur when throwing raw strings.
* Fix shortcuts not working.
* Re-added setFocus and isFocused (@theit8514)
* new function getHashUpgrades (@MartinFournier)
* enableLog accepts "ALL" like disableLog (@wynro)
* toast() doesn't crash on invalid data (@ivanjermakov)
* alert() doesn't crash on invalid data (@Siern)
* Fixed an issue where scripts don't run where they should.
* Sleeve getInformation now returns cha
* getServer does work with no argument now
* workForFaction returns false when it mistakenly returned null
** Character Overview **
* The character overview now shows the amount of exp needed to next level (@MartinFournier)
** Misc. **
* Add option to supress Game Saved! toasts (@MartinFournier)
* Fix bug where ctrl+alt+j was eaten by the wrong process. (@billyvg)
* Theme Editor lets you paste colors (@MartinFournier)
* ctrl + u/k/w should work on terminal (@billyvg)
* Game now shows commit number, this is mostly for me. (@MartinFourier)
* running a bad script will give a clearer error message (@TheCoderJT)
* Default terminal capacity is maximum (@SayntGarmo)
* Fix problems with cp and mv (@theit8514)
* Make monaco load fully offline for players behind firewalls.
* change beginer guide to use n00dles instead of foodnstuff
* BN13 is harder
* nerf int gain from manualHack
* Fix UI displaying wrong stats (@DJMatch3000)
* Fix button not disabling as it should.
* New location in Ishima.
* Add setting to suppress stock market popups.
* Typo fixes (@Hedrauta, @cvr-119, @Ationi, @millennIumAMbiguity
@TealKoi, @TheCoderJT, @cblte, @2PacIsAlive, @MageKing17,
@Xynrati, @Adraxas, @pobiega)
* Fix 100% territory achievement.
* Reword message on active scripts page.
* Fix terminal not clearing after BN
* Remove references to .fconf
* Augmentation pages shows BN difficulty with SF5
* Fix scripts saving on wrong server while 'connect'ing
* Fix gym discount not working.
* Fix scan-analyze not working with timestamps
* Hash upgrades remember last choice.
* Save files now sort by date
* The covenant no longer supports negative memory purchases
* Fix corp shares buyback triggering by pressing enter
* Staneks gift display avg / num charges
* Infiltration rewards no longer decay with better stats
* terminal 'true' is parsed as boolean not string
* tail and kill use autocomplete()
* Fix focus for coding contract
* massive boost to noodle bar.
** Special Thanks **
* Special thank you to everyone on Discord who can answer
new player questions so I can focus on more important things.
v1.1.0 - 2021-12-03 BN13: They're Lunatics (hydroflame & community)
-------------------------------------------------------
-------------------------------------------------------------------
** BN13: They're Lunatics **
@@ -16,6 +115,10 @@ v1.1.0 - 2021-12-03 BN13: They're Lunatics (hydroflame & community)
* 94 achievements added
* Release is 2021-12-10.
** Corporation API **
* Added corporation API. (Unstable)
** Netscript **
* tprintf crashes when not giving a format as first arg.

View File

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

View File

@@ -28,16 +28,16 @@ entire "quest-line".
First Steps
-----------
I'm going to assume you followed the introductory tutorial when you first began the game.
In this introductory tutorial you created a script called :code:`foodnstuff.script` and ran it
on the :code:`foodnstuff` server. Right now, we'll kill this script. There are two ways
In this introductory tutorial you created a script called :code:`n00dles.script` and ran it
on the :code:`n00dles` server. Right now, we'll kill this script. There are two ways
to do this:
1. You can go to the Terminal and enter::
$ kill foodnstuff.script
$ kill n00dles.script
2. You can go to the :code:`Active Scripts` page (|Keyboard shortcut| Alt + s) and
press the "Kill Script" button for :code:`foodnstuff.script`.
press the "Kill Script" button for :code:`n00dles.script`.
If you skipped the introductory tutorial, then ignore the part above. Instead, go to the
:code:`Hacknet Nodes` page (|Keyboard shortcut| Alt + h) and purchase a
@@ -82,8 +82,8 @@ Enter the following code in the script editor:
.. code:: javascript
// Defines the "target server", which is the server
// that we're going to hack. In this case, it's "foodnstuff"
var target = "foodnstuff";
// that we're going to hack. In this case, it's "n00dles"
var target = "n00dles";
// Defines how much money a server should have before we hack it
// In this case, it is set to 75% of the server's max money
@@ -122,10 +122,10 @@ step-by-step anyways.
.. code:: javascript
var target = "foodnstuff";
var target = "n00dles";
This first command defines a string which contains our target server. That's the server
that we're going to hack. For now, it's set to `foodnstuff` because that's the only
that we're going to hack. For now, it's set to `n00dles` because that's the only
server with a required hacking level of 1. If you want to hack a different server,
simply change this
variable to be the hostname of another server.
@@ -196,59 +196,64 @@ Here's what mine showed at the time I made this::
[home ~]> scan-analyze 2
~~~~~~~~~~ Beginning scan-analyze ~~~~~~~~~~
>foodnstuff
--Root Access: NO, Required hacking skill: 1
n00dles
--Root Access: YES, Required hacking skill: 1
--Number of open ports required to NUKE: 0
--RAM: 16
>sigma-cosmetics
--Root Access: NO, Required hacking skill: 5
--Number of open ports required to NUKE: 0
--RAM: 16
>joesguns
--Root Access: NO, Required hacking skill: 10
--Number of open ports required to NUKE: 0
--RAM: 16
---->max-hardware
------Root Access: NO, Required hacking skill: 80
------Number of open ports required to NUKE: 1
------RAM: 32
>hong-fang-tea
--Root Access: NO, Required hacking skill: 30
--Number of open ports required to NUKE: 0
--RAM: 16
---->nectar-net
------Root Access: NO, Required hacking skill: 20
------Number of open ports required to NUKE: 0
------RAM: 16
>harakiri-sushi
--Root Access: NO, Required hacking skill: 40
--Number of open ports required to NUKE: 0
--RAM: 16
>iron-gym
--Root Access: NO, Required hacking skill: 100
--Number of open ports required to NUKE: 1
--RAM: 32
---->zer0
--RAM: 4.00GB
----zer0
------Root Access: NO, Required hacking skill: 75
------Number of open ports required to NUKE: 1
------RAM: 32
---->CSEC
------RAM: 32.00GB
foodnstuff
--Root Access: NO, Required hacking skill: 1
--Number of open ports required to NUKE: 0
--RAM: 16.00GB
sigma-cosmetics
--Root Access: NO, Required hacking skill: 5
--Number of open ports required to NUKE: 0
--RAM: 16.00GB
joesguns
--Root Access: NO, Required hacking skill: 10
--Number of open ports required to NUKE: 0
--RAM: 16.00GB
----max-hardware
------Root Access: NO, Required hacking skill: 80
------Number of open ports required to NUKE: 1
------RAM: 32.00GB
----CSEC
------Root Access: NO, Required hacking skill: 54
------Number of open ports required to NUKE: 1
------RAM: 8
------RAM: 8.00GB
hong-fang-tea
--Root Access: NO, Required hacking skill: 30
--Number of open ports required to NUKE: 0
--RAM: 16.00GB
----nectar-net
------Root Access: NO, Required hacking skill: 20
------Number of open ports required to NUKE: 0
------RAM: 16.00GB
harakiri-sushi
--Root Access: NO, Required hacking skill: 40
--Number of open ports required to NUKE: 0
--RAM: 16.00GB
iron-gym
--Root Access: NO, Required hacking skill: 100
--Number of open ports required to NUKE: 1
--RAM: 32.00GB
Take note of the following servers:
* |foodnstuff|
* |n00dles|
* |sigma-cosmetics|
* |joesguns|
* |nectar-net|
@@ -279,15 +284,15 @@ servers, we have to do the following:
Here's the sequence of |Terminal| commands I used in order to achieve this::
$ home
$ scp early-hack-template.script foodnstuff
$ scp early-hack-template.script n00dles
$ scp early-hack-template.script sigma-cosmetics
$ scp early-hack-template.script joesguns
$ scp early-hack-template.script nectar-net
$ scp early-hack-template.script hong-fang-tea
$ scp early-hack-template.script harakiri-sushi
$ connect foodnstuff
$ connect n00dles
$ run NUKE.exe
$ run early-hack-template.script -t 6
$ run early-hack-template.script -t 1
$ home
$ connect sigma-cosmetics
$ run NUKE.exe
@@ -334,10 +339,10 @@ we start running more scripts.
Increasing Hacking Level
------------------------
There are many servers besides |foodnstuff| that can be hacked, but they have
There are many servers besides |n00dles| that can be hacked, but they have
higher required hacking levels. Therefore, we should raise our hacking level. Not only
will this let us hack more servers, but it will also increase the effectiveness of our hacking
against |foodnstuff|.
against |n00dles|.
The easiest way to train your hacking level is to visit Rothman University. You can do this by
clicking the `City` tab on the left-hand navigation menu, or you can use the
@@ -361,8 +366,8 @@ Since studying at Rothman University earns you 1 experience per second, this wil
Editing our Hacking Script
--------------------------
Now that we have a hacking level of 10, we can hack the :code:`joesguns` server. This server
will be slightly more profitable than :code:`foodnstuff`. Therefore, we want to change our hacking
script to target :code:`joesguns` instead of :code:`foodnstuff`.
will be slightly more profitable than :code:`n00dles`. Therefore, we want to change our hacking
script to target :code:`joesguns` instead of :code:`n00dles`.
Go to |Terminal| and edit the hacking script by entering::
@@ -799,7 +804,7 @@ startup script. Feel free to adjust it to your liking.
// Array of all servers that don't need any ports opened
// to gain root access. These have 16 GB of RAM
var servers0Port = ["foodnstuff",
var servers0Port = ["n00dles",
"sigma-cosmetics",
"joesguns",
"nectar-net",
@@ -869,7 +874,7 @@ Random Tips
.. |Keyboard shortcut| replace:: :ref:`Keyboard shortcut <shortcuts>`
.. |NUKE| replace:: :code:`NUKE.exe`
.. |Terminal| replace:: :code:`Terminal`
.. |foodnstuff| replace:: :code:`foodnstuff`
.. |n00dles| replace:: :code:`n00dles`
.. |harakiri-sushi| replace:: :code:`harakiri-sushi`
.. |hong-fang-tea| replace:: :code:`hong-fang-tea`
.. |joesguns| replace:: :code:`joesguns`

136614
editor.main.js Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,4 +1,4 @@
const { app, BrowserWindow, Menu, globalShortcut, shell } = require("electron");
const { app, BrowserWindow, Menu, shell } = require("electron");
const greenworks = require("./greenworks");
if (greenworks.init()) {
@@ -9,25 +9,19 @@ if (greenworks.init()) {
const debug = false;
function createWindow() {
function createWindow(killall) {
const win = new BrowserWindow({
show: false,
webPreferences: {
devTools: debug,
},
backgroundThrottling: false,
backgroundColor: "#000000",
});
win.removeMenu();
win.maximize();
win.loadFile("index.html");
noScripts = killall ? { query: { noScripts: killall } } : {};
win.loadFile("index.html", noScripts);
win.show();
if (debug) win.webContents.openDevTools();
globalShortcut.register("f5", function () {
win.loadFile("index.html");
});
globalShortcut.register("f8", function () {
win.loadFile("index.html", { query: { noScripts: "true" } });
});
win.webContents.on("new-window", function (e, url) {
// make sure local urls stay in electron perimeter
@@ -39,6 +33,20 @@ function createWindow() {
e.preventDefault();
shell.openExternal(url);
});
win.webContents.backgroundThrottling = false;
// This is backward but the game fills in an array called `document.achievements` and we retrieve it from
// here. Hey if it works it works.
const achievements = greenworks.getAchievementNames();
const intervalID = setInterval(async () => {
const achs = await win.webContents.executeJavaScript("document.achievements");
console.log(achs);
for (const ach of achs) {
if (!achievements.includes(ach)) continue;
greenworks.activateAchievement(ach, () => undefined);
}
}, 1000);
win.achievementsIntervalID = intervalID;
// Create the Application's main menu
Menu.setApplicationMenu(
@@ -55,24 +63,84 @@ function createWindow() {
{ label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" },
],
},
{
label: "reloads",
submenu: [
{
label: "reload",
accelerator: "f5",
click: () => {
win.loadFile("index.html");
},
},
{
label: "reload & kill all scripts",
click: () => {
setStopProcessHandler(app, win, false);
if (intervalID) clearInterval(intervalID);
win.webContents.forcefullyCrashRenderer();
win.close();
createWindow(true);
},
},
],
},
{
label: "fullscreen",
submenu: [
{
label: "toggle",
accelerator: "f9",
click: (() => {
let full = false;
return () => {
full = !full;
win.setFullScreen(full);
};
})(),
},
],
},
{
label: "debug",
submenu: [
{
label: "activate",
click: () => win.webContents.openDevTools(),
},
],
},
]),
);
// This is backward but the game fills in an array called `document.achievements` and we retrieve it from
// here. Hey if it works it works.
const achievements = greenworks.getAchievementNames();
// for (const ach of achievements) {
// greenworks.clearAchievement(ach, () => undefined);
// }
setInterval(async () => {
const achs = await win.webContents.executeJavaScript("document.achievements");
for (const ach of achs) {
if (!achievements.includes(ach)) continue;
greenworks.activateAchievement(ach, () => undefined);
return win;
}
function setStopProcessHandler(app, window, enabled) {
const clearWindowHandler = () => {
if (window.achievementsIntervalID) {
clearInterval(window.achievementsIntervalID);
}
}, 1000);
window = null;
};
const stopProcessHandler = () => {
if (process.platform !== "darwin") {
app.quit();
process.exit(0);
}
};
if (enabled) {
window.on("closed", clearWindowHandler);
app.on("window-all-closed", stopProcessHandler);
} else {
window.removeListener("closed", clearWindowHandler);
app.removeListener("window-all-closed", stopProcessHandler);
}
}
app.whenReady().then(() => {
createWindow();
const win = createWindow(process.argv.includes("--no-scripts"));
setStopProcessHandler(app, win, true);
});

View File

@@ -13,6 +13,17 @@
<meta name="msapplication-TileColor" content="#000000"/>
<meta name="msapplication-config" content="dist/browserconfig.xml"/>
<meta name="theme-color" content="#ffffff"/>
<!-- MONACO JS -->
<link rel="stylesheet" data-name="vs/editor/editor.main" href="dist/ext/monaco-editor/min/vs/editor/editor.main.css"/>
<script>
var require = { paths: { vs: "dist/ext/monaco-editor/min/vs" } };
</script>
<script src="dist/ext/monaco-editor/min/vs/loader.js"></script>
<script src="dist/ext/monaco-editor/min/vs/editor/editor.main.nls.js"></script>
<script src="dist/ext/monaco-editor/min/vs/editor/editor.main.js"></script>
<!-- Google Analytics -->
<script>
(function (i, s, o, g, r, a, m) {

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -9,7 +9,7 @@ Get the input data.
<b>Signature:</b>
```typescript
getData(filename: string, host?: string): string;
getData(filename: string, host?: string): any;
```
## Parameters
@@ -21,9 +21,9 @@ getData(filename: string, host?: string): string;
<b>Returns:</b>
string
any
The specified contracts data;
The specified contracts data, data type depends on contract type.;
## Remarks

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; [Corporation](./bitburner.corporation.md) &gt; [expandCity](./bitburner.corporation.expandcity.md)
## Corporation.expandCity() method
Expand to a new city
<b>Signature:</b>
```typescript
expandCity(divisionName: string, cityName: string): void;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| divisionName | string | Name of the division |
| cityName | string | Name of the city |
<b>Returns:</b>
void

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; [Corporation](./bitburner.corporation.md) &gt; [expandIndustry](./bitburner.corporation.expandindustry.md)
## Corporation.expandIndustry() method
Expand to a new industry
<b>Signature:</b>
```typescript
expandIndustry(industryType: string, divisionName: string): void;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| industryType | string | Name of the industry |
| divisionName | string | Name of the division |
<b>Returns:</b>
void

View File

@@ -0,0 +1,19 @@
<!-- 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; [getCorporation](./bitburner.corporation.getcorporation.md)
## Corporation.getCorporation() method
Get corporation data
<b>Signature:</b>
```typescript
getCorporation(): CorporationInfo;
```
<b>Returns:</b>
[CorporationInfo](./bitburner.corporationinfo.md)
Corporation data

View File

@@ -0,0 +1,26 @@
<!-- 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; [getDivision](./bitburner.corporation.getdivision.md)
## Corporation.getDivision() method
Get division data
<b>Signature:</b>
```typescript
getDivision(divisionName: string): Division;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| divisionName | string | Name of the division |
<b>Returns:</b>
[Division](./bitburner.division.md)
Division data

View File

@@ -0,0 +1,24 @@
<!-- 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; [issueDividends](./bitburner.corporation.issuedividends.md)
## Corporation.issueDividends() method
Issue dividends
<b>Signature:</b>
```typescript
issueDividends(percent: number): void;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| percent | number | Percent of profit to issue as dividends. |
<b>Returns:</b>
void

View File

@@ -0,0 +1,24 @@
<!-- 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; [levelUpgrade](./bitburner.corporation.levelupgrade.md)
## Corporation.levelUpgrade() method
Level an upgrade.
<b>Signature:</b>
```typescript
levelUpgrade(upgradeName: string): void;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| upgradeName | string | Name of the upgrade |
<b>Returns:</b>
void

View File

@@ -0,0 +1,27 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [Corporation](./bitburner.corporation.md)
## Corporation interface
Corporation API
<b>Signature:</b>
```typescript
export interface Corporation extends WarehouseAPI, OfficeAPI
```
<b>Extends:</b> [WarehouseAPI](./bitburner.warehouseapi.md)<!-- -->, [OfficeAPI](./bitburner.officeapi.md)
## Methods
| Method | Description |
| --- | --- |
| [expandCity(divisionName, cityName)](./bitburner.corporation.expandcity.md) | Expand to a new city |
| [expandIndustry(industryType, divisionName)](./bitburner.corporation.expandindustry.md) | Expand to a new industry |
| [getCorporation()](./bitburner.corporation.getcorporation.md) | Get corporation data |
| [getDivision(divisionName)](./bitburner.corporation.getdivision.md) | Get division data |
| [issueDividends(percent)](./bitburner.corporation.issuedividends.md) | Issue dividends |
| [levelUpgrade(upgradeName)](./bitburner.corporation.levelupgrade.md) | Level an upgrade. |
| [unlockUpgrade(upgradeName)](./bitburner.corporation.unlockupgrade.md) | Unlock an upgrade. |

View File

@@ -0,0 +1,24 @@
<!-- 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; [unlockUpgrade](./bitburner.corporation.unlockupgrade.md)
## Corporation.unlockUpgrade() method
Unlock an upgrade.
<b>Signature:</b>
```typescript
unlockUpgrade(upgradeName: string): void;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| upgradeName | string | Name of the upgrade |
<b>Returns:</b>
void

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; [expenses](./bitburner.corporationinfo.expenses.md)
## CorporationInfo.expenses property
Expenses per second this cycle
<b>Signature:</b>
```typescript
expenses: 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; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [funds](./bitburner.corporationinfo.funds.md)
## CorporationInfo.funds property
Funds available
<b>Signature:</b>
```typescript
funds: 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; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [issuedShares](./bitburner.corporationinfo.issuedshares.md)
## CorporationInfo.issuedShares property
Amount of shares issued
<b>Signature:</b>
```typescript
issuedShares: number;
```

View File

@@ -0,0 +1,30 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [CorporationInfo](./bitburner.corporationinfo.md)
## CorporationInfo interface
General info about a corporation
<b>Signature:</b>
```typescript
interface CorporationInfo
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [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 shares issued |
| [name](./bitburner.corporationinfo.name.md) | string | Name of the corporation |
| [numShares](./bitburner.corporationinfo.numshares.md) | number | Amount of share owned |
| [public](./bitburner.corporationinfo.public.md) | boolean | Is 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, like PRODUCTION or EXPORT |
| [totalShares](./bitburner.corporationinfo.totalshares.md) | number | Total number of shares issues by this corporation |

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; [name](./bitburner.corporationinfo.name.md)
## CorporationInfo.name property
Name of the corporation
<b>Signature:</b>
```typescript
name: string;
```

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; [numShares](./bitburner.corporationinfo.numshares.md)
## CorporationInfo.numShares property
Amount of share owned
<b>Signature:</b>
```typescript
numShares: 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; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [public](./bitburner.corporationinfo.public.md)
## CorporationInfo.public property
Is the company is public
<b>Signature:</b>
```typescript
public: 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; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [revenue](./bitburner.corporationinfo.revenue.md)
## CorporationInfo.revenue property
Revenue per second this cycle
<b>Signature:</b>
```typescript
revenue: 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; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [sharePrice](./bitburner.corporationinfo.shareprice.md)
## CorporationInfo.sharePrice property
Price of the shares
<b>Signature:</b>
```typescript
sharePrice: 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; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [shareSaleCooldown](./bitburner.corporationinfo.sharesalecooldown.md)
## CorporationInfo.shareSaleCooldown property
Cooldown until shares can be sold again
<b>Signature:</b>
```typescript
shareSaleCooldown: 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; [CorporationInfo](./bitburner.corporationinfo.md) &gt; [state](./bitburner.corporationinfo.state.md)
## CorporationInfo.state property
State of the corporation, like PRODUCTION or EXPORT
<b>Signature:</b>
```typescript
state: string;
```

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; [totalShares](./bitburner.corporationinfo.totalshares.md)
## CorporationInfo.totalShares property
Total number of shares issues by this corporation
<b>Signature:</b>
```typescript
totalShares: 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; [Division](./bitburner.division.md) &gt; [awareness](./bitburner.division.awareness.md)
## Division.awareness property
Awareness of the division
<b>Signature:</b>
```typescript
awareness: 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; [Division](./bitburner.division.md) &gt; [cities](./bitburner.division.cities.md)
## Division.cities property
Cities in which this division has expanded
<b>Signature:</b>
```typescript
cities: string[];
```

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; [Division](./bitburner.division.md) &gt; [lastCycleExpenses](./bitburner.division.lastcycleexpenses.md)
## Division.lastCycleExpenses property
Expenses last cycle
<b>Signature:</b>
```typescript
lastCycleExpenses: 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; [Division](./bitburner.division.md) &gt; [lastCycleRevenue](./bitburner.division.lastcyclerevenue.md)
## Division.lastCycleRevenue property
Revenue last cycle
<b>Signature:</b>
```typescript
lastCycleRevenue: number;
```

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; [Division](./bitburner.division.md)
## Division interface
Corporation division
<b>Signature:</b>
```typescript
interface Division
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [awareness](./bitburner.division.awareness.md) | number | Awareness of the division |
| [cities](./bitburner.division.cities.md) | string\[\] | 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 |
| [name](./bitburner.division.name.md) | string | Name of the division |
| [popularity](./bitburner.division.popularity.md) | number | Popularity of the division |
| [prodMult](./bitburner.division.prodmult.md) | number | Production multiplier |
| [research](./bitburner.division.research.md) | number | Amount of research in that division |
| [thisCycleExpenses](./bitburner.division.thiscycleexpenses.md) | number | Expenses this cycle |
| [thisCycleRevenue](./bitburner.division.thiscyclerevenue.md) | number | Revenue this cycle |
| [type](./bitburner.division.type.md) | string | Type of division, like Aggriculture |
| [upgrades](./bitburner.division.upgrades.md) | number\[\] | All research bought |

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; [Division](./bitburner.division.md) &gt; [name](./bitburner.division.name.md)
## Division.name property
Name of the division
<b>Signature:</b>
```typescript
name: string;
```

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; [Division](./bitburner.division.md) &gt; [popularity](./bitburner.division.popularity.md)
## Division.popularity property
Popularity of the division
<b>Signature:</b>
```typescript
popularity: 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; [Division](./bitburner.division.md) &gt; [prodMult](./bitburner.division.prodmult.md)
## Division.prodMult property
Production multiplier
<b>Signature:</b>
```typescript
prodMult: 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; [Division](./bitburner.division.md) &gt; [research](./bitburner.division.research.md)
## Division.research property
Amount of research in that division
<b>Signature:</b>
```typescript
research: 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; [Division](./bitburner.division.md) &gt; [thisCycleExpenses](./bitburner.division.thiscycleexpenses.md)
## Division.thisCycleExpenses property
Expenses this cycle
<b>Signature:</b>
```typescript
thisCycleExpenses: 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; [Division](./bitburner.division.md) &gt; [thisCycleRevenue](./bitburner.division.thiscyclerevenue.md)
## Division.thisCycleRevenue property
Revenue this cycle
<b>Signature:</b>
```typescript
thisCycleRevenue: 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; [Division](./bitburner.division.md) &gt; [type](./bitburner.division.type.md)
## Division.type property
Type of division, like Aggriculture
<b>Signature:</b>
```typescript
type: string;
```

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; [Division](./bitburner.division.md) &gt; [upgrades](./bitburner.division.upgrades.md)
## Division.upgrades property
All research bought
<b>Signature:</b>
```typescript
upgrades: number[];
```

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; [Employee](./bitburner.employee.md) &gt; [cha](./bitburner.employee.cha.md)
## Employee.cha property
<b>Signature:</b>
```typescript
cha: number;
```

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; [Employee](./bitburner.employee.md) &gt; [cre](./bitburner.employee.cre.md)
## Employee.cre property
<b>Signature:</b>
```typescript
cre: number;
```

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; [Employee](./bitburner.employee.md) &gt; [eff](./bitburner.employee.eff.md)
## Employee.eff property
<b>Signature:</b>
```typescript
eff: 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; [Employee](./bitburner.employee.md) &gt; [ene](./bitburner.employee.ene.md)
## Employee.ene property
Energy
<b>Signature:</b>
```typescript
ene: number;
```

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; [Employee](./bitburner.employee.md) &gt; [exp](./bitburner.employee.exp.md)
## Employee.exp property
<b>Signature:</b>
```typescript
exp: 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; [Employee](./bitburner.employee.md) &gt; [hap](./bitburner.employee.hap.md)
## Employee.hap property
Happiness
<b>Signature:</b>
```typescript
hap: number;
```

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; [Employee](./bitburner.employee.md) &gt; [int](./bitburner.employee.int.md)
## Employee.int property
<b>Signature:</b>
```typescript
int: 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; [Employee](./bitburner.employee.md) &gt; [loc](./bitburner.employee.loc.md)
## Employee.loc property
City
<b>Signature:</b>
```typescript
loc: string;
```

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; [Employee](./bitburner.employee.md)
## Employee interface
Employee in an office
<b>Signature:</b>
```typescript
interface Employee
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [cha](./bitburner.employee.cha.md) | number | |
| [cre](./bitburner.employee.cre.md) | number | |
| [eff](./bitburner.employee.eff.md) | number | |
| [ene](./bitburner.employee.ene.md) | number | Energy |
| [exp](./bitburner.employee.exp.md) | number | |
| [hap](./bitburner.employee.hap.md) | number | Happiness |
| [int](./bitburner.employee.int.md) | number | |
| [loc](./bitburner.employee.loc.md) | string | City |
| [mor](./bitburner.employee.mor.md) | number | Morale |
| [name](./bitburner.employee.name.md) | string | Name of the employee |
| [pos](./bitburner.employee.pos.md) | string | Current job |
| [sal](./bitburner.employee.sal.md) | number | Salary |

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; [Employee](./bitburner.employee.md) &gt; [mor](./bitburner.employee.mor.md)
## Employee.mor property
Morale
<b>Signature:</b>
```typescript
mor: 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; [Employee](./bitburner.employee.md) &gt; [name](./bitburner.employee.name.md)
## Employee.name property
Name of the employee
<b>Signature:</b>
```typescript
name: string;
```

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; [Employee](./bitburner.employee.md) &gt; [pos](./bitburner.employee.pos.md)
## Employee.pos property
Current job
<b>Signature:</b>
```typescript
pos: string;
```

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; [Employee](./bitburner.employee.md) &gt; [sal](./bitburner.employee.sal.md)
## Employee.sal property
Salary
<b>Signature:</b>
```typescript
sal: number;
```

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; [EmployeeJobs](./bitburner.employeejobs.md) &gt; ["Research &amp; Development"](./bitburner.employeejobs._research___development_.md)
## EmployeeJobs."Research &amp; Development" property
<b>Signature:</b>
```typescript
"Research & Development": number;
```

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; [EmployeeJobs](./bitburner.employeejobs.md) &gt; [Business](./bitburner.employeejobs.business.md)
## EmployeeJobs.Business property
<b>Signature:</b>
```typescript
Business: number;
```

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; [EmployeeJobs](./bitburner.employeejobs.md) &gt; [Engineer](./bitburner.employeejobs.engineer.md)
## EmployeeJobs.Engineer property
<b>Signature:</b>
```typescript
Engineer: number;
```

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; [EmployeeJobs](./bitburner.employeejobs.md) &gt; [Management](./bitburner.employeejobs.management.md)
## EmployeeJobs.Management property
<b>Signature:</b>
```typescript
Management: number;
```

View File

@@ -0,0 +1,26 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [EmployeeJobs](./bitburner.employeejobs.md)
## EmployeeJobs interface
Object representing the number of employee in each job.
<b>Signature:</b>
```typescript
interface EmployeeJobs
```
## Properties
| Property | Type | Description |
| --- | --- | --- |
| ["Research &amp; Development"](./bitburner.employeejobs._research___development_.md) | number | |
| [Business](./bitburner.employeejobs.business.md) | number | |
| [Engineer](./bitburner.employeejobs.engineer.md) | number | |
| [Management](./bitburner.employeejobs.management.md) | number | |
| [Operations](./bitburner.employeejobs.operations.md) | number | |
| [Training](./bitburner.employeejobs.training.md) | number | |
| [Unassigned](./bitburner.employeejobs.unassigned.md) | number | |

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; [EmployeeJobs](./bitburner.employeejobs.md) &gt; [Operations](./bitburner.employeejobs.operations.md)
## EmployeeJobs.Operations property
<b>Signature:</b>
```typescript
Operations: number;
```

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; [EmployeeJobs](./bitburner.employeejobs.md) &gt; [Training](./bitburner.employeejobs.training.md)
## EmployeeJobs.Training property
<b>Signature:</b>
```typescript
Training: number;
```

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; [EmployeeJobs](./bitburner.employeejobs.md) &gt; [Unassigned](./bitburner.employeejobs.unassigned.md)
## EmployeeJobs.Unassigned property
<b>Signature:</b>
```typescript
Unassigned: 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; [Formulas](./bitburner.formulas.md) &gt; [gang](./bitburner.formulas.gang.md)
## Formulas.gang property
Gang formulas
<b>Signature:</b>
```typescript
gang: GangFormulas;
```

View File

@@ -4,6 +4,8 @@
## Formulas.hacking property
Hacking formulas
<b>Signature:</b>
```typescript

View File

@@ -4,6 +4,8 @@
## Formulas.hacknetNodes property
Hacknet Nodes formulas
<b>Signature:</b>
```typescript

View File

@@ -4,6 +4,8 @@
## Formulas.hacknetServers property
Hacknet Servers formulas
<b>Signature:</b>
```typescript

View File

@@ -4,6 +4,7 @@
## Formulas interface
Formulas API
<b>Signature:</b>
@@ -11,12 +12,17 @@
export interface Formulas
```
## Remarks
You need Formulas.exe on your home computer to use this API.
## Properties
| Property | Type | Description |
| --- | --- | --- |
| [hacking](./bitburner.formulas.hacking.md) | [HackingFormulas](./bitburner.hackingformulas.md) | |
| [hacknetNodes](./bitburner.formulas.hacknetnodes.md) | [HacknetNodesFormulas](./bitburner.hacknetnodesformulas.md) | |
| [hacknetServers](./bitburner.formulas.hacknetservers.md) | [HacknetServersFormulas](./bitburner.hacknetserversformulas.md) | |
| [skills](./bitburner.formulas.skills.md) | [SkillsFormulas](./bitburner.skillsformulas.md) | |
| [gang](./bitburner.formulas.gang.md) | [GangFormulas](./bitburner.gangformulas.md) | Gang formulas |
| [hacking](./bitburner.formulas.hacking.md) | [HackingFormulas](./bitburner.hackingformulas.md) | Hacking formulas |
| [hacknetNodes](./bitburner.formulas.hacknetnodes.md) | [HacknetNodesFormulas](./bitburner.hacknetnodesformulas.md) | Hacknet Nodes formulas |
| [hacknetServers](./bitburner.formulas.hacknetservers.md) | [HacknetServersFormulas](./bitburner.hacknetserversformulas.md) | Hacknet Servers formulas |
| [skills](./bitburner.formulas.skills.md) | [SkillsFormulas](./bitburner.skillsformulas.md) | Skills formulas |

View File

@@ -4,6 +4,8 @@
## Formulas.skills property
Skills formulas
<b>Signature:</b>
```typescript

View File

@@ -0,0 +1,32 @@
<!-- 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; [getAscensionResult](./bitburner.gang.getascensionresult.md)
## Gang.getAscensionResult() method
Get the result of an ascension without ascending.
<b>Signature:</b>
```typescript
getAscensionResult(memberName: string): GangMemberAscension | undefined;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| memberName | string | Name of member. |
<b>Returns:</b>
[GangMemberAscension](./bitburner.gangmemberascension.md) \| undefined
Object with info about the ascension results. undefined if ascension is impossible.
## Remarks
RAM cost: 2 GB
Get the result of an ascension without ascending.

View File

@@ -23,6 +23,7 @@ If you are not in BitNode-2, then you must have Source-File 2 in order to use th
| [ascendMember(memberName)](./bitburner.gang.ascendmember.md) | Ascend a gang member. |
| [canRecruitMember()](./bitburner.gang.canrecruitmember.md) | Check if you can recruit a new gang member. |
| [createGang(faction)](./bitburner.gang.creategang.md) | Create a gang. |
| [getAscensionResult(memberName)](./bitburner.gang.getascensionresult.md) | Get the result of an ascension without ascending. |
| [getBonusTime()](./bitburner.gang.getbonustime.md) | Get bonus time. |
| [getChanceToWinClash(gangName)](./bitburner.gang.getchancetowinclash.md) | Get chance to win clash with other gang. |
| [getEquipmentCost(equipName)](./bitburner.gang.getequipmentcost.md) | Get cost of equipment. |

View File

@@ -0,0 +1,26 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GangFormulas](./bitburner.gangformulas.md) &gt; [ascensionMultiplier](./bitburner.gangformulas.ascensionmultiplier.md)
## GangFormulas.ascensionMultiplier() method
Calculate ascension mult.
<b>Signature:</b>
```typescript
ascensionMultiplier(points: number): number;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| points | number | Amount of ascension points. |
<b>Returns:</b>
number
The calculated ascension mult.

View File

@@ -0,0 +1,26 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GangFormulas](./bitburner.gangformulas.md) &gt; [ascensionPointsGain](./bitburner.gangformulas.ascensionpointsgain.md)
## GangFormulas.ascensionPointsGain() method
Calculate ascension point gain.
<b>Signature:</b>
```typescript
ascensionPointsGain(exp: number): number;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| exp | number | Experience point before ascension. |
<b>Returns:</b>
number
The calculated ascension point gain.

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; [GangFormulas](./bitburner.gangformulas.md)
## GangFormulas interface
Gang formulas
<b>Signature:</b>
```typescript
interface GangFormulas
```
## Methods
| Method | Description |
| --- | --- |
| [ascensionMultiplier(points)](./bitburner.gangformulas.ascensionmultiplier.md) | Calculate ascension mult. |
| [ascensionPointsGain(exp)](./bitburner.gangformulas.ascensionpointsgain.md) | Calculate ascension point gain. |
| [moneyGain(gang, member, task)](./bitburner.gangformulas.moneygain.md) | Calculate money gain per tick. |
| [respectGain(gang, member, task)](./bitburner.gangformulas.respectgain.md) | Calculate respect gain per tick. |
| [wantedLevelGain(gang, member, task)](./bitburner.gangformulas.wantedlevelgain.md) | Calculate wanted gain per tick. |
| [wantedPenalty(gang)](./bitburner.gangformulas.wantedpenalty.md) | Calculate the wanted penalty. |

View File

@@ -0,0 +1,28 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GangFormulas](./bitburner.gangformulas.md) &gt; [moneyGain](./bitburner.gangformulas.moneygain.md)
## GangFormulas.moneyGain() method
Calculate money gain per tick.
<b>Signature:</b>
```typescript
moneyGain(gang: GangGenInfo, member: GangMemberInfo, task: GangTaskStats): number;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| gang | [GangGenInfo](./bitburner.ganggeninfo.md) | Gang info from [getGangInformation](./bitburner.gang.getganginformation.md) |
| member | [GangMemberInfo](./bitburner.gangmemberinfo.md) | Member info from [getMemberInformation](./bitburner.gang.getmemberinformation.md) |
| task | [GangTaskStats](./bitburner.gangtaskstats.md) | Task info from [getTaskStats](./bitburner.gang.gettaskstats.md) |
<b>Returns:</b>
number
The calculated money gain.

View File

@@ -0,0 +1,28 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GangFormulas](./bitburner.gangformulas.md) &gt; [respectGain](./bitburner.gangformulas.respectgain.md)
## GangFormulas.respectGain() method
Calculate respect gain per tick.
<b>Signature:</b>
```typescript
respectGain(gang: GangGenInfo, member: GangMemberInfo, task: GangTaskStats): number;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| gang | [GangGenInfo](./bitburner.ganggeninfo.md) | Gang info from [getGangInformation](./bitburner.gang.getganginformation.md) |
| member | [GangMemberInfo](./bitburner.gangmemberinfo.md) | Gang info from [getMemberInformation](./bitburner.gang.getmemberinformation.md) |
| task | [GangTaskStats](./bitburner.gangtaskstats.md) | Gang info from [getTaskStats](./bitburner.gang.gettaskstats.md) |
<b>Returns:</b>
number
The calculated respect gain.

View File

@@ -0,0 +1,28 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GangFormulas](./bitburner.gangformulas.md) &gt; [wantedLevelGain](./bitburner.gangformulas.wantedlevelgain.md)
## GangFormulas.wantedLevelGain() method
Calculate wanted gain per tick.
<b>Signature:</b>
```typescript
wantedLevelGain(gang: GangGenInfo, member: GangMemberInfo, task: GangTaskStats): number;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| gang | [GangGenInfo](./bitburner.ganggeninfo.md) | Gang info from [getGangInformation](./bitburner.gang.getganginformation.md) |
| member | [GangMemberInfo](./bitburner.gangmemberinfo.md) | Member info from [getMemberInformation](./bitburner.gang.getmemberinformation.md) |
| task | [GangTaskStats](./bitburner.gangtaskstats.md) | Task info from [getTaskStats](./bitburner.gang.gettaskstats.md) |
<b>Returns:</b>
number
The calculated wanted gain.

View File

@@ -0,0 +1,26 @@
<!-- Do not edit this file. It is automatically generated by API Documenter. -->
[Home](./index.md) &gt; [bitburner](./bitburner.md) &gt; [GangFormulas](./bitburner.gangformulas.md) &gt; [wantedPenalty](./bitburner.gangformulas.wantedpenalty.md)
## GangFormulas.wantedPenalty() method
Calculate the wanted penalty.
<b>Signature:</b>
```typescript
wantedPenalty(gang: GangGenInfo): number;
```
## Parameters
| Parameter | Type | Description |
| --- | --- | --- |
| gang | [GangGenInfo](./bitburner.ganggeninfo.md) | Gang info from [getGangInformation](./bitburner.gang.getganginformation.md) |
<b>Returns:</b>
number
The calculated wanted penalty.

View File

@@ -18,13 +18,14 @@ export interface GangGenInfo
| --- | --- | --- |
| [faction](./bitburner.ganggeninfo.faction.md) | string | Name of faction that the gang belongs to ("Slum Snakes", etc.) |
| [isHacking](./bitburner.ganggeninfo.ishacking.md) | boolean | Boolean indicating whether or not its a hacking gang |
| [moneyGainRate](./bitburner.ganggeninfo.moneygainrate.md) | number | Money earned per second |
| [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 |
| [respectGainRate](./bitburner.ganggeninfo.respectgainrate.md) | number | Respect earned per second |
| [territory](./bitburner.ganggeninfo.territory.md) | number | Amount of territory held. Returned in decimal form, not percentage |
| [territoryClashChance](./bitburner.ganggeninfo.territoryclashchance.md) | number | Clash chance. Returned in decimal form, not percentage |
| [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 | Boolean indicating if territory warfare is enabled. |
| [wantedLevel](./bitburner.ganggeninfo.wantedlevel.md) | number | Gang's wanted level |
| [wantedLevelGainRate](./bitburner.ganggeninfo.wantedlevelgainrate.md) | number | Wanted level gained/lost per second (negative for losses) |
| [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

@@ -4,7 +4,7 @@
## GangGenInfo.moneyGainRate property
Money earned per second
Money earned per game cycle
<b>Signature:</b>

View File

@@ -4,7 +4,7 @@
## GangGenInfo.respectGainRate property
Respect earned per second
Respect earned per game cycle
<b>Signature:</b>

View File

@@ -4,7 +4,7 @@
## GangGenInfo.territory property
Amount of territory held. Returned in decimal form, not percentage
Amount of territory held.
<b>Signature:</b>

View File

@@ -4,7 +4,7 @@
## GangGenInfo.territoryClashChance property
Clash chance. Returned in decimal form, not percentage
Clash chance.
<b>Signature:</b>

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