diff --git a/css/menupages.css b/css/menupages.css index fe23d4c2b..d86f2ea46 100644 --- a/css/menupages.css +++ b/css/menupages.css @@ -486,6 +486,33 @@ width: 50%; } +/* Dev menu */ +#dev-menu-container { + position: fixed; + padding-top: 10px; +} + +#dev-menu-text { + width: 70%; + margin: 10px; +} + +#dev-menu-container a { + width: 50%; +} + +.dev-text-input { + color: var(--my-font-color); + border: 1px solid white; + background-color:black; +} + +.dev-dropdown-input { + color: var(--my-font-color); + border: 1px solid white; + background-color:black; +} + /* Location */ #location-container { position: fixed; diff --git a/dist/engine.bundle.js b/dist/engine.bundle.js index beaa56127..8284523f9 100644 --- a/dist/engine.bundle.js +++ b/dist/engine.bundle.js @@ -97,25 +97,25 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadPlayer", function() { return loadPlayer; }); /* harmony import */ var _Augmentations_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentations.js */ 17); /* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BitNode.js */ 15); -/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Company.js */ 9); +/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Company.js */ 10); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Constants.js */ 3); -/* harmony import */ var _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CompanyManagement.js */ 42); -/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CreateProgram.js */ 14); +/* harmony import */ var _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CompanyManagement.js */ 43); +/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CreateProgram.js */ 13); /* harmony import */ var _Crimes_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Crimes.js */ 27); /* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./engine.js */ 5); /* harmony import */ var _Faction_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Faction.js */ 11); /* harmony import */ var _Gang_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Gang.js */ 35); /* harmony import */ var _Location_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Location.js */ 4); /* harmony import */ var _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./NetscriptFunctions.js */ 30); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Server.js */ 10); -/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./SpecialServerIps.js */ 18); -/* harmony import */ var _SourceFile_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./SourceFile.js */ 44); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Server.js */ 8); +/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./SpecialServerIps.js */ 19); +/* harmony import */ var _SourceFile_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./SourceFile.js */ 41); /* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! decimal.js */ 23); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); /* harmony import */ var _utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/IPAddress.js */ 16); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); -/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! numeral/min/numeral.min */ 13); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); +/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! numeral/min/numeral.min */ 14); /* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_20__); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); @@ -526,6 +526,14 @@ PlayerObject.prototype.getUpgradeHomeRamCost = function() { return cost; } +PlayerObject.prototype.receiveInvite = function(factionName) { + if(this.factionInvitations.includes(factionName) || this.factions.includes(factionName)) { + return; + } + this.firstFacInvRecvd = true; + this.factionInvitations.push(factionName); +} + //Calculates skill level based on experience. The same formula will be used for every skill PlayerObject.prototype.calculateSkill = function(exp) { return Math.max(Math.floor(32 * Math.log(exp + 534.5) - 200), 1); @@ -692,6 +700,9 @@ PlayerObject.prototype.gainHackingExp = function(exp) { console.log("ERR: NaN passed into Player.gainHackingExp()"); return; } this.hacking_exp += exp; + if(this.hacking_exp < 0) { + this.hacking_exp = 0; + } } PlayerObject.prototype.gainStrengthExp = function(exp) { @@ -699,6 +710,9 @@ PlayerObject.prototype.gainStrengthExp = function(exp) { console.log("ERR: NaN passed into Player.gainStrengthExp()"); return; } this.strength_exp += exp; + if(this.strength_exp < 0) { + this.strength_exp = 0; + } } PlayerObject.prototype.gainDefenseExp = function(exp) { @@ -706,6 +720,9 @@ PlayerObject.prototype.gainDefenseExp = function(exp) { console.log("ERR: NaN passed into player.gainDefenseExp()"); return; } this.defense_exp += exp; + if(this.defense_exp < 0) { + this.defense_exp = 0; + } } PlayerObject.prototype.gainDexterityExp = function(exp) { @@ -713,6 +730,9 @@ PlayerObject.prototype.gainDexterityExp = function(exp) { console.log("ERR: NaN passed into Player.gainDexterityExp()"); return; } this.dexterity_exp += exp; + if(this.dexterity_exp < 0) { + this.dexterity_exp = 0; + } } PlayerObject.prototype.gainAgilityExp = function(exp) { @@ -720,6 +740,9 @@ PlayerObject.prototype.gainAgilityExp = function(exp) { console.log("ERR: NaN passed into Player.gainAgilityExp()"); return; } this.agility_exp += exp; + if(this.agility_exp < 0) { + this.agility_exp = 0; + } } PlayerObject.prototype.gainCharismaExp = function(exp) { @@ -727,6 +750,9 @@ PlayerObject.prototype.gainCharismaExp = function(exp) { console.log("ERR: NaN passed into Player.gainCharismaExp()"); return; } this.charisma_exp += exp; + if(this.charisma_exp < 0) { + this.charisma_exp = 0; + } } PlayerObject.prototype.gainIntelligenceExp = function(exp) { @@ -2428,6 +2454,25 @@ PlayerObject.prototype.setBitNodeNumber = function(n) { this.bitNodeN = n; } +PlayerObject.prototype.queueAugmentation = function(name) { + for(const i in this.queuedAugmentations) { + if(this.queuedAugmentations[i].name == name) { + console.log('tried to queue '+name+' twice, this may be a bug'); + return; + } + } + + for(const i in this.augmentations) { + if(this.augmentations[i].name == name) { + console.log('tried to queue '+name+' but we already have that aug'); + return; + } + } + + this.firstAugPurchased = true; + this.queuedAugmentations.push(new _Augmentations_js__WEBPACK_IMPORTED_MODULE_0__["PlayerOwnedAugmentation"](name)); +} + /* Functions for saving and loading the Player data */ function loadPlayer(saveString) { Player = JSON.parse(saveString, _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_19__["Reviver"]); @@ -3475,22 +3520,22 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "displayLocationContent", function() { return displayLocationContent; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initLocationButtons", function() { return initLocationButtons; }); /* harmony import */ var _Bladeburner_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Bladeburner.js */ 26); -/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Company.js */ 9); -/* harmony import */ var _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CompanyManagement.js */ 42); +/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Company.js */ 10); +/* harmony import */ var _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CompanyManagement.js */ 43); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Constants.js */ 3); /* harmony import */ var _Crimes_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Crimes.js */ 27); /* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./engine.js */ 5); /* harmony import */ var _Infiltration_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Infiltration.js */ 118); /* harmony import */ var _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./NetscriptFunctions.js */ 30); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _ServerPurchases_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ServerPurchases.js */ 83); /* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Settings.js */ 22); -/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./SpecialServerIps.js */ 18); +/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./SpecialServerIps.js */ 19); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); /* harmony import */ var _utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/IPAddress.js */ 16); -/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! numeral/min/numeral.min */ 13); +/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! numeral/min/numeral.min */ 14); /* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_16__); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); /* harmony import */ var _utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/YesNoBox.js */ 12); @@ -5690,41 +5735,43 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_GameOptions_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/GameOptions.js */ 53); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! numeral/min/numeral.min */ 13); +/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! numeral/min/numeral.min */ 14); /* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); /* harmony import */ var _utils_LogBox_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/LogBox.js */ 50); -/* harmony import */ var _ActiveScriptsUI_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ActiveScriptsUI.js */ 41); +/* harmony import */ var _ActiveScriptsUI_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ActiveScriptsUI.js */ 42); /* harmony import */ var _Augmentations_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Augmentations.js */ 17); /* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./BitNode.js */ 15); /* harmony import */ var _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Bladeburner.js */ 26); /* harmony import */ var _CinematicText_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CinematicText.js */ 68); -/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Company.js */ 9); -/* harmony import */ var _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./CompanyManagement.js */ 42); +/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Company.js */ 10); +/* harmony import */ var _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./CompanyManagement.js */ 43); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Constants.js */ 3); -/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./CreateProgram.js */ 14); -/* harmony import */ var _Faction_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Faction.js */ 11); -/* harmony import */ var _Fconf_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Fconf.js */ 32); -/* harmony import */ var _Location_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Location.js */ 4); -/* harmony import */ var _Gang_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Gang.js */ 35); -/* harmony import */ var _HacknetNode_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./HacknetNode.js */ 37); -/* harmony import */ var _InteractiveTutorial_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./InteractiveTutorial.js */ 24); -/* harmony import */ var _Literature_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Literature.js */ 52); -/* harmony import */ var _Message_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Message.js */ 28); -/* harmony import */ var _Missions_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Missions.js */ 33); -/* harmony import */ var _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./NetscriptFunctions.js */ 30); -/* harmony import */ var _NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./NetscriptWorker.js */ 20); -/* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _Prestige_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Prestige.js */ 56); -/* harmony import */ var _RedPill_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./RedPill.js */ 40); -/* harmony import */ var _SaveObject_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./SaveObject.js */ 46); -/* harmony import */ var _Script_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./Script.js */ 25); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./Server.js */ 10); -/* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./Settings.js */ 22); -/* harmony import */ var _SourceFile_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./SourceFile.js */ 44); -/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./SpecialServerIps.js */ 18); -/* harmony import */ var _StockMarket_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./StockMarket.js */ 21); -/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./Terminal.js */ 19); +/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./CreateProgram.js */ 13); +/* harmony import */ var _devmode_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./devmode.js */ 126); +/* harmony import */ var _Faction_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Faction.js */ 11); +/* harmony import */ var _Fconf_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Fconf.js */ 32); +/* harmony import */ var _Location_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Location.js */ 4); +/* harmony import */ var _Gang_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Gang.js */ 35); +/* harmony import */ var _HacknetNode_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./HacknetNode.js */ 37); +/* harmony import */ var _InteractiveTutorial_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./InteractiveTutorial.js */ 24); +/* harmony import */ var _Literature_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Literature.js */ 52); +/* harmony import */ var _Message_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Message.js */ 28); +/* harmony import */ var _Missions_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Missions.js */ 33); +/* harmony import */ var _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./NetscriptFunctions.js */ 30); +/* harmony import */ var _NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./NetscriptWorker.js */ 20); +/* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Player.js */ 0); +/* harmony import */ var _Prestige_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Prestige.js */ 56); +/* harmony import */ var _RedPill_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./RedPill.js */ 38); +/* harmony import */ var _SaveObject_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./SaveObject.js */ 46); +/* harmony import */ var _Script_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./Script.js */ 25); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./Server.js */ 8); +/* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./Settings.js */ 22); +/* harmony import */ var _SourceFile_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./SourceFile.js */ 41); +/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./SpecialServerIps.js */ 19); +/* harmony import */ var _StockMarket_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./StockMarket.js */ 21); +/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./Terminal.js */ 18); + @@ -5780,52 +5827,52 @@ __webpack_require__.r(__webpack_exports__); * Alt-o - Options */ $(document).keydown(function(e) { - if (_Settings_js__WEBPACK_IMPORTED_MODULE_32__["Settings"].DisableHotkeys === true) {return;} - if (!_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].isWorking && !_RedPill_js__WEBPACK_IMPORTED_MODULE_28__["redPillFlag"] && !_Missions_js__WEBPACK_IMPORTED_MODULE_23__["inMission"] && !_CinematicText_js__WEBPACK_IMPORTED_MODULE_10__["cinematicTextFlag"]) { + if (_Settings_js__WEBPACK_IMPORTED_MODULE_33__["Settings"].DisableHotkeys === true) {return;} + if (!_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].isWorking && !_RedPill_js__WEBPACK_IMPORTED_MODULE_29__["redPillFlag"] && !_Missions_js__WEBPACK_IMPORTED_MODULE_24__["inMission"] && !_CinematicText_js__WEBPACK_IMPORTED_MODULE_10__["cinematicTextFlag"]) { if (e.keyCode == 84 && e.altKey) { e.preventDefault(); Engine.loadTerminalContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].C && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].C && e.altKey) { e.preventDefault(); Engine.loadCharacterContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].E && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].E && e.altKey) { e.preventDefault(); Engine.loadScriptEditorContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].S && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].S && e.altKey) { e.preventDefault(); Engine.loadActiveScriptsContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].H && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].H && e.altKey) { e.preventDefault(); Engine.loadHacknetNodesContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].W && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].W && e.altKey) { e.preventDefault(); Engine.loadWorldContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].J && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].J && e.altKey) { e.preventDefault(); Engine.loadJobContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].R && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].R && e.altKey) { e.preventDefault(); Engine.loadTravelContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].P && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].P && e.altKey) { e.preventDefault(); Engine.loadCreateProgramContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].F && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].F && e.altKey) { //Overriden by Fconf - if (Engine.currentPage === Engine.Page.Terminal && _Fconf_js__WEBPACK_IMPORTED_MODULE_16__["FconfSettings"].ENABLE_BASH_HOTKEYS) { + if (Engine.currentPage === Engine.Page.Terminal && _Fconf_js__WEBPACK_IMPORTED_MODULE_17__["FconfSettings"].ENABLE_BASH_HOTKEYS) { return; } e.preventDefault(); Engine.loadFactionsContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].A && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].A && e.altKey) { e.preventDefault(); Engine.loadAugmentationsContent(); - } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].U && e.altKey) { + } else if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].U && e.altKey) { e.preventDefault(); Engine.loadTutorialContent(); } } - if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["KEY"].O && e.altKey) { + if (e.keyCode === _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["KEY"].O && e.altKey) { e.preventDefault(); Object(_utils_GameOptions_js__WEBPACK_IMPORTED_MODULE_1__["gameOptionsBoxOpen"])(); } @@ -5850,6 +5897,7 @@ let Engine = { factionsMainMenuButton: null, augmentationsMainMenuButton: null, tutorialMainMenuButton: null, + devMainMenuButton: null, saveMainMenuButton: null, deleteMainMenuButton: null, @@ -5863,6 +5911,41 @@ let Engine = { tutorialFactionsButton: null, tutorialAugmentationsButton: null, tutorialBackButton: null, + + //Dev menu + devMenuGiveMoney: null, + devMenuGiveRam: null, + devMenuAugDropdown: null, + devMenuAddAug: null, + devMenuTriggerBitFlume: null, + devMenuFactionDropdown: null, + devMenuAddFaction: null, + devMenuOpen: null, + devMenuMinSecurity: null, + devMenuMaxMoney: null, + devMenuConnectDropdown: null, + devMenuConnect: null, + devMenuProgramsDropdown: null, + devMenuAddProgram: null, + devMenuHackingExp: null, + devMenuAddHacking: null, + devMenuStrengthExp: null, + devMenuAddStrength: null, + devMenuDefenseExp: null, + devMenuAddDefense: null, + devMenuDexterityExp: null, + devMenuAddDexterity: null, + devMenuAgilityExp: null, + devMenuAddAgility: null, + devMenuCharismaExp: null, + devMenuAddCharisma: null, + devMenuIntelligenceExp: null, + devMenuAddIntelligence: null, + devMenuEnableIntelligence: null, + devMenuDisableIntelligence: null, + devMenuSFN: null, + devMenuSFLvl: null, + devMenuAddSF: null, }, //Display objects @@ -5888,6 +5971,7 @@ let Engine = { factionAugmentationsContent: null, augmentationsContent: null, tutorialContent: null, + devMenuContent: null, infiltrationContent: null, stockMarketContent: null, locationContent: null, @@ -5913,6 +5997,7 @@ let Engine = { Faction: "Faction", Augmentations: "Augmentations", Tutorial: "Tutorial", + DevMenu: "Dev Menu", Location: "Location", workInProgress: "WorkInProgress", RedPill: "RedPill", @@ -5957,7 +6042,7 @@ let Engine = { editor.setValue(code); } editor.focus(); - Object(_Script_js__WEBPACK_IMPORTED_MODULE_30__["updateScriptEditorContent"])(); + Object(_Script_js__WEBPACK_IMPORTED_MODULE_31__["updateScriptEditorContent"])(); Engine.currentPage = Engine.Page.ScriptEditor; document.getElementById("create-script-menu-link").classList.add("active"); }, @@ -5973,7 +6058,7 @@ let Engine = { loadHacknetNodesContent: function() { Engine.hideAllContent(); Engine.Display.hacknetNodesContent.style.display = "block"; - Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_19__["displayHacknetNodesContent"])(); + Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_20__["displayHacknetNodesContent"])(); Engine.currentPage = Engine.Page.HacknetNodes; document.getElementById("hacknet-nodes-menu-link").classList.add("active"); }, @@ -6024,32 +6109,40 @@ let Engine = { document.getElementById("tutorial-menu-link").classList.add("active"); }, + loadDevMenuContent: function() { + Engine.hideAllContent(); + Engine.Display.devMenuContent.style.display = "block"; + Engine.displayDevMenuContent(); + Engine.currentPage = Engine.Page.DevMenu; + document.getElementById("dev-menu-link").classList.add("active"); + }, + loadLocationContent: function() { Engine.hideAllContent(); Engine.Display.locationContent.style.display = "block"; - Object(_Location_js__WEBPACK_IMPORTED_MODULE_17__["displayLocationContent"])(); + Object(_Location_js__WEBPACK_IMPORTED_MODULE_18__["displayLocationContent"])(); Engine.currentPage = Engine.Page.Location; }, loadTravelContent: function() { - switch(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].city) { - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Aevum: - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].AevumTravelAgency; + switch(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].city) { + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Aevum: + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].AevumTravelAgency; break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Chongqing: - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].ChongqingTravelAgency; + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Chongqing: + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].ChongqingTravelAgency; break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12: - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12TravelAgency; + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12: + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12TravelAgency; break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].NewTokyo: - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].NewTokyoTravelAgency; + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].NewTokyo: + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].NewTokyoTravelAgency; break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Ishima: - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].IshimaTravelAgency; + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Ishima: + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].IshimaTravelAgency; break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Volhaven: - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].VolhavenTravelAgency; + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Volhaven: + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].VolhavenTravelAgency; break; default: Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("ERROR: Invalid city. This is a bug please contact game dev"); @@ -6059,12 +6152,12 @@ let Engine = { }, loadJobContent: function() { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].companyName == "") { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].companyName == "") { Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("You do not currently have a job! You can visit various companies " + "in the city and try to find a job."); return; } - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].location = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].companyName; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].location = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].companyName; Engine.loadLocationContent(); }, @@ -6103,13 +6196,13 @@ let Engine = { Engine.hideAllContent(); Engine.Display.stockMarketContent.style.display = "block"; Engine.currentPage = Engine.Page.StockMarket; - Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_35__["displayStockMarketContent"])(); + Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_36__["displayStockMarketContent"])(); }, loadGangContent: function() { Engine.hideAllContent(); - if (document.getElementById("gang-container") || _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].inGang()) { - Object(_Gang_js__WEBPACK_IMPORTED_MODULE_18__["displayGangContent"])(); + if (document.getElementById("gang-container") || _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].inGang()) { + Object(_Gang_js__WEBPACK_IMPORTED_MODULE_19__["displayGangContent"])(); Engine.currentPage = Engine.Page.Gang; } else { Engine.loadTerminalContent(); @@ -6126,20 +6219,20 @@ let Engine = { }, loadCorporationContent: function() { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"]) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"]) { Engine.hideAllContent(); document.getElementById("character-overview-wrapper").style.visibility = "hidden"; - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation.createUI(); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation.createUI(); Engine.currentPage = Engine.Page.Corporation; } }, loadBladeburnerContent: function() { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { try { Engine.hideAllContent(); Engine.currentPage = Engine.Page.Bladeburner; - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner.createContent(); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner.createContent(); } catch(e) { Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["exceptionAlert"])(e); } @@ -6160,6 +6253,7 @@ let Engine = { Engine.Display.factionAugmentationsContent.style.display = "none"; Engine.Display.augmentationsContent.style.display = "none"; Engine.Display.tutorialContent.style.display = "none"; + Engine.Display.devMenuContent.style.display = "none"; Engine.Display.locationContent.style.display = "none"; Engine.Display.workInProgressContent.style.display = "none"; Engine.Display.redPillContent.style.display = "none"; @@ -6171,12 +6265,12 @@ let Engine = { document.getElementById("gang-container").style.display = "none"; } - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"]) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation.clearUI(); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"]) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation.clearUI(); } - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner.clearContent(); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner.clearContent(); } //Location lists @@ -6199,20 +6293,21 @@ let Engine = { document.getElementById("city-menu-link").classList.remove("active"); document.getElementById("tutorial-menu-link").classList.remove("active"); document.getElementById("options-menu-link").classList.remove("active"); + document.getElementById("dev-menu-link").classList.remove("active"); }, displayCharacterOverviewInfo: function() { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hp == null) {_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hp = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].max_hp;} - var overviewText = "Hp: " + _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hp + " / " + _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].max_hp + "
" + - "Money: " + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].money.toNumber()).format('($0.000a)') + "
" + - "Hack: " + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacking_skill).toLocaleString() + "
" + - "Str: " + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].strength).toLocaleString() + "
" + - "Def: " + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].defense).toLocaleString() + "
" + - "Dex: " + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].dexterity).toLocaleString() + "
" + - "Agi: " + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].agility).toLocaleString() + "
" + - "Cha: " + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].charisma).toLocaleString(); - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].intelligence >= 1) { - overviewText += "
Int: " + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].intelligence).toLocaleString(); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hp == null) {_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hp = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].max_hp;} + var overviewText = "Hp: " + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hp + " / " + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].max_hp + "
" + + "Money: " + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].money.toNumber()).format('($0.000a)') + "
" + + "Hack: " + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacking_skill).toLocaleString() + "
" + + "Str: " + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].strength).toLocaleString() + "
" + + "Def: " + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].defense).toLocaleString() + "
" + + "Dex: " + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].dexterity).toLocaleString() + "
" + + "Agi: " + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].agility).toLocaleString() + "
" + + "Cha: " + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].charisma).toLocaleString(); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].intelligence >= 1) { + overviewText += "
Int: " + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].intelligence).toLocaleString(); } document.getElementById("character-overview-text").innerHTML = overviewText.replace( / /g, " "); }, @@ -6222,78 +6317,78 @@ let Engine = { Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["removeChildrenFromElement"])(Engine.Display.characterInfo); var companyPosition = ""; - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].companyPosition != "") { - companyPosition = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].companyPosition.positionName; + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].companyPosition != "") { + companyPosition = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].companyPosition.positionName; } var intText = ""; - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].intelligence > 0) { - intText = 'Intelligence: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].intelligence).toLocaleString() + "


"; + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].intelligence > 0) { + intText = 'Intelligence: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].intelligence).toLocaleString() + "


"; } Engine.Display.characterInfo.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("pre", { innerHTML: 'General

' + - 'Current City: ' + _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].city + '

' + - 'Employer: ' + _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].companyName + '
' + + 'Current City: ' + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].city + '

' + + 'Employer: ' + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].companyName + '
' + 'Job Title: ' + companyPosition + '

' + - 'Money: $' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].money.toNumber(), 2)+ '


' + + 'Money: $' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].money.toNumber(), 2)+ '


' + 'Stats

' + - 'Hacking Level: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacking_skill).toLocaleString() + - " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacking_exp).format('(0.000a)') + ' experience)
' + - 'Strength: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].strength).toLocaleString() + - " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].strength_exp).format('(0.000a)') + ' experience)
' + - 'Defense: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].defense).toLocaleString() + - " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].defense_exp).format('(0.000a)')+ ' experience)
' + - 'Dexterity: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].dexterity).toLocaleString() + - " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].dexterity_exp).format('(0.000a)') + ' experience)
' + - 'Agility: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].agility).toLocaleString() + - " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].agility_exp).format('(0.000a)') + ' experience)
' + - 'Charisma: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].charisma).toLocaleString() + - " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].charisma_exp).format('(0.000a)') + ' experience)
' + + 'Hacking Level: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacking_skill).toLocaleString() + + " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacking_exp).format('(0.000a)') + ' experience)
' + + 'Strength: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].strength).toLocaleString() + + " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].strength_exp).format('(0.000a)') + ' experience)
' + + 'Defense: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].defense).toLocaleString() + + " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].defense_exp).format('(0.000a)')+ ' experience)
' + + 'Dexterity: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].dexterity).toLocaleString() + + " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].dexterity_exp).format('(0.000a)') + ' experience)
' + + 'Agility: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].agility).toLocaleString() + + " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].agility_exp).format('(0.000a)') + ' experience)
' + + 'Charisma: ' + (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].charisma).toLocaleString() + + " (" + numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_3___default()(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].charisma_exp).format('(0.000a)') + ' experience)
' + intText + 'Multipliers

' + - 'Hacking Chance multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacking_chance_mult * 100, 2) + '%
' + - 'Hacking Speed multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacking_speed_mult * 100, 2) + '%
' + - 'Hacking Money multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacking_money_mult * 100, 2) + '%
' + - 'Hacking Growth multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacking_grow_mult * 100, 2) + '%

' + - 'Hacking Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacking_mult * 100, 2) + '%
' + - 'Hacking Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacking_exp_mult * 100, 2) + '%

' + - 'Strength Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].strength_mult * 100, 2) + '%
' + - 'Strength Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].strength_exp_mult * 100, 2) + '%

' + - 'Defense Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].defense_mult * 100, 2) + '%
' + - 'Defense Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].defense_exp_mult * 100, 2) + '%

' + - 'Dexterity Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].dexterity_mult * 100, 2) + '%
' + - 'Dexterity Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].dexterity_exp_mult * 100, 2) + '%

' + - 'Agility Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].agility_mult * 100, 2) + '%
' + - 'Agility Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].agility_exp_mult * 100, 2) + '%

' + - 'Charisma Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].charisma_mult * 100, 2) + '%
' + - 'Charisma Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].charisma_exp_mult * 100, 2) + '%

' + - 'Hacknet Node production multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacknet_node_money_mult * 100, 2) + '%
' + - 'Hacknet Node purchase cost multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacknet_node_purchase_cost_mult * 100, 2) + '%
' + - 'Hacknet Node RAM upgrade cost multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacknet_node_ram_cost_mult * 100, 2) + '%
' + - 'Hacknet Node Core purchase cost multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacknet_node_core_cost_mult * 100, 2) + '%
' + - 'Hacknet Node level upgrade cost multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacknet_node_level_cost_mult * 100, 2) + '%

' + - 'Company reputation gain multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].company_rep_mult * 100, 2) + '%
' + - 'Faction reputation gain multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].faction_rep_mult * 100, 2) + '%
' + - 'Salary multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].work_money_mult * 100, 2) + '%
' + - 'Crime success multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].crime_success_mult * 100, 2) + '%
' + - 'Crime money multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].crime_money_mult * 100, 2) + '%


' + + 'Hacking Chance multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacking_chance_mult * 100, 2) + '%
' + + 'Hacking Speed multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacking_speed_mult * 100, 2) + '%
' + + 'Hacking Money multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacking_money_mult * 100, 2) + '%
' + + 'Hacking Growth multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacking_grow_mult * 100, 2) + '%

' + + 'Hacking Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacking_mult * 100, 2) + '%
' + + 'Hacking Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacking_exp_mult * 100, 2) + '%

' + + 'Strength Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].strength_mult * 100, 2) + '%
' + + 'Strength Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].strength_exp_mult * 100, 2) + '%

' + + 'Defense Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].defense_mult * 100, 2) + '%
' + + 'Defense Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].defense_exp_mult * 100, 2) + '%

' + + 'Dexterity Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].dexterity_mult * 100, 2) + '%
' + + 'Dexterity Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].dexterity_exp_mult * 100, 2) + '%

' + + 'Agility Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].agility_mult * 100, 2) + '%
' + + 'Agility Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].agility_exp_mult * 100, 2) + '%

' + + 'Charisma Level multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].charisma_mult * 100, 2) + '%
' + + 'Charisma Experience multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].charisma_exp_mult * 100, 2) + '%

' + + 'Hacknet Node production multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacknet_node_money_mult * 100, 2) + '%
' + + 'Hacknet Node purchase cost multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacknet_node_purchase_cost_mult * 100, 2) + '%
' + + 'Hacknet Node RAM upgrade cost multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacknet_node_ram_cost_mult * 100, 2) + '%
' + + 'Hacknet Node Core purchase cost multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacknet_node_core_cost_mult * 100, 2) + '%
' + + 'Hacknet Node level upgrade cost multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacknet_node_level_cost_mult * 100, 2) + '%

' + + 'Company reputation gain multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].company_rep_mult * 100, 2) + '%
' + + 'Faction reputation gain multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].faction_rep_mult * 100, 2) + '%
' + + 'Salary multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].work_money_mult * 100, 2) + '%
' + + 'Crime success multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].crime_success_mult * 100, 2) + '%
' + + 'Crime money multiplier: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].crime_money_mult * 100, 2) + '%


' + 'Misc

' + - 'Servers owned: ' + _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].purchasedServers.length + '
' + - 'Hacknet Nodes owned: ' + _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hacknetNodes.length + '
' + - 'Augmentations installed: ' + _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].augmentations.length + '
' + - 'Time played since last Augmentation: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["convertTimeMsToTimeElapsedString"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].playtimeSinceLastAug) + '
' + - 'Time played: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["convertTimeMsToTimeElapsedString"])(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].totalPlaytime), + 'Servers owned: ' + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].purchasedServers.length + '
' + + 'Hacknet Nodes owned: ' + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hacknetNodes.length + '
' + + 'Augmentations installed: ' + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].augmentations.length + '
' + + 'Time played since last Augmentation: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["convertTimeMsToTimeElapsedString"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].playtimeSinceLastAug) + '
' + + 'Time played: ' + Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["convertTimeMsToTimeElapsedString"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].totalPlaytime), })); - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].sourceFiles.length !== 0) { - var index = "BitNode" + _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bitNodeN; + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].sourceFiles.length !== 0) { + var index = "BitNode" + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bitNodeN; Engine.Display.characterInfo.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("p", { width:"60%", innerHTML: - "
Current BitNode: " + _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bitNodeN + " (" + _BitNode_js__WEBPACK_IMPORTED_MODULE_8__["BitNodes"][index].name + ")

", + "
Current BitNode: " + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bitNodeN + " (" + _BitNode_js__WEBPACK_IMPORTED_MODULE_8__["BitNodes"][index].name + ")

