mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-23 08:03:48 +01:00
commit
2750eb293a
4
dist/engine.bundle.js
vendored
4
dist/engine.bundle.js
vendored
File diff suppressed because one or more lines are too long
30
dist/vendor.bundle.js
vendored
30
dist/vendor.bundle.js
vendored
File diff suppressed because one or more lines are too long
147
dist/vendor.css
vendored
147
dist/vendor.css
vendored
@ -11,7 +11,8 @@
|
||||
padding: 4px 0;
|
||||
/* Vertical padding around content */ }
|
||||
|
||||
.CodeMirror pre {
|
||||
.CodeMirror pre.CodeMirror-line,
|
||||
.CodeMirror pre.CodeMirror-line-like {
|
||||
padding: 0 4px;
|
||||
/* Horizontal padding of content */ }
|
||||
|
||||
@ -98,7 +99,7 @@
|
||||
left: 0;
|
||||
right: 0;
|
||||
top: -50px;
|
||||
bottom: -20px;
|
||||
bottom: 0;
|
||||
overflow: hidden; }
|
||||
|
||||
.CodeMirror-ruler {
|
||||
@ -216,11 +217,11 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
||||
.CodeMirror-scroll {
|
||||
overflow: scroll !important;
|
||||
/* Things will break if this is overridden */
|
||||
/* 30px is the magic margin used to hide the element's real scrollbars */
|
||||
/* 50px is the magic margin used to hide the element's real scrollbars */
|
||||
/* See overflow: hidden in .CodeMirror */
|
||||
margin-bottom: -30px;
|
||||
margin-right: -30px;
|
||||
padding-bottom: 30px;
|
||||
margin-bottom: -50px;
|
||||
margin-right: -50px;
|
||||
padding-bottom: 50px;
|
||||
height: 100%;
|
||||
outline: none;
|
||||
/* Prevent dragging from highlighting the element */
|
||||
@ -228,7 +229,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
||||
|
||||
.CodeMirror-sizer {
|
||||
position: relative;
|
||||
border-right: 30px solid transparent; }
|
||||
border-right: 50px solid transparent; }
|
||||
|
||||
/* The fake, visible scrollbars. Used to force redraw during scrolling
|
||||
before actual scrolling happens, thus preventing shaking and
|
||||
@ -236,7 +237,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
||||
.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
|
||||
position: absolute;
|
||||
z-index: 6;
|
||||
display: none; }
|
||||
display: none;
|
||||
outline: none; }
|
||||
|
||||
.CodeMirror-vscrollbar {
|
||||
right: 0;
|
||||
@ -270,7 +272,7 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
||||
height: 100%;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
margin-bottom: -30px; }
|
||||
margin-bottom: -50px; }
|
||||
|
||||
.CodeMirror-gutter-wrapper {
|
||||
position: absolute;
|
||||
@ -300,7 +302,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
||||
min-height: 1px;
|
||||
/* prevents collapsing before first draw */ }
|
||||
|
||||
.CodeMirror pre {
|
||||
.CodeMirror pre.CodeMirror-line,
|
||||
.CodeMirror pre.CodeMirror-line-like {
|
||||
/* Reset some styles that the rest of the page might have set */
|
||||
-moz-border-radius: 0;
|
||||
-webkit-border-radius: 0;
|
||||
@ -321,7 +324,8 @@ div.CodeMirror span.CodeMirror-nonmatchingbracket {
|
||||
-webkit-font-variant-ligatures: contextual;
|
||||
font-variant-ligatures: contextual; }
|
||||
|
||||
.CodeMirror-wrap pre {
|
||||
.CodeMirror-wrap pre.CodeMirror-line,
|
||||
.CodeMirror-wrap pre.CodeMirror-line-like {
|
||||
word-wrap: break-word;
|
||||
white-space: pre-wrap;
|
||||
word-break: normal; }
|
||||
@ -1479,6 +1483,16 @@ span.CodeMirror-selectedtext {
|
||||
.cm-s-darcula span.cm-special {
|
||||
color: #FF9E59; }
|
||||
|
||||
.cm-s-darcula span.cm-matchhighlight {
|
||||
color: #FFFFFF;
|
||||
background-color: rgba(50, 89, 48, 0.7);
|
||||
font-weight: normal; }
|
||||
|
||||
.cm-s-darcula span.cm-searching {
|
||||
color: #FFFFFF;
|
||||
background-color: rgba(61, 115, 59, 0.7);
|
||||
font-weight: normal; }
|
||||
|
||||
.cm-s-darcula .CodeMirror-cursor {
|
||||
border-left: 1px solid #A9B7C6; }
|
||||
|
||||
@ -2510,7 +2524,7 @@ Ported to CodeMirror by Peter Kroon
|
||||
color: #999; }
|
||||
|
||||
.cm-s-lesser-dark span.cm-link {
|
||||
color: #00c; }
|
||||
color: #7070E6; }
|
||||
|
||||
.cm-s-lesser-dark span.cm-error {
|
||||
color: #9d1e15; }
|
||||
@ -2766,103 +2780,105 @@ Ported to CodeMirror by Peter Kroon
|
||||
color: white !important; }
|
||||
|
||||
/*
|
||||
|
||||
Name: material
|
||||
Author: Michael Kaminsky (http://github.com/mkaminsky11)
|
||||
|
||||
Original material color scheme by Mattia Astorino (https://github.com/equinusocio/material-theme)
|
||||
|
||||
Author: Mattia Astorino (http://github.com/equinusocio)
|
||||
Website: https://material-theme.site/
|
||||
*/
|
||||
.cm-s-material.CodeMirror {
|
||||
background-color: #263238;
|
||||
color: #e9eded; }
|
||||
color: #EEFFFF; }
|
||||
|
||||
.cm-s-material .CodeMirror-gutters {
|
||||
background: #263238;
|
||||
color: #537f7e;
|
||||
color: #546E7A;
|
||||
border: none; }
|
||||
|
||||
.cm-s-material .CodeMirror-guttermarker, .cm-s-material .CodeMirror-guttermarker-subtle, .cm-s-material .CodeMirror-linenumber {
|
||||
color: #537f7e; }
|
||||
.cm-s-material .CodeMirror-guttermarker,
|
||||
.cm-s-material .CodeMirror-guttermarker-subtle,
|
||||
.cm-s-material .CodeMirror-linenumber {
|
||||
color: #546E7A; }
|
||||
|
||||
.cm-s-material .CodeMirror-cursor {
|
||||
border-left: 1px solid #f8f8f0; }
|
||||
border-left: 1px solid #FFCC00; }
|
||||
|
||||
.cm-s-material div.CodeMirror-selected {
|
||||
background: rgba(255, 255, 255, 0.15); }
|
||||
background: rgba(128, 203, 196, 0.2); }
|
||||
|
||||
.cm-s-material.CodeMirror-focused div.CodeMirror-selected {
|
||||
background: rgba(255, 255, 255, 0.1); }
|
||||
background: rgba(128, 203, 196, 0.2); }
|
||||
|
||||
.cm-s-material .CodeMirror-line::selection, .cm-s-material .CodeMirror-line > span::selection, .cm-s-material .CodeMirror-line > span > span::selection {
|
||||
background: rgba(255, 255, 255, 0.1); }
|
||||
.cm-s-material .CodeMirror-line::selection,
|
||||
.cm-s-material .CodeMirror-line > span::selection,
|
||||
.cm-s-material .CodeMirror-line > span > span::selection {
|
||||
background: rgba(128, 203, 196, 0.2); }
|
||||
|
||||
.cm-s-material .CodeMirror-line::-moz-selection, .cm-s-material .CodeMirror-line > span::-moz-selection, .cm-s-material .CodeMirror-line > span > span::-moz-selection {
|
||||
background: rgba(255, 255, 255, 0.1); }
|
||||
.cm-s-material .CodeMirror-line::-moz-selection,
|
||||
.cm-s-material .CodeMirror-line > span::-moz-selection,
|
||||
.cm-s-material .CodeMirror-line > span > span::-moz-selection {
|
||||
background: rgba(128, 203, 196, 0.2); }
|
||||
|
||||
.cm-s-material .CodeMirror-activeline-background {
|
||||
background: rgba(0, 0, 0, 0); }
|
||||
background: rgba(0, 0, 0, 0.5); }
|
||||
|
||||
.cm-s-material .cm-keyword {
|
||||
color: #c792ea; }
|
||||
color: #C792EA; }
|
||||
|
||||
.cm-s-material .cm-operator {
|
||||
color: #e9eded; }
|
||||
color: #89DDFF; }
|
||||
|
||||
.cm-s-material .cm-variable-2 {
|
||||
color: #80CBC4; }
|
||||
color: #EEFFFF; }
|
||||
|
||||
.cm-s-material .cm-variable-3, .cm-s-material .cm-type {
|
||||
color: #82B1FF; }
|
||||
.cm-s-material .cm-variable-3,
|
||||
.cm-s-material .cm-type {
|
||||
color: #f07178; }
|
||||
|
||||
.cm-s-material .cm-builtin {
|
||||
color: #DECB6B; }
|
||||
color: #FFCB6B; }
|
||||
|
||||
.cm-s-material .cm-atom {
|
||||
color: #F77669; }
|
||||
color: #F78C6C; }
|
||||
|
||||
.cm-s-material .cm-number {
|
||||
color: #F77669; }
|
||||
color: #FF5370; }
|
||||
|
||||
.cm-s-material .cm-def {
|
||||
color: #e9eded; }
|
||||
color: #82AAFF; }
|
||||
|
||||
.cm-s-material .cm-string {
|
||||
color: #C3E88D; }
|
||||
|
||||
.cm-s-material .cm-string-2 {
|
||||
color: #80CBC4; }
|
||||
color: #f07178; }
|
||||
|
||||
.cm-s-material .cm-comment {
|
||||
color: #546E7A; }
|
||||
|
||||
.cm-s-material .cm-variable {
|
||||
color: #82B1FF; }
|
||||
color: #f07178; }
|
||||
|
||||
.cm-s-material .cm-tag {
|
||||
color: #80CBC4; }
|
||||
color: #FF5370; }
|
||||
|
||||
.cm-s-material .cm-meta {
|
||||
color: #80CBC4; }
|
||||
|
||||
.cm-s-material .cm-attribute {
|
||||
color: #FFCB6B; }
|
||||
|
||||
.cm-s-material .cm-attribute {
|
||||
color: #C792EA; }
|
||||
|
||||
.cm-s-material .cm-property {
|
||||
color: #80CBAE; }
|
||||
color: #C792EA; }
|
||||
|
||||
.cm-s-material .cm-qualifier {
|
||||
color: #DECB6B; }
|
||||
|
||||
.cm-s-material .cm-variable-3, .cm-s-material .cm-type {
|
||||
.cm-s-material .cm-variable-3,
|
||||
.cm-s-material .cm-type {
|
||||
color: #DECB6B; }
|
||||
|
||||
.cm-s-material .cm-tag {
|
||||
color: #ff5370; }
|
||||
|
||||
.cm-s-material .cm-error {
|
||||
color: white;
|
||||
background-color: #EC5F67; }
|
||||
background-color: #FF5370; }
|
||||
|
||||
.cm-s-material .CodeMirror-matchingbracket {
|
||||
text-decoration: underline;
|
||||
@ -3074,13 +3090,6 @@ div.cm-s-mdn-like span.CodeMirror-matchingbracket {
|
||||
background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAAAyCAYAAAAp8UeFAAAHvklEQVR42s2b63bcNgyEQZCSHCdt2vd/0tWF7I+Q6XgMXiTtuvU5Pl57ZQKkKHzEAOtF5KeIJBGJ8uvL599FRFREZhFx8DeXv8trn68RuGaC8TRfo3SNp9dlDDHedyLyTUTeRWStXKPZrjtpZxaRw5hPqozRs1N8/enzIiQRWcCgy4MUA0f+XWliDhyL8Lfyvx7ei/Ae3iQFHyw7U/59pQVIMEEPEz0G7XiwdRjzSfC3UTtz9vchIntxvry5iMgfIhJoEflOz2CQr3F5h/HfeFe+GTdLaKcu9L8LTeQb/R/7GgbsfKedyNdoHsN31uRPWrfZ5wsj/NzzRQHuToIdU3ahwnsKPxXCjJITuOsi7XLc7SG/v5GdALs7wf8JjTFiB5+QvTEfRyGOfX3Lrx8wxyQi3sNq46O7QahQiCsRFgqddjBouVEHOKDgXAQHD9gJCr5sMKkEdjwsarG/ww3BMHBU7OBjXnzdyY7SfCxf5/z6ATccrwlKuwC/jhznnPF4CgVzhhVf4xp2EixcBActO75iZ8/fM9zAs2OMzKdslgXWJ9XG8PQoOAMA5fGcsvORgv0doBXyHrCwfLJAOwo71QLNkb8n2Pl6EWiR7OCibtkPaz4Kc/0NNAze2gju3zOwekALDaCFPI5vjPFmgGY5AZqyGEvH1x7QfIb8YtxMnA/b+QQ0aQDAwc6JMFg8CbQZ4qoYEEHbRwNojuK3EHwd7VALSgq+MNDKzfT58T8qdpADrgW0GmgcAS1lhzztJmkAzcPNOQbsWEALBDSlMKUG0Eq4CLAQWvEVQ9WU57gZJwZtgPO3r9oBTQ9WO8TjqXINx8R0EYpiZEUWOF3FxkbJkgU9B2f41YBrIj5ZfsQa0M5kTgiAAqM3ShXLgu8XMqcrQBvJ0CL5pnTsfMB13oB8athpAq2XOQmcGmoACCLydx7nToa23ATaSIY2ichfOdPTGxlasXMLaL0MLZAOwAKIM+y8CmicobGdCcbbK9DzN+yYGVoNNI5iUKTMyYOjPse4A8SM1MmcXgU0toOq1yO/v8FOxlASyc7TgeYaAMBJHcY1CcCwGI/TK4AmDbDyKYBBtFUkRwto8gygiQEaByFgJ00BH2M8JWwQS1nafDXQCidWyOI8AcjDCSjCLk8ngObuAm3JAHAdubAmOaK06V8MNEsKPJOhobSprwQa6gD7DclRQdqcwL4zxqgBrQcabUiBLclRDKAlWp+etPkBaNMA0AKlrHwTdEByZAA4GM+SNluSY6wAzcMNewxmgig5Ks0nkrSpBvSaQHMdKTBAnLojOdYyGpQ254602ZILPdTD1hdlggdIm74jbTp8vDwF5ZYUeLWGJpWsh6XNyXgcYwVoJQTEhhTYkxzZjiU5npU2TaB979TQehlaAVq4kaGpiPwwwLkYUuBbQwocyQTv1tA0+1UFWoJF3iv1oq+qoSk8EQdJmwHkziIF7oOZk14EGitibAdjLYYK78H5vZOhtWpoI0ATGHs0Q8OMb4Ey+2bU2UYztCtA0wFAs7TplGLRVQCcqaFdGSPCeTI1QNIC52iWNzof6Uib7xjEp07mNNoUYmVosVItHrHzRlLgBn9LFyRHaQCtVUMbtTNhoXWiTOO9k/V8BdAc1Oq0ArSQs6/5SU0hckNy9NnXqQY0PGYo5dWJ7nINaN6o958FWin27aBaWRka1r5myvLOAm0j30eBJqCxHLReVclxhxOEN2JfDWjxBtAC7MIH1fVaGdoOp4qJYDgKtKPSFNID2gSnGldrCqkFZ+5UeQXQBIRrSwocbdZYQT/2LwRahBPBXoHrB8nxaGROST62DKUbQOMMzZIC9abkuELfQzQALWTnDNAm8KHWFOJgJ5+SHIvTPcmx1xQyZRhNL5Qci689aXMEaN/uNIWkEwDAvFpOZmgsBaaGnbs1NPa1Jm32gBZAIh1pCtG7TSH4aE0y1uVY4uqoFPisGlpP2rSA5qTecWn5agK6BzSpgAyD+wFaqhnYoSZ1Vwr8CmlTQbrcO3ZaX0NAEyMbYaAlyquFoLKK3SPby9CeVUPThrSJmkCAE0CrKUQadi4DrdSlWhmah0YL9z9vClH59YGbHx1J8VZTyAjQepJjmXwAKTDQI3omc3p1U4gDUf6RfcdYfrUp5ClAi2J3Ba6UOXGo+K+bQrjjssitG2SJzshaLwMtXgRagUNpYYoVkMSBLM+9GGiJZMvduG6DRZ4qc04DMPtQQxOjEtACmhO7K1AbNbQDEggZyJwscFpAGwENhoBeUwh3bWolhe8BTYVKxQEWrSUn/uhcM5KhvUu/+eQu0Lzhi+VrK0PrZZNDQKs9cpYUuFYgMVpD4/NxenJTiMCNqdUEUf1qZWjppLT5qSkkUZbCwkbZMSuVnu80hfSkzRbQeqCZSAh6huR4VtoM2gHAlLf72smuWgE+VV7XpE25Ab2WFDgyhnSuKbs4GuGzCjR+tIoUuMFg3kgcWKLTwRqanJQ2W00hAsenfaApRC42hbCvK1SlE0HtE9BGgneJO+ELamitD1YjjOYnNYVcraGhtKkW0EqVVeDx733I2NH581k1NNxNLG0i0IJ8/NjVaOZ0tYZ2Vtr0Xv7tPV3hkWp9EFkgS/J0vosngTaSoaG06WHi+xObQkaAdlbanP8B2+2l0f90LmUAAAAASUVORK5CYII=); }
|
||||
|
||||
/* Based on the theme at http://bonsaiden.github.com/JavaScript-Garden */
|
||||
/*<!--match-->*/
|
||||
.cm-s-midnight span.CodeMirror-matchhighlight {
|
||||
background: #494949; }
|
||||
|
||||
.cm-s-midnight.CodeMirror-focused span.CodeMirror-matchhighlight {
|
||||
background: #314D67 !important; }
|
||||
|
||||
/*<!--activeline-->*/
|
||||
.cm-s-midnight .CodeMirror-activeline-background {
|
||||
background: #253540; }
|
||||
@ -3420,7 +3429,7 @@ div.cm-s-mdn-like span.CodeMirror-matchingbracket {
|
||||
background: #292A2B;
|
||||
color: #E6E6E6;
|
||||
line-height: 1.5;
|
||||
font-family: 'Operator Mono', 'Source Sans Pro', Menlo, Monaco, Consolas, Courier New, monospace; }
|
||||
font-family: 'Operator Mono', 'Source Code Pro', Menlo, Monaco, Consolas, Courier New, monospace; }
|
||||
|
||||
.cm-s-panda-syntax .CodeMirror-cursor {
|
||||
border-color: #ff2c6d; }
|
||||
@ -5000,7 +5009,7 @@ http://ethanschoonover.com/solarized/img/solarized-palette.png
|
||||
color: #AEAEAE; }
|
||||
|
||||
.cm-s-vibrant-ink .cm-link {
|
||||
color: blue; }
|
||||
color: #5656F3; }
|
||||
|
||||
.cm-s-vibrant-ink .cm-error {
|
||||
border-bottom: 1px solid red; }
|
||||
@ -5305,7 +5314,7 @@ THE SOFTWARE.
|
||||
.cm-s-zenburn .CodeMirror-cursor {
|
||||
border-left: 1px solid white; }
|
||||
|
||||
.cm-s-zenburn {
|
||||
.cm-s-zenburn.CodeMirror {
|
||||
background-color: #3f3f3f;
|
||||
color: #dcdccc; }
|
||||
|
||||
@ -5487,17 +5496,17 @@ li.CodeMirror-hint-active {
|
||||
-o-transition: opacity .4s;
|
||||
-ms-transition: opacity .4s; }
|
||||
|
||||
.CodeMirror-lint-mark-error, .CodeMirror-lint-mark-warning {
|
||||
.CodeMirror-lint-mark {
|
||||
background-position: left bottom;
|
||||
background-repeat: repeat-x; }
|
||||
|
||||
.CodeMirror-lint-mark-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg=="); }
|
||||
|
||||
.CodeMirror-lint-mark-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJFhQXEbhTg7YAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAMklEQVQI12NkgIIvJ3QXMjAwdDN+OaEbysDA4MPAwNDNwMCwiOHLCd1zX07o6kBVGQEAKBANtobskNMAAAAASUVORK5CYII="); }
|
||||
|
||||
.CodeMirror-lint-marker-error, .CodeMirror-lint-marker-warning {
|
||||
.CodeMirror-lint-mark-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAYAAAC09K7GAAAAAXNSR0IArs4c6QAAAAZiS0dEAP8A/wD/oL2nkwAAAAlwSFlzAAALEwAACxMBAJqcGAAAAAd0SU1FB9sJDw4cOCW1/KIAAAAZdEVYdENvbW1lbnQAQ3JlYXRlZCB3aXRoIEdJTVBXgQ4XAAAAHElEQVQI12NggIL/DAz/GdA5/xkY/qPKMDAwAADLZwf5rvm+LQAAAABJRU5ErkJggg=="); }
|
||||
|
||||
.CodeMirror-lint-marker {
|
||||
background-position: center center;
|
||||
background-repeat: no-repeat;
|
||||
cursor: pointer;
|
||||
@ -5507,17 +5516,17 @@ li.CodeMirror-hint-active {
|
||||
vertical-align: middle;
|
||||
position: relative; }
|
||||
|
||||
.CodeMirror-lint-message-error, .CodeMirror-lint-message-warning {
|
||||
.CodeMirror-lint-message {
|
||||
padding-left: 18px;
|
||||
background-position: top left;
|
||||
background-repeat: no-repeat; }
|
||||
|
||||
.CodeMirror-lint-marker-error, .CodeMirror-lint-message-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII="); }
|
||||
|
||||
.CodeMirror-lint-marker-warning, .CodeMirror-lint-message-warning {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAANlBMVEX/uwDvrwD/uwD/uwD/uwD/uwD/uwD/uwD/uwD6twD/uwAAAADurwD2tQD7uAD+ugAAAAD/uwDhmeTRAAAADHRSTlMJ8mN1EYcbmiixgACm7WbuAAAAVklEQVR42n3PUQqAIBBFUU1LLc3u/jdbOJoW1P08DA9Gba8+YWJ6gNJoNYIBzAA2chBth5kLmG9YUoG0NHAUwFXwO9LuBQL1giCQb8gC9Oro2vp5rncCIY8L8uEx5ZkAAAAASUVORK5CYII="); }
|
||||
|
||||
.CodeMirror-lint-marker-error, .CodeMirror-lint-message-error {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAMAAAAoLQ9TAAAAHlBMVEW7AAC7AACxAAC7AAC7AAAAAAC4AAC5AAD///+7AAAUdclpAAAABnRSTlMXnORSiwCK0ZKSAAAATUlEQVR42mWPOQ7AQAgDuQLx/z8csYRmPRIFIwRGnosRrpamvkKi0FTIiMASR3hhKW+hAN6/tIWhu9PDWiTGNEkTtIOucA5Oyr9ckPgAWm0GPBog6v4AAAAASUVORK5CYII="); }
|
||||
|
||||
.CodeMirror-lint-marker-multiple {
|
||||
background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAMAAADzjKfhAAAACVBMVEUAAAAAAAC/v7914kyHAAAAAXRSTlMAQObYZgAAACNJREFUeNo1ioEJAAAIwmz/H90iFFSGJgFMe3gaLZ0od+9/AQZ0ADosbYraAAAAAElFTkSuQmCC");
|
||||
background-repeat: no-repeat;
|
||||
|
@ -15,73 +15,53 @@ of level 3.
|
||||
List of all Source-Files
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-1: Source Genesis | * Lets the player start with 32 GB of RAM on home computer |
|
||||
| | * Increases all of the player's multipliers by 16%/24%/28% |
|
||||
| BitNode-1: Source Genesis | * Lets the player start with 32 GB of RAM on home computer. |
|
||||
| | * Increases all of the player's multipliers by 16%/24%/28%. |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-2: Rise of the Underworld | * Increases the player's crime success rate, crime money, and |
|
||||
| | charisma multipliers by 24%/36%/42% |
|
||||
| BitNode-2: Rise of the Underworld | * Lets 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 |
|
||||
| | BitNodes will disable this mechanic) |
|
||||
| | * Increases the player's charisma and company salary multipliers by 8%/12%/14% |
|
||||
| | 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. |
|
||||
| | * Each level of this Source-File opens up more of the Singularity Functions to use |
|
||||
| | * Each level of this Source-File opens up more of the Singularity Functions to use. |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-5: Artificial Intelligence | * Unlocks :ref:`gameplay_intelligence` |
|
||||
| | * Unlocks :js:func:`getBitNodeMultipliers` Netscript function |
|
||||
| | * Increases all of the player's hacking-related multipliers by 8%/12%/14% |
|
||||
| BitNode-5: Artificial Intelligence | * Unlocks :ref:`gameplay_intelligence`. |
|
||||
| | * Unlocks :js:func:`getBitNodeMultipliers` and :js:func:`getServer` |
|
||||
| | Netscript functions, as well as :ref:`netscriptformulas`. |
|
||||
| | * Increases all of the player's hacking-related multipliers by 8%/12%/14%. |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-6: Bladeburners | * Unlocks the Bladeburner feature in other BitNodes |
|
||||
| BitNode-6: Bladeburners | * Unlocks the Bladeburner feature in other BitNodes. |
|
||||
| | * Increases all of the player's level and experience gain rate multipliers for |
|
||||
| | combat stats by 8%/12%/14% |
|
||||
| | combat stats by 8%/12%/14%. |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-7: Bladeburners 2079 | * Allows the player to access the :ref:`netscript_bladeburnerapi` in other BitNodes |
|
||||
| | * Increases all of the player's Bladeburner multipliers by 8%/12%/14% |
|
||||
| BitNode-7: Bladeburners 2079 | * Allows the player to access the :ref:`netscript_bladeburnerapi` in other BitNodes.|
|
||||
| | * Increases all of the player's Bladeburner multipliers by 8%/12%/14%. |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-8: Ghost of Wall Street | * Increases the player's hacking growth multiplier by 12%/18%/21% |
|
||||
| BitNode-8: Ghost of Wall Street | * Increases the player's hacking growth multiplier by 12%/18%/21%. |
|
||||
| | * Level 1 grants permanent access to :ref:`WSE <gameplay_stock_market>` and |
|
||||
| | :ref:`TIX API <netscript_tixapi>` |
|
||||
| | * Level 2 grants permanent access to shorting stocks |
|
||||
| | * Level 3 grants permanent access to use limit/stop orders |
|
||||
| | :ref:`TIX API <netscript_tixapi>`. |
|
||||
| | * Level 2 grants permanent access to shorting stocks. |
|
||||
| | * Level 3 grants permanent access to use limit/stop orders. |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-9: Coming Soon | |
|
||||
| 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 3 grants a highly-upgraded Hacknet Server when entering a new BitNode (it |
|
||||
| | will be lost after installing augments). |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-10: Digital Carbon | * Each level of this grants a Duplicate Sleeve. |
|
||||
| | * Allows the player to access the :ref:`netscript_sleeveapi` in other BitNodes |
|
||||
| | * Allows the player to access the :ref:`netscript_sleeveapi` in other BitNodes. |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-11: The Big Crash | * Company favor increases both the player's salary and reputation gain at that |
|
||||
| | company by 1% per favor (rather than just the reputation gain) |
|
||||
| | company by 1% per favor (rather than just the reputation gain). |
|
||||
| | * Increases the player's company salary and reputation gain multipliers by |
|
||||
| | 24%/36%/42% |
|
||||
| | 32%/48%/56%. |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| BitNode-12: The Recursion | * There is no maximum level for this Source-File |
|
||||
| | * Each level of this Source-File increases all of the player's multipliers by 1%. |
|
||||
| | * This affect is multiplicative with itself. This means that level N of this |
|
||||
| | Source-File will result in a multiplier of 1.01^N (or 0.99^N for multipliers |
|
||||
| | that decrease) |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
| | |
|
||||
| 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 |
|
||||
| | Source-File. |
|
||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||
|
@ -3,6 +3,25 @@
|
||||
Changelog
|
||||
=========
|
||||
|
||||
v0.52.1 - 2021-07-10 bugfixing (hydroflame & community)
|
||||
-------------------------------------------
|
||||
|
||||
**Misc.**
|
||||
* Fix game crash/corruption when quitting a job while working for it unfocused.
|
||||
* Fix typo in corporation Market Data.
|
||||
* Fix typo in docs for hackPercent.
|
||||
* The tutorial encourages the players to connect to home before creating `n00dles.script`
|
||||
* The dark web `buy` command now accepts `-1` (one) and `--list` instead of just
|
||||
`-l`. Helps some confused players.
|
||||
* Character overview screen no longer hidden on the corporation screen.
|
||||
* Infiltration difficulty display is now more explicit (It's a big arrow instead
|
||||
of just one word.)
|
||||
* Fix wrong ram value in tutorial. (@MageKing17)
|
||||
* Plenty of augmentation description cleanup (@Kwazygloo)
|
||||
* Plenty of typo/description fixed (@MageKing17)
|
||||
* Cleanup description of singularity function on readthedocs (@PurePandemonium)
|
||||
* Fix bug when autolinking a server while backdooring (@schroederIT)
|
||||
|
||||
v0.52.0 - 2021-06-13 Infiltration 2.0 (hydroflame & community)
|
||||
--------------------------------------------------------------
|
||||
|
||||
|
@ -66,7 +66,7 @@ documentation_title = '{0} Documentation'.format(project)
|
||||
# The short X.Y version.
|
||||
version = '0.52'
|
||||
# The full version, including alpha/beta/rc tags.
|
||||
release = '0.52.0'
|
||||
release = '0.52.1'
|
||||
|
||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||
# for a list of supported languages.
|
||||
|
@ -5,13 +5,16 @@ getBitNodeMultipliers() Netscript Function
|
||||
|
||||
:RAM cost: 4 GB
|
||||
|
||||
Returns an object containing the current BitNode multipliers. This function
|
||||
requires Source-File 5 in order to run. The multipliers are returned in
|
||||
decimal forms (e.g. 1.5 instead of 150%). The multipliers represent the
|
||||
difference between the current BitNode and the original BitNode (BitNode-1).
|
||||
For example, if the *CrimeMoney* multiplier has a value of 0.1, then that
|
||||
means that committing crimes in the current BitNode will only give 10% of
|
||||
the money you would have received in BitNode-1.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
run this function.
|
||||
|
||||
Returns an object containing the current BitNode multipliers. The
|
||||
multipliers are returned in decimal forms (e.g. 1.5 instead of 150%). The
|
||||
multipliers represent the difference between the current BitNode and the
|
||||
original BitNode (BitNode-1). For example, if the *CrimeMoney* multiplier
|
||||
has a value of 0.1, then that means that committing crimes in the current
|
||||
BitNode will only give 10% of the money you would have received in
|
||||
BitNode-1.
|
||||
|
||||
The structure of the returned object is subject to change as BitNode
|
||||
multipliers get added to the game. Refer to the `source code here
|
||||
|
@ -3,7 +3,7 @@ getServer() Netscript Function
|
||||
|
||||
.. js:function:: getServer([hostname])
|
||||
|
||||
:RAM cost: 4 GB
|
||||
:RAM cost: 2 GB
|
||||
:param string hostname: Hostname of the server, defaults to host server.
|
||||
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to run this function.
|
||||
|
@ -7,8 +7,8 @@ brutessh() Netscript Function
|
||||
|
||||
:param string hostname: Hostname of the target server.
|
||||
|
||||
Runs the BruteSSH.exe program on the target server. BruteSSH.exe must exist
|
||||
on your home computer.
|
||||
Runs the ``BruteSSH.exe`` program on the target server. ``BruteSSH.exe``
|
||||
must exist on your home computer.
|
||||
|
||||
Examples:
|
||||
|
||||
|
@ -9,9 +9,3 @@ disableLog() Netscript Function
|
||||
|
||||
Disables logging for the given function. Logging can be disabled for
|
||||
all functions by passing 'ALL' as the argument.
|
||||
|
||||
Note that this does not completely remove all logging functionality.
|
||||
This only stops a function from logging when the function is successful. If
|
||||
the function fails, it will still log the reason for failure.
|
||||
|
||||
Notable functions that cannot have their logs disabled: run, exec, exit
|
||||
|
@ -19,9 +19,8 @@ exec() Netscript Function
|
||||
the :doc:`run<run>` function except that it can be used to run a script on any
|
||||
server, instead of just the current server.
|
||||
|
||||
.. warning:: Running this function with a ``numThreads`` argument of 0 will return 0 without
|
||||
running the script. However, running this function with a negative *numThreads*
|
||||
argument will cause a runtime error.
|
||||
.. warning:: Running this function with a ``numThreads`` argument of 0 or
|
||||
less will cause a runtime error.
|
||||
|
||||
The simplest way to use the :doc:`exec<exec>` command is to call it with
|
||||
just the script name and the target server. The following example will try
|
||||
|
@ -6,3 +6,12 @@ exit() Netscript Function
|
||||
:RAM cost: 0 GB
|
||||
|
||||
Terminates the current script immediately.
|
||||
|
||||
.. warning:: In :ref:`netscriptjs`, execution may continue past a call to
|
||||
this function; while some game-related functions (e.g. those with an
|
||||
``ns.`` prefix) will not function after this function has been called,
|
||||
there might still be unintended behavior if you assume ``exit`` will
|
||||
immediately halt execution, like it does in :ref:`netscript1`. To be
|
||||
safe, you should probably ``return`` from the main function instead
|
||||
of/in addition to calling ``ns.exit()`` when halting a NetscriptJS
|
||||
script.
|
||||
|
@ -7,17 +7,22 @@ flags() Netscript Function
|
||||
:param data array of pairs of strings: Flags definition.
|
||||
:returns: Object containing all the flags that were parsed or default.
|
||||
|
||||
The flag definition is an array of pairs of values, the first value is the
|
||||
name of the flag, the 2nd value is the default value for that flag.
|
||||
This function allows for a more flexible way of parsing script arguments
|
||||
than to just pass a fixed list in a fixed order. Options can be given
|
||||
names, and passed in any order, while having defined default values.
|
||||
|
||||
The flag definition is an array of pairs of values: the first value is the
|
||||
name of the flag, and the 2nd value is the default value for that flag.
|
||||
|
||||
The return object is a map containing flag names to the value. It also
|
||||
contains the special field '_' which contains all arguments that were not flags.
|
||||
contains the special field '_', which contains all arguments that were not
|
||||
flags.
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
/* example.script
|
||||
// example.script
|
||||
var data = flags([
|
||||
['delay', 0], // a default number means this flag is a number
|
||||
['server', 'foodnstuff'], // a default string means this flag is a string
|
||||
@ -25,16 +30,17 @@ flags() Netscript Function
|
||||
['help', false], // a default boolean means this flag is a boolean
|
||||
]);
|
||||
tprint(data);
|
||||
*/
|
||||
/*
|
||||
[home ~/]> run example.script
|
||||
{"_":[],"delay":0,"server":"foodnstuff"}
|
||||
{"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":false}
|
||||
[home ~/]> run example.script --delay 3000
|
||||
{"_":[],"server":"foodnstuff","delay":3000}
|
||||
{"_":[],"server":"foodnstuff","exclude":[],"help":false,"delay":3000}
|
||||
[home ~/]> run example.script --delay 3000 --server harakiri-sushi
|
||||
{"_":[],"delay":3000,"server":"harakiri-sushi"}
|
||||
{"_":[],"exclude":[],"help":false,"delay":3000,"server":"harakiri-sushi"}
|
||||
[home ~/]> run example.script --delay 3000 --server harakiri-sushi hello world
|
||||
{"_":["hello","world"],"delay":3000,"server":"harakiri-sushi"}
|
||||
{"_":["hello","world"],"exclude":[],"help":false,"delay":3000,"server":"harakiri-sushi"}
|
||||
[home ~/]> run example.script --delay 3000 --server harakiri-sushi hello world --exclude a --exclude b
|
||||
{"_":["hello","world"],"delay":3000,"server":"harakiri-sushi","exclude":["a","b"]}
|
||||
{"_":["hello","world"],"help":false,"delay":3000,"server":"harakiri-sushi","exclude":["a","b"]}
|
||||
[home ~/]> run example.script --help
|
||||
{"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":true}
|
||||
*/
|
||||
|
@ -10,7 +10,6 @@ ftpcrack() Netscript Function
|
||||
Runs the ``FTPCrack.exe`` program on the target server. ``FTPCrack.exe``
|
||||
must exist on your home computer.
|
||||
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
@ -13,7 +13,6 @@ getGrowTime() Netscript Function
|
||||
The function takes in an optional ``hackLvl`` parameter that can be
|
||||
specified to see what the grow time would be at different hacking levels.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
@ -11,4 +11,3 @@ getHostname() Netscript Function
|
||||
.. code-block:: javascript
|
||||
|
||||
getHostname(); // returns: "foodnstuff"
|
||||
|
||||
|
@ -10,89 +10,89 @@ getPlayer() Netscript Function
|
||||
Returns an object with the Player's stats. The object has the following properties::
|
||||
|
||||
{
|
||||
hacking_skill
|
||||
hp
|
||||
max_hp
|
||||
strength
|
||||
defense
|
||||
dexterity
|
||||
agility
|
||||
charisma
|
||||
intelligence
|
||||
hacking_chance_mult
|
||||
hacking_speed_mult
|
||||
hacking_money_mult
|
||||
hacking_grow_mult
|
||||
hacking_exp
|
||||
strength_exp
|
||||
defense_exp
|
||||
dexterity_exp
|
||||
agility_exp
|
||||
charisma_exp
|
||||
hacking_mult
|
||||
strength_mult
|
||||
defense_mult
|
||||
dexterity_mult
|
||||
agility_mult
|
||||
charisma_mult
|
||||
hacking_exp_mult
|
||||
strength_exp_mult
|
||||
defense_exp_mult
|
||||
dexterity_exp_mult
|
||||
agility_exp_mult
|
||||
charisma_exp_mult
|
||||
company_rep_mult
|
||||
faction_rep_mult
|
||||
money
|
||||
city
|
||||
location
|
||||
crime_money_mult
|
||||
crime_success_mult
|
||||
isWorking
|
||||
workType
|
||||
currentWorkFactionName
|
||||
currentWorkFactionDescription
|
||||
workHackExpGainRate
|
||||
workStrExpGainRate
|
||||
workDefExpGainRate
|
||||
workDexExpGainRate
|
||||
workAgiExpGainRate
|
||||
workChaExpGainRate
|
||||
workRepGainRate
|
||||
workMoneyGainRate
|
||||
workMoneyLossRate
|
||||
workHackExpGained
|
||||
workStrExpGained
|
||||
workDefExpGained
|
||||
workDexExpGained
|
||||
workAgiExpGained
|
||||
workChaExpGained
|
||||
workRepGained
|
||||
workMoneyGained
|
||||
createProgramName
|
||||
createProgramReqLvl
|
||||
className
|
||||
crimeType
|
||||
work_money_mult
|
||||
hacknet_node_money_mult
|
||||
hacknet_node_purchase_cost_mult
|
||||
hacknet_node_ram_cost_mult
|
||||
hacknet_node_core_cost_mult
|
||||
hacknet_node_level_cost_mult
|
||||
hasWseAccount
|
||||
hasTixApiAccess
|
||||
has4SData
|
||||
has4SDataTixApi
|
||||
bladeburner_max_stamina_mult
|
||||
bladeburner_stamina_gain_mult
|
||||
bladeburner_success_chance_mult
|
||||
bitNodeN
|
||||
totalPlaytime
|
||||
playtimeSinceLastAug
|
||||
playtimeSinceLastBitnode
|
||||
jobs
|
||||
factions
|
||||
tor
|
||||
hacking_skill: Current Hacking skill level
|
||||
hp: Current health points
|
||||
max_hp: Maximum health points
|
||||
strength: Current Strength skill level
|
||||
defense: Current Defense skill level
|
||||
dexterity: Current Dexterity skill level
|
||||
agility: Current Agility skill level
|
||||
charisma: Current Charisma skill level
|
||||
intelligence: Current Intelligence skill level (from BitNode-5)
|
||||
hacking_chance_mult: Hacking Chance multiplier (from Source-Files and Augments)
|
||||
hacking_speed_mult: Hacking Speed multiplier (from Source-Files and Augments)
|
||||
hacking_money_mult: Hacking Money multiplier (from Source-Files and Augments)
|
||||
hacking_grow_mult: Hacking Growth multiplier (from Source-Files and Augments)
|
||||
hacking_exp: Current Hacking experience points
|
||||
strength_exp: Current Strength experience points
|
||||
defense_exp: Current Defense experience points
|
||||
dexterity_exp: Current Dexterity experience points
|
||||
agility_exp: Current Agility experience points
|
||||
charisma_exp: Current Charisma experience points
|
||||
hacking_mult: Hacking Level multiplier (from Source-Files and Augments)
|
||||
strength_mult: Strength Level multiplier (from Source-Files and Augments)
|
||||
defense_mult: Defense Level multiplier (from Source-Files and Augments)
|
||||
dexterity_mult: Dexterity Level multiplier (from Source-Files and Augments)
|
||||
agility_mult: Agility Level multiplier (from Source-Files and Augments)
|
||||
charisma_mult: Charisma Level multiplier (from Source-Files and Augments)
|
||||
hacking_exp_mult: Hacking Experience multiplier (from Source-Files and Augments)
|
||||
strength_exp_mult: Strength Experience multiplier (from Source-Files and Augments)
|
||||
defense_exp_mult: Defense Experience multiplier (from Source-Files and Augments)
|
||||
dexterity_exp_mult: Dexterity Experience multiplier (from Source-Files and Augments)
|
||||
agility_exp_mult: Agility Experience multiplier (from Source-Files and Augments)
|
||||
charisma_exp_mult: Charisma Experience multiplier (from Source-Files and Augments)
|
||||
company_rep_mult: Company reputation gain multiplier (from Source-Files and Augments)
|
||||
faction_rep_mult: Faction reputation gain multiplier (from Source-Files and Augments)
|
||||
money: Current money
|
||||
city: Name of city you are currently in
|
||||
location: Name of the last location visited
|
||||
crime_money_mult: Crime money multiplier (from Source-Files and Augments)
|
||||
crime_success_mult: Crime success multiplier (from Source-Files and Augments)
|
||||
isWorking: Boolean indicating whether the player is currently performing work
|
||||
workType: Name of the kind of work the player is performing
|
||||
currentWorkFactionName: Name of the faction the player is currently working for
|
||||
currentWorkFactionDescription: Description of the kind of work the player is currently doing
|
||||
workHackExpGainRate: Amount of Hacking experience the player will gain every cycle (fifth of a second)
|
||||
workStrExpGainRate: Amount of Strength experience the player will gain every cycle
|
||||
workDefExpGainRate: Amount of Defense experience the player will gain every cycle
|
||||
workDexExpGainRate: Amount of Dexterity experience the player will gain every cycle
|
||||
workAgiExpGainRate: Amount of Agility experience the player will gain every cycle
|
||||
workChaExpGainRate: Amount of Charisma experience the player will gain every cycle
|
||||
workRepGainRate: Amount of Reputation the player will gain every cycle
|
||||
workMoneyGainRate: Amount of Money the player will gain every cycle
|
||||
workMoneyLossRate: Amount of Money the player will lose every cycle
|
||||
workHackExpGained: Total Hacking experience gained while working thus far
|
||||
workStrExpGained: Total Strength experience gained while working thus far
|
||||
workDefExpGained: Total Defense experience gained while working thus far
|
||||
workDexExpGained: Total Dexterity experience gained while working thus far
|
||||
workAgiExpGained: Total Agility experience gained while working thus far
|
||||
workChaExpGained: Total Charisma experience gained while working thus far
|
||||
workRepGained: Total Reputation gained while working thus far
|
||||
workMoneyGained: Total Money gained while working thus far
|
||||
createProgramName: Name of the program the player is currently creating
|
||||
createProgramReqLvl: Hacking skill required to make that program
|
||||
className: Name of the class the player is currently studying
|
||||
crimeType: Name of the crime the player last started
|
||||
work_money_mult: Salary multiplier (from Source-Files and Augments)
|
||||
hacknet_node_money_mult: Hacknet Node production multiplier (from Source-Files and Augments)
|
||||
hacknet_node_purchase_cost_mult: Hacknet Node purchase cost multiplier (from Source-Files and Augments)
|
||||
hacknet_node_ram_cost_mult: Hacknet Node RAM upgrade cost multiplier (from Source-Files and Augments)
|
||||
hacknet_node_core_cost_mult: Hacknet Node Core purchase cost multiplier (from Source-Files and Augments)
|
||||
hacknet_node_level_cost_mult: Hacknet Node level upgrade cost multiplier (from Source-Files and Augments)
|
||||
hasWseAccount: Boolean indicating whether the player has a WSE Account
|
||||
hasTixApiAccess: Boolean indicating whether the player has TIX API Access
|
||||
has4SData: Boolean indicating whether the player has 4S Market Data Access
|
||||
has4SDataTixApi: Boolean indicating whether the player has 4S Market Data TIX API Access
|
||||
bladeburner_max_stamina_mult: Bladeburner Max Stamina multiplier (from Source-Files and Augments)
|
||||
bladeburner_stamina_gain_mult: Bladeburner Stamina Gain multiplier (from Source-Files and Augments)
|
||||
bladeburner_success_chance_mult: Bladeburner Success Chance multiplier (from Source-Files and Augments)
|
||||
bitNodeN: Current BitNode number
|
||||
totalPlaytime: Total amount of time the game has been running, in milliseconds
|
||||
playtimeSinceLastAug: Milliseconds since the last time Augmentations were installed
|
||||
playtimeSinceLastBitnode: Milliseconds since this BitNode was started
|
||||
jobs: A mapping of companies the player works for to the title of the player's job at that company
|
||||
factions: An array of factions the player is currently a member of
|
||||
tor: Boolean indicating whether or not you have a tor router
|
||||
}
|
||||
|
||||
Example::
|
||||
|
@ -4,7 +4,7 @@ getRunningScript() Netscript Function
|
||||
.. js:function:: getRunningScript()
|
||||
|
||||
:RAM cost: 0.3 GB
|
||||
:returns: Script object or null if not found
|
||||
:returns: Script object or null if not found.
|
||||
|
||||
The object has the following properties:
|
||||
|
||||
@ -64,8 +64,8 @@ getRunningScript() Netscript Function
|
||||
.. js:function:: getRunningScript(pid)
|
||||
|
||||
:RAM cost: 0.3 GB
|
||||
:param number pid: PID of the script
|
||||
:returns: Script object or null if not found
|
||||
:param number pid: PID of the script.
|
||||
:returns: Script object or null if not found.
|
||||
|
||||
Examples:
|
||||
|
||||
@ -73,13 +73,13 @@ getRunningScript() Netscript Function
|
||||
|
||||
getRunningScript(42); // get the script with pid 42.
|
||||
|
||||
.. js:function:: getRunningScript(fn, hostname[, args])
|
||||
.. js:function:: getRunningScript(fn, hostname[, args...])
|
||||
|
||||
:RAM cost: 0.3 GB
|
||||
:param number fn: filename of the target script
|
||||
:param number hostname: hostname of the server running the script
|
||||
:param number args: arguments to the script.
|
||||
:returns: Script object or null if not found
|
||||
:param number fn: Filename of the target script.
|
||||
:param number hostname: Hostname of the server running the script.
|
||||
:param number args...: Arguments that the script is running with.
|
||||
:returns: Script object or null if not found.
|
||||
|
||||
Examples:
|
||||
|
||||
|
@ -15,4 +15,3 @@ getScriptExpGain() Netscript Function
|
||||
|
||||
.. note:: A script is uniquely identified by both its name and its
|
||||
arguments.
|
||||
|
||||
|
@ -7,10 +7,10 @@ getServerGrowth() Netscript Function
|
||||
:param string hostname: Hostname of target server.
|
||||
:returns: Server growth parameter.
|
||||
|
||||
The growth parameter is a number between 1 and 100 affects the percentage by
|
||||
which the server's money is increased when using the :doc:`grow<grow>`
|
||||
function. A higher growth parameter will result in a higher percentage
|
||||
increase.
|
||||
The growth parameter is a number, typically between 1 and 100, that affects
|
||||
the percentage by which the server's money is increased when using the
|
||||
:doc:`grow<grow>` function. A higher growth parameter will result in a
|
||||
higher percentage increase.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -11,4 +11,4 @@ getServerMaxMoney() Netscript Function
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
getServerMaxMoney('foodnstuff'); // returns: 4000000
|
||||
getServerMaxMoney('foodnstuff'); // returns: 50000000
|
||||
|
@ -3,12 +3,14 @@ getServerRam() Netscript Function
|
||||
|
||||
.. js:function:: getServerRam(hostname)
|
||||
|
||||
.. warning:: This function is deprecated.
|
||||
.. warning:: This function is deprecated. It still functions, but new
|
||||
scripts should prefer :doc:`getServerMaxRam<getServerMaxRam>`
|
||||
and :doc:`getServerUsedRam<getServerUsedRam>` instead.
|
||||
|
||||
:RAM cost: 0.1 GB
|
||||
:param string hostname: Hostname of target server.
|
||||
:returns: An array of 2 number, first number is the total RAM, second the
|
||||
used RAM.
|
||||
:returns: An array of 2 numbers; the first number is the total RAM, and the
|
||||
second is the used RAM.
|
||||
|
||||
Returns an array with two elements that gives information about a server's memory (RAM). The first
|
||||
element in the array is the amount of RAM that the server has total (in GB). The second element in
|
||||
|
@ -6,8 +6,8 @@ httpworm() Netscript Function
|
||||
:RAM cost: 0.05 GB
|
||||
:param string hostname: Hostname of the target server.
|
||||
|
||||
Runs the HTTPWorm.exe program on the target server. HTTPWorm.exe must exist
|
||||
on your home computer.
|
||||
Runs the ``HTTPWorm.exe`` program on the target server. ``HTTPWorm.exe``
|
||||
must exist on your home computer.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -6,7 +6,8 @@ nuke() Netscript Function
|
||||
:RAM cost: 0.05 GB
|
||||
:param string hostname: Hostname of the target server.
|
||||
|
||||
Runs the NUKE.exe program on the target server. NUKE.exe must exist on your home computer.
|
||||
Runs the ``NUKE.exe`` program on the target server. ``NUKE.exe`` must exist
|
||||
on your home computer.
|
||||
|
||||
|
||||
Example:
|
||||
|
@ -6,9 +6,8 @@ relaysmtp() Netscript Function
|
||||
:RAM cost: 0.05 GB
|
||||
:param string hostname: Hostname of the target server.
|
||||
|
||||
|
||||
Runs the relaySMTP.exe program on the target server. relaySMTP.exe must
|
||||
exist on your home computer.
|
||||
Runs the ``relaySMTP.exe`` program on the target server. ``relaySMTP.exe``
|
||||
must exist on your home computer.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -17,9 +17,8 @@ run() Netscript Function
|
||||
scripts located on the current server (the server running the script that
|
||||
calls this function).
|
||||
|
||||
.. warning:: Running this function with a ``numThreads`` argument of 0 will
|
||||
return 0 without running the script. However, running this function with
|
||||
a negative ``numThreads`` argument will cause a runtime error.
|
||||
.. warning:: Running this function with a ``numThreads`` argument of 0 or
|
||||
less will cause a runtime error.
|
||||
|
||||
The simplest way to use the :doc:`run<run>` command is to call it with just
|
||||
the script name. The following example will run ``foo.script``
|
||||
|
@ -9,7 +9,7 @@ scp() Netscript Function
|
||||
Hostname of the source server, which is the server from which the file will be copied.
|
||||
This argument is optional and if it's omitted the source will be the current server.
|
||||
:param string destination: Hostname of the destination server, which is the server to which the file will be copied.
|
||||
:returns: ``true`` is the copy was a success.
|
||||
:returns: ``true`` if the copy was a success.
|
||||
|
||||
Copies a script or literature (.lit) file(s) to another server. The
|
||||
``files`` argument can be either a string specifying a single file to copy,
|
||||
|
@ -8,7 +8,6 @@ sleep() Netscript Function
|
||||
|
||||
Suspends the script for n milliseconds.
|
||||
|
||||
|
||||
Example:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
@ -16,6 +16,8 @@ spawn() Netscript Function
|
||||
current one. This function can only be used to run scripts on the local
|
||||
server.
|
||||
|
||||
.. warning:: Running this function with a ``numThreads`` argument of 0 or
|
||||
less will cause a runtime error.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -6,8 +6,8 @@ sqlinject() Netscript Function
|
||||
:RAM cost: 0.05 GB
|
||||
:param string hostname: Hostname of the target server.
|
||||
|
||||
Runs the SQLInject.exe program on the target server. SQLInject.exe must
|
||||
exist on your home computer.
|
||||
Runs the ``SQLInject.exe`` program on the target server. ``SQLInject.exe``
|
||||
must exist on your home computer.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -44,9 +44,6 @@ tail() Netscript Function
|
||||
// Open logs from process with id 42
|
||||
tail(42);
|
||||
|
||||
// Open logs from process with id 42 on the foodnstuff server
|
||||
tail(42, "foodnstuff");
|
||||
|
||||
.. js:function:: tail()
|
||||
|
||||
:RAM cost: 0 GB
|
||||
|
@ -8,7 +8,6 @@ write() Netscript Function
|
||||
:param string data: Data to write
|
||||
:param string mode: Defines the write mode. Only valid when writing to text files or scripts.
|
||||
|
||||
|
||||
This function can be used to either write data to a port, a text file
|
||||
(.txt), or a script (.script, .js, .ns)
|
||||
|
||||
|
@ -11,8 +11,8 @@ getData() Netscript Function
|
||||
contract type.
|
||||
|
||||
Get the data associated with the specific Coding Contract. Note that this is
|
||||
not the same as the contract's description. This is just the data that
|
||||
the contract wants you to act on in order to solve
|
||||
not the same as the contract's description; this is just the data that
|
||||
the contract wants you to act on in order to solve.
|
||||
|
||||
Example:
|
||||
|
||||
|
@ -8,15 +8,18 @@ calculateExp() Netscript Function
|
||||
:param number mult: Assume a specific skill multipler (not exp multiplier).
|
||||
:returns: number of exp required to reach given ``skillLevel`` with that multiplier.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
This function calculates the amount of experience needed to reach level the given ``skillLevel``.
|
||||
This function calculates the amount of experience needed to reach the given
|
||||
``skillLevel``.
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
nextHacking = getStats().hacking+1;
|
||||
nextExp = formulas.basic.calculateExp(nextHacking);
|
||||
missingExp = nextExp - getCharacterInformation().hackingExp;
|
||||
var player = getPlayer();
|
||||
var nextHacking = player.hacking_skill+1;
|
||||
var nextExp = formulas.basic.calculateExp(nextHacking);
|
||||
var missingExp = nextExp - player.hacking_exp;
|
||||
tprint("Missing " + missingExp + " to reach next hacking level");
|
||||
|
@ -8,7 +8,8 @@ calculateSkill() Netscript Function
|
||||
:param number mult: Assume a specific skill multipler (not exp multiplier).
|
||||
:returns: skillLevel that ``exp`` would reach with that multiplier.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
This function calculates the skillLevel that the given amount of ``exp`` would reach.
|
||||
|
||||
|
@ -7,14 +7,18 @@ growPercent() Netscript Function
|
||||
:param server server: The server that receives the growth.
|
||||
:param number threads: The number of thread that would be used.
|
||||
:param player player: The player.
|
||||
:returns: The percentage growth this server would receive with these parameters.
|
||||
:returns: The amount the server's money would be multiplied by with these
|
||||
parameters.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
Server can be acquired with the :doc:`getServer<../../advancedfunctions/getServer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../singularityfunctions/getPlayer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../basicfunctions/getPlayer>` function.
|
||||
|
||||
This function calculates percentage of growth a server would receive with these parameters.
|
||||
This function calculates the amount of growth, as a multiplier, a server
|
||||
would receive with these parameters. Despite its name, it does not return
|
||||
a percentage.
|
||||
|
||||
Examples:
|
||||
|
||||
|
@ -8,10 +8,11 @@ growTime() Netscript Function
|
||||
:param player player: The player.
|
||||
:returns: The time it takes to grow this server. In seconds.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
Server can be acquired with the :doc:`getServer<../../advancedfunctions/getServer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../singularityfunctions/getPlayer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../basicfunctions/getPlayer>` function.
|
||||
|
||||
This function calculates the amount of time it takes to grow a server.
|
||||
|
||||
|
@ -6,19 +6,20 @@ hackChance() Netscript Function
|
||||
:RAM cost: 0 GB
|
||||
:param server server: The server to hack.
|
||||
:param player player: The player.
|
||||
:returns: The change to hack that server. between 0 and 1.
|
||||
:returns: The chance to hack that server, between 0 and 1.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
Server can be acquired with the :doc:`getServer<../../advancedfunctions/getServer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../singularityfunctions/getPlayer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../basicfunctions/getPlayer>` function.
|
||||
|
||||
This function calculates percentage chance to hack a server.
|
||||
This function calculates the probability to successfully hack a server.
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
server = getServer();
|
||||
var server = getServer();
|
||||
server.hackDifficulty = server.minDifficulty;
|
||||
tprint(formulas.basic.hackChance(server, getPlayer()));
|
@ -8,10 +8,11 @@ hackExp() Netscript Function
|
||||
:param player player: The player.
|
||||
:returns: The amount of exp that would be acquired if this server were to be hacked.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
Server can be acquired with the :doc:`getServer<../../advancedfunctions/getServer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../singularityfunctions/getPlayer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../basicfunctions/getPlayer>` function.
|
||||
|
||||
This function calculates the amount of exp obtained by hacking a server.
|
||||
|
||||
@ -19,6 +20,4 @@ hackExp() Netscript Function
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
server = getServer();
|
||||
server.hackDifficulty = 99.9;
|
||||
tprint(formulas.basic.hackExp(server, getPlayer()));
|
||||
tprint(formulas.basic.hackExp(getServer(), getPlayer()));
|
||||
|
@ -6,15 +6,16 @@ hackPercent() Netscript Function
|
||||
:RAM cost: 0 GB
|
||||
:param server server: The server to hack.
|
||||
:param player player: The player.
|
||||
:returns: The percentage of money hacked from a servers maximum money.
|
||||
:returns: The percentage of money hacked from the server's money.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
Server can be acquired with the :doc:`getServer<../../advancedfunctions/getServer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../singularityfunctions/getPlayer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../basicfunctions/getPlayer>` function.
|
||||
|
||||
This function calculates the percentage of maximum money hacked from a server.
|
||||
Multiply this by thread count to know calculate the percentage for more than 1 thread.
|
||||
This function calculates the percentage of money hacked from a server.
|
||||
Multiply this by thread count to calculate the percentage for more than 1 thread.
|
||||
|
||||
Examples:
|
||||
|
||||
|
@ -8,10 +8,11 @@ hackTime() Netscript Function
|
||||
:param player player: The player.
|
||||
:returns: The time it takes to hack this server. In seconds.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
Server can be acquired with the :doc:`getServer<../../advancedfunctions/getServer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../singularityfunctions/getPlayer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../basicfunctions/getPlayer>` function.
|
||||
|
||||
This function calculates the amount of time it takes to hack a server.
|
||||
|
||||
|
@ -8,10 +8,11 @@ weakenTime() Netscript Function
|
||||
:param player player: The player.
|
||||
:returns: The time it takes to weaken this server. In seconds.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
Server can be acquired with the :doc:`getServer<../../advancedfunctions/getServer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../singularityfunctions/getPlayer>` function.
|
||||
Player can be acquired with the :doc:`getPlayer<../../basicfunctions/getPlayer>` function.
|
||||
|
||||
This function calculates the amount of time it takes to weaken a server.
|
||||
|
||||
|
@ -6,21 +6,28 @@ constants() Netscript Function
|
||||
:RAM cost: 0 GB
|
||||
:returns: A structure with various constants related to hacknet nodes.
|
||||
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
Returns an object with the following properties::
|
||||
|
||||
{
|
||||
MoneyGainPerLevel: Multiplied by the node's level to get the node's base income
|
||||
BaseCost: A multiplier used when buying new nodes or upgrading levels
|
||||
LevelBaseCost: A multiplier used when upgrading levels
|
||||
RamBaseCost: A multiplier used when upgrading RAM
|
||||
CoreBaseCost: A multiplier used when buying additional cores
|
||||
PurchaseNextMult: The root of an exponent used when buying new nodes
|
||||
UpgradeLevelMult: The root of an exponent used when upgrading levels
|
||||
UpgradeRamMult: The root of an exponent used when upgrading RAM
|
||||
UpgradeCoreMult: The root of an exponent used when buying additional cores
|
||||
MaxLevel: Maximum level a node can have
|
||||
MaxRam: Maximum RAM a node can have
|
||||
MaxCores: Maximum number of cores a node can have
|
||||
}
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
{
|
||||
MoneyGainPerLevel
|
||||
BaseCost
|
||||
LevelBaseCost
|
||||
RamBaseCost
|
||||
CoreBaseCost
|
||||
PurchaseNextMult
|
||||
UpgradeLevelMult
|
||||
UpgradeRamMult
|
||||
UpgradeCoreMult
|
||||
MaxLevel
|
||||
MaxRam
|
||||
MaxCores
|
||||
}
|
||||
tprint("Maximum RAM a hacknet node can have: "+formulas.hacknetNodes.constants().MaxRam+" GB.");
|
||||
|
@ -9,7 +9,8 @@ coreUpgradeCost() Netscript Function
|
||||
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||
:returns: Money required to go from ``startingCores`` to ``startingCores+extraCores``.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
This function calculates the cost of upgrading cores from any level to any level.
|
||||
|
||||
|
@ -8,7 +8,8 @@ hacknetNodeCost() Netscript Function
|
||||
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||
:returns: Money required to buy your ``nodeN`` th node.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
This function calculates the cost purchasing a hacknet node.
|
||||
|
||||
|
@ -9,7 +9,8 @@ levelUpgradeCost() Netscript Function
|
||||
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||
:returns: Money required to go from ``startingLevel`` to ``startingLevel+extraLevels``.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
This function calculates the cost of upgrading levels from any level to any level.
|
||||
|
||||
|
@ -9,7 +9,8 @@ moneyGainRate() Netscript Function
|
||||
:param number core: cores of the node.
|
||||
:returns: Money per second that a node with those stats would gain per second.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
This function calculates the money rate of a node with the given stats.
|
||||
|
||||
|
@ -11,7 +11,8 @@ ramUpgradeCost() Netscript Function
|
||||
|
||||
..note:: ``startingRam`` is the actual amount of ram, not the amount of levels of ram.
|
||||
|
||||
You must have Source-File 5-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function.
|
||||
|
||||
This function calculates the cost of upgrading levels from any level to any level.
|
||||
|
||||
|
@ -9,7 +9,9 @@ cacheUpgradeCost() Netscript Function
|
||||
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||
:returns: Money required to go from ``startingLevel`` to ``startingLevel+extraLevels``.
|
||||
|
||||
You must have Source-File 5-1 and Source-File 9-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function. In addition, if you are not in BitNode-9, then you must
|
||||
have Source-File 9-1 in order to use this function.
|
||||
|
||||
This function calculates the cost of upgrading cache from any level to any level.
|
||||
|
||||
|
@ -6,24 +6,32 @@ constants() Netscript Function
|
||||
:RAM cost: 0 GB
|
||||
:returns: A structure with various constants related to hacknet servers.
|
||||
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function. In addition, if you are not in BitNode-9, then you must
|
||||
have Source-File 9-1 in order to use this function.
|
||||
|
||||
Returns an object with the following properties::
|
||||
|
||||
{
|
||||
HashesPerLevel: Multiplied by the server's level to get the server's base income
|
||||
BaseCost: A multiplier used when buying new nodes or upgrading levels
|
||||
RamBaseCost: A multiplier used when upgrading RAM
|
||||
CoreBaseCost: A multiplier used when buying additional cores
|
||||
CacheBaseCost: A multiplier used when upgrading cache
|
||||
PurchaseMult: The root of an exponent used when buying new servers
|
||||
UpgradeLevelMult: The root of an exponent used when upgrading levels
|
||||
UpgradeRamMult: The root of an exponent used when upgrading RAM
|
||||
UpgradeCoreMult: The root of an exponent used when buying additional cores
|
||||
UpgradeCacheMult: The root of an exponent used when upgrading cache
|
||||
MaxServers: Maximum number of hacknet servers you can own
|
||||
MaxLevel: Maximum level a server can have
|
||||
MaxRam: Maximum RAM a server can have
|
||||
MaxCores: Maximum number of cores a server can have
|
||||
MaxCache: Maximum cache a server can have
|
||||
}
|
||||
|
||||
Examples:
|
||||
|
||||
.. code-block:: javascript
|
||||
|
||||
{
|
||||
HashesPerLevel
|
||||
BaseCost
|
||||
RamBaseCost
|
||||
CoreBaseCost
|
||||
CacheBaseCost
|
||||
PurchaseMult
|
||||
UpgradeLevelMult
|
||||
UpgradeRamMult
|
||||
UpgradeCoreMult
|
||||
UpgradeCacheMult
|
||||
MaxServers
|
||||
MaxLevel
|
||||
MaxRam
|
||||
MaxCores
|
||||
MaxCache
|
||||
}
|
||||
tprint("Maximum RAM a hacknet server can have: "+formulas.hacknetServers.constants().MaxRam+" GB");
|
||||
|
@ -9,7 +9,9 @@ coreUpgradeCost() Netscript Function
|
||||
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||
:returns: Money required to go from ``startingCores`` to ``startingCores+extraCores``.
|
||||
|
||||
You must have Source-File 5-1 and Source-File 9-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function. In addition, if you are not in BitNode-9, then you must
|
||||
have Source-File 9-1 in order to use this function.
|
||||
|
||||
This function calculates the cost of upgrading cores from any level to any level.
|
||||
|
||||
|
@ -8,7 +8,9 @@ hacknetServerCost() Netscript Function
|
||||
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||
:returns: Money required to buy your ``serverN`` th node.
|
||||
|
||||
You must have Source-File 5-1 and Source-File 9-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function. In addition, if you are not in BitNode-9, then you must
|
||||
have Source-File 9-1 in order to use this function.
|
||||
|
||||
This function calculates the cost purchasing a hacknet node.
|
||||
|
||||
|
@ -10,7 +10,9 @@ hashGainRate() Netscript Function
|
||||
:param number core: cores of the server.
|
||||
:returns: Money per second that a server with those stats would gain per second.
|
||||
|
||||
You must have Source-File 5-1 and Source-File 9-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function. In addition, if you are not in BitNode-9, then you must
|
||||
have Source-File 9-1 in order to use this function.
|
||||
|
||||
This function calculates the hash rate of a server with the given stats.
|
||||
|
||||
@ -19,7 +21,7 @@ hashGainRate() Netscript Function
|
||||
.. code-block:: javascript
|
||||
|
||||
server = hacknet.getNodeStats(1);
|
||||
currentRate = formulas.hacknetNodes.hashGainRate(server.level, 0, server.ram, server.cores);
|
||||
levelRate = formulas.hacknetNodes.hashGainRate(server.level+1, 0, server.ram, server.cores);
|
||||
ramRate = formulas.hacknetNodes.hashGainRate(server.level, 0, server.ram*2, server.cores);
|
||||
coresRate = formulas.hacknetNodes.hashGainRate(server.level, 0, server.ram, server.cores+1);
|
||||
currentRate = formulas.hacknetServers.hashGainRate(server.level, 0, server.ram, server.cores);
|
||||
levelRate = formulas.hacknetServers.hashGainRate(server.level+1, 0, server.ram, server.cores);
|
||||
ramRate = formulas.hacknetServers.hashGainRate(server.level, 0, server.ram*2, server.cores);
|
||||
coresRate = formulas.hacknetServers.hashGainRate(server.level, 0, server.ram, server.cores+1);
|
||||
|
@ -8,7 +8,9 @@ hashUpgradeCost() Netscript Function
|
||||
:param number level: Level of the upgrade.
|
||||
:returns: Amount of Hash.
|
||||
|
||||
You must have Source-File 5-1 and Source-File 9-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function. In addition, if you are not in BitNode-9, then you must
|
||||
have Source-File 9-1 in order to use this function.
|
||||
|
||||
This function calculates amount of Hash require to buy level ``level`` of upgrade ``upgName``.
|
||||
|
||||
|
@ -9,7 +9,9 @@ levelUpgradeCost() Netscript Function
|
||||
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||
:returns: Money required to go from ``startingLevel`` to ``startingLevel+extraLevels``.
|
||||
|
||||
You must have Source-File 5-1 and Source-File 9-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function. In addition, if you are not in BitNode-9, then you must
|
||||
have Source-File 9-1 in order to use this function.
|
||||
|
||||
This function calculates the cost of upgrading levels from any level to any level.
|
||||
|
||||
|
@ -11,7 +11,9 @@ ramUpgradeCost() Netscript Function
|
||||
|
||||
..note:: ``startingRam`` is the actual amount of ram, not the amount of levels of ram.
|
||||
|
||||
You must have Source-File 5-1 and Source-File 9-1 in order to use this function.
|
||||
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||
use this function. In addition, if you are not in BitNode-9, then you must
|
||||
have Source-File 9-1 in order to use this function.
|
||||
|
||||
This function calculates the cost of upgrading levels from any level to any level.
|
||||
|
||||
|
@ -8,15 +8,19 @@ Netscript Formulas Functions
|
||||
The formulas API allow you to gain insight into the inner workings of the game.
|
||||
These functions will allow you to make more informed decision.
|
||||
|
||||
All of these function cost 0 GB of ram to use. All these function require
|
||||
Source-File 5-1 but some additionally need another source file level 1 to use.
|
||||
The formulas API is unlocked in BitNode-5. If you are in BitNode-5, you will
|
||||
automatically gain access to this API. Otherwise, you must have Source-File 5-1
|
||||
in order to use this API in other BitNodes. Additionally, some functions need
|
||||
another source file level 1 to use.
|
||||
|
||||
All of these function cost 0 GB of ram to use.
|
||||
|
||||
|
||||
basic formulas
|
||||
--------------
|
||||
|
||||
These functions are under the ``formulas.basic.`` name space and available as
|
||||
soon as you acquire Source-File 5-1
|
||||
soon as you enter BitNode-5 or acquire Source-File 5-1.
|
||||
|
||||
.. toctree::
|
||||
calculateSkill() <formulasapi/basic/calculateSkill>
|
||||
@ -34,7 +38,7 @@ hacknetNodes formulas
|
||||
---------------------
|
||||
|
||||
These functions are under the ``formulas.hacknetNodes.`` namespace and available as
|
||||
soon as you acquire Source-File 5-1.
|
||||
soon as you enter BitNode-5 or acquire Source-File 5-1.
|
||||
|
||||
.. toctree::
|
||||
hacknetNodeCost() <formulasapi/hacknetNodes/hacknetNodeCost>
|
||||
@ -48,7 +52,8 @@ hacknetServers formulas
|
||||
-----------------------
|
||||
|
||||
These functions are under the ``formulas.hacknetServers.`` namespace.
|
||||
These functions require Source-File 5-1 and Source-File 9-1 to be invoked.
|
||||
These functions require either being in BitNode-5 or having Source-File 5-1, and
|
||||
also require either being in BitNode-9 or having Source-File 9-1 to be invoked.
|
||||
|
||||
.. toctree::
|
||||
hacknetServerCost() <formulasapi/hacknetServers/hacknetServerCost>
|
||||
|
@ -159,18 +159,21 @@ importing other NetscriptJS scripts::
|
||||
this.args = params.args ? params.args : [];
|
||||
}
|
||||
|
||||
ScriptJob.prototype.run = async function(ns) {
|
||||
ScriptJob.prototype.run = function(ns) {
|
||||
let runArgs = [this.fn, this.threads].concat(this.args);
|
||||
await ns.run.apply(this, runArgs);
|
||||
if (!ns.run.apply(this, runArgs)) {
|
||||
throw new Error("Unable to run " + this.fn + " on " +ns.getHostname());
|
||||
}
|
||||
tprintColored("Running " + this.fn + " on " + ns.getHostname(), "blue");
|
||||
}
|
||||
|
||||
ScriptJob.prototype.exec = async function(ns, target) {
|
||||
ScriptJob.prototype.exec = function(ns, target) {
|
||||
ns.scp(this.fn, target);
|
||||
|
||||
let execArgs = [this.fn, target, this.threads].concat(this.args);
|
||||
await ns.exec.apply(this, execArgs);
|
||||
|
||||
if (!ns.exec.apply(this, execArgs)) {
|
||||
throw new Error("Unable to execute " + this.fn + " on " + target);
|
||||
}
|
||||
tprintColored("Executing " + this.fn + " on " + target, "blue");
|
||||
}
|
||||
|
||||
@ -182,8 +185,8 @@ importing other NetscriptJS scripts::
|
||||
threads: 1,
|
||||
args: ["foodnstuff"]
|
||||
});
|
||||
await job.run(ns);
|
||||
await job.exec(ns, "foodnstuff");
|
||||
job.run(ns);
|
||||
job.exec(ns, "foodnstuff");
|
||||
} catch (e) {
|
||||
ns.tprint("Exception thrown in scriptScheduler.ns: " + e);
|
||||
}
|
||||
|
@ -3,21 +3,16 @@
|
||||
Netscript Singularity Functions
|
||||
===============================
|
||||
|
||||
The Singularity Functions are a special set of Netscript functions. These functions allow you to control
|
||||
many additional aspects of the game through scripts, such as working for factions/companies, purchasing/installing Augmentations,
|
||||
and creating programs.
|
||||
.. warning:: This page contains spoilers for the game.
|
||||
|
||||
The Singularity Functions are a special set of Netscript functions that allow the player to control additional aspects of the game such as working for factions/companies, purchasing/installing Augmentations, and creating programs.
|
||||
|
||||
The Singularity Functions are **not** immediately available to the player and must be unlocked later in the game.
|
||||
|
||||
.. warning:: This page contains spoilers for the game
|
||||
|
||||
The Singularity Functions are unlocked in BitNode-4. If you are in BitNode-4, then you will automatically have access to all of these functions.
|
||||
You can use the Singularity Functions in other BitNodes if and only if you have the Source-File for BitNode-4 (aka Source-File 4). Each level of
|
||||
Source-File 4 will open up additional Singularity Functions that you can use in other BitNodes. If your Source-File 4 is upgraded all the way to
|
||||
level 3, then you will be able to access all of the Singularity Functions.
|
||||
The player has access to all of these functions while in BitNode-4. Completing BitNode-4 and gaining its source-file unlocks certain Singularity Functions for use in other BitNodes, with all functions accessible at level 3.
|
||||
|
||||
.. toctree::
|
||||
:caption: Functions:
|
||||
:caption: Level 1 Functions
|
||||
|
||||
universityCourse() <singularityfunctions/universityCourse>
|
||||
gymWorkout() <singularityfunctions/gymWorkout>
|
||||
@ -30,6 +25,10 @@ level 3, then you will be able to access all of the Singularity Functions.
|
||||
installBackdoor() <singularityfunctions/installBackdoor>
|
||||
hospitalize() <singularityfunctions/hospitalize>
|
||||
isBusy() <singularityfunctions/isBusy>
|
||||
|
||||
.. toctree::
|
||||
:caption: Level 2 Functions
|
||||
|
||||
stopAction() <singularityfunctions/stopAction>
|
||||
upgradeHomeRam() <singularityfunctions/upgradeHomeRam>
|
||||
getUpgradeHomeRamCost() <singularityfunctions/getUpgradeHomeRamCost>
|
||||
@ -44,6 +43,10 @@ level 3, then you will be able to access all of the Singularity Functions.
|
||||
getFactionRep() <singularityfunctions/getFactionRep>
|
||||
getFactionFavor() <singularityfunctions/getFactionFavor>
|
||||
getFactionFavorGain() <singularityfunctions/getFactionFavorGain>
|
||||
|
||||
.. toctree::
|
||||
:caption: Level 3 Functions
|
||||
|
||||
donateToFaction() <singularityfunctions/donateToFaction>
|
||||
createProgram() <singularityfunctions/createProgram>
|
||||
commitCrime() <singularityfunctions/commitCrime>
|
||||
|
1906
package-lock.json
generated
1906
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@ -33,6 +33,7 @@
|
||||
"loader-runner": "^2.3.0",
|
||||
"loader-utils": "^1.1.0",
|
||||
"memory-fs": "~0.4.1",
|
||||
"node-sass": "^6.0.1",
|
||||
"normalize.css": "^8.0.0",
|
||||
"numeral": "2.0.6",
|
||||
"react": "^16.8.3",
|
||||
@ -76,7 +77,6 @@
|
||||
"mkdirp": "^0.5.1",
|
||||
"mocha": "^6.1.4",
|
||||
"mochapack": "^1.1.1",
|
||||
"node-sass": "^5.0.0",
|
||||
"null-loader": "^1.0.0",
|
||||
"raw-loader": "~0.5.0",
|
||||
"sass-loader": "^7.0.3",
|
||||
@ -126,5 +126,5 @@
|
||||
"watch": "webpack --watch --mode production",
|
||||
"watch:dev": "webpack --watch --mode development"
|
||||
},
|
||||
"version": "0.52.0"
|
||||
"version": "0.52.1"
|
||||
}
|
||||
|
@ -41,7 +41,7 @@ function getRandomBonus() {
|
||||
description: "Increases the player's hacking chance by 25%.<br>" +
|
||||
"Increases the player's hacking speed by 10%.<br>" +
|
||||
"Increases the amount of money the player's gains from hacking by 25%.<br>" +
|
||||
"Increases the amount of money the player can inject into servers using grow() by 10%.",
|
||||
"Improves grow() by 10%.",
|
||||
},
|
||||
{
|
||||
bonuses: {
|
||||
@ -54,13 +54,13 @@ function getRandomBonus() {
|
||||
{
|
||||
bonuses: {
|
||||
strength_mult: 1.25,
|
||||
strength_exp_mult: 1.5,
|
||||
strength_exp_mult: 2,
|
||||
defense_mult: 1.25,
|
||||
defense_exp_mult: 1.5,
|
||||
defense_exp_mult: 2,
|
||||
dexterity_mult: 1.25,
|
||||
dexterity_exp_mult: 1.5,
|
||||
dexterity_exp_mult: 2,
|
||||
agility_mult: 1.25,
|
||||
agility_exp_mult: 1.5,
|
||||
agility_exp_mult: 2,
|
||||
},
|
||||
description: "Increases all of the player's combat stats by 25%.<br>" +
|
||||
"Increases all of the player's combat stat experience gain rate by 100%.",
|
||||
@ -158,9 +158,8 @@ function initAugmentations() {
|
||||
|
||||
const Targeting1 = new Augmentation({
|
||||
name:AugmentationNames.Targeting1, moneyCost:1.5e7, repCost:5e3,
|
||||
info:"This cranial implant is embedded within the player's inner ear structure and optic nerves. It regulates and enhances the user's " +
|
||||
"balance and hand-eye coordination. It is also capable of augmenting reality by projecting digital information " +
|
||||
"directly onto the retina. These enhancements allow the player to better lock-on and keep track of enemies.<br><br>" +
|
||||
info:"A cranial implant that is embedded within the inner ear structures and optic nerves. It regulates " +
|
||||
"and enhances balance and hand-eye coordination.<br><br>" +
|
||||
"This augmentation increases the player's dexterity by 10%.",
|
||||
dexterity_mult: 1.1,
|
||||
});
|
||||
@ -173,8 +172,8 @@ function initAugmentations() {
|
||||
|
||||
const Targeting2 = new Augmentation({
|
||||
name:AugmentationNames.Targeting2, moneyCost:4.25e7, repCost:8.75e3,
|
||||
info:"This is an upgrade of the Augmented Targeting I cranial implant, which is capable of augmenting reality " +
|
||||
"and enhances the user's balance and hand-eye coordination.<br><br>" +
|
||||
info:"This upgraded version of the 'Augmented Targeting' implant is capable of augmenting " +
|
||||
"reality by digitally displaying weaknesses and vital signs of threats.<br><br>" +
|
||||
"This augmentation increases the player's dexterity by 20%.",
|
||||
prereqs:[AugmentationNames.Targeting1],
|
||||
dexterity_mult: 1.2,
|
||||
@ -188,8 +187,8 @@ function initAugmentations() {
|
||||
|
||||
const Targeting3 = new Augmentation({
|
||||
name:AugmentationNames.Targeting3, moneyCost:1.15e8, repCost:2.75e4,
|
||||
info:"This is an upgrade of the Augmented Targeting II cranial implant, which is capable of augmenting reality " +
|
||||
"and enhances the user's balance and hand-eye coordination.<br><br>" +
|
||||
info:"The latest version of the 'Augmented Targeting' implant adds the ability to " +
|
||||
"lock-on and track threats.<br><br>" +
|
||||
"This augmentation increases the player's dexterity by 30%.",
|
||||
prereqs:[AugmentationNames.Targeting2],
|
||||
dexterity_mult: 1.3,
|
||||
@ -203,8 +202,8 @@ function initAugmentations() {
|
||||
|
||||
const SyntheticHeart = new Augmentation({
|
||||
name:AugmentationNames.SyntheticHeart, moneyCost:2.875e9, repCost:7.5e5,
|
||||
info:"This advanced artificial heart, created from plasteel and graphene, is capable of pumping more blood " +
|
||||
"at much higher efficiencies than a normal human heart.<br><br>" +
|
||||
info:"This advanced artificial heart, created from plasteel and graphene, is capable of pumping blood " +
|
||||
"more efficiently than an organic heart.<br><br>" +
|
||||
"This augmentation increases the player's agility and strength by 50%.",
|
||||
agility_mult: 1.5,
|
||||
strength_mult: 1.5,
|
||||
@ -234,8 +233,8 @@ function initAugmentations() {
|
||||
|
||||
const CombatRib1 = new Augmentation({
|
||||
name:AugmentationNames.CombatRib1, repCost:7.5e3, moneyCost:2.375e7,
|
||||
info:"The human body's ribs are replaced with artificial ribs that automatically and continuously release cognitive " +
|
||||
"and performance-enhancing drugs into the bloodstream, improving the user's abilities in combat.<br><br>" +
|
||||
info:"The rib cage is augmented to continuously release boosters into the bloodstream " +
|
||||
"which increase the oxygen-carrying capacity of blood.<br><br>" +
|
||||
"This augmentation increases the player's strength and defense by 10%.",
|
||||
strength_mult: 1.1,
|
||||
defense_mult: 1.1,
|
||||
@ -249,8 +248,8 @@ function initAugmentations() {
|
||||
|
||||
const CombatRib2 = new Augmentation({
|
||||
name:AugmentationNames.CombatRib2, repCost:1.875e4, moneyCost:6.5e7,
|
||||
info:"This is an upgrade to the Combat Rib I augmentation, and is capable of releasing even more potent combat-enhancing " +
|
||||
"drugs into the bloodstream.<br><br>" +
|
||||
info:"An upgraded version of the 'Combat Rib' augmentation that adds potent stimulants which " +
|
||||
"improve focus and endurance while decreasing reaction time and fatigue.<br><br>" +
|
||||
"This augmentation increases the player's strength and defense by 14%.",
|
||||
prereqs:[AugmentationNames.CombatRib1],
|
||||
strength_mult: 1.14,
|
||||
@ -265,8 +264,8 @@ function initAugmentations() {
|
||||
|
||||
const CombatRib3 = new Augmentation({
|
||||
name:AugmentationNames.CombatRib3, repCost:3.5e4, moneyCost:1.2e8,
|
||||
info:"This is an upgrade to the Combat Rib II augmentation, and is capable of releasing even more potent combat-enhancing " +
|
||||
"drugs into the bloodstream.<br><br>" +
|
||||
info:"The latest version of the 'Combat Rib' augmentation releases advanced anabolic steroids that " +
|
||||
"improve muscle mass and physical performance while being safe and free of side effects.<br><br>" +
|
||||
"This augmentation increases the player's strength and defense by 18%.",
|
||||
prereqs:[AugmentationNames.CombatRib2],
|
||||
strength_mult: 1.18,
|
||||
@ -281,8 +280,8 @@ function initAugmentations() {
|
||||
|
||||
const NanofiberWeave = new Augmentation({
|
||||
name:AugmentationNames.NanofiberWeave, repCost:3.75e4, moneyCost:1.25e8,
|
||||
info:"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning. " +
|
||||
"This improves the skin's ability to regenerate itself and protect the body from external stresses and forces.<br><br>" +
|
||||
info:"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning, " +
|
||||
"which improves its regenerative and extracellular homeostasis abilities.<br><br>" +
|
||||
"This augmentation increases the player's strength and defense by 20%.",
|
||||
strength_mult: 1.2,
|
||||
defense_mult: 1.2,
|
||||
@ -314,7 +313,7 @@ function initAugmentations() {
|
||||
const WiredReflexes = new Augmentation({
|
||||
name:AugmentationNames.WiredReflexes, repCost:1.25e3, moneyCost:2.5e6,
|
||||
info:"Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, " +
|
||||
"supercharging the body's ability to send signals through neurons. This results in increased reflex speed.<br><br>" +
|
||||
"supercharging the spread of neural signals and increasing reflex speed.<br><br>" +
|
||||
"This augmentation increases the player's agility and dexterity by 5%.",
|
||||
agility_mult: 1.05,
|
||||
dexterity_mult: 1.05,
|
||||
@ -328,8 +327,8 @@ function initAugmentations() {
|
||||
|
||||
const GrapheneBoneLacings = new Augmentation({
|
||||
name:AugmentationNames.GrapheneBoneLacings, repCost:1.125e6, moneyCost:4.25e9,
|
||||
info:"A graphene-based material is grafted and fused into the user's bones, significantly increasing " +
|
||||
"their density and tensile strength.<br><br>" +
|
||||
info:"Graphene is grafted and fused into the skeletal structure, " +
|
||||
"enhancing bone density and tensile strength.<br><br>" +
|
||||
"This augmentation increases the player's strength and defense by 70%.",
|
||||
strength_mult: 1.7,
|
||||
defense_mult: 1.7,
|
||||
@ -342,10 +341,10 @@ function initAugmentations() {
|
||||
|
||||
const BionicSpine = new Augmentation({
|
||||
name:AugmentationNames.BionicSpine, repCost:4.5e4, moneyCost:1.25e8,
|
||||
info:"An artificial spine created from plasteel and carbon fibers that completely replaces the organic spine. " +
|
||||
"Not only is the Bionic Spine physically stronger than a human spine, but it is also capable of digitally " +
|
||||
"stimulating and regulating the neural signals that are sent and received by the spinal cord. This results in " +
|
||||
"greatly improved senses and reaction speeds.<br><br>" +
|
||||
info:"The spine is reconstructed using plasteel and carbon fibers. " +
|
||||
"It is now capable of stimulating and regulating neural signals " +
|
||||
"passing through the spinal cord, improving senses and reaction speed. " +
|
||||
"The 'Bionic Spine' also interfaces with all other 'Bionic' implants.<br><br>" +
|
||||
"This augmentation increases all of the player's combat stats by 15%.",
|
||||
strength_mult: 1.15,
|
||||
defense_mult: 1.15,
|
||||
@ -361,8 +360,8 @@ function initAugmentations() {
|
||||
|
||||
const GrapheneBionicSpine = new Augmentation({
|
||||
name:AugmentationNames.GrapheneBionicSpine, repCost:1.625e6, moneyCost:6e9,
|
||||
info:"An upgrade to the Bionic Spine augmentation. It fuses the implant with an advanced graphene " +
|
||||
"material to make it much stronger and lighter.<br><br>" +
|
||||
info:"An upgrade to the 'Bionic Spine' augmentation. The spine is fused with graphene " +
|
||||
"which enhances durability and supercharges all body functions.<br><br>" +
|
||||
"This augmentation increases all of the player's combat stats by 60%.",
|
||||
prereqs:[AugmentationNames.BionicSpine],
|
||||
strength_mult: 1.6,
|
||||
@ -378,7 +377,7 @@ function initAugmentations() {
|
||||
|
||||
const BionicLegs = new Augmentation({
|
||||
name:AugmentationNames.BionicLegs, repCost:1.5e5, moneyCost:3.75e8,
|
||||
info:"Cybernetic legs created from plasteel and carbon fibers that completely replace the user's organic legs.<br><br>" +
|
||||
info:"Cybernetic legs, created from plasteel and carbon fibers, enhance running speed.<br><br>" +
|
||||
"This augmentation increases the player's agility by 60%.",
|
||||
agility_mult: 1.6,
|
||||
});
|
||||
@ -391,8 +390,8 @@ function initAugmentations() {
|
||||
|
||||
const GrapheneBionicLegs = new Augmentation({
|
||||
name:AugmentationNames.GrapheneBionicLegs, repCost:7.5e5, moneyCost:4.5e9,
|
||||
info:"An upgrade to the Bionic Legs augmentation. It fuses the implant with an advanced graphene " +
|
||||
"material to make it much stronger and lighter.<br><br>" +
|
||||
info:"An upgrade to the 'Bionic Legs' augmentation. The legs are fused " +
|
||||
"with graphene, greatly enhancing jumping ability.<br><br>" +
|
||||
"This augmentation increases the player's agility by 150%.",
|
||||
prereqs: [AugmentationNames.BionicLegs],
|
||||
agility_mult: 2.5,
|
||||
@ -798,7 +797,7 @@ function initAugmentations() {
|
||||
"This augmentation:<br>" +
|
||||
"Increases the player's hacking speed by 2%.<br>" +
|
||||
"Increases the amount of money the player gains from hacking by 20%.<br>" +
|
||||
"Increases the amount of money the player can inject into servers using grow() by 25%.",
|
||||
"Improves grow() by 25%.",
|
||||
prereqs:[AugmentationNames.CranialSignalProcessorsG3],
|
||||
hacking_speed_mult: 1.02,
|
||||
hacking_money_mult: 1.2,
|
||||
@ -819,7 +818,7 @@ function initAugmentations() {
|
||||
"This augmentation:<br>" +
|
||||
"Increases the player's hacking skill by 30%.<br>" +
|
||||
"Increases the amount of money the player gains from hacking by 25%.<br>" +
|
||||
"Increases the amount of money the player can inject into servers using grow() by 75%.",
|
||||
"Improves grow() by 75%.",
|
||||
prereqs:[AugmentationNames.CranialSignalProcessorsG4],
|
||||
hacking_mult: 1.3,
|
||||
hacking_money_mult: 1.25,
|
||||
@ -1250,7 +1249,7 @@ function initAugmentations() {
|
||||
|
||||
const LuminCloaking2 = new Augmentation({
|
||||
name:AugmentationNames.LuminCloaking2, repCost:5e3, moneyCost:3e7,
|
||||
info:"This is a more advanced version of the LuminCloaking-V2 augmentation. This skin implant " +
|
||||
info:"This is a more advanced version of the LuminCloaking-V1 augmentation. This skin implant " +
|
||||
"reinforces the skin with highly-advanced synthetic cells. These " +
|
||||
"cells, when powered, are capable of not only bending light but also of bending heat, " +
|
||||
"making the user more resilient as well as stealthy.<br><br>" +
|
||||
@ -1487,7 +1486,7 @@ function initAugmentations() {
|
||||
"Even though it contains no weapons, the advanced tungsten titanium " +
|
||||
"alloy increases the users strength to unbelievable levels. The augmentation " +
|
||||
"gets more powerful over time for seemingly no reason.<br><br>" +
|
||||
"This augmentation increases the player's strength by 270%.",
|
||||
"This augmentation increases the player's strength by 170%.",
|
||||
strength_mult: 2.70,
|
||||
});
|
||||
HydroflameLeftArm.addToFactions(["NWO"]);
|
||||
|
@ -111,8 +111,8 @@ BitNodes["BitNode5"] = new BitNode(5, "Artificial Intelligence", "Posthuman",
|
||||
"gaining Intelligence experience is much slower than other stats, and it is also hidden (you won't know " +
|
||||
"when you gain experience and how much). Higher Intelligence levels will boost your production for many actions " +
|
||||
"in the game. <br><br>" +
|
||||
"In addition, this Source-File will unlock the getBitNodeMultipliers() Netscript function, " +
|
||||
"and will also raise all of your hacking-related multipliers by:<br><br>" +
|
||||
"In addition, this Source-File will unlock the getBitNodeMultipliers() and getServer() Netscript functions, " +
|
||||
"as well as the formulas API, and will also raise all of your hacking-related multipliers by:<br><br>" +
|
||||
"Level 1: 8%<br>" +
|
||||
"Level 2: 12%<br>" +
|
||||
"Level 3: 14%");
|
||||
|
@ -23,7 +23,7 @@ export const CorporationUnlockUpgrades: IMap<any[]> = {
|
||||
"3": [3, 5e9, "Market Data - Competition",
|
||||
"Mine and analyze market data to determine how much competition there is on the market " +
|
||||
"for all resources. The competition attribute, which affects sales, will be displayed for " +
|
||||
"for every material and product."],
|
||||
"every material and product."],
|
||||
"4": [4, 10e9, "VeChain",
|
||||
"Use AI and blockchain technology to identify where you can improve your supply chain systems. " +
|
||||
"This upgrade will allow you to view a wide array of useful statistics about your " +
|
||||
|
@ -35,7 +35,7 @@ export function executeDarkwebTerminalCommand(commandArray: string[]): void {
|
||||
return;
|
||||
}
|
||||
const arg = commandArray[1];
|
||||
if (arg == "-l") {
|
||||
if (arg == "-l" || arg == "-1" || arg == "--list") {
|
||||
listAllDarkwebItems();
|
||||
} else {
|
||||
buyDarkwebItem(arg);
|
||||
|
@ -21,6 +21,25 @@ function diffStr(d: number): string {
|
||||
return "impossible";
|
||||
}
|
||||
|
||||
function arrowPart(color: string, length: number): JSX.Element {
|
||||
let arrow = "";
|
||||
if(length <= 0) length = 0;
|
||||
else if(length > 13) length = 13;
|
||||
else {
|
||||
length--;
|
||||
arrow = ">";
|
||||
}
|
||||
return <span style={{color: color}}>{"=".repeat(length)}{arrow}{" ".repeat(13-arrow.length-length)}</span>
|
||||
}
|
||||
|
||||
function coloredArrow(difficulty: number): JSX.Element {
|
||||
if(difficulty === 0) {
|
||||
return <span style={{color: 'white'}}>{'>'}{" ".repeat(38)}</span>
|
||||
} else {
|
||||
return <>{arrowPart('white', difficulty*13)}{arrowPart('orange', (difficulty-1)*13)}{arrowPart('red', (difficulty-2)*13)}</>
|
||||
}
|
||||
}
|
||||
|
||||
export function Intro(props: IProps): React.ReactElement {
|
||||
return (<>
|
||||
<Grid container spacing={3}>
|
||||
@ -28,7 +47,13 @@ export function Intro(props: IProps): React.ReactElement {
|
||||
<h1>Infiltrating {props.Location}</h1>
|
||||
</Grid>
|
||||
<Grid item xs={10}>
|
||||
<h2>Difficulty: {diffStr(props.Difficulty)}, Maximum level: {props.MaxLevel}</h2>
|
||||
<h2>Maximum level: {props.MaxLevel}</h2>
|
||||
</Grid>
|
||||
<Grid item xs={10}>
|
||||
|
||||
<pre>[{coloredArrow(props.Difficulty)}]</pre>
|
||||
<pre> ^ ^ ^ ^</pre>
|
||||
<pre> Trivial Normal Hard Impossible</pre>
|
||||
</Grid>
|
||||
<Grid item xs={10}>
|
||||
<p>Infiltration is a series of short minigames that get
|
||||
|
@ -259,7 +259,7 @@ function iTutorialEvaluateStep() {
|
||||
Engine.loadTerminalContent();
|
||||
iTutorialSetText("Hacking is the core mechanic of the game and is necessary for progressing. However, " +
|
||||
"you don't want to be hacking manually the entire time. You can automate your hacking " +
|
||||
"by writing scripts!<br><br>To create a new script or edit an existing one, you can use the <code class='interactive-tutorial-command'>nano</code> " +
|
||||
"by writing scripts!<br><br>First go to your home server with the <code class='interactive-tutorial-command'>home</code> command.<br><br>To create a new script or edit an existing one, you can use the <code class='interactive-tutorial-command'>nano</code> " +
|
||||
"command. Scripts must end with the <code class='interactive-tutorial-command'>.script</code> extension. Let's make a script now by " +
|
||||
"entering <code class='interactive-tutorial-command'>nano n00dles.script</code> after the hack command finishes running (Sidenote: Pressing ctrl + c" +
|
||||
" will end a command like hack early)");
|
||||
@ -288,7 +288,7 @@ function iTutorialEvaluateStep() {
|
||||
break;
|
||||
case iTutorialSteps.TerminalRunScript:
|
||||
Engine.loadTerminalContent();
|
||||
iTutorialSetText("We have 16GB of free RAM on this machine, which is enough to run our " +
|
||||
iTutorialSetText("We have 4GB of free RAM on this machine, which is enough to run our " +
|
||||
"script. Let's run our script using <code class='interactive-tutorial-command'>run n00dles.script</code>.");
|
||||
nextBtn.style.display = "none"; // next step triggered by terminal commmand
|
||||
break;
|
||||
|
@ -441,10 +441,3 @@ export const LocationsMetadata: IConstructorParams[] = [
|
||||
types: [LocationType.StockMarket],
|
||||
},
|
||||
];
|
||||
|
||||
(function(){
|
||||
for(const loc of LocationsMetadata) {
|
||||
if(!loc || !loc.infiltrationData) continue
|
||||
console.log(loc.infiltrationData.startingSecurityLevel+2);
|
||||
}
|
||||
})();
|
@ -1785,6 +1785,7 @@ export function getNextCompanyPosition(company, entryPosType) {
|
||||
}
|
||||
|
||||
export function quitJob(company) {
|
||||
this.isWorking = false;
|
||||
this.companyName = "";
|
||||
delete this.jobs[company];
|
||||
}
|
||||
|
@ -26,7 +26,8 @@ SourceFiles["SourceFile5"] = new SourceFile(5, "This Source-File grants a specia
|
||||
"gaining Intelligence experience is much slower than other stats, and it is also hidden (you won't " +
|
||||
"know when you gain experience and how much). Higher Intelligence levels will boost your production " +
|
||||
"for many actions in the game. In addition, this Source-File will unlock the getBitNodeMultipliers() " +
|
||||
"Netscript function, and will raise all of your hacking-related multipliers by:<br><br> " +
|
||||
"and getServer() Netscript functions, as well as the formulas API, and will raise all of your " +
|
||||
"hacking-related multipliers by:<br><br> " +
|
||||
"Level 1: 8%<br>" +
|
||||
"Level 2: 12%<br>" +
|
||||
"Level 3: 14%");
|
||||
|
@ -1993,7 +1993,7 @@ let Terminal = {
|
||||
(function() {
|
||||
var hostname = links[i].innerHTML.toString();
|
||||
links[i].onclick = function() {
|
||||
if (Terminal.analyzeFlag || Terminal.hackFlag) {return;}
|
||||
if (Terminal.analyzeFlag || Terminal.hackFlag || Terminal.backdoorFlag) {return;}
|
||||
Terminal.connectToServer(hostname);
|
||||
}
|
||||
}());// Immediate invocation
|
||||
|
@ -458,7 +458,6 @@ const Engine = {
|
||||
loadCorporationContent: function() {
|
||||
if (Player.corporation instanceof Corporation) {
|
||||
Engine.hideAllContent();
|
||||
document.getElementById("character-overview-wrapper").style.visibility = "hidden";
|
||||
routing.navigateTo(Page.Corporation);
|
||||
Player.corporation.createUI();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user