diff --git a/dist/engine.bundle.js b/dist/engine.bundle.js index 138b97859..721e28856 100644 --- a/dist/engine.bundle.js +++ b/dist/engine.bundle.js @@ -197,6 +197,7 @@ function PlayerObject() { this.currentServer = ""; //IP address of Server currently being accessed through terminal this.purchasedServers = []; //IP Addresses of purchased servers this.hacknetNodes = []; + this.hacknetNodeWrappers = []; this.totalHacknetNodeProduction = 0; //Factions @@ -488,16 +489,8 @@ PlayerObject.prototype.prestigeSourceFile = function() { if (this.bitNodeN === 3) {this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_15__["default"](150e9);} this.corporation = 0; - //Reset Bladeburner this.bladeburner = 0; - //BitNode 8: Ghost of Wall Street - if (this.bitNodeN === 8) {this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_15__["default"](100000000);} - if (this.bitNodeN === 8 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__["hasWallStreetSF"]) { - this.hasWseAccount = true; - this.hasTixApiAccess = true; - } - this.playtimeSinceLastAug = 0; this.scriptProdSinceLastAug = 0; } @@ -2956,7 +2949,7 @@ function generateRandomString(n) { __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONSTANTS", function() { return CONSTANTS; }); let CONSTANTS = { - Version: "0.37.1", + Version: "0.37.2", //Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience //and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then @@ -3441,16 +3434,13 @@ let CONSTANTS = { "World Stock Exchange account and TIX API Access
", LatestUpdate: - "v0.37.1
" + - "* You now earn money from successfully completing Bladeburner contracts. The amount you earn is based " + - "on the difficulty of the contract.
" + - "* Completing Field Analysis in Bladeburner now grants 0.1 rank
" + - "* The maximum RAM you can get on a purchased server is now 1,048,576GB (2^20)
" + - "* Bug Fix: Fixed Netscript syntax highlighting issues with the new NetscriptJS
" + - "* Bug Fix: Netscript Functions now properly incur RAM costs in NetscriptJS
" + - "* Bug Fix: deleteServer() now fails if its called on the server you are currently connected to
" + - "* Removed in-game Netscript documentation, since it was outdated and difficult to maintain.
" + - "* Bug Fix: Updated the gymWorkout() Singularity function with the new exp/cost values for gyms
" + "v0.37.2
" + + "* After joining the Bladeburners division, there is now a button to go to the Bladeburner content " + + "in the 'City' page
" + + "* You now start with $250m in BitNode-8 (increased from $100m)
" + + "* Bug Fix: You can now no longer directly edit Hacknet Node values through NetscriptJS (hopefully)
" + + "* Bug Fix: Bladeburners is no longer accessible in BN-8
" + + "* Bug Fix: getBitNodeMultipliers() Netscript function now returns a copy rather than the original object
" } @@ -4198,6 +4188,7 @@ function displayLocationContent() { securityJob.style.display = "block"; agentJob.style.display = "block"; if (_Player_js__WEBPACK_IMPORTED_MODULE_8__["Player"].bitNodeN === 6 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_7__["hasBladeburnerSF"] === true) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_8__["Player"].bitNodeN === 8) {break;} if (_Player_js__WEBPACK_IMPORTED_MODULE_8__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_0__["Bladeburner"]) { //Note: Can't infiltrate NSA when part of bladeburner nsaBladeburner.innerText = "Enter Bladeburner Headquarters"; @@ -6348,6 +6339,7 @@ let Engine = { //Generic Locations (common to every city): // World Stock Exchange // Corporation (if applicable) + // Bladeburner HQ (if applicable); var genericLocationsList = document.getElementById("generic-locations-list"); genericLocationsList.style.display = "inline"; Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["removeChildrenFromElement"])(genericLocationsList); @@ -6374,6 +6366,18 @@ let Engine = { })); genericLocationsList.appendChild(li); } + + if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { + var li = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("li"); + li.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("a", { + innerText:"Bladeburner Headquarters", class:"a-link-button", + clickListener:()=>{ + Engine.loadBladeburnerContent(); + return false; + } + })); + genericLocationsList.appendChild(li); + } }, displayFactionsInfo: function() { @@ -18856,7 +18860,7 @@ function displayStockMarketContent() { if (!_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasWseAccount && _Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].money.gte(_Constants_js__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].WSEAccountCost)) { wseAccountButton.setAttribute("class", "a-link-button"); } else if (_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasWseAccount){ - wseAccountButton.innerText = "WSE Account - acquired"; + wseAccountButton.innerText = "WSE Account - Purchased"; wseAccountButton.setAttribute("class", "a-link-button-bought"); } else { wseAccountButton.setAttribute("class", "a-link-button-inactive"); @@ -18877,7 +18881,7 @@ function displayStockMarketContent() { if (!_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasTixApiAccess && _Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].money.gte(_Constants_js__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].TIXAPICost)) { tixApiAccessButton.setAttribute("class", "a-link-button"); } else if(_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasTixApiAccess) { - tixApiAccessButton.innerText = "Trade Information eXchange (TIX) API Access - granted" + tixApiAccessButton.innerText = "Trade Information eXchange (TIX) API Access - Purchased" tixApiAccessButton.setAttribute("class", "a-link-button-bought"); } else { tixApiAccessButton.setAttribute("class", "a-link-button-inactive"); @@ -29310,7 +29314,7 @@ function initBladeburner() { Skills[SkillNames.Overclock] = new Skill({ name:SkillNames.Overclock, desc:"Each level of this skill decreases the time it takes " + - "to attempt a contract or operation by 1% (Max Level: 99)", + "to attempt a contract or operation by 1% (Max Level: 95)", baseCost:5, costInc:1, maxLvl:95, actionTime:1 }); @@ -30411,7 +30415,7 @@ function NetscriptFunctions(workerScript) { Math : Math, Date : Date, Number : Number, - hacknetnodes : _Player_js__WEBPACK_IMPORTED_MODULE_15__["Player"].hacknetNodes, + hacknetnodes : _Player_js__WEBPACK_IMPORTED_MODULE_15__["Player"].hacknetNodeWrappers, sprintf : sprintf, vsprintf: vsprintf, scan : function(ip=workerScript.serverIp, hostnames=true){ @@ -31378,7 +31382,8 @@ function NetscriptFunctions(workerScript) { if (!hasAISF) { throw Object(_NetscriptEvaluator_js__WEBPACK_IMPORTED_MODULE_24__["makeRuntimeRejectMsg"])(workerScript, "Cannot run getBitNodeMultipliers(). It requires Source-File 5 to run."); } - return _BitNode_js__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"]; + let copy = Object.assign({}, _BitNode_js__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"]); + return copy; }, getServerMoneyAvailable : function(ip){ if (workerScript.checkingRam) { @@ -52289,6 +52294,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateHacknetNodesContent", function() { return updateHacknetNodesContent; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "processAllHacknetNodeEarnings", function() { return processAllHacknetNodeEarnings; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getHacknetNode", function() { return getHacknetNode; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPlayerHacknetNodeWrappers", function() { return createPlayerHacknetNodeWrappers; }); /* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode.js */ 15); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants.js */ 3); /* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine.js */ 5); @@ -52354,6 +52360,7 @@ function HacknetNode(name) { this.moneyGainRatePerSecond = 0; } + HacknetNode.prototype.updateMoneyGainRate = function() { //How much extra $/s is gained per level var gainPerLevel = _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].HacknetNodeMoneyGainPerLevel; @@ -52478,6 +52485,36 @@ HacknetNode.fromJSON = function(value) { _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_7__["Reviver"].constructors.HacknetNode = HacknetNode; +var HacknetNodeWrapper = function(hacknetNodeObj) { + var _node = hacknetNodeObj; + return { + name : _node.name, + level : _node.level, + ram : _node.ram, + cores : _node.cores, + totalMoneyGenerated : _node.totalMoneyGenerated, + onlineTimeSeconds : _node.onlineTimeSeconds, + moneyGainRatePerSecond : _node.moneyGainRatePerSecond, + upgradeLevel : function(n) { + return _node.upgradeLevel(n); + }, + upgradeRam : function() { + return _node.upgradeRam(); + }, + upgradeCore : function() { + return _node.upgradeCore(); + }, + getLevelUpgradeCost : function(n) { + return _node.getLevelUpgradeCost(n); + }, + getRamUpgradeCost : function() { + return _node.getRamUpgradeCost(); + }, + getCoreUpgradeCost : function() { + return _node.getCoreUpgradeCost(); + } + } +} function purchaseHacknet() { /* INTERACTIVE TUTORIAL */ @@ -52767,8 +52804,31 @@ function updateHacknetNodeDomElement(nodeObj) { } } +function createPlayerHacknetNodeWrappers() { + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers.length = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length; + for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length; ++i) { + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i] = new HacknetNodeWrapper(_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i]); + } +} + +function updatePlayerHacknetNodeWrappers() { + if (_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers.length !== _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length) { + return createPlayerHacknetNodeWrappers(); + } + for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers.length; ++i) { + if (!(_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i] instanceof HacknetNodeWrapper)) {return createPlayerHacknetNodeWrappers();} + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].level = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].level; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].ram = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].ram; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].cores = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].cores; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].totalMoneyGenerated = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].totalMoneyGenerated; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].onlineTimeSeconds = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].onlineTimeSeconds; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].moneyGainRatePerSecond = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].moneyGainRatePerSecond; + } +} + function processAllHacknetNodeEarnings(numCycles) { var total = 0; + updatePlayerHacknetNodeWrappers(); for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length; ++i) { total += processSingleHacknetNodeEarnings(numCycles, _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i]); } @@ -59026,6 +59086,8 @@ function loadGame(saveString) { } } + //Re-initialize Hacknet Node Wrappers + Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_7__["createPlayerHacknetNodeWrappers"])(); return true; } @@ -59242,6 +59304,9 @@ function loadImportedGame(saveObj, saveString) { } } + //Re-initialize Hacknet Node Wrappers + Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_7__["createPlayerHacknetNodeWrappers"])(); + var popupId = "import-game-restart-game-notice"; var txt = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { innerText:"Imported game! I would suggest saving the game and then reloading the page " + @@ -60704,6 +60769,8 @@ __webpack_require__.r(__webpack_exports__); + +let BitNode8StartingMoney = 250e6; //Prestige by purchasing augmentation function prestigeAugmentation() { @@ -60798,7 +60865,7 @@ function prestigeAugmentation() { _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bladeburner = null; //BitNode 8: Ghost of Wall Street - if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8) {_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_18__["default"](100e6);} + if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8) {_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_18__["default"](BitNode8StartingMoney);} if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__["hasWallStreetSF"]) { _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasWseAccount = true; _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasTixApiAccess = true; @@ -60976,6 +61043,13 @@ function prestigeSourceFile() { } + //BitNode 8: Ghost of Wall Street + if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8) {_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_18__["default"](BitNode8StartingMoney);} + if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__["hasWallStreetSF"]) { + _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasWseAccount = true; + _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasTixApiAccess = true; + } + //Gain int exp _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].gainIntelligenceExp(5); } @@ -95686,7 +95760,7 @@ var NetscriptHighlightRules = function(options) { "JSON|Math|" + // Other "this|arguments|prototype|window|document" , // Pseudo "keyword": - "const|yield|import|get|set|async|await|foop|" + + "const|yield|import|get|set|async|await|" + "break|case|catch|continue|default|delete|do|else|finally|for|function|" + "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" + "__parent__|__count__|escape|unescape|with|__proto__|" + diff --git a/dist/tests.bundle.js b/dist/tests.bundle.js index 072461a45..cacc39c88 100644 --- a/dist/tests.bundle.js +++ b/dist/tests.bundle.js @@ -197,6 +197,7 @@ function PlayerObject() { this.currentServer = ""; //IP address of Server currently being accessed through terminal this.purchasedServers = []; //IP Addresses of purchased servers this.hacknetNodes = []; + this.hacknetNodeWrappers = []; this.totalHacknetNodeProduction = 0; //Factions @@ -488,16 +489,8 @@ PlayerObject.prototype.prestigeSourceFile = function() { if (this.bitNodeN === 3) {this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_15__["default"](150e9);} this.corporation = 0; - //Reset Bladeburner this.bladeburner = 0; - //BitNode 8: Ghost of Wall Street - if (this.bitNodeN === 8) {this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_15__["default"](100000000);} - if (this.bitNodeN === 8 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__["hasWallStreetSF"]) { - this.hasWseAccount = true; - this.hasTixApiAccess = true; - } - this.playtimeSinceLastAug = 0; this.scriptProdSinceLastAug = 0; } @@ -2956,7 +2949,7 @@ function generateRandomString(n) { __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CONSTANTS", function() { return CONSTANTS; }); let CONSTANTS = { - Version: "0.37.1", + Version: "0.37.2", //Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience //and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then @@ -3441,16 +3434,13 @@ let CONSTANTS = { "World Stock Exchange account and TIX API Access
", LatestUpdate: - "v0.37.1
" + - "* You now earn money from successfully completing Bladeburner contracts. The amount you earn is based " + - "on the difficulty of the contract.
" + - "* Completing Field Analysis in Bladeburner now grants 0.1 rank
" + - "* The maximum RAM you can get on a purchased server is now 1,048,576GB (2^20)
" + - "* Bug Fix: Fixed Netscript syntax highlighting issues with the new NetscriptJS
" + - "* Bug Fix: Netscript Functions now properly incur RAM costs in NetscriptJS
" + - "* Bug Fix: deleteServer() now fails if its called on the server you are currently connected to
" + - "* Removed in-game Netscript documentation, since it was outdated and difficult to maintain.
" + - "* Bug Fix: Updated the gymWorkout() Singularity function with the new exp/cost values for gyms
" + "v0.37.2
" + + "* After joining the Bladeburners division, there is now a button to go to the Bladeburner content " + + "in the 'City' page
" + + "* You now start with $250m in BitNode-8 (increased from $100m)
" + + "* Bug Fix: You can now no longer directly edit Hacknet Node values through NetscriptJS (hopefully)
" + + "* Bug Fix: Bladeburners is no longer accessible in BN-8
" + + "* Bug Fix: getBitNodeMultipliers() Netscript function now returns a copy rather than the original object
" } @@ -4198,6 +4188,7 @@ function displayLocationContent() { securityJob.style.display = "block"; agentJob.style.display = "block"; if (_Player_js__WEBPACK_IMPORTED_MODULE_8__["Player"].bitNodeN === 6 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_7__["hasBladeburnerSF"] === true) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_8__["Player"].bitNodeN === 8) {break;} if (_Player_js__WEBPACK_IMPORTED_MODULE_8__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_0__["Bladeburner"]) { //Note: Can't infiltrate NSA when part of bladeburner nsaBladeburner.innerText = "Enter Bladeburner Headquarters"; @@ -6348,6 +6339,7 @@ let Engine = { //Generic Locations (common to every city): // World Stock Exchange // Corporation (if applicable) + // Bladeburner HQ (if applicable); var genericLocationsList = document.getElementById("generic-locations-list"); genericLocationsList.style.display = "inline"; Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["removeChildrenFromElement"])(genericLocationsList); @@ -6374,6 +6366,18 @@ let Engine = { })); genericLocationsList.appendChild(li); } + + if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { + var li = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("li"); + li.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("a", { + innerText:"Bladeburner Headquarters", class:"a-link-button", + clickListener:()=>{ + Engine.loadBladeburnerContent(); + return false; + } + })); + genericLocationsList.appendChild(li); + } }, displayFactionsInfo: function() { @@ -18856,7 +18860,7 @@ function displayStockMarketContent() { if (!_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasWseAccount && _Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].money.gte(_Constants_js__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].WSEAccountCost)) { wseAccountButton.setAttribute("class", "a-link-button"); } else if (_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasWseAccount){ - wseAccountButton.innerText = "WSE Account - acquired"; + wseAccountButton.innerText = "WSE Account - Purchased"; wseAccountButton.setAttribute("class", "a-link-button-bought"); } else { wseAccountButton.setAttribute("class", "a-link-button-inactive"); @@ -18877,7 +18881,7 @@ function displayStockMarketContent() { if (!_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasTixApiAccess && _Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].money.gte(_Constants_js__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].TIXAPICost)) { tixApiAccessButton.setAttribute("class", "a-link-button"); } else if(_Player_js__WEBPACK_IMPORTED_MODULE_5__["Player"].hasTixApiAccess) { - tixApiAccessButton.innerText = "Trade Information eXchange (TIX) API Access - granted" + tixApiAccessButton.innerText = "Trade Information eXchange (TIX) API Access - Purchased" tixApiAccessButton.setAttribute("class", "a-link-button-bought"); } else { tixApiAccessButton.setAttribute("class", "a-link-button-inactive"); @@ -29310,7 +29314,7 @@ function initBladeburner() { Skills[SkillNames.Overclock] = new Skill({ name:SkillNames.Overclock, desc:"Each level of this skill decreases the time it takes " + - "to attempt a contract or operation by 1% (Max Level: 99)", + "to attempt a contract or operation by 1% (Max Level: 95)", baseCost:5, costInc:1, maxLvl:95, actionTime:1 }); @@ -30411,7 +30415,7 @@ function NetscriptFunctions(workerScript) { Math : Math, Date : Date, Number : Number, - hacknetnodes : _Player_js__WEBPACK_IMPORTED_MODULE_15__["Player"].hacknetNodes, + hacknetnodes : _Player_js__WEBPACK_IMPORTED_MODULE_15__["Player"].hacknetNodeWrappers, sprintf : sprintf, vsprintf: vsprintf, scan : function(ip=workerScript.serverIp, hostnames=true){ @@ -31378,7 +31382,8 @@ function NetscriptFunctions(workerScript) { if (!hasAISF) { throw Object(_NetscriptEvaluator_js__WEBPACK_IMPORTED_MODULE_24__["makeRuntimeRejectMsg"])(workerScript, "Cannot run getBitNodeMultipliers(). It requires Source-File 5 to run."); } - return _BitNode_js__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"]; + let copy = Object.assign({}, _BitNode_js__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"]); + return copy; }, getServerMoneyAvailable : function(ip){ if (workerScript.checkingRam) { @@ -52289,6 +52294,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateHacknetNodesContent", function() { return updateHacknetNodesContent; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "processAllHacknetNodeEarnings", function() { return processAllHacknetNodeEarnings; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getHacknetNode", function() { return getHacknetNode; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createPlayerHacknetNodeWrappers", function() { return createPlayerHacknetNodeWrappers; }); /* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode.js */ 15); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants.js */ 3); /* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine.js */ 5); @@ -52354,6 +52360,7 @@ function HacknetNode(name) { this.moneyGainRatePerSecond = 0; } + HacknetNode.prototype.updateMoneyGainRate = function() { //How much extra $/s is gained per level var gainPerLevel = _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].HacknetNodeMoneyGainPerLevel; @@ -52478,6 +52485,36 @@ HacknetNode.fromJSON = function(value) { _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_7__["Reviver"].constructors.HacknetNode = HacknetNode; +var HacknetNodeWrapper = function(hacknetNodeObj) { + var _node = hacknetNodeObj; + return { + name : _node.name, + level : _node.level, + ram : _node.ram, + cores : _node.cores, + totalMoneyGenerated : _node.totalMoneyGenerated, + onlineTimeSeconds : _node.onlineTimeSeconds, + moneyGainRatePerSecond : _node.moneyGainRatePerSecond, + upgradeLevel : function(n) { + return _node.upgradeLevel(n); + }, + upgradeRam : function() { + return _node.upgradeRam(); + }, + upgradeCore : function() { + return _node.upgradeCore(); + }, + getLevelUpgradeCost : function(n) { + return _node.getLevelUpgradeCost(n); + }, + getRamUpgradeCost : function() { + return _node.getRamUpgradeCost(); + }, + getCoreUpgradeCost : function() { + return _node.getCoreUpgradeCost(); + } + } +} function purchaseHacknet() { /* INTERACTIVE TUTORIAL */ @@ -52767,8 +52804,31 @@ function updateHacknetNodeDomElement(nodeObj) { } } +function createPlayerHacknetNodeWrappers() { + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers.length = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length; + for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length; ++i) { + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i] = new HacknetNodeWrapper(_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i]); + } +} + +function updatePlayerHacknetNodeWrappers() { + if (_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers.length !== _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length) { + return createPlayerHacknetNodeWrappers(); + } + for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers.length; ++i) { + if (!(_Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i] instanceof HacknetNodeWrapper)) {return createPlayerHacknetNodeWrappers();} + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].level = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].level; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].ram = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].ram; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].cores = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].cores; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].totalMoneyGenerated = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].totalMoneyGenerated; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].onlineTimeSeconds = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].onlineTimeSeconds; + _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodeWrappers[i].moneyGainRatePerSecond = _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i].moneyGainRatePerSecond; + } +} + function processAllHacknetNodeEarnings(numCycles) { var total = 0; + updatePlayerHacknetNodeWrappers(); for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes.length; ++i) { total += processSingleHacknetNodeEarnings(numCycles, _Player_js__WEBPACK_IMPORTED_MODULE_4__["Player"].hacknetNodes[i]); } @@ -59026,6 +59086,8 @@ function loadGame(saveString) { } } + //Re-initialize Hacknet Node Wrappers + Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_7__["createPlayerHacknetNodeWrappers"])(); return true; } @@ -59242,6 +59304,9 @@ function loadImportedGame(saveObj, saveString) { } } + //Re-initialize Hacknet Node Wrappers + Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_7__["createPlayerHacknetNodeWrappers"])(); + var popupId = "import-game-restart-game-notice"; var txt = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { innerText:"Imported game! I would suggest saving the game and then reloading the page " + @@ -60704,6 +60769,8 @@ __webpack_require__.r(__webpack_exports__); + +let BitNode8StartingMoney = 250e6; //Prestige by purchasing augmentation function prestigeAugmentation() { @@ -60798,7 +60865,7 @@ function prestigeAugmentation() { _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bladeburner = null; //BitNode 8: Ghost of Wall Street - if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8) {_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_18__["default"](100e6);} + if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8) {_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_18__["default"](BitNode8StartingMoney);} if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__["hasWallStreetSF"]) { _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasWseAccount = true; _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasTixApiAccess = true; @@ -60976,6 +61043,13 @@ function prestigeSourceFile() { } + //BitNode 8: Ghost of Wall Street + if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8) {_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_18__["default"](BitNode8StartingMoney);} + if (_Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].bitNodeN === 8 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__["hasWallStreetSF"]) { + _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasWseAccount = true; + _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].hasTixApiAccess = true; + } + //Gain int exp _Player_js__WEBPACK_IMPORTED_MODULE_13__["Player"].gainIntelligenceExp(5); } @@ -97004,7 +97078,7 @@ var NetscriptHighlightRules = function(options) { "JSON|Math|" + // Other "this|arguments|prototype|window|document" , // Pseudo "keyword": - "const|yield|import|get|set|async|await|foop|" + + "const|yield|import|get|set|async|await|" + "break|case|catch|continue|default|delete|do|else|finally|for|function|" + "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" + "__parent__|__count__|escape|unescape|with|__proto__|" + diff --git a/doc/build/doctrees/changelog.doctree b/doc/build/doctrees/changelog.doctree index 68d425d85..1c53164d2 100644 Binary files a/doc/build/doctrees/changelog.doctree and b/doc/build/doctrees/changelog.doctree differ diff --git a/doc/build/doctrees/environment.pickle b/doc/build/doctrees/environment.pickle index 3425ba2b1..0ae7a90c3 100644 Binary files a/doc/build/doctrees/environment.pickle and b/doc/build/doctrees/environment.pickle differ diff --git a/doc/build/html/_sources/changelog.rst.txt b/doc/build/html/_sources/changelog.rst.txt index 4dcd7947f..03d84f44a 100644 --- a/doc/build/html/_sources/changelog.rst.txt +++ b/doc/build/html/_sources/changelog.rst.txt @@ -3,8 +3,18 @@ Changelog ========= -v0.37.1 -------- +v0.37.2 - 6/2/2018 +------------------ + +* After joining the Bladeburners division, there is now a button to go to the Bladeburner content + in the 'City' page +* You now start with $250m in BitNode-8 (increased from $100m) +* Bug Fix: You can now no longer directly edit Hacknet Node values through NetscriptJS (hopefully) +* Bug Fix: Bladeburners is no longer accessible in BN-8 +* Bug Fix: getBitNodeMultipliers() Netscript function now returns a copy rather than the original object + +v0.37.1 - 5/22/2018 +------------------- * You now earn money from successfully completing Bladeburner contracts. The amount you earn is based on the difficulty of the contract. * Completing Field Analysis in Bladeburner now grants 0.1 rank diff --git a/doc/build/html/changelog.html b/doc/build/html/changelog.html index b4181b9c5..d0d6b296e 100644 --- a/doc/build/html/changelog.html +++ b/doc/build/html/changelog.html @@ -50,8 +50,19 @@

Changelog

-
-

v0.37.1

+
+

v0.37.2 - 6/2/2018

+
    +
  • After joining the Bladeburners division, there is now a button to go to the Bladeburner content +in the 'City' page
  • +
  • You now start with $250m in BitNode-8 (increased from $100m)
  • +
  • Bug Fix: You can now no longer directly edit Hacknet Node values through NetscriptJS (hopefully)
  • +
  • Bug Fix: Bladeburners is no longer accessible in BN-8
  • +
  • Bug Fix: getBitNodeMultipliers() Netscript function now returns a copy rather than the original object
  • +
+
+
+

v0.37.1 - 5/22/2018

  • You now earn money from successfully completing Bladeburner contracts. The amount you earn is based on the difficulty of the contract.
  • @@ -971,7 +982,8 @@ on the difficulty of the contract.
  • Terminal
  • Keyboard Shortcuts
  • Changelog
  • Changelog
      -
    • v0.37.1
    • +
    • v0.37.2 - 6/2/2018
    • +
    • v0.37.1 - 5/22/2018
    • v0.37.0 - 5/20/2018
    • v0.36.1 - 5/11/2018
    • v0.36.0 - 5/2/2018
    • diff --git a/doc/build/html/searchindex.js b/doc/build/html/searchindex.js index f0ef76224..0439368a6 100644 --- a/doc/build/html/searchindex.js +++ b/doc/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["changelog","index","netscript","netscriptadvancedfunctions","netscriptdatatypes","netscriptfunctions","netscripthacknetnodeapi","netscriptixapi","netscriptjs","netscriptloopsandconditionals","netscriptmisc","netscriptoperators","netscriptscriptarguments","netscriptsingularityfunctions","shortcuts","terminal"],envversion:53,filenames:["changelog.rst","index.rst","netscript.rst","netscriptadvancedfunctions.rst","netscriptdatatypes.rst","netscriptfunctions.rst","netscripthacknetnodeapi.rst","netscriptixapi.rst","netscriptjs.rst","netscriptloopsandconditionals.rst","netscriptmisc.rst","netscriptoperators.rst","netscriptscriptarguments.rst","netscriptsingularityfunctions.rst","shortcuts.rst","terminal.rst"],objects:{"":{applyToCompany:[13,2,1,""],buyStock:[7,2,1,""],cancelOrder:[7,2,1,""],checkFactionInvitations:[13,2,1,""],clearLog:[5,2,1,""],commitCrime:[13,2,1,""],createProgram:[13,2,1,""],deleteServer:[5,2,1,""],disableLog:[5,2,1,""],enableLog:[5,2,1,""],fileExists:[5,2,1,""],getAugmentationCost:[13,2,1,""],getAugmentationsFromFaction:[13,2,1,""],getBitNodeMultipliers:[3,2,1,""],getCompanyFavor:[13,2,1,""],getCompanyRep:[13,2,1,""],getCrimeChance:[13,2,1,""],getFactionFavor:[13,2,1,""],getFactionRep:[13,2,1,""],getGrowTime:[5,2,1,""],getHackTime:[5,2,1,""],getHackingLevel:[5,2,1,""],getHackingMultipliers:[5,2,1,""],getHacknetMultipliers:[5,2,1,""],getHostname:[5,2,1,""],getNextHacknetNodeCost:[5,2,1,""],getOwnedAugmentations:[13,2,1,""],getPurchasedServers:[5,2,1,""],getScriptExpGain:[5,2,1,""],getScriptIncome:[5,2,1,""],getScriptName:[5,2,1,""],getScriptRam:[5,2,1,""],getServerBaseSecurityLevel:[5,2,1,""],getServerGrowth:[5,2,1,""],getServerMaxMoney:[5,2,1,""],getServerMinSecurityLevel:[5,2,1,""],getServerMoneyAvailable:[5,2,1,""],getServerNumPortsRequired:[5,2,1,""],getServerRam:[5,2,1,""],getServerRequiredHackingLevel:[5,2,1,""],getServerSecurityLevel:[5,2,1,""],getStats:[13,2,1,""],getStockPosition:[7,2,1,""],getStockPrice:[7,2,1,""],getTimeSinceLastAug:[5,2,1,""],getUpgradeHomeRamCost:[13,2,1,""],getWeakenTime:[5,2,1,""],gymWorkout:[13,2,1,""],hasRootAccess:[5,2,1,""],installAugmentations:[13,2,1,""],isBusy:[13,2,1,""],isRunning:[5,2,1,""],joinFaction:[13,2,1,""],placeOrder:[7,2,1,""],purchaseAugmentation:[13,2,1,""],purchaseHacknetNode:[5,2,1,""],purchaseProgram:[13,2,1,""],purchaseServer:[5,2,1,""],purchaseTor:[13,2,1,""],scriptKill:[5,2,1,""],scriptRunning:[5,2,1,""],sellShort:[7,2,1,""],sellStock:[7,2,1,""],serverExists:[5,2,1,""],shortStock:[7,2,1,""],stopAction:[13,2,1,""],travelToCity:[13,2,1,""],universityCourse:[13,2,1,""],upgradeHomeRam:[13,2,1,""],workForCompany:[13,2,1,""],workForFaction:[13,2,1,""]},"hacknetnodes[i]":{cores:[6,1,1,""],getCoreUpgradeCost:[6,0,1,""],getLevelUpgradeCost:[6,0,1,""],getRamUpgradeCost:[6,0,1,""],level:[6,1,1,""],moneyGainRatePerSecond:[6,1,1,""],name:[6,1,1,""],onlineTimeSeconds:[6,1,1,""],ram:[6,1,1,""],totalMoneyGenerated:[6,1,1,""],upgradeCore:[6,0,1,""],upgradeLevel:[6,0,1,""],upgradeRam:[6,0,1,""]},NetscriptPort:{clear:[10,0,1,""],data:[10,1,1,""],empty:[10,0,1,""],full:[10,0,1,""],tryWrite:[10,0,1,""],write:[10,0,1,""]}},objnames:{"0":["js","method","JavaScript method"],"1":["js","attribute","JavaScript attribute"],"2":["js","function","JavaScript function"]},objtypes:{"0":"js:method","1":"js:attribute","2":"js:function"},terms:{"000m":0,"05gb":0,"0gb":0,"0x726564646974":0,"100m":0,"1048576gb":[],"15m":0,"1e3":15,"1gb":0,"200k":0,"200m":0,"25gb":0,"25m":0,"25x":0,"2gb":0,"300m":0,"3087e3":8,"400m":0,"4gb":0,"500m":0,"50e3":15,"50x":0,"55k":0,"5gb":0,"64gb":0,"8gb":[0,6],"boolean":[0,4,5,13],"break":[0,12],"case":[0,5,7,13,15],"catch":[0,8],"class":[0,8,13,14],"default":[0,5,13,14,15],"export":[0,8,10],"final":[1,2],"float":4,"function":[0,1,2,4,6,7,8,9,14,15],"import":[0,1,2,5,8,15],"long":[0,7],"new":[0,5,6,8,10,13,14,15],"null":[0,5,8,10],"public":0,"return":[0,3,5,6,7,10,11,13,14],"short":[0,7],"static":[0,8,10],"super":0,"switch":[0,14],"throw":[0,8],"true":[0,4,5,6,7,8,10,11,13],"try":[0,5,8,10,12,13],"var":9,"while":[0,5,6,8,9,10,13,15],AND:11,Ace:[0,14],Added:0,Adding:4,And:10,But:0,Doing:8,For:[0,3,4,5,6,8,9,10,11,12,15],IPs:[0,5],NOT:[0,5,7,11,13,14,15],Not:13,One:13,THE:0,The:[0,1,3,4,5,6,7,8,9,10,12,13,15],Their:4,Then:[6,8,10,15],There:[0,10],These:[0,3,5,6,8,13,14,15],Use:[0,5,8],Used:0,Using:0,WILL:0,WITH:0,Will:[5,7,14],With:[0,8],Yes:5,_termin:[],abbrevi:15,abil:[0,7],abl:[0,8,13],about:[0,4,5,10,13,15],abov:[0,4,5,10,11,15],accept:[0,13],access:[0,4,5,6,7,8,10,12,13,15],accident:0,account:0,accumul:8,acorn:0,across:0,action:[0,13,14],activ:[0,5,14],actual:[0,5,7,10,13,15],add:[0,6,8,15],added:[0,5],addit:[0,5,6,8,11,13],address:[0,5,15],adjac:15,adjust:0,adr:0,advanc:[1,2],advert:0,advertis:0,aevum:13,affect:[0,5],afford:[5,6],after:[0,4,5,7,10,13,15],afterward:15,again:0,against:0,agenc:[13,14],agent:13,agi:13,agil:13,aid:1,aka:[0,13,14],alexei:0,algorithm:[0,7,13],alia:[0,1],alias:[0,15],all:[0,4,5,6,7,8,10,13,15],allow:[0,7,8,10,13,15],almost:[0,2,8,14],alphabet:[5,15],alphanumer:4,alreadi:[0,5,13,15],also:[0,4,5,7,8,12,13,14,15],alt:[14,15],alter:8,altern:15,although:[0,13],alwai:[8,14],amount:[0,5,6,7,12,13,15],analysi:0,analyt:0,analyz:[0,1,14],ani:[0,1,2,4,5,8,13,14,15],annoi:0,anoth:[0,5,10,12,15],anymor:0,anyon:0,anyth:[0,5],anytim:15,anywher:[5,15],api:[0,1,2],appear:5,append:[0,5],appendchild:8,appli:[0,5,8,13],applic:13,applytocompani:[1,2],approxim:0,arbitrari:0,area:0,arg1:8,arg2:8,arg3:8,arg:[0,5,8,10,12,15],argument:[0,1,2,5,6,7,8,10,13,15],arm:13,armor:0,around:[1,13],arrai:[0,4,5,6,7,10,12,13],arrow:[14,15],artifici:0,aspect:[0,13],assassin:13,assign:[0,6,11],assum:[8,10],async:8,asynchron:8,attack:[0,5],attempt:[0,7,10,13,15],augment:[0,5,7,13,14],augmentationmoneycost:3,augmentationrepcost:3,augnam:13,auto:13,autocomplet:[0,14],autolink:[0,13],autom:[0,6,7],automat:[0,5,7,13],automcomplet:0,autosav:0,avail:[0,4,5,7,8,9,13,14,15],averag:7,avgpx:7,avgpxshort:7,avoid:0,awai:15,await:8,awar:0,awesom:0,b1t_flum3:0,back:[0,10],background:15,backspac:14,backstori:0,backup:8,balanc:0,bar:0,base:[0,5,11],bash:[0,1],basic:[0,1,2,15],becaus:[0,3,5,8,13,15],becom:3,been:[0,1,8],befor:[0,5,8,10],begin:[0,14],being:[0,5,8,15],below:[0,5],benefici:0,benefit:0,best:12,beta:[0,1],better:[0,14],between:[0,3,5,8,10,14,15],big:0,billion:7,binari:[0,1,2],bind:[0,14],bit:0,bitburn:[0,2],bitnod:[0,3,13],bitrunn:0,black:0,blade:0,bladeburn:0,blob:8,block:0,blue:8,bluebird:0,board:0,bond:[0,13],bonu:0,boost:0,both:[0,5,13,15],box:[0,5],bribe:0,brief:[0,10,15],bring:0,broken:0,brokerag:0,browser:[0,8,13,14],brutessh:[0,1,2,13,15],buf:0,bug:0,bugfix:0,bui:[0,1,7,13],build:[0,7],built:0,busi:[0,13],button:0,buystock:[0,1,2],calcul:[0,7],call:[0,1,5,6,8,10,12,13,15],callback:[0,13],can:[0,1,4,5,6,7,8,9,10,12,13,14,15],cancel:[0,7,13,14],cancelord:[1,2],cannot:[0,5,6,8,15],cap:0,capabl:[4,8],capac:0,capit:[0,7],cat:[0,1],caus:[0,5],cave:0,caveat:[8,9],cbscript:13,cellel:8,certain:[0,5,7,10,13],cha:13,chanc:[5,13,15],chang:[0,3,4,5,8,11,15],changelog:1,charact:[4,13,14],characterist:0,charisma:13,cheaper:0,check:[0,1,5,9,13],checkfactioninvit:[0,1,2],chongq:13,choos:0,circuit:0,citi:[0,13,14],citynam:13,classgymexpgain:3,classifi:0,classlist:8,clear:[0,1,2,8,10,14],clearanc:0,clearlog:[0,1,2],click:[0,5,15],cloak:0,close:[0,8,10,14,15],cls:1,code:[0,5,7,8,9,10,11,12],codebas:0,collaps:0,collect:8,color:[0,8,15],com:0,combat:0,come:[8,15],command:[0,1,4,5,13,14],comment:[0,1,2,11],commiss:7,commit:[3,13],commitcrim:[0,1,2],common:0,commonli:15,commun:[7,10],compani:[0,7,13,14],companynam:13,companyworkexpgain:3,companyworkmonei:3,compar:0,compens:0,complet:[0,5,8],comput:[0,5,8,13,15],concat:8,concept:0,condit:[0,1,2],config:0,configur:[0,1,14],confirm:[0,1],connect:[0,1],conquer:0,consid:0,consider:0,consist:0,consol:15,constantli:5,constrain:5,constructor:[0,8],consult:13,contain:[0,3,4,5,6,8,10,13],content:[0,1],continu:[0,13],contract:[0,13],control:13,convers:0,convert:[5,8],copi:[0,5,15],core:[0,5,6,15],corecost:[5,6],corpor:0,corporatocraci:0,correct:13,correspond:6,cosmet:15,cost:[0,5,6,7,13,15],could:[0,15],count:[0,5,15],cours:13,coursenam:13,courtesi:0,cplusplu:[],cpp_static_memb:[],cpu:[0,15],crash:[0,8],creat:[0,5,7,13,14,15],createel:8,createprogram:[1,2],credit:0,crime:[0,3,13],crimeexpgain:3,crimemonei:3,crimin:0,crush:13,ctor:8,ctrl:[0,14],current:[0,1,3,5,7,13,14,15],cursor:14,custom:0,cyberpunk:1,cybersec:0,cycl:[0,14],daedalu:0,dai:[],damag:0,dark:[0,1,13,15],darkweb:0,data:[1,2,5,10,13],datamanc:0,date:[0,1,2],deal:[0,10,13],dealt:0,decid:8,decim:[0,13],declar:[0,4,5,8,9,10,15],declin:0,decreas:[0,5],decrement:[0,11],deepscan:0,deepscanv1:[13,15],deepscanv2:[13,15],def:13,defens:[0,13],defin:[0,1,2,8,14,15],definit:10,delai:[0,5],delet:[0,5,8,14,15],deleteserv:[0,1,2],demand:0,denot:[0,5,10],depend:[0,5,8],depth:15,describ:5,descript:[0,15],design:0,desir:15,destin:[0,5],destroi:0,detail:[0,5,15],determin:[0,5],develop:[0,1,2,8],devoidfuri:0,dex:13,dexter:13,dialog:[0,5],did:0,didn:0,die:0,differ:[0,3,4,5,8,14],differenti:15,difficult:0,difficulti:0,digit:[0,15],diminish:0,directli:8,disabl:[0,5],disablelog:[0,1,2],displai:[0,15],divid:0,divis:[0,11],dni:0,doc:0,document:[0,5,8,9,10,13,14,15],doe:[0,2,5,7,8,10,11,14,15],doesn:0,doing:[0,6,8,10,12],dom:8,don:[0,8,10,13],donat:0,done:[0,14],dont:0,doubl:[0,4,6,15],down:[8,14,15],download:[0,1],drag:0,drawback:0,drug:13,due:[0,5],dure:0,dynam:[0,8,15],dystopian:1,each:[0,6,7,13,15],earli:[0,1],earn:[0,5,6,13],easier:0,easili:0,ecp:7,edg:0,edit:[0,8,14,15],editor:[0,1,15],effect:[0,5],effici:0,either:[4,5,15],element:[0,5,6,7,10,12,13],elif:0,els:[0,9,10,13],emac:14,embark:1,emploi:[13,14],employe:[0,13],empti:[0,5,10,15],emul:[14,15],enabl:[0,5,8,14,15],enable_bash_hotkei:14,enable_timestamp:0,enablelog:[0,1,2],encapsul:4,end:[0,5,6,10,13,14],endgam:0,endpoint:10,enemi:0,energi:0,engin:[0,8,13],enough:[0,5,7],enter:[0,14,15],entiti:0,entri:[0,8],environ:8,equal:[0,11],equival:[4,5,6],error:[0,5,8],esc:14,especi:5,essenti:0,estat:0,estim:[0,15],etc:[0,4,5,8,12,13,15],evalu:[8,10],even:[0,5,7,10,11],eventu:0,everi:[0,5,7,8,10,13,15],everyth:0,exampl:[0,1,2,3,4,5,7,9,10,11,12,13,15],exce:7,exceed:5,except:[0,5,8,14,15],exchang:[0,1,2],exe:[0,5,13,15],exec:[0,1,2,8],execarg:8,execut:[0,5,7,8,10,15],exist:[0,5,6,9,15],exit:[0,1,2],exp:0,expand:15,expens:0,experi:[0,5,8,13],explain:10,explanatori:0,exploit:[0,8],exponenti:0,extens:[0,5,8,13,15],facil:0,facnam:13,fact:0,faction:[0,13,14],factionnam:13,factionpassiverepgain:3,factionworkexpgain:3,factionworkrepgain:3,factor:0,fail:[0,5,13,15],failur:5,fairli:13,fairlyn:13,fals:[0,4,5,6,7,10,11,13],far:13,faster:[0,8],favor:[1,13],fconf:[0,14,15],featur:[0,2,8],fee:7,feed:0,feedback:0,feel:[0,2],few:[0,15],ffffff:15,field:[0,13],fieldwork:13,file:[0,3,5,13,14,15],fileexist:[0,1,2],filenam:[0,5,8,10,15],fill:5,find:[0,5,8],findindex:10,fine:5,finish:[0,13],firefox:[1,2],firewal:0,first:[0,4,5,6,7,10,12,13,15],fisg:7,fit:13,fix:[0,5],fl1ght:0,flag:[0,15],flat:0,fledg:8,flesh:0,floor:10,fn1:10,fn2:10,folder:0,follow:[0,3,4,5,6,8,9,10,13,15],foo1:[5,10],foo2:[5,10],foo3:[5,10],foo4:10,foo:[0,5,8,10,15],foodnstuff:[0,5,8,9,10,15],forc:0,foreach:0,forgeri:[0,13],forgot:0,form:[3,5,6,15],format:0,formula:0,fortifi:0,forward:8,found:0,four:[6,7],fourth:[6,7],fraction:5,framework:0,free:[0,1,2],from:[0,5,7,8,10,12,13,15],ftpcrack:[1,2,13],fulcrum:0,full:[0,8,10,15],fulli:[0,4],fund:0,furthermor:[0,5,8],futur:[0,3,5,14],gain:[0,1,5,13],game:[0,1,3,5,7,8,10,12,13,15],gameplai:0,gang:0,garbag:8,gene:0,gener:[0,5,8,11,12],get:[0,5,8,10,12,13,15],getaugment:0,getaugmentationcost:[1,2],getaugmentationsfromfact:[0,1,2],getbitnodemultipli:[0,1,2],getcharacterinform:[0,1,2],getcompanyfavor:[0,1,2],getcompanyrep:[1,2],getcoreupgradecost:[0,6],getcrimech:[0,1,2],getelementbyid:8,getfactionfavor:[0,1,2],getfactionrep:[1,2],getgrowtim:[0,1,2],gethackinglevel:[1,2],gethackingmultipli:[0,1,2],gethacknetmultipli:[0,1,2,6],gethacktim:[0,1,2],gethostnam:[0,1,2,8],getintellig:0,getip:0,getlevelupgradecost:[0,6],getnexthacknetnodecost:[0,1,2,6],getnumhacknetnod:0,getownedaugment:[1,2],getporthandl:[0,10],getpurchasedserv:[0,1,2],getramupgradecost:[0,6],getscriptexpgain:[0,1,2],getscriptincom:[0,1,2],getscriptnam:[0,1,2],getscriptram:[0,1,2],getserv:0,getserverbasesecuritylevel:[0,1,2],getservergrowth:[0,1,2],getservermaxmonei:[0,1,2],getserverminsecuritylevel:[0,1,2],getservermoneyavail:[0,1,2,9],getservernumportsrequir:[0,1,2],getserverram:[0,1,2,10],getserverrequiredhackinglevel:[0,1,2],getserversecuritylevel:[0,1,2],getstat:[0,1,2],getstockposit:[1,2],getstockpric:[1,2],gettimesincelastaug:[0,1,2],getupgradehomeramcost:[1,2],getweakentim:[0,1,2],ghost:0,github:[0,8],give:[0,3,5,13],given:[0,5,7,13,15],global:[0,5,8,15],global_object:0,globalvari:8,goe:0,going:[0,8],googl:15,governor:0,grand:13,grant:0,great:8,greater:[0,11],greatli:0,grep:[0,5,15],grow:[0,1,2,8,9],grown:9,growth:[0,5],guarante:13,guid:0,gym:[0,13,14],gymnam:13,gymworkout:[0,1,2],hack:[0,1,2,8,9,13,14],hacker:1,hackexpgain:3,hackingcontract:13,hacknet:[0,1,2,5,14],hacknetnod:[0,1,2],hacknetnodemonei:3,had:0,half:0,halt:5,halv:[0,13],hand:[0,15],handbook:0,handl:[0,10],happen:0,happi:8,harder:0,hardwar:0,has:[0,2,3,5,6,8,13,15],hasrootaccess:[0,1,2],have:[0,2,3,5,6,7,8,10,13,15],havoc_mayhem:0,header:[0,15],heist:13,helio:[0,5],hello:5,help:[0,1],her:0,here:[0,1,4,5,7,8,9,10,13,15],hex:[0,8,15],hidden:0,high:0,higher:[0,5],highlight:[0,15],his:0,histori:15,hoist:5,hold:4,home:[0,1,5,13,14],homicid:13,hope:1,hopefulli:0,hospit:0,hostnam:[0,1,5],hotkei:0,how:[0,1,2,4,5,6,9,10,15],howev:[0,5,9,10,15],htm:[],html:0,http:0,httpworm:[1,2,13,15],hydroflam:0,hyphen:4,idea:0,ident:2,identifi:[0,5,15],ifconfig:1,immedi:[0,5,7,13,15],implement:[0,2,10,14],importantinfo:15,improv:[0,2,8],inc:0,includ:[0,4,5,8,13,14,15],incom:[0,5,6],incomplet:0,incorrect:0,incorrectli:0,increas:[0,5],increment:[0,1,11],incur:[0,10],index:[1,5,6],indexeddb:0,indexof:0,indic:[0,5,13,15],individu:[0,15],industri:0,inequ:11,infiltr:0,infinit:8,info:0,inform:[0,1,2,5,13,15],initi:[0,4],innertext:8,input:[0,8,13,14],insan:0,insert:0,insid:[5,6,10],instal:[0,5,7,13],installaugment:[0,1,2],instanc:[0,5,8],instead:[0,3,5,6,8,13],institut:13,instrins:5,instruct:0,integ:[3,4,5,6,7],intellig:[0,13],interact:10,interest:0,interfac:[0,15],interpret:0,interv:0,intuit:0,invalid:[0,5,13],invest:0,investor:0,invit:[0,13],involv:0,iron:[0,13],isbusi:[0,1,2],ishima:13,isinteg:10,isn:0,isrun:[0,1,2],issu:[0,13,15],item:[0,10],iter:[6,9],its:[0,5,7,8,10,15],itself:6,jaguilar:8,javascript:[0,1,2,4,5,8,9],job:[0,8,13,14],jobtitl:13,joesgun:5,join:[0,4,13],joinfact:[1,2],jqueri:0,jshint:0,jump3r:[0,1],just:[0,5,8,10,15],karma:0,keep:0,kei:[0,14,15],kernel:0,keybind:0,keyboard:[0,1,15],keyword:[0,9],kidnap:13,kill:[0,1,2],killal:[0,1,2],know:[0,8,10],label:4,languag:[0,2,4,5],larceni:13,larg:0,last:[0,5,8,10,14],late:0,later:[0,3,4,7,13],latest:0,lead:1,leadership:13,leak:8,least:[0,5,6],left:[0,15],length:[0,5,6,8,12],lenient:13,less:[0,11],let:[0,7,8,9,10,12,15],letter:[4,7],level:[0,5,6,13,15],levelcost:[5,6],librari:[0,10],life:15,lightli:0,like:[0,5,8,10,12,14],limit:[0,5,7,13],limitbui:7,limitsel:7,line:[0,8,10,14],linear:0,linearli:0,link:[0,5,15],list:[0,6,13,15],lit:[0,5,15],literatur:[0,5,15],littl:0,load:[0,8],local:5,localstorag:0,locat:[0,5,13],lock:0,log:[0,5,6,10,14,15],logic:[0,11],longer:0,look:[8,10,12],loop:[0,1,2,8],lore:0,lose:[0,10],lot:[0,8,13],low:0,lower:[0,5],lscpu:[0,1],ltcnugget:0,machin:[0,15],made:[0,7,15],mai:[0,5,8,15],main:8,maintain:0,major:1,make:[0,5,8,12],manag:[0,13],mani:[0,2,4,13],manipul:8,manual:[0,13],manualhackmonei:3,map:6,mark:[0,8,15],market:[0,7],masterscript:15,match:15,mateon1:0,materi:0,math:[0,1,2],matter:15,max:[0,6],maximum:[0,5,15],mayb:[0,10],mean:[0,1,2,3,4,5,6,8,10,13],meant:0,mechan:[0,15],med:0,medic:0,mem:1,member:[0,1,2,4,8,13],memori:[0,5,8,15],mention:0,menu:[0,14,15],messag:[0,1,5,15],method:[0,1,2,4,8,10],mid:0,middl:13,might:0,migrat:0,mild:0,millenium:13,millisecond:[0,5],minigam:0,minimum:[0,5],minor:0,minut:[0,13],misc:[0,1],miscellan:[1,2],mission:[0,14],mode:[0,5,14],modifi:[0,12],modul:[0,1,2,8],modulo:11,monei:[0,1,3,5,6,7,9,13,15],monetari:0,moneygainratepersecond:6,more:[0,4,5,9,14,15],most:[0,4],mostli:0,move:14,mozilla:[0,1,2],mrnuggelz:0,msg:[5,15],much:[0,9,15],mug:13,mult:[3,5,6],multi:[0,10],multidimension:0,multilin:0,multipl:[0,5,8,11,15],multipli:[0,3,5,6,13],multithread:0,must:[0,4,5,6,7,8,10,13,14,15],mute:15,mysteri:1,name:[0,4,5,6,7,11,12,13,15],namespac:10,nano:[0,1,8,14],nativ:0,natur:0,navig:[0,1,15],nearest:[5,6,7],necessari:[0,1,15],need:[0,5,8,10,15],neg:0,negat:[0,11],nerf:0,nest:0,net:7,netscript:[0,1],netscriptj:[0,1,2],netscriptport:10,netsction:0,network:[0,13,15],neuroflux:0,never:[0,8],newer:0,newli:5,newlin:0,next:[5,14],nitesec:0,node:[0,1,2,5,14,15],non:15,none:[5,6],normal:[0,10,12,13],noscript:0,notabl:[0,5],note:[0,1,2,5,6,10,13,14,15],notifi:0,now:[0,1,8,10,15],nuke:[0,1,2,15],num:15,number:[0,1,2,4,5,6,7,8,11,12,13,15],numer:[0,4,7,11],numthread:[0,5,10],object:[0,3,4,5,6,8,13],observ:0,obtain:5,obvious:13,occur:0,off:0,offic:0,offici:0,offlin:[0,5],old:0,omit:[5,15],onc:[0,15],one:[0,5,6,8,9,10,13],ones:0,onli:[0,3,5,6,7,8,10,11,13,14,15],onlin:[0,5],onlinetimesecond:6,onto:4,open:[0,5,8,10,13,14,15],oper:[0,1,2,10,12],operand:11,optim:1,option:[0,5,8,13,14,15],order:[0,3,5,7,13,15],org:0,origin:3,osx:0,other:[0,5,8,10,13,14],otherwis:[0,5,6,7,9,10,13,14,15],our:10,oustand:[0,7,13],out:[0,2,5,10,13],outdat:0,output:5,outsid:[0,5,13],outstand:0,over:[0,5,8],overclock:0,overrid:14,overwrit:[0,5],own:[0,1,2,7,8,15],page:[0,1,3,5,8,10,13,14,15],param:8,paramet:[0,5,15],pars:[0,10],parser:0,part:[0,13,15],particular:13,pass:[0,5,8,10,12,13,15],passiv:0,past:0,path:15,pattern:[0,15],peek:[0,1,2,10],peopl:8,per:0,percentag:[0,5,6],perform:[0,13],perman:15,persist:0,pheromon:0,pick:0,picker:15,pill:0,place:7,placeord:[1,2],plai:1,plan:12,player:[0,1,5,6,7,12,13,15],pleas:[0,8],plenti:8,plot:0,point:[0,8],pointer:0,pop:[0,4,10],popular:0,popup:0,port:[0,1,2,5,15],portfolio:0,pos:7,posit:[0,4,6,7,13],possibl:[0,8,12],post:8,pound:15,power:[0,1,5,8],powerhous:13,pre:[0,8,11],preced:15,prefac:8,prefix:0,prerequisit:0,preset:[14,15],press:0,prestig:0,prevent:12,preventdefault:0,previou:[0,14],previous:0,price:[0,7],primarili:8,primit:4,print:[0,1,2,3,6,8,10,13,15],privat:0,problem:0,process:[0,5],prod:0,produc:[0,11],product:[0,5,6],profit:[0,7],program:[0,2,5,13,14,15],programat:0,programnam:13,progress:0,promis:0,promot:[0,13],prompt:[0,1,2,8],proper:0,properli:0,properti:[0,13],protocol:7,prototyp:8,provid:[0,6,7],pserv:5,puchas:0,purchas:[0,1,2,5,7,13,15],purchaseaugment:[1,2],purchasecost:[5,6],purchasedserver1:8,purchasehacknetnod:[0,1,2,6],purchaseprogram:[1,2],purchaseserv:[0,1,2],purchasetor:[1,2],purpos:[4,5],push:0,put:[3,11],qualifi:0,qualiti:0,queri:0,quest:1,queue:[0,5,10],quickli:[0,5],quit:0,quot:4,quotat:15,rais:[0,5],ram:[0,5,6,10,13,15],ramcost:[5,6],ramus:5,ran:[0,5,8,10,15],random:0,randomarg:8,rank:0,rate:[0,5],rather:[0,8,15],reach:[0,2,15],read:[0,1,2,4,6,10],readthedoc:0,real:[0,15],realli:0,reason:[0,5],rebalanc:1,receiv:[0,3,13],recommend:[8,13],record:0,recurs:0,red:[0,8],reddit:0,reduc:[0,8],refactor:0,refer:[0,4,9],referenc:[0,4],reflect:7,refresh:[0,8],regain:0,regard:0,regardless:[0,5],reject:0,rel:[0,15],relat:[5,6,10,15],relaysmtp:[1,2,13],releas:[0,8],relev:[0,3],reload:[0,8,10],remain:0,rememb:[5,7,8,15],remot:15,remov:[0,5,10,15],rep:0,repeat:0,repeatedli:[0,8],replac:[0,15],report:[0,8],repres:[0,3,4,5,7,10,15],reput:[0,13],request:2,requir:[0,3,5,10,11,13,15],res:[5,10,13],research:0,reset:[0,5,7,13],resolv:5,respect:[0,15],respons:8,rest:[0,4],restart:[0,13],result:[0,5,8,11],retain:[0,7],reusabl:15,revert:5,reward:0,right:[0,10],risk:8,rob:13,robot:0,role:1,room:10,root:[5,15],rothman:[5,13],round:[0,5,6,7],router:[0,13,15],rowel:8,rpg:1,rule:8,run:[0,1,2,3,8,9,10,11,12,13],runarg:8,runtim:[0,5],safe:8,sai:[5,12],sake:10,salari:0,sale:[0,7],same:[0,5,8,9,10,13,14,15],satisfi:0,save:[0,8,10,14],scale:0,scan:[0,1,2],schedul:[8,13],scheme:15,scienc:13,scientif:0,scope:[5,8],scp:[0,1,2,8],screen:[0,14,15],screw:0,script:[0,1,2,5,6,7,8,10,13,15],scripthackmonei:3,scriptjob:8,scriptkil:[0,1,2],scriptnam:[0,5],scriptrun:[0,1,2],scriptschedul:8,scroll:0,search:[1,5],second:[0,4,5,6,7,12,13,15],secondari:0,secret:[0,1],section:[2,5],sector:13,secur:[0,5,13],securitywork:13,see:[0,5,6,8,9,15],select:[0,5],self:0,sell:[0,7],sellshort:[0,1,2],sellstock:[0,1,2],semicolon:0,sensit:[0,5,7,13,15],sent:0,separ:[3,5,15],sequenc:[4,7],sequenti:8,serial:[0,5,10],seriou:8,server:[0,5,9,15],serverexist:[0,1,2],servergrowthr:3,servermaxmonei:3,serverprofil:[0,13],serverstartingmonei:3,serverstartingsecur:3,serverweakenr:3,set:[0,5,8,13,14,15],sever:[0,10],share:[0,7,8],sharesshort:7,she:1,shell:14,shield:0,shift:0,shoplift:13,shortcut:[0,1,15],shorthand:0,shortstock:[0,1,2],should:[0,5,9,13,15],show:[0,4,5,8,9,15],shown:[5,15],side:15,sigma:15,sign:15,signatur:[0,5,8],signific:[0,5],significantli:[0,8],similar:[0,5],simpl:[8,9,10],simplest:5,simpli:[2,4],simplic:10,sinc:[0,5,8,10],singl:[0,4,5,11,15],singular:[0,1,2],situat:8,size:0,skill:[0,5],sleep:[0,1,2,6,8,10,13],slice:10,slight:0,slightli:0,slow:8,slower:0,slowli:0,small:[0,8,13],smaller:0,smart:0,snap:13,soft:0,softwar:[0,13],solar:15,sold:7,some:[0,5,8,9,10,11,13],some_valu:5,someth:1,sometim:0,someval1:10,someval2:10,soon:0,sorri:0,sort:[0,5,10],sourc:[0,3,5,13],space:[0,14,15],spaceglac:0,spam:0,spawn:[0,1,2],special:[0,4,6,12,13],specif:[0,5,10],specifi:[0,5,6,7,10,12,13,15],speed:[0,5],splice:[0,4],spoiler:[0,3,13],sprintf:[0,1,2],sqlinject:[1,2,13],stack:0,stage:[0,1],stai:5,stamina:0,start:[0,4,5,8,10,13,15],starter:0,stat:[0,13,14],state:0,statement:[0,9],statist:[0,7,15],steal:[0,5],still:[0,5,8,15],stock:[0,7],stolen:[0,5],stop:[0,5,7,13,15],stopact:[0,1,2],stopbui:7,stopsel:7,storag:0,store:[4,13],str:13,strategi:7,street:0,strength:13,strict:11,string:[0,4,5,7,13,15],structur:[3,5,6,10],strucur:13,studi:[0,13],stupid:0,style:[0,8],subject:3,subreddit:0,subset:2,substitut:15,substr:5,subtract:11,success:[0,5,7,13],successfulli:[0,5,6,7,10,13,15],sudov:1,suggest:2,sum:[0,5],summari:8,summit:13,suppli:0,support:[0,4,6,7,8,10,15],suppos:10,suppress:0,sure:0,suspend:5,suspicion:1,sym:7,symbol:7,syntax:[0,2,5,10],system:[1,7],tab:[0,8,14,15],tail:[0,1],take:[0,1,5,13,14,15],target:[0,5,8,15],task:0,technolgi:0,technolog:[0,13],tell:0,templat:5,ten:9,term:[0,13],termin:[0,1,5,8,13],terminalinput:8,territori:0,test2:[],test:[0,5,8],testlib:10,testlibrari:10,text:[0,4,5,8,15],than:[0,5,8,9,11,15],thank:0,theft:13,thei:[0,2,3,5,8,14,15],them:[0,5,10,13],theme:[0,1],themselv:0,therefor:[0,8],theres:0,thi:[0,1,2,3,4,5,6,7,8,10,11,12,13,14,15],thing:15,think:0,third:[0,5,7],those:[5,6,8],though:[0,5,10],thought:[4,8],thread:[0,5,8,12,13,15],three:[4,5,8,10,14,15],through:[0,5,6,8,10,13,14,15],throughout:0,thrown:8,tier:0,time:[0,5,6,8,9,10,13,15],timework:13,tini:2,tip:0,tix:[0,1,2],todo:15,tokyo:13,tolocalestr:0,tolowercas:4,too:0,tooltip:0,top:[0,1,8],tor:[0,13,15],total:[0,5,6,15],totalmoneygener:6,totalram:5,toward:0,tprint:[0,1,2,8,10],tprintcolor:8,tracer:0,track:0,trade:[0,1,2],traffick:13,train:[0,13,14],transact:[0,7],transfer:0,travel:[0,13,14],traveltoc:[1,2],travers:9,treat:0,trend:0,tri:[5,6,15],trigger:0,troubl:0,trywrit:[0,10],tutori:[0,14],tutorialspoint:[],tweak:0,two:[0,5,7,8,10,11,12,13],txt:[0,5,8,15],type:[0,1,2,5,7,8,13,15],typic:5,typo:0,unabl:8,unalia:[0,1],unalias_terminal_command:[],unari:[1,2],uncov:1,undefin:0,underli:[0,5,10],underscor:4,undo:15,undon:15,uni:5,uniqu:[0,5,8,15],univeristi:13,univers:[0,13,14],universitycours:[1,2],universitynam:13,unknown:1,unless:[0,14],unlik:8,unlock:[0,7,13],unrecogn:0,until:[0,5,6,13],untyp:4,updat:[0,13],upgrad:[0,6,13],upgradecor:6,upgradehacknetnod:0,upgradehomeram:[1,2],upgradelevel:6,upgraderam:6,upon:0,url:8,usag:[0,5,10,15],use:[0,1,2,5,7,9,10,13,15],useabl:0,used:[0,2,4,5,6,7,10,13,14,15],useful:0,user:[0,8,15],uses:[0,8,9],using:[0,5,6,7,8,9,10,12,13,15],usual:13,utc:[0,10],util:[0,1,2],valid:[0,5,10,13,15],valu:[0,3,4,5,6,7,8,10,11,13,15],valuat:0,vari:5,variabl:[0,1,2,5,8,9,11,15],varieti:0,variou:[0,13,14],vechain:0,vehicl:0,veri:[0,8],version:8,via:0,viabl:0,view:0,vim:[0,14],visibl:8,visit:[0,7,13],volatil:0,volhaven:13,vsprintf:[0,1,2],w0r1d_d43m0n:0,waer:0,wage:0,wai:[0,5,6,10,13,15],wait:[0,10],waiter:13,wall:0,want:[0,6,8,10,12,13,15],warehous:0,warn:[0,1,2,11,12,13,15],wasn:0,water:0,weaken:[0,1,2,8],weapon:0,web:[0,8,13,15],webpack:0,week:[],well:[0,4,8,14,15],were:[0,5,13,14,15],wese:7,what:[0,5,6,8,13,15],whatev:13,when:[0,1,2,5,8,9,10,13,15],whenev:0,where:[0,1,5,8,10,14],whether:[0,5,7,13,15],which:[0,4,5,6,7,10,13,15],whitespac:[0,5],who:[0,8],whose:15,wiki:0,wikia:0,wilson:0,win:0,window:14,within:8,without:[0,5,8,10,15],won:0,word:[0,5,14,15],work:[0,5,7,8,10,11,13,14,15],workagiexpgain:13,workchaexpgain:13,workdefexpgain:13,workdexexpgain:13,workforcompani:[1,2],workforfact:[1,2],workhackexpgain:13,workmoneygain:13,workrepgain:13,workstrexpgain:13,worktyp:13,world:[0,1,2,5,7],worm:15,would:[0,3,11,12,13,15],wouldnt:0,wraithan:0,wrap:0,write:[0,1,2,6,7,8,10],written:[2,5,10],wrong:1,wrote:10,wse:[0,7],www:[],x10:0,yet:[0,5,13],you:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15],your:[0,1,2,6,7,8,13,14,15],yourself:[0,6],zero:[0,5],zeu:0,zeud:0,zip:[0,15]},titles:["Changelog","Welcome to Bitburner's documentation!","Netscript Documentation","Netscript Advanced Functions","Netscript Data Types and Variables","Netscript Basic Functions","Netscript Hacknet Node API","Netscript Trade Information eXchange (TIX) API","NetscriptJS (Netscript 2.0)","Netscript Loops and Conditionals","Netscript Miscellaneous","Netscript Operators","Netscript Script Arguments","Netscript Singularity Functions","Keyboard Shortcuts","Terminal"],titleterms:{"final":8,"function":[3,5,10,13],"import":10,advanc:3,alia:15,analyz:15,api:[6,7],applytocompani:13,argument:12,bash:14,basic:5,binari:11,bitburn:1,brutessh:5,bui:15,buystock:7,cancelord:7,cat:15,changelog:0,check:15,checkfactioninvit:13,clear:[5,15],clearlog:5,cls:15,command:15,comment:10,commitcrim:13,condit:9,configur:15,connect:15,createprogram:13,data:4,date:10,defin:5,deleteserv:5,disablelog:5,document:[1,2],dom:[],download:15,editor:14,enablelog:5,exampl:[6,8],exchang:7,exec:5,exit:5,favor:0,fileexist:5,firefox:8,free:15,ftpcrack:5,game:14,getaugmentationcost:13,getaugmentationsfromfact:13,getbitnodemultipli:3,getcharacterinform:13,getcompanyfavor:13,getcompanyrep:13,getcrimech:13,getfactionfavor:13,getfactionrep:13,getgrowtim:5,gethackinglevel:5,gethackingmultipli:5,gethacknetmultipli:5,gethacktim:5,gethostnam:5,getnexthacknetnodecost:5,getownedaugment:13,getpurchasedserv:5,getscriptexpgain:5,getscriptincom:5,getscriptnam:5,getscriptram:5,getserverbasesecuritylevel:5,getservergrowth:5,getservermaxmonei:5,getserverminsecuritylevel:5,getservermoneyavail:5,getservernumportsrequir:5,getserverram:5,getserverrequiredhackinglevel:5,getserversecuritylevel:5,getstat:13,getstockposit:7,getstockpric:7,gettimesincelastaug:5,getupgradehomeramcost:13,getweakentim:5,grow:5,gymworkout:13,hack:[5,15],hacknet:6,hacknetnod:6,handl:[],hasrootaccess:5,help:15,home:15,hostnam:15,how:8,httpworm:5,ifconfig:15,indic:1,inform:7,installaugment:13,isbusi:13,isrun:5,javascript:10,joinfact:13,keyboard:14,kill:[5,15],killal:[5,15],loop:9,lscpu:15,major:0,manipul:[],math:10,mem:15,member:6,method:6,misc:14,miscellan:10,modul:10,mozilla:8,nano:15,navig:14,netscript:[2,3,4,5,6,7,8,9,10,11,12,13],netscriptj:8,node:6,note:8,nuke:5,number:10,oper:11,optim:0,own:5,peek:5,placeord:7,port:10,print:5,prompt:5,purchas:6,purchaseaugment:13,purchasehacknetnod:5,purchaseprogram:13,purchaseserv:5,purchasetor:13,read:5,rebalanc:0,relaysmtp:5,round:[],run:[5,15],scan:[5,15],scp:[5,15],script:[12,14],scriptkil:5,scriptrun:5,sellshort:7,sellstock:7,serverexist:5,shortcut:14,shortstock:7,singular:13,sleep:5,spawn:5,sprintf:5,sqlinject:5,stopact:13,sudov:15,system:0,tabl:1,tail:15,termin:[14,15],theme:15,tix:7,top:15,tprint:5,trade:7,traveltoc:13,type:4,unalia:15,unari:11,universitycours:13,upgradehomeram:13,usag:[],use:8,util:6,variabl:[4,6],vsprintf:5,warn:8,weaken:5,welcom:1,what:1,workforcompani:13,workforfact:13,write:5,your:5}}) \ No newline at end of file +Search.setIndex({docnames:["changelog","index","netscript","netscriptadvancedfunctions","netscriptdatatypes","netscriptfunctions","netscripthacknetnodeapi","netscriptixapi","netscriptjs","netscriptloopsandconditionals","netscriptmisc","netscriptoperators","netscriptscriptarguments","netscriptsingularityfunctions","shortcuts","terminal"],envversion:53,filenames:["changelog.rst","index.rst","netscript.rst","netscriptadvancedfunctions.rst","netscriptdatatypes.rst","netscriptfunctions.rst","netscripthacknetnodeapi.rst","netscriptixapi.rst","netscriptjs.rst","netscriptloopsandconditionals.rst","netscriptmisc.rst","netscriptoperators.rst","netscriptscriptarguments.rst","netscriptsingularityfunctions.rst","shortcuts.rst","terminal.rst"],objects:{"":{applyToCompany:[13,2,1,""],buyStock:[7,2,1,""],cancelOrder:[7,2,1,""],checkFactionInvitations:[13,2,1,""],clearLog:[5,2,1,""],commitCrime:[13,2,1,""],createProgram:[13,2,1,""],deleteServer:[5,2,1,""],disableLog:[5,2,1,""],enableLog:[5,2,1,""],fileExists:[5,2,1,""],getAugmentationCost:[13,2,1,""],getAugmentationsFromFaction:[13,2,1,""],getBitNodeMultipliers:[3,2,1,""],getCompanyFavor:[13,2,1,""],getCompanyRep:[13,2,1,""],getCrimeChance:[13,2,1,""],getFactionFavor:[13,2,1,""],getFactionRep:[13,2,1,""],getGrowTime:[5,2,1,""],getHackTime:[5,2,1,""],getHackingLevel:[5,2,1,""],getHackingMultipliers:[5,2,1,""],getHacknetMultipliers:[5,2,1,""],getHostname:[5,2,1,""],getNextHacknetNodeCost:[5,2,1,""],getOwnedAugmentations:[13,2,1,""],getPurchasedServers:[5,2,1,""],getScriptExpGain:[5,2,1,""],getScriptIncome:[5,2,1,""],getScriptName:[5,2,1,""],getScriptRam:[5,2,1,""],getServerBaseSecurityLevel:[5,2,1,""],getServerGrowth:[5,2,1,""],getServerMaxMoney:[5,2,1,""],getServerMinSecurityLevel:[5,2,1,""],getServerMoneyAvailable:[5,2,1,""],getServerNumPortsRequired:[5,2,1,""],getServerRam:[5,2,1,""],getServerRequiredHackingLevel:[5,2,1,""],getServerSecurityLevel:[5,2,1,""],getStats:[13,2,1,""],getStockPosition:[7,2,1,""],getStockPrice:[7,2,1,""],getTimeSinceLastAug:[5,2,1,""],getUpgradeHomeRamCost:[13,2,1,""],getWeakenTime:[5,2,1,""],gymWorkout:[13,2,1,""],hasRootAccess:[5,2,1,""],installAugmentations:[13,2,1,""],isBusy:[13,2,1,""],isRunning:[5,2,1,""],joinFaction:[13,2,1,""],placeOrder:[7,2,1,""],purchaseAugmentation:[13,2,1,""],purchaseHacknetNode:[5,2,1,""],purchaseProgram:[13,2,1,""],purchaseServer:[5,2,1,""],purchaseTor:[13,2,1,""],scriptKill:[5,2,1,""],scriptRunning:[5,2,1,""],sellShort:[7,2,1,""],sellStock:[7,2,1,""],serverExists:[5,2,1,""],shortStock:[7,2,1,""],stopAction:[13,2,1,""],travelToCity:[13,2,1,""],universityCourse:[13,2,1,""],upgradeHomeRam:[13,2,1,""],workForCompany:[13,2,1,""],workForFaction:[13,2,1,""]},"hacknetnodes[i]":{cores:[6,1,1,""],getCoreUpgradeCost:[6,0,1,""],getLevelUpgradeCost:[6,0,1,""],getRamUpgradeCost:[6,0,1,""],level:[6,1,1,""],moneyGainRatePerSecond:[6,1,1,""],name:[6,1,1,""],onlineTimeSeconds:[6,1,1,""],ram:[6,1,1,""],totalMoneyGenerated:[6,1,1,""],upgradeCore:[6,0,1,""],upgradeLevel:[6,0,1,""],upgradeRam:[6,0,1,""]},NetscriptPort:{clear:[10,0,1,""],data:[10,1,1,""],empty:[10,0,1,""],full:[10,0,1,""],tryWrite:[10,0,1,""],write:[10,0,1,""]}},objnames:{"0":["js","method","JavaScript method"],"1":["js","attribute","JavaScript attribute"],"2":["js","function","JavaScript function"]},objtypes:{"0":"js:method","1":"js:attribute","2":"js:function"},terms:{"000m":0,"05gb":0,"0gb":0,"0x726564646974":0,"100m":0,"1048576gb":[],"15m":0,"1e3":15,"1gb":0,"200k":0,"200m":0,"250m":0,"25gb":0,"25m":0,"25x":0,"2gb":0,"300m":0,"3087e3":8,"400m":0,"4gb":0,"500m":0,"50e3":15,"50x":0,"55k":0,"5gb":0,"64gb":0,"8gb":[0,6],"boolean":[0,4,5,13],"break":[0,12],"case":[0,5,7,13,15],"catch":[0,8],"class":[0,8,13,14],"default":[0,5,13,14,15],"export":[0,8,10],"final":[1,2],"float":4,"function":[0,1,2,4,6,7,8,9,14,15],"import":[0,1,2,5,8,15],"long":[0,7],"new":[0,5,6,8,10,13,14,15],"null":[0,5,8,10],"public":0,"return":[0,3,5,6,7,10,11,13,14],"short":[0,7],"static":[0,8,10],"super":0,"switch":[0,14],"throw":[0,8],"true":[0,4,5,6,7,8,10,11,13],"try":[0,5,8,10,12,13],"var":9,"while":[0,5,6,8,9,10,13,15],AND:11,Ace:[0,14],Added:0,Adding:4,And:10,But:0,Doing:8,For:[0,3,4,5,6,8,9,10,11,12,15],IPs:[0,5],NOT:[0,5,7,11,13,14,15],Not:13,One:13,THE:0,The:[0,1,3,4,5,6,7,8,9,10,12,13,15],Their:4,Then:[6,8,10,15],There:[0,10],These:[0,3,5,6,8,13,14,15],Use:[0,5,8],Used:0,Using:0,WILL:0,WITH:0,Will:[5,7,14],With:[0,8],Yes:5,_termin:[],abbrevi:15,abil:[0,7],abl:[0,8,13],about:[0,4,5,10,13,15],abov:[0,4,5,10,11,15],accept:[0,13],access:[0,4,5,6,7,8,10,12,13,15],accident:0,account:0,accumul:8,acorn:0,across:0,action:[0,13,14],activ:[0,5,14],actual:[0,5,7,10,13,15],add:[0,6,8,15],added:[0,5],addit:[0,5,6,8,11,13],address:[0,5,15],adjac:15,adjust:0,adr:0,advanc:[1,2],advert:0,advertis:0,aevum:13,affect:[0,5],afford:[5,6],after:[0,4,5,7,10,13,15],afterward:15,again:0,against:0,agenc:[13,14],agent:13,agi:13,agil:13,aid:1,aka:[0,13,14],alexei:0,algorithm:[0,7,13],alia:[0,1],alias:[0,15],all:[0,4,5,6,7,8,10,13,15],allow:[0,7,8,10,13,15],almost:[0,2,8,14],alphabet:[5,15],alphanumer:4,alreadi:[0,5,13,15],also:[0,4,5,7,8,12,13,14,15],alt:[14,15],alter:8,altern:15,although:[0,13],alwai:[8,14],amount:[0,5,6,7,12,13,15],analysi:0,analyt:0,analyz:[0,1,14],ani:[0,1,2,4,5,8,13,14,15],annoi:0,anoth:[0,5,10,12,15],anymor:0,anyon:0,anyth:[0,5],anytim:15,anywher:[5,15],api:[0,1,2],appear:5,append:[0,5],appendchild:8,appli:[0,5,8,13],applic:13,applytocompani:[1,2],approxim:0,arbitrari:0,area:0,arg1:8,arg2:8,arg3:8,arg:[0,5,8,10,12,15],argument:[0,1,2,5,6,7,8,10,13,15],arm:13,armor:0,around:[1,13],arrai:[0,4,5,6,7,10,12,13],arrow:[14,15],artifici:0,aspect:[0,13],assassin:13,assign:[0,6,11],assum:[8,10],async:8,asynchron:8,attack:[0,5],attempt:[0,7,10,13,15],augment:[0,5,7,13,14],augmentationmoneycost:3,augmentationrepcost:3,augnam:13,auto:13,autocomplet:[0,14],autolink:[0,13],autom:[0,6,7],automat:[0,5,7,13],automcomplet:0,autosav:0,avail:[0,4,5,7,8,9,13,14,15],averag:7,avgpx:7,avgpxshort:7,avoid:0,awai:15,await:8,awar:0,awesom:0,b1t_flum3:0,back:[0,10],background:15,backspac:14,backstori:0,backup:8,balanc:0,bar:0,base:[0,5,11],bash:[0,1],basic:[0,1,2,15],becaus:[0,3,5,8,13,15],becom:3,been:[0,1,8],befor:[0,5,8,10],begin:[0,14],being:[0,5,8,15],below:[0,5],benefici:0,benefit:0,best:12,beta:[0,1],better:[0,14],between:[0,3,5,8,10,14,15],big:0,billion:7,binari:[0,1,2],bind:[0,14],bit:0,bitburn:[0,2],bitnod:[0,3,13],bitrunn:0,black:0,blade:0,bladeburn:0,blob:8,block:0,blue:8,bluebird:0,board:0,bond:[0,13],bonu:0,boost:0,both:[0,5,13,15],box:[0,5],bribe:0,brief:[0,10,15],bring:0,broken:0,brokerag:0,browser:[0,8,13,14],brutessh:[0,1,2,13,15],buf:0,bug:0,bugfix:0,bui:[0,1,7,13],build:[0,7],built:0,busi:[0,13],button:0,buystock:[0,1,2],calcul:[0,7],call:[0,1,5,6,8,10,12,13,15],callback:[0,13],can:[0,1,4,5,6,7,8,9,10,12,13,14,15],cancel:[0,7,13,14],cancelord:[1,2],cannot:[0,5,6,8,15],cap:0,capabl:[4,8],capac:0,capit:[0,7],cat:[0,1],caus:[0,5],cave:0,caveat:[8,9],cbscript:13,cellel:8,certain:[0,5,7,10,13],cha:13,chanc:[5,13,15],chang:[0,3,4,5,8,11,15],changelog:1,charact:[4,13,14],characterist:0,charisma:13,cheaper:0,check:[0,1,5,9,13],checkfactioninvit:[0,1,2],chongq:13,choos:0,circuit:0,citi:[0,13,14],citynam:13,classgymexpgain:3,classifi:0,classlist:8,clear:[0,1,2,8,10,14],clearanc:0,clearlog:[0,1,2],click:[0,5,15],cloak:0,close:[0,8,10,14,15],cls:1,code:[0,5,7,8,9,10,11,12],codebas:0,collaps:0,collect:8,color:[0,8,15],com:0,combat:0,come:[8,15],command:[0,1,4,5,13,14],comment:[0,1,2,11],commiss:7,commit:[3,13],commitcrim:[0,1,2],common:0,commonli:15,commun:[7,10],compani:[0,7,13,14],companynam:13,companyworkexpgain:3,companyworkmonei:3,compar:0,compens:0,complet:[0,5,8],comput:[0,5,8,13,15],concat:8,concept:0,condit:[0,1,2],config:0,configur:[0,1,14],confirm:[0,1],connect:[0,1],conquer:0,consid:0,consider:0,consist:0,consol:15,constantli:5,constrain:5,constructor:[0,8],consult:13,contain:[0,3,4,5,6,8,10,13],content:[0,1],continu:[0,13],contract:[0,13],control:13,convers:0,convert:[5,8],copi:[0,5,15],core:[0,5,6,15],corecost:[5,6],corpor:0,corporatocraci:0,correct:13,correspond:6,cosmet:15,cost:[0,5,6,7,13,15],could:[0,15],count:[0,5,15],cours:13,coursenam:13,courtesi:0,cplusplu:[],cpp_static_memb:[],cpu:[0,15],crash:[0,8],creat:[0,5,7,13,14,15],createel:8,createprogram:[1,2],credit:0,crime:[0,3,13],crimeexpgain:3,crimemonei:3,crimin:0,crush:13,ctor:8,ctrl:[0,14],current:[0,1,3,5,7,13,14,15],cursor:14,custom:0,cyberpunk:1,cybersec:0,cycl:[0,14],daedalu:0,dai:[],damag:0,dark:[0,1,13,15],darkweb:0,data:[1,2,5,10,13],datamanc:0,date:[0,1,2],deal:[0,10,13],dealt:0,decid:8,decim:[0,13],declar:[0,4,5,8,9,10,15],declin:0,decreas:[0,5],decrement:[0,11],deepscan:0,deepscanv1:[13,15],deepscanv2:[13,15],def:13,defens:[0,13],defin:[0,1,2,8,14,15],definit:10,delai:[0,5],delet:[0,5,8,14,15],deleteserv:[0,1,2],demand:0,denot:[0,5,10],depend:[0,5,8],depth:15,describ:5,descript:[0,15],design:0,desir:15,destin:[0,5],destroi:0,detail:[0,5,15],determin:[0,5],develop:[0,1,2,8],devoidfuri:0,dex:13,dexter:13,dialog:[0,5],did:0,didn:0,die:0,differ:[0,3,4,5,8,14],differenti:15,difficult:0,difficulti:0,digit:[0,15],diminish:0,directli:[0,8],disabl:[0,5],disablelog:[0,1,2],displai:[0,15],divid:0,divis:[0,11],dni:0,doc:0,document:[0,5,8,9,10,13,14,15],doe:[0,2,5,7,8,10,11,14,15],doesn:0,doing:[0,6,8,10,12],dom:8,don:[0,8,10,13],donat:0,done:[0,14],dont:0,doubl:[0,4,6,15],down:[8,14,15],download:[0,1],drag:0,drawback:0,drug:13,due:[0,5],dure:0,dynam:[0,8,15],dystopian:1,each:[0,6,7,13,15],earli:[0,1],earn:[0,5,6,13],easier:0,easili:0,ecp:7,edg:0,edit:[0,8,14,15],editor:[0,1,15],effect:[0,5],effici:0,either:[4,5,15],element:[0,5,6,7,10,12,13],elif:0,els:[0,9,10,13],emac:14,embark:1,emploi:[13,14],employe:[0,13],empti:[0,5,10,15],emul:[14,15],enabl:[0,5,8,14,15],enable_bash_hotkei:14,enable_timestamp:0,enablelog:[0,1,2],encapsul:4,end:[0,5,6,10,13,14],endgam:0,endpoint:10,enemi:0,energi:0,engin:[0,8,13],enough:[0,5,7],enter:[0,14,15],entiti:0,entri:[0,8],environ:8,equal:[0,11],equival:[4,5,6],error:[0,5,8],esc:14,especi:5,essenti:0,estat:0,estim:[0,15],etc:[0,4,5,8,12,13,15],evalu:[8,10],even:[0,5,7,10,11],eventu:0,everi:[0,5,7,8,10,13,15],everyth:0,exampl:[0,1,2,3,4,5,7,9,10,11,12,13,15],exce:7,exceed:5,except:[0,5,8,14,15],exchang:[0,1,2],exe:[0,5,13,15],exec:[0,1,2,8],execarg:8,execut:[0,5,7,8,10,15],exist:[0,5,6,9,15],exit:[0,1,2],exp:0,expand:15,expens:0,experi:[0,5,8,13],explain:10,explanatori:0,exploit:[0,8],exponenti:0,extens:[0,5,8,13,15],facil:0,facnam:13,fact:0,faction:[0,13,14],factionnam:13,factionpassiverepgain:3,factionworkexpgain:3,factionworkrepgain:3,factor:0,fail:[0,5,13,15],failur:5,fairli:13,fairlyn:13,fals:[0,4,5,6,7,10,11,13],far:13,faster:[0,8],favor:[1,13],fconf:[0,14,15],featur:[0,2,8],fee:7,feed:0,feedback:0,feel:[0,2],few:[0,15],ffffff:15,field:[0,13],fieldwork:13,file:[0,3,5,13,14,15],fileexist:[0,1,2],filenam:[0,5,8,10,15],fill:5,find:[0,5,8],findindex:10,fine:5,finish:[0,13],firefox:[1,2],firewal:0,first:[0,4,5,6,7,10,12,13,15],fisg:7,fit:13,fix:[0,5],fl1ght:0,flag:[0,15],flat:0,fledg:8,flesh:0,floor:10,fn1:10,fn2:10,folder:0,follow:[0,3,4,5,6,8,9,10,13,15],foo1:[5,10],foo2:[5,10],foo3:[5,10],foo4:10,foo:[0,5,8,10,15],foodnstuff:[0,5,8,9,10,15],forc:0,foreach:0,forgeri:[0,13],forgot:0,form:[3,5,6,15],format:0,formula:0,fortifi:0,forward:8,found:0,four:[6,7],fourth:[6,7],fraction:5,framework:0,free:[0,1,2],from:[0,5,7,8,10,12,13,15],ftpcrack:[1,2,13],fulcrum:0,full:[0,8,10,15],fulli:[0,4],fund:0,furthermor:[0,5,8],futur:[0,3,5,14],gain:[0,1,5,13],game:[0,1,3,5,7,8,10,12,13,15],gameplai:0,gang:0,garbag:8,gene:0,gener:[0,5,8,11,12],get:[0,5,8,10,12,13,15],getaugment:0,getaugmentationcost:[1,2],getaugmentationsfromfact:[0,1,2],getbitnodemultipli:[0,1,2],getcharacterinform:[0,1,2],getcompanyfavor:[0,1,2],getcompanyrep:[1,2],getcoreupgradecost:[0,6],getcrimech:[0,1,2],getelementbyid:8,getfactionfavor:[0,1,2],getfactionrep:[1,2],getgrowtim:[0,1,2],gethackinglevel:[1,2],gethackingmultipli:[0,1,2],gethacknetmultipli:[0,1,2,6],gethacktim:[0,1,2],gethostnam:[0,1,2,8],getintellig:0,getip:0,getlevelupgradecost:[0,6],getnexthacknetnodecost:[0,1,2,6],getnumhacknetnod:0,getownedaugment:[1,2],getporthandl:[0,10],getpurchasedserv:[0,1,2],getramupgradecost:[0,6],getscriptexpgain:[0,1,2],getscriptincom:[0,1,2],getscriptnam:[0,1,2],getscriptram:[0,1,2],getserv:0,getserverbasesecuritylevel:[0,1,2],getservergrowth:[0,1,2],getservermaxmonei:[0,1,2],getserverminsecuritylevel:[0,1,2],getservermoneyavail:[0,1,2,9],getservernumportsrequir:[0,1,2],getserverram:[0,1,2,10],getserverrequiredhackinglevel:[0,1,2],getserversecuritylevel:[0,1,2],getstat:[0,1,2],getstockposit:[1,2],getstockpric:[1,2],gettimesincelastaug:[0,1,2],getupgradehomeramcost:[1,2],getweakentim:[0,1,2],ghost:0,github:[0,8],give:[0,3,5,13],given:[0,5,7,13,15],global:[0,5,8,15],global_object:0,globalvari:8,goe:0,going:[0,8],googl:15,governor:0,grand:13,grant:0,great:8,greater:[0,11],greatli:0,grep:[0,5,15],grow:[0,1,2,8,9],grown:9,growth:[0,5],guarante:13,guid:0,gym:[0,13,14],gymnam:13,gymworkout:[0,1,2],hack:[0,1,2,8,9,13,14],hacker:1,hackexpgain:3,hackingcontract:13,hacknet:[0,1,2,5,14],hacknetnod:[0,1,2],hacknetnodemonei:3,had:0,half:0,halt:5,halv:[0,13],hand:[0,15],handbook:0,handl:[0,10],happen:0,happi:8,harder:0,hardwar:0,has:[0,2,3,5,6,8,13,15],hasrootaccess:[0,1,2],have:[0,2,3,5,6,7,8,10,13,15],havoc_mayhem:0,header:[0,15],heist:13,helio:[0,5],hello:5,help:[0,1],her:0,here:[0,1,4,5,7,8,9,10,13,15],hex:[0,8,15],hidden:0,high:0,higher:[0,5],highlight:[0,15],his:0,histori:15,hoist:5,hold:4,home:[0,1,5,13,14],homicid:13,hope:1,hopefulli:0,hospit:0,hostnam:[0,1,5],hotkei:0,how:[0,1,2,4,5,6,9,10,15],howev:[0,5,9,10,15],htm:[],html:0,http:0,httpworm:[1,2,13,15],hydroflam:0,hyphen:4,idea:0,ident:2,identifi:[0,5,15],ifconfig:1,immedi:[0,5,7,13,15],implement:[0,2,10,14],importantinfo:15,improv:[0,2,8],inc:0,includ:[0,4,5,8,13,14,15],incom:[0,5,6],incomplet:0,incorrect:0,incorrectli:0,increas:[0,5],increment:[0,1,11],incur:[0,10],index:[1,5,6],indexeddb:0,indexof:0,indic:[0,5,13,15],individu:[0,15],industri:0,inequ:11,infiltr:0,infinit:8,info:0,inform:[0,1,2,5,13,15],initi:[0,4],innertext:8,input:[0,8,13,14],insan:0,insert:0,insid:[5,6,10],instal:[0,5,7,13],installaugment:[0,1,2],instanc:[0,5,8],instead:[0,3,5,6,8,13],institut:13,instrins:5,instruct:0,integ:[3,4,5,6,7],intellig:[0,13],interact:10,interest:0,interfac:[0,15],interpret:0,interv:0,intuit:0,invalid:[0,5,13],invest:0,investor:0,invit:[0,13],involv:0,iron:[0,13],isbusi:[0,1,2],ishima:13,isinteg:10,isn:0,isrun:[0,1,2],issu:[0,13,15],item:[0,10],iter:[6,9],its:[0,5,7,8,10,15],itself:6,jaguilar:8,javascript:[0,1,2,4,5,8,9],job:[0,8,13,14],jobtitl:13,joesgun:5,join:[0,4,13],joinfact:[1,2],jqueri:0,jshint:0,jump3r:[0,1],just:[0,5,8,10,15],karma:0,keep:0,kei:[0,14,15],kernel:0,keybind:0,keyboard:[0,1,15],keyword:[0,9],kidnap:13,kill:[0,1,2],killal:[0,1,2],know:[0,8,10],label:4,languag:[0,2,4,5],larceni:13,larg:0,last:[0,5,8,10,14],late:0,later:[0,3,4,7,13],latest:0,lead:1,leadership:13,leak:8,least:[0,5,6],left:[0,15],length:[0,5,6,8,12],lenient:13,less:[0,11],let:[0,7,8,9,10,12,15],letter:[4,7],level:[0,5,6,13,15],levelcost:[5,6],librari:[0,10],life:15,lightli:0,like:[0,5,8,10,12,14],limit:[0,5,7,13],limitbui:7,limitsel:7,line:[0,8,10,14],linear:0,linearli:0,link:[0,5,15],list:[0,6,13,15],lit:[0,5,15],literatur:[0,5,15],littl:0,load:[0,8],local:5,localstorag:0,locat:[0,5,13],lock:0,log:[0,5,6,10,14,15],logic:[0,11],longer:0,look:[8,10,12],loop:[0,1,2,8],lore:0,lose:[0,10],lot:[0,8,13],low:0,lower:[0,5],lscpu:[0,1],ltcnugget:0,machin:[0,15],made:[0,7,15],mai:[0,5,8,15],main:8,maintain:0,major:1,make:[0,5,8,12],manag:[0,13],mani:[0,2,4,13],manipul:8,manual:[0,13],manualhackmonei:3,map:6,mark:[0,8,15],market:[0,7],masterscript:15,match:15,mateon1:0,materi:0,math:[0,1,2],matter:15,max:[0,6],maximum:[0,5,15],mayb:[0,10],mean:[0,1,2,3,4,5,6,8,10,13],meant:0,mechan:[0,15],med:0,medic:0,mem:1,member:[0,1,2,4,8,13],memori:[0,5,8,15],mention:0,menu:[0,14,15],messag:[0,1,5,15],method:[0,1,2,4,8,10],mid:0,middl:13,might:0,migrat:0,mild:0,millenium:13,millisecond:[0,5],minigam:0,minimum:[0,5],minor:0,minut:[0,13],misc:[0,1],miscellan:[1,2],mission:[0,14],mode:[0,5,14],modifi:[0,12],modul:[0,1,2,8],modulo:11,monei:[0,1,3,5,6,7,9,13,15],monetari:0,moneygainratepersecond:6,more:[0,4,5,9,14,15],most:[0,4],mostli:0,move:14,mozilla:[0,1,2],mrnuggelz:0,msg:[5,15],much:[0,9,15],mug:13,mult:[3,5,6],multi:[0,10],multidimension:0,multilin:0,multipl:[0,5,8,11,15],multipli:[0,3,5,6,13],multithread:0,must:[0,4,5,6,7,8,10,13,14,15],mute:15,mysteri:1,name:[0,4,5,6,7,11,12,13,15],namespac:10,nano:[0,1,8,14],nativ:0,natur:0,navig:[0,1,15],nearest:[5,6,7],necessari:[0,1,15],need:[0,5,8,10,15],neg:0,negat:[0,11],nerf:0,nest:0,net:7,netscript:[0,1],netscriptj:[0,1,2],netscriptport:10,netsction:0,network:[0,13,15],neuroflux:0,never:[0,8],newer:0,newli:5,newlin:0,next:[5,14],nitesec:0,node:[0,1,2,5,14,15],non:15,none:[5,6],normal:[0,10,12,13],noscript:0,notabl:[0,5],note:[0,1,2,5,6,10,13,14,15],notifi:0,now:[0,1,8,10,15],nuke:[0,1,2,15],num:15,number:[0,1,2,4,5,6,7,8,11,12,13,15],numer:[0,4,7,11],numthread:[0,5,10],object:[0,3,4,5,6,8,13],observ:0,obtain:5,obvious:13,occur:0,off:0,offic:0,offici:0,offlin:[0,5],old:0,omit:[5,15],onc:[0,15],one:[0,5,6,8,9,10,13],ones:0,onli:[0,3,5,6,7,8,10,11,13,14,15],onlin:[0,5],onlinetimesecond:6,onto:4,open:[0,5,8,10,13,14,15],oper:[0,1,2,10,12],operand:11,optim:1,option:[0,5,8,13,14,15],order:[0,3,5,7,13,15],org:0,origin:[0,3],osx:0,other:[0,5,8,10,13,14],otherwis:[0,5,6,7,9,10,13,14,15],our:10,oustand:[0,7,13],out:[0,2,5,10,13],outdat:0,output:5,outsid:[0,5,13],outstand:0,over:[0,5,8],overclock:0,overrid:14,overwrit:[0,5],own:[0,1,2,7,8,15],page:[0,1,3,5,8,10,13,14,15],param:8,paramet:[0,5,15],pars:[0,10],parser:0,part:[0,13,15],particular:13,pass:[0,5,8,10,12,13,15],passiv:0,past:0,path:15,pattern:[0,15],peek:[0,1,2,10],peopl:8,per:0,percentag:[0,5,6],perform:[0,13],perman:15,persist:0,pheromon:0,pick:0,picker:15,pill:0,place:7,placeord:[1,2],plai:1,plan:12,player:[0,1,5,6,7,12,13,15],pleas:[0,8],plenti:8,plot:0,point:[0,8],pointer:0,pop:[0,4,10],popular:0,popup:0,port:[0,1,2,5,15],portfolio:0,pos:7,posit:[0,4,6,7,13],possibl:[0,8,12],post:8,pound:15,power:[0,1,5,8],powerhous:13,pre:[0,8,11],preced:15,prefac:8,prefix:0,prerequisit:0,preset:[14,15],press:0,prestig:0,prevent:12,preventdefault:0,previou:[0,14],previous:0,price:[0,7],primarili:8,primit:4,print:[0,1,2,3,6,8,10,13,15],privat:0,problem:0,process:[0,5],prod:0,produc:[0,11],product:[0,5,6],profit:[0,7],program:[0,2,5,13,14,15],programat:0,programnam:13,progress:0,promis:0,promot:[0,13],prompt:[0,1,2,8],proper:0,properli:0,properti:[0,13],protocol:7,prototyp:8,provid:[0,6,7],pserv:5,puchas:0,purchas:[0,1,2,5,7,13,15],purchaseaugment:[1,2],purchasecost:[5,6],purchasedserver1:8,purchasehacknetnod:[0,1,2,6],purchaseprogram:[1,2],purchaseserv:[0,1,2],purchasetor:[1,2],purpos:[4,5],push:0,put:[3,11],qualifi:0,qualiti:0,queri:0,quest:1,queue:[0,5,10],quickli:[0,5],quit:0,quot:4,quotat:15,rais:[0,5],ram:[0,5,6,10,13,15],ramcost:[5,6],ramus:5,ran:[0,5,8,10,15],random:0,randomarg:8,rank:0,rate:[0,5],rather:[0,8,15],reach:[0,2,15],read:[0,1,2,4,6,10],readthedoc:0,real:[0,15],realli:0,reason:[0,5],rebalanc:1,receiv:[0,3,13],recommend:[8,13],record:0,recurs:0,red:[0,8],reddit:0,reduc:[0,8],refactor:0,refer:[0,4,9],referenc:[0,4],reflect:7,refresh:[0,8],regain:0,regard:0,regardless:[0,5],reject:0,rel:[0,15],relat:[5,6,10,15],relaysmtp:[1,2,13],releas:[0,8],relev:[0,3],reload:[0,8,10],remain:0,rememb:[5,7,8,15],remot:15,remov:[0,5,10,15],rep:0,repeat:0,repeatedli:[0,8],replac:[0,15],report:[0,8],repres:[0,3,4,5,7,10,15],reput:[0,13],request:2,requir:[0,3,5,10,11,13,15],res:[5,10,13],research:0,reset:[0,5,7,13],resolv:5,respect:[0,15],respons:8,rest:[0,4],restart:[0,13],result:[0,5,8,11],retain:[0,7],reusabl:15,revert:5,reward:0,right:[0,10],risk:8,rob:13,robot:0,role:1,room:10,root:[5,15],rothman:[5,13],round:[0,5,6,7],router:[0,13,15],rowel:8,rpg:1,rule:8,run:[0,1,2,3,8,9,10,11,12,13],runarg:8,runtim:[0,5],safe:8,sai:[5,12],sake:10,salari:0,sale:[0,7],same:[0,5,8,9,10,13,14,15],satisfi:0,save:[0,8,10,14],scale:0,scan:[0,1,2],schedul:[8,13],scheme:15,scienc:13,scientif:0,scope:[5,8],scp:[0,1,2,8],screen:[0,14,15],screw:0,script:[0,1,2,5,6,7,8,10,13,15],scripthackmonei:3,scriptjob:8,scriptkil:[0,1,2],scriptnam:[0,5],scriptrun:[0,1,2],scriptschedul:8,scroll:0,search:[1,5],second:[0,4,5,6,7,12,13,15],secondari:0,secret:[0,1],section:[2,5],sector:13,secur:[0,5,13],securitywork:13,see:[0,5,6,8,9,15],select:[0,5],self:0,sell:[0,7],sellshort:[0,1,2],sellstock:[0,1,2],semicolon:0,sensit:[0,5,7,13,15],sent:0,separ:[3,5,15],sequenc:[4,7],sequenti:8,serial:[0,5,10],seriou:8,server:[0,5,9,15],serverexist:[0,1,2],servergrowthr:3,servermaxmonei:3,serverprofil:[0,13],serverstartingmonei:3,serverstartingsecur:3,serverweakenr:3,set:[0,5,8,13,14,15],sever:[0,10],share:[0,7,8],sharesshort:7,she:1,shell:14,shield:0,shift:0,shoplift:13,shortcut:[0,1,15],shorthand:0,shortstock:[0,1,2],should:[0,5,9,13,15],show:[0,4,5,8,9,15],shown:[5,15],side:15,sigma:15,sign:15,signatur:[0,5,8],signific:[0,5],significantli:[0,8],similar:[0,5],simpl:[8,9,10],simplest:5,simpli:[2,4],simplic:10,sinc:[0,5,8,10],singl:[0,4,5,11,15],singular:[0,1,2],situat:8,size:0,skill:[0,5],sleep:[0,1,2,6,8,10,13],slice:10,slight:0,slightli:0,slow:8,slower:0,slowli:0,small:[0,8,13],smaller:0,smart:0,snap:13,soft:0,softwar:[0,13],solar:15,sold:7,some:[0,5,8,9,10,11,13],some_valu:5,someth:1,sometim:0,someval1:10,someval2:10,soon:0,sorri:0,sort:[0,5,10],sourc:[0,3,5,13],space:[0,14,15],spaceglac:0,spam:0,spawn:[0,1,2],special:[0,4,6,12,13],specif:[0,5,10],specifi:[0,5,6,7,10,12,13,15],speed:[0,5],splice:[0,4],spoiler:[0,3,13],sprintf:[0,1,2],sqlinject:[1,2,13],stack:0,stage:[0,1],stai:5,stamina:0,start:[0,4,5,8,10,13,15],starter:0,stat:[0,13,14],state:0,statement:[0,9],statist:[0,7,15],steal:[0,5],still:[0,5,8,15],stock:[0,7],stolen:[0,5],stop:[0,5,7,13,15],stopact:[0,1,2],stopbui:7,stopsel:7,storag:0,store:[4,13],str:13,strategi:7,street:0,strength:13,strict:11,string:[0,4,5,7,13,15],structur:[3,5,6,10],strucur:13,studi:[0,13],stupid:0,style:[0,8],subject:3,subreddit:0,subset:2,substitut:15,substr:5,subtract:11,success:[0,5,7,13],successfulli:[0,5,6,7,10,13,15],sudov:1,suggest:2,sum:[0,5],summari:8,summit:13,suppli:0,support:[0,4,6,7,8,10,15],suppos:10,suppress:0,sure:0,suspend:5,suspicion:1,sym:7,symbol:7,syntax:[0,2,5,10],system:[1,7],tab:[0,8,14,15],tail:[0,1],take:[0,1,5,13,14,15],target:[0,5,8,15],task:0,technolgi:0,technolog:[0,13],tell:0,templat:5,ten:9,term:[0,13],termin:[0,1,5,8,13],terminalinput:8,territori:0,test2:[],test:[0,5,8],testlib:10,testlibrari:10,text:[0,4,5,8,15],than:[0,5,8,9,11,15],thank:0,theft:13,thei:[0,2,3,5,8,14,15],them:[0,5,10,13],theme:[0,1],themselv:0,therefor:[0,8],theres:0,thi:[0,1,2,3,4,5,6,7,8,10,11,12,13,14,15],thing:15,think:0,third:[0,5,7],those:[5,6,8],though:[0,5,10],thought:[4,8],thread:[0,5,8,12,13,15],three:[4,5,8,10,14,15],through:[0,5,6,8,10,13,14,15],throughout:0,thrown:8,tier:0,time:[0,5,6,8,9,10,13,15],timework:13,tini:2,tip:0,tix:[0,1,2],todo:15,tokyo:13,tolocalestr:0,tolowercas:4,too:0,tooltip:0,top:[0,1,8],tor:[0,13,15],total:[0,5,6,15],totalmoneygener:6,totalram:5,toward:0,tprint:[0,1,2,8,10],tprintcolor:8,tracer:0,track:0,trade:[0,1,2],traffick:13,train:[0,13,14],transact:[0,7],transfer:0,travel:[0,13,14],traveltoc:[1,2],travers:9,treat:0,trend:0,tri:[5,6,15],trigger:0,troubl:0,trywrit:[0,10],tutori:[0,14],tutorialspoint:[],tweak:0,two:[0,5,7,8,10,11,12,13],txt:[0,5,8,15],type:[0,1,2,5,7,8,13,15],typic:5,typo:0,unabl:8,unalia:[0,1],unalias_terminal_command:[],unari:[1,2],uncov:1,undefin:0,underli:[0,5,10],underscor:4,undo:15,undon:15,uni:5,uniqu:[0,5,8,15],univeristi:13,univers:[0,13,14],universitycours:[1,2],universitynam:13,unknown:1,unless:[0,14],unlik:8,unlock:[0,7,13],unrecogn:0,until:[0,5,6,13],untyp:4,updat:[0,13],upgrad:[0,6,13],upgradecor:6,upgradehacknetnod:0,upgradehomeram:[1,2],upgradelevel:6,upgraderam:6,upon:0,url:8,usag:[0,5,10,15],use:[0,1,2,5,7,9,10,13,15],useabl:0,used:[0,2,4,5,6,7,10,13,14,15],useful:0,user:[0,8,15],uses:[0,8,9],using:[0,5,6,7,8,9,10,12,13,15],usual:13,utc:[0,10],util:[0,1,2],valid:[0,5,10,13,15],valu:[0,3,4,5,6,7,8,10,11,13,15],valuat:0,vari:5,variabl:[0,1,2,5,8,9,11,15],varieti:0,variou:[0,13,14],vechain:0,vehicl:0,veri:[0,8],version:8,via:0,viabl:0,view:0,vim:[0,14],visibl:8,visit:[0,7,13],volatil:0,volhaven:13,vsprintf:[0,1,2],w0r1d_d43m0n:0,waer:0,wage:0,wai:[0,5,6,10,13,15],wait:[0,10],waiter:13,wall:0,want:[0,6,8,10,12,13,15],warehous:0,warn:[0,1,2,11,12,13,15],wasn:0,water:0,weaken:[0,1,2,8],weapon:0,web:[0,8,13,15],webpack:0,week:[],well:[0,4,8,14,15],were:[0,5,13,14,15],wese:7,what:[0,5,6,8,13,15],whatev:13,when:[0,1,2,5,8,9,10,13,15],whenev:0,where:[0,1,5,8,10,14],whether:[0,5,7,13,15],which:[0,4,5,6,7,10,13,15],whitespac:[0,5],who:[0,8],whose:15,wiki:0,wikia:0,wilson:0,win:0,window:14,within:8,without:[0,5,8,10,15],won:0,word:[0,5,14,15],work:[0,5,7,8,10,11,13,14,15],workagiexpgain:13,workchaexpgain:13,workdefexpgain:13,workdexexpgain:13,workforcompani:[1,2],workforfact:[1,2],workhackexpgain:13,workmoneygain:13,workrepgain:13,workstrexpgain:13,worktyp:13,world:[0,1,2,5,7],worm:15,would:[0,3,11,12,13,15],wouldnt:0,wraithan:0,wrap:0,write:[0,1,2,6,7,8,10],written:[2,5,10],wrong:1,wrote:10,wse:[0,7],www:[],x10:0,yet:[0,5,13],you:[0,1,2,3,4,5,6,7,8,9,10,11,13,14,15],your:[0,1,2,6,7,8,13,14,15],yourself:[0,6],zero:[0,5],zeu:0,zeud:0,zip:[0,15]},titles:["Changelog","Welcome to Bitburner's documentation!","Netscript Documentation","Netscript Advanced Functions","Netscript Data Types and Variables","Netscript Basic Functions","Netscript Hacknet Node API","Netscript Trade Information eXchange (TIX) API","NetscriptJS (Netscript 2.0)","Netscript Loops and Conditionals","Netscript Miscellaneous","Netscript Operators","Netscript Script Arguments","Netscript Singularity Functions","Keyboard Shortcuts","Terminal"],titleterms:{"final":8,"function":[3,5,10,13],"import":10,advanc:3,alia:15,analyz:15,api:[6,7],applytocompani:13,argument:12,bash:14,basic:5,binari:11,bitburn:1,brutessh:5,bui:15,buystock:7,cancelord:7,cat:15,changelog:0,check:15,checkfactioninvit:13,clear:[5,15],clearlog:5,cls:15,command:15,comment:10,commitcrim:13,condit:9,configur:15,connect:15,createprogram:13,data:4,date:10,defin:5,deleteserv:5,disablelog:5,document:[1,2],dom:[],download:15,editor:14,enablelog:5,exampl:[6,8],exchang:7,exec:5,exit:5,favor:0,fileexist:5,firefox:8,free:15,ftpcrack:5,game:14,getaugmentationcost:13,getaugmentationsfromfact:13,getbitnodemultipli:3,getcharacterinform:13,getcompanyfavor:13,getcompanyrep:13,getcrimech:13,getfactionfavor:13,getfactionrep:13,getgrowtim:5,gethackinglevel:5,gethackingmultipli:5,gethacknetmultipli:5,gethacktim:5,gethostnam:5,getnexthacknetnodecost:5,getownedaugment:13,getpurchasedserv:5,getscriptexpgain:5,getscriptincom:5,getscriptnam:5,getscriptram:5,getserverbasesecuritylevel:5,getservergrowth:5,getservermaxmonei:5,getserverminsecuritylevel:5,getservermoneyavail:5,getservernumportsrequir:5,getserverram:5,getserverrequiredhackinglevel:5,getserversecuritylevel:5,getstat:13,getstockposit:7,getstockpric:7,gettimesincelastaug:5,getupgradehomeramcost:13,getweakentim:5,grow:5,gymworkout:13,hack:[5,15],hacknet:6,hacknetnod:6,handl:[],hasrootaccess:5,help:15,home:15,hostnam:15,how:8,httpworm:5,ifconfig:15,indic:1,inform:7,installaugment:13,isbusi:13,isrun:5,javascript:10,joinfact:13,keyboard:14,kill:[5,15],killal:[5,15],loop:9,lscpu:15,major:0,manipul:[],math:10,mem:15,member:6,method:6,misc:14,miscellan:10,modul:10,mozilla:8,nano:15,navig:14,netscript:[2,3,4,5,6,7,8,9,10,11,12,13],netscriptj:8,node:6,note:8,nuke:5,number:10,oper:11,optim:0,own:5,peek:5,placeord:7,port:10,print:5,prompt:5,purchas:6,purchaseaugment:13,purchasehacknetnod:5,purchaseprogram:13,purchaseserv:5,purchasetor:13,read:5,rebalanc:0,relaysmtp:5,round:[],run:[5,15],scan:[5,15],scp:[5,15],script:[12,14],scriptkil:5,scriptrun:5,sellshort:7,sellstock:7,serverexist:5,shortcut:14,shortstock:7,singular:13,sleep:5,spawn:5,sprintf:5,sqlinject:5,stopact:13,sudov:15,system:0,tabl:1,tail:15,termin:[14,15],theme:15,tix:7,top:15,tprint:5,trade:7,traveltoc:13,type:4,unalia:15,unari:11,universitycours:13,upgradehomeram:13,usag:[],use:8,util:6,variabl:[4,6],vsprintf:5,warn:8,weaken:5,welcom:1,what:1,workforcompani:13,workforfact:13,write:5,your:5}}) \ No newline at end of file diff --git a/doc/source/changelog.rst b/doc/source/changelog.rst index 4dcd7947f..03d84f44a 100644 --- a/doc/source/changelog.rst +++ b/doc/source/changelog.rst @@ -3,8 +3,18 @@ Changelog ========= -v0.37.1 -------- +v0.37.2 - 6/2/2018 +------------------ + +* After joining the Bladeburners division, there is now a button to go to the Bladeburner content + in the 'City' page +* You now start with $250m in BitNode-8 (increased from $100m) +* Bug Fix: You can now no longer directly edit Hacknet Node values through NetscriptJS (hopefully) +* Bug Fix: Bladeburners is no longer accessible in BN-8 +* Bug Fix: getBitNodeMultipliers() Netscript function now returns a copy rather than the original object + +v0.37.1 - 5/22/2018 +------------------- * You now earn money from successfully completing Bladeburner contracts. The amount you earn is based on the difficulty of the contract. * Completing Field Analysis in Bladeburner now grants 0.1 rank diff --git a/netscript.js b/netscript.js index d42b2bcb8..88fd9a03b 100644 --- a/netscript.js +++ b/netscript.js @@ -103,7 +103,7 @@ var NetscriptHighlightRules = function(options) { "JSON|Math|" + // Other "this|arguments|prototype|window|document" , // Pseudo "keyword": - "const|yield|import|get|set|async|await|foop|" + + "const|yield|import|get|set|async|await|" + "break|case|catch|continue|default|delete|do|else|finally|for|function|" + "if|in|of|instanceof|new|return|switch|throw|try|typeof|let|var|while|with|debugger|" + "__parent__|__count__|escape|unescape|with|__proto__|" + diff --git a/package-lock.json b/package-lock.json index e31749c4c..016136e73 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1903,7 +1903,6 @@ "requires": { "anymatch": "1.3.2", "async-each": "1.0.1", - "fsevents": "1.2.4", "glob-parent": "2.0.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -5729,6 +5728,14 @@ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -5739,14 +5746,6 @@ "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "strip-ansi": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", @@ -6368,6 +6367,14 @@ "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.6.tgz", "integrity": "sha1-kQ9dKu17Ugxud3SZwfMuE5/eyxA=" }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -6378,14 +6385,6 @@ "strip-ansi": "3.0.1" } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -8687,468 +8686,6 @@ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.4.tgz", - "integrity": "sha512-z8H8/diyk76B7q5wg+Ud0+CqzcAF3mBBI/bA5ne5zrRUUIvNkJY//D3BqyH571KuAC4Nr7Rw7CjWX4r0y9DvNg==", - "optional": true, - "requires": { - "nan": "2.10.0", - "node-pre-gyp": "0.10.0" - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "bundled": true, - "optional": true - }, - "ansi-regex": { - "version": "2.1.1", - "bundled": true - }, - "aproba": { - "version": "1.2.0", - "bundled": true, - "optional": true - }, - "are-we-there-yet": { - "version": "1.1.4", - "bundled": true, - "optional": true, - "requires": { - "delegates": "1.0.0", - "readable-stream": "2.3.6" - } - }, - "balanced-match": { - "version": "1.0.0", - "bundled": true - }, - "brace-expansion": { - "version": "1.1.11", - "bundled": true, - "requires": { - "balanced-match": "1.0.0", - "concat-map": "0.0.1" - } - }, - "chownr": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "code-point-at": { - "version": "1.1.0", - "bundled": true - }, - "concat-map": { - "version": "0.0.1", - "bundled": true - }, - "console-control-strings": { - "version": "1.1.0", - "bundled": true - }, - "core-util-is": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "debug": { - "version": "2.6.9", - "bundled": true, - "optional": true, - "requires": { - "ms": "2.0.0" - } - }, - "deep-extend": { - "version": "0.5.1", - "bundled": true, - "optional": true - }, - "delegates": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "detect-libc": { - "version": "1.0.3", - "bundled": true, - "optional": true - }, - "fs-minipass": { - "version": "1.2.5", - "bundled": true, - "optional": true, - "requires": { - "minipass": "2.2.4" - } - }, - "fs.realpath": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "gauge": { - "version": "2.7.4", - "bundled": true, - "optional": true, - "requires": { - "aproba": "1.2.0", - "console-control-strings": "1.1.0", - "has-unicode": "2.0.1", - "object-assign": "4.1.1", - "signal-exit": "3.0.2", - "string-width": "1.0.2", - "strip-ansi": "3.0.1", - "wide-align": "1.1.2" - } - }, - "glob": { - "version": "7.1.2", - "bundled": true, - "optional": true, - "requires": { - "fs.realpath": "1.0.0", - "inflight": "1.0.6", - "inherits": "2.0.3", - "minimatch": "3.0.4", - "once": "1.4.0", - "path-is-absolute": "1.0.1" - } - }, - "has-unicode": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "iconv-lite": { - "version": "0.4.21", - "bundled": true, - "optional": true, - "requires": { - "safer-buffer": "2.1.2" - } - }, - "ignore-walk": { - "version": "3.0.1", - "bundled": true, - "optional": true, - "requires": { - "minimatch": "3.0.4" - } - }, - "inflight": { - "version": "1.0.6", - "bundled": true, - "optional": true, - "requires": { - "once": "1.4.0", - "wrappy": "1.0.2" - } - }, - "inherits": { - "version": "2.0.3", - "bundled": true - }, - "ini": { - "version": "1.3.5", - "bundled": true, - "optional": true - }, - "is-fullwidth-code-point": { - "version": "1.0.0", - "bundled": true, - "requires": { - "number-is-nan": "1.0.1" - } - }, - "isarray": { - "version": "1.0.0", - "bundled": true, - "optional": true - }, - "minimatch": { - "version": "3.0.4", - "bundled": true, - "requires": { - "brace-expansion": "1.1.11" - } - }, - "minimist": { - "version": "0.0.8", - "bundled": true - }, - "minipass": { - "version": "2.2.4", - "bundled": true, - "requires": { - "safe-buffer": "5.1.1", - "yallist": "3.0.2" - } - }, - "minizlib": { - "version": "1.1.0", - "bundled": true, - "optional": true, - "requires": { - "minipass": "2.2.4" - } - }, - "mkdirp": { - "version": "0.5.1", - "bundled": true, - "requires": { - "minimist": "0.0.8" - } - }, - "ms": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "needle": { - "version": "2.2.0", - "bundled": true, - "optional": true, - "requires": { - "debug": "2.6.9", - "iconv-lite": "0.4.21", - "sax": "1.2.4" - } - }, - "node-pre-gyp": { - "version": "0.10.0", - "bundled": true, - "optional": true, - "requires": { - "detect-libc": "1.0.3", - "mkdirp": "0.5.1", - "needle": "2.2.0", - "nopt": "4.0.1", - "npm-packlist": "1.1.10", - "npmlog": "4.1.2", - "rc": "1.2.7", - "rimraf": "2.6.2", - "semver": "5.5.0", - "tar": "4.4.1" - } - }, - "nopt": { - "version": "4.0.1", - "bundled": true, - "optional": true, - "requires": { - "abbrev": "1.1.1", - "osenv": "0.1.5" - } - }, - "npm-bundled": { - "version": "1.0.3", - "bundled": true, - "optional": true - }, - "npm-packlist": { - "version": "1.1.10", - "bundled": true, - "optional": true, - "requires": { - "ignore-walk": "3.0.1", - "npm-bundled": "1.0.3" - } - }, - "npmlog": { - "version": "4.1.2", - "bundled": true, - "optional": true, - "requires": { - "are-we-there-yet": "1.1.4", - "console-control-strings": "1.1.0", - "gauge": "2.7.4", - "set-blocking": "2.0.0" - } - }, - "number-is-nan": { - "version": "1.0.1", - "bundled": true - }, - "object-assign": { - "version": "4.1.1", - "bundled": true, - "optional": true - }, - "once": { - "version": "1.4.0", - "bundled": true, - "requires": { - "wrappy": "1.0.2" - } - }, - "os-homedir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "os-tmpdir": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "osenv": { - "version": "0.1.5", - "bundled": true, - "optional": true, - "requires": { - "os-homedir": "1.0.2", - "os-tmpdir": "1.0.2" - } - }, - "path-is-absolute": { - "version": "1.0.1", - "bundled": true, - "optional": true - }, - "process-nextick-args": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "rc": { - "version": "1.2.7", - "bundled": true, - "optional": true, - "requires": { - "deep-extend": "0.5.1", - "ini": "1.3.5", - "minimist": "1.2.0", - "strip-json-comments": "2.0.1" - }, - "dependencies": { - "minimist": { - "version": "1.2.0", - "bundled": true, - "optional": true - } - } - }, - "readable-stream": { - "version": "2.3.6", - "bundled": true, - "optional": true, - "requires": { - "core-util-is": "1.0.2", - "inherits": "2.0.3", - "isarray": "1.0.0", - "process-nextick-args": "2.0.0", - "safe-buffer": "5.1.1", - "string_decoder": "1.1.1", - "util-deprecate": "1.0.2" - } - }, - "rimraf": { - "version": "2.6.2", - "bundled": true, - "optional": true, - "requires": { - "glob": "7.1.2" - } - }, - "safe-buffer": { - "version": "5.1.1", - "bundled": true - }, - "safer-buffer": { - "version": "2.1.2", - "bundled": true, - "optional": true - }, - "sax": { - "version": "1.2.4", - "bundled": true, - "optional": true - }, - "semver": { - "version": "5.5.0", - "bundled": true, - "optional": true - }, - "set-blocking": { - "version": "2.0.0", - "bundled": true, - "optional": true - }, - "signal-exit": { - "version": "3.0.2", - "bundled": true, - "optional": true - }, - "string-width": { - "version": "1.0.2", - "bundled": true, - "requires": { - "code-point-at": "1.1.0", - "is-fullwidth-code-point": "1.0.0", - "strip-ansi": "3.0.1" - } - }, - "string_decoder": { - "version": "1.1.1", - "bundled": true, - "optional": true, - "requires": { - "safe-buffer": "5.1.1" - } - }, - "strip-ansi": { - "version": "3.0.1", - "bundled": true, - "requires": { - "ansi-regex": "2.1.1" - } - }, - "strip-json-comments": { - "version": "2.0.1", - "bundled": true, - "optional": true - }, - "tar": { - "version": "4.4.1", - "bundled": true, - "optional": true, - "requires": { - "chownr": "1.0.1", - "fs-minipass": "1.2.5", - "minipass": "2.2.4", - "minizlib": "1.1.0", - "mkdirp": "0.5.1", - "safe-buffer": "5.1.1", - "yallist": "3.0.2" - } - }, - "util-deprecate": { - "version": "1.0.2", - "bundled": true, - "optional": true - }, - "wide-align": { - "version": "1.1.2", - "bundled": true, - "optional": true, - "requires": { - "string-width": "1.0.2" - } - }, - "wrappy": { - "version": "1.0.2", - "bundled": true - }, - "yallist": { - "version": "3.0.2", - "bundled": true - } - } - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -12438,12 +11975,6 @@ "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", "dev": true }, - "nan": { - "version": "2.10.0", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.10.0.tgz", - "integrity": "sha512-bAdJv7fBLhWC+/Bls0Oza+mvTaNQtP+1RyhhhvD95pgUJz6XM5IzgmxOkItJ9tkoCiplvAnXI1tNmmUD/eScyA==", - "optional": true - }, "nanomatch": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.9.tgz", @@ -15237,7 +14768,7 @@ }, "should-equal": { "version": "1.0.1", - "resolved": "http://registry.npmjs.org/should-equal/-/should-equal-1.0.1.tgz", + "resolved": "https://registry.npmjs.org/should-equal/-/should-equal-1.0.1.tgz", "integrity": "sha1-C26VFvJgGp+wuy3MNpr6HH4gCvc=", "dev": true, "requires": { @@ -15888,6 +15419,14 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, + "string_decoder": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", + "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", + "requires": { + "safe-buffer": "5.1.1" + } + }, "string-template": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz", @@ -15923,14 +15462,6 @@ } } }, - "string_decoder": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.0.3.tgz", - "integrity": "sha512-4AH6Z5fzNNBcH+6XDMfA/BTt87skxqJlO0lAh3Dker5zThcAxG6mKz+iGu308UKoPPQ8Dcqx/4JhujzltRa+hQ==", - "requires": { - "safe-buffer": "5.1.1" - } - }, "stringstream": { "version": "0.0.5", "resolved": "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz", @@ -16994,7 +16525,6 @@ "anymatch": "2.0.0", "async-each": "1.0.1", "braces": "2.3.1", - "fsevents": "1.2.4", "glob-parent": "3.1.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", @@ -17742,7 +17272,6 @@ "anymatch": "2.0.0", "async-each": "1.0.1", "braces": "2.3.2", - "fsevents": "1.2.4", "glob-parent": "3.1.0", "inherits": "2.0.3", "is-binary-path": "1.0.1", diff --git a/src/Bladeburner.js b/src/Bladeburner.js index 759f16a3a..f03d75aae 100644 --- a/src/Bladeburner.js +++ b/src/Bladeburner.js @@ -3185,7 +3185,7 @@ function initBladeburner() { Skills[SkillNames.Overclock] = new Skill({ name:SkillNames.Overclock, desc:"Each level of this skill decreases the time it takes " + - "to attempt a contract or operation by 1% (Max Level: 99)", + "to attempt a contract or operation by 1% (Max Level: 95)", baseCost:5, costInc:1, maxLvl:95, actionTime:1 }); diff --git a/src/Constants.js b/src/Constants.js index 87274b7f0..3e665a663 100644 --- a/src/Constants.js +++ b/src/Constants.js @@ -1,5 +1,5 @@ let CONSTANTS = { - Version: "0.37.1", + Version: "0.37.2", //Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience //and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then @@ -484,16 +484,13 @@ let CONSTANTS = { "World Stock Exchange account and TIX API Access
      ", LatestUpdate: - "v0.37.1
      " + - "* You now earn money from successfully completing Bladeburner contracts. The amount you earn is based " + - "on the difficulty of the contract.
      " + - "* Completing Field Analysis in Bladeburner now grants 0.1 rank
      " + - "* The maximum RAM you can get on a purchased server is now 1,048,576GB (2^20)
      " + - "* Bug Fix: Fixed Netscript syntax highlighting issues with the new NetscriptJS
      " + - "* Bug Fix: Netscript Functions now properly incur RAM costs in NetscriptJS
      " + - "* Bug Fix: deleteServer() now fails if its called on the server you are currently connected to
      " + - "* Removed in-game Netscript documentation, since it was outdated and difficult to maintain.
      " + - "* Bug Fix: Updated the gymWorkout() Singularity function with the new exp/cost values for gyms
      " + "v0.37.2
      " + + "* After joining the Bladeburners division, there is now a button to go to the Bladeburner content " + + "in the 'City' page
      " + + "* You now start with $250m in BitNode-8 (increased from $100m)
      " + + "* Bug Fix: You can now no longer directly edit Hacknet Node values through NetscriptJS (hopefully)
      " + + "* Bug Fix: Bladeburners is no longer accessible in BN-8
      " + + "* Bug Fix: getBitNodeMultipliers() Netscript function now returns a copy rather than the original object
      " } export {CONSTANTS}; diff --git a/src/HacknetNode.js b/src/HacknetNode.js index 4c7597b73..8461dd58a 100644 --- a/src/HacknetNode.js +++ b/src/HacknetNode.js @@ -56,6 +56,7 @@ function HacknetNode(name) { this.moneyGainRatePerSecond = 0; } + HacknetNode.prototype.updateMoneyGainRate = function() { //How much extra $/s is gained per level var gainPerLevel = CONSTANTS.HacknetNodeMoneyGainPerLevel; @@ -180,6 +181,36 @@ HacknetNode.fromJSON = function(value) { Reviver.constructors.HacknetNode = HacknetNode; +var HacknetNodeWrapper = function(hacknetNodeObj) { + var _node = hacknetNodeObj; + return { + name : _node.name, + level : _node.level, + ram : _node.ram, + cores : _node.cores, + totalMoneyGenerated : _node.totalMoneyGenerated, + onlineTimeSeconds : _node.onlineTimeSeconds, + moneyGainRatePerSecond : _node.moneyGainRatePerSecond, + upgradeLevel : function(n) { + return _node.upgradeLevel(n); + }, + upgradeRam : function() { + return _node.upgradeRam(); + }, + upgradeCore : function() { + return _node.upgradeCore(); + }, + getLevelUpgradeCost : function(n) { + return _node.getLevelUpgradeCost(n); + }, + getRamUpgradeCost : function() { + return _node.getRamUpgradeCost(); + }, + getCoreUpgradeCost : function() { + return _node.getCoreUpgradeCost(); + } + } +} function purchaseHacknet() { /* INTERACTIVE TUTORIAL */ @@ -469,8 +500,31 @@ function updateHacknetNodeDomElement(nodeObj) { } } +function createPlayerHacknetNodeWrappers() { + Player.hacknetNodeWrappers.length = Player.hacknetNodes.length; + for (var i = 0; i < Player.hacknetNodes.length; ++i) { + Player.hacknetNodeWrappers[i] = new HacknetNodeWrapper(Player.hacknetNodes[i]); + } +} + +function updatePlayerHacknetNodeWrappers() { + if (Player.hacknetNodeWrappers.length !== Player.hacknetNodes.length) { + return createPlayerHacknetNodeWrappers(); + } + for (var i = 0; i < Player.hacknetNodeWrappers.length; ++i) { + if (!(Player.hacknetNodeWrappers[i] instanceof HacknetNodeWrapper)) {return createPlayerHacknetNodeWrappers();} + Player.hacknetNodeWrappers[i].level = Player.hacknetNodes[i].level; + Player.hacknetNodeWrappers[i].ram = Player.hacknetNodes[i].ram; + Player.hacknetNodeWrappers[i].cores = Player.hacknetNodes[i].cores; + Player.hacknetNodeWrappers[i].totalMoneyGenerated = Player.hacknetNodes[i].totalMoneyGenerated; + Player.hacknetNodeWrappers[i].onlineTimeSeconds = Player.hacknetNodes[i].onlineTimeSeconds; + Player.hacknetNodeWrappers[i].moneyGainRatePerSecond = Player.hacknetNodes[i].moneyGainRatePerSecond; + } +} + function processAllHacknetNodeEarnings(numCycles) { var total = 0; + updatePlayerHacknetNodeWrappers(); for (var i = 0; i < Player.hacknetNodes.length; ++i) { total += processSingleHacknetNodeEarnings(numCycles, Player.hacknetNodes[i]); } @@ -503,4 +557,4 @@ function getHacknetNode(name) { export {hacknetNodesInit, HacknetNode, purchaseHacknet, updateTotalHacknetProduction, getCostOfNextHacknetNode, updateHacknetNodesMultiplierButtons, getMaxNumberLevelUpgrades, displayHacknetNodesContent, updateHacknetNodesContent, processAllHacknetNodeEarnings, - getHacknetNode}; + getHacknetNode, createPlayerHacknetNodeWrappers}; diff --git a/src/Location.js b/src/Location.js index d024f6434..ed6db7472 100644 --- a/src/Location.js +++ b/src/Location.js @@ -726,6 +726,7 @@ function displayLocationContent() { securityJob.style.display = "block"; agentJob.style.display = "block"; if (Player.bitNodeN === 6 || hasBladeburnerSF === true) { + if (Player.bitNodeN === 8) {break;} if (Player.bladeburner instanceof Bladeburner) { //Note: Can't infiltrate NSA when part of bladeburner nsaBladeburner.innerText = "Enter Bladeburner Headquarters"; diff --git a/src/NetscriptFunctions.js b/src/NetscriptFunctions.js index 9d3caa194..6e40dddbb 100644 --- a/src/NetscriptFunctions.js +++ b/src/NetscriptFunctions.js @@ -151,7 +151,7 @@ function NetscriptFunctions(workerScript) { Math : Math, Date : Date, Number : Number, - hacknetnodes : Player.hacknetNodes, + hacknetnodes : Player.hacknetNodeWrappers, sprintf : sprintf, vsprintf: vsprintf, scan : function(ip=workerScript.serverIp, hostnames=true){ @@ -1118,7 +1118,8 @@ function NetscriptFunctions(workerScript) { if (!hasAISF) { throw makeRuntimeRejectMsg(workerScript, "Cannot run getBitNodeMultipliers(). It requires Source-File 5 to run."); } - return BitNodeMultipliers; + let copy = Object.assign({}, BitNodeMultipliers); + return copy; }, getServerMoneyAvailable : function(ip){ if (workerScript.checkingRam) { diff --git a/src/Player.js b/src/Player.js index c94cd09a0..d46c024d8 100644 --- a/src/Player.js +++ b/src/Player.js @@ -99,6 +99,7 @@ function PlayerObject() { this.currentServer = ""; //IP address of Server currently being accessed through terminal this.purchasedServers = []; //IP Addresses of purchased servers this.hacknetNodes = []; + this.hacknetNodeWrappers = []; this.totalHacknetNodeProduction = 0; //Factions @@ -390,16 +391,8 @@ PlayerObject.prototype.prestigeSourceFile = function() { if (this.bitNodeN === 3) {this.money = new Decimal(150e9);} this.corporation = 0; - //Reset Bladeburner this.bladeburner = 0; - //BitNode 8: Ghost of Wall Street - if (this.bitNodeN === 8) {this.money = new Decimal(100000000);} - if (this.bitNodeN === 8 || hasWallStreetSF) { - this.hasWseAccount = true; - this.hasTixApiAccess = true; - } - this.playtimeSinceLastAug = 0; this.scriptProdSinceLastAug = 0; } diff --git a/src/Prestige.js b/src/Prestige.js index 2c3c68eae..51ba47355 100644 --- a/src/Prestige.js +++ b/src/Prestige.js @@ -34,6 +34,8 @@ import {createPopup, createElement, import {yesNoBoxCreate, yesNoBoxGetYesButton, yesNoBoxGetNoButton, yesNoBoxClose} from "../utils/YesNoBox.js"; +let BitNode8StartingMoney = 250e6; + //Prestige by purchasing augmentation function prestigeAugmentation() { initBitNodeMultipliers(); @@ -127,7 +129,7 @@ function prestigeAugmentation() { Player.bladeburner = null; //BitNode 8: Ghost of Wall Street - if (Player.bitNodeN === 8) {Player.money = new Decimal(100e6);} + if (Player.bitNodeN === 8) {Player.money = new Decimal(BitNode8StartingMoney);} if (Player.bitNodeN === 8 || hasWallStreetSF) { Player.hasWseAccount = true; Player.hasTixApiAccess = true; @@ -305,6 +307,13 @@ function prestigeSourceFile() { } + //BitNode 8: Ghost of Wall Street + if (Player.bitNodeN === 8) {Player.money = new Decimal(BitNode8StartingMoney);} + if (Player.bitNodeN === 8 || hasWallStreetSF) { + Player.hasWseAccount = true; + Player.hasTixApiAccess = true; + } + //Gain int exp Player.gainIntelligenceExp(5); } diff --git a/src/SaveObject.js b/src/SaveObject.js index 6d1340009..244c8820c 100644 --- a/src/SaveObject.js +++ b/src/SaveObject.js @@ -8,7 +8,8 @@ import {loadFactions, Factions, processPassiveFactionRepGain} from "./Faction.js"; import {FconfSettings, loadFconf} from "./Fconf.js"; import {loadAllGangs, AllGangs} from "./Gang.js"; -import {processAllHacknetNodeEarnings} from "./HacknetNode.js"; +import {processAllHacknetNodeEarnings, + createPlayerHacknetNodeWrappers} from "./HacknetNode.js"; import {loadMessages, initMessages, Messages} from "./Message.js"; import {Player, loadPlayer} from "./Player.js"; import {loadAllRunningScripts} from "./Script.js"; @@ -227,6 +228,8 @@ function loadGame(saveString) { } } + //Re-initialize Hacknet Node Wrappers + createPlayerHacknetNodeWrappers(); return true; } @@ -443,6 +446,9 @@ function loadImportedGame(saveObj, saveString) { } } + //Re-initialize Hacknet Node Wrappers + createPlayerHacknetNodeWrappers(); + var popupId = "import-game-restart-game-notice"; var txt = createElement("p", { innerText:"Imported game! I would suggest saving the game and then reloading the page " + diff --git a/src/StockMarket.js b/src/StockMarket.js index edf4aa4ef..6db4a46a7 100644 --- a/src/StockMarket.js +++ b/src/StockMarket.js @@ -703,7 +703,7 @@ function displayStockMarketContent() { if (!Player.hasWseAccount && Player.money.gte(CONSTANTS.WSEAccountCost)) { wseAccountButton.setAttribute("class", "a-link-button"); } else if (Player.hasWseAccount){ - wseAccountButton.innerText = "WSE Account - acquired"; + wseAccountButton.innerText = "WSE Account - Purchased"; wseAccountButton.setAttribute("class", "a-link-button-bought"); } else { wseAccountButton.setAttribute("class", "a-link-button-inactive"); @@ -724,7 +724,7 @@ function displayStockMarketContent() { if (!Player.hasTixApiAccess && Player.money.gte(CONSTANTS.TIXAPICost)) { tixApiAccessButton.setAttribute("class", "a-link-button"); } else if(Player.hasTixApiAccess) { - tixApiAccessButton.innerText = "Trade Information eXchange (TIX) API Access - granted" + tixApiAccessButton.innerText = "Trade Information eXchange (TIX) API Access - Purchased" tixApiAccessButton.setAttribute("class", "a-link-button-bought"); } else { tixApiAccessButton.setAttribute("class", "a-link-button-inactive"); diff --git a/src/engine.js b/src/engine.js index fcc16b450..dc721e5a9 100644 --- a/src/engine.js +++ b/src/engine.js @@ -650,6 +650,7 @@ let Engine = { //Generic Locations (common to every city): // World Stock Exchange // Corporation (if applicable) + // Bladeburner HQ (if applicable); var genericLocationsList = document.getElementById("generic-locations-list"); genericLocationsList.style.display = "inline"; removeChildrenFromElement(genericLocationsList); @@ -676,6 +677,18 @@ let Engine = { })); genericLocationsList.appendChild(li); } + + if (Player.bladeburner instanceof Bladeburner) { + var li = createElement("li"); + li.appendChild(createElement("a", { + innerText:"Bladeburner Headquarters", class:"a-link-button", + clickListener:()=>{ + Engine.loadBladeburnerContent(); + return false; + } + })); + genericLocationsList.appendChild(li); + } }, displayFactionsInfo: function() {