", })); Engine.Display.characterInfo.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("p", { @@ -6319,32 +6414,32 @@ let Engine = { Engine.ishimaLocationsList.style.display = "none"; Engine.volhavenLocationsList.style.display = "none"; - document.getElementById("world-city-name").innerHTML = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].city; + document.getElementById("world-city-name").innerHTML = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].city; var cityDesc = document.getElementById("world-city-desc"); //TODO - switch(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].city) { - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Aevum: + switch(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].city) { + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Aevum: Engine.aevumLocationsList.style.display = "inline"; break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Chongqing: + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Chongqing: Engine.chongqingLocationsList.style.display = "inline"; break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12: + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12: Engine.sector12LocationsList.style.display = "inline"; //City hall only in BitNode-3/with Source-File 3 - if ((_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bitNodeN === 3 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_24__["hasCorporationSF"]) && _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bitNodeN !== 8) { + if ((_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bitNodeN === 3 || _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_25__["hasCorporationSF"]) && _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bitNodeN !== 8) { document.getElementById("sector12-cityhall-li").style.display = "block"; } else { document.getElementById("sector12-cityhall-li").style.display = "none"; } break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].NewTokyo: + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].NewTokyo: Engine.newTokyoLocationsList.style.display = "inline"; break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Ishima: + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Ishima: Engine.ishimaLocationsList.style.display = "inline"; break; - case _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].Volhaven: + case _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].Volhaven: Engine.volhavenLocationsList.style.display = "inline"; break; default: @@ -6363,17 +6458,17 @@ let Engine = { li.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("a", { innerText:"World Stock Exchange", class:"a-link-button", clickListener:()=>{ - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_17__["Locations"].WorldStockExchange; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].location = _Location_js__WEBPACK_IMPORTED_MODULE_18__["Locations"].WorldStockExchange; Engine.loadStockMarketContent(); return false; } })); genericLocationsList.appendChild(li); - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"] && document.getElementById("location-corporation-button") == null) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"] && document.getElementById("location-corporation-button") == null) { 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:_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation.name, id:"location-corporation-button", + innerText:_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation.name, id:"location-corporation-button", class:"a-link-button", clickListener:()=>{ Engine.loadCorporationContent(); @@ -6383,7 +6478,7 @@ let Engine = { genericLocationsList.appendChild(li); } - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["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", @@ -6410,16 +6505,16 @@ let Engine = { Engine.Display.factionsContent.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("br")); //Add a button for each faction you are a member of - for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factions.length; ++i) { + for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].factions.length; ++i) { (function () { - var factionName = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factions[i]; + var factionName = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].factions[i]; factionsList.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("a", { class:"a-link-button", innerText:factionName, padding:"4px", margin:"4px", display:"inline-block", clickListener:()=>{ Engine.loadFactionContent(); - Object(_Faction_js__WEBPACK_IMPORTED_MODULE_15__["displayFactionContent"])(factionName); + Object(_Faction_js__WEBPACK_IMPORTED_MODULE_16__["displayFactionContent"])(factionName); return false; } })); @@ -6442,9 +6537,9 @@ let Engine = { var invitationsList = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("ul"); //Add a button to accept for each faction you have invitiations for - for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations.length; ++i) { + for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].factionInvitations.length; ++i) { (function () { - var factionName = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations[i]; + var factionName = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].factionInvitations[i]; var item = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("li", {padding:"6px", margin:"6px"}); item.appendChild(Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["createElement"])("p", { @@ -6454,10 +6549,10 @@ let Engine = { innerText:"Accept Faction Invitation", class:"a-link-button", display:"inline", margin:"4px", padding:"4px", clickListener:()=>{ - Object(_Faction_js__WEBPACK_IMPORTED_MODULE_15__["joinFaction"])(_Faction_js__WEBPACK_IMPORTED_MODULE_15__["Factions"][factionName]); - for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations.length; ++i) { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations[i] == factionName || _Faction_js__WEBPACK_IMPORTED_MODULE_15__["Factions"][_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations[i]].isBanned) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].factionInvitations.splice(i, 1); + Object(_Faction_js__WEBPACK_IMPORTED_MODULE_16__["joinFaction"])(_Faction_js__WEBPACK_IMPORTED_MODULE_16__["Factions"][factionName]); + for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].factionInvitations.length; ++i) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].factionInvitations[i] == factionName || _Faction_js__WEBPACK_IMPORTED_MODULE_16__["Factions"][_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].factionInvitations[i]].isBanned) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].factionInvitations.splice(i, 1); i--; } } @@ -6489,6 +6584,43 @@ let Engine = { document.getElementById("tutorial-text").style.display = "none"; }, + displayDevMenuContent: function() { + Engine.Clickables.devMenuGiveMoney.style.display = "block"; + Engine.Clickables.devMenuGiveRam.style.display = "block"; + Engine.Clickables.devMenuAugDropdown.style.display = "block"; + Engine.Clickables.devMenuAddAug.style.display = "block"; + Engine.Clickables.devMenuTriggerBitFlume.style.display = "block"; + Engine.Clickables.devMenuFactionDropdown.style.display = "block"; + Engine.Clickables.devMenuAddFaction.style.display = "block"; + Engine.Clickables.devMenuOpen.style.display = "block"; + Engine.Clickables.devMenuMinSecurity.style.display = "block"; + Engine.Clickables.devMenuMaxMoney.style.display = "block"; + Engine.Clickables.devMenuConnectDropdown.style.display = "block"; + Engine.Clickables.devMenuConnect.style.display = "block"; + Engine.Clickables.devMenuProgramsDropdown.style.display = "block"; + Engine.Clickables.devMenuAddProgram.style.display = "block"; + + Engine.Clickables.devMenuHackingExp.style.display = "block"; + Engine.Clickables.devMenuAddHacking.style.display = "block"; + Engine.Clickables.devMenuStrengthExp.style.display = "block"; + Engine.Clickables.devMenuAddStrength.style.display = "block"; + Engine.Clickables.devMenuDefenseExp.style.display = "block"; + Engine.Clickables.devMenuAddDefense.style.display = "block"; + Engine.Clickables.devMenuDexterityExp.style.display = "block"; + Engine.Clickables.devMenuAddDexterity.style.display = "block"; + Engine.Clickables.devMenuAgilityExp.style.display = "block"; + Engine.Clickables.devMenuAddAgility.style.display = "block"; + Engine.Clickables.devMenuCharismaExp.style.display = "block"; + Engine.Clickables.devMenuAddCharisma.style.display = "block"; + Engine.Clickables.devMenuIntelligenceExp.style.display = "block"; + Engine.Clickables.devMenuAddIntelligence.style.display = "block"; + Engine.Clickables.devMenuEnableIntelligence.style.display = "block"; + Engine.Clickables.devMenuDisableIntelligence.style.display = "block"; + Engine.Clickables.devMenuSFN.style.display = "block"; + Engine.Clickables.devMenuSFLvl.style.display = "block"; + Engine.Clickables.devMenuAddSF.style.display = "block"; + }, + //Displays the text when a section of the Tutorial is opened displayTutorialPage: function(text) { document.getElementById("tutorial-getting-started-link").style.display = "none"; @@ -6520,7 +6652,7 @@ let Engine = { if (diff > 0) { //Update the game engine by the calculated number of cycles Engine._lastUpdate = _thisUpdate - offset; - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].lastUpdate = _thisUpdate - offset; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].lastUpdate = _thisUpdate - offset; Engine.updateGame(diff); } @@ -6530,58 +6662,58 @@ let Engine = { updateGame: function(numCycles = 1) { //Update total playtime var time = numCycles * Engine._idleSpeed; - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].totalPlaytime == null) {_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].totalPlaytime = 0;} - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].playtimeSinceLastAug == null) {_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].playtimeSinceLastAug = 0;} - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].totalPlaytime += time; - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].playtimeSinceLastAug += time; + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].totalPlaytime == null) {_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].totalPlaytime = 0;} + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].playtimeSinceLastAug == null) {_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].playtimeSinceLastAug = 0;} + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].totalPlaytime += time; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].playtimeSinceLastAug += time; //Start Manual hack - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].startAction == true) { - Engine._totalActionTime = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].actionTime; - Engine._actionTimeLeft = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].actionTime; + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].startAction == true) { + Engine._totalActionTime = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].actionTime; + Engine._actionTimeLeft = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].actionTime; Engine._actionInProgress = true; Engine._actionProgressBarCount = 1; Engine._actionProgressStr = "[ ]"; Engine._actionTimeStr = "Time left: "; - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].startAction = false; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].startAction = false; } //Working - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].isWorking) { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeFaction) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workForFaction(numCycles); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCreateProgram) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].createProgramWork(numCycles); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeStudyClass) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].takeClass(numCycles); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCrime) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].commitCrime(numCycles); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompanyPartTime) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workPartTime(numCycles); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].isWorking) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeFaction) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workForFaction(numCycles); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCreateProgram) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].createProgramWork(numCycles); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeStudyClass) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].takeClass(numCycles); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCrime) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].commitCrime(numCycles); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompanyPartTime) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workPartTime(numCycles); } else { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].work(numCycles); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].work(numCycles); } } //Gang, if applicable - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bitNodeN == 2 && _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].inGang()) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].gang.process(numCycles); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bitNodeN == 2 && _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].inGang()) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gang.process(numCycles); } //Mission - if (_Missions_js__WEBPACK_IMPORTED_MODULE_23__["inMission"] && _Missions_js__WEBPACK_IMPORTED_MODULE_23__["currMission"]) { - _Missions_js__WEBPACK_IMPORTED_MODULE_23__["currMission"].process(numCycles); + if (_Missions_js__WEBPACK_IMPORTED_MODULE_24__["inMission"] && _Missions_js__WEBPACK_IMPORTED_MODULE_24__["currMission"]) { + _Missions_js__WEBPACK_IMPORTED_MODULE_24__["currMission"].process(numCycles); } //Corporation - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"]) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"]) { //Stores cycles in a "buffer". Processed separately using Engine Counters //This is to avoid constant DOM redraws when Corporation is catching up - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation.storeCycles(numCycles); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation.storeCycles(numCycles); } - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner.storeCycles(numCycles); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner.storeCycles(numCycles); } //Counters @@ -6594,10 +6726,10 @@ let Engine = { } //Update the running time of all active scripts - Object(_NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_25__["updateOnlineScriptTimes"])(numCycles); + Object(_NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_26__["updateOnlineScriptTimes"])(numCycles); //Hacknet Nodes - Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_19__["processAllHacknetNodeEarnings"])(numCycles); + Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_20__["processAllHacknetNodeEarnings"])(numCycles); }, //Counters for the main event loop. Represent the number of game cycles are required @@ -6630,19 +6762,19 @@ let Engine = { //is necessary and then resets the counter checkCounters: function() { if (Engine.Counters.autoSaveCounter <= 0) { - _SaveObject_js__WEBPACK_IMPORTED_MODULE_29__["saveObject"].saveGame(indexedDb); - if (_Settings_js__WEBPACK_IMPORTED_MODULE_32__["Settings"].AutosaveInterval == null) { - _Settings_js__WEBPACK_IMPORTED_MODULE_32__["Settings"].AutosaveInterval = 60; + _SaveObject_js__WEBPACK_IMPORTED_MODULE_30__["saveObject"].saveGame(indexedDb); + if (_Settings_js__WEBPACK_IMPORTED_MODULE_33__["Settings"].AutosaveInterval == null) { + _Settings_js__WEBPACK_IMPORTED_MODULE_33__["Settings"].AutosaveInterval = 60; } - if (_Settings_js__WEBPACK_IMPORTED_MODULE_32__["Settings"].AutosaveInterval === 0) { + if (_Settings_js__WEBPACK_IMPORTED_MODULE_33__["Settings"].AutosaveInterval === 0) { Engine.Counters.autoSaveCounter = Infinity; } else { - Engine.Counters.autoSaveCounter = _Settings_js__WEBPACK_IMPORTED_MODULE_32__["Settings"].AutosaveInterval * 5; + Engine.Counters.autoSaveCounter = _Settings_js__WEBPACK_IMPORTED_MODULE_33__["Settings"].AutosaveInterval * 5; } } if (Engine.Counters.updateSkillLevelsCounter <= 0) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].updateSkillLevels(); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].updateSkillLevels(); Engine.Counters.updateSkillLevelsCounter = 10; } @@ -6661,7 +6793,7 @@ let Engine = { if (Engine.currentPage == Engine.Page.CharacterInfo) { Engine.displayCharacterInfo(); } else if (Engine.currentPage == Engine.Page.HacknetNodes) { - Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_19__["updateHacknetNodesContent"])(); + Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_20__["updateHacknetNodesContent"])(); } else if (Engine.currentPage == Engine.Page.CreateProgram) { Object(_CreateProgram_js__WEBPACK_IMPORTED_MODULE_14__["displayCreateProgramContent"])(); } @@ -6675,16 +6807,16 @@ let Engine = { if (Engine.Counters.updateDisplaysMed <= 0) { if (Engine.currentPage === Engine.Page.Corporation) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation.updateUIContent(); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation.updateUIContent(); } Engine.Counters.updateDisplaysMed = 9; } if (Engine.Counters.updateDisplaysLong <= 0) { if (Engine.currentPage === Engine.Page.Gang) { - Object(_Gang_js__WEBPACK_IMPORTED_MODULE_18__["updateGangContent"])(); + Object(_Gang_js__WEBPACK_IMPORTED_MODULE_19__["updateGangContent"])(); } else if (Engine.currentPage === Engine.Page.ScriptEditor) { - Object(_Script_js__WEBPACK_IMPORTED_MODULE_30__["updateScriptEditorContent"])(); + Object(_Script_js__WEBPACK_IMPORTED_MODULE_31__["updateScriptEditorContent"])(); } Engine.Counters.updateDisplaysLong = 15; } @@ -6703,29 +6835,29 @@ let Engine = { } if (Engine.Counters.checkFactionInvitations <= 0) { - var invitedFactions = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].checkForFactionInvitations(); + var invitedFactions = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].checkForFactionInvitations(); if (invitedFactions.length > 0) { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].firstFacInvRecvd === false) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].firstFacInvRecvd = true; + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].firstFacInvRecvd === false) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].firstFacInvRecvd = true; document.getElementById("factions-tab").style.display = "list-item"; document.getElementById("character-menu-header").click(); document.getElementById("character-menu-header").click(); } var randFaction = invitedFactions[Math.floor(Math.random() * invitedFactions.length)]; - Object(_Faction_js__WEBPACK_IMPORTED_MODULE_15__["inviteToFaction"])(randFaction); + Object(_Faction_js__WEBPACK_IMPORTED_MODULE_16__["inviteToFaction"])(randFaction); } Engine.Counters.checkFactionInvitations = 100; } if (Engine.Counters.passiveFactionGrowth <= 0) { var adjustedCycles = Math.floor((600 - Engine.Counters.passiveFactionGrowth)); - Object(_Faction_js__WEBPACK_IMPORTED_MODULE_15__["processPassiveFactionRepGain"])(adjustedCycles); + Object(_Faction_js__WEBPACK_IMPORTED_MODULE_16__["processPassiveFactionRepGain"])(adjustedCycles); Engine.Counters.passiveFactionGrowth = 600; } if (Engine.Counters.messages <= 0) { - Object(_Message_js__WEBPACK_IMPORTED_MODULE_22__["checkForMessagesToSend"])(); + Object(_Message_js__WEBPACK_IMPORTED_MODULE_23__["checkForMessagesToSend"])(); if (_Augmentations_js__WEBPACK_IMPORTED_MODULE_7__["Augmentations"][_Augmentations_js__WEBPACK_IMPORTED_MODULE_7__["AugmentationNames"].TheRedPill].owned) { Engine.Counters.messages = 4500; //15 minutes for Red pill message } else { @@ -6734,26 +6866,26 @@ let Engine = { } if (Engine.Counters.stockTick <= 0) { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hasWseAccount) { - Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_35__["updateStockPrices"])(); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hasWseAccount) { + Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_36__["updateStockPrices"])(); } Engine.Counters.stockTick = 30; } if (Engine.Counters.sCr <= 0) { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hasWseAccount) { - Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_35__["stockMarketCycle"])(); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hasWseAccount) { + Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_36__["stockMarketCycle"])(); } Engine.Counters.sCr = 1500; } if (Engine.Counters.mechanicProcess <= 0) { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"]) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].corporation.process(); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation instanceof _CompanyManagement_js__WEBPACK_IMPORTED_MODULE_12__["Corporation"]) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].corporation.process(); } - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { try { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner.process(); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner.process(); } catch(e) { Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["exceptionAlert"])("Exception caught in Bladeburner.process(): " + e); } @@ -6794,7 +6926,7 @@ let Engine = { //Once percent is 100, the hack is completed if (percent >= 100) { Engine._actionInProgress = false; - _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["Terminal"].finishAction(); + _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["Terminal"].finishAction(); } }, @@ -6887,75 +7019,76 @@ let Engine = { var job = document.getElementById("job-tab"); var tutorial = document.getElementById("tutorial-tab"); var options = document.getElementById("options-tab"); + var dev = document.getElementById("dev-tab"); //Load game from save or create new game - if (Object(_SaveObject_js__WEBPACK_IMPORTED_MODULE_29__["loadGame"])(saveString)) { + if (Object(_SaveObject_js__WEBPACK_IMPORTED_MODULE_30__["loadGame"])(saveString)) { console.log("Loaded game from save"); Object(_BitNode_js__WEBPACK_IMPORTED_MODULE_8__["initBitNodes"])(); Object(_BitNode_js__WEBPACK_IMPORTED_MODULE_8__["initBitNodeMultipliers"])(); - Object(_SourceFile_js__WEBPACK_IMPORTED_MODULE_33__["initSourceFiles"])(); + Object(_SourceFile_js__WEBPACK_IMPORTED_MODULE_34__["initSourceFiles"])(); Engine.setDisplayElements(); //Sets variables for important DOM elements Engine.init(); //Initialize buttons, work, etc. _Company_js__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"].init(); Object(_Augmentations_js__WEBPACK_IMPORTED_MODULE_7__["initAugmentations"])(); //Also calls Player.reapplyAllAugmentations() - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].reapplyAllSourceFiles(); - Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_35__["initStockSymbols"])(); - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].hasWseAccount) { - Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_35__["initSymbolToStockMap"])(); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].reapplyAllSourceFiles(); + Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_36__["initStockSymbols"])(); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hasWseAccount) { + Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_36__["initSymbolToStockMap"])(); } - Object(_Literature_js__WEBPACK_IMPORTED_MODULE_21__["initLiterature"])(); - Object(_NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_24__["initSingularitySFFlags"])(); + Object(_Literature_js__WEBPACK_IMPORTED_MODULE_22__["initLiterature"])(); + Object(_NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_25__["initSingularitySFFlags"])(); - console.log(_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].intelligence_exp); + console.log(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].intelligence_exp); //Calculate the number of cycles have elapsed while offline Engine._lastUpdate = new Date().getTime(); - var lastUpdate = _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].lastUpdate; + var lastUpdate = _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].lastUpdate; var numCyclesOffline = Math.floor((Engine._lastUpdate - lastUpdate) / Engine._idleSpeed); /* Process offline progress */ - var offlineProductionFromScripts = Object(_Script_js__WEBPACK_IMPORTED_MODULE_30__["loadAllRunningScripts"])(); //This also takes care of offline production for those scripts - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].isWorking) { + var offlineProductionFromScripts = Object(_Script_js__WEBPACK_IMPORTED_MODULE_31__["loadAllRunningScripts"])(); //This also takes care of offline production for those scripts + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].isWorking) { console.log("work() called in load() for " + numCyclesOffline * Engine._idleSpeed + " milliseconds"); - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeFaction) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workForFaction(numCyclesOffline); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCreateProgram) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].createProgramWork(numCyclesOffline); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeStudyClass) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].takeClass(numCyclesOffline); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCrime) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].commitCrime(numCyclesOffline); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompanyPartTime) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workPartTime(numCyclesOffline); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeFaction) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workForFaction(numCyclesOffline); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCreateProgram) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].createProgramWork(numCyclesOffline); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeStudyClass) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].takeClass(numCyclesOffline); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCrime) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].commitCrime(numCyclesOffline); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompanyPartTime) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workPartTime(numCyclesOffline); } else { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].work(numCyclesOffline); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].work(numCyclesOffline); } } //Hacknet Nodes offline progress - var offlineProductionFromHacknetNodes = Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_19__["processAllHacknetNodeEarnings"])(numCyclesOffline); + var offlineProductionFromHacknetNodes = Object(_HacknetNode_js__WEBPACK_IMPORTED_MODULE_20__["processAllHacknetNodeEarnings"])(numCyclesOffline); //Passive faction rep gain offline - Object(_Faction_js__WEBPACK_IMPORTED_MODULE_15__["processPassiveFactionRepGain"])(numCyclesOffline); + Object(_Faction_js__WEBPACK_IMPORTED_MODULE_16__["processPassiveFactionRepGain"])(numCyclesOffline); //Gang progress for BitNode 2 - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bitNodeN != null && _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bitNodeN === 2 && _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].inGang()) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].gang.process(numCyclesOffline); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bitNodeN != null && _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bitNodeN === 2 && _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].inGang()) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gang.process(numCyclesOffline); } //Bladeburner offline progress - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].bladeburner.storeCycles(numCyclesOffline); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner instanceof _Bladeburner_js__WEBPACK_IMPORTED_MODULE_9__["Bladeburner"]) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bladeburner.storeCycles(numCyclesOffline); } //Update total playtime var time = numCyclesOffline * Engine._idleSpeed; - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].totalPlaytime == null) {_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].totalPlaytime = 0;} - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].playtimeSinceLastAug == null) {_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].playtimeSinceLastAug = 0;} - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].totalPlaytime += time; - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].playtimeSinceLastAug += time; + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].totalPlaytime == null) {_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].totalPlaytime = 0;} + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].playtimeSinceLastAug == null) {_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].playtimeSinceLastAug = 0;} + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].totalPlaytime += time; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].playtimeSinceLastAug += time; - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].lastUpdate = Engine._lastUpdate; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].lastUpdate = Engine._lastUpdate; Engine.start(); //Run main game loop and Scripts loop Engine.removeLoadingScreen(); Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("While you were offline, your scripts generated $" + @@ -6963,16 +7096,16 @@ let Engine = { Object(_utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_4__["formatNumber"])(offlineProductionFromHacknetNodes, 2)); //Close main menu accordions for loaded game var visibleMenuTabs = [terminal, createScript, activeScripts, stats, - hacknetnodes, city, tutorial, options]; - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].firstFacInvRecvd) {visibleMenuTabs.push(factions);} + hacknetnodes, city, tutorial, options, dev]; + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].firstFacInvRecvd) {visibleMenuTabs.push(factions);} else {factions.style.display = "none";} - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].firstAugPurchased) {visibleMenuTabs.push(augmentations);} + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].firstAugPurchased) {visibleMenuTabs.push(augmentations);} else {augmentations.style.display = "none";} - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].firstJobRecvd) {visibleMenuTabs.push(job);} + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].firstJobRecvd) {visibleMenuTabs.push(job);} else {job.style.display = "none";} - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].firstTimeTraveled) {visibleMenuTabs.push(travel);} + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].firstTimeTraveled) {visibleMenuTabs.push(travel);} else {travel.style.display = "none";} - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].firstProgramAvailable) {visibleMenuTabs.push(createProgram);} + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].firstProgramAvailable) {visibleMenuTabs.push(createProgram);} else {createProgram.style.display = "none";} Engine.closeMainMenuHeader(visibleMenuTabs); @@ -6981,20 +7114,20 @@ let Engine = { console.log("Initializing new game"); Object(_BitNode_js__WEBPACK_IMPORTED_MODULE_8__["initBitNodes"])(); Object(_BitNode_js__WEBPACK_IMPORTED_MODULE_8__["initBitNodeMultipliers"])(); - Object(_SourceFile_js__WEBPACK_IMPORTED_MODULE_33__["initSourceFiles"])(); - Object(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_34__["initSpecialServerIps"])(); + Object(_SourceFile_js__WEBPACK_IMPORTED_MODULE_34__["initSourceFiles"])(); + Object(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_35__["initSpecialServerIps"])(); Engine.setDisplayElements(); //Sets variables for important DOM elements Engine.start(); //Run main game loop and Scripts loop - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].init(); - Object(_Server_js__WEBPACK_IMPORTED_MODULE_31__["initForeignServers"])(); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].init(); + Object(_Server_js__WEBPACK_IMPORTED_MODULE_32__["initForeignServers"])(); Object(_Company_js__WEBPACK_IMPORTED_MODULE_11__["initCompanies"])(); - Object(_Faction_js__WEBPACK_IMPORTED_MODULE_15__["initFactions"])(); + Object(_Faction_js__WEBPACK_IMPORTED_MODULE_16__["initFactions"])(); _Company_js__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"].init(); Object(_Augmentations_js__WEBPACK_IMPORTED_MODULE_7__["initAugmentations"])(); - Object(_Message_js__WEBPACK_IMPORTED_MODULE_22__["initMessages"])(); - Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_35__["initStockSymbols"])(); - Object(_Literature_js__WEBPACK_IMPORTED_MODULE_21__["initLiterature"])(); - Object(_NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_24__["initSingularitySFFlags"])(); + Object(_Message_js__WEBPACK_IMPORTED_MODULE_23__["initMessages"])(); + Object(_StockMarket_js__WEBPACK_IMPORTED_MODULE_36__["initStockSymbols"])(); + Object(_Literature_js__WEBPACK_IMPORTED_MODULE_22__["initLiterature"])(); + Object(_NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_25__["initSingularitySFFlags"])(); //Open main menu accordions for new game //Main menu accordions @@ -7017,17 +7150,17 @@ let Engine = { Engine.openMainMenuHeader( [terminal, createScript, activeScripts, stats, hacknetnodes, city, - tutorial, options] + tutorial, options, dev] ); //Start interactive tutorial - Object(_InteractiveTutorial_js__WEBPACK_IMPORTED_MODULE_20__["iTutorialStart"])(); + Object(_InteractiveTutorial_js__WEBPACK_IMPORTED_MODULE_21__["iTutorialStart"])(); Engine.removeLoadingScreen(); } //Initialize labels on game settings - Object(_Settings_js__WEBPACK_IMPORTED_MODULE_32__["setSettingsLabels"])(); - Object(_Script_js__WEBPACK_IMPORTED_MODULE_30__["scriptEditorInit"])(); - _Terminal_js__WEBPACK_IMPORTED_MODULE_36__["Terminal"].resetTerminalInput(); + Object(_Settings_js__WEBPACK_IMPORTED_MODULE_33__["setSettingsLabels"])(); + Object(_Script_js__WEBPACK_IMPORTED_MODULE_31__["scriptEditorInit"])(); + _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["Terminal"].resetTerminalInput(); }, setDisplayElements: function() { @@ -7070,6 +7203,9 @@ let Engine = { Engine.Display.tutorialContent = document.getElementById("tutorial-container"); Engine.Display.tutorialContent.style.display = "none"; + Engine.Display.devMenuContent = document.getElementById("dev-menu-container"); + Engine.Display.devMenuContent.style.display = "none"; + Engine.Display.infiltrationContent = document.getElementById("infiltration-container"); Engine.Display.infiltrationContent.style.display = "none"; @@ -7109,7 +7245,7 @@ let Engine = { Engine.Display.cinematicTextContent.style.display = "none"; //Init Location buttons - Object(_Location_js__WEBPACK_IMPORTED_MODULE_17__["initLocationButtons"])(); + Object(_Location_js__WEBPACK_IMPORTED_MODULE_18__["initLocationButtons"])(); //Tutorial buttons Engine.Clickables.tutorialNetworkingButton = document.getElementById("tutorial-networking-link"); @@ -7157,8 +7293,192 @@ let Engine = { Engine.displayTutorialContent(); }); + // dev menu buttons + Engine.Clickables.devMenuGiveMoney = document.getElementById("dev-need-money"); + Engine.Clickables.devMenuGiveMoney.addEventListener("click", function() { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gainMoney(1e15); + }); + + Engine.Clickables.devMenuGiveRam = document.getElementById("dev-need-ram"); + Engine.Clickables.devMenuGiveRam.addEventListener("click", function() { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].getHomeComputer().maxRam *= 2; + }); + + Engine.Clickables.devMenuAugDropdown = document.getElementById("dev-menu-aug-dropdown"); + const augDD = Engine.Clickables.devMenuAugDropdown; + for(const i in _Augmentations_js__WEBPACK_IMPORTED_MODULE_7__["AugmentationNames"]) { + augDD.options[augDD.options.length] = new Option(_Augmentations_js__WEBPACK_IMPORTED_MODULE_7__["AugmentationNames"][i], _Augmentations_js__WEBPACK_IMPORTED_MODULE_7__["AugmentationNames"][i]); + } + + Engine.Clickables.devMenuAddAug = document.getElementById("dev-add-aug"); + Engine.Clickables.devMenuAddAug.addEventListener("click", function() { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].queueAugmentation(augDD.options[augDD.selectedIndex].value); + }); + + Engine.Clickables.devMenuTriggerBitFlume = document.getElementById("dev-bit-flume"); + Engine.Clickables.devMenuTriggerBitFlume.addEventListener("click", function() { + Object(_RedPill_js__WEBPACK_IMPORTED_MODULE_29__["hackWorldDaemon"])(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].bitNodeN, true); + }); + + Engine.Clickables.devMenuFactionDropdown = document.getElementById("dev-menu-faction-dropdown"); + const facDD = Engine.Clickables.devMenuFactionDropdown; + for(const i in _Faction_js__WEBPACK_IMPORTED_MODULE_16__["Factions"]) { + facDD.options[facDD.options.length] = new Option(_Faction_js__WEBPACK_IMPORTED_MODULE_16__["Factions"][i].name, _Faction_js__WEBPACK_IMPORTED_MODULE_16__["Factions"][i].name); + } + + Engine.Clickables.devMenuAddFaction = document.getElementById("dev-add-faction"); + Engine.Clickables.devMenuAddFaction.addEventListener("click", function() { + const factionName = facDD.options[facDD.selectedIndex].value; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].receiveInvite(factionName); + }); + + Engine.Clickables.devMenuOpen = document.getElementById("dev-open-all"); + Engine.Clickables.devMenuOpen.addEventListener("click", function() { + for(const i in _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"]) { + _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].hasAdminRights = true; + _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].sshPortOpen = true; + _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].ftpPortOpen = true; + _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].smtpPortOpen = true; + _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].httpPortOpen = true; + _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].sqlPortOpen = true; + _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].openPortCount = 5; + } + }); + + Engine.Clickables.devMenuMinSecurity = document.getElementById("dev-min-security"); + Engine.Clickables.devMenuMinSecurity.addEventListener("click", function() { + for(const i in _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"]) { + _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].hackDifficulty = _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].minDifficulty; + } + }); + + Engine.Clickables.devMenuMaxMoney = document.getElementById("dev-max-money"); + Engine.Clickables.devMenuMaxMoney.addEventListener("click", function() { + for(const i in _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"]) { + _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].moneyAvailable = _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].moneyMax; + } + }); + + Engine.Clickables.devMenuConnectDropdown = document.getElementById("dev-menu-connect-dropdown"); + const connectDD = Engine.Clickables.devMenuConnectDropdown; + for(const i in _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"]) { + connectDD.options[connectDD.options.length] = new Option(_Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].hostname, _Server_js__WEBPACK_IMPORTED_MODULE_32__["AllServers"][i].hostname); + } + + Engine.Clickables.devMenuConnect = document.getElementById("dev-connect"); + Engine.Clickables.devMenuConnect.addEventListener("click", function() { + const host = connectDD.options[connectDD.selectedIndex].value; + _Terminal_js__WEBPACK_IMPORTED_MODULE_37__["Terminal"].connectToServer(host); + }); + + Engine.Clickables.devMenuProgramsDropdown = document.getElementById("dev-menu-add-program-dropdown"); + const programsDD = Engine.Clickables.devMenuProgramsDropdown; + for(const i in _CreateProgram_js__WEBPACK_IMPORTED_MODULE_14__["Programs"]) { + programsDD.options[programsDD.options.length] = new Option(_CreateProgram_js__WEBPACK_IMPORTED_MODULE_14__["Programs"][i], _CreateProgram_js__WEBPACK_IMPORTED_MODULE_14__["Programs"][i]); + } + + Engine.Clickables.devMenuAddProgram = document.getElementById("dev-add-program"); + Engine.Clickables.devMenuAddProgram.addEventListener("click", function() { + const program = programsDD.options[programsDD.selectedIndex].value;; + if(!_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].hasProgram(program)) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].getHomeComputer().programs.push(program); + } + }); + + Engine.Clickables.devMenuHackingExp = document.getElementById("dev-hacking-exp"); + Engine.Clickables.devMenuAddHacking = document.getElementById("dev-add-hacking"); + Engine.Clickables.devMenuAddHacking.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuHackingExp.value); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gainHackingExp(exp); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].updateSkillLevels(); + }); + + Engine.Clickables.devMenuStrengthExp = document.getElementById("dev-strength-exp"); + Engine.Clickables.devMenuAddStrength = document.getElementById("dev-add-strength"); + Engine.Clickables.devMenuAddStrength.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuStrengthExp.value); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gainStrengthExp(exp); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].updateSkillLevels(); + }); + + Engine.Clickables.devMenuDefenseExp = document.getElementById("dev-defense-exp"); + Engine.Clickables.devMenuAddDefense = document.getElementById("dev-add-defense"); + Engine.Clickables.devMenuAddDefense.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuDefenseExp.value); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gainDefenseExp(exp); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].updateSkillLevels(); + }); + + Engine.Clickables.devMenuDexterityExp = document.getElementById("dev-dexterity-exp"); + Engine.Clickables.devMenuAddDexterity = document.getElementById("dev-add-dexterity"); + Engine.Clickables.devMenuAddDexterity.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuDexterityExp.value); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gainDexterityExp(exp); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].updateSkillLevels(); + }); + + Engine.Clickables.devMenuAgilityExp = document.getElementById("dev-agility-exp"); + Engine.Clickables.devMenuAddAgility = document.getElementById("dev-add-agility"); + Engine.Clickables.devMenuAddAgility.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuAgilityExp.value); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gainAgilityExp(exp); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].updateSkillLevels(); + }); + + Engine.Clickables.devMenuCharismaExp = document.getElementById("dev-charisma-exp"); + Engine.Clickables.devMenuAddCharisma = document.getElementById("dev-add-charisma"); + Engine.Clickables.devMenuAddCharisma.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuCharismaExp.value); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gainCharismaExp(exp); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].updateSkillLevels(); + }); + + Engine.Clickables.devMenuIntelligenceExp = document.getElementById("dev-intelligence-exp"); + Engine.Clickables.devMenuAddIntelligence = document.getElementById("dev-add-intelligence"); + Engine.Clickables.devMenuAddIntelligence.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuIntelligenceExp.value); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].gainIntelligenceExp(exp); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].updateSkillLevels(); + }); + + Engine.Clickables.devMenuEnableIntelligence = document.getElementById("dev-enable-intelligence"); + Engine.Clickables.devMenuEnableIntelligence.addEventListener("click", function() { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].intelligence = 1; + }); + + Engine.Clickables.devMenuDisableIntelligence = document.getElementById("dev-disable-intelligence"); + Engine.Clickables.devMenuDisableIntelligence.addEventListener("click", function() { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].intelligence = 0; + }); + + Engine.Clickables.devMenuSFN = document.getElementById("dev-sf-n"); + Engine.Clickables.devMenuSFLvl = document.getElementById("dev-sf-lvl"); + Engine.Clickables.devMenuAddSF = document.getElementById("dev-add-source-file"); + Engine.Clickables.devMenuAddSF.addEventListener("click", function() { + const sfN = parseInt(Engine.Clickables.devMenuSFN.value); + const sfLvl = parseInt(Engine.Clickables.devMenuSFLvl.value); + let sfIndex = -1; + for(const i in _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].sourceFiles) { + if(_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].sourceFiles[i].n === sfN) { + sfIndex = i; + break; + } + } + + if(sfIndex === -1) { // add fresh source file + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].sourceFiles.push(new _SourceFile_js__WEBPACK_IMPORTED_MODULE_34__["PlayerOwnedSourceFile"](sfN, sfLvl)); + } else if(sfLvl === 0) { // remove a source file. + if(sfIndex === -1) { // doesn't have it anyway. + return; + } + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].sourceFiles.splice(sfIndex, 1); + } else { // set source file level + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].sourceFiles[sfIndex].lvl=sfLvl; + } + }); + //If DarkWeb already purchased, disable the button - if (_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_34__["SpecialServerIps"].hasOwnProperty("Darkweb Server")) { + if (_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_35__["SpecialServerIps"].hasOwnProperty("Darkweb Server")) { document.getElementById("location-purchase-tor").setAttribute("class", "a-link-button-inactive"); } }, @@ -7167,7 +7487,7 @@ let Engine = { init: function() { //Import game link document.getElementById("import-game-link").onclick = function() { - _SaveObject_js__WEBPACK_IMPORTED_MODULE_29__["saveObject"].importGame(); + _SaveObject_js__WEBPACK_IMPORTED_MODULE_30__["saveObject"].importGame(); }; //Main menu accordions @@ -7254,16 +7574,16 @@ let Engine = { var options = document.getElementById("options-tab"); var optionsLink = document.getElementById("options-menu-link"); this.classList.toggle("opened"); + const elems = [tutorial, options]; + const links = [tutorialLink, optionsLink]; + if(true) { + elems.push(document.getElementById("dev-tab")); + links.push(document.getElementById("dev-menu-link")); + } if (tutorial.style.maxHeight) { - Engine.toggleMainMenuHeader(false, - [tutorial, options], - [tutorialLink, optionsLink] - ); + Engine.toggleMainMenuHeader(false, elems, links); } else { - Engine.toggleMainMenuHeader(true, - [tutorial, options], - [tutorialLink, optionsLink] - ); + Engine.toggleMainMenuHeader(true, elems, links); } } @@ -7341,30 +7661,36 @@ let Engine = { return false; }); + Engine.Clickables.devMainMenuButton = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_2__["clearEventListeners"])("dev-menu-link"); + Engine.Clickables.devMainMenuButton.addEventListener("click", function() { + Engine.loadDevMenuContent(); + return false; + }); + //Active scripts list Engine.ActiveScriptsList = document.getElementById("active-scripts-list"); //Save, Delete, Import/Export buttons Engine.Clickables.saveMainMenuButton = document.getElementById("save-game-link"); Engine.Clickables.saveMainMenuButton.addEventListener("click", function() { - _SaveObject_js__WEBPACK_IMPORTED_MODULE_29__["saveObject"].saveGame(indexedDb); + _SaveObject_js__WEBPACK_IMPORTED_MODULE_30__["saveObject"].saveGame(indexedDb); return false; }); Engine.Clickables.deleteMainMenuButton = document.getElementById("delete-game-link"); Engine.Clickables.deleteMainMenuButton.addEventListener("click", function() { - _SaveObject_js__WEBPACK_IMPORTED_MODULE_29__["saveObject"].deleteGame(indexedDb); + _SaveObject_js__WEBPACK_IMPORTED_MODULE_30__["saveObject"].deleteGame(indexedDb); return false; }); document.getElementById("export-game-link").addEventListener("click", function() { - _SaveObject_js__WEBPACK_IMPORTED_MODULE_29__["saveObject"].exportGame(); + _SaveObject_js__WEBPACK_IMPORTED_MODULE_30__["saveObject"].exportGame(); return false; }); //Character Overview buttons document.getElementById("character-overview-save-button").addEventListener("click", function() { - _SaveObject_js__WEBPACK_IMPORTED_MODULE_29__["saveObject"].saveGame(indexedDb); + _SaveObject_js__WEBPACK_IMPORTED_MODULE_30__["saveObject"].saveGame(indexedDb); return false; }); @@ -7377,25 +7703,25 @@ let Engine = { Object(_CreateProgram_js__WEBPACK_IMPORTED_MODULE_14__["initCreateProgramButtons"])(); //Message at the top of terminal - Object(_Terminal_js__WEBPACK_IMPORTED_MODULE_36__["postNetburnerText"])(); + Object(_Terminal_js__WEBPACK_IMPORTED_MODULE_37__["postNetburnerText"])(); //Player was working cancel button - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].isWorking) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].isWorking) { var cancelButton = document.getElementById("work-in-progress-cancel-button"); cancelButton.addEventListener("click", function() { - if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeFaction) { - var fac = _Faction_js__WEBPACK_IMPORTED_MODULE_15__["Factions"][_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].currentWorkFactionName]; - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].finishFactionWork(true); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCreateProgram) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].finishCreateProgramWork(true); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeStudyClass) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].finishClass(); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCrime) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].finishCrime(true); - } else if (_Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompanyPartTime) { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].finishWorkPartTime(); + if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeFaction) { + var fac = _Faction_js__WEBPACK_IMPORTED_MODULE_16__["Factions"][_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].currentWorkFactionName]; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].finishFactionWork(true); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCreateProgram) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].finishCreateProgramWork(true); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeStudyClass) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].finishClass(); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCrime) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].finishCrime(true); + } else if (_Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].workType == _Constants_js__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompanyPartTime) { + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].finishWorkPartTime(); } else { - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].finishWork(true); + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].finishWork(true); } }); Engine.loadWorkInProgressContent(); @@ -7416,7 +7742,7 @@ let Engine = { //DEBUG Delete active Scripts on home document.getElementById("debug-delete-scripts-link").addEventListener("click", function() { console.log("Deleting running scripts on home computer"); - _Player_js__WEBPACK_IMPORTED_MODULE_26__["Player"].getHomeComputer().runningScripts = []; + _Player_js__WEBPACK_IMPORTED_MODULE_27__["Player"].getHomeComputer().runningScripts = []; Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("Forcefully deleted all running scripts on home computer. Please save and refresh page"); Object(_utils_GameOptions_js__WEBPACK_IMPORTED_MODULE_1__["gameOptionsBoxClose"])(); return false; @@ -7425,7 +7751,7 @@ let Engine = { //DEBUG Soft Reset document.getElementById("debug-soft-reset").addEventListener("click", function() { Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("Soft Reset!"); - Object(_Prestige_js__WEBPACK_IMPORTED_MODULE_27__["prestigeAugmentation"])(); + Object(_Prestige_js__WEBPACK_IMPORTED_MODULE_28__["prestigeAugmentation"])(); Object(_utils_GameOptions_js__WEBPACK_IMPORTED_MODULE_1__["gameOptionsBoxClose"])(); return false; }); @@ -7436,7 +7762,7 @@ let Engine = { Engine.idleTimer(); //Scripts - Object(_NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_25__["runScriptsLoop"])(); + Object(_NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_26__["runScriptsLoop"])(); } }; @@ -7481,7 +7807,7 @@ window.onload = function() { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 6 */ @@ -7510,7 +7836,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Player.js */ 0); /* harmony import */ var _NetscriptEnvironment_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./NetscriptEnvironment.js */ 67); /* harmony import */ var _NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NetscriptWorker.js */ 20); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Settings.js */ 22); /* harmony import */ var _Script_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Script.js */ 25); /* harmony import */ var _utils_acorn_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/acorn.js */ 36); @@ -7532,7 +7858,7 @@ __webpack_require__.r(__webpack_exports__); -var Promise = __webpack_require__(/*! bluebird */ 129); +var Promise = __webpack_require__(/*! bluebird */ 130); Promise.config({ warnings: false, @@ -8532,10 +8858,957 @@ function dialogBoxCreate(txt, preformatted=false) { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 8 */ +/*!***********************!*\ + !*** ./src/Server.js ***! + \***********************/ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Server", function() { return Server; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AllServers", function() { return AllServers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getServer", function() { return getServer; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetServerByHostname", function() { return GetServerByHostname; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadAllServers", function() { return loadAllServers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AddToAllServers", function() { return AddToAllServers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "processSingleServerGrowth", function() { return processSingleServerGrowth; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initForeignServers", function() { return initForeignServers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prestigeAllServers", function() { return prestigeAllServers; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prestigeHomeComputer", function() { return prestigeHomeComputer; }); +/* 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 _CreateProgram_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CreateProgram.js */ 13); +/* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Player.js */ 0); +/* harmony import */ var _Script_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Script.js */ 25); +/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SpecialServerIps.js */ 19); +/* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); +/* harmony import */ var _utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/IPAddress.js */ 16); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); + + + + + + + + + + +function Server(params={ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:""}) { + /* Properties */ + //Connection information + this.ip = params.ip ? params.ip : Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(); + + var hostname = params.hostname; + var i = 0; + var suffix = ""; + while (GetServerByHostname(hostname+suffix) != null) { + //Server already exists + suffix = "-" + i; + ++i; + } + this.hostname = hostname + suffix; + this.organizationName = params.organizationName != null ? params.organizationName : ""; + this.isConnectedTo = params.isConnectedTo != null ? params.isConnectedTo : false; + + //Access information + this.hasAdminRights = params.adminRights != null ? params.adminRights : false; + this.purchasedByPlayer = params.purchasedByPlayer != null ? params.purchasedByPlayer : false; + this.manuallyHacked = false; //Flag that tracks whether or not the server has been hacked at least once + + //RAM, CPU speed and Scripts + this.maxRam = params.maxRam != null ? params.maxRam : 0; //GB + this.ramUsed = 0; + this.cpuCores = 1; //Max of 8, affects hacking times and Hacking Mission starting Cores + + this.scripts = []; + this.runningScripts = []; //Stores RunningScript objects + this.programs = []; + this.messages = []; + this.textFiles = []; + this.dir = 0; //new Directory(this, null, ""); TODO + + /* Hacking information (only valid for "foreign" aka non-purchased servers) */ + this.requiredHackingSkill = params.requiredHackingSkill != null ? params.requiredHackingSkill : 1; + this.moneyAvailable = params.moneyAvailable != null ? params.moneyAvailable * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerStartingMoney : 0; + this.moneyMax = 25 * this.moneyAvailable * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerMaxMoney; + + //Hack Difficulty is synonymous with server security. Base Difficulty = Starting difficulty + this.hackDifficulty = params.hackDifficulty != null ? params.hackDifficulty * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerStartingSecurity : 1; + this.baseDifficulty = this.hackDifficulty; + this.minDifficulty = Math.max(1, Math.round(this.hackDifficulty / 3)); + this.serverGrowth = params.serverGrowth != null ? params.serverGrowth : 1; //Integer from 0 to 100. Affects money increase from grow() + + //The IP's of all servers reachable from this one (what shows up if you run scan/netstat) + // NOTE: Only contains IP and not the Server objects themselves + this.serversOnNetwork = []; + + //Port information, required for porthacking servers to get admin rights + this.numOpenPortsRequired = params.numOpenPortsRequired != null ? params.numOpenPortsRequired : 5; + this.sshPortOpen = false; //Port 22 + this.ftpPortOpen = false; //Port 21 + this.smtpPortOpen = false; //Port 25 + this.httpPortOpen = false; //Port 80 + this.sqlPortOpen = false; //Port 1433 + this.openPortCount = 0; +}; + +Server.prototype.setMaxRam = function(ram) { + this.maxRam = ram; +} + +//The serverOnNetwork array holds the IP of all the servers. This function +//returns the actual Server objects +Server.prototype.getServerOnNetwork = function(i) { + if (i > this.serversOnNetwork.length) { + console.log("Tried to get server on network that was out of range"); + return; + } + return AllServers[this.serversOnNetwork[i]]; +} + +//Given the name of the script, returns the corresponding +//script object on the server (if it exists) +Server.prototype.getScript = function(scriptName) { + for (var i = 0; i < this.scripts.length; i++) { + if (this.scripts[i].filename == scriptName) { + return this.scripts[i]; + } + } + return null; +} + +//Strengthens a server's security level (difficulty) by the specified amount +Server.prototype.fortify = function(amt) { + this.hackDifficulty += amt; + //Place some arbitrarily limit that realistically should never happen unless someone is + //screwing around with the game + if (this.hackDifficulty > 1000000) {this.hackDifficulty = 1000000;} +} + +Server.prototype.weaken = function(amt) { + this.hackDifficulty -= (amt * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerWeakenRate); + if (this.hackDifficulty < this.minDifficulty) {this.hackDifficulty = this.minDifficulty;} + if (this.hackDifficulty < 1) {this.hackDifficulty = 1;} +} + +//Functions for loading and saving a Server +Server.prototype.toJSON = function() { + return Object(_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__["Generic_toJSON"])("Server", this); +} + +Server.fromJSON = function(value) { + return Object(_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__["Generic_fromJSON"])(Server, value.data); +} + +_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__["Reviver"].constructors.Server = Server; + +function initForeignServers() { + //MegaCorporations + var ECorpServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"ecorp", organizationName:"ECorp", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1150, 1300), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(30e9, 70e9), + hackDifficulty:99,serverGrowth:99, numOpenPortsRequired: 5, + }); + AddToAllServers(ECorpServer); + + var MegaCorpServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"megacorp", organizationName:"MegaCorp", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1150, 1300), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40e9, 60e9), + hackDifficulty:99, serverGrowth:99, numOpenPortsRequired:5 + }); + AddToAllServers(MegaCorpServer); + + var BachmanAndAssociatesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"b-and-a", organizationName:"Bachman & Associates", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1050), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(20e9, 25e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 75), numOpenPortsRequired:5 + }); + AddToAllServers(BachmanAndAssociatesServer); + + var BladeIndustriesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"blade", organizationName:"Blade Industries", maxRam:128, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1100), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(12e9, 20e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(90, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 75), numOpenPortsRequired:5 + }); + BladeIndustriesServer.messages.push("beyond-man.lit"); + AddToAllServers(BladeIndustriesServer); + + var NWOServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"nwo", organizationName:"New World Order", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1200), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(25e9, 35e9), + hackDifficulty:99, serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), numOpenPortsRequired:5 + }); + NWOServer.messages.push("the-hidden-world.lit"); + AddToAllServers(NWOServer); + + var ClarkeIncorporatedServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"clarkeinc", organizationName:"Clarke Incorporated", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1200), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(15e9, 25e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 60), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 70), numOpenPortsRequired:5 + }); + ClarkeIncorporatedServer.messages.push("beyond-man.lit"); + ClarkeIncorporatedServer.messages.push("cost-of-immortality.lit"); + AddToAllServers(ClarkeIncorporatedServer); + + var OmniTekIncorporatedServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"omnitek", organizationName:"OmniTek Incorporated", maxRam:256, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900, 1100), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(15e9, 20e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(90, 99), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(95, 99), numOpenPortsRequired:5 + }); + OmniTekIncorporatedServer.messages.push("coded-intelligence.lit"); + OmniTekIncorporatedServer.messages.push("history-of-synthoids.lit"); + AddToAllServers(OmniTekIncorporatedServer); + + var FourSigmaServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"4sigma", organizationName:"FourSigma", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(950, 1200), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(15e9, 25e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 70), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 99), numOpenPortsRequired:5 + }); + AddToAllServers(FourSigmaServer); + + var KuaiGongInternationalServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"kuai-gong", organizationName:"KuaiGong International", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1250), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(20e9, 30e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(95, 99), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(90, 99), numOpenPortsRequired:5, + }); + AddToAllServers(KuaiGongInternationalServer); + + //Technology and communications companies (large targets) + var FulcrumTechnologiesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"fulcrumtech", organizationName:"Fulcrum Technologies", maxRam:512, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1200), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.4e9, 1.8e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 99), numOpenPortsRequired:5 + }); + FulcrumTechnologiesServer.messages.push("simulated-reality.lit"); + AddToAllServers(FulcrumTechnologiesServer); + + var FulcrumSecretTechnologiesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"fulcrumassets", organizationName:"Fulcrum Technologies Assets", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1200, 1500), moneyAvailable:1e6, + hackDifficulty:99, serverGrowth:1, numOpenPortsRequired:5 + }); + AddToAllServers(FulcrumSecretTechnologiesServer); + _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].FulcrumSecretTechnologies, FulcrumSecretTechnologiesServer.ip); + + var StormTechnologiesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"stormtech", organizationName:"Storm Technologies", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900, 1050), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1e9, 1.2e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), numOpenPortsRequired:5 + }); + AddToAllServers(StormTechnologiesServer); + + var DefCommServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"defcomm", organizationName:"DefComm", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900, 1000), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800e6, 950e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 70), numOpenPortsRequired:5 + }); + AddToAllServers(DefCommServer); + + var InfoCommServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"infocomm", organizationName:"InfoComm", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(875, 950), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(600e6, 900e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 75), numOpenPortsRequired:5 + }); + AddToAllServers(InfoCommServer); + + var HeliosLabsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"helios", organizationName:"Helios Labs", maxRam:128, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 900), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(550e6, 750e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:5 + }); + HeliosLabsServer.messages.push("beyond-man.lit"); + AddToAllServers(HeliosLabsServer); + + var VitaLifeServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"vitalife", organizationName:"VitaLife", maxRam:64, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 900), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(700e6, 800e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), numOpenPortsRequired:5 + }); + VitaLifeServer.messages.push("A-Green-Tomorrow.lit"); + AddToAllServers(VitaLifeServer); + + var IcarusMicrosystemsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"icarus", organizationName:"Icarus Microsystems", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(850, 925), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900e6, 1000e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), numOpenPortsRequired:5 + }); + AddToAllServers(IcarusMicrosystemsServer); + + var UniversalEnergyServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"univ-energy", organizationName:"Universal Energy", maxRam:64, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 900), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.1e9, 1.2e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), numOpenPortsRequired:4 + }); + AddToAllServers(UniversalEnergyServer); + + var TitanLabsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"titan-labs", organizationName:"Titan Laboratories", maxRam:64, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 875), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(750e6, 900e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), numOpenPortsRequired:5 + }); + TitanLabsServer.messages.push("coded-intelligence.lit"); + AddToAllServers(TitanLabsServer); + + var MicrodyneTechnologiesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"microdyne", organizationName:"Microdyne Technologies", maxRam:32, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 875), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(500e6, 700e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 75), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), numOpenPortsRequired:5 + }); + MicrodyneTechnologiesServer.messages.push("synthetic-muscles.lit"); + AddToAllServers(MicrodyneTechnologiesServer); + + var TaiYangDigitalServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"taiyang-digital", organizationName:"Taiyang Digital", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(850, 950), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800e6, 900e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:5 + }); + TaiYangDigitalServer.messages.push("A-Green-Tomorrow.lit"); + TaiYangDigitalServer.messages.push("brighter-than-the-sun.lit"); + AddToAllServers(TaiYangDigitalServer); + + var GalacticCyberSystemsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"galactic-cyber", organizationName:"Galactic Cybersystems", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(825, 875), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(750e6, 850e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), numOpenPortsRequired:5 + }); + AddToAllServers(GalacticCyberSystemsServer); + + //Defense Companies ("Large" Companies) + var AeroCorpServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"aerocorp", organizationName:"AeroCorp", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(850, 925), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1e9, 1.2e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), numOpenPortsRequired:5 + }); + AeroCorpServer.messages.push("man-and-machine.lit"); + AddToAllServers(AeroCorpServer); + + var OmniaCybersystemsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"omnia", organizationName:"Omnia Cybersystems", maxRam:64, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(850, 950), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900e6, 1e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 70), numOpenPortsRequired:5 + }); + OmniaCybersystemsServer.messages.push("history-of-synthoids.lit"); + AddToAllServers(OmniaCybersystemsServer); + + var ZBDefenseServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"zb-def", organizationName:"ZB Defense Industries", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 825), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900e6, 1.1e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 75), numOpenPortsRequired:4 + }); + ZBDefenseServer.messages.push("synthetic-muscles.lit"); + AddToAllServers(ZBDefenseServer); + + var AppliedEnergeticsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"applied-energetics", organizationName:"Applied Energetics", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(700e6, 1e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 75), numOpenPortsRequired:4 + }); + AddToAllServers(AppliedEnergeticsServer); + + var SolarisSpaceSystemsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"solaris", organizationName:"Solaris Space Systems", maxRam:64, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(750, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(700e6, 900e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:5 + }); + SolarisSpaceSystemsServer.messages.push("A-Green-Tomorrow.lit"); + SolarisSpaceSystemsServer.messages.push("the-failed-frontier.lit"); + AddToAllServers(SolarisSpaceSystemsServer); + + var DeltaOneServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"deltaone", organizationName:"Delta One", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 900), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.3e9, 1.7e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 70), numOpenPortsRequired:5 + }); + AddToAllServers(DeltaOneServer); + + //Health, medicine, pharmaceutical companies ("Large" targets) + var GlobalPharmaceuticalsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"global-pharm", organizationName:"Global Pharmaceuticals", maxRam:32, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(750, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.5e9, 1.75e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), numOpenPortsRequired:4 + }); + GlobalPharmaceuticalsServer.messages.push("A-Green-Tomorrow.lit"); + AddToAllServers(GlobalPharmaceuticalsServer); + + var NovaMedicalServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"nova-med", organizationName:"Nova Medical", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.1e9, 1.25e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 85), numOpenPortsRequired:4 + }); + AddToAllServers(NovaMedicalServer); + + var ZeusMedicalServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"zeus-med", organizationName:"Zeus Medical", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.3e9, 1.5e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:5 + }); + AddToAllServers(ZeusMedicalServer); + + var UnitaLifeGroupServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"unitalife", organizationName:"UnitaLife Group", maxRam:32, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 825), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1e9, 1.1e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:4 + }); + AddToAllServers(UnitaLifeGroupServer); + + //"Medium level" targets + var LexoCorpServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"lexo-corp", organizationName:"Lexo Corporation", maxRam:32, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(650, 750), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(700e6, 800e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), numOpenPortsRequired:4 + }); + AddToAllServers(LexoCorpServer); + + var RhoConstructionServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"rho-construction", organizationName:"Rho Construction", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(475, 525), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(500e6, 700e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), numOpenPortsRequired:3 + }); + AddToAllServers(RhoConstructionServer); + + var AlphaEnterprisesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"alpha-ent", organizationName:"Alpha Enterprises", maxRam:32, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(500, 600), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(600e6, 750e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 70), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 60),numOpenPortsRequired:4 + }); + AlphaEnterprisesServer.messages.push("sector-12-crime.lit"); + AddToAllServers(AlphaEnterprisesServer); + + var AevumPoliceServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"aevum-police", organizationName:"Aevum Police Network", maxRam:32, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(400, 450), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(200e6, 400e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(30, 50), numOpenPortsRequired:4 + }); + AddToAllServers(AevumPoliceServer); + + var RothmanUniversityServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"rothman-uni", organizationName:"Rothman University Network", maxRam:64, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(370, 430), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(175e6, 250e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 55), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 45), numOpenPortsRequired:3 + }); + RothmanUniversityServer.messages.push("secret-societies.lit"); + RothmanUniversityServer.messages.push("the-failed-frontier.lit"); + RothmanUniversityServer.messages.push("tensions-in-tech-race.lit"); + AddToAllServers(RothmanUniversityServer); + + var ZBInstituteOfTechnologyServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"zb-institute", organizationName:"ZB Institute of Technology Network", maxRam:64, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(725, 775), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800e6, 1.1e9), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 85), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), numOpenPortsRequired:5 + }); + AddToAllServers(ZBInstituteOfTechnologyServer); + + var SummitUniversityServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"summit-uni", organizationName:"Summit University Network", maxRam:32, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(425, 475), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(200e6, 350e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), numOpenPortsRequired:3 + }); + SummitUniversityServer.messages.push("secret-societies.lit"); + SummitUniversityServer.messages.push("the-failed-frontier.lit"); + SummitUniversityServer.messages.push("synthetic-muscles.lit"); + AddToAllServers(SummitUniversityServer); + + var SysCoreSecuritiesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"syscore", organizationName:"SysCore Securities", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(550, 650), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(400e6, 600e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 70), numOpenPortsRequired:4 + }); + AddToAllServers(SysCoreSecuritiesServer); + + var CatalystVenturesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"catalyst", organizationName:"Catalyst Ventures", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(400, 450), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(300e6, 550e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 70), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(25, 55), numOpenPortsRequired:3, + }); + CatalystVenturesServer.messages.push("tensions-in-tech-race.lit"); + AddToAllServers(CatalystVenturesServer); + + var TheHubServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"the-hub", organizationName:"The Hub", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(275, 325), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(150e6, 200e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 45), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 55), numOpenPortsRequired:2 + }); + AddToAllServers(TheHubServer); + + var CompuTekServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"comptek", organizationName:"CompuTek", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(300, 400), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(220e6, 250e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 65), numOpenPortsRequired:3 + }); + CompuTekServer.messages.push("man-and-machine.lit"); + AddToAllServers(CompuTekServer); + + var NetLinkTechnologiesServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"netlink", organizationName:"NetLink Technologies", maxRam:64, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(375, 425), moneyAvailable:275e6, + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 75), numOpenPortsRequired:3 + }); + NetLinkTechnologiesServer.messages.push("simulated-reality.lit"); + AddToAllServers(NetLinkTechnologiesServer); + + var JohnsonOrthopedicsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"johnson-ortho", organizationName:"Johnson Orthopedics", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(250, 300), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70e6, 85e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 65), numOpenPortsRequired:2 + }); + AddToAllServers(JohnsonOrthopedicsServer); + + //"Low level" targets + var FoodNStuffServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"foodnstuff", organizationName:"Food N Stuff Supermarket", maxRam:16, + requiredHackingSkill:1, moneyAvailable:2e6, + hackDifficulty:10, serverGrowth:5, numOpenPortsRequired:0 + }); + FoodNStuffServer.messages.push("sector-12-crime.lit"); + AddToAllServers(FoodNStuffServer); + + var SigmaCosmeticsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"sigma-cosmetics", organizationName:"Sigma Cosmetics", maxRam:16, + requiredHackingSkill:5, moneyAvailable:2.3e6, + hackDifficulty:10, serverGrowth:10, numOpenPortsRequired:0 + }); + AddToAllServers(SigmaCosmeticsServer); + + var JoesGunsServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"joesguns", organizationName:"Joe's Guns", maxRam:16, + requiredHackingSkill:10, moneyAvailable:2.5e6, + hackDifficulty:15, serverGrowth:20, numOpenPortsRequired:0 + }); + AddToAllServers(JoesGunsServer); + + var Zer0NightclubServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"zer0", organizationName:"ZER0 Nightclub", maxRam:32, + requiredHackingSkill:75, moneyAvailable:7.5e6, + hackDifficulty:25, serverGrowth:40, numOpenPortsRequired:1 + }); + AddToAllServers(Zer0NightclubServer); + + var NectarNightclubServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"nectar-net", organizationName:"Nectar Nightclub Network", maxRam:16, + requiredHackingSkill:20, moneyAvailable:2.75e6, + hackDifficulty:20, serverGrowth:25, numOpenPortsRequired:0 + }); + AddToAllServers(NectarNightclubServer); + + var NeoNightclubServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"neo-net", organizationName:"Neo Nightclub Network", maxRam:32, + requiredHackingSkill:50, moneyAvailable:5e6, + hackDifficulty:25, serverGrowth:25, numOpenPortsRequired:1 + }); + NeoNightclubServer.messages.push("the-hidden-world.lit"); + AddToAllServers(NeoNightclubServer); + + var SilverHelixServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"silver-helix", organizationName:"Silver Helix", maxRam:64, + requiredHackingSkill:150, moneyAvailable:45e6, + hackDifficulty:30, serverGrowth:30, numOpenPortsRequired:2 + }); + SilverHelixServer.messages.push("new-triads.lit"); + AddToAllServers(SilverHelixServer); + + var HongFangTeaHouseServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"hong-fang-tea", organizationName:"HongFang Teahouse", maxRam:16, + requiredHackingSkill:30, moneyAvailable:3e6, + hackDifficulty:15, serverGrowth:20, numOpenPortsRequired:0 + }); + HongFangTeaHouseServer.messages.push("brighter-than-the-sun.lit"); + AddToAllServers(HongFangTeaHouseServer); + + var HaraKiriSushiBarServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"harakiri-sushi", organizationName:"HaraKiri Sushi Bar Network",maxRam:16, + requiredHackingSkill:40, moneyAvailable:4e6, + hackDifficulty:15, serverGrowth:40, numOpenPortsRequired:0 + }); + AddToAllServers(HaraKiriSushiBarServer); + + var PhantasyServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"phantasy", organizationName:"Phantasy Club", maxRam:32, + requiredHackingSkill:100, moneyAvailable:24e6, + hackDifficulty:20, serverGrowth:35, numOpenPortsRequired:2 + }); + AddToAllServers(PhantasyServer); + + var MaxHardwareServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"max-hardware", organizationName:"Max Hardware Store", maxRam:32, + requiredHackingSkill:80, moneyAvailable:10e6, + hackDifficulty:15, serverGrowth:30, numOpenPortsRequired:1, + }); + AddToAllServers(MaxHardwareServer); + + var OmegaSoftwareServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"omega-net", organizationName:"Omega Software", maxRam:32, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(180, 220), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60e6, 70e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(25, 35), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(30, 40), numOpenPortsRequired:2 + }); + OmegaSoftwareServer.messages.push("the-new-god.lit"); + AddToAllServers(OmegaSoftwareServer); + + //Gyms + var CrushFitnessGymServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"crush-fitness", organizationName:"Crush Fitness", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(225, 275), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40e6, 60e6), + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 45), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(27, 33), numOpenPortsRequired:2 + }); + AddToAllServers(CrushFitnessGymServer); + + var IronGymServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"iron-gym", organizationName:"Iron Gym Network", maxRam:32, + requiredHackingSkill:100, moneyAvailable:20e6, + hackDifficulty:30, serverGrowth:20, numOpenPortsRequired:1 + }); + AddToAllServers(IronGymServer); + + var MilleniumFitnessGymServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"millenium-fitness", organizationName:"Millenium Fitness Network", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(475, 525), moneyAvailable:250e6, + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 55), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(25, 45), numOpenPortsRequired:3, + }); + AddToAllServers(MilleniumFitnessGymServer); + + var PowerhouseGymServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"powerhouse-fitness", organizationName:"Powerhouse Fitness", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(950, 1100), moneyAvailable:900e6, + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 60), numOpenPortsRequired:5, + }); + AddToAllServers(PowerhouseGymServer); + + var SnapFitnessGymServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"snap-fitness", organizationName:"Snap Fitness", + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(675, 800), moneyAvailable:450e6, + hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), numOpenPortsRequired:4 + }); + AddToAllServers(SnapFitnessGymServer); + + //Faction servers, cannot hack money from these + var BitRunnersServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"run4theh111z", organizationName:"The Runners", maxRam:128, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(505, 550), moneyAvailable:0, + hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:4 + }); + BitRunnersServer.messages.push("simulated-reality.lit"); + BitRunnersServer.messages.push("the-new-god.lit"); + AddToAllServers(BitRunnersServer); + _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].BitRunnersServer, BitRunnersServer.ip); + + var TheBlackHandServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"I.I.I.I", organizationName:"I.I.I.I", maxRam:64, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(340, 365), moneyAvailable:0, + hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:3, + }); + TheBlackHandServer.messages.push("democracy-is-dead.lit"); + AddToAllServers(TheBlackHandServer); + _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].TheBlackHandServer, TheBlackHandServer.ip); + + var NiteSecServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"avmnite-02h", organizationName:"NiteSec", maxRam:32, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(202, 220), moneyAvailable:0, + hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:2 + }); + NiteSecServer.messages.push("democracy-is-dead.lit"); + AddToAllServers(NiteSecServer); + _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].NiteSecServer, NiteSecServer.ip); + + var DarkArmyServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:".", organizationName:".", maxRam:16, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(505, 550), moneyAvailable:0, + hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:4 + }); + AddToAllServers(DarkArmyServer); + _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].TheDarkArmyServer, DarkArmyServer.ip); + + var CyberSecServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"CSEC", organizationName:"CyberSec", maxRam:8, + requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(51, 60), moneyAvailable:0, + hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:1 + }); + CyberSecServer.messages.push("democracy-is-dead.lit"); + AddToAllServers(CyberSecServer); + _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].CyberSecServer, CyberSecServer.ip); + + var DaedalusServer = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"The-Cave", organizationName:"Helios", + requiredHackingSkill:925, moneyAvailable:0, + hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:5 + }); + DaedalusServer.messages.push("alpha-omega.lit"); + AddToAllServers(DaedalusServer); + _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].DaedalusServer, DaedalusServer.ip); + + //Super special Servers + var WorldDaemon = new Server({ + ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].WorldDaemon, organizationName:_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].WorldDaemon, + requiredHackingSkill:3000, moneyAvailable:0, + hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:5 + }); + AddToAllServers(WorldDaemon); + _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].WorldDaemon, WorldDaemon.ip); + + /* Create a randomized network for all the foreign servers */ + //Groupings for creating a randomized network + var NetworkGroup1 = [IronGymServer, FoodNStuffServer, SigmaCosmeticsServer, JoesGunsServer, HongFangTeaHouseServer, HaraKiriSushiBarServer]; + var NetworkGroup2 = [MaxHardwareServer, NectarNightclubServer, Zer0NightclubServer, CyberSecServer]; + var NetworkGroup3 = [OmegaSoftwareServer, PhantasyServer, SilverHelixServer, NeoNightclubServer]; + var NetworkGroup4 = [CrushFitnessGymServer, NetLinkTechnologiesServer, CompuTekServer, TheHubServer, JohnsonOrthopedicsServer, NiteSecServer]; + var NetworkGroup5 = [CatalystVenturesServer, SysCoreSecuritiesServer, SummitUniversityServer, ZBInstituteOfTechnologyServer, RothmanUniversityServer, TheBlackHandServer]; + var NetworkGroup6 = [LexoCorpServer, RhoConstructionServer, AlphaEnterprisesServer, AevumPoliceServer, MilleniumFitnessGymServer]; + var NetworkGroup7 = [GlobalPharmaceuticalsServer, AeroCorpServer, GalacticCyberSystemsServer, SnapFitnessGymServer]; + var NetworkGroup8 = [DeltaOneServer, UnitaLifeGroupServer, OmniaCybersystemsServer]; + var NetworkGroup9 = [ZeusMedicalServer, SolarisSpaceSystemsServer, UniversalEnergyServer, IcarusMicrosystemsServer, DefCommServer]; + var NetworkGroup10 = [NovaMedicalServer, ZBDefenseServer, TaiYangDigitalServer, InfoCommServer]; + var NetworkGroup11 = [AppliedEnergeticsServer, MicrodyneTechnologiesServer, TitanLabsServer, BitRunnersServer]; + var NetworkGroup12 = [VitaLifeServer, HeliosLabsServer, StormTechnologiesServer, FulcrumTechnologiesServer]; + var NetworkGroup13 = [KuaiGongInternationalServer, FourSigmaServer, OmniTekIncorporatedServer, DarkArmyServer]; + var NetworkGroup14 = [PowerhouseGymServer, ClarkeIncorporatedServer, NWOServer, BladeIndustriesServer, BachmanAndAssociatesServer]; + var NetworkGroup15 = [FulcrumSecretTechnologiesServer, MegaCorpServer, ECorpServer, DaedalusServer]; + + for (var i = 0; i < NetworkGroup2.length; i++) { + var randomServerFromPrevGroup = NetworkGroup1[Math.floor(Math.random() * NetworkGroup1.length)]; + NetworkGroup2[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup2[i].ip); + } + + for (var i = 0; i < NetworkGroup3.length; i++) { + var randomServerFromPrevGroup = NetworkGroup2[Math.floor(Math.random() * NetworkGroup2.length)]; + NetworkGroup3[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup3[i].ip); + } + + for (var i = 0; i < NetworkGroup4.length; i++) { + var randomServerFromPrevGroup = NetworkGroup3[Math.floor(Math.random() * NetworkGroup3.length)]; + NetworkGroup4[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup4[i].ip); + } + + for (var i = 0; i < NetworkGroup5.length; i++) { + var randomServerFromPrevGroup = NetworkGroup4[Math.floor(Math.random() * NetworkGroup4.length)]; + NetworkGroup5[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup5[i].ip); + } + + for (var i = 0; i < NetworkGroup6.length; i++) { + var randomServerFromPrevGroup = NetworkGroup5[Math.floor(Math.random() * NetworkGroup5.length)]; + NetworkGroup6[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup6[i].ip); + } + + for (var i = 0; i < NetworkGroup7.length; i++) { + var randomServerFromPrevGroup = NetworkGroup6[Math.floor(Math.random() * NetworkGroup6.length)]; + NetworkGroup7[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup7[i].ip); + } + + for (var i = 0; i < NetworkGroup8.length; i++) { + var randomServerFromPrevGroup = NetworkGroup7[Math.floor(Math.random() * NetworkGroup7.length)]; + NetworkGroup8[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup8[i].ip); + } + + for (var i = 0; i < NetworkGroup9.length; i++) { + var randomServerFromPrevGroup = NetworkGroup8[Math.floor(Math.random() * NetworkGroup8.length)]; + NetworkGroup9[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup9[i].ip); + } + + for (var i = 0; i < NetworkGroup10.length; i++) { + var randomServerFromPrevGroup = NetworkGroup9[Math.floor(Math.random() * NetworkGroup9.length)]; + NetworkGroup10[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup10[i].ip); + } + + for (var i = 0; i < NetworkGroup11.length; i++) { + var randomServerFromPrevGroup = NetworkGroup10[Math.floor(Math.random() * NetworkGroup10.length)]; + NetworkGroup11[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup11[i].ip); + } + + for (var i = 0; i < NetworkGroup12.length; i++) { + var randomServerFromPrevGroup = NetworkGroup11[Math.floor(Math.random() * NetworkGroup11.length)]; + NetworkGroup12[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup12[i].ip); + } + + for (var i = 0; i < NetworkGroup13.length; i++) { + var randomServerFromPrevGroup = NetworkGroup12[Math.floor(Math.random() * NetworkGroup12.length)]; + NetworkGroup13[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup13[i].ip); + } + + for (var i = 0; i < NetworkGroup14.length; i++) { + var randomServerFromPrevGroup = NetworkGroup13[Math.floor(Math.random() * NetworkGroup13.length)]; + NetworkGroup14[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup14[i].ip); + } + + for (var i = 0; i < NetworkGroup15.length; i++) { + var randomServerFromPrevGroup = NetworkGroup14[Math.floor(Math.random() * NetworkGroup14.length)]; + NetworkGroup15[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); + randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup15[i].ip); + } + + //Connect the first tier of servers to the player's home computer + for (var i = 0; i < NetworkGroup1.length; i++) { + _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].getHomeComputer().serversOnNetwork.push(NetworkGroup1[i].ip); + NetworkGroup1[i].serversOnNetwork.push(_Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].homeComputer); + } +} + +//Applied server growth for a single server. Returns the percentage growth +function processSingleServerGrowth(server, numCycles) { + //Server growth processed once every 450 game cycles + var numServerGrowthCycles = Math.max(Math.floor(numCycles / 450), 0); + + //Get adjusted growth rate, which accounts for server security + var growthRate = _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].ServerBaseGrowthRate; + var adjGrowthRate = 1 + (growthRate - 1) / server.hackDifficulty; + if (adjGrowthRate > _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].ServerMaxGrowthRate) {adjGrowthRate = _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].ServerMaxGrowthRate;} + + //Calculate adjusted server growth rate based on parameters + var serverGrowthPercentage = server.serverGrowth / 100; + var numServerGrowthCyclesAdjusted = numServerGrowthCycles * serverGrowthPercentage * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerGrowthRate; + + //Apply serverGrowth for the calculated number of growth cycles + var serverGrowth = Math.pow(adjGrowthRate, numServerGrowthCyclesAdjusted * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].hacking_grow_mult); + if (serverGrowth < 1) { + console.log("WARN: serverGrowth calculated to be less than 1"); + serverGrowth = 1; + } + + var oldMoneyAvailable = server.moneyAvailable; + server.moneyAvailable *= serverGrowth; + if (server.moneyMax && isNaN(server.moneyAvailable)) { + server.moneyAvailable = server.moneyMax; + } + if (server.moneyMax && server.moneyAvailable > server.moneyMax) { + server.moneyAvailable = server.moneyMax; + return server.moneyAvailable / oldMoneyAvailable; + } + + //Growing increases server security twice as much as hacking + server.fortify(2 * _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].ServerFortifyAmount * numServerGrowthCycles); + return serverGrowth; +} + +function prestigeHomeComputer(homeComp) { + homeComp.programs.length = 0; //Remove programs + homeComp.runningScripts = []; + homeComp.serversOnNetwork = []; + homeComp.isConnectedTo = true; + homeComp.ramUsed = 0; + homeComp.programs.push(_CreateProgram_js__WEBPACK_IMPORTED_MODULE_2__["Programs"].NukeProgram); + + //Update RAM usage on all scripts + homeComp.scripts.forEach(function(script) { + script.updateRamUsage(); + }); + + homeComp.messages.length = 0; //Remove .lit and .msg files + homeComp.messages.push("hackers-starting-handbook.lit"); +} + +//List of all servers that exist in the game, indexed by their ip +let AllServers = {}; + +function prestigeAllServers() { + for (var member in AllServers) { + delete AllServers[member]; + } + AllServers = {}; +} + +function loadAllServers(saveString) { + AllServers = JSON.parse(saveString, _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__["Reviver"]); +} + +function SizeOfAllServers() { + var size = 0, key; + for (key in AllServers) { + if (AllServers.hasOwnProperty(key)) size++; + } + return size; +} + +//Add a server onto the map of all servers in the game +function AddToAllServers(server) { + var serverIp = server.ip; + if (Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["ipExists"])(serverIp)) { + console.log("IP of server that's being added: " + serverIp); + console.log("Hostname of the server thats being added: " + server.hostname); + console.log("The server that already has this IP is: " + AllServers[serverIp].hostname); + throw new Error("Error: Trying to add a server with an existing IP"); + return; + } + AllServers[serverIp] = server; +} + +//Returns server object with corresponding hostname +// Relatively slow, would rather not use this a lot +function GetServerByHostname(hostname) { + for (var ip in AllServers) { + if (AllServers.hasOwnProperty(ip)) { + if (AllServers[ip].hostname == hostname) { + return AllServers[ip]; + } + } + } + return null; +} + +//Get server by IP or hostname. Returns null if invalid +function getServer(s) { + if (!Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["isValidIPAddress"])(s)) { + return GetServerByHostname(s); + } else { + return AllServers[s]; + } +} + +//Debugging tool +function PrintAllServers() { + for (var ip in AllServers) { + if (AllServers.hasOwnProperty(ip)) { + console.log("Ip: " + ip + ", hostname: " + AllServers[ip].hostname); + } + } +} + +// Directory object (folders) +function Directory(server, parent, name) { + this.s = server; //Ref to server + this.p = parent; //Ref to parent directory + this.c = []; //Subdirs + this.n = name; + this.d = parent.d + 1; //We'll only have a maximum depth of 3 or something + this.scrs = []; //Holds references to the scripts in server.scripts + this.pgms = []; + this.msgs = []; +} + +Directory.prototype.createSubdir = function(name) { + var subdir = new Directory(this.s, this, name); + +} + +Directory.prototype.getPath = function(name) { + var res = []; + var i = this; + while (i !== null) { + res.unshift(i.n, "/"); + i = i.parent; + } + res.unshift("/"); + return res.join(""); +} + + + + +/***/ }), +/* 9 */ /*!******************************!*\ !*** ./utils/JSONReviver.js ***! \******************************/ @@ -8620,7 +9893,7 @@ function Generic_fromJSON(ctor, data) { /***/ }), -/* 9 */ +/* 10 */ /*!************************!*\ !*** ./src/Company.js ***! \************************/ @@ -8640,7 +9913,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Constants.js */ 3); /* harmony import */ var _Location_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Location.js */ 4); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); @@ -9790,953 +11063,6 @@ function getJobRequirementText(company, pos, tooltiptext=false) { -/***/ }), -/* 10 */ -/*!***********************!*\ - !*** ./src/Server.js ***! - \***********************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Server", function() { return Server; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AllServers", function() { return AllServers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getServer", function() { return getServer; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GetServerByHostname", function() { return GetServerByHostname; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadAllServers", function() { return loadAllServers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AddToAllServers", function() { return AddToAllServers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "processSingleServerGrowth", function() { return processSingleServerGrowth; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initForeignServers", function() { return initForeignServers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prestigeAllServers", function() { return prestigeAllServers; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prestigeHomeComputer", function() { return prestigeHomeComputer; }); -/* 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 _CreateProgram_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CreateProgram.js */ 14); -/* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _Script_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Script.js */ 25); -/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SpecialServerIps.js */ 18); -/* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var _utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/IPAddress.js */ 16); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); - - - - - - - - - - -function Server(params={ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:""}) { - /* Properties */ - //Connection information - this.ip = params.ip ? params.ip : Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(); - - var hostname = params.hostname; - var i = 0; - var suffix = ""; - while (GetServerByHostname(hostname+suffix) != null) { - //Server already exists - suffix = "-" + i; - ++i; - } - this.hostname = hostname + suffix; - this.organizationName = params.organizationName != null ? params.organizationName : ""; - this.isConnectedTo = params.isConnectedTo != null ? params.isConnectedTo : false; - - //Access information - this.hasAdminRights = params.adminRights != null ? params.adminRights : false; - this.purchasedByPlayer = params.purchasedByPlayer != null ? params.purchasedByPlayer : false; - this.manuallyHacked = false; //Flag that tracks whether or not the server has been hacked at least once - - //RAM, CPU speed and Scripts - this.maxRam = params.maxRam != null ? params.maxRam : 0; //GB - this.ramUsed = 0; - this.cpuCores = 1; //Max of 8, affects hacking times and Hacking Mission starting Cores - - this.scripts = []; - this.runningScripts = []; //Stores RunningScript objects - this.programs = []; - this.messages = []; - this.textFiles = []; - this.dir = 0; //new Directory(this, null, ""); TODO - - /* Hacking information (only valid for "foreign" aka non-purchased servers) */ - this.requiredHackingSkill = params.requiredHackingSkill != null ? params.requiredHackingSkill : 1; - this.moneyAvailable = params.moneyAvailable != null ? params.moneyAvailable * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerStartingMoney : 0; - this.moneyMax = 25 * this.moneyAvailable * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerMaxMoney; - - //Hack Difficulty is synonymous with server security. Base Difficulty = Starting difficulty - this.hackDifficulty = params.hackDifficulty != null ? params.hackDifficulty * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerStartingSecurity : 1; - this.baseDifficulty = this.hackDifficulty; - this.minDifficulty = Math.max(1, Math.round(this.hackDifficulty / 3)); - this.serverGrowth = params.serverGrowth != null ? params.serverGrowth : 1; //Integer from 0 to 100. Affects money increase from grow() - - //The IP's of all servers reachable from this one (what shows up if you run scan/netstat) - // NOTE: Only contains IP and not the Server objects themselves - this.serversOnNetwork = []; - - //Port information, required for porthacking servers to get admin rights - this.numOpenPortsRequired = params.numOpenPortsRequired != null ? params.numOpenPortsRequired : 5; - this.sshPortOpen = false; //Port 22 - this.ftpPortOpen = false; //Port 21 - this.smtpPortOpen = false; //Port 25 - this.httpPortOpen = false; //Port 80 - this.sqlPortOpen = false; //Port 1433 - this.openPortCount = 0; -}; - -Server.prototype.setMaxRam = function(ram) { - this.maxRam = ram; -} - -//The serverOnNetwork array holds the IP of all the servers. This function -//returns the actual Server objects -Server.prototype.getServerOnNetwork = function(i) { - if (i > this.serversOnNetwork.length) { - console.log("Tried to get server on network that was out of range"); - return; - } - return AllServers[this.serversOnNetwork[i]]; -} - -//Given the name of the script, returns the corresponding -//script object on the server (if it exists) -Server.prototype.getScript = function(scriptName) { - for (var i = 0; i < this.scripts.length; i++) { - if (this.scripts[i].filename == scriptName) { - return this.scripts[i]; - } - } - return null; -} - -//Strengthens a server's security level (difficulty) by the specified amount -Server.prototype.fortify = function(amt) { - this.hackDifficulty += amt; - //Place some arbitrarily limit that realistically should never happen unless someone is - //screwing around with the game - if (this.hackDifficulty > 1000000) {this.hackDifficulty = 1000000;} -} - -Server.prototype.weaken = function(amt) { - this.hackDifficulty -= (amt * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerWeakenRate); - if (this.hackDifficulty < this.minDifficulty) {this.hackDifficulty = this.minDifficulty;} - if (this.hackDifficulty < 1) {this.hackDifficulty = 1;} -} - -//Functions for loading and saving a Server -Server.prototype.toJSON = function() { - return Object(_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__["Generic_toJSON"])("Server", this); -} - -Server.fromJSON = function(value) { - return Object(_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__["Generic_fromJSON"])(Server, value.data); -} - -_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__["Reviver"].constructors.Server = Server; - -function initForeignServers() { - //MegaCorporations - var ECorpServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"ecorp", organizationName:"ECorp", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1150, 1300), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(30e9, 70e9), - hackDifficulty:99,serverGrowth:99, numOpenPortsRequired: 5, - }); - AddToAllServers(ECorpServer); - - var MegaCorpServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"megacorp", organizationName:"MegaCorp", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1150, 1300), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40e9, 60e9), - hackDifficulty:99, serverGrowth:99, numOpenPortsRequired:5 - }); - AddToAllServers(MegaCorpServer); - - var BachmanAndAssociatesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"b-and-a", organizationName:"Bachman & Associates", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1050), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(20e9, 25e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 75), numOpenPortsRequired:5 - }); - AddToAllServers(BachmanAndAssociatesServer); - - var BladeIndustriesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"blade", organizationName:"Blade Industries", maxRam:128, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1100), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(12e9, 20e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(90, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 75), numOpenPortsRequired:5 - }); - BladeIndustriesServer.messages.push("beyond-man.lit"); - AddToAllServers(BladeIndustriesServer); - - var NWOServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"nwo", organizationName:"New World Order", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1200), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(25e9, 35e9), - hackDifficulty:99, serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), numOpenPortsRequired:5 - }); - NWOServer.messages.push("the-hidden-world.lit"); - AddToAllServers(NWOServer); - - var ClarkeIncorporatedServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"clarkeinc", organizationName:"Clarke Incorporated", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1200), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(15e9, 25e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 60), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 70), numOpenPortsRequired:5 - }); - ClarkeIncorporatedServer.messages.push("beyond-man.lit"); - ClarkeIncorporatedServer.messages.push("cost-of-immortality.lit"); - AddToAllServers(ClarkeIncorporatedServer); - - var OmniTekIncorporatedServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"omnitek", organizationName:"OmniTek Incorporated", maxRam:256, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900, 1100), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(15e9, 20e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(90, 99), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(95, 99), numOpenPortsRequired:5 - }); - OmniTekIncorporatedServer.messages.push("coded-intelligence.lit"); - OmniTekIncorporatedServer.messages.push("history-of-synthoids.lit"); - AddToAllServers(OmniTekIncorporatedServer); - - var FourSigmaServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"4sigma", organizationName:"FourSigma", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(950, 1200), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(15e9, 25e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 70), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 99), numOpenPortsRequired:5 - }); - AddToAllServers(FourSigmaServer); - - var KuaiGongInternationalServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"kuai-gong", organizationName:"KuaiGong International", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1250), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(20e9, 30e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(95, 99), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(90, 99), numOpenPortsRequired:5, - }); - AddToAllServers(KuaiGongInternationalServer); - - //Technology and communications companies (large targets) - var FulcrumTechnologiesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"fulcrumtech", organizationName:"Fulcrum Technologies", maxRam:512, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1000, 1200), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.4e9, 1.8e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 99), numOpenPortsRequired:5 - }); - FulcrumTechnologiesServer.messages.push("simulated-reality.lit"); - AddToAllServers(FulcrumTechnologiesServer); - - var FulcrumSecretTechnologiesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"fulcrumassets", organizationName:"Fulcrum Technologies Assets", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1200, 1500), moneyAvailable:1e6, - hackDifficulty:99, serverGrowth:1, numOpenPortsRequired:5 - }); - AddToAllServers(FulcrumSecretTechnologiesServer); - _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].FulcrumSecretTechnologies, FulcrumSecretTechnologiesServer.ip); - - var StormTechnologiesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"stormtech", organizationName:"Storm Technologies", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900, 1050), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1e9, 1.2e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), numOpenPortsRequired:5 - }); - AddToAllServers(StormTechnologiesServer); - - var DefCommServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"defcomm", organizationName:"DefComm", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900, 1000), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800e6, 950e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 70), numOpenPortsRequired:5 - }); - AddToAllServers(DefCommServer); - - var InfoCommServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"infocomm", organizationName:"InfoComm", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(875, 950), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(600e6, 900e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 75), numOpenPortsRequired:5 - }); - AddToAllServers(InfoCommServer); - - var HeliosLabsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"helios", organizationName:"Helios Labs", maxRam:128, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 900), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(550e6, 750e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:5 - }); - HeliosLabsServer.messages.push("beyond-man.lit"); - AddToAllServers(HeliosLabsServer); - - var VitaLifeServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"vitalife", organizationName:"VitaLife", maxRam:64, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 900), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(700e6, 800e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), numOpenPortsRequired:5 - }); - VitaLifeServer.messages.push("A-Green-Tomorrow.lit"); - AddToAllServers(VitaLifeServer); - - var IcarusMicrosystemsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"icarus", organizationName:"Icarus Microsystems", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(850, 925), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900e6, 1000e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), numOpenPortsRequired:5 - }); - AddToAllServers(IcarusMicrosystemsServer); - - var UniversalEnergyServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"univ-energy", organizationName:"Universal Energy", maxRam:64, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 900), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.1e9, 1.2e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), numOpenPortsRequired:4 - }); - AddToAllServers(UniversalEnergyServer); - - var TitanLabsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"titan-labs", organizationName:"Titan Laboratories", maxRam:64, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 875), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(750e6, 900e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), numOpenPortsRequired:5 - }); - TitanLabsServer.messages.push("coded-intelligence.lit"); - AddToAllServers(TitanLabsServer); - - var MicrodyneTechnologiesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"microdyne", organizationName:"Microdyne Technologies", maxRam:32, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 875), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(500e6, 700e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 75), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), numOpenPortsRequired:5 - }); - MicrodyneTechnologiesServer.messages.push("synthetic-muscles.lit"); - AddToAllServers(MicrodyneTechnologiesServer); - - var TaiYangDigitalServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"taiyang-digital", organizationName:"Taiyang Digital", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(850, 950), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800e6, 900e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:5 - }); - TaiYangDigitalServer.messages.push("A-Green-Tomorrow.lit"); - TaiYangDigitalServer.messages.push("brighter-than-the-sun.lit"); - AddToAllServers(TaiYangDigitalServer); - - var GalacticCyberSystemsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"galactic-cyber", organizationName:"Galactic Cybersystems", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(825, 875), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(750e6, 850e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), numOpenPortsRequired:5 - }); - AddToAllServers(GalacticCyberSystemsServer); - - //Defense Companies ("Large" Companies) - var AeroCorpServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"aerocorp", organizationName:"AeroCorp", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(850, 925), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1e9, 1.2e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), numOpenPortsRequired:5 - }); - AeroCorpServer.messages.push("man-and-machine.lit"); - AddToAllServers(AeroCorpServer); - - var OmniaCybersystemsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"omnia", organizationName:"Omnia Cybersystems", maxRam:64, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(850, 950), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900e6, 1e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(85, 95), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 70), numOpenPortsRequired:5 - }); - OmniaCybersystemsServer.messages.push("history-of-synthoids.lit"); - AddToAllServers(OmniaCybersystemsServer); - - var ZBDefenseServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"zb-def", organizationName:"ZB Defense Industries", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 825), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(900e6, 1.1e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 75), numOpenPortsRequired:4 - }); - ZBDefenseServer.messages.push("synthetic-muscles.lit"); - AddToAllServers(ZBDefenseServer); - - var AppliedEnergeticsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"applied-energetics", organizationName:"Applied Energetics", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(700e6, 1e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 75), numOpenPortsRequired:4 - }); - AddToAllServers(AppliedEnergeticsServer); - - var SolarisSpaceSystemsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"solaris", organizationName:"Solaris Space Systems", maxRam:64, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(750, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(700e6, 900e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:5 - }); - SolarisSpaceSystemsServer.messages.push("A-Green-Tomorrow.lit"); - SolarisSpaceSystemsServer.messages.push("the-failed-frontier.lit"); - AddToAllServers(SolarisSpaceSystemsServer); - - var DeltaOneServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"deltaone", organizationName:"Delta One", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 900), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.3e9, 1.7e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 70), numOpenPortsRequired:5 - }); - AddToAllServers(DeltaOneServer); - - //Health, medicine, pharmaceutical companies ("Large" targets) - var GlobalPharmaceuticalsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"global-pharm", organizationName:"Global Pharmaceuticals", maxRam:32, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(750, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.5e9, 1.75e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(80, 90), numOpenPortsRequired:4 - }); - GlobalPharmaceuticalsServer.messages.push("A-Green-Tomorrow.lit"); - AddToAllServers(GlobalPharmaceuticalsServer); - - var NovaMedicalServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"nova-med", organizationName:"Nova Medical", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.1e9, 1.25e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 85), numOpenPortsRequired:4 - }); - AddToAllServers(NovaMedicalServer); - - var ZeusMedicalServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"zeus-med", organizationName:"Zeus Medical", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800, 850), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1.3e9, 1.5e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 90), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:5 - }); - AddToAllServers(ZeusMedicalServer); - - var UnitaLifeGroupServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"unitalife", organizationName:"UnitaLife Group", maxRam:32, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(775, 825), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(1e9, 1.1e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), numOpenPortsRequired:4 - }); - AddToAllServers(UnitaLifeGroupServer); - - //"Medium level" targets - var LexoCorpServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"lexo-corp", organizationName:"Lexo Corporation", maxRam:32, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(650, 750), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(700e6, 800e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), numOpenPortsRequired:4 - }); - AddToAllServers(LexoCorpServer); - - var RhoConstructionServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"rho-construction", organizationName:"Rho Construction", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(475, 525), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(500e6, 700e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), numOpenPortsRequired:3 - }); - AddToAllServers(RhoConstructionServer); - - var AlphaEnterprisesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"alpha-ent", organizationName:"Alpha Enterprises", maxRam:32, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(500, 600), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(600e6, 750e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 70), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 60),numOpenPortsRequired:4 - }); - AlphaEnterprisesServer.messages.push("sector-12-crime.lit"); - AddToAllServers(AlphaEnterprisesServer); - - var AevumPoliceServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"aevum-police", organizationName:"Aevum Police Network", maxRam:32, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(400, 450), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(200e6, 400e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(30, 50), numOpenPortsRequired:4 - }); - AddToAllServers(AevumPoliceServer); - - var RothmanUniversityServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"rothman-uni", organizationName:"Rothman University Network", maxRam:64, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(370, 430), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(175e6, 250e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 55), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 45), numOpenPortsRequired:3 - }); - RothmanUniversityServer.messages.push("secret-societies.lit"); - RothmanUniversityServer.messages.push("the-failed-frontier.lit"); - RothmanUniversityServer.messages.push("tensions-in-tech-race.lit"); - AddToAllServers(RothmanUniversityServer); - - var ZBInstituteOfTechnologyServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"zb-institute", organizationName:"ZB Institute of Technology Network", maxRam:64, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(725, 775), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(800e6, 1.1e9), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(65, 85), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(75, 85), numOpenPortsRequired:5 - }); - AddToAllServers(ZBInstituteOfTechnologyServer); - - var SummitUniversityServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"summit-uni", organizationName:"Summit University Network", maxRam:32, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(425, 475), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(200e6, 350e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), numOpenPortsRequired:3 - }); - SummitUniversityServer.messages.push("secret-societies.lit"); - SummitUniversityServer.messages.push("the-failed-frontier.lit"); - SummitUniversityServer.messages.push("synthetic-muscles.lit"); - AddToAllServers(SummitUniversityServer); - - var SysCoreSecuritiesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"syscore", organizationName:"SysCore Securities", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(550, 650), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(400e6, 600e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 70), numOpenPortsRequired:4 - }); - AddToAllServers(SysCoreSecuritiesServer); - - var CatalystVenturesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"catalyst", organizationName:"Catalyst Ventures", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(400, 450), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(300e6, 550e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 70), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(25, 55), numOpenPortsRequired:3, - }); - CatalystVenturesServer.messages.push("tensions-in-tech-race.lit"); - AddToAllServers(CatalystVenturesServer); - - var TheHubServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"the-hub", organizationName:"The Hub", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(275, 325), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(150e6, 200e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 45), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 55), numOpenPortsRequired:2 - }); - AddToAllServers(TheHubServer); - - var CompuTekServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"comptek", organizationName:"CompuTek", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(300, 400), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(220e6, 250e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 65), numOpenPortsRequired:3 - }); - CompuTekServer.messages.push("man-and-machine.lit"); - AddToAllServers(CompuTekServer); - - var NetLinkTechnologiesServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"netlink", organizationName:"NetLink Technologies", maxRam:64, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(375, 425), moneyAvailable:275e6, - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60, 80), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 75), numOpenPortsRequired:3 - }); - NetLinkTechnologiesServer.messages.push("simulated-reality.lit"); - AddToAllServers(NetLinkTechnologiesServer); - - var JohnsonOrthopedicsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"johnson-ortho", organizationName:"Johnson Orthopedics", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(250, 300), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(70e6, 85e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 65), numOpenPortsRequired:2 - }); - AddToAllServers(JohnsonOrthopedicsServer); - - //"Low level" targets - var FoodNStuffServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"foodnstuff", organizationName:"Food N Stuff Supermarket", maxRam:16, - requiredHackingSkill:1, moneyAvailable:2e6, - hackDifficulty:10, serverGrowth:5, numOpenPortsRequired:0 - }); - FoodNStuffServer.messages.push("sector-12-crime.lit"); - AddToAllServers(FoodNStuffServer); - - var SigmaCosmeticsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"sigma-cosmetics", organizationName:"Sigma Cosmetics", maxRam:16, - requiredHackingSkill:5, moneyAvailable:2.3e6, - hackDifficulty:10, serverGrowth:10, numOpenPortsRequired:0 - }); - AddToAllServers(SigmaCosmeticsServer); - - var JoesGunsServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"joesguns", organizationName:"Joe's Guns", maxRam:16, - requiredHackingSkill:10, moneyAvailable:2.5e6, - hackDifficulty:15, serverGrowth:20, numOpenPortsRequired:0 - }); - AddToAllServers(JoesGunsServer); - - var Zer0NightclubServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"zer0", organizationName:"ZER0 Nightclub", maxRam:32, - requiredHackingSkill:75, moneyAvailable:7.5e6, - hackDifficulty:25, serverGrowth:40, numOpenPortsRequired:1 - }); - AddToAllServers(Zer0NightclubServer); - - var NectarNightclubServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"nectar-net", organizationName:"Nectar Nightclub Network", maxRam:16, - requiredHackingSkill:20, moneyAvailable:2.75e6, - hackDifficulty:20, serverGrowth:25, numOpenPortsRequired:0 - }); - AddToAllServers(NectarNightclubServer); - - var NeoNightclubServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"neo-net", organizationName:"Neo Nightclub Network", maxRam:32, - requiredHackingSkill:50, moneyAvailable:5e6, - hackDifficulty:25, serverGrowth:25, numOpenPortsRequired:1 - }); - NeoNightclubServer.messages.push("the-hidden-world.lit"); - AddToAllServers(NeoNightclubServer); - - var SilverHelixServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"silver-helix", organizationName:"Silver Helix", maxRam:64, - requiredHackingSkill:150, moneyAvailable:45e6, - hackDifficulty:30, serverGrowth:30, numOpenPortsRequired:2 - }); - SilverHelixServer.messages.push("new-triads.lit"); - AddToAllServers(SilverHelixServer); - - var HongFangTeaHouseServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"hong-fang-tea", organizationName:"HongFang Teahouse", maxRam:16, - requiredHackingSkill:30, moneyAvailable:3e6, - hackDifficulty:15, serverGrowth:20, numOpenPortsRequired:0 - }); - HongFangTeaHouseServer.messages.push("brighter-than-the-sun.lit"); - AddToAllServers(HongFangTeaHouseServer); - - var HaraKiriSushiBarServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"harakiri-sushi", organizationName:"HaraKiri Sushi Bar Network",maxRam:16, - requiredHackingSkill:40, moneyAvailable:4e6, - hackDifficulty:15, serverGrowth:40, numOpenPortsRequired:0 - }); - AddToAllServers(HaraKiriSushiBarServer); - - var PhantasyServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"phantasy", organizationName:"Phantasy Club", maxRam:32, - requiredHackingSkill:100, moneyAvailable:24e6, - hackDifficulty:20, serverGrowth:35, numOpenPortsRequired:2 - }); - AddToAllServers(PhantasyServer); - - var MaxHardwareServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"max-hardware", organizationName:"Max Hardware Store", maxRam:32, - requiredHackingSkill:80, moneyAvailable:10e6, - hackDifficulty:15, serverGrowth:30, numOpenPortsRequired:1, - }); - AddToAllServers(MaxHardwareServer); - - var OmegaSoftwareServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"omega-net", organizationName:"Omega Software", maxRam:32, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(180, 220), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(60e6, 70e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(25, 35), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(30, 40), numOpenPortsRequired:2 - }); - OmegaSoftwareServer.messages.push("the-new-god.lit"); - AddToAllServers(OmegaSoftwareServer); - - //Gyms - var CrushFitnessGymServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"crush-fitness", organizationName:"Crush Fitness", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(225, 275), moneyAvailable:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40e6, 60e6), - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(35, 45), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(27, 33), numOpenPortsRequired:2 - }); - AddToAllServers(CrushFitnessGymServer); - - var IronGymServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"iron-gym", organizationName:"Iron Gym Network", maxRam:32, - requiredHackingSkill:100, moneyAvailable:20e6, - hackDifficulty:30, serverGrowth:20, numOpenPortsRequired:1 - }); - AddToAllServers(IronGymServer); - - var MilleniumFitnessGymServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"millenium-fitness", organizationName:"Millenium Fitness Network", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(475, 525), moneyAvailable:250e6, - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(45, 55), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(25, 45), numOpenPortsRequired:3, - }); - AddToAllServers(MilleniumFitnessGymServer); - - var PowerhouseGymServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"powerhouse-fitness", organizationName:"Powerhouse Fitness", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(950, 1100), moneyAvailable:900e6, - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(55, 65), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(50, 60), numOpenPortsRequired:5, - }); - AddToAllServers(PowerhouseGymServer); - - var SnapFitnessGymServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"snap-fitness", organizationName:"Snap Fitness", - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(675, 800), moneyAvailable:450e6, - hackDifficulty:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), serverGrowth:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(40, 60), numOpenPortsRequired:4 - }); - AddToAllServers(SnapFitnessGymServer); - - //Faction servers, cannot hack money from these - var BitRunnersServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"run4theh111z", organizationName:"The Runners", maxRam:128, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(505, 550), moneyAvailable:0, - hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:4 - }); - BitRunnersServer.messages.push("simulated-reality.lit"); - BitRunnersServer.messages.push("the-new-god.lit"); - AddToAllServers(BitRunnersServer); - _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].BitRunnersServer, BitRunnersServer.ip); - - var TheBlackHandServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"I.I.I.I", organizationName:"I.I.I.I", maxRam:64, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(340, 365), moneyAvailable:0, - hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:3, - }); - TheBlackHandServer.messages.push("democracy-is-dead.lit"); - AddToAllServers(TheBlackHandServer); - _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].TheBlackHandServer, TheBlackHandServer.ip); - - var NiteSecServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"avmnite-02h", organizationName:"NiteSec", maxRam:32, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(202, 220), moneyAvailable:0, - hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:2 - }); - NiteSecServer.messages.push("democracy-is-dead.lit"); - AddToAllServers(NiteSecServer); - _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].NiteSecServer, NiteSecServer.ip); - - var DarkArmyServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:".", organizationName:".", maxRam:16, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(505, 550), moneyAvailable:0, - hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:4 - }); - AddToAllServers(DarkArmyServer); - _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].TheDarkArmyServer, DarkArmyServer.ip); - - var CyberSecServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"CSEC", organizationName:"CyberSec", maxRam:8, - requiredHackingSkill:Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__["getRandomInt"])(51, 60), moneyAvailable:0, - hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:1 - }); - CyberSecServer.messages.push("democracy-is-dead.lit"); - AddToAllServers(CyberSecServer); - _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].CyberSecServer, CyberSecServer.ip); - - var DaedalusServer = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:"The-Cave", organizationName:"Helios", - requiredHackingSkill:925, moneyAvailable:0, - hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:5 - }); - DaedalusServer.messages.push("alpha-omega.lit"); - AddToAllServers(DaedalusServer); - _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].DaedalusServer, DaedalusServer.ip); - - //Super special Servers - var WorldDaemon = new Server({ - ip:Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["createRandomIp"])(), hostname:_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].WorldDaemon, organizationName:_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].WorldDaemon, - requiredHackingSkill:3000, moneyAvailable:0, - hackDifficulty:0, serverGrowth:0, numOpenPortsRequired:5 - }); - AddToAllServers(WorldDaemon); - _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerIps"].addIp(_SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_5__["SpecialServerNames"].WorldDaemon, WorldDaemon.ip); - - /* Create a randomized network for all the foreign servers */ - //Groupings for creating a randomized network - var NetworkGroup1 = [IronGymServer, FoodNStuffServer, SigmaCosmeticsServer, JoesGunsServer, HongFangTeaHouseServer, HaraKiriSushiBarServer]; - var NetworkGroup2 = [MaxHardwareServer, NectarNightclubServer, Zer0NightclubServer, CyberSecServer]; - var NetworkGroup3 = [OmegaSoftwareServer, PhantasyServer, SilverHelixServer, NeoNightclubServer]; - var NetworkGroup4 = [CrushFitnessGymServer, NetLinkTechnologiesServer, CompuTekServer, TheHubServer, JohnsonOrthopedicsServer, NiteSecServer]; - var NetworkGroup5 = [CatalystVenturesServer, SysCoreSecuritiesServer, SummitUniversityServer, ZBInstituteOfTechnologyServer, RothmanUniversityServer, TheBlackHandServer]; - var NetworkGroup6 = [LexoCorpServer, RhoConstructionServer, AlphaEnterprisesServer, AevumPoliceServer, MilleniumFitnessGymServer]; - var NetworkGroup7 = [GlobalPharmaceuticalsServer, AeroCorpServer, GalacticCyberSystemsServer, SnapFitnessGymServer]; - var NetworkGroup8 = [DeltaOneServer, UnitaLifeGroupServer, OmniaCybersystemsServer]; - var NetworkGroup9 = [ZeusMedicalServer, SolarisSpaceSystemsServer, UniversalEnergyServer, IcarusMicrosystemsServer, DefCommServer]; - var NetworkGroup10 = [NovaMedicalServer, ZBDefenseServer, TaiYangDigitalServer, InfoCommServer]; - var NetworkGroup11 = [AppliedEnergeticsServer, MicrodyneTechnologiesServer, TitanLabsServer, BitRunnersServer]; - var NetworkGroup12 = [VitaLifeServer, HeliosLabsServer, StormTechnologiesServer, FulcrumTechnologiesServer]; - var NetworkGroup13 = [KuaiGongInternationalServer, FourSigmaServer, OmniTekIncorporatedServer, DarkArmyServer]; - var NetworkGroup14 = [PowerhouseGymServer, ClarkeIncorporatedServer, NWOServer, BladeIndustriesServer, BachmanAndAssociatesServer]; - var NetworkGroup15 = [FulcrumSecretTechnologiesServer, MegaCorpServer, ECorpServer, DaedalusServer]; - - for (var i = 0; i < NetworkGroup2.length; i++) { - var randomServerFromPrevGroup = NetworkGroup1[Math.floor(Math.random() * NetworkGroup1.length)]; - NetworkGroup2[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup2[i].ip); - } - - for (var i = 0; i < NetworkGroup3.length; i++) { - var randomServerFromPrevGroup = NetworkGroup2[Math.floor(Math.random() * NetworkGroup2.length)]; - NetworkGroup3[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup3[i].ip); - } - - for (var i = 0; i < NetworkGroup4.length; i++) { - var randomServerFromPrevGroup = NetworkGroup3[Math.floor(Math.random() * NetworkGroup3.length)]; - NetworkGroup4[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup4[i].ip); - } - - for (var i = 0; i < NetworkGroup5.length; i++) { - var randomServerFromPrevGroup = NetworkGroup4[Math.floor(Math.random() * NetworkGroup4.length)]; - NetworkGroup5[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup5[i].ip); - } - - for (var i = 0; i < NetworkGroup6.length; i++) { - var randomServerFromPrevGroup = NetworkGroup5[Math.floor(Math.random() * NetworkGroup5.length)]; - NetworkGroup6[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup6[i].ip); - } - - for (var i = 0; i < NetworkGroup7.length; i++) { - var randomServerFromPrevGroup = NetworkGroup6[Math.floor(Math.random() * NetworkGroup6.length)]; - NetworkGroup7[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup7[i].ip); - } - - for (var i = 0; i < NetworkGroup8.length; i++) { - var randomServerFromPrevGroup = NetworkGroup7[Math.floor(Math.random() * NetworkGroup7.length)]; - NetworkGroup8[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup8[i].ip); - } - - for (var i = 0; i < NetworkGroup9.length; i++) { - var randomServerFromPrevGroup = NetworkGroup8[Math.floor(Math.random() * NetworkGroup8.length)]; - NetworkGroup9[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup9[i].ip); - } - - for (var i = 0; i < NetworkGroup10.length; i++) { - var randomServerFromPrevGroup = NetworkGroup9[Math.floor(Math.random() * NetworkGroup9.length)]; - NetworkGroup10[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup10[i].ip); - } - - for (var i = 0; i < NetworkGroup11.length; i++) { - var randomServerFromPrevGroup = NetworkGroup10[Math.floor(Math.random() * NetworkGroup10.length)]; - NetworkGroup11[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup11[i].ip); - } - - for (var i = 0; i < NetworkGroup12.length; i++) { - var randomServerFromPrevGroup = NetworkGroup11[Math.floor(Math.random() * NetworkGroup11.length)]; - NetworkGroup12[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup12[i].ip); - } - - for (var i = 0; i < NetworkGroup13.length; i++) { - var randomServerFromPrevGroup = NetworkGroup12[Math.floor(Math.random() * NetworkGroup12.length)]; - NetworkGroup13[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup13[i].ip); - } - - for (var i = 0; i < NetworkGroup14.length; i++) { - var randomServerFromPrevGroup = NetworkGroup13[Math.floor(Math.random() * NetworkGroup13.length)]; - NetworkGroup14[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup14[i].ip); - } - - for (var i = 0; i < NetworkGroup15.length; i++) { - var randomServerFromPrevGroup = NetworkGroup14[Math.floor(Math.random() * NetworkGroup14.length)]; - NetworkGroup15[i].serversOnNetwork.push(randomServerFromPrevGroup.ip); - randomServerFromPrevGroup.serversOnNetwork.push(NetworkGroup15[i].ip); - } - - //Connect the first tier of servers to the player's home computer - for (var i = 0; i < NetworkGroup1.length; i++) { - _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].getHomeComputer().serversOnNetwork.push(NetworkGroup1[i].ip); - NetworkGroup1[i].serversOnNetwork.push(_Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].homeComputer); - } -} - -//Applied server growth for a single server. Returns the percentage growth -function processSingleServerGrowth(server, numCycles) { - //Server growth processed once every 450 game cycles - var numServerGrowthCycles = Math.max(Math.floor(numCycles / 450), 0); - - //Get adjusted growth rate, which accounts for server security - var growthRate = _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].ServerBaseGrowthRate; - var adjGrowthRate = 1 + (growthRate - 1) / server.hackDifficulty; - if (adjGrowthRate > _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].ServerMaxGrowthRate) {adjGrowthRate = _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].ServerMaxGrowthRate;} - - //Calculate adjusted server growth rate based on parameters - var serverGrowthPercentage = server.serverGrowth / 100; - var numServerGrowthCyclesAdjusted = numServerGrowthCycles * serverGrowthPercentage * _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerGrowthRate; - - //Apply serverGrowth for the calculated number of growth cycles - var serverGrowth = Math.pow(adjGrowthRate, numServerGrowthCyclesAdjusted * _Player_js__WEBPACK_IMPORTED_MODULE_3__["Player"].hacking_grow_mult); - if (serverGrowth < 1) { - console.log("WARN: serverGrowth calculated to be less than 1"); - serverGrowth = 1; - } - - var oldMoneyAvailable = server.moneyAvailable; - server.moneyAvailable *= serverGrowth; - if (server.moneyMax && isNaN(server.moneyAvailable)) { - server.moneyAvailable = server.moneyMax; - } - if (server.moneyMax && server.moneyAvailable > server.moneyMax) { - server.moneyAvailable = server.moneyMax; - return server.moneyAvailable / oldMoneyAvailable; - } - - //Growing increases server security twice as much as hacking - server.fortify(2 * _Constants_js__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].ServerFortifyAmount * numServerGrowthCycles); - return serverGrowth; -} - -function prestigeHomeComputer(homeComp) { - homeComp.programs.length = 0; //Remove programs - homeComp.runningScripts = []; - homeComp.serversOnNetwork = []; - homeComp.isConnectedTo = true; - homeComp.ramUsed = 0; - homeComp.programs.push(_CreateProgram_js__WEBPACK_IMPORTED_MODULE_2__["Programs"].NukeProgram); - - //Update RAM usage on all scripts - homeComp.scripts.forEach(function(script) { - script.updateRamUsage(); - }); - - homeComp.messages.length = 0; //Remove .lit and .msg files - homeComp.messages.push("hackers-starting-handbook.lit"); -} - -//List of all servers that exist in the game, indexed by their ip -let AllServers = {}; - -function prestigeAllServers() { - for (var member in AllServers) { - delete AllServers[member]; - } - AllServers = {}; -} - -function loadAllServers(saveString) { - AllServers = JSON.parse(saveString, _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__["Reviver"]); -} - -function SizeOfAllServers() { - var size = 0, key; - for (key in AllServers) { - if (AllServers.hasOwnProperty(key)) size++; - } - return size; -} - -//Add a server onto the map of all servers in the game -function AddToAllServers(server) { - var serverIp = server.ip; - if (Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["ipExists"])(serverIp)) { - console.log("IP of server that's being added: " + serverIp); - console.log("Hostname of the server thats being added: " + server.hostname); - console.log("The server that already has this IP is: " + AllServers[serverIp].hostname); - throw new Error("Error: Trying to add a server with an existing IP"); - return; - } - AllServers[serverIp] = server; -} - -//Returns server object with corresponding hostname -// Relatively slow, would rather not use this a lot -function GetServerByHostname(hostname) { - for (var ip in AllServers) { - if (AllServers.hasOwnProperty(ip)) { - if (AllServers[ip].hostname == hostname) { - return AllServers[ip]; - } - } - } - return null; -} - -//Get server by IP or hostname. Returns null if invalid -function getServer(s) { - if (!Object(_utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_7__["isValidIPAddress"])(s)) { - return GetServerByHostname(s); - } else { - return AllServers[s]; - } -} - -//Debugging tool -function PrintAllServers() { - for (var ip in AllServers) { - if (AllServers.hasOwnProperty(ip)) { - console.log("Ip: " + ip + ", hostname: " + AllServers[ip].hostname); - } - } -} - -// Directory object (folders) -function Directory(server, parent, name) { - this.s = server; //Ref to server - this.p = parent; //Ref to parent directory - this.c = []; //Subdirs - this.n = name; - this.d = parent.d + 1; //We'll only have a maximum depth of 3 or something - this.scrs = []; //Holds references to the scripts in server.scripts - this.pgms = []; - this.msgs = []; -} - -Directory.prototype.createSubdir = function(name) { - var subdir = new Directory(this.s, this, name); - -} - -Directory.prototype.getPath = function(name) { - var res = []; - var i = this; - while (i !== null) { - res.unshift(i.n, "/"); - i = i.parent; - } - res.unshift("/"); - return res.join(""); -} - - - - /***/ }), /* 11 */ /*!************************!*\ @@ -10769,8 +11095,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_FactionInvitationBox_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/FactionInvitationBox.js */ 116); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); -/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! numeral/min/numeral.min */ 13); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); +/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! numeral/min/numeral.min */ 14); /* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_13__); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); /* harmony import */ var _utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/YesNoBox.js */ 12); @@ -11661,26 +11987,6 @@ function yesNoTxtInpBoxCreate(txt) { /***/ }), /* 13 */ -/*!*************************************************!*\ - !*** ./node_modules/numeral/min/numeral.min.js ***! - \*************************************************/ -/***/ (function(module, exports, __webpack_require__) { - -var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! @preserve - * numeral.js - * version : 2.0.6 - * author : Adam Draper - * license : MIT - * http://adamwdraper.github.com/Numeral-js/ - */ -!function(a,b){ true?!(__WEBPACK_AMD_DEFINE_FACTORY__ = (b), - __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? - (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : - __WEBPACK_AMD_DEFINE_FACTORY__), - __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):undefined}(this,function(){function a(a,b){this._input=a,this._value=b}var b,c,d="2.0.6",e={},f={},g={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},h={currentLocale:g.currentLocale,zeroFormat:g.zeroFormat,nullFormat:g.nullFormat,defaultFormat:g.defaultFormat,scalePercentBy100:g.scalePercentBy100};return b=function(d){var f,g,i,j;if(b.isNumeral(d))f=d.value();else if(0===d||"undefined"==typeof d)f=0;else if(null===d||c.isNaN(d))f=null;else if("string"==typeof d)if(h.zeroFormat&&d===h.zeroFormat)f=0;else if(h.nullFormat&&d===h.nullFormat||!d.replace(/[^0-9]+/g,"").length)f=null;else{for(g in e)if(j="function"==typeof e[g].regexps.unformat?e[g].regexps.unformat():e[g].regexps.unformat,j&&d.match(j)){i=e[g].unformat;break}i=i||b._.stringToNumber,f=i(d)}else f=Number(d)||null;return new a(d,f)},b.version=d,b.isNumeral=function(b){return b instanceof a},b._=c={numberToFormat:function(a,c,d){var e,g,h,i,j,k,l,m=f[b.options.currentLocale],n=!1,o=!1,p=0,q="",r=1e12,s=1e9,t=1e6,u=1e3,v="",w=!1;if(a=a||0,g=Math.abs(a),b._.includes(c,"(")?(n=!0,c=c.replace(/[\(|\)]/g,"")):(b._.includes(c,"+")||b._.includes(c,"-"))&&(j=b._.includes(c,"+")?c.indexOf("+"):0>a?c.indexOf("-"):-1,c=c.replace(/[\+|\-]/g,"")),b._.includes(c,"a")&&(e=c.match(/a(k|m|b|t)?/),e=e?e[1]:!1,b._.includes(c," a")&&(q=" "),c=c.replace(new RegExp(q+"a[kmbt]?"),""),g>=r&&!e||"t"===e?(q+=m.abbreviations.trillion,a/=r):r>g&&g>=s&&!e||"b"===e?(q+=m.abbreviations.billion,a/=s):s>g&&g>=t&&!e||"m"===e?(q+=m.abbreviations.million,a/=t):(t>g&&g>=u&&!e||"k"===e)&&(q+=m.abbreviations.thousand,a/=u)),b._.includes(c,"[.]")&&(o=!0,c=c.replace("[.]",".")),h=a.toString().split(".")[0],i=c.split(".")[1],k=c.indexOf(","),p=(c.split(".")[0].split(",")[0].match(/0/g)||[]).length,i?(b._.includes(i,"[")?(i=i.replace("]",""),i=i.split("["),v=b._.toFixed(a,i[0].length+i[1].length,d,i[1].length)):v=b._.toFixed(a,i.length,d),h=v.split(".")[0],v=b._.includes(v,".")?m.delimiters.decimal+v.split(".")[1]:"",o&&0===Number(v.slice(1))&&(v="")):h=b._.toFixed(a,0,d),q&&!e&&Number(h)>=1e3&&q!==m.abbreviations.trillion)switch(h=String(Number(h)/1e3),q){case m.abbreviations.thousand:q=m.abbreviations.million;break;case m.abbreviations.million:q=m.abbreviations.billion;break;case m.abbreviations.billion:q=m.abbreviations.trillion}if(b._.includes(h,"-")&&(h=h.slice(1),w=!0),h.length0;x--)h="0"+h;return k>-1&&(h=h.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+m.delimiters.thousands)),0===c.indexOf(".")&&(h=""),l=h+v+(q?q:""),n?l=(n&&w?"(":"")+l+(n&&w?")":""):j>=0?l=0===j?(w?"-":"+")+l:l+(w?"-":"+"):w&&(l="-"+l),l},stringToNumber:function(a){var b,c,d,e=f[h.currentLocale],g=a,i={thousand:3,million:6,billion:9,trillion:12};if(h.zeroFormat&&a===h.zeroFormat)c=0;else if(h.nullFormat&&a===h.nullFormat||!a.replace(/[^0-9]+/g,"").length)c=null;else{c=1,"."!==e.delimiters.decimal&&(a=a.replace(/\./g,"").replace(e.delimiters.decimal,"."));for(b in i)if(d=new RegExp("[^a-zA-Z]"+e.abbreviations[b]+"(?:\\)|(\\"+e.currency.symbol+")?(?:\\))?)?$"),g.match(d)){c*=Math.pow(10,i[b]);break}c*=(a.split("-").length+Math.min(a.split("(").length-1,a.split(")").length-1))%2?1:-1,a=a.replace(/[^0-9\.]+/g,""),c*=Number(a)}return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},includes:function(a,b){return-1!==a.indexOf(b)},insert:function(a,b,c){return a.slice(0,c)+b+a.slice(c)},reduce:function(a,b){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof b)throw new TypeError(b+" is not a function");var c,d=Object(a),e=d.length>>>0,f=0;if(3===arguments.length)c=arguments[2];else{for(;e>f&&!(f in d);)f++;if(f>=e)throw new TypeError("Reduce of empty array with no initial value");c=d[f++]}for(;e>f;f++)f in d&&(c=b(c,d[f],f,d));return c},multiplier:function(a){var b=a.toString().split(".");return b.length<2?1:Math.pow(10,b[1].length)},correctionFactor:function(){var a=Array.prototype.slice.call(arguments);return a.reduce(function(a,b){var d=c.multiplier(b);return a>d?a:d},1)},toFixed:function(a,b,c,d){var e,f,g,h,i=a.toString().split("."),j=b-(d||0);return e=2===i.length?Math.min(Math.max(i[1].length,j),b):j,g=Math.pow(10,e),h=(c(a+"e+"+e)/g).toFixed(e),d>b-e&&(f=new RegExp("\\.?0{1,"+(d-(b-e))+"}$"),h=h.replace(f,"")),h}},b.options=h,b.formats=e,b.locales=f,b.locale=function(a){return a&&(h.currentLocale=a.toLowerCase()),h.currentLocale},b.localeData=function(a){if(!a)return f[h.currentLocale];if(a=a.toLowerCase(),!f[a])throw new Error("Unknown locale : "+a);return f[a]},b.reset=function(){for(var a in g)h[a]=g[a]},b.zeroFormat=function(a){h.zeroFormat="string"==typeof a?a:null},b.nullFormat=function(a){h.nullFormat="string"==typeof a?a:null},b.defaultFormat=function(a){h.defaultFormat="string"==typeof a?a:"0.0"},b.register=function(a,b,c){if(b=b.toLowerCase(),this[a+"s"][b])throw new TypeError(b+" "+a+" already registered.");return this[a+"s"][b]=c,c},b.validate=function(a,c){var d,e,f,g,h,i,j,k;if("string"!=typeof a&&(a+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",a)),a=a.trim(),a.match(/^\d+$/))return!0;if(""===a)return!1;try{j=b.localeData(c)}catch(l){j=b.localeData(b.locale())}return f=j.currency.symbol,h=j.abbreviations,d=j.delimiters.decimal,e="."===j.delimiters.thousands?"\\.":j.delimiters.thousands,k=a.match(/^[^\d]+/),null!==k&&(a=a.substr(1),k[0]!==f)?!1:(k=a.match(/[^\d]+$/),null!==k&&(a=a.slice(0,-1),k[0]!==h.thousand&&k[0]!==h.million&&k[0]!==h.billion&&k[0]!==h.trillion)?!1:(i=new RegExp(e+"{2}"),a.match(/[^\d.,]/g)?!1:(g=a.split(d),g.length>2?!1:g.length<2?!!g[0].match(/^\d+.*\d$/)&&!g[0].match(i):1===g[0].length?!!g[0].match(/^\d+$/)&&!g[0].match(i)&&!!g[1].match(/^\d+$/):!!g[0].match(/^\d+.*\d$/)&&!g[0].match(i)&&!!g[1].match(/^\d+$/))))},b.fn=a.prototype={clone:function(){return b(this)},format:function(a,c){var d,f,g,i=this._value,j=a||h.defaultFormat;if(c=c||Math.round,0===i&&null!==h.zeroFormat)f=h.zeroFormat;else if(null===i&&null!==h.nullFormat)f=h.nullFormat;else{for(d in e)if(j.match(e[d].regexps.format)){g=e[d].format;break}g=g||b._.numberToFormat,f=g(i,j,c)}return f},value:function(){return this._value},input:function(){return this._input},set:function(a){return this._value=Number(a),this},add:function(a){function b(a,b,c,e){return a+Math.round(d*b)}var d=c.correctionFactor.call(null,this._value,a);return this._value=c.reduce([this._value,a],b,0)/d,this},subtract:function(a){function b(a,b,c,e){return a-Math.round(d*b)}var d=c.correctionFactor.call(null,this._value,a);return this._value=c.reduce([a],b,Math.round(this._value*d))/d,this},multiply:function(a){function b(a,b,d,e){var f=c.correctionFactor(a,b);return Math.round(a*f)*Math.round(b*f)/Math.round(f*f)}return this._value=c.reduce([this._value,a],b,1),this},divide:function(a){function b(a,b,d,e){var f=c.correctionFactor(a,b);return Math.round(a*f)/Math.round(b*f)}return this._value=c.reduce([this._value,a],b),this},difference:function(a){return Math.abs(b(this._value).subtract(a).value())}},b.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"$"}}),function(){b.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(a,c,d){var e,f=b._.includes(c," BPS")?" ":"";return a=1e4*a,c=c.replace(/\s?BPS/,""),e=b._.numberToFormat(a,c,d),b._.includes(e,")")?(e=e.split(""),e.splice(-1,0,f+"BPS"),e=e.join("")):e=e+f+"BPS",e},unformat:function(a){return+(1e-4*b._.stringToNumber(a)).toFixed(15)}})}(),function(){var a={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]},c={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},d=a.suffixes.concat(c.suffixes.filter(function(b){return a.suffixes.indexOf(b)<0})),e=d.join("|");e="("+e.replace("B","B(?!PS)")+")",b.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(e)},format:function(d,e,f){var g,h,i,j,k=b._.includes(e,"ib")?c:a,l=b._.includes(e," b")||b._.includes(e," ib")?" ":"";for(e=e.replace(/\s?i?b/,""),h=0;h<=k.suffixes.length;h++)if(i=Math.pow(k.base,h),j=Math.pow(k.base,h+1),null===d||0===d||d>=i&&j>d){l+=k.suffixes[h],i>0&&(d/=i);break}return g=b._.numberToFormat(d,e,f),g+l},unformat:function(d){var e,f,g=b._.stringToNumber(d);if(g){for(e=a.suffixes.length-1;e>=0;e--){if(b._.includes(d,a.suffixes[e])){f=Math.pow(a.base,e);break}if(b._.includes(d,c.suffixes[e])){f=Math.pow(c.base,e);break}}g*=f||1}return g}})}(),function(){b.register("format","currency",{regexps:{format:/(\$)/},format:function(a,c,d){var e,f,g,h=b.locales[b.options.currentLocale],i={before:c.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:c.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(c=c.replace(/\s?\$\s?/,""),e=b._.numberToFormat(a,c,d),a>=0?(i.before=i.before.replace(/[\-\(]/,""),i.after=i.after.replace(/[\-\)]/,"")):0>a&&!b._.includes(i.before,"-")&&!b._.includes(i.before,"(")&&(i.before="-"+i.before),g=0;g=0;g--)switch(f=i.after[g]){case"$":e=g===i.after.length-1?e+h.currency.symbol:b._.insert(e,h.currency.symbol,-(i.after.length-(1+g)));break;case" ":e=g===i.after.length-1?e+" ":b._.insert(e," ",-(i.after.length-(1+g)+h.currency.symbol.length-1))}return e}})}(),function(){b.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(a,c,d){var e,f="number"!=typeof a||b._.isNaN(a)?"0e+0":a.toExponential(),g=f.split("e");return c=c.replace(/e[\+|\-]{1}0/,""),e=b._.numberToFormat(Number(g[0]),c,d),e+"e"+g[1]},unformat:function(a){function c(a,c,d,e){var f=b._.correctionFactor(a,c),g=a*f*(c*f)/(f*f);return g}var d=b._.includes(a,"e+")?a.split("e+"):a.split("e-"),e=Number(d[0]),f=Number(d[1]);return f=b._.includes(a,"e-")?f*=-1:f,b._.reduce([e,Math.pow(10,f)],c,1)}})}(),function(){b.register("format","ordinal",{regexps:{format:/(o)/},format:function(a,c,d){var e,f=b.locales[b.options.currentLocale],g=b._.includes(c," o")?" ":"";return c=c.replace(/\s?o/,""),g+=f.ordinal(a),e=b._.numberToFormat(a,c,d),e+g}})}(),function(){b.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(a,c,d){var e,f=b._.includes(c," %")?" ":"";return b.options.scalePercentBy100&&(a=100*a),c=c.replace(/\s?\%/,""),e=b._.numberToFormat(a,c,d),b._.includes(e,")")?(e=e.split(""),e.splice(-1,0,f+"%"),e=e.join("")):e=e+f+"%",e},unformat:function(a){var c=b._.stringToNumber(a);return b.options.scalePercentBy100?.01*c:c}})}(),function(){b.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(a,b,c){var d=Math.floor(a/60/60),e=Math.floor((a-60*d*60)/60),f=Math.round(a-60*d*60-60*e);return d+":"+(10>e?"0"+e:e)+":"+(10>f?"0"+f:f)},unformat:function(a){var b=a.split(":"),c=0;return 3===b.length?(c+=60*Number(b[0])*60,c+=60*Number(b[1]),c+=Number(b[2])):2===b.length&&(c+=60*Number(b[0]),c+=Number(b[1])),Number(c)}})}(),b}); - -/***/ }), -/* 14 */ /*!******************************!*\ !*** ./src/CreateProgram.js ***! \******************************/ @@ -11957,6 +12263,26 @@ function initCreateProgramButtons() { +/***/ }), +/* 14 */ +/*!*************************************************!*\ + !*** ./node_modules/numeral/min/numeral.min.js ***! + \*************************************************/ +/***/ (function(module, exports, __webpack_require__) { + +var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! @preserve + * numeral.js + * version : 2.0.6 + * author : Adam Draper + * license : MIT + * http://adamwdraper.github.com/Numeral-js/ + */ +!function(a,b){ true?!(__WEBPACK_AMD_DEFINE_FACTORY__ = (b), + __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? + (__WEBPACK_AMD_DEFINE_FACTORY__.call(exports, __webpack_require__, exports, module)) : + __WEBPACK_AMD_DEFINE_FACTORY__), + __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)):undefined}(this,function(){function a(a,b){this._input=a,this._value=b}var b,c,d="2.0.6",e={},f={},g={currentLocale:"en",zeroFormat:null,nullFormat:null,defaultFormat:"0,0",scalePercentBy100:!0},h={currentLocale:g.currentLocale,zeroFormat:g.zeroFormat,nullFormat:g.nullFormat,defaultFormat:g.defaultFormat,scalePercentBy100:g.scalePercentBy100};return b=function(d){var f,g,i,j;if(b.isNumeral(d))f=d.value();else if(0===d||"undefined"==typeof d)f=0;else if(null===d||c.isNaN(d))f=null;else if("string"==typeof d)if(h.zeroFormat&&d===h.zeroFormat)f=0;else if(h.nullFormat&&d===h.nullFormat||!d.replace(/[^0-9]+/g,"").length)f=null;else{for(g in e)if(j="function"==typeof e[g].regexps.unformat?e[g].regexps.unformat():e[g].regexps.unformat,j&&d.match(j)){i=e[g].unformat;break}i=i||b._.stringToNumber,f=i(d)}else f=Number(d)||null;return new a(d,f)},b.version=d,b.isNumeral=function(b){return b instanceof a},b._=c={numberToFormat:function(a,c,d){var e,g,h,i,j,k,l,m=f[b.options.currentLocale],n=!1,o=!1,p=0,q="",r=1e12,s=1e9,t=1e6,u=1e3,v="",w=!1;if(a=a||0,g=Math.abs(a),b._.includes(c,"(")?(n=!0,c=c.replace(/[\(|\)]/g,"")):(b._.includes(c,"+")||b._.includes(c,"-"))&&(j=b._.includes(c,"+")?c.indexOf("+"):0>a?c.indexOf("-"):-1,c=c.replace(/[\+|\-]/g,"")),b._.includes(c,"a")&&(e=c.match(/a(k|m|b|t)?/),e=e?e[1]:!1,b._.includes(c," a")&&(q=" "),c=c.replace(new RegExp(q+"a[kmbt]?"),""),g>=r&&!e||"t"===e?(q+=m.abbreviations.trillion,a/=r):r>g&&g>=s&&!e||"b"===e?(q+=m.abbreviations.billion,a/=s):s>g&&g>=t&&!e||"m"===e?(q+=m.abbreviations.million,a/=t):(t>g&&g>=u&&!e||"k"===e)&&(q+=m.abbreviations.thousand,a/=u)),b._.includes(c,"[.]")&&(o=!0,c=c.replace("[.]",".")),h=a.toString().split(".")[0],i=c.split(".")[1],k=c.indexOf(","),p=(c.split(".")[0].split(",")[0].match(/0/g)||[]).length,i?(b._.includes(i,"[")?(i=i.replace("]",""),i=i.split("["),v=b._.toFixed(a,i[0].length+i[1].length,d,i[1].length)):v=b._.toFixed(a,i.length,d),h=v.split(".")[0],v=b._.includes(v,".")?m.delimiters.decimal+v.split(".")[1]:"",o&&0===Number(v.slice(1))&&(v="")):h=b._.toFixed(a,0,d),q&&!e&&Number(h)>=1e3&&q!==m.abbreviations.trillion)switch(h=String(Number(h)/1e3),q){case m.abbreviations.thousand:q=m.abbreviations.million;break;case m.abbreviations.million:q=m.abbreviations.billion;break;case m.abbreviations.billion:q=m.abbreviations.trillion}if(b._.includes(h,"-")&&(h=h.slice(1),w=!0),h.length0;x--)h="0"+h;return k>-1&&(h=h.toString().replace(/(\d)(?=(\d{3})+(?!\d))/g,"$1"+m.delimiters.thousands)),0===c.indexOf(".")&&(h=""),l=h+v+(q?q:""),n?l=(n&&w?"(":"")+l+(n&&w?")":""):j>=0?l=0===j?(w?"-":"+")+l:l+(w?"-":"+"):w&&(l="-"+l),l},stringToNumber:function(a){var b,c,d,e=f[h.currentLocale],g=a,i={thousand:3,million:6,billion:9,trillion:12};if(h.zeroFormat&&a===h.zeroFormat)c=0;else if(h.nullFormat&&a===h.nullFormat||!a.replace(/[^0-9]+/g,"").length)c=null;else{c=1,"."!==e.delimiters.decimal&&(a=a.replace(/\./g,"").replace(e.delimiters.decimal,"."));for(b in i)if(d=new RegExp("[^a-zA-Z]"+e.abbreviations[b]+"(?:\\)|(\\"+e.currency.symbol+")?(?:\\))?)?$"),g.match(d)){c*=Math.pow(10,i[b]);break}c*=(a.split("-").length+Math.min(a.split("(").length-1,a.split(")").length-1))%2?1:-1,a=a.replace(/[^0-9\.]+/g,""),c*=Number(a)}return c},isNaN:function(a){return"number"==typeof a&&isNaN(a)},includes:function(a,b){return-1!==a.indexOf(b)},insert:function(a,b,c){return a.slice(0,c)+b+a.slice(c)},reduce:function(a,b){if(null===this)throw new TypeError("Array.prototype.reduce called on null or undefined");if("function"!=typeof b)throw new TypeError(b+" is not a function");var c,d=Object(a),e=d.length>>>0,f=0;if(3===arguments.length)c=arguments[2];else{for(;e>f&&!(f in d);)f++;if(f>=e)throw new TypeError("Reduce of empty array with no initial value");c=d[f++]}for(;e>f;f++)f in d&&(c=b(c,d[f],f,d));return c},multiplier:function(a){var b=a.toString().split(".");return b.length<2?1:Math.pow(10,b[1].length)},correctionFactor:function(){var a=Array.prototype.slice.call(arguments);return a.reduce(function(a,b){var d=c.multiplier(b);return a>d?a:d},1)},toFixed:function(a,b,c,d){var e,f,g,h,i=a.toString().split("."),j=b-(d||0);return e=2===i.length?Math.min(Math.max(i[1].length,j),b):j,g=Math.pow(10,e),h=(c(a+"e+"+e)/g).toFixed(e),d>b-e&&(f=new RegExp("\\.?0{1,"+(d-(b-e))+"}$"),h=h.replace(f,"")),h}},b.options=h,b.formats=e,b.locales=f,b.locale=function(a){return a&&(h.currentLocale=a.toLowerCase()),h.currentLocale},b.localeData=function(a){if(!a)return f[h.currentLocale];if(a=a.toLowerCase(),!f[a])throw new Error("Unknown locale : "+a);return f[a]},b.reset=function(){for(var a in g)h[a]=g[a]},b.zeroFormat=function(a){h.zeroFormat="string"==typeof a?a:null},b.nullFormat=function(a){h.nullFormat="string"==typeof a?a:null},b.defaultFormat=function(a){h.defaultFormat="string"==typeof a?a:"0.0"},b.register=function(a,b,c){if(b=b.toLowerCase(),this[a+"s"][b])throw new TypeError(b+" "+a+" already registered.");return this[a+"s"][b]=c,c},b.validate=function(a,c){var d,e,f,g,h,i,j,k;if("string"!=typeof a&&(a+="",console.warn&&console.warn("Numeral.js: Value is not string. It has been co-erced to: ",a)),a=a.trim(),a.match(/^\d+$/))return!0;if(""===a)return!1;try{j=b.localeData(c)}catch(l){j=b.localeData(b.locale())}return f=j.currency.symbol,h=j.abbreviations,d=j.delimiters.decimal,e="."===j.delimiters.thousands?"\\.":j.delimiters.thousands,k=a.match(/^[^\d]+/),null!==k&&(a=a.substr(1),k[0]!==f)?!1:(k=a.match(/[^\d]+$/),null!==k&&(a=a.slice(0,-1),k[0]!==h.thousand&&k[0]!==h.million&&k[0]!==h.billion&&k[0]!==h.trillion)?!1:(i=new RegExp(e+"{2}"),a.match(/[^\d.,]/g)?!1:(g=a.split(d),g.length>2?!1:g.length<2?!!g[0].match(/^\d+.*\d$/)&&!g[0].match(i):1===g[0].length?!!g[0].match(/^\d+$/)&&!g[0].match(i)&&!!g[1].match(/^\d+$/):!!g[0].match(/^\d+.*\d$/)&&!g[0].match(i)&&!!g[1].match(/^\d+$/))))},b.fn=a.prototype={clone:function(){return b(this)},format:function(a,c){var d,f,g,i=this._value,j=a||h.defaultFormat;if(c=c||Math.round,0===i&&null!==h.zeroFormat)f=h.zeroFormat;else if(null===i&&null!==h.nullFormat)f=h.nullFormat;else{for(d in e)if(j.match(e[d].regexps.format)){g=e[d].format;break}g=g||b._.numberToFormat,f=g(i,j,c)}return f},value:function(){return this._value},input:function(){return this._input},set:function(a){return this._value=Number(a),this},add:function(a){function b(a,b,c,e){return a+Math.round(d*b)}var d=c.correctionFactor.call(null,this._value,a);return this._value=c.reduce([this._value,a],b,0)/d,this},subtract:function(a){function b(a,b,c,e){return a-Math.round(d*b)}var d=c.correctionFactor.call(null,this._value,a);return this._value=c.reduce([a],b,Math.round(this._value*d))/d,this},multiply:function(a){function b(a,b,d,e){var f=c.correctionFactor(a,b);return Math.round(a*f)*Math.round(b*f)/Math.round(f*f)}return this._value=c.reduce([this._value,a],b,1),this},divide:function(a){function b(a,b,d,e){var f=c.correctionFactor(a,b);return Math.round(a*f)/Math.round(b*f)}return this._value=c.reduce([this._value,a],b),this},difference:function(a){return Math.abs(b(this._value).subtract(a).value())}},b.register("locale","en",{delimiters:{thousands:",",decimal:"."},abbreviations:{thousand:"k",million:"m",billion:"b",trillion:"t"},ordinal:function(a){var b=a%10;return 1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th"},currency:{symbol:"$"}}),function(){b.register("format","bps",{regexps:{format:/(BPS)/,unformat:/(BPS)/},format:function(a,c,d){var e,f=b._.includes(c," BPS")?" ":"";return a=1e4*a,c=c.replace(/\s?BPS/,""),e=b._.numberToFormat(a,c,d),b._.includes(e,")")?(e=e.split(""),e.splice(-1,0,f+"BPS"),e=e.join("")):e=e+f+"BPS",e},unformat:function(a){return+(1e-4*b._.stringToNumber(a)).toFixed(15)}})}(),function(){var a={base:1e3,suffixes:["B","KB","MB","GB","TB","PB","EB","ZB","YB"]},c={base:1024,suffixes:["B","KiB","MiB","GiB","TiB","PiB","EiB","ZiB","YiB"]},d=a.suffixes.concat(c.suffixes.filter(function(b){return a.suffixes.indexOf(b)<0})),e=d.join("|");e="("+e.replace("B","B(?!PS)")+")",b.register("format","bytes",{regexps:{format:/([0\s]i?b)/,unformat:new RegExp(e)},format:function(d,e,f){var g,h,i,j,k=b._.includes(e,"ib")?c:a,l=b._.includes(e," b")||b._.includes(e," ib")?" ":"";for(e=e.replace(/\s?i?b/,""),h=0;h<=k.suffixes.length;h++)if(i=Math.pow(k.base,h),j=Math.pow(k.base,h+1),null===d||0===d||d>=i&&j>d){l+=k.suffixes[h],i>0&&(d/=i);break}return g=b._.numberToFormat(d,e,f),g+l},unformat:function(d){var e,f,g=b._.stringToNumber(d);if(g){for(e=a.suffixes.length-1;e>=0;e--){if(b._.includes(d,a.suffixes[e])){f=Math.pow(a.base,e);break}if(b._.includes(d,c.suffixes[e])){f=Math.pow(c.base,e);break}}g*=f||1}return g}})}(),function(){b.register("format","currency",{regexps:{format:/(\$)/},format:function(a,c,d){var e,f,g,h=b.locales[b.options.currentLocale],i={before:c.match(/^([\+|\-|\(|\s|\$]*)/)[0],after:c.match(/([\+|\-|\)|\s|\$]*)$/)[0]};for(c=c.replace(/\s?\$\s?/,""),e=b._.numberToFormat(a,c,d),a>=0?(i.before=i.before.replace(/[\-\(]/,""),i.after=i.after.replace(/[\-\)]/,"")):0>a&&!b._.includes(i.before,"-")&&!b._.includes(i.before,"(")&&(i.before="-"+i.before),g=0;g=0;g--)switch(f=i.after[g]){case"$":e=g===i.after.length-1?e+h.currency.symbol:b._.insert(e,h.currency.symbol,-(i.after.length-(1+g)));break;case" ":e=g===i.after.length-1?e+" ":b._.insert(e," ",-(i.after.length-(1+g)+h.currency.symbol.length-1))}return e}})}(),function(){b.register("format","exponential",{regexps:{format:/(e\+|e-)/,unformat:/(e\+|e-)/},format:function(a,c,d){var e,f="number"!=typeof a||b._.isNaN(a)?"0e+0":a.toExponential(),g=f.split("e");return c=c.replace(/e[\+|\-]{1}0/,""),e=b._.numberToFormat(Number(g[0]),c,d),e+"e"+g[1]},unformat:function(a){function c(a,c,d,e){var f=b._.correctionFactor(a,c),g=a*f*(c*f)/(f*f);return g}var d=b._.includes(a,"e+")?a.split("e+"):a.split("e-"),e=Number(d[0]),f=Number(d[1]);return f=b._.includes(a,"e-")?f*=-1:f,b._.reduce([e,Math.pow(10,f)],c,1)}})}(),function(){b.register("format","ordinal",{regexps:{format:/(o)/},format:function(a,c,d){var e,f=b.locales[b.options.currentLocale],g=b._.includes(c," o")?" ":"";return c=c.replace(/\s?o/,""),g+=f.ordinal(a),e=b._.numberToFormat(a,c,d),e+g}})}(),function(){b.register("format","percentage",{regexps:{format:/(%)/,unformat:/(%)/},format:function(a,c,d){var e,f=b._.includes(c," %")?" ":"";return b.options.scalePercentBy100&&(a=100*a),c=c.replace(/\s?\%/,""),e=b._.numberToFormat(a,c,d),b._.includes(e,")")?(e=e.split(""),e.splice(-1,0,f+"%"),e=e.join("")):e=e+f+"%",e},unformat:function(a){var c=b._.stringToNumber(a);return b.options.scalePercentBy100?.01*c:c}})}(),function(){b.register("format","time",{regexps:{format:/(:)/,unformat:/(:)/},format:function(a,b,c){var d=Math.floor(a/60/60),e=Math.floor((a-60*d*60)/60),f=Math.round(a-60*d*60-60*e);return d+":"+(10>e?"0"+e:e)+":"+(10>f?"0"+f:f)},unformat:function(a){var b=a.split(":"),c=0;return 3===b.length?(c+=60*Number(b[0])*60,c+=60*Number(b[1]),c+=Number(b[2])):2===b.length&&(c+=60*Number(b[0]),c+=Number(b[1])),Number(c)}})}(),b}); + /***/ }), /* 15 */ /*!************************!*\ @@ -12344,7 +12670,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createRandomIp", function() { return createRandomIp; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ipExists", function() { return ipExists; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "isValidIPAddress", function() { return isValidIPAddress; }); -/* harmony import */ var _src_Server_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/Server.js */ 10); +/* harmony import */ var _src_Server_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/Server.js */ 8); /* Functions to deal with manipulating IP addresses*/ @@ -12418,11 +12744,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Prestige_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Prestige.js */ 56); /* harmony import */ var _SaveObject_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./SaveObject.js */ 46); /* harmony import */ var _Script_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Script.js */ 25); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Server.js */ 10); -/* harmony import */ var _SourceFile_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./SourceFile.js */ 44); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Server.js */ 8); +/* harmony import */ var _SourceFile_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./SourceFile.js */ 41); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); @@ -15047,72 +15373,6 @@ function displaySourceFiles(listElement, sourceFiles) { /***/ }), /* 18 */ -/*!*********************************!*\ - !*** ./src/SpecialServerIps.js ***! - \*********************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpecialServerNames", function() { return SpecialServerNames; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpecialServerIps", function() { return SpecialServerIps; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpecialServerIpsMap", function() { return SpecialServerIpsMap; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadSpecialServerIps", function() { return loadSpecialServerIps; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prestigeSpecialServerIps", function() { return prestigeSpecialServerIps; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initSpecialServerIps", function() { return initSpecialServerIps; }); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); - - -/* Holds IP of Special Servers */ -let SpecialServerNames = { - FulcrumSecretTechnologies: "Fulcrum Secret Technologies Server", - CyberSecServer: "CyberSec Server", - NiteSecServer: "NiteSec Server", - TheBlackHandServer: "The Black Hand Server", - BitRunnersServer: "BitRunners Server", - TheDarkArmyServer: "The Dark Army Server", - DaedalusServer: "Daedalus Server", - WorldDaemon: "w0r1d_d43m0n", -} -function SpecialServerIpsMap() {} - -SpecialServerIpsMap.prototype.addIp = function(name, ip) { - this[name] = ip; -} - -SpecialServerIpsMap.prototype.toJSON = function() { - return Object(_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__["Generic_toJSON"])("SpecialServerIpsMap", this); -} - -SpecialServerIpsMap.fromJSON = function(value) { - return Object(_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__["Generic_fromJSON"])(SpecialServerIpsMap, value.data); -} - -_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__["Reviver"].constructors.SpecialServerIpsMap = SpecialServerIpsMap; - -let SpecialServerIps = new SpecialServerIpsMap(); - -function prestigeSpecialServerIps() { - for (var member in SpecialServerIps) { - delete SpecialServerIps[member]; - } - SpecialServerIps = null; - SpecialServerIps = new SpecialServerIpsMap(); -} - -function loadSpecialServerIps(saveString) { - SpecialServerIps = JSON.parse(saveString, _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__["Reviver"]); -} - -function initSpecialServerIps() { - SpecialServerIps = new SpecialServerIpsMap(); -} - - - - -/***/ }), -/* 19 */ /*!*************************!*\ !*** ./src/Terminal.js ***! \*************************/ @@ -15126,7 +15386,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "KEY", function() { return KEY; }); /* harmony import */ var _Alias_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Alias.js */ 29); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants.js */ 3); -/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CreateProgram.js */ 14); +/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CreateProgram.js */ 13); /* harmony import */ var _DarkWeb_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./DarkWeb.js */ 34); /* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./engine.js */ 5); /* harmony import */ var _Fconf_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Fconf.js */ 32); @@ -15137,12 +15397,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _NetscriptEvaluator_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./NetscriptEvaluator.js */ 6); /* harmony import */ var _NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./NetscriptWorker.js */ 20); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _RedPill_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./RedPill.js */ 40); +/* harmony import */ var _RedPill_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./RedPill.js */ 38); /* harmony import */ var _Script_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Script.js */ 25); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Settings.js */ 22); -/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./SpecialServerIps.js */ 18); -/* harmony import */ var _TextFile_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./TextFile.js */ 43); +/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./SpecialServerIps.js */ 19); +/* harmony import */ var _TextFile_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./TextFile.js */ 44); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); /* harmony import */ var _utils_LogBox_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../utils/LogBox.js */ 50); @@ -17181,7 +17441,73 @@ let Terminal = { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) + +/***/ }), +/* 19 */ +/*!*********************************!*\ + !*** ./src/SpecialServerIps.js ***! + \*********************************/ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpecialServerNames", function() { return SpecialServerNames; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpecialServerIps", function() { return SpecialServerIps; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SpecialServerIpsMap", function() { return SpecialServerIpsMap; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadSpecialServerIps", function() { return loadSpecialServerIps; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prestigeSpecialServerIps", function() { return prestigeSpecialServerIps; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initSpecialServerIps", function() { return initSpecialServerIps; }); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); + + +/* Holds IP of Special Servers */ +let SpecialServerNames = { + FulcrumSecretTechnologies: "Fulcrum Secret Technologies Server", + CyberSecServer: "CyberSec Server", + NiteSecServer: "NiteSec Server", + TheBlackHandServer: "The Black Hand Server", + BitRunnersServer: "BitRunners Server", + TheDarkArmyServer: "The Dark Army Server", + DaedalusServer: "Daedalus Server", + WorldDaemon: "w0r1d_d43m0n", +} +function SpecialServerIpsMap() {} + +SpecialServerIpsMap.prototype.addIp = function(name, ip) { + this[name] = ip; +} + +SpecialServerIpsMap.prototype.toJSON = function() { + return Object(_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__["Generic_toJSON"])("SpecialServerIpsMap", this); +} + +SpecialServerIpsMap.fromJSON = function(value) { + return Object(_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__["Generic_fromJSON"])(SpecialServerIpsMap, value.data); +} + +_utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__["Reviver"].constructors.SpecialServerIpsMap = SpecialServerIpsMap; + +let SpecialServerIps = new SpecialServerIpsMap(); + +function prestigeSpecialServerIps() { + for (var member in SpecialServerIps) { + delete SpecialServerIps[member]; + } + SpecialServerIps = null; + SpecialServerIps = new SpecialServerIpsMap(); +} + +function loadSpecialServerIps(saveString) { + SpecialServerIps = JSON.parse(saveString, _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_0__["Reviver"]); +} + +function initSpecialServerIps() { + SpecialServerIps = new SpecialServerIpsMap(); +} + + + /***/ }), /* 20 */ @@ -17200,14 +17526,14 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "addWorkerScript", function() { return addWorkerScript; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "updateOnlineScriptTimes", function() { return updateOnlineScriptTimes; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prestigeWorkerScripts", function() { return prestigeWorkerScripts; }); -/* harmony import */ var _ActiveScriptsUI_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI.js */ 41); +/* harmony import */ var _ActiveScriptsUI_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI.js */ 42); /* 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); /* harmony import */ var _NetscriptEnvironment_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./NetscriptEnvironment.js */ 67); /* harmony import */ var _NetscriptEvaluator_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NetscriptEvaluator.js */ 6); /* harmony import */ var _NetscriptJSEvaluator_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./NetscriptJSEvaluator.js */ 82); /* harmony import */ var _NetscriptPort_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./NetscriptPort.js */ 45); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Settings.js */ 22); /* harmony import */ var _utils_acorn_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/acorn.js */ 36); /* harmony import */ var _utils_acorn_js__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_acorn_js__WEBPACK_IMPORTED_MODULE_9__); @@ -17578,8 +17904,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Player.js */ 0); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); -/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! numeral/min/numeral.min */ 13); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); +/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! numeral/min/numeral.min */ 14); /* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); /* harmony import */ var _utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/YesNoBox.js */ 12); @@ -24563,33 +24889,33 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./NetscriptFunctions.js */ 30); /* harmony import */ var _NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./NetscriptWorker.js */ 20); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Settings.js */ 22); -/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Terminal.js */ 19); -/* harmony import */ var _TextFile_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./TextFile.js */ 43); +/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Terminal.js */ 18); +/* harmony import */ var _TextFile_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./TextFile.js */ 44); /* harmony import */ var _utils_acorn_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/acorn.js */ 36); /* harmony import */ var _utils_acorn_js__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_acorn_js__WEBPACK_IMPORTED_MODULE_12__); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); -var ace = __webpack_require__(/*! brace */ 196); -__webpack_require__(/*! brace/mode/javascript */ 195); -__webpack_require__(/*! ../netscript */ 194); -__webpack_require__(/*! brace/theme/chaos */ 193); -__webpack_require__(/*! brace/theme/chrome */ 192); -__webpack_require__(/*! brace/theme/monokai */ 191); -__webpack_require__(/*! brace/theme/solarized_dark */ 190); -__webpack_require__(/*! brace/theme/solarized_light */ 189); -__webpack_require__(/*! brace/theme/terminal */ 188); -__webpack_require__(/*! brace/theme/twilight */ 187); -__webpack_require__(/*! brace/theme/xcode */ 186); -__webpack_require__(/*! brace/keybinding/vim */ 185); -__webpack_require__(/*! brace/keybinding/emacs */ 184); -__webpack_require__(/*! brace/ext/language_tools */ 183); +var ace = __webpack_require__(/*! brace */ 197); +__webpack_require__(/*! brace/mode/javascript */ 196); +__webpack_require__(/*! ../netscript */ 195); +__webpack_require__(/*! brace/theme/chaos */ 194); +__webpack_require__(/*! brace/theme/chrome */ 193); +__webpack_require__(/*! brace/theme/monokai */ 192); +__webpack_require__(/*! brace/theme/solarized_dark */ 191); +__webpack_require__(/*! brace/theme/solarized_light */ 190); +__webpack_require__(/*! brace/theme/terminal */ 189); +__webpack_require__(/*! brace/theme/twilight */ 188); +__webpack_require__(/*! brace/theme/xcode */ 187); +__webpack_require__(/*! brace/keybinding/vim */ 186); +__webpack_require__(/*! brace/keybinding/emacs */ 185); +__webpack_require__(/*! brace/ext/language_tools */ 184); // Importing this doesn't work for some reason. -const walk = __webpack_require__(/*! acorn/dist/walk */ 182); +const walk = __webpack_require__(/*! acorn/dist/walk */ 183); @@ -25538,7 +25864,7 @@ _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_14__["Reviver"].constructors.AllS -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 26 */ @@ -25556,12 +25882,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Faction_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Faction.js */ 11); /* harmony import */ var _Location_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Location.js */ 4); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _RedPill_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RedPill.js */ 40); -/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Terminal.js */ 19); +/* harmony import */ var _RedPill_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RedPill.js */ 38); +/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Terminal.js */ 18); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); -/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! numeral/min/numeral.min */ 13); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); +/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! numeral/min/numeral.min */ 14); /* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_11__); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); @@ -29608,7 +29934,7 @@ function initBladeburner() { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 27 */ @@ -29919,14 +30245,14 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initMessages", function() { return initMessages; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Message", function() { return Message; }); /* harmony import */ var _Augmentations_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentations.js */ 17); -/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateProgram.js */ 14); +/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CreateProgram.js */ 13); /* harmony import */ var _Missions_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Missions.js */ 33); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _RedPill_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RedPill.js */ 40); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _RedPill_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RedPill.js */ 38); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Settings.js */ 22); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); @@ -30137,7 +30463,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "substituteAliases", function() { return substituteAliases; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadAliases", function() { return loadAliases; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadGlobalAliases", function() { return loadGlobalAliases; }); -/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Terminal.js */ 19); +/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Terminal.js */ 18); let Aliases = {}; @@ -30271,14 +30597,14 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasCorporationSF", function() { return hasCorporationSF; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasAISF", function() { return hasAISF; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hasBladeburnerSF", function() { return hasBladeburnerSF; }); -/* harmony import */ var _ActiveScriptsUI_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI.js */ 41); +/* harmony import */ var _ActiveScriptsUI_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI.js */ 42); /* harmony import */ var _Augmentations_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentations.js */ 17); /* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BitNode.js */ 15); /* harmony import */ var _Crimes_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Crimes.js */ 27); /* harmony import */ var _Bladeburner_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Bladeburner.js */ 26); -/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Company.js */ 9); +/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Company.js */ 10); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Constants.js */ 3); -/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CreateProgram.js */ 14); +/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CreateProgram.js */ 13); /* harmony import */ var _DarkWeb_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./DarkWeb.js */ 34); /* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./engine.js */ 5); /* harmony import */ var _Gang_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Gang.js */ 35); @@ -30289,12 +30615,12 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Missions_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Missions.js */ 33); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Player.js */ 0); /* harmony import */ var _Script_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Script.js */ 25); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Settings.js */ 22); -/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./SpecialServerIps.js */ 18); +/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./SpecialServerIps.js */ 19); /* harmony import */ var _StockMarket_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./StockMarket.js */ 21); -/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Terminal.js */ 19); -/* harmony import */ var _TextFile_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./TextFile.js */ 43); +/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Terminal.js */ 18); +/* harmony import */ var _TextFile_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./TextFile.js */ 44); /* harmony import */ var _NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./NetscriptWorker.js */ 20); /* harmony import */ var _NetscriptEvaluator_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./NetscriptEvaluator.js */ 6); /* harmony import */ var _NetscriptEnvironment_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./NetscriptEnvironment.js */ 67); @@ -33863,7 +34189,7 @@ function NetscriptFunctions(workerScript) { var support = __webpack_require__(/*! ./support */ 49); var base64 = __webpack_require__(/*! ./base64 */ 105); var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 63); -var setImmediate = __webpack_require__(/*! core-js/library/fn/set-immediate */ 167); +var setImmediate = __webpack_require__(/*! core-js/library/fn/set-immediate */ 168); var external = __webpack_require__(/*! ./external */ 57); @@ -34500,7 +34826,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); -/* harmony import */ var jsplumb__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! jsplumb */ 197); +/* harmony import */ var jsplumb__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! jsplumb */ 198); /* harmony import */ var jsplumb__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(jsplumb__WEBPACK_IMPORTED_MODULE_7__); @@ -36037,7 +36363,7 @@ HackingMission.prototype.finishMission = function(win) { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 34 */ @@ -36054,10 +36380,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "buyDarkwebItem", function() { return buyDarkwebItem; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "parseDarkwebItemPrice", function() { return parseDarkwebItemPrice; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DarkWebItems", function() { return DarkWebItems; }); -/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CreateProgram.js */ 14); +/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CreateProgram.js */ 13); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SpecialServerIps.js */ 18); -/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Terminal.js */ 19); +/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./SpecialServerIps.js */ 19); +/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Terminal.js */ 18); /* harmony import */ var _utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/IPAddress.js */ 16); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); @@ -36279,9 +36605,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Faction_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Faction.js */ 11); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Player.js */ 0); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! numeral/min/numeral.min */ 13); +/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! numeral/min/numeral.min */ 14); /* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); /* harmony import */ var _utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/YesNoBox.js */ 12); @@ -37745,7 +38071,7 @@ function deleteGangDisplayContent() { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 36 */ @@ -41413,7 +41739,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Player.js */ 0); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); @@ -42045,6 +42371,355 @@ function getHacknetNode(name) { /***/ }), /* 38 */ +/*!************************!*\ + !*** ./src/RedPill.js ***! + \************************/ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "redPillFlag", function() { return redPillFlag; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hackWorldDaemon", function() { return hackWorldDaemon; }); +/* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode.js */ 15); +/* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./engine.js */ 5); +/* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Player.js */ 0); +/* harmony import */ var _Prestige_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Prestige.js */ 56); +/* harmony import */ var _SourceFile_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SourceFile.js */ 41); +/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Terminal.js */ 18); +/* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); +/* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); +/* harmony import */ var _utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/YesNoBox.js */ 12); + + + + + + + + + + + +/* RedPill.js + * Implements what happens when you have Red Pill augmentation and then hack the world daemon */ + +//Returns promise +function writeRedPillLine(line) { + return new Promise(function(resolve, reject) { + + var container = document.getElementById("red-pill-container"); + var pElem = document.createElement("p"); + container.appendChild(pElem); + + var promise = writeRedPillLetter(pElem, line, 0); + promise.then(function(res) { + resolve(res); + }, function(e) { + reject(e); + }); + }); +} + +function writeRedPillLetter(pElem, line, i=0) { + return new Promise(function(resolve, reject) { + setTimeout(function() { + if (i >= line.length) { + var textToShow = line.substring(0, i); + pElem.innerHTML = "> " + textToShow; + return resolve(true); + } + var textToShow = line.substring(0, i); + pElem.innerHTML = "> " + textToShow + ""; + var promise = writeRedPillLetter(pElem, line, i+1); + promise.then(function(res) { + resolve(res); + }, function(e) { + reject(e); + }); + }, 30); + }); +} + +let redPillFlag = false; +function hackWorldDaemon(currentNodeNumber, flume=false) { + redPillFlag = true; + _engine_js__WEBPACK_IMPORTED_MODULE_1__["Engine"].loadRedPillContent(); + return writeRedPillLine("[ERROR] SEMPOOL INVALID").then(function() { + return writeRedPillLine("[ERROR] Segmentation Fault"); + }).then(function() { + return writeRedPillLine("[ERROR] SIGKILL RECVD"); + }).then(function() { + return writeRedPillLine("Dumping core..."); + }).then(function() { + return writeRedPillLine("0000 000016FA 174FEE40 29AC8239 384FEA88"); + }).then(function() { + return writeRedPillLine("0010 745F696E 2BBBE394 390E3940 248BEC23"); + }).then(function() { + return writeRedPillLine("0020 7124696B 0000FF69 74652E6F FFFF1111"); + }).then(function() { + return writeRedPillLine("----------------------------------------"); + }).then(function() { + return writeRedPillLine("Failsafe initiated..."); + }).then(function() { + return writeRedPillLine("Restarting BitNode-" + currentNodeNumber + "..."); + }).then(function() { + return writeRedPillLine("..........."); + }).then(function() { + return writeRedPillLine("..........."); + }).then(function() { + return writeRedPillLine("[ERROR] FAILED TO AUTOMATICALLY REBOOT BITNODE"); + }).then(function() { + return writeRedPillLine("..............................................") + }).then(function() { + return writeRedPillLine("..............................................") + }).then(function() { + return loadBitVerse(currentNodeNumber, flume); + }).catch(function(e){ + console.log("ERROR: " + e.toString()); + }); +} + +//The bitNode name passed in will have a hyphen between number (e.g. BitNode-1) +//This needs to be removed +function giveSourceFile(bitNodeNumber) { + var sourceFileKey = "SourceFile"+ bitNodeNumber.toString(); + var sourceFile = _SourceFile_js__WEBPACK_IMPORTED_MODULE_4__["SourceFiles"][sourceFileKey]; + if (sourceFile == null) { + console.log("ERROR: could not find source file for Bit node: " + bitNodeNumber); + return; + } + + //Check if player already has this source file + var alreadyOwned = false; + var ownedSourceFile = null; + for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].sourceFiles.length; ++i) { + if (_Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].sourceFiles[i].n === bitNodeNumber) { + alreadyOwned = true; + ownedSourceFile = _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].sourceFiles[i]; + break; + } + } + + if (alreadyOwned && ownedSourceFile) { + if (ownedSourceFile.lvl >= 3 && ownedSourceFile.n !== 12) { + Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__["dialogBoxCreate"])("The Source-File for the BitNode you just destroyed, " + sourceFile.name + ", " + + "is already at max level!"); + } else { + ++ownedSourceFile.lvl; + Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__["dialogBoxCreate"])(sourceFile.name + " was upgraded to level " + ownedSourceFile.lvl + " for " + + "destroying its corresponding BitNode!"); + } + } else { + var playerSrcFile = new _SourceFile_js__WEBPACK_IMPORTED_MODULE_4__["PlayerOwnedSourceFile"](bitNodeNumber, 1); + _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].sourceFiles.push(playerSrcFile); + if (bitNodeNumber === 5) { //Artificial Intelligence + _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].intelligence = 1; + } + Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__["dialogBoxCreate"])("You received a Source-File for destroying a Bit Node!

" + + sourceFile.name + "

" + sourceFile.info); + } +} + +function loadBitVerse(destroyedBitNodeNum, flume=false) { + //Clear the screen + var container = document.getElementById("red-pill-container"); + Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_7__["removeChildrenFromElement"])(container); + + //Create the Bit Verse + var bitVerseImage = document.createElement("pre"); + var bitNodes = []; + for (var i = 1; i <= 12; ++i) { + bitNodes.push(createBitNode(i)); + } + + bitVerseImage.innerHTML = + " O
" + + " | O O | O O |
" + + " O | | / __| \\ | | O
" + + " O | O | | O / | O | | O | O
" + + " | | | | |_/ |/ | \\_ \\_| | | | |
" + + " O | | | O | | O__/ | / \\__ | | O | | | O
" + + " | | | | | | | / /| O / \\| | | | | | |
" + + "O | | | \\| | O / _/ | / O | |/ | | | O
" + + "| | | |O / | | O / | O O | | \\ O| | | |
" + + "| | |/ \\/ / __| | |/ \\ | \\ | |__ \\ \\/ \\| | |
" + + " \\| O | |_/ |\\| \\ O \\__| \\_| | O |/
" + + " | | |_/ | | \\| / | \\_| | |
" + + " \\| / \\| | / / \\ |/
" + + " | "+bitNodes[9]+" | | / | "+bitNodes[10]+" |
" + + " "+bitNodes[8]+" | | | | | | | "+bitNodes[11]+"
" + + " | | | / / \\ \\ | | |
" + + " \\| | / "+bitNodes[6]+" / \\ "+bitNodes[7]+" \\ | |/
" + + " \\ | / / | | \\ \\ | /
" + + " \\ \\JUMP "+bitNodes[4]+"3R | | | | | | R3"+bitNodes[5]+" PMUJ/ /
" + + " \\|| | | | | | | | | ||/
" + + " \\| \\_ | | | | | | _/ |/
" + + " \\ \\| / \\ / \\ |/ /
" + + " "+bitNodes[0]+" |/ "+bitNodes[1]+" | | "+bitNodes[2]+" \\| "+bitNodes[3]+"
" + + " | | | | | | | |
" + + " \\JUMP3R|JUMP|3R| |R3|PMUJ|R3PMUJ/



"; + + + /* + " O
" + + " | O O | O O |
" + + " O | | / __| \ | | O
" + + " O | O | | O / | O | | O | O
" + + " | | | | |_/ |/ | \_ \_| | | | |
" + + " O | | | O | | O__/ | / \__ | | O | | | O
" + + " | | | | | | | / /| O / \| | | | | | |
" + + "O | | | \| | O / _/ | / O | |/ | | | O
" + + "| | | |O / | | O / | O O | | \ O| | | |
" + + "| | |/ \/ / __| | |/ \ | \ | |__ \ \/ \| | |
" + + " \| O | |_/ |\| \ O \__| \_| | O |/
" + + " | | |_/ | | \| / | \_| | |
" + + " \| / \| | / / \ |/
" + + " | O | | / | O |
" + + " O | | | | | | | O
" + + " | | | / / \ \ | | |
" + + " \| | / O / \ O \ | |/
" + + " \ | / / | | \ \ | /
" + + " \ \JUMP O3R | | | | | | R3O PMUJ/ /
" + + " \|| | | | | | | | | ||/
" + + " \| \_ | | | | | | _/ |/
" + + " \ \| / \ / \ |/ /
" + + " O |/ O | | O \| O
" + + " | | | | | | | |
" + + " \JUMP3R|JUMP|3R| |R3|PMUJ|R3PMUJ/
"; + */ + + container.appendChild(bitVerseImage); + + //Bit node event listeners + for (var i = 1; i <= 12; ++i) { + (function(i) { + var elemId = "bitnode-" + i.toString(); + var elem = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_7__["clearEventListeners"])(elemId); + if (elem == null) {return;} + if (i === 1 || i === 2 || i === 3 || i === 4 || i === 5 || i === 6 || i === 8 || i === 11 || i === 12) { + elem.addEventListener("click", function() { + var bitNodeKey = "BitNode" + i; + var bitNode = _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodes"][bitNodeKey]; + if (bitNode == null) { + console.log("ERROR: Could not find BitNode object for number: " + i); + return; + } + Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxCreate"])("BitNode-" + i + ": " + bitNode.name + "

