mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-11-20 14:43:48 +01:00
Fix issue with 'Object.prototye' functions throwing errors during NetscriptJS RAM calculation. Fixed type with new Travel Confirmation setting loading to the correct initial value. Fixed Competition/Demand display for Products. Changed RAM for window/document access to be 100
This commit is contained in:
parent
ec862ec747
commit
8620a4d30c
1185
dist/engine.bundle.js
vendored
1185
dist/engine.bundle.js
vendored
File diff suppressed because it is too large
Load Diff
BIN
doc/build/doctrees/environment.pickle
vendored
BIN
doc/build/doctrees/environment.pickle
vendored
Binary file not shown.
BIN
doc/build/doctrees/netscriptfunctions.doctree
vendored
BIN
doc/build/doctrees/netscriptfunctions.doctree
vendored
Binary file not shown.
BIN
doc/build/doctrees/netscriptjs.doctree
vendored
BIN
doc/build/doctrees/netscriptjs.doctree
vendored
Binary file not shown.
@ -387,6 +387,34 @@ ls
|
|||||||
Returns an array with the filenames of all files on the specified server (as strings). The returned array
|
Returns an array with the filenames of all files on the specified server (as strings). The returned array
|
||||||
is sorted in alphabetic order
|
is sorted in alphabetic order
|
||||||
|
|
||||||
|
ps
|
||||||
|
^^
|
||||||
|
|
||||||
|
.. js:function:: ps(hostname/ip=current ip)
|
||||||
|
|
||||||
|
:param string ip: Hostname or IP address of the target server.
|
||||||
|
If not specified, it will be the current server's IP by default
|
||||||
|
|
||||||
|
Returns an array with general information about all scripts running on the specified
|
||||||
|
target server. The information for each server is given in an object with
|
||||||
|
the following structure::
|
||||||
|
|
||||||
|
{
|
||||||
|
filename: Script name,
|
||||||
|
threads: Number of threads script is running with,
|
||||||
|
args: Script's arguments
|
||||||
|
}
|
||||||
|
|
||||||
|
Example usage (using :doc:`netscriptjs`)::
|
||||||
|
|
||||||
|
export async function main(ns) {
|
||||||
|
const ps = ns.ps("home");
|
||||||
|
for (const i in ps) {
|
||||||
|
ns.tprint(ps[i].filename + ' ' + ps[i].threads);
|
||||||
|
ns.tprint(ps[i].args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
hasRootAccess
|
hasRootAccess
|
||||||
^^^^^^^^^^^^^
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
2
doc/build/html/_sources/netscriptjs.rst.txt
vendored
2
doc/build/html/_sources/netscriptjs.rst.txt
vendored
@ -1,3 +1,5 @@
|
|||||||
|
.. _netscriptjs:
|
||||||
|
|
||||||
NetscriptJS (Netscript 2.0)
|
NetscriptJS (Netscript 2.0)
|
||||||
===========================
|
===========================
|
||||||
Netscript 2.0, or Netscript JS, is the new and improved version of Netscript that
|
Netscript 2.0, or Netscript JS, is the new and improved version of Netscript that
|
||||||
|
2
doc/build/html/genindex.html
vendored
2
doc/build/html/genindex.html
vendored
@ -326,6 +326,8 @@
|
|||||||
<li><a href="netscriptfunctions.html#print">print() (built-in function)</a>
|
<li><a href="netscriptfunctions.html#print">print() (built-in function)</a>
|
||||||
</li>
|
</li>
|
||||||
<li><a href="netscriptfunctions.html#prompt">prompt() (built-in function)</a>
|
<li><a href="netscriptfunctions.html#prompt">prompt() (built-in function)</a>
|
||||||
|
</li>
|
||||||
|
<li><a href="netscriptfunctions.html#ps">ps() (built-in function)</a>
|
||||||
</li>
|
</li>
|
||||||
</ul></td>
|
</ul></td>
|
||||||
<td style="width: 33%; vertical-align: top;"><ul>
|
<td style="width: 33%; vertical-align: top;"><ul>
|
||||||
|
1
doc/build/html/index.html
vendored
1
doc/build/html/index.html
vendored
@ -110,6 +110,7 @@ secrets that you've been searching for.</p>
|
|||||||
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#exit">exit</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#exit">exit</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#scp">scp</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#scp">scp</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#ls">ls</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#ls">ls</a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#ps">ps</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#hasrootaccess">hasRootAccess</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#hasrootaccess">hasRootAccess</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#gethostname">getHostname</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#gethostname">getHostname</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#gethackinglevel">getHackingLevel</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="netscriptfunctions.html#gethackinglevel">getHackingLevel</a></li>
|
||||||
|
2
doc/build/html/netscript.html
vendored
2
doc/build/html/netscript.html
vendored
@ -111,6 +111,7 @@ to reach out to the developer!</p>
|
|||||||
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#exit">exit</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#exit">exit</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#scp">scp</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#scp">scp</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#ls">ls</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#ls">ls</a></li>
|
||||||
|
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#ps">ps</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#hasrootaccess">hasRootAccess</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#hasrootaccess">hasRootAccess</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#gethostname">getHostname</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#gethostname">getHostname</a></li>
|
||||||
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#gethackinglevel">getHackingLevel</a></li>
|
<li class="toctree-l2"><a class="reference internal" href="netscriptfunctions.html#gethackinglevel">getHackingLevel</a></li>
|
||||||
@ -249,6 +250,7 @@ to reach out to the developer!</p>
|
|||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="terminal.html"> Terminal</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="terminal.html"> Terminal</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="shortcuts.html"> Keyboard Shortcuts</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="shortcuts.html"> Keyboard Shortcuts</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html"> Changelog</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
|
42
doc/build/html/netscriptfunctions.html
vendored
42
doc/build/html/netscriptfunctions.html
vendored
@ -671,6 +671,46 @@ then this function will return true if at least one of the files in the array is
|
|||||||
is sorted in alphabetic order</p>
|
is sorted in alphabetic order</p>
|
||||||
</dd></dl>
|
</dd></dl>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="section" id="ps">
|
||||||
|
<h2>ps<a class="headerlink" href="#ps" title="Permalink to this headline">¶</a></h2>
|
||||||
|
<dl class="function">
|
||||||
|
<dt>
|
||||||
|
<code class="descname">ps</code><span class="sig-paren">(</span><em>hostname/ip=current ip</em><span class="sig-paren">)</span></dt>
|
||||||
|
<dd><table class="docutils field-list" frame="void" rules="none">
|
||||||
|
<col class="field-name" />
|
||||||
|
<col class="field-body" />
|
||||||
|
<tbody valign="top">
|
||||||
|
<tr class="field-odd field"><th class="field-name">Arguments:</th><td class="field-body"><ul class="first last simple">
|
||||||
|
<li><strong>ip</strong> (<em>string</em>) -- Hostname or IP address of the target server.
|
||||||
|
If not specified, it will be the current server's IP by default</li>
|
||||||
|
</ul>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
<p>Returns an array with general information about all scripts running on the specified
|
||||||
|
target server. The information for each server is given in an object with
|
||||||
|
the following structure:</p>
|
||||||
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="p">{</span>
|
||||||
|
<span class="n">filename</span><span class="p">:</span> <span class="n">Script</span> <span class="n">name</span><span class="p">,</span>
|
||||||
|
<span class="n">threads</span><span class="p">:</span> <span class="n">Number</span> <span class="n">of</span> <span class="n">threads</span> <span class="n">script</span> <span class="ow">is</span> <span class="n">running</span> <span class="k">with</span><span class="p">,</span>
|
||||||
|
<span class="n">args</span><span class="p">:</span> <span class="n">Script</span><span class="s1">'s arguments</span>
|
||||||
|
<span class="p">}</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
<p>Example usage (using <a class="reference internal" href="netscriptjs.html"><span class="doc">NetscriptJS (Netscript 2.0)</span></a>):</p>
|
||||||
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">export</span> <span class="k">async</span> <span class="n">function</span> <span class="n">main</span><span class="p">(</span><span class="n">ns</span><span class="p">)</span> <span class="p">{</span>
|
||||||
|
<span class="n">const</span> <span class="n">ps</span> <span class="o">=</span> <span class="n">ns</span><span class="o">.</span><span class="n">ps</span><span class="p">(</span><span class="s2">"home"</span><span class="p">);</span>
|
||||||
|
<span class="k">for</span> <span class="p">(</span><span class="n">const</span> <span class="n">i</span> <span class="ow">in</span> <span class="n">ps</span><span class="p">)</span> <span class="p">{</span>
|
||||||
|
<span class="n">ns</span><span class="o">.</span><span class="n">tprint</span><span class="p">(</span><span class="n">ps</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">filename</span> <span class="o">+</span> <span class="s1">' '</span> <span class="o">+</span> <span class="n">ps</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">threads</span><span class="p">);</span>
|
||||||
|
<span class="n">ns</span><span class="o">.</span><span class="n">tprint</span><span class="p">(</span><span class="n">ps</span><span class="p">[</span><span class="n">i</span><span class="p">]</span><span class="o">.</span><span class="n">args</span><span class="p">);</span>
|
||||||
|
<span class="p">}</span>
|
||||||
|
<span class="p">}</span>
|
||||||
|
</pre></div>
|
||||||
|
</div>
|
||||||
|
</dd></dl>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="section" id="hasrootaccess">
|
<div class="section" id="hasrootaccess">
|
||||||
<h2>hasRootAccess<a class="headerlink" href="#hasrootaccess" title="Permalink to this headline">¶</a></h2>
|
<h2>hasRootAccess<a class="headerlink" href="#hasrootaccess" title="Permalink to this headline">¶</a></h2>
|
||||||
@ -1648,6 +1688,7 @@ you create in functions such as <a class="reference external" href="https://deve
|
|||||||
<li class="toctree-l3"><a class="reference internal" href="#exit">exit</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="#exit">exit</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="#scp">scp</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="#scp">scp</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="#ls">ls</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="#ls">ls</a></li>
|
||||||
|
<li class="toctree-l3"><a class="reference internal" href="#ps">ps</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="#hasrootaccess">hasRootAccess</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="#hasrootaccess">hasRootAccess</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="#gethostname">getHostname</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="#gethostname">getHostname</a></li>
|
||||||
<li class="toctree-l3"><a class="reference internal" href="#gethackinglevel">getHackingLevel</a></li>
|
<li class="toctree-l3"><a class="reference internal" href="#gethackinglevel">getHackingLevel</a></li>
|
||||||
@ -1702,6 +1743,7 @@ you create in functions such as <a class="reference external" href="https://deve
|
|||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="terminal.html"> Terminal</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="terminal.html"> Terminal</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="shortcuts.html"> Keyboard Shortcuts</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="shortcuts.html"> Keyboard Shortcuts</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html"> Changelog</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
|
3
doc/build/html/netscriptjs.html
vendored
3
doc/build/html/netscriptjs.html
vendored
@ -52,7 +52,7 @@
|
|||||||
<div class="body" role="main">
|
<div class="body" role="main">
|
||||||
|
|
||||||
<div class="section" id="netscriptjs-netscript-2-0">
|
<div class="section" id="netscriptjs-netscript-2-0">
|
||||||
<h1>NetscriptJS (Netscript 2.0)<a class="headerlink" href="#netscriptjs-netscript-2-0" title="Permalink to this headline">¶</a></h1>
|
<span id="netscriptjs"></span><h1>NetscriptJS (Netscript 2.0)<a class="headerlink" href="#netscriptjs-netscript-2-0" title="Permalink to this headline">¶</a></h1>
|
||||||
<p>Netscript 2.0, or Netscript JS, is the new and improved version of Netscript that
|
<p>Netscript 2.0, or Netscript JS, is the new and improved version of Netscript that
|
||||||
allows users to write (almost) full-fledged Javascript code in their scripts, while
|
allows users to write (almost) full-fledged Javascript code in their scripts, while
|
||||||
still being able to access the Netscript functions.</p>
|
still being able to access the Netscript functions.</p>
|
||||||
@ -278,6 +278,7 @@ NetscriptJS and report any serious exploits.</p>
|
|||||||
</li>
|
</li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="terminal.html"> Terminal</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="terminal.html"> Terminal</a></li>
|
||||||
<li class="toctree-l1"><a class="reference internal" href="shortcuts.html"> Keyboard Shortcuts</a></li>
|
<li class="toctree-l1"><a class="reference internal" href="shortcuts.html"> Keyboard Shortcuts</a></li>
|
||||||
|
<li class="toctree-l1"><a class="reference internal" href="changelog.html"> Changelog</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<div role="search">
|
<div role="search">
|
||||||
|
BIN
doc/build/html/objects.inv
vendored
BIN
doc/build/html/objects.inv
vendored
Binary file not shown.
2
doc/build/html/searchindex.js
vendored
2
doc/build/html/searchindex.js
vendored
File diff suppressed because one or more lines are too long
@ -387,6 +387,34 @@ ls
|
|||||||
Returns an array with the filenames of all files on the specified server (as strings). The returned array
|
Returns an array with the filenames of all files on the specified server (as strings). The returned array
|
||||||
is sorted in alphabetic order
|
is sorted in alphabetic order
|
||||||
|
|
||||||
|
ps
|
||||||
|
^^
|
||||||
|
|
||||||
|
.. js:function:: ps(hostname/ip=current ip)
|
||||||
|
|
||||||
|
:param string ip: Hostname or IP address of the target server.
|
||||||
|
If not specified, it will be the current server's IP by default
|
||||||
|
|
||||||
|
Returns an array with general information about all scripts running on the specified
|
||||||
|
target server. The information for each server is given in an object with
|
||||||
|
the following structure::
|
||||||
|
|
||||||
|
{
|
||||||
|
filename: Script name,
|
||||||
|
threads: Number of threads script is running with,
|
||||||
|
args: Script's arguments
|
||||||
|
}
|
||||||
|
|
||||||
|
Example usage (using :doc:`netscriptjs`)::
|
||||||
|
|
||||||
|
export async function main(ns) {
|
||||||
|
const ps = ns.ps("home");
|
||||||
|
for (let i = 0; i < ps.length; ++i) {
|
||||||
|
ns.tprint(ps[i].filename + ' ' + ps[i].threads);
|
||||||
|
ns.tprint(ps[i].args);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
hasRootAccess
|
hasRootAccess
|
||||||
^^^^^^^^^^^^^
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
.. _netscriptjs:
|
||||||
|
|
||||||
NetscriptJS (Netscript 2.0)
|
NetscriptJS (Netscript 2.0)
|
||||||
===========================
|
===========================
|
||||||
Netscript 2.0, or Netscript JS, is the new and improved version of Netscript that
|
Netscript 2.0, or Netscript JS, is the new and improved version of Netscript that
|
||||||
|
@ -2696,11 +2696,12 @@ Warehouse.prototype.createProductUI = function(product, parentRefs) {
|
|||||||
//Completed products
|
//Completed products
|
||||||
var cmpAndDmdText = "";
|
var cmpAndDmdText = "";
|
||||||
if (company.unlockUpgrades[2] === 1) {
|
if (company.unlockUpgrades[2] === 1) {
|
||||||
cmpAndDmdText += "<br>Competition: " + formatNumber(product.cmp, 3);
|
|
||||||
}
|
|
||||||
if (company.unlockUpgrades[3] === 1) {
|
|
||||||
cmpAndDmdText += "<br>Demand: " + formatNumber(product.dmd, 3);
|
cmpAndDmdText += "<br>Demand: " + formatNumber(product.dmd, 3);
|
||||||
}
|
}
|
||||||
|
if (company.unlockUpgrades[3] === 1) {
|
||||||
|
cmpAndDmdText += "<br>Competition: " + formatNumber(product.cmp, 3);
|
||||||
|
}
|
||||||
|
|
||||||
var totalGain = product.data[city][1] - product.data[city][2]; //Production - sale
|
var totalGain = product.data[city][1] - product.data[city][2]; //Production - sale
|
||||||
div.appendChild(createElement("p", {
|
div.appendChild(createElement("p", {
|
||||||
innerHTML: "<p class='tooltip'>" + product.name + ": " + formatNumber(product.data[city][0], 3) + //Quantity
|
innerHTML: "<p class='tooltip'>" + product.name + ": " + formatNumber(product.data[city][0], 3) + //Quantity
|
||||||
|
@ -43,7 +43,7 @@ let CONSTANTS = {
|
|||||||
/* Netscript Constants */
|
/* Netscript Constants */
|
||||||
//RAM Costs for different commands
|
//RAM Costs for different commands
|
||||||
ScriptBaseRamCost: 1.4,
|
ScriptBaseRamCost: 1.4,
|
||||||
ScriptCheatRamCost: 1e21, // if someone tries to cheat by using window or document we just spike the ram cost.
|
ScriptDomRamCost: 100,
|
||||||
ScriptWhileRamCost: 0.2,
|
ScriptWhileRamCost: 0.2,
|
||||||
ScriptForRamCost: 0.2,
|
ScriptForRamCost: 0.2,
|
||||||
ScriptIfRamCost: 0.15,
|
ScriptIfRamCost: 0.15,
|
||||||
@ -489,20 +489,17 @@ let CONSTANTS = {
|
|||||||
"World Stock Exchange account and TIX API Access<br>",
|
"World Stock Exchange account and TIX API Access<br>",
|
||||||
|
|
||||||
LatestUpdate:
|
LatestUpdate:
|
||||||
"v0.38.0<br>" +
|
"v0.38.1<br>" +
|
||||||
"* New BitNode: BN-12 The Recursion - Implemented by Github user hydroflame<br>" +
|
"* Bug Fix: Using 'Object.prototype' functions like toLocaleString() or toString() should no longer cause errors in NetscriptJS<br>" +
|
||||||
"* Bladeburner Changes:<br>" +
|
"* Implemented by Github user hydroflame:<br>" +
|
||||||
"*** Bladeburner progress is no longer reset when installing Augmentations<br>" +
|
"*** Accessing the 'window' and 'document' objects in Netscript JS now requires a large amount of RAM (100 GB)<br>" +
|
||||||
"*** The number of successess needed to increase a Contract/Operation's max level now scales with the current max level (gradually gets harder)<br>" +
|
"*** Added game option to suppress travel confirmation<br>" +
|
||||||
"*** All Bladeburner Augmentations are now slightly more expensive and require more reputation<br>" +
|
"*** Text on buttons can no longer be highlighted<br>" +
|
||||||
"*** Black Operations now give higher rank rewards<br>" +
|
"*** Bug Fix: Fixed an issue that caused NaN values when exporting Real Estate in Corporations<br>" +
|
||||||
"*** Doubled the base amount of money gained from Contracts<br>" +
|
"*** Bug Fix: Competition and Demand displays in Corporation are now correct (were reversed before)<br>" +
|
||||||
"*** Increased the amount of experience gained from Contracts/Actions<br>" +
|
"*** Added ps() Netscript function<br>" +
|
||||||
"*** Added a new Augmentation: The Blade's Simulacrum<br>" +
|
"*** Bug fix: grow() should no longer return/log a negative value when it runs on a server that's already at max money<br>"
|
||||||
"*** Bladeburner faction reputation gain is now properly affected by favor<br>" +
|
|
||||||
"* Hacking is now slightly less profitable in BitNode-3<br>" +
|
|
||||||
"* Updated Hacknet Nodes UI - Implemented by Github user kopelli<br>" +
|
|
||||||
"* Bug Fix: Fixed an exploit that allowed calling any Netscript function without incurring any RAM Cost in NetscriptJS<br>"
|
|
||||||
}
|
}
|
||||||
|
|
||||||
export {CONSTANTS};
|
export {CONSTANTS};
|
||||||
|
@ -279,7 +279,10 @@ function displayLocationContent() {
|
|||||||
purchase256gb.innerHTML = "Purchase 256GB Server - $" + formatNumber(256*CONSTANTS.BaseCostFor1GBOfRamServer, 2);
|
purchase256gb.innerHTML = "Purchase 256GB Server - $" + formatNumber(256*CONSTANTS.BaseCostFor1GBOfRamServer, 2);
|
||||||
purchase512gb.innerHTML = "Purchase 512GB Server - $" + formatNumber(512*CONSTANTS.BaseCostFor1GBOfRamServer, 2);
|
purchase512gb.innerHTML = "Purchase 512GB Server - $" + formatNumber(512*CONSTANTS.BaseCostFor1GBOfRamServer, 2);
|
||||||
purchase1tb.innerHTML = "Purchase 1TB Server - $" + formatNumber(1024*CONSTANTS.BaseCostFor1GBOfRamServer, 2);
|
purchase1tb.innerHTML = "Purchase 1TB Server - $" + formatNumber(1024*CONSTANTS.BaseCostFor1GBOfRamServer, 2);
|
||||||
purchaseTor.innerHTML = "Purchase TOR Router - $" + formatNumber(CONSTANTS.TorRouterCost, 2);
|
if (!SpecialServerIps.hasOwnProperty("Darkweb Server")) {
|
||||||
|
purchaseTor.innerHTML = "Purchase TOR Router - $" + formatNumber(CONSTANTS.TorRouterCost, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
travelAgencyText.style.display = "none";
|
travelAgencyText.style.display = "none";
|
||||||
travelToAevum.style.display = "none";
|
travelToAevum.style.display = "none";
|
||||||
@ -2005,7 +2008,7 @@ function purchaseTorRouter() {
|
|||||||
|
|
||||||
const purchaseTor = document.getElementById("location-purchase-tor");
|
const purchaseTor = document.getElementById("location-purchase-tor");
|
||||||
purchaseTor.setAttribute("class", "a-link-button-bought");
|
purchaseTor.setAttribute("class", "a-link-button-bought");
|
||||||
purchaseTor.innerHTML = "TOR Router - purchased";
|
purchaseTor.innerHTML = "TOR Router - Purchased";
|
||||||
|
|
||||||
Player.getHomeComputer().serversOnNetwork.push(darkweb.ip);
|
Player.getHomeComputer().serversOnNetwork.push(darkweb.ip);
|
||||||
darkweb.serversOnNetwork.push(Player.getHomeComputer().ip);
|
darkweb.serversOnNetwork.push(Player.getHomeComputer().ip);
|
||||||
|
@ -81,6 +81,8 @@ var possibleLogs = {
|
|||||||
relaysmtp: true,
|
relaysmtp: true,
|
||||||
httpworm: true,
|
httpworm: true,
|
||||||
sqlinject: true,
|
sqlinject: true,
|
||||||
|
run:true,
|
||||||
|
exec:true,
|
||||||
spawn: true,
|
spawn: true,
|
||||||
kill: true,
|
kill: true,
|
||||||
killall: true,
|
killall: true,
|
||||||
@ -325,7 +327,7 @@ function NetscriptFunctions(workerScript) {
|
|||||||
}
|
}
|
||||||
workerScript.scriptRef.onlineExpGained += expGain;
|
workerScript.scriptRef.onlineExpGained += expGain;
|
||||||
Player.gainHackingExp(expGain);
|
Player.gainHackingExp(expGain);
|
||||||
return Promise.resolve(growthPercentage);
|
return Promise.resolve(moneyAfter/moneyBefore);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
weaken : function(ip){
|
weaken : function(ip){
|
||||||
@ -2292,7 +2294,9 @@ function NetscriptFunctions(workerScript) {
|
|||||||
AddToAllServers(darkweb);
|
AddToAllServers(darkweb);
|
||||||
SpecialServerIps.addIp("Darkweb Server", darkweb.ip);
|
SpecialServerIps.addIp("Darkweb Server", darkweb.ip);
|
||||||
|
|
||||||
document.getElementById("location-purchase-tor").setAttribute("class", "a-link-button-inactive");
|
const purchaseTor = document.getElementById("location-purchase-tor");
|
||||||
|
purchaseTor.setAttribute("class", "a-link-button-bought");
|
||||||
|
purchaseTor.innerHTML = "TOR Router - Purchased";
|
||||||
|
|
||||||
Player.getHomeComputer().serversOnNetwork.push(darkweb.ip);
|
Player.getHomeComputer().serversOnNetwork.push(darkweb.ip);
|
||||||
darkweb.serversOnNetwork.push(Player.getHomeComputer().ip);
|
darkweb.serversOnNetwork.push(Player.getHomeComputer().ip);
|
||||||
@ -2798,7 +2802,7 @@ function NetscriptFunctions(workerScript) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// if the player is in a gang and the target faction is any of the gang faction, fail
|
// if the player is in a gang and the target faction is any of the gang faction, fail
|
||||||
if(Player.gang != null && AllGangs[name] !== undefined) {
|
if(Player.inGang() && AllGangs[name] !== undefined) {
|
||||||
workerScript.scriptRef.log("ERROR: Faction specified in workForFaction() does not offer work at the moment.");
|
workerScript.scriptRef.log("ERROR: Faction specified in workForFaction() does not offer work at the moment.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -425,7 +425,7 @@ function parseOnlyRamCalculate(server, code, workerScript) {
|
|||||||
const unresolvedRefs = Object.keys(dependencyMap).filter(s => s.startsWith(initialModule));
|
const unresolvedRefs = Object.keys(dependencyMap).filter(s => s.startsWith(initialModule));
|
||||||
const resolvedRefs = new Set();
|
const resolvedRefs = new Set();
|
||||||
while (unresolvedRefs.length > 0) {
|
while (unresolvedRefs.length > 0) {
|
||||||
const ref = unresolvedRefs.shift();
|
let ref = unresolvedRefs.shift();
|
||||||
resolvedRefs.add(ref);
|
resolvedRefs.add(ref);
|
||||||
|
|
||||||
if (ref.endsWith(".*")) {
|
if (ref.endsWith(".*")) {
|
||||||
@ -448,7 +448,7 @@ function parseOnlyRamCalculate(server, code, workerScript) {
|
|||||||
if (ref == specialReferenceFOR) ram += CONSTANTS.ScriptForRamCost;
|
if (ref == specialReferenceFOR) ram += CONSTANTS.ScriptForRamCost;
|
||||||
if (ref == specialReferenceWHILE) ram += CONSTANTS.ScriptWhileRamCost;
|
if (ref == specialReferenceWHILE) ram += CONSTANTS.ScriptWhileRamCost;
|
||||||
if (ref == "hacknetnodes") ram += CONSTANTS.ScriptHacknetNodesRamCost;
|
if (ref == "hacknetnodes") ram += CONSTANTS.ScriptHacknetNodesRamCost;
|
||||||
if (ref == "document" || ref == "window") ram += CONSTANTS.ScriptCheatRamCost;
|
if (ref == "document" || ref == "window") ram += CONSTANTS.ScriptDomRamCost;
|
||||||
|
|
||||||
// Check if this ident is a function in the workerscript env. If it is, then we need to
|
// Check if this ident is a function in the workerscript env. If it is, then we need to
|
||||||
// get its RAM cost. We do this by calling it, which works because the running script
|
// get its RAM cost. We do this by calling it, which works because the running script
|
||||||
@ -509,11 +509,15 @@ function parseOnlyCalculateDeps(code, currentModule) {
|
|||||||
s.add(name); // For builtins like hack.
|
s.add(name); // For builtins like hack.
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//A list of identifiers that resolve to "native Javascript code"
|
||||||
|
const objectPrototypeProperties = Object.getOwnPropertyNames(Object.prototype);
|
||||||
|
|
||||||
// If we discover a dependency identifier, state.key is the dependent identifier.
|
// If we discover a dependency identifier, state.key is the dependent identifier.
|
||||||
// walkDeeper is for doing recursive walks of expressions in composites that we handle.
|
// walkDeeper is for doing recursive walks of expressions in composites that we handle.
|
||||||
function commonVisitors() {
|
function commonVisitors() {
|
||||||
return {
|
return {
|
||||||
Identifier: (node, st, walkDeeper) => {
|
Identifier: (node, st, walkDeeper) => {
|
||||||
|
if (objectPrototypeProperties.includes(node.name)) {return;}
|
||||||
addRef(st.key, node.name);
|
addRef(st.key, node.name);
|
||||||
},
|
},
|
||||||
WhileStatement: (node, st, walkDeeper) => {
|
WhileStatement: (node, st, walkDeeper) => {
|
||||||
|
@ -48,7 +48,7 @@ function setSettingsLabels() {
|
|||||||
nsPortLimit.innerHTML = Settings.MaxPortCapacity;
|
nsPortLimit.innerHTML = Settings.MaxPortCapacity;
|
||||||
suppressMsgs.checked = Settings.SuppressMessages;
|
suppressMsgs.checked = Settings.SuppressMessages;
|
||||||
suppressFactionInv.checked = Settings.SuppressFactionInvites;
|
suppressFactionInv.checked = Settings.SuppressFactionInvites;
|
||||||
suppressTravelConfirmation.checked = Settings.suppressTravelConfirmation;
|
suppressTravelConfirmation.checked = Settings.SuppressTravelConfirmation;
|
||||||
autosaveInterval.innerHTML = Settings.AutosaveInterval;
|
autosaveInterval.innerHTML = Settings.AutosaveInterval;
|
||||||
disableHotkeys.checked = Settings.DisableHotkeys;
|
disableHotkeys.checked = Settings.DisableHotkeys;
|
||||||
|
|
||||||
|
@ -1729,7 +1729,9 @@ let Engine = {
|
|||||||
|
|
||||||
//If DarkWeb already purchased, disable the button
|
//If DarkWeb already purchased, disable the button
|
||||||
if (SpecialServerIps.hasOwnProperty("Darkweb Server")) {
|
if (SpecialServerIps.hasOwnProperty("Darkweb Server")) {
|
||||||
document.getElementById("location-purchase-tor").setAttribute("class", "a-link-button-inactive");
|
const purchaseTor = document.getElementById("location-purchase-tor");
|
||||||
|
purchaseTor.setAttribute("class", "a-link-button-bought");
|
||||||
|
purchaseTor.innerHTML = "TOR Router - Purchased";
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user