mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-24 02:03:01 +02:00
Compare commits
239 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6d2b8b4f6f | |||
| b148b2f0b5 | |||
| 0b3c114cd0 | |||
| e0d631f8b3 | |||
| d66e36b637 | |||
| a564957092 | |||
| 4b8e63f342 | |||
| 4de20f8cce | |||
| 4b38d296a8 | |||
| 6561413137 | |||
| b67c03ff8a | |||
| ee5a70901b | |||
| 63b2c77907 | |||
| 474befa091 | |||
| cd1c1ce145 | |||
| 5aa24f22c4 | |||
| f02c6443cc | |||
| 4497143785 | |||
| 0b3c48827b | |||
| 86de11e794 | |||
| fb87385704 | |||
| b1caea796a | |||
| 2dfd19c9e0 | |||
| 0e24020796 | |||
| ed62a3ebc2 | |||
| 258716388e | |||
| 73ec97db87 | |||
| 567c5dc230 | |||
| 980665b77c | |||
| dcddc0c2d5 | |||
| 6e1100750e | |||
| df457a0c6e | |||
| ee3530d9b9 | |||
| 1a1a43c1ce | |||
| d6b349b6ff | |||
| 5c92360310 | |||
| 1fbb971d6f | |||
| fa78b3f421 | |||
| 9af9bf58b6 | |||
| 99afb156fa | |||
| 8d550157bc | |||
| 4865563f26 | |||
| cc8de58cff | |||
| 58ada6d128 | |||
| ae6f95b59a | |||
| 99d4f17cdb | |||
| 33f0efd49c | |||
| 988ca37764 | |||
| 0e9d7450c9 | |||
| 78cd319c21 | |||
| 7367167019 | |||
| 392f164f8e | |||
| e4b2a6853d | |||
| 697a8119b0 | |||
| b31b3dc735 | |||
| 5848fa53b7 | |||
| 539b206cb5 | |||
| 0f92890f0c | |||
| 056f0213dd | |||
| 41871de26c | |||
| 5803ddc613 | |||
| 99263309ba | |||
| 8a78ee4cf6 | |||
| af46324c6d | |||
| 42aa6525a6 | |||
| 05b1b55e9a | |||
| febf0835c2 | |||
| 94ea0d253c | |||
| 31cf02e8e4 | |||
| 97fdf7cb7f | |||
| 2c7fbc03cf | |||
| 07cca48a17 | |||
| 43d0fcb9f9 | |||
| 99b8dfa0c1 | |||
| 4cdd65e96c | |||
| 9e345b1375 | |||
| 9466017906 | |||
| 9c24f1325f | |||
| 26401fbb93 | |||
| 69dfbb6673 | |||
| 5863797b03 | |||
| 25f546c691 | |||
| 67e5e413e4 | |||
| 796d91835c | |||
| be8d56ced9 | |||
| 0671c48c86 | |||
| 94388ba6af | |||
| 306fe97ed8 | |||
| c9b47ac3a6 | |||
| 8c9f78394b | |||
| 643d2525c5 | |||
| cb6e7ef5e9 | |||
| f7f9065472 | |||
| 1e3af43ab3 | |||
| e18aa08eeb | |||
| 5a75581b38 | |||
| 0d3bc1ea1f | |||
| 547324a813 | |||
| fa64186120 | |||
| 9b593758c3 | |||
| a55fd5046b | |||
| 0e177841ac | |||
| 0cd17cd3b3 | |||
| 04c0c87242 | |||
| 43b09a2459 | |||
| 8731a02ef0 | |||
| 30abcec74a | |||
| ae15914efa | |||
| 1aa141b87e | |||
| 55d1ebd0e4 | |||
| 06ac63aece | |||
| f706fee3d1 | |||
| f554398a7f | |||
| abe204109e | |||
| 434dd2b58d | |||
| 4c8d0acbd9 | |||
| 96847b5d27 | |||
| 8facdd2b49 | |||
| 8e2b5cfccb | |||
| 2c7a4f4ce6 | |||
| 1ca52e2b77 | |||
| 2248c083c8 | |||
| 37ec5c733f | |||
| 321dca4993 | |||
| 19f51b684b | |||
| 39b4048603 | |||
| 2b1ec7d573 | |||
| 2b13b5329f | |||
| 6661473adc | |||
| d6a7471e0b | |||
| 9996232751 | |||
| cdd376f2ae | |||
| 00a5085cdf | |||
| 4cd17607e6 | |||
| 1b734be895 | |||
| 6a8aa79396 | |||
| 34b3843e18 | |||
| dd75c1b2d2 | |||
| 6d072d766d | |||
| 7875d1ba93 | |||
| 0e458a8142 | |||
| 8ab571d54d | |||
| d9da1a8568 | |||
| b946886295 | |||
| 3bb74ceebe | |||
| e24c5b3cce | |||
| 527455bada | |||
| efdd8482d7 | |||
| 4180ceae17 | |||
| 9e04aef8d2 | |||
| 0fc6f90863 | |||
| 0cb821b50d | |||
| 14af88c3fc | |||
| 61dded637d | |||
| 4623bb3a0b | |||
| 4f7fb1cd62 | |||
| 0b401ba83b | |||
| 40813d5c4f | |||
| 687a2f8852 | |||
| 150a3b03f4 | |||
| 42935a217d | |||
| 2c2548f856 | |||
| 141f2a8331 | |||
| 5b9d2e36c6 | |||
| 80125d1521 | |||
| ed041743c2 | |||
| f9ff45fbed | |||
| fc5e0ea6a0 | |||
| 66ff040e38 | |||
| 49cc25479e | |||
| 4bd1813b45 | |||
| 8259c1a5b9 | |||
| c793a076db | |||
| e320a8339a | |||
| 1427a0f1ae | |||
| 17315733a7 | |||
| 29d7134859 | |||
| 4ac91f5599 | |||
| a3496cdfa9 | |||
| b88990444b | |||
| e9eae40891 | |||
| 0ec05f3fe2 | |||
| 21611ec571 | |||
| e7fde38bf9 | |||
| c47990ef56 | |||
| 23cefed8d4 | |||
| d86fb0262a | |||
| aef0cc815e | |||
| e0436a4314 | |||
| 1ad0fbe2e1 | |||
| db21010fe4 | |||
| 0535a0c49b | |||
| 6314000bd0 | |||
| a05335d6e2 | |||
| 54114dc6d0 | |||
| 1b6058dd0a | |||
| 75227233f3 | |||
| 8d80ecffd4 | |||
| 57ab1d885b | |||
| 34c2c70a2b | |||
| 0ef09a1c73 | |||
| 264e0b2e1a | |||
| 5755db4979 | |||
| 84b49bb5e9 | |||
| fb89b824d9 | |||
| fee661b451 | |||
| a40d0bb6e0 | |||
| f7f22ac7ef | |||
| 8fba3c3fa4 | |||
| a72560bf25 | |||
| 21211e7d08 | |||
| d627890047 | |||
| a1e0d40963 | |||
| ca8fc54400 | |||
| cf67213c36 | |||
| 51b2175c35 | |||
| 531c0ce5c0 | |||
| ad9c01ac50 | |||
| 0f266eaa42 | |||
| 674ce17834 | |||
| e611ab7bc7 | |||
| 60d6d49c43 | |||
| 75b2806c93 | |||
| 04b57f07a9 | |||
| a2d924e1c6 | |||
| f14f65814a | |||
| 04921520d8 | |||
| 9d1e132d11 | |||
| eb84652e19 | |||
| 7fedd1f1f5 | |||
| ba4169268c | |||
| 5bf21c0ab2 | |||
| 670587a07d | |||
| 4dc206bb3e | |||
| a7389f63b8 | |||
| 8ba63f4951 | |||
| 2adcf79264 | |||
| fccf2b5cb4 | |||
| b35d8475e3 |
+2
-2
@@ -1,13 +1,13 @@
|
|||||||
Collection of Quotes
|
Collection of Quotes
|
||||||
|
|
||||||
The past is relevant only as data
|
The past is relevant only as data.
|
||||||
|
|
||||||
Pull on the new flesh like borrowed gloves and burn your fingers once again.
|
Pull on the new flesh like borrowed gloves and burn your fingers once again.
|
||||||
|
|
||||||
A weapon is a tool. A tool for killing and destroying. And there will be times
|
A weapon is a tool. A tool for killing and destroying. And there will be times
|
||||||
when you must kill and destroy. Then you will choose and equip yourself with the tools
|
when you must kill and destroy. Then you will choose and equip yourself with the tools
|
||||||
that you need. But remember the weakness of weapons. They are an extension --
|
that you need. But remember the weakness of weapons. They are an extension --
|
||||||
You are the killer and destroyer. You are whole, with or without them.
|
you are the killer and destroyer. You are whole, with or without them.
|
||||||
|
|
||||||
For all that we have done, as a civilization, as individuals, the universe is
|
For all that we have done, as a civilization, as individuals, the universe is
|
||||||
not stable, and nor is any single thing within it. Stars consume themselves,
|
not stable, and nor is any single thing within it. Stars consume themselves,
|
||||||
|
|||||||
@@ -27,5 +27,4 @@
|
|||||||
button {
|
button {
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -80,7 +80,7 @@
|
|||||||
transform: rotate(-45deg);
|
transform: rotate(-45deg);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
input[type=checkbox] {
|
input[type="checkbox"] {
|
||||||
margin: 3px;
|
margin: 3px;
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
&:checked + label:after {
|
&:checked + label:after {
|
||||||
|
|||||||
+3
-5
@@ -1,5 +1,6 @@
|
|||||||
@import "mixins";
|
@import "mixins";
|
||||||
@import "theme";
|
@import "theme";
|
||||||
|
@import "styles";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Styling for all buttons
|
* Styling for all buttons
|
||||||
@@ -16,6 +17,7 @@ button {
|
|||||||
|
|
||||||
.a-link-button,
|
.a-link-button,
|
||||||
.std-button {
|
.std-button {
|
||||||
|
@extend .noselect;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: #555;
|
background-color: #555;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
@@ -23,11 +25,6 @@ button {
|
|||||||
margin: 5px;
|
margin: 5px;
|
||||||
border: 1px solid #333;
|
border: 1px solid #333;
|
||||||
|
|
||||||
-moz-user-select: none;
|
|
||||||
-ms-user-select: none;
|
|
||||||
-khtml-user-select: none;
|
|
||||||
-webkit-user-select: none;
|
|
||||||
|
|
||||||
&:hover {
|
&:hover {
|
||||||
background-color: #666;
|
background-color: #666;
|
||||||
}
|
}
|
||||||
@@ -68,6 +65,7 @@ button {
|
|||||||
|
|
||||||
.a-link-button-bought,
|
.a-link-button-bought,
|
||||||
.std-button-bought {
|
.std-button-bought {
|
||||||
|
@extend .noselect;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
background-color: #0a0;
|
background-color: #0a0;
|
||||||
color: #fff;
|
color: #fff;
|
||||||
|
|||||||
+1
-1
@@ -11,7 +11,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.casino-card .value {
|
.casino-card .value {
|
||||||
font-size:15pt;
|
font-size: 15pt;
|
||||||
font-family: sans-serif;
|
font-family: sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -47,17 +47,16 @@
|
|||||||
text-align: right;
|
text-align: right;
|
||||||
}
|
}
|
||||||
|
|
||||||
#character-hack-wrapper td,
|
|
||||||
#character-agi-wrapper td {
|
|
||||||
border-bottom: 1px #aaa solid;
|
|
||||||
padding-bottom: 10px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#character-str-wrapper td,
|
#character-str-wrapper td,
|
||||||
#character-cha-wrapper td {
|
#character-cha-wrapper td {
|
||||||
padding-top: 10px;
|
padding-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.character-divider td {
|
||||||
|
border-top: 1px #aaa solid;
|
||||||
|
padding-top: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
#character-hp-wrapper { color: $my-stat-hp-color; }
|
#character-hp-wrapper { color: $my-stat-hp-color; }
|
||||||
.character-hp-cell { color: $my-stat-hp-color; }
|
.character-hp-cell { color: $my-stat-hp-color; }
|
||||||
#character-money-wrapper { color: $my-stat-money-color; }
|
#character-money-wrapper { color: $my-stat-money-color; }
|
||||||
@@ -69,6 +68,8 @@
|
|||||||
#character-int-wrapper { color: $my-stat-int-color; }
|
#character-int-wrapper { color: $my-stat-int-color; }
|
||||||
.character-int-cell { color: $my-stat-int-color; }
|
.character-int-cell { color: $my-stat-int-color; }
|
||||||
.character-combat-cell { color: $my-stat-physical; }
|
.character-combat-cell { color: $my-stat-physical; }
|
||||||
|
#character-work-wrapper { color: $my-stat-hack-color; }
|
||||||
|
.character-work-cell { color: $my-stat-hack-color; }
|
||||||
|
|
||||||
.character-overview-btn {
|
.character-overview-btn {
|
||||||
@include borderRadius(12px);
|
@include borderRadius(12px);
|
||||||
|
|||||||
+2
-6
@@ -3,15 +3,11 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.remove-exp-button {
|
.remove-exp-button {
|
||||||
margin-left:0;
|
margin-left: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.exp-input {
|
.exp-input {
|
||||||
margin-right: 0;
|
margin: 5px 0 5px 0;
|
||||||
margin-left:0;
|
|
||||||
|
|
||||||
margin-top: 5px;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
|
|
||||||
padding: 2px 5px;
|
padding: 2px 5px;
|
||||||
}
|
}
|
||||||
|
|||||||
Vendored
+1
@@ -1,3 +1,4 @@
|
|||||||
|
/* stylelint-disable */
|
||||||
/*!
|
/*!
|
||||||
* Bootstrap Grid v4.1.2 (https://getbootstrap.com/)
|
* Bootstrap Grid v4.1.2 (https://getbootstrap.com/)
|
||||||
* Copyright 2011-2018 The Bootstrap Authors
|
* Copyright 2011-2018 The Bootstrap Authors
|
||||||
|
|||||||
@@ -0,0 +1,56 @@
|
|||||||
|
@import "theme";
|
||||||
|
|
||||||
|
.blinking-cursor {
|
||||||
|
font-weight: 100;
|
||||||
|
color: #2E3D48;
|
||||||
|
-webkit-animation: 1s cursorblink step-end infinite;
|
||||||
|
-moz-animation: 1s cursorblink step-end infinite;
|
||||||
|
-ms-animation: 1s cursorblink step-end infinite;
|
||||||
|
-o-animation: 1s cursorblink step-end infinite;
|
||||||
|
animation: 1s cursorblink step-end infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes "cursorblink" {
|
||||||
|
from, to {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
color: $hacker-green;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-moz-keyframes cursorblink {
|
||||||
|
from, to {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
color: $hacker-green;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-webkit-keyframes "cursorblink" {
|
||||||
|
from, to {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
color: $hacker-green;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-ms-keyframes "cursorblink" {
|
||||||
|
from, to {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
color: $hacker-green;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@-o-keyframes "cursorblink" {
|
||||||
|
from, to {
|
||||||
|
color: transparent;
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
color: $hacker-green;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -69,3 +69,22 @@
|
|||||||
float: right;
|
float: right;
|
||||||
padding: 4px;
|
padding: 4px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.interactive-tutorial-command {
|
||||||
|
background-color: #000;
|
||||||
|
color: $hacker-green;
|
||||||
|
white-space: nowrap;
|
||||||
|
}
|
||||||
|
|
||||||
|
.interactive-tutorial-code {
|
||||||
|
background-color: #272822;
|
||||||
|
color: white;
|
||||||
|
padding: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.interactive-tutorial-tab {
|
||||||
|
background-color: #555;
|
||||||
|
color: #e6e6e6;
|
||||||
|
padding: 3px;
|
||||||
|
box-shadow: 0 0 3px #000;
|
||||||
|
}
|
||||||
+2
-34
@@ -150,38 +150,6 @@
|
|||||||
/* Infiltration */
|
/* Infiltration */
|
||||||
#infiltration-container {
|
#infiltration-container {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
padding: 6px;
|
margin: 5px;
|
||||||
|
width: 70%;
|
||||||
span {
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#infiltration-left-panel,
|
|
||||||
#infiltration-right-panel {
|
|
||||||
display: inline-block;
|
|
||||||
border: 1px solid #fff;
|
|
||||||
width: 35%;
|
|
||||||
height: 75%;
|
|
||||||
top: 10px;
|
|
||||||
overflow-y: auto;
|
|
||||||
overflow-x: auto;
|
|
||||||
}
|
|
||||||
|
|
||||||
#infiltration-faction-select {
|
|
||||||
color: #fff;
|
|
||||||
}
|
|
||||||
|
|
||||||
#infiltration-left-panel p,
|
|
||||||
#infiltration-right-panel p {
|
|
||||||
margin: 4px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#infiltration-buttons {
|
|
||||||
margin-top: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#infiltration-buttons .a-link-button {
|
|
||||||
display: inline;
|
|
||||||
}
|
}
|
||||||
|
|||||||
+52
-5
@@ -1,5 +1,6 @@
|
|||||||
@import "mixins";
|
@import "mixins";
|
||||||
@import "theme";
|
@import "theme";
|
||||||
|
@import "styles";
|
||||||
|
|
||||||
/* Pop-up boxes */
|
/* Pop-up boxes */
|
||||||
.popup-box-container {
|
.popup-box-container {
|
||||||
@@ -12,7 +13,6 @@
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
overflow: auto;
|
|
||||||
background-color: rbga(var(--my-background-color), 0.4);
|
background-color: rbga(var(--my-background-color), 0.4);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -23,6 +23,7 @@
|
|||||||
width: 70%;
|
width: 70%;
|
||||||
max-height: 80%;
|
max-height: 80%;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
z-index: 11; /* Sit on top of the container */
|
||||||
color: var(--my-font-color);
|
color: var(--my-font-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -56,8 +57,7 @@
|
|||||||
background-color: #000;
|
background-color: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.dialog-box-container,
|
.dialog-box-container {
|
||||||
#log-box-container {
|
|
||||||
display: block;
|
display: block;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
@@ -72,8 +72,54 @@
|
|||||||
border: 5px solid var(--my-highlight-color);
|
border: 5px solid var(--my-highlight-color);
|
||||||
}
|
}
|
||||||
|
|
||||||
.dialog-box-content,
|
|
||||||
#log-box-content {
|
.log-box-container {
|
||||||
|
display: flex;
|
||||||
|
flex-flow: column;
|
||||||
|
background-color: gray;
|
||||||
|
width: 50%;
|
||||||
|
position: absolute;
|
||||||
|
left: 50%;
|
||||||
|
top: 40%;
|
||||||
|
margin: -10% 0 0 -25%;
|
||||||
|
height: auto;
|
||||||
|
max-height: 50%;
|
||||||
|
z-index: 10;
|
||||||
|
background-color: var(--my-background-color);
|
||||||
|
border: 2px solid var(--my-highlight-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
.log-box-header {
|
||||||
|
background-color: #333;
|
||||||
|
border: 1px solid var(--my-highlight-color);
|
||||||
|
display: flex;
|
||||||
|
flex: row nowrap;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.log-box-log-container {
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.log-box-button {
|
||||||
|
color: #aaa;
|
||||||
|
font-size: $defaultFontSize;
|
||||||
|
font-weight: bold;
|
||||||
|
padding: 2px;
|
||||||
|
margin: 6px;
|
||||||
|
border: 1px solid #fff;
|
||||||
|
background-color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.log-box-button:hover,
|
||||||
|
.log-box-button:focus {
|
||||||
|
color: var(--my-font-color);
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dialog-box-content {
|
||||||
z-index: 2;
|
z-index: 2;
|
||||||
background-color: var(--my-background-color);
|
background-color: var(--my-background-color);
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
@@ -87,6 +133,7 @@
|
|||||||
.dialog-box-close-button {
|
.dialog-box-close-button {
|
||||||
@include borderRadius(12px);
|
@include borderRadius(12px);
|
||||||
@include boxShadow(1px 1px 3px #000);
|
@include boxShadow(1px 1px 3px #000);
|
||||||
|
@extend .noselect;
|
||||||
|
|
||||||
float: right;
|
float: right;
|
||||||
color: #aaa;
|
color: #aaa;
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
&.level-2 {
|
&.level-2 {
|
||||||
color: #48d1cc;
|
color: #48d1cc;
|
||||||
}
|
}
|
||||||
|
|
||||||
&.level-3 {
|
&.level-3 {
|
||||||
|
|||||||
+8
-25
@@ -9,19 +9,6 @@
|
|||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
|
|
||||||
#ace-editor {
|
|
||||||
margin: 10px;
|
|
||||||
height: 80%;
|
|
||||||
width: 100%;
|
|
||||||
margin-left: 6px;
|
|
||||||
padding-left: 6px;
|
|
||||||
padding-top: 6px;
|
|
||||||
padding-bottom: 6px;
|
|
||||||
border: 2px solid var(--my-highlight-color);
|
|
||||||
z-index: 1;
|
|
||||||
font-family: $fontFamily;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* This temp element is used for auto adjusting filename field */
|
/* This temp element is used for auto adjusting filename field */
|
||||||
.tmp-element {
|
.tmp-element {
|
||||||
visibility: hidden;
|
visibility: hidden;
|
||||||
@@ -47,7 +34,6 @@
|
|||||||
|
|
||||||
#script-editor-filename-wrapper {
|
#script-editor-filename-wrapper {
|
||||||
background-color: #555;
|
background-color: #555;
|
||||||
margin-left: 6px;
|
|
||||||
margin-right: 0;
|
margin-right: 0;
|
||||||
padding-left: 6px;
|
padding-left: 6px;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -108,17 +94,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Specific overrides for Ace Editor */
|
.editor-options-container {
|
||||||
.ace_line,
|
display: flex;
|
||||||
.ace_line * {
|
flex-flow: column;
|
||||||
background-color: transparent;
|
|
||||||
margin: 0;
|
|
||||||
padding: 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.ace_text-input {
|
.editor-options-line {
|
||||||
font-size: $defaultFontSize;
|
display: flex;
|
||||||
background-color: transparent;
|
flex: row nowrap;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Specified overrides for Code mirror Editor are defined in codemirror-override.scss */
|
|
||||||
|
|||||||
+12
-6
@@ -17,6 +17,8 @@ body {
|
|||||||
p,
|
p,
|
||||||
pre,
|
pre,
|
||||||
h2,
|
h2,
|
||||||
|
h3,
|
||||||
|
h4,
|
||||||
.text,
|
.text,
|
||||||
td {
|
td {
|
||||||
color: var(--my-font-color);
|
color: var(--my-font-color);
|
||||||
@@ -36,6 +38,10 @@ li {
|
|||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
br {
|
||||||
|
@extend .noselect;
|
||||||
|
}
|
||||||
|
|
||||||
#entire-game-container {
|
#entire-game-container {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
}
|
}
|
||||||
@@ -234,9 +240,9 @@ a:visited {
|
|||||||
|
|
||||||
#status-text-container {
|
#status-text-container {
|
||||||
background-color: transparent;
|
background-color: transparent;
|
||||||
position:absolute;
|
position: absolute;
|
||||||
top:0;
|
top: 0;
|
||||||
left:50%;
|
left: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
#status-text {
|
#status-text {
|
||||||
@@ -371,14 +377,15 @@ a:visited {
|
|||||||
|
|
||||||
.noscrollbar {
|
.noscrollbar {
|
||||||
-ms-overflow-style: none; /* IE and Edge */
|
-ms-overflow-style: none; /* IE and Edge */
|
||||||
scrollbar-width: none; /* Firefox */
|
/* stylelint-disable-next-line property-no-unknown */
|
||||||
|
scrollbar-width: none; /* Firefox https://developer.mozilla.org/en-US/docs/Web/CSS/scrollbar-width */
|
||||||
}
|
}
|
||||||
|
|
||||||
.noscrollbar::-webkit-scrollbar {
|
.noscrollbar::-webkit-scrollbar {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type=checkbox] {
|
input[type="checkbox"] {
|
||||||
filter: invert(1) sepia(1) hue-rotate(41deg) brightness(100%) saturate(10);
|
filter: invert(1) sepia(1) hue-rotate(41deg) brightness(100%) saturate(10);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -398,7 +405,6 @@ input[type=checkbox] {
|
|||||||
margin: 3px;
|
margin: 3px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.optionRange::-webkit-slider-thumb {
|
.optionRange::-webkit-slider-thumb {
|
||||||
-webkit-appearance: none;
|
-webkit-appearance: none;
|
||||||
appearance: none;
|
appearance: none;
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
border: 2px solid #e8e8e3;
|
border: 2px solid #e8e8e3;
|
||||||
border-radius: 2px;
|
border-radius: 2px;
|
||||||
box-shadow: 1px 1px 1px rgba(0,0,0,0.5);
|
box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5);
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -26,7 +26,7 @@
|
|||||||
margin: 10px;
|
margin: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#work-in-progress-cancel-button {
|
.work-button {
|
||||||
@include borderRadius(12px);
|
@include borderRadius(12px);
|
||||||
@include boxShadow(1px 1px 3px #000);
|
@include boxShadow(1px 1px 3px #000);
|
||||||
|
|
||||||
@@ -39,8 +39,8 @@
|
|||||||
border: 3px solid #fff;
|
border: 3px solid #fff;
|
||||||
}
|
}
|
||||||
|
|
||||||
#work-in-progress-cancel-button:hover,
|
.work-button:hover,
|
||||||
#work-in-progress-cancel-button:focus {
|
.work-button:focus {
|
||||||
color: #fff;
|
color: #fff;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
|||||||
Vendored
+2
-2
File diff suppressed because one or more lines are too long
Vendored
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
!function(n){function t(t){for(var e,i,f=t[0],c=t[1],l=t[2],p=0,s=[];p<f.length;p++)i=f[p],u[i]&&s.push(u[i][0]),u[i]=0;for(e in c)Object.prototype.hasOwnProperty.call(c,e)&&(n[e]=c[e]);for(a&&a(t);s.length;)s.shift()();return r.push.apply(r,l||[]),o()}function o(){for(var n,t=0;t<r.length;t++){for(var o=r[t],e=!0,f=1;f<o.length;f++){var c=o[f];0!==u[c]&&(e=!1)}e&&(r.splice(t--,1),n=i(i.s=o[0]))}return n}var e={},u={1:0},r=[];function i(t){if(e[t])return e[t].exports;var o=e[t]={i:t,l:!1,exports:{}};return n[t].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.m=n,i.c=e,i.d=function(n,t,o){i.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:o})},i.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.t=function(n,t){if(1&t&&(n=i(n)),8&t)return n;if(4&t&&"object"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&t&&"string"!=typeof n)for(var e in n)i.d(o,e,function(t){return n[t]}.bind(null,e));return o},i.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return i.d(t,"a",t),t},i.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},i.p="";var f=window.webpackJsonp=window.webpackJsonp||[],c=f.push.bind(f);f.push=t,f=f.slice();for(var l=0;l<f.length;l++)t(f[l]);var a=c;r.push([842,0]),o()}({781:function(n,t,o){},783:function(n,t,o){},785:function(n,t,o){},787:function(n,t,o){},789:function(n,t,o){},791:function(n,t,o){},793:function(n,t,o){},795:function(n,t,o){},797:function(n,t,o){},799:function(n,t,o){},801:function(n,t,o){},803:function(n,t,o){},805:function(n,t,o){},807:function(n,t,o){},809:function(n,t,o){},811:function(n,t,o){},813:function(n,t,o){},815:function(n,t,o){},817:function(n,t,o){},819:function(n,t,o){},821:function(n,t,o){},823:function(n,t,o){},825:function(n,t,o){},827:function(n,t,o){},829:function(n,t,o){},831:function(n,t,o){},833:function(n,t,o){},835:function(n,t,o){},837:function(n,t,o){},839:function(n,t,o){},842:function(n,t,o){"use strict";o.r(t);o(841),o(839),o(837),o(835),o(833),o(831),o(829),o(827),o(825),o(823),o(821),o(819),o(817),o(815),o(813),o(811),o(809),o(807),o(805),o(803),o(801),o(799),o(797),o(795),o(793),o(791),o(789),o(787),o(785),o(783),o(781)}});
|
!function(n){function t(t){for(var e,i,f=t[0],c=t[1],l=t[2],p=0,s=[];p<f.length;p++)i=f[p],u[i]&&s.push(u[i][0]),u[i]=0;for(e in c)Object.prototype.hasOwnProperty.call(c,e)&&(n[e]=c[e]);for(a&&a(t);s.length;)s.shift()();return r.push.apply(r,l||[]),o()}function o(){for(var n,t=0;t<r.length;t++){for(var o=r[t],e=!0,f=1;f<o.length;f++){var c=o[f];0!==u[c]&&(e=!1)}e&&(r.splice(t--,1),n=i(i.s=o[0]))}return n}var e={},u={1:0},r=[];function i(t){if(e[t])return e[t].exports;var o=e[t]={i:t,l:!1,exports:{}};return n[t].call(o.exports,o,o.exports,i),o.l=!0,o.exports}i.m=n,i.c=e,i.d=function(n,t,o){i.o(n,t)||Object.defineProperty(n,t,{enumerable:!0,get:o})},i.r=function(n){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(n,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(n,"__esModule",{value:!0})},i.t=function(n,t){if(1&t&&(n=i(n)),8&t)return n;if(4&t&&"object"==typeof n&&n&&n.__esModule)return n;var o=Object.create(null);if(i.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:n}),2&t&&"string"!=typeof n)for(var e in n)i.d(o,e,function(t){return n[t]}.bind(null,e));return o},i.n=function(n){var t=n&&n.__esModule?function(){return n.default}:function(){return n};return i.d(t,"a",t),t},i.o=function(n,t){return Object.prototype.hasOwnProperty.call(n,t)},i.p="";var f=window.webpackJsonp=window.webpackJsonp||[],c=f.push.bind(f);f.push=t,f=f.slice();for(var l=0;l<f.length;l++)t(f[l]);var a=c;r.push([863,0]),o()}({800:function(n,t,o){},802:function(n,t,o){},804:function(n,t,o){},806:function(n,t,o){},808:function(n,t,o){},810:function(n,t,o){},812:function(n,t,o){},814:function(n,t,o){},816:function(n,t,o){},818:function(n,t,o){},820:function(n,t,o){},822:function(n,t,o){},824:function(n,t,o){},826:function(n,t,o){},828:function(n,t,o){},830:function(n,t,o){},832:function(n,t,o){},834:function(n,t,o){},836:function(n,t,o){},838:function(n,t,o){},840:function(n,t,o){},842:function(n,t,o){},844:function(n,t,o){},846:function(n,t,o){},848:function(n,t,o){},850:function(n,t,o){},852:function(n,t,o){},854:function(n,t,o){},856:function(n,t,o){},858:function(n,t,o){},860:function(n,t,o){},863:function(n,t,o){"use strict";o.r(t);o(862),o(860),o(858),o(856),o(854),o(852),o(850),o(848),o(846),o(844),o(842),o(840),o(838),o(836),o(834),o(832),o(830),o(828),o(826),o(824),o(822),o(820),o(818),o(816),o(814),o(812),o(810),o(808),o(806),o(804),o(802),o(800)}});
|
||||||
//# sourceMappingURL=engineStyle.bundle.js.map
|
//# sourceMappingURL=engineStyle.bundle.js.map
|
||||||
Vendored
+969
-80
File diff suppressed because it is too large
Load Diff
Vendored
+29
-74
File diff suppressed because one or more lines are too long
Vendored
-5527
File diff suppressed because one or more lines are too long
@@ -50,7 +50,7 @@ Duplicate Sleeves. It is a numeral value between 1 and 100, and it affects how m
|
|||||||
is earned when the sleeve is performing a task.
|
is earned when the sleeve is performing a task.
|
||||||
|
|
||||||
Let N be the sleeve's synchronization. When the sleeve earns experience by performing
|
Let N be the sleeve's synchronization. When the sleeve earns experience by performing
|
||||||
a task, both the sleeve and the player's original host consciousness of N% of the
|
a task, both the sleeve and the player's original host consciousness gain N% of the
|
||||||
amount of experience normally earned by the task. All of the player's other sleeves
|
amount of experience normally earned by the task. All of the player's other sleeves
|
||||||
earn ((N/100)^2 * 100)% of the experience.
|
earn ((N/100)^2 * 100)% of the experience.
|
||||||
|
|
||||||
|
|||||||
@@ -15,73 +15,53 @@ of level 3.
|
|||||||
List of all Source-Files
|
List of all Source-Files
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||||
| BitNode-1: Source Genesis | * Lets the player start with 32 GB of RAM on home computer |
|
| BitNode-1: Source Genesis | * Lets the player start with 32 GB of RAM on home computer. |
|
||||||
| | * Increases all of the player's multipliers by 16%/24%/28% |
|
| | * 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 |
|
| BitNode-2: Rise of the Underworld | * Lets the player create Gangs in other BitNodes (although some |
|
||||||
| | charisma multipliers by 24%/36%/42% |
|
| | BitNodes will disable this mechanic). |
|
||||||
|
| | * Increases the player's crime success rate, crime money, and |
|
||||||
|
| | charisma multipliers by 24%/36%/42%. |
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||||
| BitNode-3: Corporatocracy | * Lets the player create Corporations in other BitNodes (although some |
|
| BitNode-3: Corporatocracy | * Lets the player create Corporations in other BitNodes (although some |
|
||||||
| | BitNodes will disable this mechanic) |
|
| | BitNodes will disable this mechanic). |
|
||||||
| | * Increases the player's charisma and company salary multipliers by 8%/12%/14% |
|
| | * Increases the player's charisma and company salary multipliers by 8%/12%/14%. |
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||||
| BitNode-4: The Singularity | * Lets the player access and use Netscript Singularity Functions in other BitNodes. |
|
| BitNode-4: The Singularity | * 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` |
|
| BitNode-5: Artificial Intelligence | * Unlocks :ref:`gameplay_intelligence`. |
|
||||||
| | * Unlocks :js:func:`getBitNodeMultipliers` Netscript function |
|
| | * Unlocks :js:func:`getBitNodeMultipliers` and :js:func:`getServer` |
|
||||||
| | * Increases all of the player's hacking-related multipliers by 8%/12%/14% |
|
| | 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 |
|
| | * 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 |
|
| 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% |
|
| | * 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 |
|
| | * Level 1 grants permanent access to :ref:`WSE <gameplay_stock_market>` and |
|
||||||
| | :ref:`TIX API <netscript_tixapi>` |
|
| | :ref:`TIX API <netscript_tixapi>`. |
|
||||||
| | * Level 2 grants permanent access to shorting stocks |
|
| | * Level 2 grants permanent access to shorting stocks. |
|
||||||
| | * Level 3 grants permanent access to use limit/stop orders |
|
| | * 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. |
|
| 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 |
|
| 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 |
|
| | * 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 |
|
| 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%. |
|
| | * Lets the player start with Neuroflux Governor equal to the level of this |
|
||||||
| | * This affect is multiplicative with itself. This means that level N of this |
|
| | Source-File. |
|
||||||
| | Source-File will result in a multiplier of 1.01^N (or 0.99^N for multipliers |
|
|
||||||
| | that decrease) |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
|
||||||
| | |
|
|
||||||
+------------------------------------+-------------------------------------------------------------------------------------+
|
+------------------------------------+-------------------------------------------------------------------------------------+
|
||||||
|
|||||||
@@ -124,6 +124,6 @@ Gain experience by:
|
|||||||
|
|
||||||
* Committing certain crimes
|
* Committing certain crimes
|
||||||
* Infiltration
|
* Infiltration
|
||||||
* Working out at a gym
|
* Studying at a university
|
||||||
* Working a relevant job at a company
|
* Working a relevant job at a company
|
||||||
* Doing Field work for a Faction
|
* Doing Field work for a Faction
|
||||||
|
|||||||
+297
-4
@@ -3,7 +3,281 @@
|
|||||||
Changelog
|
Changelog
|
||||||
=========
|
=========
|
||||||
|
|
||||||
v0.51.9 - 2021-05-17 offline progress and exports! (hydroflame)
|
v0.52.8 - 2021-07-23 Fixing the previous patch tbh ROUND 2 (hydroflame)
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
** Script editor **
|
||||||
|
|
||||||
|
* Correctly reloads old script when clicking "Script Editor"
|
||||||
|
* No longer jumps to the end of the text for no reason.
|
||||||
|
|
||||||
|
** Hash upgrades **
|
||||||
|
|
||||||
|
* Fixed an issue where the default option would say ecorp but was really
|
||||||
|
foodnstuff
|
||||||
|
|
||||||
|
** Misc. **
|
||||||
|
|
||||||
|
* The "Delete all active script" button under the options has a clearer
|
||||||
|
description.
|
||||||
|
* Removed some debug console.log
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
v0.52.7 - 2021-07-21 Fixing the previous patch tbh (hydroflame)
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
** Netscript **
|
||||||
|
|
||||||
|
* API BREAKING CHANGE: getActionEstimatedSuccessChance now returns a pair of
|
||||||
|
value to reflect the UI changes. I'm very sorry.
|
||||||
|
|
||||||
|
** Bladeburner **
|
||||||
|
|
||||||
|
* General actions now display time required.
|
||||||
|
* Recruitment now displays success chance.
|
||||||
|
* All other success chance now display a range instead of a single value
|
||||||
|
The real value is guaranteed to be within that range.
|
||||||
|
|
||||||
|
** Misc. **
|
||||||
|
|
||||||
|
* Fix tutorial not working after Monaco upate
|
||||||
|
* Fix logbox logs not taking up the whole logbox
|
||||||
|
* Fix script editor shortcut (ctrl+b)
|
||||||
|
* Fix Corporation popup appearing in the wrong order, hiding one of them
|
||||||
|
* Fix error when loading Corp
|
||||||
|
* Fix logbox dragging (smoother now)
|
||||||
|
* Fix logbox name collision
|
||||||
|
* Fix logbox allowing to open the same box multiple times
|
||||||
|
* Fix netscript write.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
v0.52.6 - 2021-07-21 Logboxes and VS-code (hydroflame)
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
** Text Editor **
|
||||||
|
|
||||||
|
* Ace and Codemirror have been removed in favor of monaco (web version of
|
||||||
|
vs-code). The options are a bit lackluster but more will be added as
|
||||||
|
feedback comes.
|
||||||
|
|
||||||
|
** Log boxes **
|
||||||
|
|
||||||
|
* Multiple log boxes can be opened at once. They can be moved around the
|
||||||
|
screen. (but the movement behavior is a bit weird.)
|
||||||
|
|
||||||
|
** Misc. **
|
||||||
|
|
||||||
|
* Job promotion now correctly updates the UI.
|
||||||
|
* Milestones now call the faction CyberSec instead of CSEC
|
||||||
|
* Can no longer create file that break the filesystem.
|
||||||
|
* Remove dollar sign in blade contract UI element
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
v0.52.5 - 2021-07-19 CPU cores are useful!? (hydroflame)
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
** Terminal **
|
||||||
|
|
||||||
|
* When executing 'run SCRIPT' any script can now add '--tail' to
|
||||||
|
automatically bring up the logs.
|
||||||
|
|
||||||
|
** Netscript **
|
||||||
|
|
||||||
|
* The 'flags' function now works with single letter flags but they only take
|
||||||
|
one dash.
|
||||||
|
* Fix several broken bladeburner netscript functions.
|
||||||
|
* Fix gang.getMemberInformation returning inconsistent data after the gang
|
||||||
|
rework.
|
||||||
|
|
||||||
|
** CPU Cores **
|
||||||
|
|
||||||
|
* CPU Cores on the home computer now provide a bonus to grow() money gain
|
||||||
|
and makes weaken lower more security. Only for scripts running on 'home'
|
||||||
|
|
||||||
|
** Misc. **
|
||||||
|
|
||||||
|
* Fix weird scrolling in the new Bladeburner React console.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
v0.52.4 - 2021-07-19 Bladeburner in React (hydroflame)
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
** Bladeburner **
|
||||||
|
|
||||||
|
* The entire UI was rebuild in React. It should be more responsive
|
||||||
|
|
||||||
|
** Hacknet **
|
||||||
|
|
||||||
|
* Displays how many time each hash upgrade was bought.
|
||||||
|
* Displays cummulative effect of the upgrade.
|
||||||
|
* Removed "Close" button from hash upgrade menu.
|
||||||
|
|
||||||
|
** Misc. **
|
||||||
|
|
||||||
|
* More popup/modals have dark background, can be dismissed by clicking
|
||||||
|
outside, or by pressing escape.
|
||||||
|
* Small reword in the guide.
|
||||||
|
* Fix several typos in the bladeburner documentation.
|
||||||
|
* Linting (no one cares except the dev)
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
v0.52.3 - 2021-07-15 Gangs were OP (hydroflame)
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
** Gang **
|
||||||
|
|
||||||
|
* Significant rework. Ascension is now based on exp gained.
|
||||||
|
* All upgrades give exp bonuses.
|
||||||
|
* Maximum gang members reduced to 12.
|
||||||
|
* Respect required to recruit sharply increased.
|
||||||
|
* Rewritten in React, the UI should be smoother and less laggy now.
|
||||||
|
|
||||||
|
** Infiltration **
|
||||||
|
|
||||||
|
* Now isTrusted protected.
|
||||||
|
|
||||||
|
** Misc. **
|
||||||
|
|
||||||
|
* Many UI element are now "noselect" protected.
|
||||||
|
* Fixed an issue where you could join the same faction twice via script and
|
||||||
|
UI simultaneously.
|
||||||
|
* Factions list screen converted to React.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
v0.52.2 - 2021-07-15 Oh yeah, BN11 is a thing (drunk hydroflame tbh)
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
** Source-Files **
|
||||||
|
|
||||||
|
* Source-File 11 now also provides a small reduction to the price increase
|
||||||
|
multiplier.
|
||||||
|
|
||||||
|
** Augmentations **
|
||||||
|
|
||||||
|
* New Augmentation offered by Aevum, themed around 777 and offers some basic
|
||||||
|
programs.
|
||||||
|
* Augmentation descriptions are now more concise and consistent.
|
||||||
|
|
||||||
|
** Misc. **
|
||||||
|
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
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)
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
v0.52.0 - 2021-06-13 Infiltration 2.0 (hydroflame & community)
|
||||||
|
--------------------------------------------------------------
|
||||||
|
|
||||||
|
**Infiltration**
|
||||||
|
|
||||||
|
* Completely reworked. Not the same mechanic at all.
|
||||||
|
|
||||||
|
**Terminal**
|
||||||
|
|
||||||
|
* tail is smarter. It automatically assume the only possible options in some
|
||||||
|
cases.
|
||||||
|
|
||||||
|
**Intelligence**
|
||||||
|
|
||||||
|
* Now available when starting BN5 instead of after beating it for the first
|
||||||
|
time.
|
||||||
|
* Nerf the effect of intelligence on reputation gain.
|
||||||
|
|
||||||
|
**Augmentation**
|
||||||
|
|
||||||
|
* Added a new augmentation, the 'Unstable Circadian Modulator', whose
|
||||||
|
gimmick is that its stats are randomized every hour.
|
||||||
|
|
||||||
|
**Netscript**
|
||||||
|
|
||||||
|
* 'getPlayer' is not a singularity function anymore.
|
||||||
|
* 'hacknetNodes.constants' returns the correct values.
|
||||||
|
* 'createGang' has been added.
|
||||||
|
* 'inGang' has been added.
|
||||||
|
|
||||||
|
**Tutorial**
|
||||||
|
|
||||||
|
* Updated the tutorial. Made it look cleaner, fixed typos, etc.
|
||||||
|
|
||||||
|
**Misc.**
|
||||||
|
|
||||||
|
* Fix many typos in literature (@kwazygloo)
|
||||||
|
* Fix being able to unfocus from gym and university.
|
||||||
|
* Fix being able to do hacking missions while unfocused.
|
||||||
|
* Fix many typos in Augmentation descriptions (@kwazygloo)
|
||||||
|
* More numbers handle absurdly large values. (@Tesseract1234567890)
|
||||||
|
* Fix many typos (@Tesseract1234567890)
|
||||||
|
* Fixed an issue that caused a UI desync when sleeves were set to workout
|
||||||
|
stats other than strength at the gym.
|
||||||
|
* Fix weird alignment of donation text box and button. (@Tesseract1234567890)
|
||||||
|
* Fixed an issue where reputation could be transfered to new jobs when unfocused.
|
||||||
|
* Empty stack traces should no longer appear.
|
||||||
|
* Purchasing anything with Infinity money doesn't result in NaN.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
v0.51.10 - 2021-05-31 Focus Mark, Focus! (hydroflame)
|
||||||
|
-----------------------------------------------------
|
||||||
|
|
||||||
|
**Focus**
|
||||||
|
|
||||||
|
* You can now use the terminal and write scripts while working for factions
|
||||||
|
but you will gain reputation at a slower rate.
|
||||||
|
|
||||||
|
**SF -1**
|
||||||
|
|
||||||
|
* Added a new SF -1: Bypass
|
||||||
|
|
||||||
|
**Gang**
|
||||||
|
|
||||||
|
* "Vigilante justice"/"Ethical hacking" now reduces wanted level by a very
|
||||||
|
small percentage as well an absolute value.
|
||||||
|
|
||||||
|
**Netscript**
|
||||||
|
|
||||||
|
* 'tFormat' now has a second argument to display with millisecond precision.
|
||||||
|
* 'purchaseSleeveAug' can no longer purchase the same aug over and over for
|
||||||
|
the same sleeve.
|
||||||
|
* fix typo in logging for 'getServerSecurityLevel'
|
||||||
|
* Fixed some weird issue where very rarely you would get 0 exp from 'grow'
|
||||||
|
* 'getActionTime' now returns correct values for Diplomacy and Regeneration.
|
||||||
|
|
||||||
|
**Corporations**
|
||||||
|
|
||||||
|
* Fixed an exploit where you could get nearly infinite corporation funds by
|
||||||
|
entering negative numbers in textboxes.
|
||||||
|
* Fixed an exploit where shares could be sold again by clicking the
|
||||||
|
"sell share" button via scripts.
|
||||||
|
|
||||||
|
**Documentation**
|
||||||
|
|
||||||
|
* typo fix in purchaseTor
|
||||||
|
* typo fix in basicgameplay/stats
|
||||||
|
|
||||||
|
**Misc.**
|
||||||
|
|
||||||
|
* Very large number will no longer appear as "$NaNt"
|
||||||
|
* Hash capacity now displays in the "big number" format.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
v0.51.9 - 2021-05-17 offline progress and exports! (hydroflame & community)
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
|
|
||||||
**Alias**
|
**Alias**
|
||||||
@@ -55,9 +329,10 @@ v0.51.9 - 2021-05-17 offline progress and exports! (hydroflame)
|
|||||||
* Updated several dependencies (big who cares, I know)
|
* Updated several dependencies (big who cares, I know)
|
||||||
* ls no longer prints lingering newline.
|
* ls no longer prints lingering newline.
|
||||||
* Money earned/spent by sleeves is now tracked under Character>Money
|
* Money earned/spent by sleeves is now tracked under Character>Money
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
|
||||||
v0.51.8 - 2021-05-07 It was there all along (hydroflame)
|
v0.51.8 - 2021-05-07 It was there all along (hydroflame & community)
|
||||||
--------------------------------------------------------
|
--------------------------------------------------------
|
||||||
|
|
||||||
**Servers**
|
**Servers**
|
||||||
@@ -112,8 +387,9 @@ v0.51.8 - 2021-05-07 It was there all along (hydroflame)
|
|||||||
* Fix infiltration number formatting.
|
* Fix infiltration number formatting.
|
||||||
* script income transfers to parent on death. This helps keep track of
|
* script income transfers to parent on death. This helps keep track of
|
||||||
income for scripts that spawn short lived scripts.
|
income for scripts that spawn short lived scripts.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.51.7 - 2021-04-28 n00dles (hydroflame)
|
v0.51.7 - 2021-04-28 n00dles (hydroflame & community)
|
||||||
-----------------------------------------
|
-----------------------------------------
|
||||||
|
|
||||||
**Tutorial servers**
|
**Tutorial servers**
|
||||||
@@ -169,9 +445,10 @@ v0.51.7 - 2021-04-28 n00dles (hydroflame)
|
|||||||
* Money amount under 1000 dont display 3 decimal anymore.
|
* Money amount under 1000 dont display 3 decimal anymore.
|
||||||
* Fix nextSourceFile flag miscalculation on the bitverse (for Bn12)
|
* Fix nextSourceFile flag miscalculation on the bitverse (for Bn12)
|
||||||
* Faction invite text says "Decide later"/"Join!" instead of "No"/"Yes"
|
* Faction invite text says "Decide later"/"Join!" instead of "No"/"Yes"
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
|
||||||
v0.51.6 - 2021-04-28 Backdoor! (Community)
|
v0.51.6 - 2021-04-28 Backdoor! (hydroflame & community)
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
|
|
||||||
**Backdoor**
|
**Backdoor**
|
||||||
@@ -219,6 +496,7 @@ v0.51.6 - 2021-04-28 Backdoor! (Community)
|
|||||||
* so many documentation and typos fixes (@Pimgd)
|
* so many documentation and typos fixes (@Pimgd)
|
||||||
* A corruption visual effect has been added to location with servers that
|
* A corruption visual effect has been added to location with servers that
|
||||||
have backdoor installed. (@dewint)
|
have backdoor installed. (@dewint)
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
|
||||||
v0.51.5 - 2021-04-20 Flags! (hydroflame)
|
v0.51.5 - 2021-04-20 Flags! (hydroflame)
|
||||||
@@ -243,6 +521,7 @@ v0.51.5 - 2021-04-20 Flags! (hydroflame)
|
|||||||
* Souce-File typo fix
|
* Souce-File typo fix
|
||||||
* Fix 'while you were away' screen.
|
* Fix 'while you were away' screen.
|
||||||
* Bladeburner team size can no longer be set to negative amounts.
|
* Bladeburner team size can no longer be set to negative amounts.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.51.4 - 2021-04-19 Manual hacking is fun (hydroflame)
|
v0.51.4 - 2021-04-19 Manual hacking is fun (hydroflame)
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
@@ -278,6 +557,7 @@ v0.51.4 - 2021-04-19 Manual hacking is fun (hydroflame)
|
|||||||
* The text editor now remembers the location of your cursor and restores it.
|
* The text editor now remembers the location of your cursor and restores it.
|
||||||
* skills are recalculated instantly.
|
* skills are recalculated instantly.
|
||||||
* Fix typo in Operation Zero description.
|
* Fix typo in Operation Zero description.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.51.3 - 2021-04-16 Y'all broke it on the first day (hydroflame)
|
v0.51.3 - 2021-04-16 Y'all broke it on the first day (hydroflame)
|
||||||
-----------------------------------------------------------------
|
-----------------------------------------------------------------
|
||||||
@@ -319,6 +599,7 @@ v0.51.3 - 2021-04-16 Y'all broke it on the first day (hydroflame)
|
|||||||
* Hacknet node names is easier to handle for screen readers.
|
* Hacknet node names is easier to handle for screen readers.
|
||||||
* Money spent on classes is now tracked independently of work money.
|
* Money spent on classes is now tracked independently of work money.
|
||||||
* running coding contract from the terminal will display its name.
|
* running coding contract from the terminal will display its name.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.51.2 - 2021-04-09 Vegas, Baby! (hydroflame)
|
v0.51.2 - 2021-04-09 Vegas, Baby! (hydroflame)
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
@@ -333,6 +614,7 @@ v0.51.2 - 2021-04-09 Vegas, Baby! (hydroflame)
|
|||||||
* Link to discord added under options
|
* Link to discord added under options
|
||||||
* 'getMemberInformation' doc updated, oops
|
* 'getMemberInformation' doc updated, oops
|
||||||
* tech vendor now handle max ram and cores.
|
* tech vendor now handle max ram and cores.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.51.1 - 2021-04-06 Bugfixes because the author of the last patch sucks (it's hydroflame)
|
v0.51.1 - 2021-04-06 Bugfixes because the author of the last patch sucks (it's hydroflame)
|
||||||
------------------------------------------------------------------------------------------
|
------------------------------------------------------------------------------------------
|
||||||
@@ -364,6 +646,7 @@ v0.51.1 - 2021-04-06 Bugfixes because the author of the last patch sucks (it's h
|
|||||||
|
|
||||||
* 'fl1ght.exe' will no longer suggest the combat path. Related faction
|
* 'fl1ght.exe' will no longer suggest the combat path. Related faction
|
||||||
requirements unchanged.
|
requirements unchanged.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.51.0 - 2021-03-31 Formulas (hydroflame)
|
v0.51.0 - 2021-03-31 Formulas (hydroflame)
|
||||||
------------------------------------------
|
------------------------------------------
|
||||||
@@ -390,6 +673,10 @@ v0.51.0 - 2021-03-31 Formulas (hydroflame)
|
|||||||
|
|
||||||
* Certain UI elements are now 'click-to-copy'
|
* Certain UI elements are now 'click-to-copy'
|
||||||
|
|
||||||
|
** Misc. **
|
||||||
|
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.50.2 - 2021-03-25 Everyone asked for this one. (hydroflame)
|
v0.50.2 - 2021-03-25 Everyone asked for this one. (hydroflame)
|
||||||
--------------------------------------------------------------
|
--------------------------------------------------------------
|
||||||
|
|
||||||
@@ -407,6 +694,7 @@ v0.50.2 - 2021-03-25 Everyone asked for this one. (hydroflame)
|
|||||||
|
|
||||||
* New shortcut, Alt + b, brings you to bladeburner
|
* New shortcut, Alt + b, brings you to bladeburner
|
||||||
* New shortcut, Alt + g, brings you to gang
|
* New shortcut, Alt + g, brings you to gang
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.50.1 - 2021-03-22 (hydroflame)
|
v0.50.1 - 2021-03-22 (hydroflame)
|
||||||
---------------------------------
|
---------------------------------
|
||||||
@@ -429,6 +717,7 @@ v0.50.1 - 2021-03-22 (hydroflame)
|
|||||||
**Misc.**
|
**Misc.**
|
||||||
|
|
||||||
* Minor spacing in stats tables.
|
* Minor spacing in stats tables.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.50.0 - 2021-03-20 Intelligence (hydroflame)
|
v0.50.0 - 2021-03-20 Intelligence (hydroflame)
|
||||||
----------------------------------------------
|
----------------------------------------------
|
||||||
@@ -449,6 +738,7 @@ v0.50.0 - 2021-03-20 Intelligence (hydroflame)
|
|||||||
* number formatting
|
* number formatting
|
||||||
* remove wiki button in Hacking Missions.
|
* remove wiki button in Hacking Missions.
|
||||||
* Fix NaN displayed when very very large numbers are reached.
|
* Fix NaN displayed when very very large numbers are reached.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.49.2 - 2021-03-13 (hydroflame)
|
v0.49.2 - 2021-03-13 (hydroflame)
|
||||||
---------------------------------
|
---------------------------------
|
||||||
@@ -486,6 +776,7 @@ v0.49.2 - 2021-03-13 (hydroflame)
|
|||||||
**Misc.**
|
**Misc.**
|
||||||
|
|
||||||
* Fix issue where the effective stats under Character>Stats were being calculated.
|
* Fix issue where the effective stats under Character>Stats were being calculated.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.49.0 - 2021-03-11 Source-File -1 (hydroflame)
|
v0.49.0 - 2021-03-11 Source-File -1 (hydroflame)
|
||||||
------------------------------------------------
|
------------------------------------------------
|
||||||
@@ -513,6 +804,7 @@ v0.49.0 - 2021-03-11 Source-File -1 (hydroflame)
|
|||||||
|
|
||||||
* Minor formatting under Hacking>Active Scripts
|
* Minor formatting under Hacking>Active Scripts
|
||||||
* option menu colors now match the rest of the game, kinda.
|
* option menu colors now match the rest of the game, kinda.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
|
|
||||||
v0.48.0 - ASCII - 2021-03-07 (hydroflame)
|
v0.48.0 - ASCII - 2021-03-07 (hydroflame)
|
||||||
@@ -560,6 +852,7 @@ v0.48.0 - ASCII - 2021-03-07 (hydroflame)
|
|||||||
has bought but not installed
|
has bought but not installed
|
||||||
* Character>Factions has a badge indicating how many factions have pending
|
* Character>Factions has a badge indicating how many factions have pending
|
||||||
invites.
|
invites.
|
||||||
|
* nerf noodle bar
|
||||||
|
|
||||||
v0.47.2 - 7/15/2019
|
v0.47.2 - 7/15/2019
|
||||||
-------------------
|
-------------------
|
||||||
|
|||||||
+2
-2
@@ -64,9 +64,9 @@ documentation_title = '{0} Documentation'.format(project)
|
|||||||
# built documents.
|
# built documents.
|
||||||
#
|
#
|
||||||
# The short X.Y version.
|
# The short X.Y version.
|
||||||
version = '0.51'
|
version = '0.52'
|
||||||
# The full version, including alpha/beta/rc tags.
|
# The full version, including alpha/beta/rc tags.
|
||||||
release = '0.51.9'
|
release = '0.52.8'
|
||||||
|
|
||||||
# The language for content autogenerated by Sphinx. Refer to documentation
|
# The language for content autogenerated by Sphinx. Refer to documentation
|
||||||
# for a list of supported languages.
|
# for a list of supported languages.
|
||||||
|
|||||||
@@ -636,7 +636,7 @@ This tells me that I can reach :code:`CSEC` by going through :code:`iron-gym`::
|
|||||||
from CSEC once you hit 50 hacking, you cannot actually pass their test
|
from CSEC once you hit 50 hacking, you cannot actually pass their test
|
||||||
until your hacking is high enough to install a backdoor on their server.
|
until your hacking is high enough to install a backdoor on their server.
|
||||||
|
|
||||||
After you are connected to the :code:`CSEC` server, you can hack it. Note that this
|
After you are connected to the :code:`CSEC` server, you can backdoor it. Note that this
|
||||||
server requires one open port in order to gain root access. We can open the SSH port
|
server requires one open port in order to gain root access. We can open the SSH port
|
||||||
using the :code:`BruteSSH.exe` program we created earlier. In |Terminal|::
|
using the :code:`BruteSSH.exe` program we created earlier. In |Terminal|::
|
||||||
|
|
||||||
|
|||||||
@@ -5,13 +5,16 @@ getBitNodeMultipliers() Netscript Function
|
|||||||
|
|
||||||
:RAM cost: 4 GB
|
:RAM cost: 4 GB
|
||||||
|
|
||||||
Returns an object containing the current BitNode multipliers. This function
|
If you are not in BitNode-5, then you must have Source-File 5-1 in order to
|
||||||
requires Source-File 5 in order to run. The multipliers are returned in
|
run this function.
|
||||||
decimal forms (e.g. 1.5 instead of 150%). The multipliers represent the
|
|
||||||
difference between the current BitNode and the original BitNode (BitNode-1).
|
Returns an object containing the current BitNode multipliers. The
|
||||||
For example, if the *CrimeMoney* multiplier has a value of 0.1, then that
|
multipliers are returned in decimal forms (e.g. 1.5 instead of 150%). The
|
||||||
means that committing crimes in the current BitNode will only give 10% of
|
multipliers represent the difference between the current BitNode and the
|
||||||
the money you would have received in BitNode-1.
|
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
|
The structure of the returned object is subject to change as BitNode
|
||||||
multipliers get added to the game. Refer to the `source code here
|
multipliers get added to the game. Refer to the `source code here
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ getServer() Netscript Function
|
|||||||
|
|
||||||
.. js:function:: getServer([hostname])
|
.. js:function:: getServer([hostname])
|
||||||
|
|
||||||
:RAM cost: 4 GB
|
:RAM cost: 2 GB
|
||||||
:param string hostname: Hostname of the server, defaults to host server.
|
: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.
|
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.
|
:param string hostname: Hostname of the target server.
|
||||||
|
|
||||||
Runs the BruteSSH.exe program on the target server. BruteSSH.exe must exist
|
Runs the ``BruteSSH.exe`` program on the target server. ``BruteSSH.exe``
|
||||||
on your home computer.
|
must exist on your home computer.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
|||||||
@@ -9,9 +9,3 @@ disableLog() Netscript Function
|
|||||||
|
|
||||||
Disables logging for the given function. Logging can be disabled for
|
Disables logging for the given function. Logging can be disabled for
|
||||||
all functions by passing 'ALL' as the argument.
|
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
|
the :doc:`run<run>` function except that it can be used to run a script on any
|
||||||
server, instead of just the current server.
|
server, instead of just the current server.
|
||||||
|
|
||||||
.. warning:: Running this function with a ``numThreads`` argument of 0 will return 0 without
|
.. warning:: Running this function with a ``numThreads`` argument of 0 or
|
||||||
running the script. However, running this function with a negative *numThreads*
|
less will cause a runtime error.
|
||||||
argument will cause a runtime error.
|
|
||||||
|
|
||||||
The simplest way to use the :doc:`exec<exec>` command is to call it with
|
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
|
just the script name and the target server. The following example will try
|
||||||
|
|||||||
@@ -6,3 +6,12 @@ exit() Netscript Function
|
|||||||
:RAM cost: 0 GB
|
:RAM cost: 0 GB
|
||||||
|
|
||||||
Terminates the current script immediately.
|
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.
|
:param data array of pairs of strings: Flags definition.
|
||||||
:returns: Object containing all the flags that were parsed or default.
|
: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
|
This function allows for a more flexible way of parsing script arguments
|
||||||
name of the flag, the 2nd value is the default value for that flag.
|
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
|
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:
|
Example:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
/* example.script
|
// example.script
|
||||||
var data = flags([
|
var data = flags([
|
||||||
['delay', 0], // a default number means this flag is a number
|
['delay', 0], // a default number means this flag is a number
|
||||||
['server', 'foodnstuff'], // a default string means this flag is a string
|
['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
|
['help', false], // a default boolean means this flag is a boolean
|
||||||
]);
|
]);
|
||||||
tprint(data);
|
tprint(data);
|
||||||
*/
|
/*
|
||||||
[home ~/]> run example.script
|
[home ~/]> run example.script
|
||||||
{"_":[],"delay":0,"server":"foodnstuff"}
|
{"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":false}
|
||||||
[home ~/]> run example.script --delay 3000
|
[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
|
[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
|
[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
|
[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
|
[home ~/]> run example.script --help
|
||||||
{"_":[],"delay":0,"server":"foodnstuff","exclude":[],"help":true}
|
{"_":[],"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``
|
Runs the ``FTPCrack.exe`` program on the target server. ``FTPCrack.exe``
|
||||||
must exist on your home computer.
|
must exist on your home computer.
|
||||||
|
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ getGrowTime() Netscript Function
|
|||||||
The function takes in an optional ``hackLvl`` parameter that can be
|
The function takes in an optional ``hackLvl`` parameter that can be
|
||||||
specified to see what the grow time would be at different hacking levels.
|
specified to see what the grow time would be at different hacking levels.
|
||||||
|
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|||||||
@@ -11,4 +11,3 @@ getHostname() Netscript Function
|
|||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
getHostname(); // returns: "foodnstuff"
|
getHostname(); // returns: "foodnstuff"
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,101 @@
|
|||||||
|
getPlayer() Netscript Function
|
||||||
|
==============================
|
||||||
|
|
||||||
|
.. js:function:: getPlayer()
|
||||||
|
|
||||||
|
:RAM cost: 0.5 GB
|
||||||
|
|
||||||
|
The result of this function can be passed to the :doc:`formulas API<../netscriptformulasapi>`.
|
||||||
|
|
||||||
|
Returns an object with the Player's stats. The object has the following properties::
|
||||||
|
|
||||||
|
{
|
||||||
|
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::
|
||||||
|
|
||||||
|
player = getPlayer();
|
||||||
|
print('My charisma level is: ' + player.charisma);
|
||||||
@@ -4,7 +4,7 @@ getRunningScript() Netscript Function
|
|||||||
.. js:function:: getRunningScript()
|
.. js:function:: getRunningScript()
|
||||||
|
|
||||||
:RAM cost: 0.3 GB
|
: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:
|
The object has the following properties:
|
||||||
|
|
||||||
@@ -64,8 +64,8 @@ getRunningScript() Netscript Function
|
|||||||
.. js:function:: getRunningScript(pid)
|
.. js:function:: getRunningScript(pid)
|
||||||
|
|
||||||
:RAM cost: 0.3 GB
|
:RAM cost: 0.3 GB
|
||||||
:param number pid: PID of the script
|
:param number pid: PID of the script.
|
||||||
:returns: Script object or null if not found
|
:returns: Script object or null if not found.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
@@ -73,13 +73,13 @@ getRunningScript() Netscript Function
|
|||||||
|
|
||||||
getRunningScript(42); // get the script with pid 42.
|
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
|
:RAM cost: 0.3 GB
|
||||||
:param number fn: filename of the target script
|
:param number fn: Filename of the target script.
|
||||||
:param number hostname: hostname of the server running the script
|
:param number hostname: Hostname of the server running the script.
|
||||||
:param number args: arguments to the script.
|
:param number args...: Arguments that the script is running with.
|
||||||
:returns: Script object or null if not found
|
:returns: Script object or null if not found.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
|||||||
@@ -15,4 +15,3 @@ getScriptExpGain() Netscript Function
|
|||||||
|
|
||||||
.. note:: A script is uniquely identified by both its name and its
|
.. note:: A script is uniquely identified by both its name and its
|
||||||
arguments.
|
arguments.
|
||||||
|
|
||||||
|
|||||||
@@ -9,8 +9,8 @@ getScriptLogs() Netscript Function
|
|||||||
:param args...: Arguments to identify which scripts to get logs for
|
:param args...: Arguments to identify which scripts to get logs for
|
||||||
:returns: Array of string, each line being a logged line. Chronological.
|
:returns: Array of string, each line being a logged line. Chronological.
|
||||||
|
|
||||||
.. note:: There is a maximum number of lines that a script stores in its logs.
|
.. note:: There is a maximum number of lines that a script stores in its logs.
|
||||||
This is configurable in the game's options.
|
This is configurable in the game's options.
|
||||||
|
|
||||||
If the function is called with no arguments, it will return the current
|
If the function is called with no arguments, it will return the current
|
||||||
script's logs.
|
script's logs.
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ getServerGrowth() Netscript Function
|
|||||||
:param string hostname: Hostname of target server.
|
:param string hostname: Hostname of target server.
|
||||||
:returns: Server growth parameter.
|
:returns: Server growth parameter.
|
||||||
|
|
||||||
The growth parameter is a number between 1 and 100 affects the percentage by
|
The growth parameter is a number, typically between 1 and 100, that affects
|
||||||
which the server's money is increased when using the :doc:`grow<grow>`
|
the percentage by which the server's money is increased when using the
|
||||||
function. A higher growth parameter will result in a higher percentage
|
:doc:`grow<grow>` function. A higher growth parameter will result in a
|
||||||
increase.
|
higher percentage increase.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
|||||||
@@ -5,10 +5,10 @@ getServerMaxMoney() Netscript Function
|
|||||||
|
|
||||||
:RAM cost: 0.1 GB
|
:RAM cost: 0.1 GB
|
||||||
:param string hostname: Hostname of target server.
|
:param string hostname: Hostname of target server.
|
||||||
:returns: Maximum amount of money that can be available on a server.
|
:returns: Maximum amount of money that can be available on a server.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
getServerMaxMoney('foodnstuff'); // returns: 4000000
|
getServerMaxMoney('foodnstuff'); // returns: 50000000
|
||||||
|
|||||||
@@ -3,12 +3,14 @@ getServerRam() Netscript Function
|
|||||||
|
|
||||||
.. js:function:: getServerRam(hostname)
|
.. 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
|
:RAM cost: 0.1 GB
|
||||||
:param string hostname: Hostname of target server.
|
:param string hostname: Hostname of target server.
|
||||||
:returns: An array of 2 number, first number is the total RAM, second the
|
:returns: An array of 2 numbers; the first number is the total RAM, and the
|
||||||
used RAM.
|
second is the used RAM.
|
||||||
|
|
||||||
Returns an array with two elements that gives information about a server's memory (RAM). The first
|
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
|
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
|
:RAM cost: 0.05 GB
|
||||||
:param string hostname: Hostname of the target server.
|
:param string hostname: Hostname of the target server.
|
||||||
|
|
||||||
Runs the HTTPWorm.exe program on the target server. HTTPWorm.exe must exist
|
Runs the ``HTTPWorm.exe`` program on the target server. ``HTTPWorm.exe``
|
||||||
on your home computer.
|
must exist on your home computer.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
|||||||
@@ -6,7 +6,8 @@ nuke() Netscript Function
|
|||||||
:RAM cost: 0.05 GB
|
:RAM cost: 0.05 GB
|
||||||
:param string hostname: Hostname of the target server.
|
: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:
|
Example:
|
||||||
|
|||||||
@@ -6,9 +6,8 @@ relaysmtp() Netscript Function
|
|||||||
:RAM cost: 0.05 GB
|
:RAM cost: 0.05 GB
|
||||||
:param string hostname: Hostname of the target server.
|
:param string hostname: Hostname of the target server.
|
||||||
|
|
||||||
|
Runs the ``relaySMTP.exe`` program on the target server. ``relaySMTP.exe``
|
||||||
Runs the relaySMTP.exe program on the target server. relaySMTP.exe must
|
must exist on your home computer.
|
||||||
exist on your home computer.
|
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
|||||||
@@ -17,9 +17,8 @@ run() Netscript Function
|
|||||||
scripts located on the current server (the server running the script that
|
scripts located on the current server (the server running the script that
|
||||||
calls this function).
|
calls this function).
|
||||||
|
|
||||||
.. warning:: Running this function with a ``numThreads`` argument of 0 will
|
.. warning:: Running this function with a ``numThreads`` argument of 0 or
|
||||||
return 0 without running the script. However, running this function with
|
less will cause a runtime error.
|
||||||
a negative ``numThreads`` argument will cause a runtime error.
|
|
||||||
|
|
||||||
The simplest way to use the :doc:`run<run>` command is to call it with just
|
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``
|
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.
|
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.
|
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.
|
: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
|
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,
|
``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.
|
Suspends the script for n milliseconds.
|
||||||
|
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|||||||
@@ -16,6 +16,8 @@ spawn() Netscript Function
|
|||||||
current one. This function can only be used to run scripts on the local
|
current one. This function can only be used to run scripts on the local
|
||||||
server.
|
server.
|
||||||
|
|
||||||
|
.. warning:: Running this function with a ``numThreads`` argument of 0 or
|
||||||
|
less will cause a runtime error.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
|||||||
@@ -6,8 +6,8 @@ sqlinject() Netscript Function
|
|||||||
:RAM cost: 0.05 GB
|
:RAM cost: 0.05 GB
|
||||||
:param string hostname: Hostname of the target server.
|
:param string hostname: Hostname of the target server.
|
||||||
|
|
||||||
Runs the SQLInject.exe program on the target server. SQLInject.exe must
|
Runs the ``SQLInject.exe`` program on the target server. ``SQLInject.exe``
|
||||||
exist on your home computer.
|
must exist on your home computer.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,17 @@
|
|||||||
tFormat() Netscript Function
|
tFormat() Netscript Function
|
||||||
============================
|
============================
|
||||||
|
|
||||||
.. js:function:: tFormat(milliseconds)
|
.. js:function:: tFormat(milliseconds[, milliPrecision=false])
|
||||||
|
|
||||||
:RAM cost: 0 GB
|
:RAM cost: 0 GB
|
||||||
:param number milliseconds: Amount of milliseconds to format.
|
:param number milliseconds: Amount of milliseconds to format.
|
||||||
|
:param number milliPrecision: Display time with millisecond precision.
|
||||||
:returns: milliseconds in the "D M H S" format
|
:returns: milliseconds in the "D M H S" format
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
tFormat(3000); // returns: "3 seconds"
|
tFormat(3000); // returns: "3 seconds"
|
||||||
tFormat(10000000); // returns: "2 hours 46 minutes 40 seconds"
|
tFormat(10000000); // returns: "2 hours 46 minutes 40 seconds"
|
||||||
|
tFormat(10000023, true); // returns: "2 hours 46 minutes 40.023 seconds"
|
||||||
|
|||||||
@@ -44,9 +44,6 @@ tail() Netscript Function
|
|||||||
// Open logs from process with id 42
|
// Open logs from process with id 42
|
||||||
tail(42);
|
tail(42);
|
||||||
|
|
||||||
// Open logs from process with id 42 on the foodnstuff server
|
|
||||||
tail(42, "foodnstuff");
|
|
||||||
|
|
||||||
.. js:function:: tail()
|
.. js:function:: tail()
|
||||||
|
|
||||||
:RAM cost: 0 GB
|
:RAM cost: 0 GB
|
||||||
|
|||||||
@@ -8,7 +8,6 @@ write() Netscript Function
|
|||||||
:param string data: Data to write
|
:param string data: Data to write
|
||||||
:param string mode: Defines the write mode. Only valid when writing to text files or scripts.
|
: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
|
This function can be used to either write data to a port, a text file
|
||||||
(.txt), or a script (.script, .js, .ns)
|
(.txt), or a script (.script, .js, .ns)
|
||||||
|
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ getActionCountRemaining() Netscript Function
|
|||||||
This function will return 'Infinity' for actions such as 'Training' and
|
This function will return 'Infinity' for actions such as 'Training' and
|
||||||
'Field Analysis'.
|
'Field Analysis'.
|
||||||
This function will return 1 for BlackOps not yet completed regardless of
|
This function will return 1 for BlackOps not yet completed regardless of
|
||||||
wether the player has the required rank to attempt the mission or not.
|
whether the player has the required rank to attempt the mission or not.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
|||||||
@@ -12,4 +12,4 @@ getActionCurrentLevel() Netscript Function
|
|||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
bladeburner.getActionCountRemaining("Contracts", "Tracking"); // returns: 7
|
bladeburner.getActionCurrentLevel("Contracts", "Tracking"); // returns: 9
|
||||||
@@ -6,10 +6,10 @@ getActionEstimatedSuccessChance() Netscript Function
|
|||||||
:RAM cost: 4 GB
|
:RAM cost: 4 GB
|
||||||
:param string type: Type of action. See :ref:`bladeburner_action_types`
|
:param string type: Type of action. See :ref:`bladeburner_action_types`
|
||||||
:param string name: Name of action. Must be an exact match
|
:param string name: Name of action. Must be an exact match
|
||||||
:returns: Estimated success chance in decimal
|
:returns: Array of 2 number, lower and upper bound of the action chance.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
bladeburner.getActionEstimatedSuccessChance("Contracts", "Tracking"); // returns: .3
|
bladeburner.getActionEstimatedSuccessChance("Contracts", "Tracking"); // returns: [.3, .6]
|
||||||
|
|||||||
@@ -11,8 +11,8 @@ getData() Netscript Function
|
|||||||
contract type.
|
contract type.
|
||||||
|
|
||||||
Get the data associated with the specific Coding Contract. Note that this is
|
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
|
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
|
the contract wants you to act on in order to solve.
|
||||||
|
|
||||||
Example:
|
Example:
|
||||||
|
|
||||||
|
|||||||
@@ -8,15 +8,18 @@ calculateExp() Netscript Function
|
|||||||
:param number mult: Assume a specific skill multipler (not exp multiplier).
|
:param number mult: Assume a specific skill multipler (not exp multiplier).
|
||||||
:returns: number of exp required to reach given ``skillLevel`` with that 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:
|
Examples:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
nextHacking = getStats().hacking+1;
|
var player = getPlayer();
|
||||||
nextExp = formulas.basic.calculateExp(nextHacking);
|
var nextHacking = player.hacking_skill+1;
|
||||||
missingExp = nextExp - getCharacterInformation().hackingExp;
|
var nextExp = formulas.basic.calculateExp(nextHacking);
|
||||||
|
var missingExp = nextExp - player.hacking_exp;
|
||||||
tprint("Missing " + missingExp + " to reach next hacking level");
|
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).
|
:param number mult: Assume a specific skill multipler (not exp multiplier).
|
||||||
:returns: skillLevel that ``exp`` would reach with that 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.
|
This function calculates the skillLevel that the given amount of ``exp`` would reach.
|
||||||
|
|
||||||
|
|||||||
@@ -1,20 +1,25 @@
|
|||||||
growPercent() Netscript Function
|
growPercent() Netscript Function
|
||||||
=================================
|
=================================
|
||||||
|
|
||||||
.. js:function:: growPercent(server, threads, player)
|
.. js:function:: growPercent(server, threads, player, cores)
|
||||||
|
|
||||||
:RAM cost: 0 GB
|
:RAM cost: 0 GB
|
||||||
:param server server: The server that receives the growth.
|
:param server server: The server that receives the growth.
|
||||||
:param number threads: The number of thread that would be used.
|
:param number threads: The number of thread that would be used.
|
||||||
:param player player: The player.
|
:param player player: The player.
|
||||||
:returns: The percentage growth this server would receive with these parameters.
|
:param number cores: The amount of cores on the host computer.
|
||||||
|
: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.
|
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:
|
Examples:
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,11 @@ growTime() Netscript Function
|
|||||||
:param player player: The player.
|
:param player player: The player.
|
||||||
:returns: The time it takes to grow this server. In seconds.
|
: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.
|
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.
|
This function calculates the amount of time it takes to grow a server.
|
||||||
|
|
||||||
|
|||||||
@@ -6,19 +6,20 @@ hackChance() Netscript Function
|
|||||||
:RAM cost: 0 GB
|
:RAM cost: 0 GB
|
||||||
:param server server: The server to hack.
|
:param server server: The server to hack.
|
||||||
:param player player: The player.
|
: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.
|
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:
|
Examples:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
server = getServer();
|
var server = getServer();
|
||||||
server.hackDifficulty = server.minDifficulty;
|
server.hackDifficulty = server.minDifficulty;
|
||||||
tprint(formulas.basic.hackChance(server, getPlayer()));
|
tprint(formulas.basic.hackChance(server, getPlayer()));
|
||||||
@@ -8,10 +8,11 @@ hackExp() Netscript Function
|
|||||||
:param player player: The player.
|
:param player player: The player.
|
||||||
:returns: The amount of exp that would be acquired if this server were to be hacked.
|
: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.
|
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.
|
This function calculates the amount of exp obtained by hacking a server.
|
||||||
|
|
||||||
@@ -19,6 +20,4 @@ hackExp() Netscript Function
|
|||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
server = getServer();
|
tprint(formulas.basic.hackExp(getServer(), getPlayer()));
|
||||||
server.hackDifficulty = 99.9;
|
|
||||||
tprint(formulas.basic.hackExp(server, getPlayer()));
|
|
||||||
|
|||||||
@@ -6,15 +6,16 @@ hackPercent() Netscript Function
|
|||||||
:RAM cost: 0 GB
|
:RAM cost: 0 GB
|
||||||
:param server server: The server to hack.
|
:param server server: The server to hack.
|
||||||
:param player player: The player.
|
: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.
|
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.
|
This function calculates the percentage of money hacked from a server.
|
||||||
Multiply this by thread count to know calculate the percentage for more than 1 thread.
|
Multiply this by thread count to calculate the percentage for more than 1 thread.
|
||||||
|
|
||||||
Examples:
|
Examples:
|
||||||
|
|
||||||
|
|||||||
@@ -8,10 +8,11 @@ hackTime() Netscript Function
|
|||||||
:param player player: The player.
|
:param player player: The player.
|
||||||
:returns: The time it takes to hack this server. In seconds.
|
: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.
|
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.
|
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.
|
:param player player: The player.
|
||||||
:returns: The time it takes to weaken this server. In seconds.
|
: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.
|
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.
|
This function calculates the amount of time it takes to weaken a server.
|
||||||
|
|
||||||
|
|||||||
@@ -6,21 +6,28 @@ constants() Netscript Function
|
|||||||
:RAM cost: 0 GB
|
:RAM cost: 0 GB
|
||||||
:returns: A structure with various constants related to hacknet nodes.
|
: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:
|
Examples:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
{
|
tprint("Maximum RAM a hacknet node can have: "+formulas.hacknetNodes.constants().MaxRam+" GB.");
|
||||||
MoneyGainPerLevel
|
|
||||||
BaseCost
|
|
||||||
LevelBaseCost
|
|
||||||
RamBaseCost
|
|
||||||
CoreBaseCost
|
|
||||||
PurchaseNextMult
|
|
||||||
UpgradeLevelMult
|
|
||||||
UpgradeRamMult
|
|
||||||
UpgradeCoreMult
|
|
||||||
MaxLevel
|
|
||||||
MaxRam
|
|
||||||
MaxCores
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -9,7 +9,8 @@ coreUpgradeCost() Netscript Function
|
|||||||
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||||
:returns: Money required to go from ``startingCores`` to ``startingCores+extraCores``.
|
: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.
|
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``.
|
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||||
:returns: Money required to buy your ``nodeN`` th node.
|
: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.
|
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``.
|
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||||
:returns: Money required to go from ``startingLevel`` to ``startingLevel+extraLevels``.
|
: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.
|
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.
|
:param number core: cores of the node.
|
||||||
:returns: Money per second that a node with those stats would gain per second.
|
: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.
|
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.
|
..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.
|
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``.
|
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||||
:returns: Money required to go from ``startingLevel`` to ``startingLevel+extraLevels``.
|
: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.
|
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
|
:RAM cost: 0 GB
|
||||||
:returns: A structure with various constants related to hacknet servers.
|
: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:
|
Examples:
|
||||||
|
|
||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
{
|
tprint("Maximum RAM a hacknet server can have: "+formulas.hacknetServers.constants().MaxRam+" GB");
|
||||||
HashesPerLevel
|
|
||||||
BaseCost
|
|
||||||
RamBaseCost
|
|
||||||
CoreBaseCost
|
|
||||||
CacheBaseCost
|
|
||||||
PurchaseMult
|
|
||||||
UpgradeLevelMult
|
|
||||||
UpgradeRamMult
|
|
||||||
UpgradeCoreMult
|
|
||||||
UpgradeCacheMult
|
|
||||||
MaxServers
|
|
||||||
MaxLevel
|
|
||||||
MaxRam
|
|
||||||
MaxCores
|
|
||||||
MaxCache
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -9,7 +9,9 @@ coreUpgradeCost() Netscript Function
|
|||||||
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||||
:returns: Money required to go from ``startingCores`` to ``startingCores+extraCores``.
|
: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.
|
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``.
|
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||||
:returns: Money required to buy your ``serverN`` th node.
|
: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.
|
This function calculates the cost purchasing a hacknet node.
|
||||||
|
|
||||||
|
|||||||
@@ -8,9 +8,11 @@ hashGainRate() Netscript Function
|
|||||||
:param number ramUsed: ram used on the server.
|
:param number ramUsed: ram used on the server.
|
||||||
:param number maxRam: max ram of the server.
|
:param number maxRam: max ram of the server.
|
||||||
:param number core: cores of the server.
|
:param number core: cores of the server.
|
||||||
:returns: Money per second that a server with those stats would gain per second.
|
:returns: Hashes per second that a server with those stats would gain.
|
||||||
|
|
||||||
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.
|
This function calculates the hash rate of a server with the given stats.
|
||||||
|
|
||||||
@@ -19,7 +21,7 @@ hashGainRate() Netscript Function
|
|||||||
.. code-block:: javascript
|
.. code-block:: javascript
|
||||||
|
|
||||||
server = hacknet.getNodeStats(1);
|
server = hacknet.getNodeStats(1);
|
||||||
currentRate = formulas.hacknetNodes.hashGainRate(server.level, 0, server.ram, server.cores);
|
currentRate = formulas.hacknetServers.hashGainRate(server.level, 0, server.ram, server.cores);
|
||||||
levelRate = formulas.hacknetNodes.hashGainRate(server.level+1, 0, server.ram, server.cores);
|
levelRate = formulas.hacknetServers.hashGainRate(server.level+1, 0, server.ram, server.cores);
|
||||||
ramRate = formulas.hacknetNodes.hashGainRate(server.level, 0, server.ram*2, server.cores);
|
ramRate = formulas.hacknetServers.hashGainRate(server.level, 0, server.ram*2, server.cores);
|
||||||
coresRate = formulas.hacknetNodes.hashGainRate(server.level, 0, server.ram, server.cores+1);
|
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.
|
:param number level: Level of the upgrade.
|
||||||
:returns: Amount of Hash.
|
: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``.
|
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``.
|
:param number costMult: Aug multiplier that reduces cost. Defaults to ``1``.
|
||||||
:returns: Money required to go from ``startingLevel`` to ``startingLevel+extraLevels``.
|
: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.
|
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.
|
..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.
|
This function calculates the cost of upgrading levels from any level to any level.
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,12 @@
|
|||||||
|
createGang() Netscript Function
|
||||||
|
======================================
|
||||||
|
|
||||||
|
.. js:function:: createGang(faction)
|
||||||
|
|
||||||
|
:RAM cost: 1 GB
|
||||||
|
:param string faction: Name of faction
|
||||||
|
:returns: ``true`` if a Gang was created with that faction.
|
||||||
|
|
||||||
|
Creates a Gang with that faction. You need to have access to Gangs, the
|
||||||
|
faction must be one of the approved gang factions, and you must be a member
|
||||||
|
of that faction for the creation to be successful.
|
||||||
@@ -13,30 +13,42 @@ getMemberInformation() Netscript Function
|
|||||||
name: Name of this member.
|
name: Name of this member.
|
||||||
task: Name of currently assigned task.
|
task: Name of currently assigned task.
|
||||||
earnedRespect: Total amount of respect earned by this member.
|
earnedRespect: Total amount of respect earned by this member.
|
||||||
|
|
||||||
hack: Hacking stat
|
hack: Hacking stat
|
||||||
str: Strength stat
|
str: Strength stat
|
||||||
def: Defense stat
|
def: Defense stat
|
||||||
dex: Dexterity stat
|
dex: Dexterity stat
|
||||||
agi: Agility stat
|
agi: Agility stat
|
||||||
cha: Charisma stat
|
cha: Charisma stat
|
||||||
|
|
||||||
hack_exp: Hacking experience
|
hack_exp: Hacking experience
|
||||||
str_exp: Strength experience
|
str_exp: Strength experience
|
||||||
def_exp: Defense experience
|
def_exp: Defense experience
|
||||||
dex_exp: Dexterity experience
|
dex_exp: Dexterity experience
|
||||||
agi_exp: Agility experience
|
agi_exp: Agility experience
|
||||||
cha_exp: Charisma experience
|
cha_exp: Charisma experience
|
||||||
|
|
||||||
hack_mult: Hacking multiplier from equipment. Decimal form
|
hack_mult: Hacking multiplier from equipment. Decimal form
|
||||||
str_mult: Strength multiplier from equipment. Decimal form
|
str_mult: Strength multiplier from equipment. Decimal form
|
||||||
def_mult: Defense multiplier from equipment. Decimal form
|
def_mult: Defense multiplier from equipment. Decimal form
|
||||||
dex_mult: Dexterity multiplier from equipment. Decimal form
|
dex_mult: Dexterity multiplier from equipment. Decimal form
|
||||||
agi_mult: Agility multiplier from equipment. Decimal form
|
agi_mult: Agility multiplier from equipment. Decimal form
|
||||||
cha_mult: Charisma multiplier from equipment. Decimal form
|
cha_mult: Charisma multiplier from equipment. Decimal form
|
||||||
|
|
||||||
hack_asc_mult: Hacking multiplier from ascension. Decimal form
|
hack_asc_mult: Hacking multiplier from ascension. Decimal form
|
||||||
str_asc_mult: Strength multiplier from ascension. Decimal form
|
str_asc_mult: Strength multiplier from ascension. Decimal form
|
||||||
def_asc_mult: Defense multiplier from ascension. Decimal form
|
def_asc_mult: Defense multiplier from ascension. Decimal form
|
||||||
dex_asc_mult: Dexterity multiplier from ascension. Decimal form
|
dex_asc_mult: Dexterity multiplier from ascension. Decimal form
|
||||||
agi_asc_mult: Agility multiplier from ascension. Decimal form
|
agi_asc_mult: Agility multiplier from ascension. Decimal form
|
||||||
cha_asc_mult: Charisma multiplier from ascension. Decimal form
|
cha_asc_mult: Charisma multiplier from ascension. Decimal form
|
||||||
|
|
||||||
|
hack_asc_points: Hacking ascension points.
|
||||||
|
str_asc_points: Strength ascension points.
|
||||||
|
def_asc_points: Defense ascension points.
|
||||||
|
dex_asc_points: Dexterity ascension points.
|
||||||
|
agi_asc_points: Agility ascension points.
|
||||||
|
cha_asc_points: Charisma ascension points.
|
||||||
|
|
||||||
upgrades: Array of names of all owned Non-Augmentation Equipment
|
upgrades: Array of names of all owned Non-Augmentation Equipment
|
||||||
augmentations: Array of names of all owned Augmentations
|
augmentations: Array of names of all owned Augmentations
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,7 @@
|
|||||||
|
inGang() Netscript Function
|
||||||
|
======================================
|
||||||
|
|
||||||
|
.. js:function:: inGang()
|
||||||
|
|
||||||
|
:RAM cost: 1 GB
|
||||||
|
:returns: ``true`` if the player is already in a gang.
|
||||||
@@ -92,7 +92,7 @@ its type and name. The following are valid values when specifying the action's t
|
|||||||
* blackop
|
* blackop
|
||||||
* blackops
|
* blackops
|
||||||
|
|
||||||
**General Actions (Training, Field Analysis, Recruitment)**
|
**General Actions (Training, Field Analysis, etc)**
|
||||||
* general
|
* general
|
||||||
* general action
|
* general action
|
||||||
* gen
|
* gen
|
||||||
|
|||||||
@@ -8,15 +8,19 @@ Netscript Formulas Functions
|
|||||||
The formulas API allow you to gain insight into the inner workings of the game.
|
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.
|
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
|
The formulas API is unlocked in BitNode-5. If you are in BitNode-5, you will
|
||||||
Source-File 5-1 but some additionally need another source file level 1 to use.
|
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
|
basic formulas
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
These functions are under the ``formulas.basic.`` name space and available as
|
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::
|
.. toctree::
|
||||||
calculateSkill() <formulasapi/basic/calculateSkill>
|
calculateSkill() <formulasapi/basic/calculateSkill>
|
||||||
@@ -34,7 +38,7 @@ hacknetNodes formulas
|
|||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
These functions are under the ``formulas.hacknetNodes.`` namespace and available as
|
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::
|
.. toctree::
|
||||||
hacknetNodeCost() <formulasapi/hacknetNodes/hacknetNodeCost>
|
hacknetNodeCost() <formulasapi/hacknetNodes/hacknetNodeCost>
|
||||||
@@ -48,7 +52,8 @@ hacknetServers formulas
|
|||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
These functions are under the ``formulas.hacknetServers.`` namespace.
|
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::
|
.. toctree::
|
||||||
hacknetServerCost() <formulasapi/hacknetServers/hacknetServerCost>
|
hacknetServerCost() <formulasapi/hacknetServers/hacknetServerCost>
|
||||||
|
|||||||
@@ -46,6 +46,7 @@ This includes information such as function signatures, what they do, and their r
|
|||||||
getHackingLevel() <basicfunctions/getHackingLevel>
|
getHackingLevel() <basicfunctions/getHackingLevel>
|
||||||
getHackingMultipliers() <basicfunctions/getHackingMultipliers>
|
getHackingMultipliers() <basicfunctions/getHackingMultipliers>
|
||||||
getHacknetMultipliers() <basicfunctions/getHacknetMultipliers>
|
getHacknetMultipliers() <basicfunctions/getHacknetMultipliers>
|
||||||
|
getPlayer() <basicfunctions/getPlayer>
|
||||||
getServerMoneyAvailable() <basicfunctions/getServerMoneyAvailable>
|
getServerMoneyAvailable() <basicfunctions/getServerMoneyAvailable>
|
||||||
getServerMaxMoney() <basicfunctions/getServerMaxMoney>
|
getServerMaxMoney() <basicfunctions/getServerMaxMoney>
|
||||||
getServerGrowth() <basicfunctions/getServerGrowth>
|
getServerGrowth() <basicfunctions/getServerGrowth>
|
||||||
|
|||||||
@@ -25,6 +25,8 @@ In :ref:`netscriptjs`::
|
|||||||
.. toctree::
|
.. toctree::
|
||||||
:caption: API Functions:
|
:caption: API Functions:
|
||||||
|
|
||||||
|
createGang() <gangapi/createGang>
|
||||||
|
inGang() <gangapi/inGang>
|
||||||
getMemberNames() <gangapi/getMemberNames>
|
getMemberNames() <gangapi/getMemberNames>
|
||||||
getGangInformation() <gangapi/getGangInformation>
|
getGangInformation() <gangapi/getGangInformation>
|
||||||
getOtherGangInformation() <gangapi/getOtherGangInformation>
|
getOtherGangInformation() <gangapi/getOtherGangInformation>
|
||||||
|
|||||||
@@ -159,18 +159,21 @@ importing other NetscriptJS scripts::
|
|||||||
this.args = params.args ? params.args : [];
|
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);
|
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");
|
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);
|
ns.scp(this.fn, target);
|
||||||
|
|
||||||
let execArgs = [this.fn, target, this.threads].concat(this.args);
|
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");
|
tprintColored("Executing " + this.fn + " on " + target, "blue");
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -182,8 +185,8 @@ importing other NetscriptJS scripts::
|
|||||||
threads: 1,
|
threads: 1,
|
||||||
args: ["foodnstuff"]
|
args: ["foodnstuff"]
|
||||||
});
|
});
|
||||||
await job.run(ns);
|
job.run(ns);
|
||||||
await job.exec(ns, "foodnstuff");
|
job.exec(ns, "foodnstuff");
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
ns.tprint("Exception thrown in scriptScheduler.ns: " + e);
|
ns.tprint("Exception thrown in scriptScheduler.ns: " + e);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,21 +3,16 @@
|
|||||||
Netscript Singularity Functions
|
Netscript Singularity Functions
|
||||||
===============================
|
===============================
|
||||||
|
|
||||||
The Singularity Functions are a special set of Netscript functions. These functions allow you to control
|
.. warning:: This page contains spoilers for the game.
|
||||||
many additional aspects of the game through scripts, such as working for factions/companies, purchasing/installing Augmentations,
|
|
||||||
and creating programs.
|
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.
|
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 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.
|
||||||
|
|
||||||
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.
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:caption: Functions:
|
:caption: Level 1 Functions
|
||||||
|
|
||||||
universityCourse() <singularityfunctions/universityCourse>
|
universityCourse() <singularityfunctions/universityCourse>
|
||||||
gymWorkout() <singularityfunctions/gymWorkout>
|
gymWorkout() <singularityfunctions/gymWorkout>
|
||||||
@@ -28,9 +23,12 @@ level 3, then you will be able to access all of the Singularity Functions.
|
|||||||
connect() <singularityfunctions/connect>
|
connect() <singularityfunctions/connect>
|
||||||
manualHack() <singularityfunctions/manualHack>
|
manualHack() <singularityfunctions/manualHack>
|
||||||
installBackdoor() <singularityfunctions/installBackdoor>
|
installBackdoor() <singularityfunctions/installBackdoor>
|
||||||
getPlayer() <singularityfunctions/getPlayer>
|
|
||||||
hospitalize() <singularityfunctions/hospitalize>
|
hospitalize() <singularityfunctions/hospitalize>
|
||||||
isBusy() <singularityfunctions/isBusy>
|
isBusy() <singularityfunctions/isBusy>
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:caption: Level 2 Functions
|
||||||
|
|
||||||
stopAction() <singularityfunctions/stopAction>
|
stopAction() <singularityfunctions/stopAction>
|
||||||
upgradeHomeRam() <singularityfunctions/upgradeHomeRam>
|
upgradeHomeRam() <singularityfunctions/upgradeHomeRam>
|
||||||
getUpgradeHomeRamCost() <singularityfunctions/getUpgradeHomeRamCost>
|
getUpgradeHomeRamCost() <singularityfunctions/getUpgradeHomeRamCost>
|
||||||
@@ -45,6 +43,10 @@ level 3, then you will be able to access all of the Singularity Functions.
|
|||||||
getFactionRep() <singularityfunctions/getFactionRep>
|
getFactionRep() <singularityfunctions/getFactionRep>
|
||||||
getFactionFavor() <singularityfunctions/getFactionFavor>
|
getFactionFavor() <singularityfunctions/getFactionFavor>
|
||||||
getFactionFavorGain() <singularityfunctions/getFactionFavorGain>
|
getFactionFavorGain() <singularityfunctions/getFactionFavorGain>
|
||||||
|
|
||||||
|
.. toctree::
|
||||||
|
:caption: Level 3 Functions
|
||||||
|
|
||||||
donateToFaction() <singularityfunctions/donateToFaction>
|
donateToFaction() <singularityfunctions/donateToFaction>
|
||||||
createProgram() <singularityfunctions/createProgram>
|
createProgram() <singularityfunctions/createProgram>
|
||||||
commitCrime() <singularityfunctions/commitCrime>
|
commitCrime() <singularityfunctions/commitCrime>
|
||||||
|
|||||||
@@ -1,103 +0,0 @@
|
|||||||
getPlayer() Netscript Function
|
|
||||||
==============================
|
|
||||||
|
|
||||||
.. js:function:: getPlayer()
|
|
||||||
|
|
||||||
:RAM cost: 0.5 GB
|
|
||||||
|
|
||||||
If you are not in BitNode-4, then you must have Level 1 of Source-File 4 in order to run this function.
|
|
||||||
|
|
||||||
The result of this function can be passed to the :doc:`formulas API<../netscriptformulasapi>`.
|
|
||||||
|
|
||||||
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
|
|
||||||
}
|
|
||||||
|
|
||||||
Example::
|
|
||||||
|
|
||||||
player = getPlayer();
|
|
||||||
print('My charisma level is: ' + player.charisma);
|
|
||||||
@@ -10,6 +10,6 @@ purchaseTor() Netscript Function
|
|||||||
This function allows you to automatically purchase a TOR router. The cost for purchasing a TOR router using this
|
This function allows you to automatically purchase a TOR router. The cost for purchasing a TOR router using this
|
||||||
function is the same as if you were to manually purchase one.
|
function is the same as if you were to manually purchase one.
|
||||||
|
|
||||||
This function will return true if it successfully purchase a TOR router and false otherwise.
|
This function will return true if it successfully purchased a TOR router and false otherwise.
|
||||||
|
|
||||||
:RAM cost: 2 GB
|
:RAM cost: 2 GB
|
||||||
|
|||||||
+49
-63
@@ -33,83 +33,83 @@
|
|||||||
<ul id="mainmenu" class="mainmenu noscrollbar">
|
<ul id="mainmenu" class="mainmenu noscrollbar">
|
||||||
<!-- Hacking dropdown -->
|
<!-- Hacking dropdown -->
|
||||||
<li id="hacking-menu-header-li">
|
<li id="hacking-menu-header-li">
|
||||||
<button id="hacking-menu-header" class="mainmenu-accordion-header"> Hacking </button>
|
<button id="hacking-menu-header" class="mainmenu-accordion-header noselect"> Hacking </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="terminal-tab" class="mainmenu-accordion-panel">
|
<li id="terminal-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="terminal-menu-link"> Terminal </button>
|
<button id="terminal-menu-link"> Terminal </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="create-script-tab" class="mainmenu-accordion-panel">
|
<li id="create-script-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="create-script-menu-link"> Create Script </button>
|
<button id="create-script-menu-link"> Create Script </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="active-scripts-tab" class="mainmenu-accordion-panel">
|
<li id="active-scripts-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="active-scripts-menu-link"> Active Scripts </button>
|
<button id="active-scripts-menu-link"> Active Scripts </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="create-program-tab" class="mainmenu-accordion-panel">
|
<li id="create-program-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="create-program-menu-link"> Create Program </button>
|
<button id="create-program-menu-link"> Create Program </button>
|
||||||
<span id="create-program-notification" class="notification-off"> </span>
|
<span id="create-program-notification" class="notification-off"> </span>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- Character dropdown -->
|
<!-- Character dropdown -->
|
||||||
<li id="character-menu-header-li">
|
<li id="character-menu-header-li">
|
||||||
<button id="character-menu-header" class="mainmenu-accordion-header"> Character </button>
|
<button id="character-menu-header" class="mainmenu-accordion-header noselect"> Character </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="stats-tab" class="mainmenu-accordion-panel">
|
<li id="stats-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="stats-menu-link"> Stats </button>
|
<button id="stats-menu-link"> Stats </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="factions-tab" class="mainmenu-accordion-panel">
|
<li id="factions-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="factions-menu-link"> Factions </button>
|
<button id="factions-menu-link"> Factions </button>
|
||||||
<span id="factions-notification" class="notification-off"> </span>
|
<span id="factions-notification" class="notification-off"> </span>
|
||||||
</li>
|
</li>
|
||||||
<li id="augmentations-tab" class="mainmenu-accordion-panel">
|
<li id="augmentations-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="augmentations-menu-link" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"> Augmentations </button>
|
<button id="augmentations-menu-link" style="overflow: hidden; text-overflow: ellipsis; white-space: nowrap;"> Augmentations </button>
|
||||||
<span id="augmentations-notification" class="notification-off"> </span>
|
<span id="augmentations-notification" class="notification-off"> </span>
|
||||||
</li>
|
</li>
|
||||||
<li id="hacknet-nodes-tab" class="mainmenu-accordion-panel">
|
<li id="hacknet-nodes-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="hacknet-nodes-menu-link"> Hacknet Nodes </button>
|
<button id="hacknet-nodes-menu-link"> Hacknet </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="sleeves-tab" class="mainmenu-accordion-panel">
|
<li id="sleeves-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="sleeves-menu-link"> Sleeves </button>
|
<button id="sleeves-menu-link"> Sleeves </button>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<!-- World dropdown -->
|
<!-- World dropdown -->
|
||||||
<li id="world-menu-header-li">
|
<li id="world-menu-header-li">
|
||||||
<button id="world-menu-header" class="mainmenu-accordion-header">World</button>
|
<button id="world-menu-header" class="mainmenu-accordion-header noselect">World</button>
|
||||||
</li>
|
</li>
|
||||||
<li id="city-tab" class="mainmenu-accordion-panel">
|
<li id="city-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="city-menu-link"> City </button>
|
<button id="city-menu-link"> City </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="travel-tab" class="mainmenu-accordion-panel">
|
<li id="travel-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="travel-menu-link"> Travel </button>
|
<button id="travel-menu-link"> Travel </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="job-tab" class="mainmenu-accordion-panel">
|
<li id="job-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="job-menu-link"> Job </button>
|
<button id="job-menu-link"> Job </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="stock-market-tab" class="mainmenu-accordion-panel">
|
<li id="stock-market-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="stock-market-menu-link"> Stock Market </button>
|
<button id="stock-market-menu-link"> Stock Market </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="bladeburner-tab" class="mainmenu-accordion-panel">
|
<li id="bladeburner-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="bladeburner-menu-link"> Bladeburner </button>
|
<button id="bladeburner-menu-link"> Bladeburner </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="corporation-tab" class="mainmenu-accordion-panel">
|
<li id="corporation-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="corporation-menu-link"> Corp </button>
|
<button id="corporation-menu-link"> Corp </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="gang-tab" class="mainmenu-accordion-panel">
|
<li id="gang-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="gang-menu-link"> Gang </button>
|
<button id="gang-menu-link"> Gang </button>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li id="help-menu-header-li">
|
<li id="help-menu-header-li">
|
||||||
<button id="help-menu-header" class="mainmenu-accordion-header"> Help </button>
|
<button id="help-menu-header" class="mainmenu-accordion-header noselect"> Help </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="milestones-tab" class="mainmenu-accordion-panel">
|
<li id="milestones-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="milestones-menu-link"> Milestones </button>
|
<button id="milestones-menu-link"> Milestones </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="tutorial-tab" class="mainmenu-accordion-panel">
|
<li id="tutorial-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="tutorial-menu-link"> Tutorial </button>
|
<button id="tutorial-menu-link"> Tutorial </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="options-tab" class="mainmenu-accordion-panel">
|
<li id="options-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="options-menu-link"> Options </button>
|
<button id="options-menu-link"> Options </button>
|
||||||
</li>
|
</li>
|
||||||
<li id="dev-tab" class="mainmenu-accordion-panel">
|
<li id="dev-tab" class="mainmenu-accordion-panel noselect">
|
||||||
<button id="dev-menu-link"> Dev </button>
|
<button id="dev-menu-link"> Dev </button>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -123,11 +123,8 @@
|
|||||||
<input id="script-editor-filename" type="text" maxlength="100" tabindex="1"/>
|
<input id="script-editor-filename" type="text" maxlength="100" tabindex="1"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="ace-editor"></div>
|
<div id="monaco-editor"></div>
|
||||||
<form id="codemirror-form-wrapper"><textarea id="codemirror-editor"></textarea></form>
|
|
||||||
<div id="codemirror-vim-command-display-wrapper">
|
|
||||||
Key Buffer: <span id="codemirror-vim-command-display"></span>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div id="script-editor-buttons-wrapper"></div> <!-- Buttons below script editor -->
|
<div id="script-editor-buttons-wrapper"></div> <!-- Buttons below script editor -->
|
||||||
</div> <!-- End wrapper -->
|
</div> <!-- End wrapper -->
|
||||||
@@ -173,6 +170,14 @@
|
|||||||
<fieldset id="script-editor-option-flex4-fieldset"></fieldset>
|
<fieldset id="script-editor-option-flex4-fieldset"></fieldset>
|
||||||
|
|
||||||
</div> <!-- End script editor options panel -->
|
</div> <!-- End script editor options panel -->
|
||||||
|
|
||||||
|
|
||||||
|
<!-- TODO(hydroflame): remove this once Monaco is implemented -->
|
||||||
|
<div id="ace-editor" style="display: none"></div>
|
||||||
|
<form id="codemirror-form-wrapper" style="display: none"><textarea id="codemirror-editor"></textarea></form>
|
||||||
|
<div id="codemirror-vim-command-display-wrapper" style="display: none">
|
||||||
|
Key Buffer: <span id="codemirror-vim-command-display"></span>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Terminal page -->
|
<!-- Terminal page -->
|
||||||
@@ -230,8 +235,10 @@
|
|||||||
<div id="augmentations-container" class="generic-menupage-container"></div>
|
<div id="augmentations-container" class="generic-menupage-container"></div>
|
||||||
|
|
||||||
<!-- Milestones content -->
|
<!-- Milestones content -->
|
||||||
<div id="milestones-container" class="generic-menupage-container">
|
<div id="milestones-container" class="generic-menupage-container"></div>
|
||||||
</div>
|
|
||||||
|
<!-- Bladeburner -->
|
||||||
|
<div id="bladeburner-container" class="generic-menupage-container"></div>
|
||||||
|
|
||||||
<!-- Tutorial content -->
|
<!-- Tutorial content -->
|
||||||
<div id="tutorial-container" class="generic-menupage-container">
|
<div id="tutorial-container" class="generic-menupage-container">
|
||||||
@@ -264,39 +271,15 @@
|
|||||||
<div id="location-container" class="generic-menupage-container">
|
<div id="location-container" class="generic-menupage-container">
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="infiltration-container" class="generic-menupage-container">
|
<div id="infiltration-container" class="generic-fullscreen-container">
|
||||||
<div id="infiltration-left-panel">
|
|
||||||
<p id="infiltration-level-text"> </p>
|
|
||||||
<div id="infiltration-buttons">
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-kill"> </button>
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-knockout"> </button>
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-stealthknockout"> </button>
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-assassinate"> </button>
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-hacksecurity"> </button>
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-destroysecurity"> </button>
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-sneak"> </button>
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-pickdoor"> </button>
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-bribe"> </button>
|
|
||||||
<button class="a-link-button tooltip" id="infiltration-escape"> </button>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div id="infiltration-right-panel">
|
|
||||||
<p id="infiltration-status-text"></p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div id="stock-market-container" class="generic-menupage-container">
|
<div id="stock-market-container" class="generic-menupage-container">
|
||||||
<!-- React Component -->
|
<!-- React Component -->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Log Box -->
|
<div id="gang-container" class="generic-menupage-container">
|
||||||
<div id="log-box-container">
|
<!-- React Component -->
|
||||||
<div id="log-box-content">
|
|
||||||
<button id="log-box-close" class="popup-box-button"> Close </button>
|
|
||||||
<button id="log-box-kill-script" class="popup-box-button">Kill Script</button>
|
|
||||||
<p id="log-box-text-header"> </p>
|
|
||||||
<p id="log-box-text"> </p>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Generic Yes/No Pop Up box -->
|
<!-- Generic Yes/No Pop Up box -->
|
||||||
@@ -352,7 +335,8 @@
|
|||||||
<div id="work-in-progress-container" class="generic-fullscreen-container">
|
<div id="work-in-progress-container" class="generic-fullscreen-container">
|
||||||
<p id="work-in-progress-text"> </p>
|
<p id="work-in-progress-text"> </p>
|
||||||
|
|
||||||
<button id="work-in-progress-cancel-button"> Cancel Work </button>
|
<button id="work-in-progress-cancel-button" class="work-button"> Cancel Work </button>
|
||||||
|
<button id="work-in-progress-something-else-button" class="work-button"> Do something else simultaneously </button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Red Pill Container -->
|
<!-- Red Pill Container -->
|
||||||
@@ -379,7 +363,7 @@
|
|||||||
<div id="character-overview-text">
|
<div id="character-overview-text">
|
||||||
<!-- ReactJS Component -->
|
<!-- ReactJS Component -->
|
||||||
</div>
|
</div>
|
||||||
<div class="character-quick-options">
|
<div class="character-quick-options noselect">
|
||||||
<button id="character-overview-save-button" class="character-overview-btn">Save Game</button>
|
<button id="character-overview-save-button" class="character-overview-btn">Save Game</button>
|
||||||
<button id="character-overview-options-button" class="character-overview-btn">Options</button>
|
<button id="character-overview-options-button" class="character-overview-btn">Options</button>
|
||||||
</div>
|
</div>
|
||||||
@@ -597,10 +581,12 @@
|
|||||||
Copy Save data to Clipboard
|
Copy Save data to Clipboard
|
||||||
</button>
|
</button>
|
||||||
<button id="debug-delete-scripts-link" class="a-link-button tooltip">
|
<button id="debug-delete-scripts-link" class="a-link-button tooltip">
|
||||||
Delete all active scripts
|
Force kill all active scripts
|
||||||
<span class="tooltiptextleft">
|
<span class="tooltiptextleft">
|
||||||
Forcefully kill all active running scripts, in case there is a bug or some unexpected issue with the game. After
|
Forcefully kill all active running scripts, in case there is a bug or some unexpected issue with the game. After
|
||||||
using this, save the game and then reload the page.
|
using this, save the game and then reload the page. This is different then normal kill in that normal kill
|
||||||
|
will tell the script to shut down while force kill just removes the references to it (and it should crash on it's own).
|
||||||
|
This will not remove the files on your computer. Just forcefully kill all running instance of all scripts.
|
||||||
</span>
|
</span>
|
||||||
</button>
|
</button>
|
||||||
<button id="debug-soft-reset" class="a-link-button tooltip">
|
<button id="debug-soft-reset" class="a-link-button tooltip">
|
||||||
|
|||||||
Generated
+831
-2733
File diff suppressed because it is too large
Load Diff
+5
-2
@@ -7,6 +7,8 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@material-ui/core": "^4.11.3",
|
"@material-ui/core": "^4.11.3",
|
||||||
|
"@monaco-editor/react": "^4.2.2",
|
||||||
|
"@types/js-beautify": "^1.13.2",
|
||||||
"@types/numeral": "0.0.25",
|
"@types/numeral": "0.0.25",
|
||||||
"@types/react": "^16.8.6",
|
"@types/react": "^16.8.6",
|
||||||
"@types/react-dom": "^16.8.2",
|
"@types/react-dom": "^16.8.2",
|
||||||
@@ -33,6 +35,8 @@
|
|||||||
"loader-runner": "^2.3.0",
|
"loader-runner": "^2.3.0",
|
||||||
"loader-utils": "^1.1.0",
|
"loader-utils": "^1.1.0",
|
||||||
"memory-fs": "~0.4.1",
|
"memory-fs": "~0.4.1",
|
||||||
|
"monaco-editor": "^0.27.0",
|
||||||
|
"node-sass": "^6.0.1",
|
||||||
"normalize.css": "^8.0.0",
|
"normalize.css": "^8.0.0",
|
||||||
"numeral": "2.0.6",
|
"numeral": "2.0.6",
|
||||||
"react": "^16.8.3",
|
"react": "^16.8.3",
|
||||||
@@ -76,7 +80,6 @@
|
|||||||
"mkdirp": "^0.5.1",
|
"mkdirp": "^0.5.1",
|
||||||
"mocha": "^6.1.4",
|
"mocha": "^6.1.4",
|
||||||
"mochapack": "^1.1.1",
|
"mochapack": "^1.1.1",
|
||||||
"node-sass": "^5.0.0",
|
|
||||||
"null-loader": "^1.0.0",
|
"null-loader": "^1.0.0",
|
||||||
"raw-loader": "~0.5.0",
|
"raw-loader": "~0.5.0",
|
||||||
"sass-loader": "^7.0.3",
|
"sass-loader": "^7.0.3",
|
||||||
@@ -126,5 +129,5 @@
|
|||||||
"watch": "webpack --watch --mode production",
|
"watch": "webpack --watch --mode production",
|
||||||
"watch:dev": "webpack --watch --mode development"
|
"watch:dev": "webpack --watch --mode development"
|
||||||
},
|
},
|
||||||
"version": "0.51.9"
|
"version": "0.52.8"
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,15 +1,18 @@
|
|||||||
// Class definition for a single Augmentation object
|
// Class definition for a single Augmentation object
|
||||||
import { CONSTANTS } from "../Constants";
|
import * as React from "react";
|
||||||
import { IMap } from "../types";
|
import { IMap } from "../types";
|
||||||
|
|
||||||
import { BitNodeMultipliers } from "../BitNode/BitNodeMultipliers";
|
import { BitNodeMultipliers } from "../BitNode/BitNodeMultipliers";
|
||||||
import { Faction } from "../Faction/Faction";
|
import { Faction } from "../Faction/Faction";
|
||||||
import { Factions } from "../Faction/Factions";
|
import { Factions } from "../Faction/Factions";
|
||||||
|
import { numeralWrapper } from "../ui/numeralFormat";
|
||||||
|
import { Money } from "../ui/React/Money";
|
||||||
|
|
||||||
import { Generic_fromJSON, Generic_toJSON, Reviver } from "../../utils/JSONReviver";
|
import { Generic_fromJSON, Generic_toJSON, Reviver } from "../../utils/JSONReviver";
|
||||||
|
|
||||||
interface IConstructorParams {
|
interface IConstructorParams {
|
||||||
info: string | JSX.Element;
|
info: string | JSX.Element;
|
||||||
|
stats?: JSX.Element;
|
||||||
isSpecial?: boolean;
|
isSpecial?: boolean;
|
||||||
moneyCost: number;
|
moneyCost: number;
|
||||||
name: string;
|
name: string;
|
||||||
@@ -46,6 +49,129 @@ interface IConstructorParams {
|
|||||||
bladeburner_stamina_gain_mult?: number;
|
bladeburner_stamina_gain_mult?: number;
|
||||||
bladeburner_analysis_mult?: number;
|
bladeburner_analysis_mult?: number;
|
||||||
bladeburner_success_chance_mult?: number;
|
bladeburner_success_chance_mult?: number;
|
||||||
|
|
||||||
|
startingMoney?: number;
|
||||||
|
programs?: string[];
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateStatsDescription(mults: IMap<number>, programs?: string[], startingMoney?: number): JSX.Element {
|
||||||
|
const f = (x: number, decimals = 0): string => {
|
||||||
|
// look, I don't know how to make a "smart decimals"
|
||||||
|
// todo, make it smarter
|
||||||
|
if(x === 1.0777-1) return "7.77%";
|
||||||
|
if(x === 1.777-1) return "77.7%";
|
||||||
|
return numeralWrapper.formatPercentage(x, decimals);
|
||||||
|
};
|
||||||
|
let desc = <>Effects:</>;
|
||||||
|
|
||||||
|
if(mults.hacking_mult &&
|
||||||
|
mults.hacking_mult == mults.strength_mult &&
|
||||||
|
mults.hacking_mult == mults.defense_mult &&
|
||||||
|
mults.hacking_mult == mults.dexterity_mult &&
|
||||||
|
mults.hacking_mult == mults.agility_mult &&
|
||||||
|
mults.hacking_mult == mults.charisma_mult){
|
||||||
|
desc = <>{desc}<br />+{f(mults.hacking_mult-1)} all skills</>
|
||||||
|
} else {
|
||||||
|
if(mults.hacking_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.hacking_mult-1)} hacking skill</>
|
||||||
|
|
||||||
|
if(mults.strength_mult &&
|
||||||
|
mults.strength_mult == mults.defense_mult &&
|
||||||
|
mults.strength_mult == mults.dexterity_mult &&
|
||||||
|
mults.strength_mult == mults.agility_mult) {
|
||||||
|
desc = <>{desc}<br />+{f(mults.strength_mult-1)} combat skills</>
|
||||||
|
} else {
|
||||||
|
if(mults.strength_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.strength_mult-1)} strength skill</>
|
||||||
|
if(mults.defense_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.defense_mult-1)} defense skill</>
|
||||||
|
if(mults.dexterity_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.dexterity_mult-1)} dexterity skill</>
|
||||||
|
if(mults.agility_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.agility_mult-1)} agility skill</>
|
||||||
|
}
|
||||||
|
if(mults.charisma_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.charisma_mult-1)} Charisma skill</>
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mults.hacking_exp_mult &&
|
||||||
|
mults.hacking_exp_mult === mults.strength_exp_mult &&
|
||||||
|
mults.hacking_exp_mult === mults.defense_exp_mult &&
|
||||||
|
mults.hacking_exp_mult === mults.dexterity_exp_mult &&
|
||||||
|
mults.hacking_exp_mult === mults.agility_exp_mult &&
|
||||||
|
mults.hacking_exp_mult === mults.charisma_exp_mult) {
|
||||||
|
desc = <>{desc}<br />+{f(mults.hacking_exp_mult-1)} exp for all skills</>
|
||||||
|
} else {
|
||||||
|
if(mults.hacking_exp_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.hacking_exp_mult-1)} hacking exp</>
|
||||||
|
|
||||||
|
if(mults.strength_exp_mult &&
|
||||||
|
mults.strength_exp_mult === mults.defense_exp_mult &&
|
||||||
|
mults.strength_exp_mult === mults.dexterity_exp_mult &&
|
||||||
|
mults.strength_exp_mult === mults.agility_exp_mult) {
|
||||||
|
desc = <>{desc}<br />+{f(mults.strength_exp_mult-1)} combat exp</>
|
||||||
|
} else {
|
||||||
|
if(mults.strength_exp_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.strength_exp_mult-1)} strength exp</>
|
||||||
|
if(mults.defense_exp_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.defense_exp_mult-1)} defense exp</>
|
||||||
|
if(mults.dexterity_exp_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.dexterity_exp_mult-1)} dexterity exp</>
|
||||||
|
if(mults.agility_exp_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.agility_exp_mult-1)} agility exp</>
|
||||||
|
}
|
||||||
|
if(mults.charisma_exp_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.charisma_exp_mult-1)} charisma exp</>
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mults.hacking_speed_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.hacking_speed_mult-1)} faster hacking</>
|
||||||
|
if(mults.hacking_chance_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.hacking_chance_mult-1)} hack() success chance</>
|
||||||
|
if(mults.hacking_money_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.hacking_money_mult-1)} hack() power</>
|
||||||
|
if(mults.hacking_grow_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.hacking_grow_mult-1)} grow() power</>
|
||||||
|
|
||||||
|
if(mults.faction_rep_mult &&
|
||||||
|
mults.faction_rep_mult === mults.company_rep_mult) {
|
||||||
|
desc = <>{desc}<br />+{f(mults.faction_rep_mult-1)} reputation from factions and companies</>
|
||||||
|
} else {
|
||||||
|
if(mults.faction_rep_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.faction_rep_mult-1)} reputation from factions</>
|
||||||
|
if(mults.company_rep_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.company_rep_mult-1)} reputation from companies</>
|
||||||
|
}
|
||||||
|
|
||||||
|
if(mults.crime_money_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.crime_money_mult-1)} crime money</>
|
||||||
|
if(mults.crime_success_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.crime_success_mult-1)} crime success rate</>
|
||||||
|
if(mults.work_money_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.work_money_mult-1)} work money</>
|
||||||
|
|
||||||
|
if(mults.hacknet_node_money_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.hacknet_node_money_mult-1)} hacknet production</>
|
||||||
|
if(mults.hacknet_node_purchase_cost_mult)
|
||||||
|
desc = <>{desc}<br />-{f(-(mults.hacknet_node_purchase_cost_mult-1))} hacknet nodes cost</>
|
||||||
|
if(mults.hacknet_node_level_cost_mult)
|
||||||
|
desc = <>{desc}<br />-{f(-(mults.hacknet_node_level_cost_mult-1))} hacknet nodes upgrade cost</>
|
||||||
|
|
||||||
|
if(mults.bladeburner_max_stamina_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.bladeburner_max_stamina_mult-1)} Bladeburner Max Stamina</>
|
||||||
|
if(mults.bladeburner_stamina_gain_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.bladeburner_stamina_gain_mult-1)} Bladeburner Stamina gain</>
|
||||||
|
if(mults.bladeburner_analysis_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.bladeburner_analysis_mult-1)} Bladeburner Field Analysis effectiveness</>
|
||||||
|
if(mults.bladeburner_success_chance_mult)
|
||||||
|
desc = <>{desc}<br />+{f(mults.bladeburner_success_chance_mult-1)} Bladeburner Contracts and Operations success chance</>
|
||||||
|
|
||||||
|
if(startingMoney)
|
||||||
|
desc = <>{desc}<br />Start with {Money(startingMoney)} after installing Augmentations.</>
|
||||||
|
|
||||||
|
if(programs)
|
||||||
|
desc = <>{desc}<br />Start with {programs.join(' and ')} after installing Augmentations.</>
|
||||||
|
return desc;
|
||||||
}
|
}
|
||||||
|
|
||||||
export class Augmentation {
|
export class Augmentation {
|
||||||
@@ -59,6 +185,9 @@ export class Augmentation {
|
|||||||
// Description of what this Aug is and what it does
|
// Description of what this Aug is and what it does
|
||||||
info: string | JSX.Element;
|
info: string | JSX.Element;
|
||||||
|
|
||||||
|
// Description of the stats, often autogenerated, sometimes manually written.
|
||||||
|
stats: JSX.Element;
|
||||||
|
|
||||||
// Any Augmentation not immediately available in BitNode-1 is special (e.g. Bladeburner augs)
|
// Any Augmentation not immediately available in BitNode-1 is special (e.g. Bladeburner augs)
|
||||||
isSpecial = false;
|
isSpecial = false;
|
||||||
|
|
||||||
@@ -86,8 +215,8 @@ export class Augmentation {
|
|||||||
this.info = params.info;
|
this.info = params.info;
|
||||||
this.prereqs = params.prereqs ? params.prereqs : [];
|
this.prereqs = params.prereqs ? params.prereqs : [];
|
||||||
|
|
||||||
this.baseRepRequirement = params.repCost * CONSTANTS.AugmentationRepMultiplier * BitNodeMultipliers.AugmentationRepCost;
|
this.baseRepRequirement = params.repCost * BitNodeMultipliers.AugmentationRepCost;
|
||||||
this.baseCost = params.moneyCost * CONSTANTS.AugmentationCostMultiplier * BitNodeMultipliers.AugmentationMoneyCost;
|
this.baseCost = params.moneyCost * BitNodeMultipliers.AugmentationMoneyCost;
|
||||||
this.startingCost = this.baseCost;
|
this.startingCost = this.baseCost;
|
||||||
|
|
||||||
if (params.isSpecial) {
|
if (params.isSpecial) {
|
||||||
@@ -127,6 +256,11 @@ export class Augmentation {
|
|||||||
if (params.bladeburner_stamina_gain_mult) { this.mults.bladeburner_stamina_gain_mult = params.bladeburner_stamina_gain_mult; }
|
if (params.bladeburner_stamina_gain_mult) { this.mults.bladeburner_stamina_gain_mult = params.bladeburner_stamina_gain_mult; }
|
||||||
if (params.bladeburner_analysis_mult) { this.mults.bladeburner_analysis_mult = params.bladeburner_analysis_mult; }
|
if (params.bladeburner_analysis_mult) { this.mults.bladeburner_analysis_mult = params.bladeburner_analysis_mult; }
|
||||||
if (params.bladeburner_success_chance_mult) { this.mults.bladeburner_success_chance_mult = params.bladeburner_success_chance_mult; }
|
if (params.bladeburner_success_chance_mult) { this.mults.bladeburner_success_chance_mult = params.bladeburner_success_chance_mult; }
|
||||||
|
|
||||||
|
if(params.stats)
|
||||||
|
this.stats = params.stats;
|
||||||
|
else
|
||||||
|
this.stats = generateStatsDescription(this.mults, params.programs, params.startingMoney);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Adds this Augmentation to the specified Factions
|
// Adds this Augmentation to the specified Factions
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -47,6 +47,7 @@ export const AugmentationNames: IMap<string> = {
|
|||||||
PCDNI: "PC Direct-Neural Interface",
|
PCDNI: "PC Direct-Neural Interface",
|
||||||
PCDNIOptimizer: "PC Direct-Neural Interface Optimization Submodule",
|
PCDNIOptimizer: "PC Direct-Neural Interface Optimization Submodule",
|
||||||
PCDNINeuralNetwork: "PC Direct-Neural Interface NeuroNet Injector",
|
PCDNINeuralNetwork: "PC Direct-Neural Interface NeuroNet Injector",
|
||||||
|
PCMatrix: "PCMatrix",
|
||||||
ADRPheromone1: "ADR-V1 Pheromone Gene",
|
ADRPheromone1: "ADR-V1 Pheromone Gene",
|
||||||
ADRPheromone2: "ADR-V2 Pheromone Gene",
|
ADRPheromone2: "ADR-V2 Pheromone Gene",
|
||||||
ShadowsSimulacrum: "The Shadow's Simulacrum",
|
ShadowsSimulacrum: "The Shadow's Simulacrum",
|
||||||
@@ -78,6 +79,7 @@ export const AugmentationNames: IMap<string> = {
|
|||||||
PhotosyntheticCells: "Photosynthetic Cells",
|
PhotosyntheticCells: "Photosynthetic Cells",
|
||||||
Neurolink: "BitRunners Neurolink",
|
Neurolink: "BitRunners Neurolink",
|
||||||
TheBlackHand: "The Black Hand",
|
TheBlackHand: "The Black Hand",
|
||||||
|
UnstableCircadianModulator: "Unstable Circadian Modulator",
|
||||||
CRTX42AA: "CRTX42-AA Gene Modification",
|
CRTX42AA: "CRTX42-AA Gene Modification",
|
||||||
Neuregen: "Neuregen Gene Modification",
|
Neuregen: "Neuregen Gene Modification",
|
||||||
CashRoot: "CashRoot Starter Kit",
|
CashRoot: "CashRoot Starter Kit",
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user