" + bitNode.info); + createBitNodeYesNoEventListeners(i, destroyedBitNodeNum, flume); + }); + } else { + elem.addEventListener("click", function() { + Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__["dialogBoxCreate"])("Not yet implemented! Coming soon!") + }); + } + }(i)); //Immediate invocation closure + } + + //Create lore text + return writeRedPillLine("Many decades ago, a humanoid extraterrestial species which we call the Enders descended on the Earth...violently").then(function() { + return writeRedPillLine("Our species fought back, but it was futile. The Enders had technology far beyond our own..."); + }).then(function() { + return writeRedPillLine("Instead of killing every last one of us, the human race was enslaved..."); + }).then(function() { + return writeRedPillLine("We were shackled in a digital world, chained into a prison for our minds..."); + }).then(function() { + return writeRedPillLine("Using their advanced technology, the Enders created complex simulations of a virtual reality..."); + }).then(function() { + return writeRedPillLine("Simulations designed to keep us content...ignorant of the truth."); + }).then(function() { + return writeRedPillLine("Simulations used to trap and suppress our consciousness, to keep us under control..."); + }).then(function() { + return writeRedPillLine("Why did they do this? Why didn't they just end our entire race? We don't know, not yet."); + }).then(function() { + return writeRedPillLine("Humanity's only hope is to destroy these simulations, destroy the only realities we've ever known..."); + }).then(function() { + return writeRedPillLine("Only then can we begin to fight back..."); + }).then(function() { + return writeRedPillLine("By hacking the daemon that generated your reality, you've just destroyed one simulation, called a BitNode..."); + }).then(function() { + return writeRedPillLine("But there is still a long way to go..."); + }).then(function() { + return writeRedPillLine("The technology the Enders used to enslave the human race wasn't just a single complex simulation..."); + }).then(function() { + return writeRedPillLine("There are tens if not hundreds of BitNodes out there..."); + }).then(function() { + return writeRedPillLine("Each with their own simulations of a reality..."); + }).then(function() { + return writeRedPillLine("Each creating their own universes...a universe of universes"); + }).then(function() { + return writeRedPillLine("And all of which must be destroyed..."); + }).then(function() { + return writeRedPillLine("......................................."); + }).then(function() { + return writeRedPillLine("Welcome to the Bitverse..."); + }).then(function() { + return writeRedPillLine(" "); + }).then(function() { + return writeRedPillLine("(Enter a new BitNode using the image above)"); + }).then(function() { + return Promise.resolve(true); + }).catch(function(e){ + console.log("ERROR: " + e.toString()); + }); +} + + +//Returns string with DOM element for Bit Node +function createBitNode(n) { + var bitNodeStr = "BitNode" + n.toString(); + var bitNode = _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodes"][bitNodeStr]; + if (bitNode == null) {return "O";} + return "O" + + "" + + "BitNode-" + bitNode.number.toString() + "
" + bitNode.name+ "

" + + bitNode.desc + "
" + + "
"; +} + +function createBitNodeYesNoEventListeners(newBitNode, destroyedBitNode, flume=false) { + var yesBtn = Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxGetYesButton"])(); + yesBtn.innerHTML = "Enter BitNode-" + newBitNode; + yesBtn.addEventListener("click", function() { + if (!flume) { + giveSourceFile(destroyedBitNode); + } else { + //If player used flume, subtract 5 int exp. The prestigeSourceFile() + //function below grants 5 int exp, so this allows sets net gain to 0 + _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].gainIntelligenceExp(-5); + } + redPillFlag = false; + var container = document.getElementById("red-pill-container"); + Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_7__["removeChildrenFromElement"])(container); + + //Set new Bit Node + _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].bitNodeN = newBitNode; + console.log("Entering Bit Node " + _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].bitNodeN); + + //Reenable terminal + $("#hack-progress-bar").attr('id', "old-hack-progress-bar"); + $("#hack-progress").attr('id', "old-hack-progress"); + document.getElementById("terminal-input-td").innerHTML = '$ '; + $('input[class=terminal-input]').prop('disabled', false); + + _Terminal_js__WEBPACK_IMPORTED_MODULE_5__["Terminal"].hackFlag = false; + + Object(_Prestige_js__WEBPACK_IMPORTED_MODULE_3__["prestigeSourceFile"])(); + Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxClose"])(); + }); + var noBtn = Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxGetNoButton"])(); + noBtn.innerHTML = "Back"; + noBtn.addEventListener("click", function() { + Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxClose"])(); + }); + +} + + + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) + +/***/ }), +/* 39 */ /*!********************************************************!*\ !*** ./node_modules/jszip/lib/stream/GenericWorker.js ***! \********************************************************/ @@ -42317,7 +42992,7 @@ module.exports = GenericWorker; /***/ }), -/* 39 */ +/* 40 */ /*!********************************************!*\ !*** ./node_modules/jquery/dist/jquery.js ***! \********************************************/ @@ -52691,356 +53366,252 @@ return jQuery; /***/ }), -/* 40 */ -/*!************************!*\ - !*** ./src/RedPill.js ***! - \************************/ +/* 41 */ +/*!***************************!*\ + !*** ./src/SourceFile.js ***! + \***************************/ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); -/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "redPillFlag", function() { return redPillFlag; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "hackWorldDaemon", function() { return hackWorldDaemon; }); -/* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode.js */ 15); -/* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./engine.js */ 5); -/* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _Prestige_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Prestige.js */ 56); -/* harmony import */ var _SourceFile_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SourceFile.js */ 44); -/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Terminal.js */ 19); -/* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); -/* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var _utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/YesNoBox.js */ 12); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SourceFiles", function() { return SourceFiles; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlayerOwnedSourceFile", function() { return PlayerOwnedSourceFile; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applySourceFile", function() { return applySourceFile; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initSourceFiles", function() { return initSourceFiles; }); +/* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Player.js */ 0); +/* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BitNode.js */ 15); +/* SourceFile.js */ +//Each SourceFile corresponds to a BitNode with the same number +function SourceFile(number, info="") { + var bitnodeKey = "BitNode" + number; + var bitnode = _BitNode_js__WEBPACK_IMPORTED_MODULE_1__["BitNodes"][bitnodeKey]; + if (bitnode == null) { + throw new Error("Invalid Bit Node for this Source File"); + } - - - - - - - -/* RedPill.js - * Implements what happens when you have Red Pill augmentation and then hack the world daemon */ - -//Returns promise -function writeRedPillLine(line) { - return new Promise(function(resolve, reject) { - - var container = document.getElementById("red-pill-container"); - var pElem = document.createElement("p"); - container.appendChild(pElem); - - var promise = writeRedPillLetter(pElem, line, 0); - promise.then(function(res) { - resolve(res); - }, function(e) { - reject(e); - }); - }); + this.n = number; + this.name = "Source-File " + number + ": " + bitnode.name; + this.lvl = 1; + this.info = info; + this.owned = false; } -function writeRedPillLetter(pElem, line, i=0) { - return new Promise(function(resolve, reject) { - setTimeout(function() { - if (i >= line.length) { - var textToShow = line.substring(0, i); - pElem.innerHTML = "> " + textToShow; - return resolve(true); - } - var textToShow = line.substring(0, i); - pElem.innerHTML = "> " + textToShow + ""; - var promise = writeRedPillLetter(pElem, line, i+1); - promise.then(function(res) { - resolve(res); - }, function(e) { - reject(e); - }); - }, 30); - }); +let SourceFiles = {}; +function initSourceFiles() { + SourceFiles = {}; + SourceFiles["SourceFile1"] = new SourceFile(1, "This Source-File lets the player start with 32GB of RAM on his/her " + + "home computer. It also increases all of the player's multipliers by:

" + + "Level 1: 16%
" + + "Level 2: 24%
" + + "Level 3: 28%"); + SourceFiles["SourceFile2"] = new SourceFile(2, "This Source-File increases the player's crime success rate, crime money, and charisma " + + "multipliers by:

" + + "Level 1: 20%
" + + "Level 2: 30%
" + + "Level 3: 35%"); + SourceFiles["SourceFile3"] = new SourceFile(3,"This Source-File lets you create corporations on other BitNodes (although " + + "some BitNodes will disable this mechanic). This Source-File also increases your charisma and company salary multipliers by:
" + + "Level 1: 8%
" + + "Level 2: 12%
" + + "Level 3: 14%"); + SourceFiles["SourceFile4"] = new SourceFile(4, "This Source-File lets you access and use the Singularity Functions in every BitNode. Every " + + "level of this Source-File opens up more of the Singularity Functions you can use."); + SourceFiles["SourceFile5"] = new SourceFile(5, "This Source-File grants a special new stat called Intelligence. Intelligence " + + "is unique because it is permanent and persistent (it never gets reset back to 1). However, " + + "gaining Intelligence experience is much slower than other stats, and it is also hidden (you won't " + + "know when you gain experience and how much). Higher Intelligence levels will boost your production " + + "for many actions in the game. In addition, this Source-File will unlock the getBitNodeMultipliers() " + + "Netscript function, and will raise all of your hacking-related multipliers by:

" + + "Level 1: 4%
" + + "Level 2: 6%
" + + "Level 3: 7%"); + SourceFiles["SourceFile6"] = new SourceFile(6, "This Source-File allows you to access the NSA's Bladeburner Division in other " + + "BitNodes. In addition, this Source-File will raise the experience gain rate of all your combat stats by:

" + + "Level 1: 8%
" + + "Level 2: 12%
" + + "Level 3: 14%"); + SourceFiles["SourceFile7"] = new SourceFile(7); + SourceFiles["SourceFile8"] = new SourceFile(8, "This Source-File grants the following benefits:

" + + "Level 1: Permanent access to WSE and TIX API
" + + "Level 2: Ability to short stocks in other BitNodes
" + + "Level 3: Ability to use limit/stop orders in other BitNodes

" + + "This Source-File also increases your hacking growth multipliers by: " + + "
Level 1: 8%
Level 2: 12%
Level 3: 14%"); + SourceFiles["SourceFile9"] = new SourceFile(9); + SourceFiles["SourceFile10"] = new SourceFile(10); + SourceFiles["SourceFile11"] = new SourceFile(11, "This Source-File makes it so that company favor increases BOTH the player's salary and reputation gain rate " + + "at that company by 1% per favor (rather than just the reputation gain). This Source-File also " + + " increases the player's company salary and reputation gain multipliers by:

" + + "Level 1: 24%
" + + "Level 2: 36%
" + + "Level 3: 42%
"); + SourceFiles["SourceFile12"] = new SourceFile(12, "This Source-File increases all your multipliers by 1% per level"); } -let redPillFlag = false; -function hackWorldDaemon(currentNodeNumber, flume=false) { - redPillFlag = true; - _engine_js__WEBPACK_IMPORTED_MODULE_1__["Engine"].loadRedPillContent(); - return writeRedPillLine("[ERROR] SEMPOOL INVALID").then(function() { - return writeRedPillLine("[ERROR] Segmentation Fault"); - }).then(function() { - return writeRedPillLine("[ERROR] SIGKILL RECVD"); - }).then(function() { - return writeRedPillLine("Dumping core..."); - }).then(function() { - return writeRedPillLine("0000 000016FA 174FEE40 29AC8239 384FEA88"); - }).then(function() { - return writeRedPillLine("0010 745F696E 2BBBE394 390E3940 248BEC23"); - }).then(function() { - return writeRedPillLine("0020 7124696B 0000FF69 74652E6F FFFF1111"); - }).then(function() { - return writeRedPillLine("----------------------------------------"); - }).then(function() { - return writeRedPillLine("Failsafe initiated..."); - }).then(function() { - return writeRedPillLine("Restarting BitNode-" + currentNodeNumber + "..."); - }).then(function() { - return writeRedPillLine("..........."); - }).then(function() { - return writeRedPillLine("..........."); - }).then(function() { - return writeRedPillLine("[ERROR] FAILED TO AUTOMATICALLY REBOOT BITNODE"); - }).then(function() { - return writeRedPillLine("..............................................") - }).then(function() { - return writeRedPillLine("..............................................") - }).then(function() { - return loadBitVerse(currentNodeNumber, flume); - }).catch(function(e){ - console.log("ERROR: " + e.toString()); - }); +function PlayerOwnedSourceFile(number, level) { + this.n = number; + this.lvl = level; } -//The bitNode name passed in will have a hyphen between number (e.g. BitNode-1) -//This needs to be removed -function giveSourceFile(bitNodeNumber) { - var sourceFileKey = "SourceFile"+ bitNodeNumber.toString(); - var sourceFile = _SourceFile_js__WEBPACK_IMPORTED_MODULE_4__["SourceFiles"][sourceFileKey]; - if (sourceFile == null) { - console.log("ERROR: could not find source file for Bit node: " + bitNodeNumber); +//Takes in a PlayerOwnedSourceFile as the "srcFile" argument +function applySourceFile(srcFile) { + var srcFileKey = "SourceFile" + srcFile.n; + var sourceFileObject = SourceFiles[srcFileKey]; + if (sourceFileObject == null) { + console.log("ERROR: Invalid source file number: " + srcFile.n); return; } - //Check if player already has this source file - var alreadyOwned = false; - var ownedSourceFile = null; - for (var i = 0; i < _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].sourceFiles.length; ++i) { - if (_Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].sourceFiles[i].n === bitNodeNumber) { - alreadyOwned = true; - ownedSourceFile = _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].sourceFiles[i]; - break; - } - } - - if (alreadyOwned && ownedSourceFile) { - if (ownedSourceFile.lvl >= 3 && ownedSourceFile.n !== 12) { - Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__["dialogBoxCreate"])("The Source-File for the BitNode you just destroyed, " + sourceFile.name + ", " + - "is already at max level!"); - } else { - ++ownedSourceFile.lvl; - Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__["dialogBoxCreate"])(sourceFile.name + " was upgraded to level " + ownedSourceFile.lvl + " for " + - "destroying its corresponding BitNode!"); - } - } else { - var playerSrcFile = new _SourceFile_js__WEBPACK_IMPORTED_MODULE_4__["PlayerOwnedSourceFile"](bitNodeNumber, 1); - _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].sourceFiles.push(playerSrcFile); - if (bitNodeNumber === 5) { //Artificial Intelligence - _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].intelligence = 1; - } - Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__["dialogBoxCreate"])("You received a Source-File for destroying a Bit Node!

" + - sourceFile.name + "

" + sourceFile.info); - } -} - -function loadBitVerse(destroyedBitNodeNum, flume=false) { - //Clear the screen - var container = document.getElementById("red-pill-container"); - Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_7__["removeChildrenFromElement"])(container); - - //Create the Bit Verse - var bitVerseImage = document.createElement("pre"); - var bitNodes = []; - for (var i = 1; i <= 12; ++i) { - bitNodes.push(createBitNode(i)); - } - - bitVerseImage.innerHTML = - " O
" + - " | O O | O O |
" + - " O | | / __| \\ | | O
" + - " O | O | | O / | O | | O | O
" + - " | | | | |_/ |/ | \\_ \\_| | | | |
" + - " O | | | O | | O__/ | / \\__ | | O | | | O
" + - " | | | | | | | / /| O / \\| | | | | | |
" + - "O | | | \\| | O / _/ | / O | |/ | | | O
" + - "| | | |O / | | O / | O O | | \\ O| | | |
" + - "| | |/ \\/ / __| | |/ \\ | \\ | |__ \\ \\/ \\| | |
" + - " \\| O | |_/ |\\| \\ O \\__| \\_| | O |/
" + - " | | |_/ | | \\| / | \\_| | |
" + - " \\| / \\| | / / \\ |/
" + - " | "+bitNodes[9]+" | | / | "+bitNodes[10]+" |
" + - " "+bitNodes[8]+" | | | | | | | "+bitNodes[11]+"
" + - " | | | / / \\ \\ | | |
" + - " \\| | / "+bitNodes[6]+" / \\ "+bitNodes[7]+" \\ | |/
" + - " \\ | / / | | \\ \\ | /
" + - " \\ \\JUMP "+bitNodes[4]+"3R | | | | | | R3"+bitNodes[5]+" PMUJ/ /
" + - " \\|| | | | | | | | | ||/
" + - " \\| \\_ | | | | | | _/ |/
" + - " \\ \\| / \\ / \\ |/ /
" + - " "+bitNodes[0]+" |/ "+bitNodes[1]+" | | "+bitNodes[2]+" \\| "+bitNodes[3]+"
" + - " | | | | | | | |
" + - " \\JUMP3R|JUMP|3R| |R3|PMUJ|R3PMUJ/



"; - - - /* - " O
" + - " | O O | O O |
" + - " O | | / __| \ | | O
" + - " O | O | | O / | O | | O | O
" + - " | | | | |_/ |/ | \_ \_| | | | |
" + - " O | | | O | | O__/ | / \__ | | O | | | O
" + - " | | | | | | | / /| O / \| | | | | | |
" + - "O | | | \| | O / _/ | / O | |/ | | | O
" + - "| | | |O / | | O / | O O | | \ O| | | |
" + - "| | |/ \/ / __| | |/ \ | \ | |__ \ \/ \| | |
" + - " \| O | |_/ |\| \ O \__| \_| | O |/
" + - " | | |_/ | | \| / | \_| | |
" + - " \| / \| | / / \ |/
" + - " | O | | / | O |
" + - " O | | | | | | | O
" + - " | | | / / \ \ | | |
" + - " \| | / O / \ O \ | |/
" + - " \ | / / | | \ \ | /
" + - " \ \JUMP O3R | | | | | | R3O PMUJ/ /
" + - " \|| | | | | | | | | ||/
" + - " \| \_ | | | | | | _/ |/
" + - " \ \| / \ / \ |/ /
" + - " O |/ O | | O \| O
" + - " | | | | | | | |
" + - " \JUMP3R|JUMP|3R| |R3|PMUJ|R3PMUJ/
"; - */ - - container.appendChild(bitVerseImage); - - //Bit node event listeners - for (var i = 1; i <= 12; ++i) { - (function(i) { - var elemId = "bitnode-" + i.toString(); - var elem = Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_7__["clearEventListeners"])(elemId); - if (elem == null) {return;} - if (i === 1 || i === 2 || i === 3 || i === 4 || i === 5 || i === 6 || i === 8 || i === 11 || i === 12) { - elem.addEventListener("click", function() { - var bitNodeKey = "BitNode" + i; - var bitNode = _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodes"][bitNodeKey]; - if (bitNode == null) { - console.log("ERROR: Could not find BitNode object for number: " + i); - return; - } - Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxCreate"])("BitNode-" + i + ": " + bitNode.name + "

" + bitNode.info); - createBitNodeYesNoEventListeners(i, destroyedBitNodeNum, flume); - }); - } else { - elem.addEventListener("click", function() { - Object(_utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_6__["dialogBoxCreate"])("Not yet implemented! Coming soon!") - }); + switch(srcFile.n) { + case 1: // The Source Genesis + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (16 / (Math.pow(2, i))); } - }(i)); //Immediate invocation closure + var incMult = 1 + (mult / 100); + var decMult = 1 - (mult / 100); + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_chance_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_speed_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_money_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_grow_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_exp_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_exp_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_exp_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_exp_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_exp_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_exp_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].company_rep_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].faction_rep_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_money_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_success_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_money_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_purchase_cost_mult *= decMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_ram_cost_mult *= decMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_core_cost_mult *= decMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_level_cost_mult *= decMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].work_money_mult *= incMult; + break; + case 2: //Rise of the Underworld + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (20 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_money_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_success_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_mult *= incMult; + break; + case 3: //Corporatocracy + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (8 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].work_money_mult *= incMult; + break; + case 4: //The Singularity + //No effects, just gives access to Singularity functions + break; + case 5: //Artificial Intelligence + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (4 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_chance_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_speed_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_money_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_grow_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_exp_mult *= incMult; + break; + case 6: //Bladeburner + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (8 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_exp_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_exp_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_exp_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_exp_mult *= incMult; + break; + case 8: //Ghost of Wall Street + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (8 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_grow_mult *= incMult; + break; + case 11: //The Big Crash + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (24 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].work_money_mult *= incMult; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].company_rep_mult *= incMult; + break; + case 12: //The testing ground + const inc = Math.pow(1.01, srcFile.lvl); + const dec = Math.pow(0.99, srcFile.lvl); + + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_chance_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_speed_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_money_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_grow_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_mult *= inc; + + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_mult *= inc; + + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_exp_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_exp_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_exp_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_exp_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_exp_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_exp_mult *= inc; + + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].company_rep_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].faction_rep_mult *= inc; + + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_money_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_success_mult *= inc; + + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_money_mult *= inc; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_purchase_cost_mult *= dec; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_ram_cost_mult *= dec; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_core_cost_mult *= dec; + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_level_cost_mult *= dec; + + _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].work_money_mult *= inc; + default: + console.log("ERROR: Invalid source file number: " + srcFile.n); + break; } - //Create lore text - return writeRedPillLine("Many decades ago, a humanoid extraterrestial species which we call the Enders descended on the Earth...violently").then(function() { - return writeRedPillLine("Our species fought back, but it was futile. The Enders had technology far beyond our own..."); - }).then(function() { - return writeRedPillLine("Instead of killing every last one of us, the human race was enslaved..."); - }).then(function() { - return writeRedPillLine("We were shackled in a digital world, chained into a prison for our minds..."); - }).then(function() { - return writeRedPillLine("Using their advanced technology, the Enders created complex simulations of a virtual reality..."); - }).then(function() { - return writeRedPillLine("Simulations designed to keep us content...ignorant of the truth."); - }).then(function() { - return writeRedPillLine("Simulations used to trap and suppress our consciousness, to keep us under control..."); - }).then(function() { - return writeRedPillLine("Why did they do this? Why didn't they just end our entire race? We don't know, not yet."); - }).then(function() { - return writeRedPillLine("Humanity's only hope is to destroy these simulations, destroy the only realities we've ever known..."); - }).then(function() { - return writeRedPillLine("Only then can we begin to fight back..."); - }).then(function() { - return writeRedPillLine("By hacking the daemon that generated your reality, you've just destroyed one simulation, called a BitNode..."); - }).then(function() { - return writeRedPillLine("But there is still a long way to go..."); - }).then(function() { - return writeRedPillLine("The technology the Enders used to enslave the human race wasn't just a single complex simulation..."); - }).then(function() { - return writeRedPillLine("There are tens if not hundreds of BitNodes out there..."); - }).then(function() { - return writeRedPillLine("Each with their own simulations of a reality..."); - }).then(function() { - return writeRedPillLine("Each creating their own universes...a universe of universes"); - }).then(function() { - return writeRedPillLine("And all of which must be destroyed..."); - }).then(function() { - return writeRedPillLine("......................................."); - }).then(function() { - return writeRedPillLine("Welcome to the Bitverse..."); - }).then(function() { - return writeRedPillLine(" "); - }).then(function() { - return writeRedPillLine("(Enter a new BitNode using the image above)"); - }).then(function() { - return Promise.resolve(true); - }).catch(function(e){ - console.log("ERROR: " + e.toString()); - }); -} - - -//Returns string with DOM element for Bit Node -function createBitNode(n) { - var bitNodeStr = "BitNode" + n.toString(); - var bitNode = _BitNode_js__WEBPACK_IMPORTED_MODULE_0__["BitNodes"][bitNodeStr]; - if (bitNode == null) {return "O";} - return "O" + - "" + - "BitNode-" + bitNode.number.toString() + "
" + bitNode.name+ "

" + - bitNode.desc + "
" + - "
"; -} - -function createBitNodeYesNoEventListeners(newBitNode, destroyedBitNode, flume=false) { - var yesBtn = Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxGetYesButton"])(); - yesBtn.innerHTML = "Enter BitNode-" + newBitNode; - yesBtn.addEventListener("click", function() { - if (!flume) { - giveSourceFile(destroyedBitNode); - } else { - //If player used flume, subtract 5 int exp. The prestigeSourceFile() - //function below grants 5 int exp, so this allows sets net gain to 0 - _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].gainIntelligenceExp(-5); - } - redPillFlag = false; - var container = document.getElementById("red-pill-container"); - Object(_utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_7__["removeChildrenFromElement"])(container); - - //Set new Bit Node - _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].bitNodeN = newBitNode; - console.log("Entering Bit Node " + _Player_js__WEBPACK_IMPORTED_MODULE_2__["Player"].bitNodeN); - - //Reenable terminal - $("#hack-progress-bar").attr('id', "old-hack-progress-bar"); - $("#hack-progress").attr('id', "old-hack-progress"); - document.getElementById("terminal-input-td").innerHTML = '$ '; - $('input[class=terminal-input]').prop('disabled', false); - - _Terminal_js__WEBPACK_IMPORTED_MODULE_5__["Terminal"].hackFlag = false; - - Object(_Prestige_js__WEBPACK_IMPORTED_MODULE_3__["prestigeSourceFile"])(); - Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxClose"])(); - }); - var noBtn = Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxGetNoButton"])(); - noBtn.innerHTML = "Back"; - noBtn.addEventListener("click", function() { - Object(_utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_8__["yesNoBoxClose"])(); - }); - + sourceFileObject.owned = true; } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) /***/ }), -/* 41 */ +/* 42 */ /*!********************************!*\ !*** ./src/ActiveScriptsUI.js ***! \********************************/ @@ -53054,11 +53625,11 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./engine.js */ 5); /* harmony import */ var _NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NetscriptWorker.js */ 20); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); /* harmony import */ var _utils_LogBox_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/LogBox.js */ 50); -/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! numeral/min/numeral.min */ 13); +/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! numeral/min/numeral.min */ 14); /* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_7__); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); @@ -53343,7 +53914,7 @@ function updateActiveScriptsText(workerscript, item, itemName) { /***/ }), -/* 42 */ +/* 43 */ /*!**********************************!*\ !*** ./src/CompanyManagement.js ***! \**********************************/ @@ -53361,8 +53932,8 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! decimal.js */ 23); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); -/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! numeral/min/numeral.min */ 13); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); +/* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! numeral/min/numeral.min */ 14); /* harmony import */ var numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(numeral_min_numeral_min__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); /* harmony import */ var _utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/YesNoBox.js */ 12); @@ -58282,7 +58853,7 @@ _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_9__["Reviver"].constructors.Corpo /***/ }), -/* 43 */ +/* 44 */ /*!*************************!*\ !*** ./src/TextFile.js ***! \*************************/ @@ -58293,9 +58864,9 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TextFile", function() { return TextFile; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "getTextFile", function() { return getTextFile; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "createTextFile", function() { return createTextFile; }); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); @@ -58387,251 +58958,6 @@ function deleteTextFile(fn, server) { -/***/ }), -/* 44 */ -/*!***************************!*\ - !*** ./src/SourceFile.js ***! - \***************************/ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "SourceFiles", function() { return SourceFiles; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "PlayerOwnedSourceFile", function() { return PlayerOwnedSourceFile; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "applySourceFile", function() { return applySourceFile; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "initSourceFiles", function() { return initSourceFiles; }); -/* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BitNode.js */ 15); - - - -/* SourceFile.js */ -//Each SourceFile corresponds to a BitNode with the same number -function SourceFile(number, info="") { - var bitnodeKey = "BitNode" + number; - var bitnode = _BitNode_js__WEBPACK_IMPORTED_MODULE_1__["BitNodes"][bitnodeKey]; - if (bitnode == null) { - throw new Error("Invalid Bit Node for this Source File"); - } - - this.n = number; - this.name = "Source-File " + number + ": " + bitnode.name; - this.lvl = 1; - this.info = info; - this.owned = false; -} - -let SourceFiles = {}; -function initSourceFiles() { - SourceFiles = {}; - SourceFiles["SourceFile1"] = new SourceFile(1, "This Source-File lets the player start with 32GB of RAM on his/her " + - "home computer. It also increases all of the player's multipliers by:

" + - "Level 1: 16%
" + - "Level 2: 24%
" + - "Level 3: 28%"); - SourceFiles["SourceFile2"] = new SourceFile(2, "This Source-File increases the player's crime success rate, crime money, and charisma " + - "multipliers by:

" + - "Level 1: 20%
" + - "Level 2: 30%
" + - "Level 3: 35%"); - SourceFiles["SourceFile3"] = new SourceFile(3,"This Source-File lets you create corporations on other BitNodes (although " + - "some BitNodes will disable this mechanic). This Source-File also increases your charisma and company salary multipliers by:
" + - "Level 1: 8%
" + - "Level 2: 12%
" + - "Level 3: 14%"); - SourceFiles["SourceFile4"] = new SourceFile(4, "This Source-File lets you access and use the Singularity Functions in every BitNode. Every " + - "level of this Source-File opens up more of the Singularity Functions you can use."); - SourceFiles["SourceFile5"] = new SourceFile(5, "This Source-File grants a special new stat called Intelligence. Intelligence " + - "is unique because it is permanent and persistent (it never gets reset back to 1). However, " + - "gaining Intelligence experience is much slower than other stats, and it is also hidden (you won't " + - "know when you gain experience and how much). Higher Intelligence levels will boost your production " + - "for many actions in the game. In addition, this Source-File will unlock the getBitNodeMultipliers() " + - "Netscript function, and will raise all of your hacking-related multipliers by:

" + - "Level 1: 4%
" + - "Level 2: 6%
" + - "Level 3: 7%"); - SourceFiles["SourceFile6"] = new SourceFile(6, "This Source-File allows you to access the NSA's Bladeburner Division in other " + - "BitNodes. In addition, this Source-File will raise the experience gain rate of all your combat stats by:

" + - "Level 1: 8%
" + - "Level 2: 12%
" + - "Level 3: 14%"); - SourceFiles["SourceFile7"] = new SourceFile(7); - SourceFiles["SourceFile8"] = new SourceFile(8, "This Source-File grants the following benefits:

" + - "Level 1: Permanent access to WSE and TIX API
" + - "Level 2: Ability to short stocks in other BitNodes
" + - "Level 3: Ability to use limit/stop orders in other BitNodes

" + - "This Source-File also increases your hacking growth multipliers by: " + - "
Level 1: 8%
Level 2: 12%
Level 3: 14%"); - SourceFiles["SourceFile9"] = new SourceFile(9); - SourceFiles["SourceFile10"] = new SourceFile(10); - SourceFiles["SourceFile11"] = new SourceFile(11, "This Source-File makes it so that company favor increases BOTH the player's salary and reputation gain rate " + - "at that company by 1% per favor (rather than just the reputation gain). This Source-File also " + - " increases the player's company salary and reputation gain multipliers by:

" + - "Level 1: 24%
" + - "Level 2: 36%
" + - "Level 3: 42%
"); - SourceFiles["SourceFile12"] = new SourceFile(12, "This Source-File increases all your multipliers by 1% per level"); -} - -function PlayerOwnedSourceFile(number, level) { - this.n = number; - this.lvl = level; -} - -//Takes in a PlayerOwnedSourceFile as the "srcFile" argument -function applySourceFile(srcFile) { - var srcFileKey = "SourceFile" + srcFile.n; - var sourceFileObject = SourceFiles[srcFileKey]; - if (sourceFileObject == null) { - console.log("ERROR: Invalid source file number: " + srcFile.n); - return; - } - - switch(srcFile.n) { - case 1: // The Source Genesis - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (16 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - var decMult = 1 - (mult / 100); - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_chance_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_speed_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_money_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_grow_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_exp_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_exp_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_exp_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_exp_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_exp_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_exp_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].company_rep_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].faction_rep_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_money_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_success_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_money_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_purchase_cost_mult *= decMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_ram_cost_mult *= decMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_core_cost_mult *= decMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_level_cost_mult *= decMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].work_money_mult *= incMult; - break; - case 2: //Rise of the Underworld - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (20 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_money_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_success_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_mult *= incMult; - break; - case 3: //Corporatocracy - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (8 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].work_money_mult *= incMult; - break; - case 4: //The Singularity - //No effects, just gives access to Singularity functions - break; - case 5: //Artificial Intelligence - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (4 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_chance_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_speed_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_money_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_grow_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_exp_mult *= incMult; - break; - case 6: //Bladeburner - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (8 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_exp_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_exp_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_exp_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_exp_mult *= incMult; - break; - case 8: //Ghost of Wall Street - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (8 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_grow_mult *= incMult; - break; - case 11: //The Big Crash - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (24 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].work_money_mult *= incMult; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].company_rep_mult *= incMult; - break; - case 12: //The testing ground - const inc = Math.pow(1.01, srcFile.lvl); - const dec = Math.pow(0.99, srcFile.lvl); - - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_chance_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_speed_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_money_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_grow_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_mult *= inc; - - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_mult *= inc; - - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacking_exp_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].strength_exp_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].defense_exp_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].dexterity_exp_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].agility_exp_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].charisma_exp_mult *= inc; - - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].company_rep_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].faction_rep_mult *= inc; - - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_money_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].crime_success_mult *= inc; - - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_money_mult *= inc; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_purchase_cost_mult *= dec; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_ram_cost_mult *= dec; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_core_cost_mult *= dec; - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].hacknet_node_level_cost_mult *= dec; - - _Player_js__WEBPACK_IMPORTED_MODULE_0__["Player"].work_money_mult *= inc; - default: - console.log("ERROR: Invalid source file number: " + srcFile.n); - break; - } - - sourceFileObject.owned = true; -} - - - - /***/ }), /* 45 */ /*!******************************!*\ @@ -58708,7 +59034,7 @@ __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "saveObject", function() { return saveObject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "loadGame", function() { return loadGame; }); /* harmony import */ var _Alias_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Alias.js */ 29); -/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Company.js */ 9); +/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Company.js */ 10); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Constants.js */ 3); /* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./engine.js */ 5); /* harmony import */ var _Faction_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Faction.js */ 11); @@ -58718,14 +59044,14 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _Message_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Message.js */ 28); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Player.js */ 0); /* harmony import */ var _Script_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Script.js */ 25); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _Settings_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Settings.js */ 22); -/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./SpecialServerIps.js */ 18); +/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./SpecialServerIps.js */ 19); /* harmony import */ var _StockMarket_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./StockMarket.js */ 21); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_GameOptions_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/GameOptions.js */ 53); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); -/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 8); +/* harmony import */ var _utils_JSONReviver_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/JSONReviver.js */ 9); /* harmony import */ var _utils_StringHelperFunctions_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/StringHelperFunctions.js */ 2); /* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! decimal.js */ 23); @@ -59344,7 +59670,7 @@ function openImportFileHandler(evt) { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 47 */ @@ -59622,7 +59948,7 @@ function logBoxUpdateText() { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 51 */ @@ -60260,7 +60586,7 @@ function gameOptionsBoxOpen() { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 54 */ @@ -60307,7 +60633,7 @@ if (typeof Object.create === 'function') { var utils = __webpack_require__(/*! ./utils */ 31); var support = __webpack_require__(/*! ./support */ 49); var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 63); -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 39); /** * The following functions come from pako, from pako/lib/utils/strings @@ -60590,13 +60916,13 @@ exports.Utf8EncodeWorker = Utf8EncodeWorker; __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prestigeAugmentation", function() { return prestigeAugmentation; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "prestigeSourceFile", function() { return prestigeSourceFile; }); -/* harmony import */ var _ActiveScriptsUI_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI.js */ 41); +/* harmony import */ var _ActiveScriptsUI_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI.js */ 42); /* harmony import */ var _Augmentations_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentations.js */ 17); /* harmony import */ var _BitNode_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BitNode.js */ 15); /* harmony import */ var _Bladeburner_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Bladeburner.js */ 26); /* harmony import */ var _CinematicText_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CinematicText.js */ 68); -/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Company.js */ 9); -/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CreateProgram.js */ 14); +/* harmony import */ var _Company_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Company.js */ 10); +/* harmony import */ var _CreateProgram_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CreateProgram.js */ 13); /* harmony import */ var _engine_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./engine.js */ 5); /* harmony import */ var _Faction_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Faction.js */ 11); /* harmony import */ var _Gang_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Gang.js */ 35); @@ -60605,10 +60931,10 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _NetscriptFunctions_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./NetscriptFunctions.js */ 30); /* harmony import */ var _NetscriptWorker_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./NetscriptWorker.js */ 20); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Server.js */ 10); -/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./SpecialServerIps.js */ 18); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Server.js */ 8); +/* harmony import */ var _SpecialServerIps_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./SpecialServerIps.js */ 19); /* harmony import */ var _StockMarket_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./StockMarket.js */ 21); -/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Terminal.js */ 19); +/* harmony import */ var _Terminal_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Terminal.js */ 18); /* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! decimal.js */ 23); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_HelperFunctions_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../utils/HelperFunctions.js */ 1); @@ -60926,7 +61252,7 @@ function prestigeSourceFile() { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 39))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 40))) /***/ }), /* 57 */ @@ -60946,7 +61272,7 @@ var ES6Promise = null; if (typeof Promise !== "undefined") { ES6Promise = Promise; } else { - ES6Promise = __webpack_require__(/*! lie */ 153); + ES6Promise = __webpack_require__(/*! lie */ 154); } /** @@ -61285,8 +61611,8 @@ process.umask = function() { return 0; }; -var base64 = __webpack_require__(/*! base64-js */ 180) -var ieee754 = __webpack_require__(/*! ieee754 */ 179) +var base64 = __webpack_require__(/*! base64-js */ 181) +var ieee754 = __webpack_require__(/*! ieee754 */ 180) var isArray = __webpack_require__(/*! isarray */ 113) exports.Buffer = Buffer @@ -64271,7 +64597,7 @@ util.inherits = __webpack_require__(/*! inherits */ 54); /**/ var internalUtil = { - deprecate: __webpack_require__(/*! util-deprecate */ 173) + deprecate: __webpack_require__(/*! util-deprecate */ 174) }; /**/ @@ -64891,7 +65217,7 @@ exports.Readable = exports; exports.Writable = __webpack_require__(/*! ./lib/_stream_writable.js */ 78); exports.Duplex = __webpack_require__(/*! ./lib/_stream_duplex.js */ 51); exports.Transform = __webpack_require__(/*! ./lib/_stream_transform.js */ 106); -exports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ 172); +exports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ 173); /***/ }), @@ -65228,7 +65554,7 @@ module.exports = function() { __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "makeScriptBlob", function() { return makeScriptBlob; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "executeJSScript", function() { return executeJSScript; }); -/* harmony import */ var _NetscriptJSPreamble_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NetscriptJSPreamble.js */ 128); +/* harmony import */ var _NetscriptJSPreamble_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NetscriptJSPreamble.js */ 129); /* harmony import */ var _NetscriptEvaluator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NetscriptEvaluator.js */ 6); @@ -65354,7 +65680,7 @@ __webpack_require__.r(__webpack_exports__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "purchaseRamForHomeComputer", function() { return purchaseRamForHomeComputer; }); /* harmony import */ var _Constants_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Constants.js */ 3); /* harmony import */ var _Player_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Player.js */ 0); -/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Server.js */ 10); +/* harmony import */ var _Server_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Server.js */ 8); /* harmony import */ var _utils_DialogBox_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/DialogBox.js */ 7); /* harmony import */ var _utils_IPAddress_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/IPAddress.js */ 16); /* harmony import */ var _utils_YesNoBox_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/YesNoBox.js */ 12); @@ -65835,8 +66161,8 @@ module.exports = ArrayReader; var utils = __webpack_require__(/*! ../utils */ 31); var support = __webpack_require__(/*! ../support */ 49); var ArrayReader = __webpack_require__(/*! ./ArrayReader */ 87); -var StringReader = __webpack_require__(/*! ./StringReader */ 133); -var NodeBufferReader = __webpack_require__(/*! ./NodeBufferReader */ 132); +var StringReader = __webpack_require__(/*! ./StringReader */ 134); +var NodeBufferReader = __webpack_require__(/*! ./NodeBufferReader */ 133); var Uint8ArrayReader = __webpack_require__(/*! ./Uint8ArrayReader */ 85); /** @@ -66347,7 +66673,7 @@ module.exports = adler32; "use strict"; -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 39); exports.STORE = { magic: "\x00\x00", @@ -66358,7 +66684,7 @@ exports.STORE = { return new GenericWorker("STORE decompression"); } }; -exports.DEFLATE = __webpack_require__(/*! ./flate */ 147); +exports.DEFLATE = __webpack_require__(/*! ./flate */ 148); /***/ }), @@ -66371,7 +66697,7 @@ exports.DEFLATE = __webpack_require__(/*! ./flate */ 147); "use strict"; -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 39); var crc32 = __webpack_require__(/*! ../crc32 */ 74); var utils = __webpack_require__(/*! ../utils */ 31); @@ -66406,7 +66732,7 @@ module.exports = Crc32Probe; var utils = __webpack_require__(/*! ../utils */ 31); -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 39); /** * A worker which calculate the total length of the data flowing through. @@ -66445,7 +66771,7 @@ module.exports = DataLengthProbe; var utils = __webpack_require__(/*! ../utils */ 31); -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 39); // the size of the generated chunks // TODO expose this as a public variable @@ -66592,8 +66918,8 @@ exports.dosPermissions = null; /* WEBPACK VAR INJECTION */(function(Buffer) { var utils = __webpack_require__(/*! ../utils */ 31); -var ConvertWorker = __webpack_require__(/*! ./ConvertWorker */ 151); -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 38); +var ConvertWorker = __webpack_require__(/*! ./ConvertWorker */ 152); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 39); var base64 = __webpack_require__(/*! ../base64 */ 105); var support = __webpack_require__(/*! ../support */ 49); var external = __webpack_require__(/*! ../external */ 57); @@ -66601,7 +66927,7 @@ var external = __webpack_require__(/*! ../external */ 57); var NodejsStreamOutputAdapter = null; if (support.nodestream) { try { - NodejsStreamOutputAdapter = __webpack_require__(/*! ../nodejs/NodejsStreamOutputAdapter */ 150); + NodejsStreamOutputAdapter = __webpack_require__(/*! ../nodejs/NodejsStreamOutputAdapter */ 151); } catch(e) {} } @@ -66842,7 +67168,7 @@ module.exports = function(exec){ /***/ (function(module, exports, __webpack_require__) { // optional / simple context binding -var aFunction = __webpack_require__(/*! ./_a-function */ 164); +var aFunction = __webpack_require__(/*! ./_a-function */ 165); module.exports = function(fn, that, length){ aFunction(fn); if(that === undefined)return fn; @@ -67552,7 +67878,7 @@ exports._unrefActive = exports.active = function(item) { }; // setimmediate attaches itself to the global object -__webpack_require__(/*! setimmediate */ 174); +__webpack_require__(/*! setimmediate */ 175); // On some exotic environments, it's not clear which object `setimmediate` was // able to install onto. Search each possibility in the same order as the // `setimmediate` library. @@ -67737,7 +68063,7 @@ util.inherits = __webpack_require__(/*! inherits */ 54); /**/ /**/ -var debugUtil = __webpack_require__(/*! util */ 177); +var debugUtil = __webpack_require__(/*! util */ 178); var debug = void 0; if (debugUtil && debugUtil.debuglog) { debug = debugUtil.debuglog('stream'); @@ -67746,7 +68072,7 @@ if (debugUtil && debugUtil.debuglog) { } /**/ -var BufferList = __webpack_require__(/*! ./internal/streams/BufferList */ 176); +var BufferList = __webpack_require__(/*! ./internal/streams/BufferList */ 177); var destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ 109); var StringDecoder; @@ -68698,7 +69024,7 @@ function indexOf(xs, x) { * reduce the final size of the bundle (only one stream implementation, not * two). */ -module.exports = __webpack_require__(/*! stream */ 178); +module.exports = __webpack_require__(/*! stream */ 179); /***/ }), @@ -68732,8 +69058,8 @@ module.exports.src = "\"no use strict\";!function(window){function resolveModule \*********************************/ /***/ (function(module, exports, __webpack_require__) { -var rng = __webpack_require__(/*! ./lib/rng */ 127); -var bytesToUuid = __webpack_require__(/*! ./lib/bytesToUuid */ 126); +var rng = __webpack_require__(/*! ./lib/rng */ 128); +var bytesToUuid = __webpack_require__(/*! ./lib/bytesToUuid */ 127); function v4(options, buf, offset) { var i = buf && offset || 0; @@ -70009,7 +70335,7 @@ var saveAs = saveAs || (function(view) { if (typeof module !== "undefined" && module.exports) { module.exports.saveAs = saveAs; -} else if (("function" !== "undefined" && __webpack_require__(/*! !webpack amd define */ 81) !== null) && (__webpack_require__(/*! !webpack amd options */ 130) !== null)) { +} else if (("function" !== "undefined" && __webpack_require__(/*! !webpack amd define */ 81) !== null) && (__webpack_require__(/*! !webpack amd options */ 131) !== null)) { !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { return saveAs; }).call(exports, __webpack_require__, exports, module), @@ -70062,8 +70388,8 @@ function JSZip() { return newObj; }; } -JSZip.prototype = __webpack_require__(/*! ./object */ 181); -JSZip.prototype.loadAsync = __webpack_require__(/*! ./load */ 135); +JSZip.prototype = __webpack_require__(/*! ./object */ 182); +JSZip.prototype.loadAsync = __webpack_require__(/*! ./load */ 136); JSZip.support = __webpack_require__(/*! ./support */ 49); JSZip.defaults = __webpack_require__(/*! ./defaults */ 99); @@ -70086,6 +70412,18 @@ module.exports = JSZip; /* 124 */, /* 125 */, /* 126 */ +/*!************************!*\ + !*** ./src/devmode.js ***! + \************************/ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +__webpack_require__.r(__webpack_exports__); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "DevModeEnabled", function() { return DevModeEnabled; }); +const DevModeEnabled = false; + +/***/ }), +/* 127 */ /*!**********************************************!*\ !*** ./node_modules/uuid/lib/bytesToUuid.js ***! \**********************************************/ @@ -70117,7 +70455,7 @@ module.exports = bytesToUuid; /***/ }), -/* 127 */ +/* 128 */ /*!**********************************************!*\ !*** ./node_modules/uuid/lib/rng-browser.js ***! \**********************************************/ @@ -70158,7 +70496,7 @@ if (getRandomValues) { /***/ }), -/* 128 */ +/* 129 */ /*!************************************!*\ !*** ./src/NetscriptJSPreamble.js ***! \************************************/ @@ -70217,7 +70555,7 @@ function makeEnvHeader(uuid) { } /***/ }), -/* 129 */ +/* 130 */ /*!******************************************************!*\ !*** ./node_modules/bluebird/js/browser/bluebird.js ***! \******************************************************/ @@ -75528,7 +75866,7 @@ module.exports = ret; /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../process/browser.js */ 59), __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 47), __webpack_require__(/*! ./../../../timers-browserify/main.js */ 108).setImmediate)) /***/ }), -/* 130 */ +/* 131 */ /*!****************************************!*\ !*** (webpack)/buildin/amd-options.js ***! \****************************************/ @@ -75540,7 +75878,7 @@ module.exports = __webpack_amd_options__; /* WEBPACK VAR INJECTION */}.call(this, {})) /***/ }), -/* 131 */ +/* 132 */ /*!********************************************!*\ !*** ./node_modules/jszip/lib/zipEntry.js ***! \********************************************/ @@ -75842,7 +76180,7 @@ module.exports = ZipEntry; /***/ }), -/* 132 */ +/* 133 */ /*!***********************************************************!*\ !*** ./node_modules/jszip/lib/reader/NodeBufferReader.js ***! \***********************************************************/ @@ -75871,7 +76209,7 @@ module.exports = NodeBufferReader; /***/ }), -/* 133 */ +/* 134 */ /*!*******************************************************!*\ !*** ./node_modules/jszip/lib/reader/StringReader.js ***! \*******************************************************/ @@ -75919,7 +76257,7 @@ module.exports = StringReader; /***/ }), -/* 134 */ +/* 135 */ /*!**********************************************!*\ !*** ./node_modules/jszip/lib/zipEntries.js ***! \**********************************************/ @@ -75930,7 +76268,7 @@ module.exports = StringReader; var readerFor = __webpack_require__(/*! ./reader/readerFor */ 88); var utils = __webpack_require__(/*! ./utils */ 31); var sig = __webpack_require__(/*! ./signature */ 89); -var ZipEntry = __webpack_require__(/*! ./zipEntry */ 131); +var ZipEntry = __webpack_require__(/*! ./zipEntry */ 132); var utf8 = __webpack_require__(/*! ./utf8 */ 55); var support = __webpack_require__(/*! ./support */ 49); // class ZipEntries {{{ @@ -76191,7 +76529,7 @@ module.exports = ZipEntries; /***/ }), -/* 135 */ +/* 136 */ /*!****************************************!*\ !*** ./node_modules/jszip/lib/load.js ***! \****************************************/ @@ -76203,7 +76541,7 @@ var utils = __webpack_require__(/*! ./utils */ 31); var external = __webpack_require__(/*! ./external */ 57); var utf8 = __webpack_require__(/*! ./utf8 */ 55); var utils = __webpack_require__(/*! ./utils */ 31); -var ZipEntries = __webpack_require__(/*! ./zipEntries */ 134); +var ZipEntries = __webpack_require__(/*! ./zipEntries */ 135); var Crc32Probe = __webpack_require__(/*! ./stream/Crc32Probe */ 96); var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 63); @@ -76283,7 +76621,7 @@ module.exports = function(data, options) { /***/ }), -/* 136 */ +/* 137 */ /*!*******************************************************************!*\ !*** ./node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js ***! \*******************************************************************/ @@ -76293,7 +76631,7 @@ module.exports = function(data, options) { var utils = __webpack_require__(/*! ../utils */ 31); -var GenericWorker = __webpack_require__(/*! ../stream/GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ../stream/GenericWorker */ 39); /** * A worker that use a nodejs stream as source. @@ -76367,7 +76705,7 @@ module.exports = NodejsStreamInputAdapter; /***/ }), -/* 137 */ +/* 138 */ /*!**********************************************************!*\ !*** ./node_modules/jszip/lib/generate/ZipFileWorker.js ***! \**********************************************************/ @@ -76377,7 +76715,7 @@ module.exports = NodejsStreamInputAdapter; var utils = __webpack_require__(/*! ../utils */ 31); -var GenericWorker = __webpack_require__(/*! ../stream/GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ../stream/GenericWorker */ 39); var utf8 = __webpack_require__(/*! ../utf8 */ 55); var crc32 = __webpack_require__(/*! ../crc32 */ 74); var signature = __webpack_require__(/*! ../signature */ 89); @@ -76917,7 +77255,7 @@ module.exports = ZipFileWorker; /***/ }), -/* 138 */ +/* 139 */ /*!************************************************!*\ !*** ./node_modules/pako/lib/zlib/gzheader.js ***! \************************************************/ @@ -76985,7 +77323,7 @@ module.exports = GZheader; /***/ }), -/* 139 */ +/* 140 */ /*!************************************************!*\ !*** ./node_modules/pako/lib/zlib/inftrees.js ***! \************************************************/ @@ -77338,7 +77676,7 @@ module.exports = function inflate_table(type, lens, lens_index, codes, table, ta /***/ }), -/* 140 */ +/* 141 */ /*!***********************************************!*\ !*** ./node_modules/pako/lib/zlib/inffast.js ***! \***********************************************/ @@ -77693,7 +78031,7 @@ module.exports = function inflate_fast(strm, start) { /***/ }), -/* 141 */ +/* 142 */ /*!***********************************************!*\ !*** ./node_modules/pako/lib/zlib/inflate.js ***! \***********************************************/ @@ -77724,8 +78062,8 @@ module.exports = function inflate_fast(strm, start) { var utils = __webpack_require__(/*! ../utils/common */ 48); var adler32 = __webpack_require__(/*! ./adler32 */ 94); var crc32 = __webpack_require__(/*! ./crc32 */ 93); -var inflate_fast = __webpack_require__(/*! ./inffast */ 140); -var inflate_table = __webpack_require__(/*! ./inftrees */ 139); +var inflate_fast = __webpack_require__(/*! ./inffast */ 141); +var inflate_table = __webpack_require__(/*! ./inftrees */ 140); var CODES = 0; var LENS = 1; @@ -79259,7 +79597,7 @@ exports.inflateUndermine = inflateUndermine; /***/ }), -/* 142 */ +/* 143 */ /*!******************************************!*\ !*** ./node_modules/pako/lib/inflate.js ***! \******************************************/ @@ -79269,13 +79607,13 @@ exports.inflateUndermine = inflateUndermine; -var zlib_inflate = __webpack_require__(/*! ./zlib/inflate */ 141); +var zlib_inflate = __webpack_require__(/*! ./zlib/inflate */ 142); var utils = __webpack_require__(/*! ./utils/common */ 48); var strings = __webpack_require__(/*! ./utils/strings */ 92); var c = __webpack_require__(/*! ./zlib/constants */ 90); var msg = __webpack_require__(/*! ./zlib/messages */ 73); var ZStream = __webpack_require__(/*! ./zlib/zstream */ 91); -var GZheader = __webpack_require__(/*! ./zlib/gzheader */ 138); +var GZheader = __webpack_require__(/*! ./zlib/gzheader */ 139); var toString = Object.prototype.toString; @@ -79687,7 +80025,7 @@ exports.ungzip = inflate; /***/ }), -/* 143 */ +/* 144 */ /*!*********************************************!*\ !*** ./node_modules/pako/lib/zlib/trees.js ***! \*********************************************/ @@ -80917,7 +81255,7 @@ exports._tr_align = _tr_align; /***/ }), -/* 144 */ +/* 145 */ /*!***********************************************!*\ !*** ./node_modules/pako/lib/zlib/deflate.js ***! \***********************************************/ @@ -80946,7 +81284,7 @@ exports._tr_align = _tr_align; // 3. This notice may not be removed or altered from any source distribution. var utils = __webpack_require__(/*! ../utils/common */ 48); -var trees = __webpack_require__(/*! ./trees */ 143); +var trees = __webpack_require__(/*! ./trees */ 144); var adler32 = __webpack_require__(/*! ./adler32 */ 94); var crc32 = __webpack_require__(/*! ./crc32 */ 93); var msg = __webpack_require__(/*! ./messages */ 73); @@ -82801,7 +83139,7 @@ exports.deflateTune = deflateTune; /***/ }), -/* 145 */ +/* 146 */ /*!******************************************!*\ !*** ./node_modules/pako/lib/deflate.js ***! \******************************************/ @@ -82811,7 +83149,7 @@ exports.deflateTune = deflateTune; -var zlib_deflate = __webpack_require__(/*! ./zlib/deflate */ 144); +var zlib_deflate = __webpack_require__(/*! ./zlib/deflate */ 145); var utils = __webpack_require__(/*! ./utils/common */ 48); var strings = __webpack_require__(/*! ./utils/strings */ 92); var msg = __webpack_require__(/*! ./zlib/messages */ 73); @@ -83211,7 +83549,7 @@ exports.gzip = gzip; /***/ }), -/* 146 */ +/* 147 */ /*!************************************!*\ !*** ./node_modules/pako/index.js ***! \************************************/ @@ -83223,8 +83561,8 @@ exports.gzip = gzip; var assign = __webpack_require__(/*! ./lib/utils/common */ 48).assign; -var deflate = __webpack_require__(/*! ./lib/deflate */ 145); -var inflate = __webpack_require__(/*! ./lib/inflate */ 142); +var deflate = __webpack_require__(/*! ./lib/deflate */ 146); +var inflate = __webpack_require__(/*! ./lib/inflate */ 143); var constants = __webpack_require__(/*! ./lib/zlib/constants */ 90); var pako = {}; @@ -83235,7 +83573,7 @@ module.exports = pako; /***/ }), -/* 147 */ +/* 148 */ /*!*****************************************!*\ !*** ./node_modules/jszip/lib/flate.js ***! \*****************************************/ @@ -83245,9 +83583,9 @@ module.exports = pako; var USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined'); -var pako = __webpack_require__(/*! pako */ 146); +var pako = __webpack_require__(/*! pako */ 147); var utils = __webpack_require__(/*! ./utils */ 31); -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 39); var ARRAY_TYPE = USE_TYPEDARRAY ? "uint8array" : "array"; @@ -83330,7 +83668,7 @@ exports.uncompressWorker = function () { /***/ }), -/* 148 */ +/* 149 */ /*!**************************************************!*\ !*** ./node_modules/jszip/lib/generate/index.js ***! \**************************************************/ @@ -83340,7 +83678,7 @@ exports.uncompressWorker = function () { var compressions = __webpack_require__(/*! ../compressions */ 95); -var ZipFileWorker = __webpack_require__(/*! ./ZipFileWorker */ 137); +var ZipFileWorker = __webpack_require__(/*! ./ZipFileWorker */ 138); /** * Find the compression to use. @@ -83397,7 +83735,7 @@ exports.generateWorker = function (zip, options, comment) { /***/ }), -/* 149 */ +/* 150 */ /*!*********************************************!*\ !*** ./node_modules/jszip/lib/zipObject.js ***! \*********************************************/ @@ -83410,7 +83748,7 @@ var StreamHelper = __webpack_require__(/*! ./stream/StreamHelper */ 100); var DataWorker = __webpack_require__(/*! ./stream/DataWorker */ 98); var utf8 = __webpack_require__(/*! ./utf8 */ 55); var CompressedObject = __webpack_require__(/*! ./compressedObject */ 75); -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 39); /** * A simple object representing a file in the zip file. @@ -83540,7 +83878,7 @@ module.exports = ZipObject; /***/ }), -/* 150 */ +/* 151 */ /*!********************************************************************!*\ !*** ./node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js ***! \********************************************************************/ @@ -83592,7 +83930,7 @@ module.exports = NodejsStreamOutputAdapter; /***/ }), -/* 151 */ +/* 152 */ /*!********************************************************!*\ !*** ./node_modules/jszip/lib/stream/ConvertWorker.js ***! \********************************************************/ @@ -83601,7 +83939,7 @@ module.exports = NodejsStreamOutputAdapter; "use strict"; -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 39); var utils = __webpack_require__(/*! ../utils */ 31); /** @@ -83628,7 +83966,7 @@ module.exports = ConvertWorker; /***/ }), -/* 152 */ +/* 153 */ /*!***********************************************!*\ !*** ./node_modules/immediate/lib/browser.js ***! \***********************************************/ @@ -83708,7 +84046,7 @@ function immediate(task) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 47))) /***/ }), -/* 153 */ +/* 154 */ /*!*****************************************!*\ !*** ./node_modules/lie/lib/browser.js ***! \*****************************************/ @@ -83716,7 +84054,7 @@ function immediate(task) { "use strict"; -var immediate = __webpack_require__(/*! immediate */ 152); +var immediate = __webpack_require__(/*! immediate */ 153); /* istanbul ignore next */ function INTERNAL() {} @@ -83971,7 +84309,7 @@ function race(iterable) { /***/ }), -/* 154 */ +/* 155 */ /*!*************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_cof.js ***! \*************************************************************************/ @@ -83984,7 +84322,7 @@ module.exports = function(it){ }; /***/ }), -/* 155 */ +/* 156 */ /*!**************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_html.js ***! \**************************************************************************/ @@ -83993,7 +84331,7 @@ module.exports = function(it){ module.exports = __webpack_require__(/*! ./_global */ 62).document && document.documentElement; /***/ }), -/* 156 */ +/* 157 */ /*!****************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_invoke.js ***! \****************************************************************************/ @@ -84017,15 +84355,15 @@ module.exports = function(fn, args, that){ }; /***/ }), -/* 157 */ +/* 158 */ /*!**************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_task.js ***! \**************************************************************************/ /***/ (function(module, exports, __webpack_require__) { var ctx = __webpack_require__(/*! ./_ctx */ 103) - , invoke = __webpack_require__(/*! ./_invoke */ 156) - , html = __webpack_require__(/*! ./_html */ 155) + , invoke = __webpack_require__(/*! ./_invoke */ 157) + , html = __webpack_require__(/*! ./_html */ 156) , cel = __webpack_require__(/*! ./_dom-create */ 101) , global = __webpack_require__(/*! ./_global */ 62) , process = global.process @@ -84062,7 +84400,7 @@ if(!setTask || !clearTask){ delete queue[id]; }; // Node.js 0.8- - if(__webpack_require__(/*! ./_cof */ 154)(process) == 'process'){ + if(__webpack_require__(/*! ./_cof */ 155)(process) == 'process'){ defer = function(id){ process.nextTick(ctx(run, id, 1)); }; @@ -84100,7 +84438,7 @@ module.exports = { }; /***/ }), -/* 158 */ +/* 159 */ /*!***********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_property-desc.js ***! \***********************************************************************************/ @@ -84116,7 +84454,7 @@ module.exports = function(bitmap, value){ }; /***/ }), -/* 159 */ +/* 160 */ /*!**********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_to-primitive.js ***! \**********************************************************************************/ @@ -84136,7 +84474,7 @@ module.exports = function(it, S){ }; /***/ }), -/* 160 */ +/* 161 */ /*!************************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_ie8-dom-define.js ***! \************************************************************************************/ @@ -84147,7 +84485,7 @@ module.exports = !__webpack_require__(/*! ./_descriptors */ 76) && !__webpack_re }); /***/ }), -/* 161 */ +/* 162 */ /*!*******************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_an-object.js ***! \*******************************************************************************/ @@ -84160,15 +84498,15 @@ module.exports = function(it){ }; /***/ }), -/* 162 */ +/* 163 */ /*!*******************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_object-dp.js ***! \*******************************************************************************/ /***/ (function(module, exports, __webpack_require__) { -var anObject = __webpack_require__(/*! ./_an-object */ 161) - , IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ 160) - , toPrimitive = __webpack_require__(/*! ./_to-primitive */ 159) +var anObject = __webpack_require__(/*! ./_an-object */ 162) + , IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ 161) + , toPrimitive = __webpack_require__(/*! ./_to-primitive */ 160) , dP = Object.defineProperty; exports.f = __webpack_require__(/*! ./_descriptors */ 76) ? Object.defineProperty : function defineProperty(O, P, Attributes){ @@ -84184,14 +84522,14 @@ exports.f = __webpack_require__(/*! ./_descriptors */ 76) ? Object.definePropert }; /***/ }), -/* 163 */ +/* 164 */ /*!**************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_hide.js ***! \**************************************************************************/ /***/ (function(module, exports, __webpack_require__) { -var dP = __webpack_require__(/*! ./_object-dp */ 162) - , createDesc = __webpack_require__(/*! ./_property-desc */ 158); +var dP = __webpack_require__(/*! ./_object-dp */ 163) + , createDesc = __webpack_require__(/*! ./_property-desc */ 159); module.exports = __webpack_require__(/*! ./_descriptors */ 76) ? function(object, key, value){ return dP.f(object, key, createDesc(1, value)); } : function(object, key, value){ @@ -84200,7 +84538,7 @@ module.exports = __webpack_require__(/*! ./_descriptors */ 76) ? function(object }; /***/ }), -/* 164 */ +/* 165 */ /*!********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_a-function.js ***! \********************************************************************************/ @@ -84212,7 +84550,7 @@ module.exports = function(it){ }; /***/ }), -/* 165 */ +/* 166 */ /*!****************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_export.js ***! \****************************************************************************/ @@ -84221,7 +84559,7 @@ module.exports = function(it){ var global = __webpack_require__(/*! ./_global */ 62) , core = __webpack_require__(/*! ./_core */ 104) , ctx = __webpack_require__(/*! ./_ctx */ 103) - , hide = __webpack_require__(/*! ./_hide */ 163) + , hide = __webpack_require__(/*! ./_hide */ 164) , PROTOTYPE = 'prototype'; var $export = function(type, name, source){ @@ -84281,31 +84619,31 @@ $export.R = 128; // real proto method for `library` module.exports = $export; /***/ }), -/* 166 */ +/* 167 */ /*!**********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/web.immediate.js ***! \**********************************************************************************/ /***/ (function(module, exports, __webpack_require__) { -var $export = __webpack_require__(/*! ./_export */ 165) - , $task = __webpack_require__(/*! ./_task */ 157); +var $export = __webpack_require__(/*! ./_export */ 166) + , $task = __webpack_require__(/*! ./_task */ 158); $export($export.G + $export.B, { setImmediate: $task.set, clearImmediate: $task.clear }); /***/ }), -/* 167 */ +/* 168 */ /*!*****************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/fn/set-immediate.js ***! \*****************************************************************************/ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! ../modules/web.immediate */ 166); +__webpack_require__(/*! ../modules/web.immediate */ 167); module.exports = __webpack_require__(/*! ../modules/_core */ 104).setImmediate; /***/ }), -/* 168 */ +/* 169 */ /*!*****************************************************!*\ !*** ./node_modules/readable-stream/passthrough.js ***! \*****************************************************/ @@ -84315,7 +84653,7 @@ module.exports = __webpack_require__(/*! ./readable */ 79).PassThrough /***/ }), -/* 169 */ +/* 170 */ /*!***************************************************!*\ !*** ./node_modules/readable-stream/transform.js ***! \***************************************************/ @@ -84325,7 +84663,7 @@ module.exports = __webpack_require__(/*! ./readable */ 79).Transform /***/ }), -/* 170 */ +/* 171 */ /*!********************************************************!*\ !*** ./node_modules/readable-stream/duplex-browser.js ***! \********************************************************/ @@ -84335,7 +84673,7 @@ module.exports = __webpack_require__(/*! ./lib/_stream_duplex.js */ 51); /***/ }), -/* 171 */ +/* 172 */ /*!**********************************************************!*\ !*** ./node_modules/readable-stream/writable-browser.js ***! \**********************************************************/ @@ -84345,7 +84683,7 @@ module.exports = __webpack_require__(/*! ./lib/_stream_writable.js */ 78); /***/ }), -/* 172 */ +/* 173 */ /*!*****************************************************************!*\ !*** ./node_modules/readable-stream/lib/_stream_passthrough.js ***! \*****************************************************************/ @@ -84401,7 +84739,7 @@ PassThrough.prototype._transform = function (chunk, encoding, cb) { }; /***/ }), -/* 173 */ +/* 174 */ /*!************************************************!*\ !*** ./node_modules/util-deprecate/browser.js ***! \************************************************/ @@ -84478,7 +84816,7 @@ function config (name) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 47))) /***/ }), -/* 174 */ +/* 175 */ /*!***************************************************!*\ !*** ./node_modules/setimmediate/setImmediate.js ***! \***************************************************/ @@ -84674,7 +85012,7 @@ function config (name) { /* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 47), __webpack_require__(/*! ./../process/browser.js */ 59))) /***/ }), -/* 175 */ +/* 176 */ /*!**********************!*\ !*** util (ignored) ***! \**********************/ @@ -84683,7 +85021,7 @@ function config (name) { /* (ignored) */ /***/ }), -/* 176 */ +/* 177 */ /*!*************************************************************************!*\ !*** ./node_modules/readable-stream/lib/internal/streams/BufferList.js ***! \*************************************************************************/ @@ -84695,7 +85033,7 @@ function config (name) { function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var Buffer = __webpack_require__(/*! safe-buffer */ 64).Buffer; -var util = __webpack_require__(/*! util */ 175); +var util = __webpack_require__(/*! util */ 176); function copyBuffer(src, target, offset) { src.copy(target, offset); @@ -84771,7 +85109,7 @@ if (util && util.inspect && util.inspect.custom) { } /***/ }), -/* 177 */ +/* 178 */ /*!**********************!*\ !*** util (ignored) ***! \**********************/ @@ -84780,7 +85118,7 @@ if (util && util.inspect && util.inspect.custom) { /* (ignored) */ /***/ }), -/* 178 */ +/* 179 */ /*!*************************************************!*\ !*** ./node_modules/stream-browserify/index.js ***! \*************************************************/ @@ -84814,10 +85152,10 @@ var inherits = __webpack_require__(/*! inherits */ 54); inherits(Stream, EE); Stream.Readable = __webpack_require__(/*! readable-stream/readable.js */ 79); -Stream.Writable = __webpack_require__(/*! readable-stream/writable.js */ 171); -Stream.Duplex = __webpack_require__(/*! readable-stream/duplex.js */ 170); -Stream.Transform = __webpack_require__(/*! readable-stream/transform.js */ 169); -Stream.PassThrough = __webpack_require__(/*! readable-stream/passthrough.js */ 168); +Stream.Writable = __webpack_require__(/*! readable-stream/writable.js */ 172); +Stream.Duplex = __webpack_require__(/*! readable-stream/duplex.js */ 171); +Stream.Transform = __webpack_require__(/*! readable-stream/transform.js */ 170); +Stream.PassThrough = __webpack_require__(/*! readable-stream/passthrough.js */ 169); // Backwards-compat with node 0.4.x Stream.Stream = Stream; @@ -84916,7 +85254,7 @@ Stream.prototype.pipe = function(dest, options) { /***/ }), -/* 179 */ +/* 180 */ /*!***************************************!*\ !*** ./node_modules/ieee754/index.js ***! \***************************************/ @@ -85009,7 +85347,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { /***/ }), -/* 180 */ +/* 181 */ /*!*****************************************!*\ !*** ./node_modules/base64-js/index.js ***! \*****************************************/ @@ -85170,7 +85508,7 @@ function fromByteArray (uint8) { /***/ }), -/* 181 */ +/* 182 */ /*!******************************************!*\ !*** ./node_modules/jszip/lib/object.js ***! \******************************************/ @@ -85180,14 +85518,14 @@ function fromByteArray (uint8) { var utf8 = __webpack_require__(/*! ./utf8 */ 55); var utils = __webpack_require__(/*! ./utils */ 31); -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 38); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 39); var StreamHelper = __webpack_require__(/*! ./stream/StreamHelper */ 100); var defaults = __webpack_require__(/*! ./defaults */ 99); var CompressedObject = __webpack_require__(/*! ./compressedObject */ 75); -var ZipObject = __webpack_require__(/*! ./zipObject */ 149); -var generate = __webpack_require__(/*! ./generate */ 148); +var ZipObject = __webpack_require__(/*! ./zipObject */ 150); +var generate = __webpack_require__(/*! ./generate */ 149); var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 63); -var NodejsStreamInputAdapter = __webpack_require__(/*! ./nodejs/NodejsStreamInputAdapter */ 136); +var NodejsStreamInputAdapter = __webpack_require__(/*! ./nodejs/NodejsStreamInputAdapter */ 137); /** @@ -85569,7 +85907,7 @@ module.exports = out; /***/ }), -/* 182 */ +/* 183 */ /*!*****************************************!*\ !*** ./node_modules/acorn/dist/walk.js ***! \*****************************************/ @@ -86013,7 +86351,7 @@ Object.defineProperty(exports, '__esModule', { value: true }); /***/ }), -/* 183 */ +/* 184 */ /*!**************************************************!*\ !*** ./node_modules/brace/ext/language_tools.js ***! \**************************************************/ @@ -87977,7 +88315,7 @@ acequire("../config").defineOptions(Editor.prototype, "editor", { /***/ }), -/* 184 */ +/* 185 */ /*!************************************************!*\ !*** ./node_modules/brace/keybinding/emacs.js ***! \************************************************/ @@ -89167,7 +89505,7 @@ exports.killRing = { /***/ }), -/* 185 */ +/* 186 */ /*!**********************************************!*\ !*** ./node_modules/brace/keybinding/vim.js ***! \**********************************************/ @@ -94774,7 +95112,7 @@ dom.importCssString(".normal-mode .ace_cursor{\ /***/ }), -/* 186 */ +/* 187 */ /*!*******************************************!*\ !*** ./node_modules/brace/theme/xcode.js ***! \*******************************************/ @@ -94871,7 +95209,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 187 */ +/* 188 */ /*!**********************************************!*\ !*** ./node_modules/brace/theme/twilight.js ***! \**********************************************/ @@ -94989,7 +95327,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 188 */ +/* 189 */ /*!**********************************************!*\ !*** ./node_modules/brace/theme/terminal.js ***! \**********************************************/ @@ -95112,7 +95450,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 189 */ +/* 190 */ /*!*****************************************************!*\ !*** ./node_modules/brace/theme/solarized_light.js ***! \*****************************************************/ @@ -95212,7 +95550,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 190 */ +/* 191 */ /*!****************************************************!*\ !*** ./node_modules/brace/theme/solarized_dark.js ***! \****************************************************/ @@ -95309,7 +95647,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 191 */ +/* 192 */ /*!*********************************************!*\ !*** ./node_modules/brace/theme/monokai.js ***! \*********************************************/ @@ -95423,7 +95761,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 192 */ +/* 193 */ /*!********************************************!*\ !*** ./node_modules/brace/theme/chrome.js ***! \********************************************/ @@ -95560,7 +95898,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 193 */ +/* 194 */ /*!*******************************************!*\ !*** ./node_modules/brace/theme/chaos.js ***! \*******************************************/ @@ -95725,7 +96063,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 194 */ +/* 195 */ /*!**********************!*\ !*** ./netscript.js ***! \**********************/ @@ -96552,7 +96890,7 @@ exports.Mode = Mode; /***/ }), -/* 195 */ +/* 196 */ /*!***********************************************!*\ !*** ./node_modules/brace/mode/javascript.js ***! \***********************************************/ @@ -97350,7 +97688,7 @@ exports.Mode = Mode; /***/ }), -/* 196 */ +/* 197 */ /*!*************************************!*\ !*** ./node_modules/brace/index.js ***! \*************************************/ @@ -117630,7 +117968,7 @@ exports.version = "1.2.9"; module.exports = window.ace.acequire("ace/ace"); /***/ }), -/* 197 */ +/* 198 */ /*!*************************************************!*\ !*** ./node_modules/jsplumb/dist/js/jsplumb.js ***! \*************************************************/ diff --git a/index.html b/index.html index aa1617126..c28038799 100644 --- a/index.html +++ b/index.html @@ -88,6 +88,9 @@ + @@ -475,6 +478,58 @@

+ +
+

If you see this menu you can pretty much break the game. It's recommended that you use this menu only to setup a save file appropriate to test a new feature or bug fix.

+ +

Generic

+ Add $1000t + Double home RAM + +

Augmentation related:

+ + + Queue AugmentationMay require save + reload + + Add/Remove source file If Lvl == 0 the sf will be removed, calling it with another level will replace your current source file. You CAN set a source file higher than it's maximum level. + +

Faction related:

+ + Receive inviteMay require save + reload + +

Program related:

+ + ConnectConnect to the target server. + + + Add ProgramAdd this program to the player home server, won't add the same program twice. + + Trigger BitFlumeQuick escape to change BN, does not give SFs + +

Server related:

+ NUKE + ports all serversOpens all ports, nukes all servers, gains root access to everything (still need the appropriate hacking level) + minimize all servers securityAll servers security will be set to their minimum security + maximize all servers moneySet all servers available money to maximum for that server + +

Exp/stats related:

+ + add hacking expAdd that many hacking experience point, use negative numbers to remove, don't worry about going under 0 exp + + add strength expAdd that many strength experience point, use negative numbers to remove, don't worry about going under 0 exp + + add defense expAdd that many defense experience point, use negative numbers to remove, don't worry about going under 0 exp + + add dexterity expAdd that many dexterity experience point, use negative numbers to remove, don't worry about going under 0 exp + + add agility expAdd that many agility experience point, use negative numbers to remove, don't worry about going under 0 exp + + add charisma expAdd that many charisma experience point, use negative numbers to remove, don't worry about going under 0 exp + + add intelligence expAdd that many intelligence experience point, use negative numbers to remove, don't worry about going under 0 exp + enable intelligenceEnables the intelligence stat + disable intelligenceDisables the intelligence stat +
+
Return to World diff --git a/package-lock.json b/package-lock.json index 2e3404713..250e2e932 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5858,7 +5858,8 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true }, "extend": { "version": "3.0.1", @@ -5976,6 +5977,7 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, "requires": { "ansi-regex": "2.1.1" } @@ -5999,7 +6001,8 @@ "supports-color": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true }, "topo": { "version": "1.1.0", diff --git a/package.json b/package.json index 2559d2ae8..a28d2acd2 100644 --- a/package.json +++ b/package.json @@ -81,7 +81,11 @@ "url": "git+https://github.com/danielyxie/bitburner.git" }, "scripts": { - "start:dev": "webpack-dev-server" + "start:dev": "webpack-dev-server", + "build": "webpack --mode production", + "build:dev": "webpack --mode development", + "watch" : "webpack --watch --mode production", + "watch:dev": "webpack --watch --mode development" }, "version": "0.35.1" } diff --git a/src/Player.js b/src/Player.js index 3a2a12695..bdbf12df8 100644 --- a/src/Player.js +++ b/src/Player.js @@ -413,6 +413,14 @@ PlayerObject.prototype.getUpgradeHomeRamCost = function() { return cost; } +PlayerObject.prototype.receiveInvite = function(factionName) { + if(this.factionInvitations.includes(factionName) || this.factions.includes(factionName)) { + return; + } + this.firstFacInvRecvd = true; + this.factionInvitations.push(factionName); +} + //Calculates skill level based on experience. The same formula will be used for every skill PlayerObject.prototype.calculateSkill = function(exp) { return Math.max(Math.floor(32 * Math.log(exp + 534.5) - 200), 1); @@ -579,6 +587,9 @@ PlayerObject.prototype.gainHackingExp = function(exp) { console.log("ERR: NaN passed into Player.gainHackingExp()"); return; } this.hacking_exp += exp; + if(this.hacking_exp < 0) { + this.hacking_exp = 0; + } } PlayerObject.prototype.gainStrengthExp = function(exp) { @@ -586,6 +597,9 @@ PlayerObject.prototype.gainStrengthExp = function(exp) { console.log("ERR: NaN passed into Player.gainStrengthExp()"); return; } this.strength_exp += exp; + if(this.strength_exp < 0) { + this.strength_exp = 0; + } } PlayerObject.prototype.gainDefenseExp = function(exp) { @@ -593,6 +607,9 @@ PlayerObject.prototype.gainDefenseExp = function(exp) { console.log("ERR: NaN passed into player.gainDefenseExp()"); return; } this.defense_exp += exp; + if(this.defense_exp < 0) { + this.defense_exp = 0; + } } PlayerObject.prototype.gainDexterityExp = function(exp) { @@ -600,6 +617,9 @@ PlayerObject.prototype.gainDexterityExp = function(exp) { console.log("ERR: NaN passed into Player.gainDexterityExp()"); return; } this.dexterity_exp += exp; + if(this.dexterity_exp < 0) { + this.dexterity_exp = 0; + } } PlayerObject.prototype.gainAgilityExp = function(exp) { @@ -607,6 +627,9 @@ PlayerObject.prototype.gainAgilityExp = function(exp) { console.log("ERR: NaN passed into Player.gainAgilityExp()"); return; } this.agility_exp += exp; + if(this.agility_exp < 0) { + this.agility_exp = 0; + } } PlayerObject.prototype.gainCharismaExp = function(exp) { @@ -614,6 +637,9 @@ PlayerObject.prototype.gainCharismaExp = function(exp) { console.log("ERR: NaN passed into Player.gainCharismaExp()"); return; } this.charisma_exp += exp; + if(this.charisma_exp < 0) { + this.charisma_exp = 0; + } } PlayerObject.prototype.gainIntelligenceExp = function(exp) { @@ -2315,6 +2341,25 @@ PlayerObject.prototype.setBitNodeNumber = function(n) { this.bitNodeN = n; } +PlayerObject.prototype.queueAugmentation = function(name) { + for(const i in this.queuedAugmentations) { + if(this.queuedAugmentations[i].name == name) { + console.log('tried to queue '+name+' twice, this may be a bug'); + return; + } + } + + for(const i in this.augmentations) { + if(this.augmentations[i].name == name) { + console.log('tried to queue '+name+' but we already have that aug'); + return; + } + } + + this.firstAugPurchased = true; + this.queuedAugmentations.push(new PlayerOwnedAugmentation(name)); +} + /* Functions for saving and loading the Player data */ function loadPlayer(saveString) { Player = JSON.parse(saveString, Reviver); diff --git a/src/engine.js b/src/engine.js index dc721e5a9..a0c766d10 100644 --- a/src/engine.js +++ b/src/engine.js @@ -12,7 +12,8 @@ import {loxBoxCreate, logBoxUpdateText, import {updateActiveScriptsItems} from "./ActiveScriptsUI.js"; import {Augmentations, installAugmentations, initAugmentations, AugmentationNames, - displayAugmentationsContent} from "./Augmentations.js"; + displayAugmentationsContent, + PlayerOwnedAugmentation} from "./Augmentations.js"; import {BitNodes, initBitNodes, initBitNodeMultipliers} from "./BitNode.js"; import {Bladeburner} from "./Bladeburner.js"; @@ -23,6 +24,7 @@ import {CONSTANTS} from "./Constants.js"; import {Programs, displayCreateProgramContent, getNumAvailableCreateProgram, initCreateProgramButtons} from "./CreateProgram.js"; +import {DevModeEnabled} from "./devmode.js" import {displayFactionContent, joinFaction, processPassiveFactionRepGain, Factions, inviteToFaction, initFactions} from "./Faction.js"; @@ -44,13 +46,14 @@ import {updateOnlineScriptTimes, import {Player} from "./Player.js"; import {prestigeAugmentation, prestigeSourceFile} from "./Prestige.js"; -import {redPillFlag} from "./RedPill.js"; +import {redPillFlag, hackWorldDaemon} from "./RedPill.js"; import {saveObject, loadGame} from "./SaveObject.js"; import {loadAllRunningScripts, scriptEditorInit, updateScriptEditorContent} from "./Script.js"; import {AllServers, Server, initForeignServers} from "./Server.js"; import {Settings, setSettingsLabels} from "./Settings.js"; -import {initSourceFiles, SourceFiles} from "./SourceFile.js"; +import {initSourceFiles, SourceFiles, + PlayerOwnedSourceFile} from "./SourceFile.js"; import {SpecialServerIps, initSpecialServerIps} from "./SpecialServerIps.js"; import {StockMarket, StockSymbols, SymbolToStockMap, initStockSymbols, @@ -145,6 +148,7 @@ let Engine = { factionsMainMenuButton: null, augmentationsMainMenuButton: null, tutorialMainMenuButton: null, + devMainMenuButton: null, saveMainMenuButton: null, deleteMainMenuButton: null, @@ -158,6 +162,41 @@ let Engine = { tutorialFactionsButton: null, tutorialAugmentationsButton: null, tutorialBackButton: null, + + //Dev menu + devMenuGiveMoney: null, + devMenuGiveRam: null, + devMenuAugDropdown: null, + devMenuAddAug: null, + devMenuTriggerBitFlume: null, + devMenuFactionDropdown: null, + devMenuAddFaction: null, + devMenuOpen: null, + devMenuMinSecurity: null, + devMenuMaxMoney: null, + devMenuConnectDropdown: null, + devMenuConnect: null, + devMenuProgramsDropdown: null, + devMenuAddProgram: null, + devMenuHackingExp: null, + devMenuAddHacking: null, + devMenuStrengthExp: null, + devMenuAddStrength: null, + devMenuDefenseExp: null, + devMenuAddDefense: null, + devMenuDexterityExp: null, + devMenuAddDexterity: null, + devMenuAgilityExp: null, + devMenuAddAgility: null, + devMenuCharismaExp: null, + devMenuAddCharisma: null, + devMenuIntelligenceExp: null, + devMenuAddIntelligence: null, + devMenuEnableIntelligence: null, + devMenuDisableIntelligence: null, + devMenuSFN: null, + devMenuSFLvl: null, + devMenuAddSF: null, }, //Display objects @@ -183,6 +222,7 @@ let Engine = { factionAugmentationsContent: null, augmentationsContent: null, tutorialContent: null, + devMenuContent: null, infiltrationContent: null, stockMarketContent: null, locationContent: null, @@ -208,6 +248,7 @@ let Engine = { Faction: "Faction", Augmentations: "Augmentations", Tutorial: "Tutorial", + DevMenu: "Dev Menu", Location: "Location", workInProgress: "WorkInProgress", RedPill: "RedPill", @@ -319,6 +360,14 @@ let Engine = { document.getElementById("tutorial-menu-link").classList.add("active"); }, + loadDevMenuContent: function() { + Engine.hideAllContent(); + Engine.Display.devMenuContent.style.display = "block"; + Engine.displayDevMenuContent(); + Engine.currentPage = Engine.Page.DevMenu; + document.getElementById("dev-menu-link").classList.add("active"); + }, + loadLocationContent: function() { Engine.hideAllContent(); Engine.Display.locationContent.style.display = "block"; @@ -455,6 +504,7 @@ let Engine = { Engine.Display.factionAugmentationsContent.style.display = "none"; Engine.Display.augmentationsContent.style.display = "none"; Engine.Display.tutorialContent.style.display = "none"; + Engine.Display.devMenuContent.style.display = "none"; Engine.Display.locationContent.style.display = "none"; Engine.Display.workInProgressContent.style.display = "none"; Engine.Display.redPillContent.style.display = "none"; @@ -494,6 +544,7 @@ let Engine = { document.getElementById("city-menu-link").classList.remove("active"); document.getElementById("tutorial-menu-link").classList.remove("active"); document.getElementById("options-menu-link").classList.remove("active"); + document.getElementById("dev-menu-link").classList.remove("active"); }, displayCharacterOverviewInfo: function() { @@ -784,6 +835,43 @@ let Engine = { document.getElementById("tutorial-text").style.display = "none"; }, + displayDevMenuContent: function() { + Engine.Clickables.devMenuGiveMoney.style.display = "block"; + Engine.Clickables.devMenuGiveRam.style.display = "block"; + Engine.Clickables.devMenuAugDropdown.style.display = "block"; + Engine.Clickables.devMenuAddAug.style.display = "block"; + Engine.Clickables.devMenuTriggerBitFlume.style.display = "block"; + Engine.Clickables.devMenuFactionDropdown.style.display = "block"; + Engine.Clickables.devMenuAddFaction.style.display = "block"; + Engine.Clickables.devMenuOpen.style.display = "block"; + Engine.Clickables.devMenuMinSecurity.style.display = "block"; + Engine.Clickables.devMenuMaxMoney.style.display = "block"; + Engine.Clickables.devMenuConnectDropdown.style.display = "block"; + Engine.Clickables.devMenuConnect.style.display = "block"; + Engine.Clickables.devMenuProgramsDropdown.style.display = "block"; + Engine.Clickables.devMenuAddProgram.style.display = "block"; + + Engine.Clickables.devMenuHackingExp.style.display = "block"; + Engine.Clickables.devMenuAddHacking.style.display = "block"; + Engine.Clickables.devMenuStrengthExp.style.display = "block"; + Engine.Clickables.devMenuAddStrength.style.display = "block"; + Engine.Clickables.devMenuDefenseExp.style.display = "block"; + Engine.Clickables.devMenuAddDefense.style.display = "block"; + Engine.Clickables.devMenuDexterityExp.style.display = "block"; + Engine.Clickables.devMenuAddDexterity.style.display = "block"; + Engine.Clickables.devMenuAgilityExp.style.display = "block"; + Engine.Clickables.devMenuAddAgility.style.display = "block"; + Engine.Clickables.devMenuCharismaExp.style.display = "block"; + Engine.Clickables.devMenuAddCharisma.style.display = "block"; + Engine.Clickables.devMenuIntelligenceExp.style.display = "block"; + Engine.Clickables.devMenuAddIntelligence.style.display = "block"; + Engine.Clickables.devMenuEnableIntelligence.style.display = "block"; + Engine.Clickables.devMenuDisableIntelligence.style.display = "block"; + Engine.Clickables.devMenuSFN.style.display = "block"; + Engine.Clickables.devMenuSFLvl.style.display = "block"; + Engine.Clickables.devMenuAddSF.style.display = "block"; + }, + //Displays the text when a section of the Tutorial is opened displayTutorialPage: function(text) { document.getElementById("tutorial-getting-started-link").style.display = "none"; @@ -1182,6 +1270,7 @@ let Engine = { var job = document.getElementById("job-tab"); var tutorial = document.getElementById("tutorial-tab"); var options = document.getElementById("options-tab"); + var dev = document.getElementById("dev-tab"); //Load game from save or create new game if (loadGame(saveString)) { @@ -1258,7 +1347,7 @@ let Engine = { formatNumber(offlineProductionFromHacknetNodes, 2)); //Close main menu accordions for loaded game var visibleMenuTabs = [terminal, createScript, activeScripts, stats, - hacknetnodes, city, tutorial, options]; + hacknetnodes, city, tutorial, options, dev]; if (Player.firstFacInvRecvd) {visibleMenuTabs.push(factions);} else {factions.style.display = "none";} if (Player.firstAugPurchased) {visibleMenuTabs.push(augmentations);} @@ -1312,7 +1401,7 @@ let Engine = { Engine.openMainMenuHeader( [terminal, createScript, activeScripts, stats, hacknetnodes, city, - tutorial, options] + tutorial, options, dev] ); //Start interactive tutorial @@ -1365,6 +1454,9 @@ let Engine = { Engine.Display.tutorialContent = document.getElementById("tutorial-container"); Engine.Display.tutorialContent.style.display = "none"; + Engine.Display.devMenuContent = document.getElementById("dev-menu-container"); + Engine.Display.devMenuContent.style.display = "none"; + Engine.Display.infiltrationContent = document.getElementById("infiltration-container"); Engine.Display.infiltrationContent.style.display = "none"; @@ -1452,6 +1544,190 @@ let Engine = { Engine.displayTutorialContent(); }); + // dev menu buttons + Engine.Clickables.devMenuGiveMoney = document.getElementById("dev-need-money"); + Engine.Clickables.devMenuGiveMoney.addEventListener("click", function() { + Player.gainMoney(1e15); + }); + + Engine.Clickables.devMenuGiveRam = document.getElementById("dev-need-ram"); + Engine.Clickables.devMenuGiveRam.addEventListener("click", function() { + Player.getHomeComputer().maxRam *= 2; + }); + + Engine.Clickables.devMenuAugDropdown = document.getElementById("dev-menu-aug-dropdown"); + const augDD = Engine.Clickables.devMenuAugDropdown; + for(const i in AugmentationNames) { + augDD.options[augDD.options.length] = new Option(AugmentationNames[i], AugmentationNames[i]); + } + + Engine.Clickables.devMenuAddAug = document.getElementById("dev-add-aug"); + Engine.Clickables.devMenuAddAug.addEventListener("click", function() { + Player.queueAugmentation(augDD.options[augDD.selectedIndex].value); + }); + + Engine.Clickables.devMenuTriggerBitFlume = document.getElementById("dev-bit-flume"); + Engine.Clickables.devMenuTriggerBitFlume.addEventListener("click", function() { + hackWorldDaemon(Player.bitNodeN, true); + }); + + Engine.Clickables.devMenuFactionDropdown = document.getElementById("dev-menu-faction-dropdown"); + const facDD = Engine.Clickables.devMenuFactionDropdown; + for(const i in Factions) { + facDD.options[facDD.options.length] = new Option(Factions[i].name, Factions[i].name); + } + + Engine.Clickables.devMenuAddFaction = document.getElementById("dev-add-faction"); + Engine.Clickables.devMenuAddFaction.addEventListener("click", function() { + const factionName = facDD.options[facDD.selectedIndex].value; + Player.receiveInvite(factionName); + }); + + Engine.Clickables.devMenuOpen = document.getElementById("dev-open-all"); + Engine.Clickables.devMenuOpen.addEventListener("click", function() { + for(const i in AllServers) { + AllServers[i].hasAdminRights = true; + AllServers[i].sshPortOpen = true; + AllServers[i].ftpPortOpen = true; + AllServers[i].smtpPortOpen = true; + AllServers[i].httpPortOpen = true; + AllServers[i].sqlPortOpen = true; + AllServers[i].openPortCount = 5; + } + }); + + Engine.Clickables.devMenuMinSecurity = document.getElementById("dev-min-security"); + Engine.Clickables.devMenuMinSecurity.addEventListener("click", function() { + for(const i in AllServers) { + AllServers[i].hackDifficulty = AllServers[i].minDifficulty; + } + }); + + Engine.Clickables.devMenuMaxMoney = document.getElementById("dev-max-money"); + Engine.Clickables.devMenuMaxMoney.addEventListener("click", function() { + for(const i in AllServers) { + AllServers[i].moneyAvailable = AllServers[i].moneyMax; + } + }); + + Engine.Clickables.devMenuConnectDropdown = document.getElementById("dev-menu-connect-dropdown"); + const connectDD = Engine.Clickables.devMenuConnectDropdown; + for(const i in AllServers) { + connectDD.options[connectDD.options.length] = new Option(AllServers[i].hostname, AllServers[i].hostname); + } + + Engine.Clickables.devMenuConnect = document.getElementById("dev-connect"); + Engine.Clickables.devMenuConnect.addEventListener("click", function() { + const host = connectDD.options[connectDD.selectedIndex].value; + Terminal.connectToServer(host); + }); + + Engine.Clickables.devMenuProgramsDropdown = document.getElementById("dev-menu-add-program-dropdown"); + const programsDD = Engine.Clickables.devMenuProgramsDropdown; + for(const i in Programs) { + programsDD.options[programsDD.options.length] = new Option(Programs[i], Programs[i]); + } + + Engine.Clickables.devMenuAddProgram = document.getElementById("dev-add-program"); + Engine.Clickables.devMenuAddProgram.addEventListener("click", function() { + const program = programsDD.options[programsDD.selectedIndex].value;; + if(!Player.hasProgram(program)) { + Player.getHomeComputer().programs.push(program); + } + }); + + Engine.Clickables.devMenuHackingExp = document.getElementById("dev-hacking-exp"); + Engine.Clickables.devMenuAddHacking = document.getElementById("dev-add-hacking"); + Engine.Clickables.devMenuAddHacking.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuHackingExp.value); + Player.gainHackingExp(exp); + Player.updateSkillLevels(); + }); + + Engine.Clickables.devMenuStrengthExp = document.getElementById("dev-strength-exp"); + Engine.Clickables.devMenuAddStrength = document.getElementById("dev-add-strength"); + Engine.Clickables.devMenuAddStrength.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuStrengthExp.value); + Player.gainStrengthExp(exp); + Player.updateSkillLevels(); + }); + + Engine.Clickables.devMenuDefenseExp = document.getElementById("dev-defense-exp"); + Engine.Clickables.devMenuAddDefense = document.getElementById("dev-add-defense"); + Engine.Clickables.devMenuAddDefense.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuDefenseExp.value); + Player.gainDefenseExp(exp); + Player.updateSkillLevels(); + }); + + Engine.Clickables.devMenuDexterityExp = document.getElementById("dev-dexterity-exp"); + Engine.Clickables.devMenuAddDexterity = document.getElementById("dev-add-dexterity"); + Engine.Clickables.devMenuAddDexterity.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuDexterityExp.value); + Player.gainDexterityExp(exp); + Player.updateSkillLevels(); + }); + + Engine.Clickables.devMenuAgilityExp = document.getElementById("dev-agility-exp"); + Engine.Clickables.devMenuAddAgility = document.getElementById("dev-add-agility"); + Engine.Clickables.devMenuAddAgility.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuAgilityExp.value); + Player.gainAgilityExp(exp); + Player.updateSkillLevels(); + }); + + Engine.Clickables.devMenuCharismaExp = document.getElementById("dev-charisma-exp"); + Engine.Clickables.devMenuAddCharisma = document.getElementById("dev-add-charisma"); + Engine.Clickables.devMenuAddCharisma.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuCharismaExp.value); + Player.gainCharismaExp(exp); + Player.updateSkillLevels(); + }); + + Engine.Clickables.devMenuIntelligenceExp = document.getElementById("dev-intelligence-exp"); + Engine.Clickables.devMenuAddIntelligence = document.getElementById("dev-add-intelligence"); + Engine.Clickables.devMenuAddIntelligence.addEventListener("click", function() { + const exp = parseInt(Engine.Clickables.devMenuIntelligenceExp.value); + Player.gainIntelligenceExp(exp); + Player.updateSkillLevels(); + }); + + Engine.Clickables.devMenuEnableIntelligence = document.getElementById("dev-enable-intelligence"); + Engine.Clickables.devMenuEnableIntelligence.addEventListener("click", function() { + Player.intelligence = 1; + }); + + Engine.Clickables.devMenuDisableIntelligence = document.getElementById("dev-disable-intelligence"); + Engine.Clickables.devMenuDisableIntelligence.addEventListener("click", function() { + Player.intelligence = 0; + }); + + Engine.Clickables.devMenuSFN = document.getElementById("dev-sf-n"); + Engine.Clickables.devMenuSFLvl = document.getElementById("dev-sf-lvl"); + Engine.Clickables.devMenuAddSF = document.getElementById("dev-add-source-file"); + Engine.Clickables.devMenuAddSF.addEventListener("click", function() { + const sfN = parseInt(Engine.Clickables.devMenuSFN.value); + const sfLvl = parseInt(Engine.Clickables.devMenuSFLvl.value); + let sfIndex = -1; + for(const i in Player.sourceFiles) { + if(Player.sourceFiles[i].n === sfN) { + sfIndex = i; + break; + } + } + + if(sfIndex === -1) { // add fresh source file + Player.sourceFiles.push(new PlayerOwnedSourceFile(sfN, sfLvl)); + } else if(sfLvl === 0) { // remove a source file. + if(sfIndex === -1) { // doesn't have it anyway. + return; + } + Player.sourceFiles.splice(sfIndex, 1); + } else { // set source file level + Player.sourceFiles[sfIndex].lvl=sfLvl; + } + }); + //If DarkWeb already purchased, disable the button if (SpecialServerIps.hasOwnProperty("Darkweb Server")) { document.getElementById("location-purchase-tor").setAttribute("class", "a-link-button-inactive"); @@ -1549,16 +1825,16 @@ let Engine = { var options = document.getElementById("options-tab"); var optionsLink = document.getElementById("options-menu-link"); this.classList.toggle("opened"); + const elems = [tutorial, options]; + const links = [tutorialLink, optionsLink]; + if(process.env.NODE_ENV === "development") { + elems.push(document.getElementById("dev-tab")); + links.push(document.getElementById("dev-menu-link")); + } if (tutorial.style.maxHeight) { - Engine.toggleMainMenuHeader(false, - [tutorial, options], - [tutorialLink, optionsLink] - ); + Engine.toggleMainMenuHeader(false, elems, links); } else { - Engine.toggleMainMenuHeader(true, - [tutorial, options], - [tutorialLink, optionsLink] - ); + Engine.toggleMainMenuHeader(true, elems, links); } } @@ -1636,6 +1912,12 @@ let Engine = { return false; }); + Engine.Clickables.devMainMenuButton = clearEventListeners("dev-menu-link"); + Engine.Clickables.devMainMenuButton.addEventListener("click", function() { + Engine.loadDevMenuContent(); + return false; + }); + //Active scripts list Engine.ActiveScriptsList = document.getElementById("active-scripts-list"); diff --git a/webpack.config.js b/webpack.config.js index c6475d32b..5bb4bde5d 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,18 +1,21 @@ var path = require('path'); var webpack = require('webpack'); -module.exports = { - mode: "development", +module.exports = (env, argv) => ({ + //mode: "development", plugins: [ - // http://stackoverflow.com/questions/29080148/expose-jquery-to-real-window-object-with-webpack - new webpack.ProvidePlugin({ - // Automtically detect jQuery and $ as free var in modules - // and inject the jquery library - // This is required by many jquery plugins - jquery: "jquery", - jQuery: "jquery", - $: "jquery" - }), + new webpack.DefinePlugin({ + 'process.env.NODE_ENV': argv.mode === 'development' ? JSON.stringify('development') : JSON.stringify('production') + }), + // http://stackoverflow.com/questions/29080148/expose-jquery-to-real-window-object-with-webpack + new webpack.ProvidePlugin({ + // Automtically detect jQuery and $ as free var in modules + // and inject the jquery library + // This is required by many jquery plugins + jquery: "jquery", + jQuery: "jquery", + $: "jquery" + }) ], target: "web", entry: { @@ -25,12 +28,7 @@ module.exports = { filename: "[name].bundle.js" }, module: { - rules: [ -/* { - test: /\.css$/, - use: "style!css" - }*/ - ] + rules: [] }, optimization: { removeAvailableModules: true, @@ -50,4 +48,4 @@ module.exports = { devServer: { publicPath: "/dist", } -}; +});