Script name:
- +diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 000000000..eba264699
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,13 @@
+root = true
+
+[*]
+indent_style = space
+indent_size = 4
+trim_trailing_whitespace = true
+insert_final_newline = true
+
+[package.json]
+indent_size = 2
+
+[md]
+trim_trailing_whitespace = false
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 508adaa39..e965b1e63 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -17,29 +17,29 @@ heard:
scripting perhaps there is something that is conflicting with the
browser's Javascript interaction. So please do not be afraid to open a
[new issue](https://github.com/danielyxie/bitburner/issues/new).
-
-## Reporting Bugs
-The recommended method for reporting a bug is by opening a
-[Github Issue](https://github.com/danielyxie/bitburner/issues).
-Before submitting a bug report, please check to make sure the bug has not
-already been reported as an [Issue](https://github.com/danielyxie/bitburner/issues).
+## Reporting Bugs
+The recommended method for reporting a bug is by opening a
+[Github Issue](https://github.com/danielyxie/bitburner/issues).
+
+Before submitting a bug report, please check to make sure the bug has not
+already been reported as an [Issue](https://github.com/danielyxie/bitburner/issues).
#### How to Submit a Good Bug Report
* **Use a clear and descriptive title** for the issue
* **State your browser, your browser's version, and your computer's OS**
- * **Provide instructions on how to reproduce the bug** in as much detail
+ * **Provide instructions on how to reproduce the bug** in as much detail
as possible. If you cannot reliably reproduce the bug, then just try
your best to explain what was happening when the bug occurred
* **Provide any scripts** that triggered the bug if the issue is Netscript-related
- * **Open your browser's Dev Console and report any error-related output**
- that may be printed there. The Dev Console can be opened on most modern
+ * **Open your browser's Dev Console and report any error-related output**
+ that may be printed there. The Dev Console can be opened on most modern
browsers by pressing F12
## As a Developer
-Anyone is welcome to contribute to Bitburner code. However, please read
-the [license](https://github.com/danielyxie/bitburner/blob/dev/license.txt)
+Anyone is welcome to contribute to Bitburner code. However, please read
+the [license](https://github.com/danielyxie/bitburner/blob/dev/license.txt)
and the [readme](https://github.com/danielyxie/bitburner/blob/dev/README.md)
before doing so.
@@ -48,22 +48,22 @@ To contribute to Bitburner code, you will need to have
called `npm` is installed as well.
#### What are you Allowed to Contribute?
-Not all code contributions will be accepted. The safest way to ensure
-that you don't waste time working on something that gets rejected is to
-run your idea(s)/plan(s) past [danielyxie](https://github.com/danielyxie) first.
+Not all code contributions will be accepted. The safest way to ensure
+that you don't waste time working on something that gets rejected is to
+run your idea(s)/plan(s) past [danielyxie](https://github.com/danielyxie) first.
You can contact him through:
* Github
* Discord
* [Reddit](https://www.reddit.com/user/chapt3r/)
-Otherwise, here are some general guidelines for determining what types of changes
-are okay to contribute:
+Otherwise, here are some general guidelines for determining what types of
+changes are okay to contribute:
##### Contributions that Will Most Likely Be Accepted
* Bug Fixes
* Quality-of-Life Changes
- * Adding a new, commonly-requested Netscript function
+ * Adding a new, commonly-requested Netscript function
* Fixing or improving UI elements
* Adding game settings/options
* Adding a new Terminal command
@@ -73,8 +73,8 @@ are okay to contribute:
* Changes that directly affect the game's balance
* New gameplay mechanics
-#### Submitting a Pull Request
-When submitting a pull request with your code contributions, please abide by
+#### Submitting a Pull Request
+When submitting a pull request with your code contributions, please abide by
the following rules:
- Work in a branch forked from `dev` to isolate the new code
@@ -86,14 +86,18 @@ the following rules:
_danielyxie/bitburner_ and the base is _dev_.
- If your changes affect the game's UI, attach some screenshots or GIFs showing
the changes to the UI
- - If your changes affect Netscript, provide some
- scripts that can be used to test the Netscript changes.
- - Do not check in any bundled files (`dist\*.bundle.js`). These will be
- updated as part of official releases.
+ - If your changes affect Netscript, provide some
+ scripts that can be used to test the Netscript changes.
+ - Ensure you have run `npm run lint` to make sure your changes conform to the
+ rules enforced across the code base. The command will fail if any of the
+ linters find a violation.
+ - Do not check in any bundled files (`dist\*.bundle.js`) or the `index.html`
+ in the root of the repository. These will be updated as part of official
+ releases.
## As a Documentor
-To contribute to BitBurner documentation, you will need to have Python
-installed, along with [Sphinx](http://www.sphinx-doc.org).
+To contribute to and view your changes to the BitBurner documentation, you will
+need to have Python installed, along with [Sphinx](http://www.sphinx-doc.org).
Before submitting your code for a pull request, please try to follow these
rules:
@@ -103,3 +107,5 @@ rules:
- Rebase your branch if necessary
- When submitting the pull request, make sure that the base fork is
_danielyxie/bitburner_ and the base is _dev_.
+ - Do not check in any generated files under `doc\`. The documentation is built
+ automatically by ReadTheDocs.
diff --git a/css/_theme.scss b/css/_theme.scss
index e9ffd2225..0b727d702 100644
--- a/css/_theme.scss
+++ b/css/_theme.scss
@@ -1,2 +1,17 @@
$fontFamily: 'Lucida Console', 'Lucida Sans Unicode', 'Fira Mono', 'Consolas', 'Courier New', Courier, monospace, 'Times New Roman';
$defaultFontSize: 16px;
+
+/* COLORS */
+$hacker-green: #adff2f;
+$success-green: #3adb76;
+$alert-red: #ff2929;
+$money-gold: #ffd700;
+$light-yellow: #faffdf;
+
+/* Attributes */
+$my-stat-hp-color: #dd3434;
+$my-stat-money-color: $money-gold;
+$my-stat-hack-color: $hacker-green;
+$my-stat-physical: $light-yellow;
+$my-stat-cha-color: #a671d1;
+$my-stat-int-color: #6495ed;
diff --git a/css/interactivetutorial.scss b/css/interactivetutorial.scss
index 15b8f3cc9..143260d6d 100644
--- a/css/interactivetutorial.scss
+++ b/css/interactivetutorial.scss
@@ -11,11 +11,11 @@
position: absolute; /* Stay in place */
right: 0;
top: 0;
- height: 400px; /* Full height */
+ height: 450px;
padding: 10px;
border: 5px solid #fff;
- width: 20%;
- overflow: auto; /* Enable scroll if needed */
+ width: 23%;
+ overflow: hidden;
background-color: #444; /* Fallback color */
color: #fff;
@@ -29,6 +29,9 @@
margin: 4px;
color: #fff;
background-color: #444;
+ font-size: $defaultFontSize * 0.875;
+ max-height: 350px;
+ overflow-y: auto;
}
#interactive-tutorial-exit,
@@ -38,7 +41,7 @@
@include boxShadow(1px 1px 3px #000);
color: #aaa;
- font-size: $defaultFontSize * 1.25;
+ font-size: $defaultFontSize * 1.125;
font-weight: bold;
background-color: #000;
@@ -50,6 +53,7 @@
}
}
+/*
#interactive-tutorial-exit {
float: left;
}
@@ -58,6 +62,16 @@
margin-right: 20%;
float: right;
}
+*/
+#interactive-tutorial-exit {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+}
+
+#interactive-tutorial-back {
+ float: left;
+}
#interactive-tutorial-next {
float: right;
diff --git a/css/menupages.scss b/css/menupages.scss
index 8c9e475a1..e949b0fce 100644
--- a/css/menupages.scss
+++ b/css/menupages.scss
@@ -22,17 +22,15 @@
#script-editor-container {
background-color: transparent;
}
+
#javascript-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;
@@ -101,9 +99,7 @@
resize: none;
color: #fff;
margin: 4px;
-
padding: 2px;
-
border: 2px solid var(--my-highlight-color);
}
@@ -204,38 +200,37 @@
.active-scripts-script-header {
background-color: #555;
color: var(--my-font-color);
- padding: 4px;
- padding-left: 10px;
+ padding: 4px 25px 4px 10px;
cursor: pointer;
width: auto;
text-align: left;
border: none;
outline: none;
-}
+ position: relative;
-.active-scripts-script-header:hover,
-.active-scripts-script-header.active:hover {
- background-color: #666;
-}
+ &:after {
+ content: '\02795'; /* "plus" sign (+) */
+ font-size: $defaultFontSize * 0.8125;
+ float: right;
+ margin-left: 5px;
+ color: transparent;
+ text-shadow: 0 0 0 var(--my-font-color);
+ position: absolute;
+ bottom: 4px;
+ }
-.active-scripts-script-header.active {
- background-color: #555;
-}
+ &.active:after {
+ content: "\2796"; /* "minus" sign (-) */
+ }
-.active-scripts-script-header:after {
- content: '\02795'; /* "plus" sign (+) */
- font-size: $defaultFontSize * 0.8125;
- color: var(--my-font-color);
- float: right;
- margin-left: 5px;
-}
+ &:hover,
+ &.active:hover {
+ background-color: #666;
+ }
-.active-scripts-script-header.active:after {
- content: "\2796"; /* "minus" sign (-) */
- font-size: $defaultFontSize * 0.8125;
- color: var(--my-font-color);
- float: right;
- margin-left: 5px;
+ &.active {
+ background-color: #555;
+ }
}
.active-scripts-script-panel {
@@ -244,16 +239,13 @@
width: auto;
display: none;
margin-bottom: 6px;
-}
-.active-scripts-script-panel p,
-.active-scripts-script-panel h2,
-.active-scripts-script-panel ul,
-.active-scripts-script-panel li {
- background-color: #555;
- width: auto;
- color: #fff;
- margin-left: 5%;
+ p, h2, ul, li {
+ background-color: #555;
+ width: auto;
+ color: #fff;
+ margin-left: 5%;
+ }
}
.active-scripts-button {
@@ -266,13 +258,13 @@
margin: 4px;
padding: 4px;
background-color: #000;
-}
-.active-scripts-button:hover,
-.active-scripts-button:focus {
- color: #fff;
- text-decoration: none;
- cursor: pointer;
+ &:hover,
+ &:focus {
+ color: #fff;
+ text-decoration: none;
+ cursor: pointer;
+ }
}
/* Hacknet Nodes */
@@ -291,6 +283,16 @@
float: left;
overflow: hidden;
white-space: nowrap;
+
+ &.hacknet-node {
+ $boxShadowArgs: inset 0 0 8px rgba(0, 0, 0, 0.1), 0 0 16px rgba(0, 0, 0, 0.1);
+ @include boxShadow($boxShadowArgs);
+
+ margin: 6px;
+ padding: 7px;
+ width: 35vw;
+ border: 2px solid var(--my-highlight-color);
+ }
}
#hacknet-nodes-list {
@@ -316,34 +318,24 @@
display: inline-block;
}
-.hacknet-node {
- $boxShadowArgs: inset 0 0 8px rgba(0, 0, 0, 0.1), 0 0 16px rgba(0, 0, 0, 0.1);
- @include boxShadow($boxShadowArgs);
-
- margin: 6px;
- padding: 6px;
- width: 34vw;
- border: 2px solid var(--my-highlight-color);
-}
-
.hacknet-node-container {
display: inline-table;
-}
-.hacknet-node-container .row {
- display: table-row;
- height: 30px;
-}
+ .row {
+ display: table-row;
+ height: 30px;
-.hacknet-node-container .row p {
- display: table-cell;
-}
+ p {
+ display: table-cell;
+ }
+ }
-.hacknet-node-container .upgradable-info {
- display: inline-block;
- margin: 0 4px; /* Don't want the vertical margin/padding, just left & right */
- padding: 0 4px;
- width: $defaultFontSize * 4;
+ .upgradable-info {
+ display: inline-block;
+ margin: 0 4px; /* Don't want the vertical margin/padding, just left & right */
+ padding: 0 4px;
+ width: $defaultFontSize * 4;
+ }
}
.menu-page-text {
@@ -412,8 +404,8 @@
#faction-container p,
#faction-container pre {
- padding: 6px;
- margin: 6px;
+ padding: 4px 6px;
+ margin: 4px 6px;
}
#faction-container pre {
@@ -426,17 +418,14 @@
}
/* Faction Augmentations */
-#faction-augmentations-container{
+#faction-augmentations-container {
position: fixed;
padding-top: 10px;
-}
-#faction-augmentations-container p,
-#faction-augmentations-container a,
-#faction-augmentations-container ul,
-#faction-augmentations-container h1{
- margin: 8px;
- padding: 4px;
+ p, a, ul, h1 {
+ margin: 8px;
+ padding: 4px;
+ }
}
/* World */
@@ -451,11 +440,20 @@
padding-top: 10px;
}
-.augmentations-list button,
-.augmentations-list div {
- color: var(--my-font-color);
- padding: 8px;
- text-decoration: none;
+.augmentations-list {
+ button,
+ div {
+ color: var(--my-font-color);
+ text-decoration: none;
+ }
+
+ button {
+ padding: 2px 5px;
+ }
+
+ div {
+ padding: 6px;
+ }
}
/* Tutorial */
@@ -510,11 +508,12 @@
padding: 6px;
}
-#location-container * {
+#location-container > * {
margin: 10px 5px 10px 5px;
}
-#location-job-reputation, #location-company-favor {
+#location-job-reputation,
+#location-company-favor {
display: inline;
}
@@ -522,7 +521,13 @@
#infiltration-container {
position: fixed;
padding: 6px;
+
+ span {
+ margin: 0;
+ padding: 0;
+ }
}
+
#infiltration-left-panel,
#infiltration-right-panel {
display: inline-block;
@@ -543,6 +548,10 @@
margin: 4px;
}
+#infiltration-buttons {
+ margin-top: 20px;
+}
+
#infiltration-buttons .a-link-button {
display: inline;
width: 25%;
@@ -552,6 +561,7 @@
#stock-market-container {
position: fixed;
padding: 6px;
+
p {
font-size: $defaultFontSize * 0.8125;
}
@@ -559,9 +569,9 @@
font-size: $defaultFontSize * 0.875;
}
h2 {
- margin-top:10px;
- margin-left:10px;
- display:block;
+ margin-top: 10px;
+ margin-left: 10px;
+ display: block;
}
}
@@ -583,8 +593,8 @@
}
#stock-market-watchlist-filter {
- width:50%;
- margin-left:10px;
+ width: 50%;
+ margin-left: 10px;
}
.stock-market-input {
diff --git a/css/popupboxes.scss b/css/popupboxes.scss
index 60c18d8ab..d6536f2c5 100644
--- a/css/popupboxes.scss
+++ b/css/popupboxes.scss
@@ -8,8 +8,8 @@
z-index: 10; /* Sit on top */
left: 0;
top: 0;
- align-items:center;
- justify-content:center;
+ align-items: center;
+ justify-content: center;
width: 100%;
height: 100%;
overflow: auto;
@@ -21,7 +21,7 @@
padding: 12px;
border: 5px solid var(--my-highlight-color);
width: 70%;
- max-height:80%;
+ max-height: 80%;
/*
margin: auto;
height:auto;
@@ -32,7 +32,7 @@
bottom:0;
right:0;
*/
- overflow-y:auto;
+ overflow-y: auto;
color: var(--my-font-color);
}
@@ -87,6 +87,11 @@
z-index: 2;
background-color: var(--my-background-color);
padding: 10px;
+
+ p span {
+ padding: 0;
+ margin: 0;
+ }
}
.dialog-box-close-button {
@@ -138,6 +143,11 @@
margin: 8px;
}
+#infiltration-box-content span {
+ padding: 0;
+ margin: 0;
+}
+
#infiltration-faction-select {
background-color: #000;
}
@@ -158,8 +168,8 @@
border: 5px solid var(--my-highlight-color);
color: var(--my-font-color);
width: 80%;
- max-height:80%;
- overflow-y:auto;
+ max-height: 80%;
+ overflow-y: auto;
}
#game-options-left-panel,
diff --git a/css/styles.scss b/css/styles.scss
index feebc7177..c0ee086e3 100644
--- a/css/styles.scss
+++ b/css/styles.scss
@@ -3,10 +3,11 @@
@import "reset";
-:root{
+:root {
--my-font-color: #6f3;
--my-background-color: #000;
--my-highlight-color: #fff;
+ --my-prompt-color: #f92672;
}
body {
@@ -83,7 +84,7 @@ tr:focus {
display: block;
color: #e6e6e6;
background-color: #555;
- padding: 16px;
+ padding: 12px 8px;
text-decoration: none;
}
@@ -105,21 +106,36 @@ tr:focus {
background-color: #aaa;
}
+#hacking-menu-header-li,
+#character-menu-header-li,
+#world-menu-header-li,
+#help-menu-header-li {
+ position: relative;
+}
+
+/* Accordion Outline */
+.mainmenu-accordion-header {
+ outline: 2px solid #fff;
+}
+
/* Plus and minus signs */
.mainmenu-accordion-header:after {
content: '\02795';
- font-size: $defaultFontSize * 0.8125;
- color: #fff;
float: right;
- margin-left: 5px;
-}
-
-.mainmenu-accordion-header.opened:after {
- content: "\2796";
+ font-size: $defaultFontSize * 0.8125;
+ position: absolute;
+ bottom: 25%;
+ right: 3px;
+ color: transparent;
+ text-shadow: 0 0 0 #fff;
}
.mainmenu-accordion-header.opened {
background-color: #222;
+
+ &:after {
+ content: "\2796";
+ }
}
/* Slide down transition */
@@ -129,11 +145,6 @@ tr:focus {
transition: max-height 0.2s ease-out;
}
-/* Borders */
-.mainmenu-accordion-header {
- border: 2px solid #fff;
-}
-
/* Make html links ("a" elements) nice looking buttons with this class */
a:link,
a:visited {
@@ -144,7 +155,7 @@ a:visited {
text-decoration: none;
background-color: #555;
color: #fff;
- padding: 5px;
+ padding: 3px 5px;
margin: 5px;
border: 1px solid #333;
@@ -152,14 +163,14 @@ a:visited {
-ms-user-select: none;
-khtml-user-select: none;
-webkit-user-select: none;
-}
-.a-link-button:hover {
- background-color: #666;
-}
+ &:hover {
+ background-color: #666;
+ }
-.a-link-button:active {
- @include boxShadow(inset 0 1px 4px rgba(0, 0, 0, 0.6));
+ &:active {
+ @include boxShadow(inset 0 1px 4px rgba(0, 0, 0, 0.6));
+ }
}
/* Make anchor tags ("a" elements) inactive (not clickable) */
@@ -167,20 +178,22 @@ a:visited {
text-decoration: none;
background-color: #333;
color: #fff;
- padding: 5px;
+ padding: 3px 5px;
margin: 5px;
border: 1px solid #333;
cursor: default;
-}
-.a-link-button-inactive:hover .tooltiptext,
-.a-link-button-inactive:hover .tooltiptexthigh,
-.a-link-button-inactive:hover .tooltiptextleft {
- visibility: visible;
-}
+ &:hover {
+ .tooltiptext,
+ .tooltiptexthigh,
+ .tooltiptextleft {
+ visibility: visible;
+ }
+ }
-.a-link-button-inactive:active {
- pointer-events: none;
+ &:active {
+ pointer-events: none;
+ }
}
/* Make anchor tags ("a" elements) for activated actions */
@@ -188,20 +201,22 @@ a:visited {
text-decoration: none;
background-color: #0a0;
color: #fff;
- padding: 5px;
+ padding: 3px 5px;
margin: 5px;
border: 1px solid #0a0;
cursor: default;
-}
-.a-link-button-bought:hover .tooltiptext,
-.a-link-button-bought:hover .tooltiptexthigh,
-.a-link-button-bought:hover .tooltiptextleft {
- visibility: visible;
-}
+ &:hover {
+ .tooltiptext,
+ .tooltiptexthigh,
+ .tooltiptextleft {
+ visibility: visible;
+ }
+ }
-.a-link-button-bought:active {
- pointer-events: none;
+ &:active {
+ pointer-events: none;
+ }
}
.dropdown {
@@ -218,9 +233,9 @@ a:visited {
#create-program-tab {
position: relative;
}
+
#create-program-notification {
font-size: $defaultFontSize * 0.625;
-
position: absolute; /* Position the badge within the relatively positioned button */
top: 0;
right: 0;
@@ -242,22 +257,23 @@ a:visited {
/* Tool tips (when hovering over an element */
.tooltip {
- position: relative;
display: inline-block;
-}
+ position: relative;
-.tooltip .tooltiptext {
- visibility: hidden;
- width: 300px;
- background-color: var(--my-background-color);
- border: 2px solid var(--my-highlight-color);
- color: #fff;
- text-align: center;
- padding: 4px;
- left: 101%;
+ .tooltiptext {
+ visibility: hidden;
+ width: 300px;
+ background-color: var(--my-background-color);
+ border: 2px solid var(--my-highlight-color);
+ color: #fff;
+ text-align: center;
+ padding: 4px;
+ left: 101%;
- position: absolute;
- z-index: 99;
+ pointer-events: none;
+ position: absolute;
+ z-index: 99;
+ }
}
/* Same thing as a normal tooltip except its a bit higher */
@@ -276,7 +292,7 @@ a:visited {
z-index: 99;
}
-/* Similar to a normal tooltip except its positioned on the left of the elemnt
+/* Similar to a normal tooltip except its positioned on the left of the element
rather than the right to avoid exceeding the elements normal width */
.tooltip .tooltiptextleft {
visibility: hidden;
@@ -364,7 +380,7 @@ a:visited {
/* Blinking Cursor */
/* ----- blinking cursor animation ----- */
-.typed-cursor{
+.typed-cursor {
opacity: 1;
-webkit-animation: blink 0.95s infinite;
-moz-animation: blink 0.95s infinite;
@@ -400,16 +416,16 @@ a:visited {
}
/* Status text */
-@-webkit-keyframes status-text{
- from{
+@-webkit-keyframes status-text {
+ from {
opacity: 1;
}
- to{
+ to {
opacity: 0;
}
}
-.status-text{
+.status-text {
display: inline-block;
height: 15%;
position: fixed;
@@ -437,47 +453,78 @@ a:visited {
#character-overview-wrapper {
position: relative;
}
+
#character-overview-container {
display: none;
position: absolute; /* Stay in place */
right: 0;
top: 0;
height: auto; /* Full height */
- padding: 8px;
+ padding: 10px 2px;
border: 2px solid var(--my-highlight-color);
- width: 19%;
+ width: auto;
+ max-width: 280px;
overflow: auto; /* Enable scroll if needed */
- background-color: #444; /* Fallback color */
+ background-color: rgba(57, 54, 54, 0.9); /* Fallback color */
z-index: 1;
}
#character-overview-text {
- color: #fff;
- background-color: #444;
+ color: $my-stat-physical;
+
+ table {
+ border-collapse: collapse;
+ margin: auto;
+ }
+
+ td {
+ padding: 2px;
+ vertical-align: middle;
+ }
}
.character-stat-text {
color: #fff;
background-color: #444;
}
- .character-stat-cell {
+
+.character-stat-cell {
text-align: right;
}
+#character-hack-wrapper td,
+#character-agi-wrapper td {
+ border-bottom: 1px #aaa solid;
+ padding-bottom: 10px;
+}
+
+#character-str-wrapper td,
+#character-cha-wrapper td {
+ padding-top: 10px;
+}
+
+#character-hp-wrapper { color: $my-stat-hp-color; }
+#character-money-wrapper { color: $my-stat-money-color; }
+#character-hack-wrapper { color: $my-stat-hack-color; }
+#character-cha-wrapper { color: $my-stat-cha-color; }
+#character-int-wrapper { color: $my-stat-int-color; }
+
#character-overview-save-button,
#character-overview-options-button {
@include borderRadius(12px);
@include boxShadow(1px 1px 3px #000);
-
- color: #aaa;
+ color: #cecece;
+ display: inline-block;
font-size: $defaultFontSize * 0.875;
font-weight: bold;
- height: 22px;
+ height: 25px;
background-color: #000;
+ padding: 5px 8px;
}
.character-quick-options {
- padding-top: 5px;
+ margin-top: 10px;
+ text-align: center;
}
#character-overview-save-button:hover,
@@ -489,18 +536,15 @@ a:visited {
cursor: pointer;
}
-#character-overview-options-button {
- display: inline;
-}
-
/* Scan analyze links from AutoLink */
.scan-analyze-link {
cursor: pointer;
color: #fff;
text-decoration: underline;
-}
-.scan-analyze-link:hover {
- text-decoration: none;
+
+ &:hover {
+ text-decoration: none;
+ }
}
/* Accordion menus (Header with collapsible panel) */
@@ -509,37 +553,37 @@ a:visited {
font-size: $defaultFontSize * 1.25;
color: #fff;
margin: 6px 6px 0 6px;
- padding: 6px;
+ padding: 4px 6px;
cursor: pointer;
width: 80%;
text-align: left;
border: none;
outline: none;
-}
+ position: relative;
-.accordion-header.active,
-.accordion-header:hover {
- background-color: #555;
-}
+ &.active,
+ &:hover {
+ background-color: #555;
+ }
-.accordion-header.active:hover {
- background-color: #666;
-}
+ &.active:hover {
+ background-color: #666;
+ }
-.accordion-header:after {
- content: '\02795'; /* "plus" sign (+) */
- font-size: $defaultFontSize * 0.8125;
- color: #fff;
- float: right;
- margin-left: 5px;
-}
+ &:after {
+ content: '\02795'; /* "plus" sign (+) */
+ font-size: $defaultFontSize * 0.8125;
+ float: right;
+ color: transparent;
+ text-shadow: 0 0 0 #fff;
+ position: absolute;
+ bottom: 5px;
+ right: 6px;
+ }
-.accordion-header.active:after {
- content: "\2796"; /* "minus" sign (-) */
- font-size: $defaultFontSize * 0.8125;
- color: #fff;
- float: right;
- margin-left: 5px;
+ &.active:after {
+ content: "\2796"; /* "minus" sign (-) */
+ }
}
.accordion-panel {
@@ -551,13 +595,10 @@ a:visited {
background-color: #555;
overflow-y: auto;
overflow-x: none;
-}
-.accordion-panel div,
-.accordion-panel ul,
-.accordion-panel p,
-.accordion-panel ul > li {
- background-color: #555;
+ div, ul, p, ul > li {
+ background-color: #555;
+ }
}
/* override the global styling */
@@ -567,3 +608,34 @@ a:visited {
margin: 0;
padding: 0;
}
+
+/* Helper Classes */
+.hacker-green {
+ color: $hacker-green;
+}
+
+.money-gold {
+ color: $money-gold;
+}
+
+.light-yellow {
+ color: $light-yellow;
+}
+
+.failure {
+ color: $alert-red;
+ text-shadow: 0 0 0 $alert-red;
+}
+
+.success {
+ color: $success-green;
+ text-shadow: 0 0 0 $success-green;
+}
+
+.physical-yellow {
+ color: $my-stat-physical;
+}
+
+.charisma-purple {
+ color: $my-stat-cha-color;
+}
diff --git a/css/terminal.scss b/css/terminal.scss
index 7e7ea52bc..1bd63a829 100644
--- a/css/terminal.scss
+++ b/css/terminal.scss
@@ -19,6 +19,12 @@
overflow-y: scroll;
background-color: var(--my-background-color);
table-layout: fixed;
+
+ .prompt {
+ color: var(--my-prompt-color);
+ margin: 0;
+ padding: 0;
+ }
}
#terminal-input {
diff --git a/doc/source/netscript.rst b/doc/source/netscript.rst
index edc3d6c4c..13272cd50 100644
--- a/doc/source/netscript.rst
+++ b/doc/source/netscript.rst
@@ -3,9 +3,10 @@ Netscript Documentation
Netscript is the programming language used in the world of Bitburner.
When you write scripts in Bitburner, they are written in the Netscript language.
-Netscript is simply a tiny subset of Javascript. This means that Netscript's
-syntax is almost idental to Javascript's, but it does not implement many of the
-features that Javascript has.
+Netscript is simply a subset of `JavaScript Total online production of
- Active scripts: $0.000 / sec
-
+
+
$
-
+
-
- Total online production since last Aug installation: $0.000
- ($0.000 / sec)
+ Total online production since last Aug installation: $0.000
+ ($0.000 / sec)
+
Here, you can purchase a Hacknet Node, a specialized machine that can connect and contribute its
resources to the Hacknet network. This allows you to take a small percentage of profits
from hacks performed on the network. Essentially, you are renting out your Node's computing power.
-
+
Each Hacknet Node you purchase will passively earn you money. Each Hacknet Node can be upgraded
in order to increase its computing power and thereby increase the profit you earn from it.
- Money:
- Total Hacknet Node Prodution:
+ Money:
+ Total Hacknet Node Production: