From 7db169f8284ceb9aa39e04c7b54b31b02fa88c94 Mon Sep 17 00:00:00 2001 From: danielyxie Date: Fri, 18 Jan 2019 09:57:21 -0800 Subject: [PATCH] Refactored Main Menu UI implementation. Fixed several bugs related to recent JS -> TypeScript refactors --- dist/engine.bundle.js | 25946 +++++++++++++++++---------------- dist/vendor.bundle.js | 1337 +- index.html | 5 +- src/Crime/CrimeHelpers.js | 4 + src/Location.js | 18 +- src/NetscriptFunctions.js | 7 +- src/PersonObjects/IPlayer.ts | 11 + src/Player.js | 19 +- src/Prestige.js | 5 + src/RedPill.js | 3 +- src/SaveObject.js | 4 +- src/engine.js | 360 +- src/index.html | 5 +- src/ui/MainMenu/Headers.ts | 152 + src/ui/MainMenu/Links.ts | 82 + utils/JSONReviver.js | 1 + 16 files changed, 14842 insertions(+), 13117 deletions(-) create mode 100644 src/ui/MainMenu/Headers.ts create mode 100644 src/ui/MainMenu/Links.ts diff --git a/dist/engine.bundle.js b/dist/engine.bundle.js index 7e02ab831..e05ca9c72 100644 --- a/dist/engine.bundle.js +++ b/dist/engine.bundle.js @@ -147,7 +147,7 @@ /******/ /******/ /******/ // add entry module to deferred list -/******/ deferredModules.push([9,0]); +/******/ deferredModules.push([11,0]); /******/ // run deferred modules when ready /******/ return checkDeferredModules(); /******/ }) @@ -164,54 +164,67 @@ "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Player; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return loadPlayer; }); -/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentations */ 21); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./CodingContracts */ 42); -/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_CodingContracts__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _Company_Company__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Company/Company */ 76); -/* harmony import */ var _Company_Company__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Company_Company__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Company/Companies */ 17); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Company/GetNextCompanyPosition */ 102); -/* harmony import */ var _Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Company/GetJobRequirementText */ 94); -/* harmony import */ var _Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Company/CompanyPositions */ 29); -/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Company/data/CompanyPositionNames */ 37); -/* harmony import */ var _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Constants */ 1); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Corporation/Corporation */ 58); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Programs/Programs */ 24); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _Crimes__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Crimes */ 38); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Faction/Faction */ 57); -/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_Faction_Faction__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Faction/Factions */ 14); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 46); -/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Gang */ 50); -/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Locations */ 5); -/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./NetscriptFunctions */ 43); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Settings */ 18); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./SpecialServerIps */ 33); -/* harmony import */ var _SourceFile__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./SourceFile */ 70); -/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! decimal.js */ 35); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 16); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_27__); -/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../utils/IPAddress */ 62); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentation/Augmentations */ 13); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentation/AugmentationHelpers */ 61); +/* harmony import */ var _Augmentation_PlayerOwnedAugmentation__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Augmentation/PlayerOwnedAugmentation */ 98); +/* harmony import */ var _Augmentation_PlayerOwnedAugmentation__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_PlayerOwnedAugmentation__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Augmentation/data/AugmentationNames */ 6); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Bladeburner */ 34); +/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CodingContracts */ 46); +/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_CodingContracts__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _Company_Company__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Company/Company */ 72); +/* harmony import */ var _Company_Company__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Company_Company__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Company/Companies */ 19); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Company/GetNextCompanyPosition */ 109); +/* harmony import */ var _Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Company/GetJobRequirementText */ 100); +/* harmony import */ var _Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Company/CompanyPositions */ 33); +/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Company/data/CompanyPositionNames */ 41); +/* harmony import */ var _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Constants */ 1); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Corporation/Corporation */ 62); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Programs/Programs */ 26); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var _Crime_CrimeHelpers__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Crime/CrimeHelpers */ 101); +/* harmony import */ var _Crime_Crimes__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Crime/Crimes */ 37); +/* harmony import */ var _Crime_Crimes__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_Crime_Crimes__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Faction/Faction */ 58); +/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_Faction_Faction__WEBPACK_IMPORTED_MODULE_19__); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Faction/Factions */ 16); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 49); +/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Gang */ 53); +/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Locations */ 5); +/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_23__); +/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./NetscriptFunctions */ 47); +/* harmony import */ var _PersonObjects_Sleeve_Sleeve__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./PersonObjects/Sleeve/Sleeve */ 144); +/* harmony import */ var _PersonObjects_Sleeve_Sleeve__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_PersonObjects_Sleeve_Sleeve__WEBPACK_IMPORTED_MODULE_25__); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Settings */ 20); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_27__); +/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./SpecialServerIps */ 36); +/* harmony import */ var _SourceFile__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./SourceFile */ 80); +/* harmony import */ var _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./SourceFile/SourceFileFlags */ 83); +/* harmony import */ var _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_30__); +/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! decimal.js */ 39); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 22); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_34___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_34__); +/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ../utils/IPAddress */ 66); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ../utils/JSONReviver */ 15); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__); @@ -244,7 +257,14 @@ -const CYCLES_PER_SEC = 1000 / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MilliPerCycle; + + + + + + + +const CYCLES_PER_SEC = 1000 / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MilliPerCycle; function PlayerObject() { //Skills and stats @@ -297,20 +317,24 @@ function PlayerObject() { this.faction_rep_mult = 1; //Money - this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](1000); - this.total_money = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](0); //Total money ever earned in this "simulation" - this.lifetime_money = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](0); //Total money ever earned + this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](1000); + this.total_money = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](0); //Total money ever earned in this "simulation" + this.lifetime_money = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](0); //Total money ever earned //IP Address of Starting (home) computer this.homeComputer = ""; //Location information - this.city = _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12; + this.city = _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12; this.location = ""; - //Company Information + // Jobs that the player holds + // Map of company name (key) -> name of company position (value. Just the name, not the CompanyPosition object) + // The CompanyPosition name must match a key value in CompanyPositions + this.jobs = {}; + + // Company at which player is CURRENTLY working (only valid when the player is actively working) this.companyName = ""; // Name of Company. Must match a key value in Companies map - this.companyPosition = ""; // Name of Company Position. Must match a key value in CompanyPositions map //Servers this.currentServer = ""; //IP address of Server currently being accessed through terminal @@ -400,6 +424,10 @@ function PlayerObject() { this.bladeburner_analysis_mult = 1; //Field Analysis Only this.bladeburner_success_chance_mult = 1; + // Sleeves & Re-sleeving + this.sleeves = []; + this.resleeves = []; + //bitnode this.bitNodeN = 1; @@ -424,15 +452,15 @@ function PlayerObject() { PlayerObject.prototype.init = function() { /* Initialize Player's home computer */ - var t_homeComp = new _Server__WEBPACK_IMPORTED_MODULE_20__[/* Server */ "d"]({ - ip:Object(_utils_IPAddress__WEBPACK_IMPORTED_MODULE_28__[/* createRandomIp */ "a"])(), hostname:"home", organizationName:"Home PC", + var t_homeComp = new _Server__WEBPACK_IMPORTED_MODULE_26__[/* Server */ "d"]({ + ip:Object(_utils_IPAddress__WEBPACK_IMPORTED_MODULE_35__[/* createRandomIp */ "a"])(), hostname:"home", organizationName:"Home PC", isConnectedTo:true, adminRights:true, purchasedByPlayer:true, maxRam:8 }); this.homeComputer = t_homeComp.ip; this.currentServer = t_homeComp.ip; - Object(_Server__WEBPACK_IMPORTED_MODULE_20__[/* AddToAllServers */ "a"])(t_homeComp); + Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* AddToAllServers */ "a"])(t_homeComp); - this.getHomeComputer().programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_11__["Programs"].NukeProgram.name); + this.getHomeComputer().programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_15__["Programs"].NukeProgram.name); } PlayerObject.prototype.prestigeAugmentation = function() { @@ -460,13 +488,13 @@ PlayerObject.prototype.prestigeAugmentation = function() { this.agility_exp = 0; this.charisma_exp = 0; - this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](1000); + this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](1000); - this.city = _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12; + this.city = _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12; this.location = ""; this.companyName = ""; - this.companyPosition = ""; + this.jobs = {}; this.purchasedServers = []; @@ -475,6 +503,8 @@ PlayerObject.prototype.prestigeAugmentation = function() { this.queuedAugmentations = []; + this.resleeves = []; + this.isWorking = false; this.currentWorkFactionName = ""; this.currentWorkFactionDescription = ""; @@ -540,13 +570,13 @@ PlayerObject.prototype.prestigeSourceFile = function() { this.agility_exp = 0; this.charisma_exp = 0; - this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](1000); + this.money = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](1000); - this.city = _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12; + this.city = _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12; this.location = ""; this.companyName = ""; - this.companyPosition = ""; + this.jobs = {}; this.purchasedServers = []; @@ -556,6 +586,16 @@ PlayerObject.prototype.prestigeSourceFile = function() { this.queuedAugmentations = []; this.augmentations = []; + this.resleeves = []; + + // Duplicate sleeves are reset to level 1 every Bit Node (but the number of sleeves you have persists) + if (this.sleeves.length < _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_30__["SourceFileFlags"][10]) { + this.sleeves.length = _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_30__["SourceFileFlags"][10]; + } + for (let i = 0; i < this.sleeves.length; ++i) { + this.sleeves[i] = new _PersonObjects_Sleeve_Sleeve__WEBPACK_IMPORTED_MODULE_25__["Sleeve"](); + } + this.isWorking = false; this.currentWorkFactionName = ""; this.currentWorkFactionDescription = ""; @@ -590,7 +630,7 @@ PlayerObject.prototype.prestigeSourceFile = function() { //Gang this.gang = null; - Object(_Gang__WEBPACK_IMPORTED_MODULE_17__[/* resetGangs */ "d"])(); + Object(_Gang__WEBPACK_IMPORTED_MODULE_22__[/* resetGangs */ "d"])(); //Reset Stock market this.hasWseAccount = false; @@ -610,11 +650,11 @@ PlayerObject.prototype.prestigeSourceFile = function() { } PlayerObject.prototype.getCurrentServer = function() { - return _Server__WEBPACK_IMPORTED_MODULE_20__[/* AllServers */ "b"][this.currentServer]; + return _Server__WEBPACK_IMPORTED_MODULE_26__[/* AllServers */ "b"][this.currentServer]; } PlayerObject.prototype.getHomeComputer = function() { - return _Server__WEBPACK_IMPORTED_MODULE_20__[/* AllServers */ "b"][this.homeComputer]; + return _Server__WEBPACK_IMPORTED_MODULE_26__[/* AllServers */ "b"][this.homeComputer]; } PlayerObject.prototype.getUpgradeHomeRamCost = function() { @@ -625,7 +665,7 @@ PlayerObject.prototype.getUpgradeHomeRamCost = function() { //Calculate cost //Have cost increase by some percentage each time RAM has been upgraded const mult = Math.pow(1.58, numUpgrades); - var cost = currentRam * _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].BaseCostFor1GBOfRamHome * mult; + var cost = currentRam * _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].BaseCostFor1GBOfRamHome * mult; return cost; } @@ -643,12 +683,12 @@ PlayerObject.prototype.calculateSkill = function(exp, mult=1) { } PlayerObject.prototype.updateSkillLevels = function() { - this.hacking_skill = Math.max(1, Math.floor(this.calculateSkill(this.hacking_exp, this.hacking_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].HackingLevelMultiplier))); - this.strength = this.calculateSkill(this.strength_exp, this.strength_mult); - this.defense = this.calculateSkill(this.defense_exp, this.defense_mult); - this.dexterity = this.calculateSkill(this.dexterity_exp, this.dexterity_mult); - this.agility = this.calculateSkill(this.agility_exp, this.agility_mult); - this.charisma = this.calculateSkill(this.charisma_exp, this.charisma_mult); + this.hacking_skill = Math.max(1, Math.floor(this.calculateSkill(this.hacking_exp, this.hacking_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].HackingLevelMultiplier))); + this.strength = Math.max(1, Math.floor(this.calculateSkill(this.strength_exp, this.strength_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].StrengthLevelMultiplier))); + this.defense = Math.max(1, Math.floor(this.calculateSkill(this.defense_exp, this.defense_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].DefenseLevelMultiplier))); + this.dexterity = Math.max(1, Math.floor(this.calculateSkill(this.dexterity_exp, this.dexterity_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].DexterityLevelMultiplier))); + this.agility = Math.max(1, Math.floor(this.calculateSkill(this.agility_exp, this.agility_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].AgilityLevelMultiplier))); + this.charisma = Math.max(1, Math.floor(this.calculateSkill(this.charisma_exp, this.charisma_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CharismaLevelMultiplier))); if (this.intelligence > 0) { this.intelligence = Math.floor(this.calculateSkill(this.intelligence_exp)); @@ -798,7 +838,7 @@ PlayerObject.prototype.gainIntelligenceExp = function(exp) { if (isNaN(exp)) { console.log("ERROR: NaN passed into Player.gainIntelligenceExp()"); return; } - if (_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_19__[/* hasAISF */ "b"] || this.intelligence > 0) { + if (_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_24__[/* hasAISF */ "b"] || this.intelligence > 0) { this.intelligence_exp += exp; } } @@ -875,10 +915,11 @@ PlayerObject.prototype.processWorkEarnings = function(numCycles=1) { } /* Working for Company */ -PlayerObject.prototype.startWork = function() { +PlayerObject.prototype.startWork = function(companyName) { this.resetWorkStatus(); this.isWorking = true; - this.workType = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeCompany; + this.companyName = companyName; + this.workType = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompany; this.workHackExpGainRate = this.getWorkHackExpGain(); this.workStrExpGainRate = this.getWorkStrExpGain(); @@ -889,10 +930,10 @@ PlayerObject.prototype.startWork = function() { this.workRepGainRate = this.getWorkRepGain(); this.workMoneyGainRate = this.getWorkMoneyGain(); - this.timeNeededToCompleteWork = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer8Hours; + this.timeNeededToCompleteWork = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer8Hours; //Remove all old event listeners from Cancel button - var newCancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_27__["clearEventListeners"])("work-in-progress-cancel-button"); + var newCancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_34__["clearEventListeners"])("work-in-progress-cancel-button"); newCancelButton.innerHTML = "Cancel Work"; newCancelButton.addEventListener("click", function() { Player.finishWork(true); @@ -900,48 +941,50 @@ PlayerObject.prototype.startWork = function() { }); //Display Work In Progress Screen - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadWorkInProgressContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadWorkInProgressContent(); } PlayerObject.prototype.work = function(numCycles) { //Cap the number of cycles being processed to whatever would put you at //the work time limit (8 hours) var overMax = false; - if (this.timeWorked + (_engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles) >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer8Hours) { + if (this.timeWorked + (_engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles) >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer8Hours) { overMax = true; - numCycles = Math.round((_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer8Hours - this.timeWorked) / _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed); + numCycles = Math.round((_Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer8Hours - this.timeWorked) / _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed); } - this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles; + this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles; this.workRepGainRate = this.getWorkRepGain(); this.processWorkEarnings(numCycles); //If timeWorked == 8 hours, then finish. You can only gain 8 hours worth of exp and money - if (overMax || this.timeWorked >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer8Hours) { + if (overMax || this.timeWorked >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer8Hours) { return this.finishWork(false); } - var comp = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName], companyRep = "0"; - if (comp == null || !(comp instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_3__["Company"])) { + var comp = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName], companyRep = "0"; + if (comp == null || !(comp instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_7__["Company"])) { console.error(`Could not find Company: ${this.companyName}`); } else { companyRep = comp.playerReputation; } + const position = this.jobs[this.companyName]; + var txt = document.getElementById("work-in-progress-text"); - txt.innerHTML = "You are currently working as a " + this.companyPosition + + txt.innerHTML = "You are currently working as a " + position + " at " + this.companyName + " (Current Company Reputation: " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(companyRep, '0,0') + ")

" + - "You have been working for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(companyRep, '0,0') + ")

" + + "You have been working for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + "You have earned:

" + - "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + " ($" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGainRate * CYCLES_PER_SEC, '0,0.00') + " / sec)

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) reputation for this company

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) hacking exp

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) strength exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) defense exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) dexterity exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) agility exp

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) charisma exp

" + + "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + " ($" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGainRate * CYCLES_PER_SEC, '0,0.00') + " / sec)

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) reputation for this company

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) hacking exp

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) strength exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) defense exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) dexterity exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) agility exp

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) charisma exp

" + "You will automatically finish after working for 8 hours. You can cancel earlier if you wish, " + "but you will only gain half of the reputation you've earned so far." } @@ -952,54 +995,55 @@ PlayerObject.prototype.finishWork = function(cancelled, sing=false) { this.workRepGained /= 2; } - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; company.playerReputation += (this.workRepGained); this.updateSkillLevels(); var txt = "You earned a total of:
" + - "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + "
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation for the company
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp
"; + "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + "
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation for the company
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp
"; if (cancelled) { - txt = "You worked a short shift of " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + + txt = "You worked a short shift of " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + "Since you cancelled your work early, you only gained half of the reputation you earned.

" + txt; } else { txt = "You worked a full shift of 8 hours!

" + txt; } - if (!sing) {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])(txt);} + if (!sing) {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])(txt);} var mainMenu = document.getElementById("mainmenu-container"); mainMenu.style.visibility = "visible"; this.isWorking = false; - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadLocationContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadLocationContent(); if (sing) { - var res = "You worked a short shift of " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + " and " + - "earned $" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + ", " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp, and " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp."; + var res = "You worked a short shift of " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + " and " + + "earned $" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + ", " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp, and " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp."; this.resetWorkStatus(); return res; } this.resetWorkStatus(); } -PlayerObject.prototype.startWorkPartTime = function() { +PlayerObject.prototype.startWorkPartTime = function(companyName) { this.resetWorkStatus(); this.isWorking = true; - this.workType = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeCompanyPartTime; + this.companyName = companyName; + this.workType = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompanyPartTime; this.workHackExpGainRate = this.getWorkHackExpGain(); this.workStrExpGainRate = this.getWorkStrExpGain(); @@ -1010,9 +1054,9 @@ PlayerObject.prototype.startWorkPartTime = function() { this.workRepGainRate = this.getWorkRepGain(); this.workMoneyGainRate = this.getWorkMoneyGain(); - this.timeNeededToCompleteWork = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer8Hours; + this.timeNeededToCompleteWork = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer8Hours; - var newCancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_27__["clearEventListeners"])("work-in-progress-cancel-button"); + var newCancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_34__["clearEventListeners"])("work-in-progress-cancel-button"); newCancelButton.innerHTML = "Stop Working"; newCancelButton.addEventListener("click", function() { Player.finishWorkPartTime(); @@ -1020,86 +1064,88 @@ PlayerObject.prototype.startWorkPartTime = function() { }); //Display Work In Progress Screen - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadWorkInProgressContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadWorkInProgressContent(); } PlayerObject.prototype.workPartTime = function(numCycles) { //Cap the number of cycles being processed to whatever would put you at the //work time limit (8 hours) var overMax = false; - if (this.timeWorked + (_engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles) >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer8Hours) { + if (this.timeWorked + (_engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles) >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer8Hours) { overMax = true; - numCycles = Math.round((_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer8Hours - this.timeWorked) / _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed); + numCycles = Math.round((_Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer8Hours - this.timeWorked) / _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed); } - this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles; + this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles; this.workRepGainRate = this.getWorkRepGain(); this.processWorkEarnings(numCycles); //If timeWorked == 8 hours, then finish. You can only gain 8 hours worth of exp and money - if (overMax || this.timeWorked >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer8Hours) { + if (overMax || this.timeWorked >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer8Hours) { return this.finishWorkPartTime(); } - var comp = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName], companyRep = "0"; - if (comp == null || !(comp instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_3__["Company"])) { + var comp = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName], companyRep = "0"; + if (comp == null || !(comp instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_7__["Company"])) { console.log("ERROR: Could not find Company: " + this.companyName); } else { companyRep = comp.playerReputation; } + const position = this.jobs[this.companyName]; + var txt = document.getElementById("work-in-progress-text"); - txt.innerHTML = "You are currently working as a " + this.companyPosition + - " at " + Player.companyName + " (Current Company Reputation: " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(companyRep, '0,0') + ")

" + - "You have been working for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + + txt.innerHTML = "You are currently working as a " + position + + " at " + this.companyName + " (Current Company Reputation: " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(companyRep, '0,0') + ")

" + + "You have been working for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + "You have earned:

" + - "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + " ($" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGainRate * CYCLES_PER_SEC, '0,0.00') + " / sec)

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) reputation for this company

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) hacking exp

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) strength exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) defense exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) dexterity exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) agility exp

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) charisma exp

" + + "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + " ($" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGainRate * CYCLES_PER_SEC, '0,0.00') + " / sec)

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) reputation for this company

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) hacking exp

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) strength exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) defense exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) dexterity exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) agility exp

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) charisma exp

" + "You will automatically finish after working for 8 hours. You can cancel earlier if you wish,
" + "and there will be no penalty because this is a part-time job."; } PlayerObject.prototype.finishWorkPartTime = function(sing=false) { - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; company.playerReputation += (this.workRepGained); this.updateSkillLevels(); var txt = "You earned a total of:
" + - "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + "
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation for the company
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp
"; - txt = "You worked for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + txt; - if (!sing) {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])(txt);} + "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + "
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation for the company
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp
"; + txt = "You worked for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + txt; + if (!sing) {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])(txt);} var mainMenu = document.getElementById("mainmenu-container"); mainMenu.style.visibility = "visible"; this.isWorking = false; - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadLocationContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadLocationContent(); if (sing) { - var res = "You worked for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + " and " + + var res = "You worked for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + " and " + "earned a total of " + - "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + ", " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp, and " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp"; + "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + ", " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp, and " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp"; this.resetWorkStatus(); return res; } @@ -1112,15 +1158,15 @@ PlayerObject.prototype.startFactionWork = function(faction) { var favorMult = 1 + (faction.favor / 100); if (isNaN(favorMult)) {favorMult = 1;} this.workRepGainRate *= favorMult; - this.workRepGainRate *= _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkRepGain; + this.workRepGainRate *= _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkRepGain; this.isWorking = true; - this.workType = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeFaction; + this.workType = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeFaction; this.currentWorkFactionName = faction.name; - this.timeNeededToCompleteWork = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer20Hours; + this.timeNeededToCompleteWork = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer20Hours; - var cancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_27__["clearEventListeners"])("work-in-progress-cancel-button"); + var cancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_34__["clearEventListeners"])("work-in-progress-cancel-button"); cancelButton.innerHTML = "Stop Faction Work"; cancelButton.addEventListener("click", function() { Player.finishFactionWork(true); @@ -1128,16 +1174,16 @@ PlayerObject.prototype.startFactionWork = function(faction) { }); //Display Work In Progress Screen - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadWorkInProgressContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadWorkInProgressContent(); } PlayerObject.prototype.startFactionHackWork = function(faction) { this.resetWorkStatus(); - this.workHackExpGainRate = .15 * this.hacking_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workRepGainRate = this.workRepGainRate = (this.hacking_skill + this.intelligence) / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel * this.faction_rep_mult; + this.workHackExpGainRate = .15 * this.hacking_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workRepGainRate = this.workRepGainRate = (this.hacking_skill + this.intelligence) / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel * this.faction_rep_mult; - this.factionWorkType = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].FactionWorkHacking; + this.factionWorkType = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].FactionWorkHacking; this.currentWorkFactionDescription = "carrying out hacking contracts"; this.startFactionWork(faction); @@ -1146,15 +1192,15 @@ PlayerObject.prototype.startFactionHackWork = function(faction) { PlayerObject.prototype.startFactionFieldWork = function(faction) { this.resetWorkStatus(); - this.workHackExpGainRate = .1 * this.hacking_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workStrExpGainRate = .1 * this.strength_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workDefExpGainRate = .1 * this.defense_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workDexExpGainRate = .1 * this.dexterity_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workAgiExpGainRate = .1 * this.agility_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workChaExpGainRate = .1 * this.charisma_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; + this.workHackExpGainRate = .1 * this.hacking_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workStrExpGainRate = .1 * this.strength_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workDefExpGainRate = .1 * this.defense_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workDexExpGainRate = .1 * this.dexterity_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workAgiExpGainRate = .1 * this.agility_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workChaExpGainRate = .1 * this.charisma_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; this.workRepGainRate = this.getFactionFieldWorkRepGain(); - this.factionWorkType = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].FactionWorkField; + this.factionWorkType = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].FactionWorkField; this.currentWorkFactionDescription = "carrying out field missions" this.startFactionWork(faction); @@ -1163,32 +1209,32 @@ PlayerObject.prototype.startFactionFieldWork = function(faction) { PlayerObject.prototype.startFactionSecurityWork = function(faction) { this.resetWorkStatus(); - this.workHackExpGainRate = 0.05 * this.hacking_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workStrExpGainRate = 0.15 * this.strength_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workDefExpGainRate = 0.15 * this.defense_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workDexExpGainRate = 0.15 * this.dexterity_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workAgiExpGainRate = 0.15 * this.agility_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; - this.workChaExpGainRate = 0.00 * this.charisma_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkExpGain; + this.workHackExpGainRate = 0.05 * this.hacking_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workStrExpGainRate = 0.15 * this.strength_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workDefExpGainRate = 0.15 * this.defense_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workDexExpGainRate = 0.15 * this.dexterity_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workAgiExpGainRate = 0.15 * this.agility_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; + this.workChaExpGainRate = 0.00 * this.charisma_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkExpGain; this.workRepGainRate = this.getFactionSecurityWorkRepGain(); - this.factionWorkType = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].FactionWorkSecurity; + this.factionWorkType = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].FactionWorkSecurity; this.currentWorkFactionDescription = "performing security detail" this.startFactionWork(faction); } PlayerObject.prototype.workForFaction = function(numCycles) { - var faction = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"][this.currentWorkFactionName]; + var faction = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"][this.currentWorkFactionName]; //Constantly update the rep gain rate switch (this.factionWorkType) { - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].FactionWorkHacking: - this.workRepGainRate = (this.hacking_skill + this.intelligence) / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel * this.faction_rep_mult; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].FactionWorkHacking: + this.workRepGainRate = (this.hacking_skill + this.intelligence) / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel * this.faction_rep_mult; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].FactionWorkField: + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].FactionWorkField: this.workRepGainRate = this.getFactionFieldWorkRepGain(); break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].FactionWorkSecurity: + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].FactionWorkSecurity: this.workRepGainRate = this.getFactionSecurityWorkRepGain(); break; default: @@ -1199,76 +1245,76 @@ PlayerObject.prototype.workForFaction = function(numCycles) { var favorMult = 1 + (faction.favor / 100); if (isNaN(favorMult)) {favorMult = 1;} this.workRepGainRate *= favorMult; - this.workRepGainRate *= _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionWorkRepGain; + this.workRepGainRate *= _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].FactionWorkRepGain; //Cap the number of cycles being processed to whatever would put you at limit (20 hours) var overMax = false; - if (this.timeWorked + (_engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles) >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer20Hours) { + if (this.timeWorked + (_engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles) >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer20Hours) { overMax = true; - numCycles = Math.round((_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer20Hours - this.timeWorked) / _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed); + numCycles = Math.round((_Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer20Hours - this.timeWorked) / _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed); } - this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles; + this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles; this.processWorkEarnings(numCycles); //If timeWorked == 20 hours, then finish. You can only work for the faction for 20 hours - if (overMax || this.timeWorked >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MillisecondsPer20Hours) { + if (overMax || this.timeWorked >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MillisecondsPer20Hours) { return this.finishFactionWork(false); } var txt = document.getElementById("work-in-progress-text"); txt.innerHTML = "You are currently " + this.currentWorkFactionDescription + " for your faction " + faction.name + - " (Current Faction Reputation: " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(faction.playerReputation, '0,0') + ").
" + - "You have been doing this for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + + " (Current Faction Reputation: " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(faction.playerReputation, '0,0') + ").
" + + "You have been doing this for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + "You have earned:

" + - "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGainRate * CYCLES_PER_SEC, '0,0.00') + " / sec)

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) reputation for this faction

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) hacking exp

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) strength exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) defense exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) dexterity exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) agility exp

" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) charisma exp

" + + "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGainRate * CYCLES_PER_SEC, '0,0.00') + " / sec)

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) reputation for this faction

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) hacking exp

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) strength exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) defense exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) dexterity exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) agility exp

" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) charisma exp

" + "You will automatically finish after working for 20 hours. You can cancel earlier if you wish.
" + "There is no penalty for cancelling earlier."; } PlayerObject.prototype.finishFactionWork = function(cancelled, sing=false) { - var faction = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"][this.currentWorkFactionName]; + var faction = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"][this.currentWorkFactionName]; faction.playerReputation += (this.workRepGained); this.updateSkillLevels(); - var txt = "You worked for your faction " + faction.name + " for a total of " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + + var txt = "You worked for your faction " + faction.name + " for a total of " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + "You earned a total of:
" + - "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + "
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation for the faction
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp
"; - if (!sing) {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])(txt);} + "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + "
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " reputation for the faction
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp
"; + if (!sing) {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])(txt);} var mainMenu = document.getElementById("mainmenu-container"); mainMenu.style.visibility = "visible"; this.isWorking = false; - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadFactionContent(); - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_16__[/* displayFactionContent */ "a"])(faction.name); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadFactionContent(); + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_21__[/* displayFactionContent */ "a"])(faction.name); if (sing) { - var res="You worked for your faction " + faction.name + " for a total of " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + ". " + + var res="You worked for your faction " + faction.name + " for a total of " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + ". " + "You earned " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " rep, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " str exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " def exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dex exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agi exp, and " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " cha exp."; + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workRepGained, '0,0.0000') + " rep, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " str exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " def exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dex exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agi exp, and " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " cha exp."; this.resetWorkStatus(); return res; } @@ -1279,110 +1325,118 @@ PlayerObject.prototype.finishFactionWork = function(cancelled, sing=false) { PlayerObject.prototype.getWorkMoneyGain = function() { // If player has SF-11, calculate salary multiplier from favor let bn11Mult = 1; - const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; - if (_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_19__[/* hasBn11SF */ "d"]) { bn11Mult = 1 + (company.favor / 100); } + const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; + if (_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_24__[/* hasBn11SF */ "d"]) { bn11Mult = 1 + (company.favor / 100); } // Get base salary - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + const companyPositionName = this.jobs[this.companyName]; + const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][companyPositionName]; if (companyPosition == null) { - console.error(`Could not find CompanyPosition object for ${this.companyPosition}. Work salary will be 0`); + console.error(`Could not find CompanyPosition object for ${companyPositionName}. Work salary will be 0`); return 0; } - return companyPosition.baseSalary * company.salaryMultiplier * this.work_money_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CompanyWorkMoney * bn11Mult; + return companyPosition.baseSalary * company.salaryMultiplier * this.work_money_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CompanyWorkMoney * bn11Mult; } //Hack exp gained per game cycle PlayerObject.prototype.getWorkHackExpGain = function() { - const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; + const companyPositionName = this.jobs[this.companyName]; + const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][companyPositionName]; if (company == null || companyPosition == null) { console.error([`Could not find Company object for ${this.companyName}`, - `or CompanyPosition object for ${this.companyPosition}.`, + `or CompanyPosition object for ${companyPositionName}.`, `Work hack exp gain will be 0`].join(" ")); return 0; } - return companyPosition.hackingExpGain * company.expMultiplier * this.hacking_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CompanyWorkExpGain; + return companyPosition.hackingExpGain * company.expMultiplier * this.hacking_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CompanyWorkExpGain; } //Str exp gained per game cycle PlayerObject.prototype.getWorkStrExpGain = function() { - const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; + const companyPositionName = this.jobs[this.companyName]; + const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][companyPositionName]; if (company == null || companyPosition == null) { console.error([`Could not find Company object for ${this.companyName}`, - `or CompanyPosition object for ${this.companyPosition}.`, + `or CompanyPosition object for ${companyPositionName}.`, `Work str exp gain will be 0`].join(" ")); return 0; } - return companyPosition.strengthExpGain * company.expMultiplier * this.strength_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CompanyWorkExpGain; + return companyPosition.strengthExpGain * company.expMultiplier * this.strength_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CompanyWorkExpGain; } //Def exp gained per game cycle PlayerObject.prototype.getWorkDefExpGain = function() { - const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; + const companyPositionName = this.jobs[this.companyName]; + const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][companyPositionName]; if (company == null || companyPosition == null) { console.error([`Could not find Company object for ${this.companyName}`, - `or CompanyPosition object for ${this.companyPosition}.`, + `or CompanyPosition object for ${companyPositionName}.`, `Work def exp gain will be 0`].join(" ")); return 0; } - return companyPosition.defenseExpGain * company.expMultiplier * this.defense_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CompanyWorkExpGain; + return companyPosition.defenseExpGain * company.expMultiplier * this.defense_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CompanyWorkExpGain; } //Dex exp gained per game cycle PlayerObject.prototype.getWorkDexExpGain = function() { - const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; + const companyPositionName = this.jobs[this.companyName]; + const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][companyPositionName]; if (company == null || companyPosition == null) { console.error([`Could not find Company object for ${this.companyName}`, - `or CompanyPosition object for ${this.companyPosition}.`, + `or CompanyPosition object for ${companyPositionName}.`, `Work dex exp gain will be 0`].join(" ")); return 0; } - return companyPosition.dexterityExpGain * company.expMultiplier * this.dexterity_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CompanyWorkExpGain; + return companyPosition.dexterityExpGain * company.expMultiplier * this.dexterity_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CompanyWorkExpGain; } //Agi exp gained per game cycle PlayerObject.prototype.getWorkAgiExpGain = function() { - const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; + const companyPositionName = this.jobs[this.companyName]; + const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][companyPositionName]; if (company == null || companyPosition == null) { console.error([`Could not find Company object for ${this.companyName}`, - `or CompanyPosition object for ${this.companyPosition}.`, + `or CompanyPosition object for ${companyPositionName}.`, `Work agi exp gain will be 0`].join(" ")); return 0; } - return companyPosition.agilityExpGain * company.expMultiplier * this.agility_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CompanyWorkExpGain; + return companyPosition.agilityExpGain * company.expMultiplier * this.agility_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CompanyWorkExpGain; } //Charisma exp gained per game cycle PlayerObject.prototype.getWorkChaExpGain = function() { - const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; + const companyPositionName = this.jobs[this.companyName]; + const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][companyPositionName]; if (company == null || companyPosition == null) { console.error([`Could not find Company object for ${this.companyName}`, - `or CompanyPosition object for ${this.companyPosition}.`, + `or CompanyPosition object for ${companyPositionName}.`, `Work cha exp gain will be 0`].join(" ")); return 0; } - return companyPosition.charismaExpGain * company.expMultiplier * this.charisma_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CompanyWorkExpGain; + return companyPosition.charismaExpGain * company.expMultiplier * this.charisma_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CompanyWorkExpGain; } //Reputation gained per game cycle PlayerObject.prototype.getWorkRepGain = function() { - const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; + const companyPositionName = this.jobs[this.companyName]; + const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][companyPositionName]; if (company == null || companyPosition == null) { console.error([`Could not find Company object for ${this.companyName}`, - `or CompanyPosition object for ${this.companyPosition}.`, + `or CompanyPosition object for ${companyPositionName}.`, `Work rep gain will be 0`].join(" ")); return 0; } @@ -1392,7 +1446,7 @@ PlayerObject.prototype.getWorkRepGain = function() { this.agility, this.charisma); //Intelligence provides a flat bonus to job performance - jobPerformance += (this.intelligence / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel); + jobPerformance += (this.intelligence / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel); //Update reputation gain rate to account for company favor var favorMult = 1 + (company.favor / 100); @@ -1401,22 +1455,22 @@ PlayerObject.prototype.getWorkRepGain = function() { } PlayerObject.prototype.getFactionSecurityWorkRepGain = function() { - var t = 0.9 * (this.hacking_skill / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.strength / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.defense / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.dexterity / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.agility / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel) / 4.5; + var t = 0.9 * (this.hacking_skill / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.strength / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.defense / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.dexterity / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.agility / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel) / 4.5; return t * this.faction_rep_mult; } PlayerObject.prototype.getFactionFieldWorkRepGain = function() { - var t = 0.9 * (this.hacking_skill / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.strength / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.defense / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.dexterity / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.agility / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.charisma / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel + - this.intelligence / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MaxSkillLevel) / 5.5; + var t = 0.9 * (this.hacking_skill / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.strength / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.defense / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.dexterity / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.agility / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.charisma / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel + + this.intelligence / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].MaxSkillLevel) / 5.5; return t * this.faction_rep_mult; } @@ -1424,7 +1478,7 @@ PlayerObject.prototype.getFactionFieldWorkRepGain = function() { PlayerObject.prototype.startCreateProgramWork = function(programName, time, reqLevel) { this.resetWorkStatus(); this.isWorking = true; - this.workType = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeCreateProgram; + this.workType = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCreateProgram; //Time needed to complete work affected by hacking skill (linearly based on //ratio of (your skill - required level) to MAX skill) @@ -1449,7 +1503,7 @@ PlayerObject.prototype.startCreateProgramWork = function(programName, time, reqL this.createProgramName = programName; - var cancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_27__["clearEventListeners"])("work-in-progress-cancel-button"); + var cancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_34__["clearEventListeners"])("work-in-progress-cancel-button"); cancelButton.innerHTML = "Cancel work on creating program"; cancelButton.addEventListener("click", function() { Player.finishCreateProgramWork(true); @@ -1457,7 +1511,7 @@ PlayerObject.prototype.startCreateProgramWork = function(programName, time, reqL }); //Display Work In Progress Screen - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadWorkInProgressContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadWorkInProgressContent(); } PlayerObject.prototype.createProgramWork = function(numCycles) { @@ -1467,8 +1521,8 @@ PlayerObject.prototype.createProgramWork = function(numCycles) { skillMult = 1 + ((skillMult - 1) / 5); //The divider constant can be adjusted as necessary //Skill multiplier directly applied to "time worked" - this.timeWorked += (_engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles); - this.timeWorkedCreateProgram += (_engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles * skillMult); + this.timeWorked += (_engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles); + this.timeWorkedCreateProgram += (_engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles * skillMult); var programName = this.createProgramName; if (this.timeWorkedCreateProgram >= this.timeNeededToCompleteWork) { @@ -1477,7 +1531,7 @@ PlayerObject.prototype.createProgramWork = function(numCycles) { var txt = document.getElementById("work-in-progress-text"); txt.innerHTML = "You are currently working on coding " + programName + ".

" + - "You have been working for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + + "You have been working for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + "The program is " + (this.timeWorkedCreateProgram / this.timeNeededToCompleteWork * 100).toFixed(2) + "% complete.
" + "If you cancel, your work will be saved and you can come back to complete the program later."; } @@ -1485,7 +1539,7 @@ PlayerObject.prototype.createProgramWork = function(numCycles) { PlayerObject.prototype.finishCreateProgramWork = function(cancelled, sing=false) { var programName = this.createProgramName; if (cancelled === false) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("You've finished creating " + programName + "!
" + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("You've finished creating " + programName + "!
" + "The new program can be found on your home computer."); this.getHomeComputer().programs.push(programName); @@ -1496,7 +1550,7 @@ PlayerObject.prototype.finishCreateProgramWork = function(cancelled, sing=false) } if (!cancelled) { - this.gainIntelligenceExp(this.createProgramReqLvl / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].IntelligenceProgramBaseExpGain); + this.gainIntelligenceExp(this.createProgramReqLvl / _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].IntelligenceProgramBaseExpGain); } var mainMenu = document.getElementById("mainmenu-container"); @@ -1504,7 +1558,7 @@ PlayerObject.prototype.finishCreateProgramWork = function(cancelled, sing=false) this.isWorking = false; - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadTerminalContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadTerminalContent(); this.resetWorkStatus(); } @@ -1512,11 +1566,11 @@ PlayerObject.prototype.finishCreateProgramWork = function(cancelled, sing=false) PlayerObject.prototype.startClass = function(costMult, expMult, className) { this.resetWorkStatus(); this.isWorking = true; - this.workType = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeStudyClass; + this.workType = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeStudyClass; this.className = className; - var gameCPS = 1000 / _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed; + var gameCPS = 1000 / _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed; //Base exp gains per second var baseStudyComputerScienceExp = 0.5; @@ -1531,43 +1585,43 @@ PlayerObject.prototype.startClass = function(costMult, expMult, className) { var cost = 0; var hackExp = 0, strExp = 0, defExp = 0, dexExp = 0, agiExp = 0, chaExp = 0; switch (className) { - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassStudyComputerScience: + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassStudyComputerScience: hackExp = baseStudyComputerScienceExp * expMult / gameCPS; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassDataStructures: - cost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassDataStructuresBaseCost * costMult / gameCPS; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassDataStructures: + cost = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassDataStructuresBaseCost * costMult / gameCPS; hackExp = baseDataStructuresExp * expMult / gameCPS; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassNetworks: - cost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassNetworksBaseCost * costMult / gameCPS; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassNetworks: + cost = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassNetworksBaseCost * costMult / gameCPS; hackExp = baseNetworksExp * expMult / gameCPS; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassAlgorithms: - cost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassAlgorithmsBaseCost * costMult / gameCPS; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassAlgorithms: + cost = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassAlgorithmsBaseCost * costMult / gameCPS; hackExp = baseAlgorithmsExp * expMult / gameCPS; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassManagement: - cost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassManagementBaseCost * costMult / gameCPS; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassManagement: + cost = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassManagementBaseCost * costMult / gameCPS; chaExp = baseManagementExp * expMult / gameCPS; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassLeadership: - cost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassLeadershipBaseCost * costMult / gameCPS; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassLeadership: + cost = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassLeadershipBaseCost * costMult / gameCPS; chaExp = baseLeadershipExp * expMult / gameCPS; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymStrength: - cost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymBaseCost * costMult / gameCPS; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymStrength: + cost = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymBaseCost * costMult / gameCPS; strExp = baseGymExp * expMult / gameCPS; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymDefense: - cost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymBaseCost * costMult / gameCPS; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymDefense: + cost = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymBaseCost * costMult / gameCPS; defExp = baseGymExp * expMult / gameCPS; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymDexterity: - cost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymBaseCost * costMult / gameCPS; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymDexterity: + cost = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymBaseCost * costMult / gameCPS; dexExp = baseGymExp * expMult / gameCPS; break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymAgility: - cost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymBaseCost * costMult / gameCPS; + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymAgility: + cost = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymBaseCost * costMult / gameCPS; agiExp = baseGymExp * expMult / gameCPS; break; default: @@ -1576,18 +1630,18 @@ PlayerObject.prototype.startClass = function(costMult, expMult, className) { } this.workMoneyLossRate = cost; - this.workHackExpGainRate = hackExp * this.hacking_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].ClassGymExpGain; - this.workStrExpGainRate = strExp * this.strength_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].ClassGymExpGain;; - this.workDefExpGainRate = defExp * this.defense_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].ClassGymExpGain;; - this.workDexExpGainRate = dexExp * this.dexterity_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].ClassGymExpGain;; - this.workAgiExpGainRate = agiExp * this.agility_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].ClassGymExpGain;; - this.workChaExpGainRate = chaExp * this.charisma_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].ClassGymExpGain;; + this.workHackExpGainRate = hackExp * this.hacking_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].ClassGymExpGain; + this.workStrExpGainRate = strExp * this.strength_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].ClassGymExpGain;; + this.workDefExpGainRate = defExp * this.defense_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].ClassGymExpGain;; + this.workDexExpGainRate = dexExp * this.dexterity_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].ClassGymExpGain;; + this.workAgiExpGainRate = agiExp * this.agility_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].ClassGymExpGain;; + this.workChaExpGainRate = chaExp * this.charisma_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].ClassGymExpGain;; - var cancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_27__["clearEventListeners"])("work-in-progress-cancel-button"); - if (className == _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymStrength || - className == _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymDefense || - className == _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymDexterity || - className == _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymAgility) { + var cancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_34__["clearEventListeners"])("work-in-progress-cancel-button"); + if (className == _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymStrength || + className == _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymDefense || + className == _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymDexterity || + className == _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].ClassGymAgility) { cancelButton.innerHTML = "Stop training at gym"; } else { cancelButton.innerHTML = "Stop taking course"; @@ -1598,66 +1652,66 @@ PlayerObject.prototype.startClass = function(costMult, expMult, className) { }); //Display Work In Progress Screen - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadWorkInProgressContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadWorkInProgressContent(); } PlayerObject.prototype.takeClass = function(numCycles) { - this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles; + this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles; var className = this.className; this.processWorkEarnings(numCycles); var txt = document.getElementById("work-in-progress-text"); - txt.innerHTML = "You have been " + className + " for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + + txt.innerHTML = "You have been " + className + " for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + "

" + "This has cost you:
" + - "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + " ($" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyLossRate * CYCLES_PER_SEC, '0,0.00') + " / sec)

" + + "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + " ($" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyLossRate * CYCLES_PER_SEC, '0,0.00') + " / sec)

" + "You have gained:
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) hacking exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) strength exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) defense exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) dexterity exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) agility exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) charisma exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) hacking exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) strength exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) defense exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) dexterity exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) agility exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " (" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGainRate * CYCLES_PER_SEC, '0,0.0000') + " / sec) charisma exp
" + "You may cancel at any time"; } //The 'sing' argument defines whether or not this function was called //through a Singularity Netscript function PlayerObject.prototype.finishClass = function(sing=false) { - this.gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].IntelligenceClassBaseExpGain * Math.round(this.timeWorked / 1000)); + this.gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].IntelligenceClassBaseExpGain * Math.round(this.timeWorked / 1000)); if (this.workMoneyGained > 0) { throw new Error("ERR: Somehow gained money while taking class"); } this.updateSkillLevels(); - var txt = "After " + this.className + " for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + ",
" + - "you spent a total of $" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained * -1, '0,0.00') + ".

" + + var txt = "After " + this.className + " for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + ",
" + + "you spent a total of $" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained * -1, '0,0.00') + ".

" + "You earned a total of:
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp
"; - if (!sing) {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])(txt);} + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp
"; + if (!sing) {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])(txt);} var mainMenu = document.getElementById("mainmenu-container"); mainMenu.style.visibility = "visible"; this.isWorking = false; - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadLocationContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadLocationContent(); if (sing) { - var res="After " + this.className + " for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + ", " + - "you spent a total of $" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained * -1, '0,0.00') + ". " + + var res="After " + this.className + " for " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeWorked) + ", " + + "you spent a total of $" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained * -1, '0,0.00') + ". " + "You earned a total of: " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp, and " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp"; + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility exp, and " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma exp"; this.resetWorkStatus(); return res; } @@ -1665,28 +1719,30 @@ PlayerObject.prototype.finishClass = function(sing=false) { } //The EXP and $ gains are hardcoded. Time is in ms -PlayerObject.prototype.startCrime = function(hackExp, strExp, defExp, dexExp, agiExp, chaExp, money, time, singParams=null) { +PlayerObject.prototype.startCrime = function(crimeType, hackExp, strExp, defExp, dexExp, agiExp, chaExp, money, time, singParams=null) { + this.crimeType = crimeType; + this.resetWorkStatus(); this.isWorking = true; - this.workType = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeCrime; + this.workType = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCrime; if (singParams && singParams.workerscript) { this.committingCrimeThruSingFn = true; this.singFnCrimeWorkerScript = singParams.workerscript; } - this.workHackExpGained = hackExp * this.hacking_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CrimeExpGain; - this.workStrExpGained = strExp * this.strength_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CrimeExpGain; - this.workDefExpGained = defExp * this.defense_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CrimeExpGain; - this.workDexExpGained = dexExp * this.dexterity_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CrimeExpGain; - this.workAgiExpGained = agiExp * this.agility_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CrimeExpGain; - this.workChaExpGained = chaExp * this.charisma_exp_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CrimeExpGain; - this.workMoneyGained = money * this.crime_money_mult * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CrimeMoney; + this.workHackExpGained = hackExp * this.hacking_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CrimeExpGain; + this.workStrExpGained = strExp * this.strength_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CrimeExpGain; + this.workDefExpGained = defExp * this.defense_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CrimeExpGain; + this.workDexExpGained = dexExp * this.dexterity_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CrimeExpGain; + this.workAgiExpGained = agiExp * this.agility_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CrimeExpGain; + this.workChaExpGained = chaExp * this.charisma_exp_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CrimeExpGain; + this.workMoneyGained = money * this.crime_money_mult * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CrimeMoney; this.timeNeededToCompleteWork = time; //Remove all old event listeners from Cancel button - var newCancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_27__["clearEventListeners"])("work-in-progress-cancel-button") + var newCancelButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_34__["clearEventListeners"])("work-in-progress-cancel-button") newCancelButton.innerHTML = "Cancel crime" newCancelButton.addEventListener("click", function() { Player.finishCrime(true); @@ -1694,11 +1750,11 @@ PlayerObject.prototype.startCrime = function(hackExp, strExp, defExp, dexExp, ag }); //Display Work In Progress Screen - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadWorkInProgressContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadWorkInProgressContent(); } PlayerObject.prototype.commitCrime = function (numCycles) { - this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"]._idleSpeed * numCycles; + this.timeWorked += _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"]._idleSpeed * numCycles; if (this.timeWorked >= this.timeNeededToCompleteWork) {this.finishCrime(false); return;} @@ -1710,7 +1766,7 @@ PlayerObject.prototype.commitCrime = function (numCycles) { var txt = document.getElementById("work-in-progress-text"); txt.innerHTML = "You are attempting to " + this.crimeType + ".
" + - "Time remaining: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_30__["convertTimeMsToTimeElapsedString"])(this.timeNeededToCompleteWork - this.timeWorked) + "
" + + "Time remaining: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_37__["convertTimeMsToTimeElapsedString"])(this.timeNeededToCompleteWork - this.timeWorked) + "
" + progressBar.replace( / /g, " " ); } @@ -1718,18 +1774,18 @@ PlayerObject.prototype.finishCrime = function(cancelled) { //Determine crime success/failure if (!cancelled) { var statusText = ""; //TODO, unique message for each crime when you succeed - if (Object(_Crimes__WEBPACK_IMPORTED_MODULE_12__[/* determineCrimeSuccess */ "b"])(this.crimeType, this.workMoneyGained)) { + if (Object(_Crime_CrimeHelpers__WEBPACK_IMPORTED_MODULE_16__[/* determineCrimeSuccess */ "a"])(this.crimeType, this.workMoneyGained)) { //Handle Karma and crime statistics let crime = null; - for(const i in _Crimes__WEBPACK_IMPORTED_MODULE_12__[/* Crimes */ "a"]) { - if(_Crimes__WEBPACK_IMPORTED_MODULE_12__[/* Crimes */ "a"][i].type == this.crimeType) { - crime = _Crimes__WEBPACK_IMPORTED_MODULE_12__[/* Crimes */ "a"][i]; + for(const i in _Crime_Crimes__WEBPACK_IMPORTED_MODULE_17__["Crimes"]) { + if(_Crime_Crimes__WEBPACK_IMPORTED_MODULE_17__["Crimes"][i].type == this.crimeType) { + crime = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_17__["Crimes"][i]; break; } } if(crime == null) { console.log(this.crimeType); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("ERR: Unrecognized crime type. This is probably a bug please contact the developer"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("ERR: Unrecognized crime type. This is probably a bug please contact the developer"); } this.karma -= crime.karma; this.numPeopleKilled += crime.kills; @@ -1747,24 +1803,24 @@ PlayerObject.prototype.finishCrime = function(cancelled) { if (this.committingCrimeThruSingFn) { if(this.singFnCrimeWorkerScript.disableLogs.ALL == null && this.singFnCrimeWorkerScript.disableLogs.commitCrime == null) { this.singFnCrimeWorkerScript.scriptRef.log("Crime successful! Gained " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, "$0.000a") + ", " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hack exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " str exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " def exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dex exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agi exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " cha exp."); + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, "$0.000a") + ", " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hack exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " str exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " def exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dex exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agi exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " cha exp."); } } else { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Crime successful!

" + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Crime successful!

" + "You gained:
"+ - "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + "
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma experience"); + "$" + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workMoneyGained, '0,0.00') + "
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma experience"); } } else { @@ -1778,22 +1834,22 @@ PlayerObject.prototype.finishCrime = function(cancelled) { if (this.committingCrimeThruSingFn) { if(this.singFnCrimeWorkerScript.disableLogs.ALL == null && this.singFnCrimeWorkerScript.disableLogs.commitCrime == null) { this.singFnCrimeWorkerScript.scriptRef.log("Crime failed! Gained " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hack exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " str exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " def exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dex exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agi exp, " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " cha exp."); + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hack exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " str exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " def exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dex exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agi exp, " + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " cha exp."); } } else { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Crime failed!

" + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Crime failed!

" + "You gained:
"+ - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility experience
" + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma experience"); + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workHackExpGained, '0,0.0000') + " hacking experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workStrExpGained, '0,0.0000') + " strength experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDefExpGained, '0,0.0000') + " defense experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workDexExpGained, '0,0.0000') + " dexterity experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workAgiExpGained, '0,0.0000') + " agility experience
" + + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.workChaExpGained, '0,0.0000') + " charisma experience"); } } @@ -1810,7 +1866,7 @@ PlayerObject.prototype.finishCrime = function(cancelled) { mainMenu.style.visibility = "visible"; this.isWorking = false; this.resetWorkStatus(); - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadLocationContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadLocationContent(); } //Cancels the player's current "work" assignment and gives the proper rewards @@ -1819,22 +1875,22 @@ PlayerObject.prototype.singularityStopWork = function() { if (!this.isWorking) {return "";} var res; //Earnings text for work switch (this.workType) { - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeStudyClass: + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeStudyClass: res = this.finishClass(true); break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeCompany: + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompany: res = this.finishWork(true, true); break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeCompanyPartTime: + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCompanyPartTime: res = this.finishWorkPartTime(true); break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeFaction: + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeFaction: res = this.finishFactionWork(true, true); break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeCreateProgram: + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCreateProgram: res = this.finishCreateProgramWork(true, true); break; - case _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].WorkTypeCrime: + case _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].WorkTypeCrime: res = this.finishCrime(true); break; default: @@ -1857,15 +1913,15 @@ PlayerObject.prototype.takeDamage = function(amt) { } PlayerObject.prototype.hospitalize = function() { - if (_Settings__WEBPACK_IMPORTED_MODULE_21__["Settings"].SuppressHospitalizationPopup === false) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])( + if (_Settings__WEBPACK_IMPORTED_MODULE_27__["Settings"].SuppressHospitalizationPopup === false) { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])( "You were in critical condition! You were taken to the hospital where " + "luckily they were able to save your life. You were charged " + - _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(this.max_hp * _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].HospitalCostPerHp, '$0.000a') + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(this.max_hp * _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].HospitalCostPerHp, '$0.000a') ); } - this.loseMoney(this.max_hp * _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].HospitalCostPerHp); + this.loseMoney(this.max_hp * _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].HospitalCostPerHp); this.hp = this.max_hp; } @@ -1877,13 +1933,13 @@ PlayerObject.prototype.applyForJob = function(entryPosType, sing=false) { // Get current company and job let currCompany = null; if (this.companyName !== "") { - currCompany = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; + currCompany = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; } - const currPositionName = this.companyPosition; + const currPositionName = this.jobs[this.companyName]; // Get company that's being applied to - const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.location]; //Company being applied to - if (!(company instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_3__["Company"])) { + const company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.location]; //Company being applied to + if (!(company instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_7__["Company"])) { if (sing) { return "ERROR: Invalid company name: " + this.location + ". applyToCompany() failed"; } else { @@ -1895,14 +1951,14 @@ PlayerObject.prototype.applyForJob = function(entryPosType, sing=false) { let pos = entryPosType; if (!this.isQualified(company, pos)) { - var reqText = Object(_Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_6__["getJobRequirementText"])(company, pos); + var reqText = Object(_Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_10__["getJobRequirementText"])(company, pos); if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Unforunately, you do not qualify for this position
" + reqText); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Unforunately, you do not qualify for this position
" + reqText); return; } while (true) { - let newPos = Object(_Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_5__["getNextCompanyPosition"])(pos); + let newPos = Object(_Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_9__["getNextCompanyPosition"])(pos); if (newPos == null) {break;} //Check if this company has this position @@ -1920,58 +1976,39 @@ PlayerObject.prototype.applyForJob = function(entryPosType, sing=false) { //Check if the determined job is the same as the player's current job if (currCompany != null) { if (currCompany.name == company.name && pos.name == currPositionName) { - var nextPos = Object(_Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_5__["getNextCompanyPosition"])(pos); + var nextPos = Object(_Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_9__["getNextCompanyPosition"])(pos); if (nextPos == null) { if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("You are already at the highest position for your field! No promotion available"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("You are already at the highest position for your field! No promotion available"); } else if (company.hasPosition(nextPos)) { if (sing) {return false;} - var reqText = Object(_Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_6__["getJobRequirementText"])(company, nextPos); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Unfortunately, you do not qualify for a promotion
" + reqText); + var reqText = Object(_Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_10__["getJobRequirementText"])(company, nextPos); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Unfortunately, you do not qualify for a promotion
" + reqText); } else { if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("You are already at the highest position for your field! No promotion available"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("You are already at the highest position for your field! No promotion available"); } return; //Same job, do nothing } } - - //Lose reputation from a Company if you are leaving it for another job - let leaveCompany = false; - let oldCompanyName = ""; - if (currCompany != null) { - if (currCompany.name != company.name) { - leaveCompany = true; - oldCompanyName = currCompany.name; - currCompany.playerReputation -= 1000; - if (currCompany.playerReputation < 0) { currCompany.playerReputation = 0; } - } - } - this.companyName = company.name; - this.companyPosition = pos.name; + this.jobs[company.name] = pos.name; document.getElementById("world-menu-header").click(); document.getElementById("world-menu-header").click(); - if (leaveCompany) { - if (sing) { return true; } - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])([`Congratulations! You were offered a new job at ${this.companyName} as a ${pos.name}!`, - `You lost 1000 reputation at your old company ${oldCompanyName} because you left.`].join("
")); - } else { - if (sing) { return true; } - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Congratulations! You were offered a new job at " + this.companyName + " as a " + pos.name + "!"); - } + if (sing) { return true; } + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Congratulations! You were offered a new job at " + this.companyName + " as a " + pos.name + "!"); - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadLocationContent(); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadLocationContent(); } //Returns your next position at a company given the field (software, business, etc.) PlayerObject.prototype.getNextCompanyPosition = function(company, entryPosType) { var currCompany = null; if (this.companyName !== "") { - currCompany = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; + currCompany = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; } //Not employed at this company, so return the entry position @@ -1982,7 +2019,8 @@ PlayerObject.prototype.getNextCompanyPosition = function(company, entryPosType) //If the entry pos type and the player's current position have the same type, //return the player's "nextCompanyPosition". Otherwise return the entryposType //Employed at this company, so just return the next position if it exists. - const currentPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + const currentPositionName = this.jobs[this.companyName]; + const currentPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][currentPositionName]; if ((currentPosition.isSoftwareJob() && entryPosType.isSoftwareJob()) || (currentPosition.isITJob() && entryPosType.isITJob()) || (currentPosition.isBusinessJob() && entryPosType.isBusinessJob()) || @@ -1993,129 +2031,129 @@ PlayerObject.prototype.getNextCompanyPosition = function(company, entryPosType) (currentPosition.isSoftwareConsultantJob() && entryPosType.isSoftwareConsultantJob()) || (currentPosition.isBusinessConsultantJob() && entryPosType.isBusinessConsultantJob()) || (currentPosition.isPartTimeJob() && entryPosType.isPartTimeJob())) { - return Object(_Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_5__["getNextCompanyPosition"])(currentPosition); + return Object(_Company_GetNextCompanyPosition__WEBPACK_IMPORTED_MODULE_9__["getNextCompanyPosition"])(currentPosition); } return entryPosType; } PlayerObject.prototype.applyForSoftwareJob = function(sing=false) { - return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["SoftwareCompanyPositions"][0]], sing); + return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["SoftwareCompanyPositions"][0]], sing); } PlayerObject.prototype.applyForSoftwareConsultantJob = function(sing=false) { - return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["SoftwareConsultantCompanyPositions"][0]], sing); + return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["SoftwareConsultantCompanyPositions"][0]], sing); } PlayerObject.prototype.applyForItJob = function(sing=false) { - return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["ITCompanyPositions"][0]], sing); + return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["ITCompanyPositions"][0]], sing); } PlayerObject.prototype.applyForSecurityEngineerJob = function(sing=false) { - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.location]; //Company being applied to - if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["SecurityEngineerCompanyPositions"][0]])) { - return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["SecurityEngineerCompanyPositions"][0]], sing); + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.location]; //Company being applied to + if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["SecurityEngineerCompanyPositions"][0]])) { + return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["SecurityEngineerCompanyPositions"][0]], sing); } else { if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); } } PlayerObject.prototype.applyForNetworkEngineerJob = function(sing=false) { - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.location]; //Company being applied to - if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["NetworkEngineerCompanyPositions"][0]])) { - return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["NetworkEngineerCompanyPositions"][0]], sing); + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.location]; //Company being applied to + if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["NetworkEngineerCompanyPositions"][0]])) { + return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["NetworkEngineerCompanyPositions"][0]], sing); } else { if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); } } PlayerObject.prototype.applyForBusinessJob = function(sing=false) { - return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["BusinessCompanyPositions"][0]], sing); + return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["BusinessCompanyPositions"][0]], sing); } PlayerObject.prototype.applyForBusinessConsultantJob = function(sing=false) { - return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["BusinessConsultantCompanyPositions"][0]], sing); + return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["BusinessConsultantCompanyPositions"][0]], sing); } PlayerObject.prototype.applyForSecurityJob = function(sing=false) { // TODO Police Jobs // Indexing starts at 2 because 0 is for police officer - return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["SecurityCompanyPositions"][2]], sing); + return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["SecurityCompanyPositions"][2]], sing); } PlayerObject.prototype.applyForAgentJob = function(sing=false) { - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.location]; //Company being applied to - if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["AgentCompanyPositions"][0]])) { - return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["AgentCompanyPositions"][0]], sing); + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.location]; //Company being applied to + if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["AgentCompanyPositions"][0]])) { + return this.applyForJob(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["AgentCompanyPositions"][0]], sing); } else { if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); } } PlayerObject.prototype.applyForEmployeeJob = function(sing=false) { - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.location]; //Company being applied to - if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["MiscCompanyPositions"][1]])) { + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.location]; //Company being applied to + if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["MiscCompanyPositions"][1]])) { this.companyName = company.name; - this.companyPosition = _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["MiscCompanyPositions"][1]; + this.jobs[company.name] = _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["MiscCompanyPositions"][1]; document.getElementById("world-menu-header").click(); document.getElementById("world-menu-header").click(); if (sing) {return true;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Congratulations, you are now employed at " + this.companyName); - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadLocationContent(); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Congratulations, you are now employed at " + this.companyName); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadLocationContent(); } else { if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); } } PlayerObject.prototype.applyForPartTimeEmployeeJob = function(sing=false) { - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.location]; //Company being applied to - if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["PartTimeCompanyPositions"][1]])) { + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.location]; //Company being applied to + if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["PartTimeCompanyPositions"][1]])) { this.companyName = company.name; - this.companyPosition = _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["PartTimeCompanyPositions"][1]; + this.jobs[company.name] = _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["PartTimeCompanyPositions"][1]; document.getElementById("world-menu-header").click(); document.getElementById("world-menu-header").click(); if (sing) {return true;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Congratulations, you are now employed part-time at " + this.companyName); - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadLocationContent(); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Congratulations, you are now employed part-time at " + this.companyName); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadLocationContent(); } else { if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); } } PlayerObject.prototype.applyForWaiterJob = function(sing=false) { - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.location]; //Company being applied to - if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["MiscCompanyPositions"][0]])) { + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.location]; //Company being applied to + if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["MiscCompanyPositions"][0]])) { this.companyName = company.name; - this.companyPosition = _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["MiscCompanyPositions"][0]; + this.jobs[company.name] = _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["MiscCompanyPositions"][0]; document.getElementById("world-menu-header").click(); document.getElementById("world-menu-header").click(); if (sing) {return true;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Congratulations, you are now employed as a waiter at " + this.companyName); - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadLocationContent(); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Congratulations, you are now employed as a waiter at " + this.companyName); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadLocationContent(); } else { if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); } } PlayerObject.prototype.applyForPartTimeWaiterJob = function(sing=false) { - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.location]; //Company being applied to - if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["PartTimeCompanyPositions"][0]])) { + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.location]; //Company being applied to + if (this.isQualified(company, _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["PartTimeCompanyPositions"][0]])) { this.companyName = company.name; - this.companyPosition = _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_8__["PartTimeCompanyPositions"][0]; + this.jobs[company.name] = _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_12__["PartTimeCompanyPositions"][0]; document.getElementById("world-menu-header").click(); document.getElementById("world-menu-header").click(); if (sing) {return true;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Congratulations, you are now employed as a part-time waiter at " + this.companyName); - _engine__WEBPACK_IMPORTED_MODULE_13__["Engine"].loadLocationContent(); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Congratulations, you are now employed as a part-time waiter at " + this.companyName); + _engine__WEBPACK_IMPORTED_MODULE_18__["Engine"].loadLocationContent(); } else { if (sing) {return false;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_33__["dialogBoxCreate"])("Unforunately, you do not qualify for this position"); } } @@ -2155,19 +2193,19 @@ PlayerObject.prototype.reapplyAllAugmentations = function(resetMultipliers=true) } const augName = this.augmentations[i].name; - var aug = _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][augName]; + var aug = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"][augName]; if (aug == null) { console.log(`WARNING: Invalid augmentation name in Player.reapplyAllAugmentations(). Aug ${augName} will be skipped`); continue; } aug.owned = true; - if (aug.name == _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"].NeuroFluxGovernor) { + if (aug.name == _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__["AugmentationNames"].NeuroFluxGovernor) { for (let j = 0; j < aug.level; ++j) { - Object(_Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* applyAugmentation */ "e"])(this.augmentations[i], true); + Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_1__[/* applyAugmentation */ "a"])(this.augmentations[i], true); } continue; } - Object(_Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* applyAugmentation */ "e"])(this.augmentations[i], true); + Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_1__[/* applyAugmentation */ "a"])(this.augmentations[i], true); } } @@ -2178,12 +2216,12 @@ PlayerObject.prototype.reapplyAllSourceFiles = function() { for (let i = 0; i < this.sourceFiles.length; ++i) { var srcFileKey = "SourceFile" + this.sourceFiles[i].n; - var sourceFileObject = _SourceFile__WEBPACK_IMPORTED_MODULE_23__[/* SourceFiles */ "b"][srcFileKey]; + var sourceFileObject = _SourceFile__WEBPACK_IMPORTED_MODULE_29__[/* SourceFiles */ "a"][srcFileKey]; if (sourceFileObject == null) { console.log("ERROR: Invalid source file number: " + this.sourceFiles[i].n); continue; } - Object(_SourceFile__WEBPACK_IMPORTED_MODULE_23__[/* applySourceFile */ "c"])(this.sourceFiles[i]); + Object(_SourceFile__WEBPACK_IMPORTED_MODULE_29__[/* applySourceFile */ "b"])(this.sourceFiles[i]); } } @@ -2196,14 +2234,17 @@ PlayerObject.prototype.checkForFactionInvitations = function() { var numAugmentations = this.augmentations.length; - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][this.companyName]; + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][this.companyName]; var companyRep = 0; if (company != null) { companyRep = company.playerReputation; } + const allCompanies = Object.keys(this.jobs); + const allPositions = Object.values(this.jobs); + //Illuminati - var illuminatiFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Illuminati"]; + var illuminatiFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Illuminati"]; if (!illuminatiFac.isBanned && !illuminatiFac.isMember && !illuminatiFac.alreadyInvited && numAugmentations >= 30 && this.money.gte(150000000000) && @@ -2214,7 +2255,7 @@ PlayerObject.prototype.checkForFactionInvitations = function() { } //Daedalus - var daedalusFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Daedalus"]; + var daedalusFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Daedalus"]; if (!daedalusFac.isBanned && !daedalusFac.isMember && !daedalusFac.alreadyInvited && numAugmentations >= 30 && this.money.gte(100000000000) && @@ -2225,7 +2266,7 @@ PlayerObject.prototype.checkForFactionInvitations = function() { } //The Covenant - var covenantFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["The Covenant"]; + var covenantFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["The Covenant"]; if (!covenantFac.isBanned && !covenantFac.isMember && !covenantFac.alreadyInvited && numAugmentations >= 30 && this.money.gte(75000000000) && @@ -2238,88 +2279,88 @@ PlayerObject.prototype.checkForFactionInvitations = function() { } //ECorp - var ecorpFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["ECorp"]; + var ecorpFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["ECorp"]; if (!ecorpFac.isBanned && !ecorpFac.isMember && !ecorpFac.alreadyInvited && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].AevumECorp && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CorpFactionRepRequirement) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].AevumECorp) && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CorpFactionRepRequirement) { invitedFactions.push(ecorpFac); } //MegaCorp - var megacorpFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["MegaCorp"]; + var megacorpFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["MegaCorp"]; if (!megacorpFac.isBanned && !megacorpFac.isMember && !megacorpFac.alreadyInvited && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12MegaCorp && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CorpFactionRepRequirement) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12MegaCorp) && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CorpFactionRepRequirement) { invitedFactions.push(megacorpFac); } //Bachman & Associates - var bachmanandassociatesFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Bachman & Associates"]; + var bachmanandassociatesFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Bachman & Associates"]; if (!bachmanandassociatesFac.isBanned && !bachmanandassociatesFac.isMember && !bachmanandassociatesFac.alreadyInvited && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].AevumBachmanAndAssociates && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CorpFactionRepRequirement) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].AevumBachmanAndAssociates) && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CorpFactionRepRequirement) { invitedFactions.push(bachmanandassociatesFac); } //Blade Industries - var bladeindustriesFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Blade Industries"]; + var bladeindustriesFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Blade Industries"]; if (!bladeindustriesFac.isBanned && !bladeindustriesFac.isMember && !bladeindustriesFac.alreadyInvited && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12BladeIndustries && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CorpFactionRepRequirement) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12BladeIndustries) && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CorpFactionRepRequirement) { invitedFactions.push(bladeindustriesFac); } //NWO - var nwoFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["NWO"]; + var nwoFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["NWO"]; if (!nwoFac.isBanned && !nwoFac.isMember && !nwoFac.alreadyInvited && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].VolhavenNWO && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CorpFactionRepRequirement) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].VolhavenNWO) && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CorpFactionRepRequirement) { invitedFactions.push(nwoFac); } //Clarke Incorporated - var clarkeincorporatedFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Clarke Incorporated"]; + var clarkeincorporatedFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Clarke Incorporated"]; if (!clarkeincorporatedFac.isBanned && !clarkeincorporatedFac.isMember && !clarkeincorporatedFac.alreadyInvited && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].AevumClarkeIncorporated && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CorpFactionRepRequirement) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].AevumClarkeIncorporated) && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CorpFactionRepRequirement) { invitedFactions.push(clarkeincorporatedFac); } //OmniTek Incorporated - var omnitekincorporatedFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["OmniTek Incorporated"]; + var omnitekincorporatedFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["OmniTek Incorporated"]; if (!omnitekincorporatedFac.isBanned && !omnitekincorporatedFac.isMember && !omnitekincorporatedFac.alreadyInvited && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].VolhavenOmniTekIncorporated && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CorpFactionRepRequirement) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].VolhavenOmniTekIncorporated) && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CorpFactionRepRequirement) { invitedFactions.push(omnitekincorporatedFac); } //Four Sigma - var foursigmaFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Four Sigma"]; + var foursigmaFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Four Sigma"]; if (!foursigmaFac.isBanned && !foursigmaFac.isMember && !foursigmaFac.alreadyInvited && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12FourSigma && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CorpFactionRepRequirement) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12FourSigma) && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CorpFactionRepRequirement) { invitedFactions.push(foursigmaFac); } //KuaiGong International - var kuaigonginternationalFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["KuaiGong International"]; + var kuaigonginternationalFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["KuaiGong International"]; if (!kuaigonginternationalFac.isBanned && !kuaigonginternationalFac.isMember && !kuaigonginternationalFac.alreadyInvited && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].ChongqingKuaiGongInternational && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CorpFactionRepRequirement) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].ChongqingKuaiGongInternational) && companyRep >= _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CorpFactionRepRequirement) { invitedFactions.push(kuaigonginternationalFac); } //Fulcrum Secret Technologies - If u've unlocked fulcrum secret technolgoies server and have a high rep with the company - var fulcrumsecrettechonologiesFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Fulcrum Secret Technologies"]; - var fulcrumSecretServer = _Server__WEBPACK_IMPORTED_MODULE_20__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerNames */ "b"].FulcrumSecretTechnologies]]; + var fulcrumsecrettechonologiesFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Fulcrum Secret Technologies"]; + var fulcrumSecretServer = _Server__WEBPACK_IMPORTED_MODULE_26__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerNames */ "b"].FulcrumSecretTechnologies]]; if (fulcrumSecretServer == null) { console.log("ERROR: Could not find Fulcrum Secret Technologies Server"); } else { if (!fulcrumsecrettechonologiesFac.isBanned && !fulcrumsecrettechonologiesFac.isMember && !fulcrumsecrettechonologiesFac.alreadyInvited && fulcrumSecretServer.manuallyHacked && - this.companyName == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].AevumFulcrumTechnologies && companyRep >= 250000) { + allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].AevumFulcrumTechnologies) && companyRep >= 250000) { invitedFactions.push(fulcrumsecrettechonologiesFac); } } //BitRunners - var bitrunnersFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["BitRunners"]; + var bitrunnersFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["BitRunners"]; var homeComp = this.getHomeComputer(); - var bitrunnersServer = _Server__WEBPACK_IMPORTED_MODULE_20__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerNames */ "b"].BitRunnersServer]]; + var bitrunnersServer = _Server__WEBPACK_IMPORTED_MODULE_26__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerNames */ "b"].BitRunnersServer]]; if (bitrunnersServer == null) { console.log("ERROR: Could not find BitRunners Server"); } else if (!bitrunnersFac.isBanned && !bitrunnersFac.isMember && bitrunnersServer.manuallyHacked && @@ -2328,8 +2369,8 @@ PlayerObject.prototype.checkForFactionInvitations = function() { } //The Black Hand - var theblackhandFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["The Black Hand"]; - var blackhandServer = _Server__WEBPACK_IMPORTED_MODULE_20__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerNames */ "b"].TheBlackHandServer]]; + var theblackhandFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["The Black Hand"]; + var blackhandServer = _Server__WEBPACK_IMPORTED_MODULE_26__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerNames */ "b"].TheBlackHandServer]]; if (blackhandServer == null) { console.log("ERROR: Could not find The Black Hand Server"); } else if (!theblackhandFac.isBanned && !theblackhandFac.isMember && blackhandServer.manuallyHacked && @@ -2338,8 +2379,8 @@ PlayerObject.prototype.checkForFactionInvitations = function() { } //NiteSec - var nitesecFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["NiteSec"]; - var nitesecServer = _Server__WEBPACK_IMPORTED_MODULE_20__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerNames */ "b"].NiteSecServer]]; + var nitesecFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["NiteSec"]; + var nitesecServer = _Server__WEBPACK_IMPORTED_MODULE_26__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerNames */ "b"].NiteSecServer]]; if (nitesecServer == null) { console.log("ERROR: Could not find NiteSec Server"); } else if (!nitesecFac.isBanned && !nitesecFac.isMember && nitesecServer.manuallyHacked && @@ -2348,101 +2389,99 @@ PlayerObject.prototype.checkForFactionInvitations = function() { } //Chongqing - var chongqingFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Chongqing"]; + var chongqingFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Chongqing"]; if (!chongqingFac.isBanned && !chongqingFac.isMember && !chongqingFac.alreadyInvited && - this.money.gte(20000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Chongqing) { + this.money.gte(20000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Chongqing) { invitedFactions.push(chongqingFac); } //Sector-12 - var sector12Fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Sector-12"]; + var sector12Fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Sector-12"]; if (!sector12Fac.isBanned && !sector12Fac.isMember && !sector12Fac.alreadyInvited && - this.money.gte(15000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12) { + this.money.gte(15000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12) { invitedFactions.push(sector12Fac); } //New Tokyo - var newtokyoFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["New Tokyo"]; + var newtokyoFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["New Tokyo"]; if (!newtokyoFac.isBanned && !newtokyoFac.isMember && !newtokyoFac.alreadyInvited && - this.money.gte(20000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].NewTokyo) { + this.money.gte(20000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].NewTokyo) { invitedFactions.push(newtokyoFac); } //Aevum - var aevumFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Aevum"]; + var aevumFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Aevum"]; if (!aevumFac.isBanned && !aevumFac.isMember && !aevumFac.alreadyInvited && - this.money.gte(40000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Aevum) { + this.money.gte(40000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Aevum) { invitedFactions.push(aevumFac); } //Ishima - var ishimaFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Ishima"]; + var ishimaFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Ishima"]; if (!ishimaFac.isBanned && !ishimaFac.isMember && !ishimaFac.alreadyInvited && - this.money.gte(30000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Ishima) { + this.money.gte(30000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Ishima) { invitedFactions.push(ishimaFac); } //Volhaven - var volhavenFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Volhaven"]; + var volhavenFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Volhaven"]; if (!volhavenFac.isBanned && !volhavenFac.isMember && !volhavenFac.alreadyInvited && - this.money.gte(50000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Volhaven) { + this.money.gte(50000000) && this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Volhaven) { invitedFactions.push(volhavenFac); } //Speakers for the Dead - var speakersforthedeadFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Speakers for the Dead"]; + var speakersforthedeadFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Speakers for the Dead"]; if (!speakersforthedeadFac.isBanned && !speakersforthedeadFac.isMember && !speakersforthedeadFac.alreadyInvited && this.hacking_skill >= 100 && this.strength >= 300 && this.defense >= 300 && this.dexterity >= 300 && this.agility >= 300 && this.numPeopleKilled >= 30 && - this.karma <= -45 && this.companyName != _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12CIA && - this.companyName != _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12NSA) { + this.karma <= -45 && !allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12CIA) && + !allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12NSA)) { invitedFactions.push(speakersforthedeadFac); } //The Dark Army - var thedarkarmyFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["The Dark Army"]; + var thedarkarmyFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["The Dark Army"]; if (!thedarkarmyFac.isBanned && !thedarkarmyFac.isMember && !thedarkarmyFac.alreadyInvited && this.hacking_skill >= 300 && this.strength >= 300 && this.defense >= 300 && - this.dexterity >= 300 && this.agility >= 300 && this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Chongqing && - this.numPeopleKilled >= 5 && this.karma <= -45 && this.companyName != _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12CIA && - this.companyName != _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12NSA) { + this.dexterity >= 300 && this.agility >= 300 && this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Chongqing && + this.numPeopleKilled >= 5 && this.karma <= -45 && !allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12CIA) && + !allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12NSA)) { invitedFactions.push(thedarkarmyFac); } //The Syndicate - var thesyndicateFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["The Syndicate"]; + var thesyndicateFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["The Syndicate"]; if (!thesyndicateFac.isBanned && !thesyndicateFac.isMember && !thesyndicateFac.alreadyInvited && this.hacking_skill >= 200 && this.strength >= 200 && this.defense >= 200 && this.dexterity >= 200 && this.agility >= 200 && - (this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Aevum || this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12) && + (this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Aevum || this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12) && this.money.gte(10000000) && this.karma <= -90 && - this.companyName != _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12CIA && this.companyName != _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Sector12NSA) { + !allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12CIA) && !allCompanies.includes(_Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Sector12NSA)) { invitedFactions.push(thesyndicateFac); } //Silhouette - var silhouetteFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Silhouette"]; - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_7__["CompanyPositions"][this.companyPosition]; + var silhouetteFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Silhouette"]; if (!silhouetteFac.isBanned && !silhouetteFac.isMember && !silhouetteFac.alreadyInvited && - companyPosition != null && - (companyPosition.name == "Chief Technology Officer" || - companyPosition.name == "Chief Financial Officer" || - companyPosition.name == "Chief Executive Officer") && + (allPositions.includes("Chief Technology Officer") || + allPositions.includes("Chief Financial Officer") || + allPositions.includes("Chief Executive Officer")) && this.money.gte(15000000) && this.karma <= -22) { invitedFactions.push(silhouetteFac); } //Tetrads - var tetradsFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Tetrads"]; + var tetradsFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Tetrads"]; if (!tetradsFac.isBanned && !tetradsFac.isMember && !tetradsFac.alreadyInvited && - (this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Chongqing || this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].NewTokyo || - this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Ishima) && this.strength >= 75 && this.defense >= 75 && + (this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Chongqing || this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].NewTokyo || + this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Ishima) && this.strength >= 75 && this.defense >= 75 && this.dexterity >= 75 && this.agility >= 75 && this.karma <= -18) { invitedFactions.push(tetradsFac); } //SlumSnakes - var slumsnakesFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Slum Snakes"]; + var slumsnakesFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Slum Snakes"]; if (!slumsnakesFac.isBanned && !slumsnakesFac.isMember && !slumsnakesFac.alreadyInvited && this.strength >= 30 && this.defense >= 30 && this.dexterity >= 30 && this.agility >= 30 && this.karma <= -9 && this.money.gte(1000000)) { @@ -2450,7 +2489,7 @@ PlayerObject.prototype.checkForFactionInvitations = function() { } //Netburners - var netburnersFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Netburners"]; + var netburnersFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Netburners"]; var totalHacknetRam = 0; var totalHacknetCores = 0; var totalHacknetLevels = 0; @@ -2466,17 +2505,17 @@ PlayerObject.prototype.checkForFactionInvitations = function() { } //Tian Di Hui - var tiandihuiFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["Tian Di Hui"]; + var tiandihuiFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["Tian Di Hui"]; if (!tiandihuiFac.isBanned && !tiandihuiFac.isMember && !tiandihuiFac.alreadyInvited && this.money.gte(1000000) && this.hacking_skill >= 50 && - (this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Chongqing || this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].NewTokyo || - this.city == _Locations__WEBPACK_IMPORTED_MODULE_18__["Locations"].Ishima)) { + (this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Chongqing || this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].NewTokyo || + this.city == _Locations__WEBPACK_IMPORTED_MODULE_23__["Locations"].Ishima)) { invitedFactions.push(tiandihuiFac); } //CyberSec - var cybersecFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"]["CyberSec"]; - var cybersecServer = _Server__WEBPACK_IMPORTED_MODULE_20__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerNames */ "b"].CyberSecServer]]; + var cybersecFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"]["CyberSec"]; + var cybersecServer = _Server__WEBPACK_IMPORTED_MODULE_26__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerNames */ "b"].CyberSecServer]]; if (cybersecServer == null) { console.log("ERROR: Could not find CyberSec Server"); } else if (!cybersecFac.isBanned && !cybersecFac.isMember && cybersecServer.manuallyHacked && @@ -2492,11 +2531,23 @@ PlayerObject.prototype.checkForFactionInvitations = function() { //Returns true if Player is in a gang and false otherwise PlayerObject.prototype.inGang = function() { if (this.gang == null || this.gang == undefined) {return false;} - return (this.gang instanceof _Gang__WEBPACK_IMPORTED_MODULE_17__[/* Gang */ "b"]); + return (this.gang instanceof _Gang__WEBPACK_IMPORTED_MODULE_22__[/* Gang */ "b"]); } PlayerObject.prototype.startGang = function(factionName, hacking) { - this.gang = new _Gang__WEBPACK_IMPORTED_MODULE_17__[/* Gang */ "b"](factionName, hacking); + this.gang = new _Gang__WEBPACK_IMPORTED_MODULE_22__[/* Gang */ "b"](factionName, hacking); +} + +/*************** Corporation ****************/ +PlayerObject.prototype.hasCorporation = function() { + if (this.corporation == null) { return false; } + return (this.corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_14__[/* Corporation */ "a"]); +} + +/*************** Bladeburner ****************/ +PlayerObject.prototype.inBladeburner = function() { + if (this.bladeburner == null) { return false; } + return (this.bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_5__[/* Bladeburner */ "a"]); } /************* BitNodes **************/ @@ -2520,7 +2571,7 @@ PlayerObject.prototype.queueAugmentation = function(name) { } this.firstAugPurchased = true; - this.queuedAugmentations.push(new _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* PlayerOwnedAugmentation */ "d"](name)); + this.queuedAugmentations.push(new _Augmentation_PlayerOwnedAugmentation__WEBPACK_IMPORTED_MODULE_2__["PlayerOwnedAugmentation"](name)); } /************* Coding Contracts **************/ @@ -2531,17 +2582,17 @@ PlayerObject.prototype.gainCodingContractReward = function(reward, difficulty=1) /* eslint-disable no-case-declarations */ switch (reward.type) { - case _CodingContracts__WEBPACK_IMPORTED_MODULE_2__["CodingContractRewardType"].FactionReputation: - if (reward.name == null || !(_Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"][reward.name] instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_14__["Faction"])) { + case _CodingContracts__WEBPACK_IMPORTED_MODULE_6__["CodingContractRewardType"].FactionReputation: + if (reward.name == null || !(_Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"][reward.name] instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_19__["Faction"])) { // If no/invalid faction was designated, just give rewards to all factions - reward.type = _CodingContracts__WEBPACK_IMPORTED_MODULE_2__["CodingContractRewardType"].FactionReputationAll; + reward.type = _CodingContracts__WEBPACK_IMPORTED_MODULE_6__["CodingContractRewardType"].FactionReputationAll; return this.gainCodingContractReward(reward); } - var repGain = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CodingContractBaseFactionRepGain * difficulty; - _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"][reward.name].playerReputation += repGain; + var repGain = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CodingContractBaseFactionRepGain * difficulty; + _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"][reward.name].playerReputation += repGain; return `Gained ${repGain} faction reputation for ${reward.name}`; - case _CodingContracts__WEBPACK_IMPORTED_MODULE_2__["CodingContractRewardType"].FactionReputationAll: - const totalGain = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CodingContractBaseFactionRepGain * difficulty; + case _CodingContracts__WEBPACK_IMPORTED_MODULE_6__["CodingContractRewardType"].FactionReputationAll: + const totalGain = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CodingContractBaseFactionRepGain * difficulty; // Ignore Bladeburners and other special factions for this calculation const specialFactions = ["Bladeburners"]; @@ -2552,32 +2603,32 @@ PlayerObject.prototype.gainCodingContractReward = function(reward, difficulty=1) // If the player was only part of the special factions, we'll just give money if (factions.length == 0) { - reward.type = _CodingContracts__WEBPACK_IMPORTED_MODULE_2__["CodingContractRewardType"].Money; + reward.type = _CodingContracts__WEBPACK_IMPORTED_MODULE_6__["CodingContractRewardType"].Money; return this.gainCodingContractReward(reward, difficulty); } const gainPerFaction = Math.floor(totalGain / factions.length); for (const facName of factions) { - if (!(_Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"][facName] instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_14__["Faction"])) { continue; } - _Faction_Factions__WEBPACK_IMPORTED_MODULE_15__["Factions"][facName].playerReputation += gainPerFaction; + if (!(_Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"][facName] instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_19__["Faction"])) { continue; } + _Faction_Factions__WEBPACK_IMPORTED_MODULE_20__["Factions"][facName].playerReputation += gainPerFaction; } return `Gained ${gainPerFaction} reputation for each of the following factions: ${factions.toString()}`; break; - case _CodingContracts__WEBPACK_IMPORTED_MODULE_2__["CodingContractRewardType"].CompanyReputation: - if (reward.name == null || !(_Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][reward.name] instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_3__["Company"])) { + case _CodingContracts__WEBPACK_IMPORTED_MODULE_6__["CodingContractRewardType"].CompanyReputation: + if (reward.name == null || !(_Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][reward.name] instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_7__["Company"])) { //If no/invalid company was designated, just give rewards to all factions - reward.type = _CodingContracts__WEBPACK_IMPORTED_MODULE_2__["CodingContractRewardType"].FactionReputationAll; + reward.type = _CodingContracts__WEBPACK_IMPORTED_MODULE_6__["CodingContractRewardType"].FactionReputationAll; return this.gainCodingContractReward(reward); } - var repGain = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CodingContractBaseCompanyRepGain * difficulty; - _Company_Companies__WEBPACK_IMPORTED_MODULE_4__["Companies"][reward.name].playerReputation += repGain; + var repGain = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CodingContractBaseCompanyRepGain * difficulty; + _Company_Companies__WEBPACK_IMPORTED_MODULE_8__["Companies"][reward.name].playerReputation += repGain; return `Gained ${repGain} company reputation for ${reward.name}`; break; - case _CodingContracts__WEBPACK_IMPORTED_MODULE_2__["CodingContractRewardType"].Money: + case _CodingContracts__WEBPACK_IMPORTED_MODULE_6__["CodingContractRewardType"].Money: default: - var moneyGain = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].CodingContractBaseMoneyGain * difficulty * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].CodingContractMoney; + var moneyGain = _Constants__WEBPACK_IMPORTED_MODULE_13__["CONSTANTS"].CodingContractBaseMoneyGain * difficulty * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_4__["BitNodeMultipliers"].CodingContractMoney; this.gainMoney(moneyGain); - return `Gained ${_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_25__["numeralWrapper"].format(moneyGain, '$0.000a')}`; + return `Gained ${_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_32__["numeralWrapper"].format(moneyGain, '$0.000a')}`; break; } /* eslint-enable no-case-declarations */ @@ -2585,37 +2636,37 @@ PlayerObject.prototype.gainCodingContractReward = function(reward, difficulty=1) /* Functions for saving and loading the Player data */ function loadPlayer(saveString) { - Player = JSON.parse(saveString, _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_29__["Reviver"]); + Player = JSON.parse(saveString, _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_36__["Reviver"]); //Parse Decimal.js objects - Player.money = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](Player.money); - Player.total_money = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](Player.total_money); - Player.lifetime_money = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](Player.lifetime_money); + Player.money = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](Player.money); + Player.total_money = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](Player.total_money); + Player.lifetime_money = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](Player.lifetime_money); - if (Player.corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_10__[/* Corporation */ "a"]) { - Player.corporation.funds = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](Player.corporation.funds); - Player.corporation.revenue = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](Player.corporation.revenue); - Player.corporation.expenses = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](Player.corporation.expenses); + if (Player.corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_14__[/* Corporation */ "a"]) { + Player.corporation.funds = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](Player.corporation.funds); + Player.corporation.revenue = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](Player.corporation.revenue); + Player.corporation.expenses = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](Player.corporation.expenses); for (var i = 0; i < Player.corporation.divisions.length; ++i) { var ind = Player.corporation.divisions[i]; - ind.lastCycleRevenue = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](ind.lastCycleRevenue); - ind.lastCycleExpenses = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](ind.lastCycleExpenses); - ind.thisCycleRevenue = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](ind.thisCycleRevenue); - ind.thisCycleExpenses = new decimal_js__WEBPACK_IMPORTED_MODULE_24__[/* default */ "a"](ind.thisCycleExpenses); + ind.lastCycleRevenue = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](ind.lastCycleRevenue); + ind.lastCycleExpenses = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](ind.lastCycleExpenses); + ind.thisCycleRevenue = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](ind.thisCycleRevenue); + ind.thisCycleExpenses = new decimal_js__WEBPACK_IMPORTED_MODULE_31__[/* default */ "a"](ind.thisCycleExpenses); } } } PlayerObject.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_29__["Generic_toJSON"])("PlayerObject", this); + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_36__["Generic_toJSON"])("PlayerObject", this); } PlayerObject.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_29__["Generic_fromJSON"])(PlayerObject, value.data); + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_36__["Generic_fromJSON"])(PlayerObject, value.data); } -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_29__["Reviver"].constructors.PlayerObject = PlayerObject; +_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_36__["Reviver"].constructors.PlayerObject = PlayerObject; let Player = new PlayerObject(); @@ -2720,6 +2771,7 @@ exports.CONSTANTS = { ScriptBladeburnerApiBaseRamCost: 4, NumNetscriptPorts: 20, //Server constants + HomeComputerMaxRam: 1073741824, ServerBaseGrowthRate: 1.03, ServerMaxGrowthRate: 1.0035, ServerFortifyAmount: 0.002, @@ -2867,6 +2919,8 @@ exports.CONSTANTS = { CodingContractBaseFactionRepGain: 2500, CodingContractBaseCompanyRepGain: 4000, CodingContractBaseMoneyGain: 50e6, + // BitNode/Source-File related stuff + TotalNumBitNodes: 24, /* Tutorial related things */ TutorialNetworkingText: "Servers are a central part of the game. You start with a single personal server (your home computer) " + "and you can purchase additional servers as you progress through the game. Connecting to other servers " + @@ -3094,41 +3148,16 @@ exports.CONSTANTS = { "RAM and CPU Core Upgrades on your home computer
" + "World Stock Exchange account and TIX API Access
", LatestUpdate: ` - v0.42.0 - * Corporation Changes: - ** Corporation can now be self-funded with $150b or using seed money in exchange for 500m newly-issued shares - ** In BitNode-3, you no longer start with $150b - ** Changed initial market prices for many materials - ** Changed the way a material's demand, competition, and market price change over time - ** The sale price of materials can no longer be marked-up as high - ** Added a Research Tree mechanic. Spend Scientific Research on permanent upgrades for each industry - ** You can now redistribute earnings to shareholders (including yourself) as dividends - ** Cost of "Smart Supply" upgraded reduced from $50b to $25b - ** Now has offline progress, which works similarly to the Gang/Bladeburner mechanics - ** Slightly reduced the amount of money offered to you by investment firms - ** Employee salaries now slowly increase over time - ** Slightly reduced the effect "Real Estate" has on the Production Multiplier for the Agriculture industry - ** Changed the way your Corporation's value is calculated (this is what determines stock price) - ** After taking your corporation public, it is now possible to issue new shares to raise capital - ** Issuing new shares can only be done once every 12 hours - ** Buying back shares must now be done at a premium - ** Selling shares can now only be done once per hour - ** Selling large amounts of shares now immediately impacts stock price (during the transaction) - ** Reduced the initial cost of the DreamSense upgrade from $8b to $4b, but increased its price multiplier - ** Reduced the price multiplier for ABC SalesBots upgrade + v0.43.0 + * Stock Market Changes: + ** Each stock now has a maximum number of shares you can purchase (both Long and Short positions combined) + ** Added getStockMaxShares() Netscript function to the TIX API - * Added getOrders() Netscript function to the TIX API - * Added getAugmentationPrereq() Singularity function (by havocmayhem) - * Added hackAnalyzePercent() and hackAnalyzeThreads() Netscript functions - * Stock Market, Travel, and Corporation main menu links are now properly styled - * Many pop-up/dialog boxes now support the 'Enter' and 'Esc' hotkeys. If you find a pop-up/dialog box that doesnt support this, let me know specifically which one ('Enter' for the default option, 'Esc' for cancelling and closing the pop-up box) - * Added "brace_style = preserve_inline" configuration to Script Editor Beautifier - * ServerProfiler.exe can now be purchased from the Dark Web - * Added an option to copy save data to clipboard - * Added total multiplier information on the "Augmentations" page - * Bug Fix: gymWorkout() Singularity function should now work properly with Millenium Fitness Gym - * Began migrating gameplay information to the ReadTheDocs documentation - ` + * Job Changes: + ** You can now hold multiple jobs at once. This means you no longer lose reputation when leaving a company + ** Because of this change, the getCharacterInformation() Netscript function returns a slightly different value + * Home Computer RAM is now capped at 2 ^ 30 GB (1073741824 GB) + ` }; @@ -3327,7 +3356,7 @@ exports.createElement = createElement; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const isString_1 = __webpack_require__(/*! ./helpers/isString */ 40); +const isString_1 = __webpack_require__(/*! ./helpers/isString */ 43); // Netburner String helper functions // Replaces the character at an index with a new character function replaceAt(base, index, character) { @@ -3440,21 +3469,21 @@ exports.generateRandomString = generateRandomString; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const numeral = __webpack_require__(/*! numeral */ 82); -__webpack_require__(/*! numeral/locales/bg */ 288); -__webpack_require__(/*! numeral/locales/cs */ 287); -__webpack_require__(/*! numeral/locales/da-dk */ 286); -__webpack_require__(/*! numeral/locales/de */ 285); -__webpack_require__(/*! numeral/locales/en-au */ 284); -__webpack_require__(/*! numeral/locales/en-gb */ 283); -__webpack_require__(/*! numeral/locales/es */ 282); -__webpack_require__(/*! numeral/locales/fr */ 281); -__webpack_require__(/*! numeral/locales/hu */ 280); -__webpack_require__(/*! numeral/locales/it */ 279); -__webpack_require__(/*! numeral/locales/lv */ 278); -__webpack_require__(/*! numeral/locales/no */ 277); -__webpack_require__(/*! numeral/locales/pl */ 276); -__webpack_require__(/*! numeral/locales/ru */ 275); +const numeral = __webpack_require__(/*! numeral */ 87); +__webpack_require__(/*! numeral/locales/bg */ 307); +__webpack_require__(/*! numeral/locales/cs */ 306); +__webpack_require__(/*! numeral/locales/da-dk */ 305); +__webpack_require__(/*! numeral/locales/de */ 304); +__webpack_require__(/*! numeral/locales/en-au */ 303); +__webpack_require__(/*! numeral/locales/en-gb */ 302); +__webpack_require__(/*! numeral/locales/es */ 301); +__webpack_require__(/*! numeral/locales/fr */ 300); +__webpack_require__(/*! numeral/locales/hu */ 299); +__webpack_require__(/*! numeral/locales/it */ 298); +__webpack_require__(/*! numeral/locales/lv */ 297); +__webpack_require__(/*! numeral/locales/no */ 296); +__webpack_require__(/*! numeral/locales/pl */ 295); +__webpack_require__(/*! numeral/locales/ru */ 294); /* eslint-disable class-methods-use-this */ class NumeralFormatter { constructor() { @@ -3477,11 +3506,15 @@ class NumeralFormatter { } return numeral(n).format(format); } + formatBigNumber(n) { + return this.format(n, "0.000a"); + } formatMoney(n) { return this.format(n, "$0.000a"); } - formatBigNumber(n) { - return this.format(n, "0.000a"); + formatPercentage(n, decimalPlaces = 2) { + const formatter = "0." + "0".repeat(decimalPlaces) + "%"; + return this.format(n, formatter); } } exports.numeralWrapper = new NumeralFormatter(); @@ -3584,6 +3617,126 @@ exports.Locations = { /***/ }), /* 6 */ +/*!****************************************************!*\ + !*** ./src/Augmentation/data/AugmentationNames.ts ***! + \****************************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AugmentationNames = { + Targeting1: "Augmented Targeting I", + Targeting2: "Augmented Targeting II", + Targeting3: "Augmented Targeting III", + SyntheticHeart: "Synthetic Heart", + SynfibrilMuscle: "Synfibril Muscle", + CombatRib1: "Combat Rib I", + CombatRib2: "Combat Rib II", + CombatRib3: "Combat Rib III", + NanofiberWeave: "Nanofiber Weave", + SubdermalArmor: "NEMEAN Subdermal Weave", + WiredReflexes: "Wired Reflexes", + GrapheneBoneLacings: "Graphene Bone Lacings", + BionicSpine: "Bionic Spine", + GrapheneBionicSpine: "Graphene Bionic Spine Upgrade", + BionicLegs: "Bionic Legs", + GrapheneBionicLegs: "Graphene Bionic Legs Upgrade", + SpeechProcessor: "Speech Processor Implant", + TITN41Injection: "TITN-41 Gene-Modification Injection", + EnhancedSocialInteractionImplant: "Enhanced Social Interaction Implant", + BitWire: "BitWire", + ArtificialBioNeuralNetwork: "Artificial Bio-neural Network Implant", + ArtificialSynapticPotentiation: "Artificial Synaptic Potentiation", + EnhancedMyelinSheathing: "Enhanced Myelin Sheathing", + SynapticEnhancement: "Synaptic Enhancement Implant", + NeuralRetentionEnhancement: "Neural-Retention Enhancement", + DataJack: "DataJack", + ENM: "Embedded Netburner Module", + ENMCore: "Embedded Netburner Module Core Implant", + ENMCoreV2: "Embedded Netburner Module Core V2 Upgrade", + ENMCoreV3: "Embedded Netburner Module Core V3 Upgrade", + ENMAnalyzeEngine: "Embedded Netburner Module Analyze Engine", + ENMDMA: "Embedded Netburner Module Direct Memory Access Upgrade", + Neuralstimulator: "Neuralstimulator", + NeuralAccelerator: "Neural Accelerator", + CranialSignalProcessorsG1: "Cranial Signal Processors - Gen I", + CranialSignalProcessorsG2: "Cranial Signal Processors - Gen II", + CranialSignalProcessorsG3: "Cranial Signal Processors - Gen III", + CranialSignalProcessorsG4: "Cranial Signal Processors - Gen IV", + CranialSignalProcessorsG5: "Cranial Signal Processors - Gen V", + NeuronalDensification: "Neuronal Densification", + NuoptimalInjectorImplant: "Nuoptimal Nootropic Injector Implant", + SpeechEnhancement: "Speech Enhancement", + FocusWire: "FocusWire", + PCDNI: "PC Direct-Neural Interface", + PCDNIOptimizer: "PC Direct-Neural Interface Optimization Submodule", + PCDNINeuralNetwork: "PC Direct-Neural Interface NeuroNet Injector", + ADRPheromone1: "ADR-V1 Pheromone Gene", + ADRPheromone2: "ADR-V2 Pheromone Gene", + HacknetNodeCPUUpload: "Hacknet Node CPU Architecture Neural-Upload", + HacknetNodeCacheUpload: "Hacknet Node Cache Architecture Neural-Upload", + HacknetNodeNICUpload: "Hacknet Node NIC Architecture Neural-Upload", + HacknetNodeKernelDNI: "Hacknet Node Kernel Direct-Neural Interface", + HacknetNodeCoreDNI: "Hacknet Node Core Direct-Neural Interface", + NeuroFluxGovernor: "NeuroFlux Governor", + Neurotrainer1: "Neurotrainer I", + Neurotrainer2: "Neurotrainer II", + Neurotrainer3: "Neurotrainer III", + Hypersight: "HyperSight Corneal Implant", + LuminCloaking1: "LuminCloaking-V1 Skin Implant", + LuminCloaking2: "LuminCloaking-V2 Skin Implant", + HemoRecirculator: "HemoRecirculator", + SmartSonar: "SmartSonar Implant", + PowerRecirculator: "Power Recirculation Core", + QLink: "QLink", + TheRedPill: "The Red Pill", + SPTN97: "SPTN-97 Gene Modification", + HiveMind: "ECorp HVMind Implant", + CordiARCReactor: "CordiARC Fusion Reactor", + SmartJaw: "SmartJaw", + Neotra: "Neotra", + Xanipher: "Xanipher", + nextSENS: "nextSENS Gene Modification", + OmniTekInfoLoad: "OmniTek InfoLoad", + PhotosyntheticCells: "Photosynthetic Cells", + Neurolink: "BitRunners Neurolink", + TheBlackHand: "The Black Hand", + CRTX42AA: "CRTX42-AA Gene Modification", + Neuregen: "Neuregen Gene Modification", + CashRoot: "CashRoot Starter Kit", + NutriGen: "NutriGen Implant", + INFRARet: "INFRARET Enhancement", + DermaForce: "DermaForce Particle Barrier", + GrapheneBrachiBlades: "Graphene BranchiBlades Upgrade", + GrapheneBionicArms: "Graphene Bionic Arms Upgrade", + BrachiBlades: "BrachiBlades", + BionicArms: "Bionic Arms", + SNA: "Social Negotiation Assistant (S.N.A)", + EsperEyewear: "EsperTech Bladeburner Eyewear", + EMS4Recombination: "EMS-4 Recombination", + OrionShoulder: "ORION-MKIV Shoulder", + HyperionV1: "Hyperion Plasma Cannon V1", + HyperionV2: "Hyperion Plasma Cannon V2", + GolemSerum: "GOLEM Serum", + VangelisVirus: "Vangelis Virus", + VangelisVirus3: "Vangelis Virus 3.0", + INTERLINKED: "I.N.T.E.R.L.I.N.K.E.D", + BladeRunner: "Blade's Runners", + BladeArmor: "BLADE-51b Tesla Armor", + BladeArmorPowerCells: "BLADE-51b Tesla Armor: Power Cells Upgrade", + BladeArmorEnergyShielding: "BLADE-51b Tesla Armor: Energy Shielding Upgrade", + BladeArmorUnibeam: "BLADE-51b Tesla Armor: Unibeam Upgrade", + BladeArmorOmnibeam: "BLADE-51b Tesla Armor: Omnibeam Upgrade", + BladeArmorIPU: "BLADE-51b Tesla Armor: IPU Upgrade", + BladesSimulacrum: "The Blade's Simulacrum", +}; + + +/***/ }), +/* 7 */ /*!***********************************!*\ !*** ./src/NetscriptEvaluator.js ***! \***********************************/ @@ -3599,24 +3752,24 @@ exports.Locations = { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return isScriptErrorMessage; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return killNetscriptDelay; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return evaluateImport; }); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _NetscriptEnvironment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./NetscriptEnvironment */ 116); -/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NetscriptWorker */ 26); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Settings */ 18); +/* harmony import */ var _NetscriptEnvironment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./NetscriptEnvironment */ 124); +/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NetscriptWorker */ 29); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Settings */ 20); /* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Script */ 31); -/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/acorn */ 49); +/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Script */ 35); +/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/acorn */ 52); /* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_utils_acorn__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 55); +/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 59); /* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/helpers/isValidIPAddress */ 90); +/* harmony import */ var _utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/helpers/isValidIPAddress */ 94); /* harmony import */ var _utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/helpers/isString */ 40); +/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/helpers/isString */ 43); /* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_11__); @@ -3632,7 +3785,7 @@ exports.Locations = { -var Promise = __webpack_require__(/*! bluebird */ 260); +var Promise = __webpack_require__(/*! bluebird */ 279); Promise.config({ warnings: false, @@ -4534,7 +4687,7 @@ function isScriptErrorMessage(msg) { /***/ }), -/* 7 */ +/* 8 */ /*!**********************************!*\ !*** ./src/ui/postToTerminal.ts ***! \**********************************/ @@ -4545,7 +4698,7 @@ function isScriptErrorMessage(msg) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const getElementById_1 = __webpack_require__(/*! ../../utils/uiHelpers/getElementById */ 54); +const getElementById_1 = __webpack_require__(/*! ../../utils/uiHelpers/getElementById */ 57); /** * Adds some output to the terminal. * @param input Text or HTML to output to the terminal @@ -4586,7 +4739,7 @@ function scrollTerminalToBottom() { /***/ }), -/* 8 */ +/* 9 */ /*!****************************!*\ !*** ./utils/DialogBox.js ***! \****************************/ @@ -4671,10 +4824,62 @@ function dialogBoxCreate(txt, preformatted=false) { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 9 */ +/* 10 */ +/*!*******************************************!*\ + !*** ./src/BitNode/BitNodeMultipliers.ts ***! + \*******************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * The multipliers that are influenced by current Bitnode progression. + */ +// tslint:disable-next-line:variable-name +exports.BitNodeMultipliers = { + HackingLevelMultiplier: 1, + StrengthLevelMultiplier: 1, + DefenseLevelMultiplier: 1, + DexterityLevelMultiplier: 1, + AgilityLevelMultiplier: 1, + CharismaLevelMultiplier: 1, + ServerGrowthRate: 1, + ServerMaxMoney: 1, + ServerStartingMoney: 1, + ServerStartingSecurity: 1, + ServerWeakenRate: 1, + CompanyWorkMoney: 1, + CrimeMoney: 1, + HacknetNodeMoney: 1, + ManualHackMoney: 1, + ScriptHackMoney: 1, + CodingContractMoney: 1, + ClassGymExpGain: 1, + CompanyWorkExpGain: 1, + CrimeExpGain: 1, + FactionWorkExpGain: 1, + HackExpGain: 1, + FactionPassiveRepGain: 1, + FactionWorkRepGain: 1, + RepToDonateToFaction: 1, + AugmentationMoneyCost: 1, + AugmentationRepCost: 1, + InfiltrationMoney: 1, + InfiltrationRep: 1, + CorporationValuation: 1, + BladeburnerRank: 1, + BladeburnerSkillCost: 1, +}; + + +/***/ }), +/* 11 */ /*!***********************!*\ !*** ./src/engine.js ***! \***********************/ @@ -4685,113 +4890,137 @@ function dialogBoxCreate(txt, preformatted=false) { "use strict"; __webpack_require__.r(__webpack_exports__); /* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Engine", function() { return Engine; }); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_GameOptions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/GameOptions */ 86); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 15); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 30); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 16); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 44); -/* harmony import */ var _utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/uiHelpers/removeLoadingScreen */ 122); -/* harmony import */ var _utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _ui_createStatusText__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ui/createStatusText */ 78); -/* harmony import */ var _ui_createStatusText__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _utils_LogBox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/LogBox */ 81); -/* harmony import */ var _ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./ActiveScriptsUI */ 68); -/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Augmentations */ 21); -/* harmony import */ var _BitNode__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./BitNode */ 60); -/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Bladeburner */ 32); -/* harmony import */ var _CharacterOverview__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./CharacterOverview */ 131); -/* harmony import */ var _CinematicText__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./CinematicText */ 101); -/* harmony import */ var _CodingContractGenerator__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./CodingContractGenerator */ 100); -/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Company/CompanyPositions */ 29); -/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Company/Companies */ 17); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_20__); -/* harmony import */ var _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Corporation/Corporation */ 58); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Constants */ 1); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_22__); -/* harmony import */ var _DevMenu__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./DevMenu */ 118); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Faction/Factions */ 14); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 46); -/* harmony import */ var _Fconf__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./Fconf */ 47); -/* harmony import */ var _Location__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Location */ 92); -/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Locations */ 5); -/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_28__); -/* harmony import */ var _HacknetNode__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./HacknetNode */ 67); -/* harmony import */ var _InteractiveTutorial__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./InteractiveTutorial */ 34); -/* harmony import */ var _Literature__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./Literature */ 84); -/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./Message */ 41); -/* harmony import */ var _Missions__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./Missions */ 56); -/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./NetscriptFunctions */ 43); -/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./NetscriptWorker */ 26); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Prestige__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./Prestige */ 88); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./Programs/Programs */ 24); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_38__); -/* harmony import */ var _Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./Programs/ProgramHelpers */ 95); -/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./RedPill */ 59); -/* harmony import */ var _SaveObject__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./SaveObject */ 74); -/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./Script */ 31); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./Settings */ 18); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_44___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_44__); -/* harmony import */ var _ui_setSettingsLabels__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./ui/setSettingsLabels */ 130); -/* harmony import */ var _SourceFile__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./SourceFile */ 70); -/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./SpecialServerIps */ 33); -/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 22); -/* harmony import */ var _Terminal__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ./Terminal */ 51); -/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ../utils/helpers/keyCodes */ 25); -/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ./ui/navigationTracking */ 12); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__); -/* harmony import */ var normalize_css__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! normalize.css */ 223); -/* harmony import */ var normalize_css__WEBPACK_IMPORTED_MODULE_52___default = /*#__PURE__*/__webpack_require__.n(normalize_css__WEBPACK_IMPORTED_MODULE_52__); -/* harmony import */ var _css_styles_scss__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ../css/styles.scss */ 190); -/* harmony import */ var _css_styles_scss__WEBPACK_IMPORTED_MODULE_53___default = /*#__PURE__*/__webpack_require__.n(_css_styles_scss__WEBPACK_IMPORTED_MODULE_53__); -/* harmony import */ var _css_tooltips_scss__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../css/tooltips.scss */ 188); -/* harmony import */ var _css_tooltips_scss__WEBPACK_IMPORTED_MODULE_54___default = /*#__PURE__*/__webpack_require__.n(_css_tooltips_scss__WEBPACK_IMPORTED_MODULE_54__); -/* harmony import */ var _css_buttons_scss__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../css/buttons.scss */ 186); -/* harmony import */ var _css_buttons_scss__WEBPACK_IMPORTED_MODULE_55___default = /*#__PURE__*/__webpack_require__.n(_css_buttons_scss__WEBPACK_IMPORTED_MODULE_55__); -/* harmony import */ var _css_mainmenu_scss__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../css/mainmenu.scss */ 184); -/* harmony import */ var _css_mainmenu_scss__WEBPACK_IMPORTED_MODULE_56___default = /*#__PURE__*/__webpack_require__.n(_css_mainmenu_scss__WEBPACK_IMPORTED_MODULE_56__); -/* harmony import */ var _css_characteroverview_scss__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../css/characteroverview.scss */ 182); -/* harmony import */ var _css_characteroverview_scss__WEBPACK_IMPORTED_MODULE_57___default = /*#__PURE__*/__webpack_require__.n(_css_characteroverview_scss__WEBPACK_IMPORTED_MODULE_57__); -/* harmony import */ var _css_terminal_scss__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! ../css/terminal.scss */ 180); -/* harmony import */ var _css_terminal_scss__WEBPACK_IMPORTED_MODULE_58___default = /*#__PURE__*/__webpack_require__.n(_css_terminal_scss__WEBPACK_IMPORTED_MODULE_58__); -/* harmony import */ var _css_menupages_scss__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../css/menupages.scss */ 178); -/* harmony import */ var _css_menupages_scss__WEBPACK_IMPORTED_MODULE_59___default = /*#__PURE__*/__webpack_require__.n(_css_menupages_scss__WEBPACK_IMPORTED_MODULE_59__); -/* harmony import */ var _css_stockmarket_scss__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../css/stockmarket.scss */ 176); -/* harmony import */ var _css_stockmarket_scss__WEBPACK_IMPORTED_MODULE_60___default = /*#__PURE__*/__webpack_require__.n(_css_stockmarket_scss__WEBPACK_IMPORTED_MODULE_60__); -/* harmony import */ var _css_workinprogress_scss__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../css/workinprogress.scss */ 174); -/* harmony import */ var _css_workinprogress_scss__WEBPACK_IMPORTED_MODULE_61___default = /*#__PURE__*/__webpack_require__.n(_css_workinprogress_scss__WEBPACK_IMPORTED_MODULE_61__); -/* harmony import */ var _css_popupboxes_scss__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../css/popupboxes.scss */ 172); -/* harmony import */ var _css_popupboxes_scss__WEBPACK_IMPORTED_MODULE_62___default = /*#__PURE__*/__webpack_require__.n(_css_popupboxes_scss__WEBPACK_IMPORTED_MODULE_62__); -/* harmony import */ var _css_gameoptions_scss__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../css/gameoptions.scss */ 170); -/* harmony import */ var _css_gameoptions_scss__WEBPACK_IMPORTED_MODULE_63___default = /*#__PURE__*/__webpack_require__.n(_css_gameoptions_scss__WEBPACK_IMPORTED_MODULE_63__); -/* harmony import */ var _css_interactivetutorial_scss__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../css/interactivetutorial.scss */ 168); -/* harmony import */ var _css_interactivetutorial_scss__WEBPACK_IMPORTED_MODULE_64___default = /*#__PURE__*/__webpack_require__.n(_css_interactivetutorial_scss__WEBPACK_IMPORTED_MODULE_64__); -/* harmony import */ var _css_loader_scss__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../css/loader.scss */ 166); -/* harmony import */ var _css_loader_scss__WEBPACK_IMPORTED_MODULE_65___default = /*#__PURE__*/__webpack_require__.n(_css_loader_scss__WEBPACK_IMPORTED_MODULE_65__); -/* harmony import */ var _css_missions_scss__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../css/missions.scss */ 164); -/* harmony import */ var _css_missions_scss__WEBPACK_IMPORTED_MODULE_66___default = /*#__PURE__*/__webpack_require__.n(_css_missions_scss__WEBPACK_IMPORTED_MODULE_66__); -/* harmony import */ var _css_companymanagement_scss__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../css/companymanagement.scss */ 162); -/* harmony import */ var _css_companymanagement_scss__WEBPACK_IMPORTED_MODULE_67___default = /*#__PURE__*/__webpack_require__.n(_css_companymanagement_scss__WEBPACK_IMPORTED_MODULE_67__); -/* harmony import */ var _css_bladeburner_scss__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../css/bladeburner.scss */ 160); -/* harmony import */ var _css_bladeburner_scss__WEBPACK_IMPORTED_MODULE_68___default = /*#__PURE__*/__webpack_require__.n(_css_bladeburner_scss__WEBPACK_IMPORTED_MODULE_68__); -/* harmony import */ var _css_gang_scss__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../css/gang.scss */ 158); -/* harmony import */ var _css_gang_scss__WEBPACK_IMPORTED_MODULE_69___default = /*#__PURE__*/__webpack_require__.n(_css_gang_scss__WEBPACK_IMPORTED_MODULE_69__); -/* harmony import */ var _css_treant_css__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../css/treant.css */ 156); -/* harmony import */ var _css_treant_css__WEBPACK_IMPORTED_MODULE_70___default = /*#__PURE__*/__webpack_require__.n(_css_treant_css__WEBPACK_IMPORTED_MODULE_70__); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _utils_LogBox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/LogBox */ 86); +/* harmony import */ var _ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./ActiveScriptsUI */ 73); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Augmentation/Augmentations */ 13); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Augmentation/AugmentationHelpers */ 61); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Augmentation/data/AugmentationNames */ 6); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _BitNode_BitNode__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./BitNode/BitNode */ 65); +/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Bladeburner */ 34); +/* harmony import */ var _CharacterOverview__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./CharacterOverview */ 142); +/* harmony import */ var _CinematicText__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./CinematicText */ 108); +/* harmony import */ var _CodingContractGenerator__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./CodingContractGenerator */ 107); +/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Company/CompanyPositions */ 33); +/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Company/Companies */ 19); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Corporation/Corporation */ 62); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Constants */ 1); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_14__); +/* harmony import */ var _DevMenu__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./DevMenu */ 127); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Faction/Factions */ 16); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_16__); +/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 49); +/* harmony import */ var _Fconf__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Fconf */ 50); +/* harmony import */ var _Location__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Location */ 97); +/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Locations */ 5); +/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _HacknetNode__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./HacknetNode */ 71); +/* harmony import */ var _InteractiveTutorial__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./InteractiveTutorial */ 38); +/* harmony import */ var _Literature__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Literature */ 89); +/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Message */ 44); +/* harmony import */ var _Missions__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./Missions */ 60); +/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./NetscriptFunctions */ 47); +/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./NetscriptWorker */ 29); +/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./Player */ 0); +/* harmony import */ var _Prestige__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./Prestige */ 92); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./Programs/Programs */ 26); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_30__); +/* harmony import */ var _Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./Programs/ProgramHelpers */ 102); +/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./RedPill */ 64); +/* harmony import */ var _SaveObject__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./SaveObject */ 78); +/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./Script */ 35); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./Settings */ 20); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_36___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_36__); +/* harmony import */ var _SourceFile__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./SourceFile */ 80); +/* harmony import */ var _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./SourceFile/SourceFileFlags */ 83); +/* harmony import */ var _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(_SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_38__); +/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./SpecialServerIps */ 36); +/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 24); +/* harmony import */ var _Terminal__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./Terminal */ 54); +/* harmony import */ var _PersonObjects_Resleeving_ResleevingUI__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./PersonObjects/Resleeving/ResleevingUI */ 141); +/* harmony import */ var _PersonObjects_Resleeving_ResleevingUI__WEBPACK_IMPORTED_MODULE_42___default = /*#__PURE__*/__webpack_require__.n(_PersonObjects_Resleeving_ResleevingUI__WEBPACK_IMPORTED_MODULE_42__); +/* harmony import */ var _ui_createStatusText__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./ui/createStatusText */ 81); +/* harmony import */ var _ui_createStatusText__WEBPACK_IMPORTED_MODULE_43___default = /*#__PURE__*/__webpack_require__.n(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_43__); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./ui/navigationTracking */ 14); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_45___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_45__); +/* harmony import */ var _ui_setSettingsLabels__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./ui/setSettingsLabels */ 140); +/* harmony import */ var _ui_MainMenu_Headers__WEBPACK_IMPORTED_MODULE_47__ = __webpack_require__(/*! ./ui/MainMenu/Headers */ 139); +/* harmony import */ var _ui_MainMenu_Headers__WEBPACK_IMPORTED_MODULE_47___default = /*#__PURE__*/__webpack_require__.n(_ui_MainMenu_Headers__WEBPACK_IMPORTED_MODULE_47__); +/* harmony import */ var _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__ = __webpack_require__(/*! ./ui/MainMenu/Links */ 28); +/* harmony import */ var _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48___default = /*#__PURE__*/__webpack_require__.n(_ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_49__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_GameOptions__WEBPACK_IMPORTED_MODULE_50__ = __webpack_require__(/*! ../utils/GameOptions */ 90); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_51__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 17); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_51___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_51__); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_52__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 32); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_52___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_52__); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_53__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 22); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_53___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_53__); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_55__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 45); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_55___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_55__); +/* harmony import */ var _utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_56__ = __webpack_require__(/*! ../utils/uiHelpers/removeLoadingScreen */ 126); +/* harmony import */ var _utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_56___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_56__); +/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__ = __webpack_require__(/*! ../utils/helpers/keyCodes */ 27); +/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__); +/* harmony import */ var normalize_css__WEBPACK_IMPORTED_MODULE_58__ = __webpack_require__(/*! normalize.css */ 242); +/* harmony import */ var normalize_css__WEBPACK_IMPORTED_MODULE_58___default = /*#__PURE__*/__webpack_require__.n(normalize_css__WEBPACK_IMPORTED_MODULE_58__); +/* harmony import */ var _css_styles_scss__WEBPACK_IMPORTED_MODULE_59__ = __webpack_require__(/*! ../css/styles.scss */ 203); +/* harmony import */ var _css_styles_scss__WEBPACK_IMPORTED_MODULE_59___default = /*#__PURE__*/__webpack_require__.n(_css_styles_scss__WEBPACK_IMPORTED_MODULE_59__); +/* harmony import */ var _css_tooltips_scss__WEBPACK_IMPORTED_MODULE_60__ = __webpack_require__(/*! ../css/tooltips.scss */ 201); +/* harmony import */ var _css_tooltips_scss__WEBPACK_IMPORTED_MODULE_60___default = /*#__PURE__*/__webpack_require__.n(_css_tooltips_scss__WEBPACK_IMPORTED_MODULE_60__); +/* harmony import */ var _css_buttons_scss__WEBPACK_IMPORTED_MODULE_61__ = __webpack_require__(/*! ../css/buttons.scss */ 199); +/* harmony import */ var _css_buttons_scss__WEBPACK_IMPORTED_MODULE_61___default = /*#__PURE__*/__webpack_require__.n(_css_buttons_scss__WEBPACK_IMPORTED_MODULE_61__); +/* harmony import */ var _css_mainmenu_scss__WEBPACK_IMPORTED_MODULE_62__ = __webpack_require__(/*! ../css/mainmenu.scss */ 197); +/* harmony import */ var _css_mainmenu_scss__WEBPACK_IMPORTED_MODULE_62___default = /*#__PURE__*/__webpack_require__.n(_css_mainmenu_scss__WEBPACK_IMPORTED_MODULE_62__); +/* harmony import */ var _css_characteroverview_scss__WEBPACK_IMPORTED_MODULE_63__ = __webpack_require__(/*! ../css/characteroverview.scss */ 195); +/* harmony import */ var _css_characteroverview_scss__WEBPACK_IMPORTED_MODULE_63___default = /*#__PURE__*/__webpack_require__.n(_css_characteroverview_scss__WEBPACK_IMPORTED_MODULE_63__); +/* harmony import */ var _css_terminal_scss__WEBPACK_IMPORTED_MODULE_64__ = __webpack_require__(/*! ../css/terminal.scss */ 193); +/* harmony import */ var _css_terminal_scss__WEBPACK_IMPORTED_MODULE_64___default = /*#__PURE__*/__webpack_require__.n(_css_terminal_scss__WEBPACK_IMPORTED_MODULE_64__); +/* harmony import */ var _css_menupages_scss__WEBPACK_IMPORTED_MODULE_65__ = __webpack_require__(/*! ../css/menupages.scss */ 191); +/* harmony import */ var _css_menupages_scss__WEBPACK_IMPORTED_MODULE_65___default = /*#__PURE__*/__webpack_require__.n(_css_menupages_scss__WEBPACK_IMPORTED_MODULE_65__); +/* harmony import */ var _css_stockmarket_scss__WEBPACK_IMPORTED_MODULE_66__ = __webpack_require__(/*! ../css/stockmarket.scss */ 189); +/* harmony import */ var _css_stockmarket_scss__WEBPACK_IMPORTED_MODULE_66___default = /*#__PURE__*/__webpack_require__.n(_css_stockmarket_scss__WEBPACK_IMPORTED_MODULE_66__); +/* harmony import */ var _css_workinprogress_scss__WEBPACK_IMPORTED_MODULE_67__ = __webpack_require__(/*! ../css/workinprogress.scss */ 187); +/* harmony import */ var _css_workinprogress_scss__WEBPACK_IMPORTED_MODULE_67___default = /*#__PURE__*/__webpack_require__.n(_css_workinprogress_scss__WEBPACK_IMPORTED_MODULE_67__); +/* harmony import */ var _css_popupboxes_scss__WEBPACK_IMPORTED_MODULE_68__ = __webpack_require__(/*! ../css/popupboxes.scss */ 185); +/* harmony import */ var _css_popupboxes_scss__WEBPACK_IMPORTED_MODULE_68___default = /*#__PURE__*/__webpack_require__.n(_css_popupboxes_scss__WEBPACK_IMPORTED_MODULE_68__); +/* harmony import */ var _css_gameoptions_scss__WEBPACK_IMPORTED_MODULE_69__ = __webpack_require__(/*! ../css/gameoptions.scss */ 183); +/* harmony import */ var _css_gameoptions_scss__WEBPACK_IMPORTED_MODULE_69___default = /*#__PURE__*/__webpack_require__.n(_css_gameoptions_scss__WEBPACK_IMPORTED_MODULE_69__); +/* harmony import */ var _css_interactivetutorial_scss__WEBPACK_IMPORTED_MODULE_70__ = __webpack_require__(/*! ../css/interactivetutorial.scss */ 181); +/* harmony import */ var _css_interactivetutorial_scss__WEBPACK_IMPORTED_MODULE_70___default = /*#__PURE__*/__webpack_require__.n(_css_interactivetutorial_scss__WEBPACK_IMPORTED_MODULE_70__); +/* harmony import */ var _css_loader_scss__WEBPACK_IMPORTED_MODULE_71__ = __webpack_require__(/*! ../css/loader.scss */ 179); +/* harmony import */ var _css_loader_scss__WEBPACK_IMPORTED_MODULE_71___default = /*#__PURE__*/__webpack_require__.n(_css_loader_scss__WEBPACK_IMPORTED_MODULE_71__); +/* harmony import */ var _css_missions_scss__WEBPACK_IMPORTED_MODULE_72__ = __webpack_require__(/*! ../css/missions.scss */ 177); +/* harmony import */ var _css_missions_scss__WEBPACK_IMPORTED_MODULE_72___default = /*#__PURE__*/__webpack_require__.n(_css_missions_scss__WEBPACK_IMPORTED_MODULE_72__); +/* harmony import */ var _css_companymanagement_scss__WEBPACK_IMPORTED_MODULE_73__ = __webpack_require__(/*! ../css/companymanagement.scss */ 175); +/* harmony import */ var _css_companymanagement_scss__WEBPACK_IMPORTED_MODULE_73___default = /*#__PURE__*/__webpack_require__.n(_css_companymanagement_scss__WEBPACK_IMPORTED_MODULE_73__); +/* harmony import */ var _css_bladeburner_scss__WEBPACK_IMPORTED_MODULE_74__ = __webpack_require__(/*! ../css/bladeburner.scss */ 173); +/* harmony import */ var _css_bladeburner_scss__WEBPACK_IMPORTED_MODULE_74___default = /*#__PURE__*/__webpack_require__.n(_css_bladeburner_scss__WEBPACK_IMPORTED_MODULE_74__); +/* harmony import */ var _css_gang_scss__WEBPACK_IMPORTED_MODULE_75__ = __webpack_require__(/*! ../css/gang.scss */ 171); +/* harmony import */ var _css_gang_scss__WEBPACK_IMPORTED_MODULE_75___default = /*#__PURE__*/__webpack_require__.n(_css_gang_scss__WEBPACK_IMPORTED_MODULE_75__); +/* harmony import */ var _css_treant_css__WEBPACK_IMPORTED_MODULE_76__ = __webpack_require__(/*! ../css/treant.css */ 169); +/* harmony import */ var _css_treant_css__WEBPACK_IMPORTED_MODULE_76___default = /*#__PURE__*/__webpack_require__.n(_css_treant_css__WEBPACK_IMPORTED_MODULE_76__); + + + + + + + + + + + @@ -4888,82 +5117,65 @@ __webpack_require__.r(__webpack_exports__); * Alt-o - Options */ $(document).keydown(function(e) { - if (_Settings__WEBPACK_IMPORTED_MODULE_44__["Settings"].DisableHotkeys === true) {return;} - if (!_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].isWorking && !_RedPill__WEBPACK_IMPORTED_MODULE_40__[/* redPillFlag */ "b"] && !_Missions__WEBPACK_IMPORTED_MODULE_33__[/* inMission */ "c"] && !_CinematicText__WEBPACK_IMPORTED_MODULE_17__[/* cinematicTextFlag */ "a"]) { + if (_Settings__WEBPACK_IMPORTED_MODULE_36__["Settings"].DisableHotkeys === true) {return;} + if (!_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].isWorking && !_RedPill__WEBPACK_IMPORTED_MODULE_32__[/* redPillFlag */ "b"] && !_Missions__WEBPACK_IMPORTED_MODULE_25__[/* inMission */ "c"] && !_CinematicText__WEBPACK_IMPORTED_MODULE_9__[/* cinematicTextFlag */ "a"]) { if (e.keyCode == 84 && e.altKey) { e.preventDefault(); Engine.loadTerminalContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].C && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].C && e.altKey) { e.preventDefault(); Engine.loadCharacterContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].E && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].E && e.altKey) { e.preventDefault(); Engine.loadScriptEditorContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].S && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].S && e.altKey) { e.preventDefault(); Engine.loadActiveScriptsContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].H && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].H && e.altKey) { e.preventDefault(); Engine.loadHacknetNodesContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].W && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].W && e.altKey) { e.preventDefault(); Engine.loadWorldContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].J && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].J && e.altKey) { e.preventDefault(); Engine.loadJobContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].R && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].R && e.altKey) { e.preventDefault(); Engine.loadTravelContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].P && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].P && e.altKey) { e.preventDefault(); Engine.loadCreateProgramContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].F && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].F && e.altKey) { //Overriden by Fconf - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Terminal) && _Fconf__WEBPACK_IMPORTED_MODULE_26__[/* FconfSettings */ "a"].ENABLE_BASH_HOTKEYS) { + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Terminal) && _Fconf__WEBPACK_IMPORTED_MODULE_18__[/* FconfSettings */ "a"].ENABLE_BASH_HOTKEYS) { return; } e.preventDefault(); Engine.loadFactionsContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].A && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].A && e.altKey) { e.preventDefault(); Engine.loadAugmentationsContent(); - } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].U && e.altKey) { + } else if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].U && e.altKey) { e.preventDefault(); Engine.loadTutorialContent(); } } - if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_50__["KEY"].O && e.altKey) { + if (e.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_57__["KEY"].O && e.altKey) { e.preventDefault(); - Object(_utils_GameOptions__WEBPACK_IMPORTED_MODULE_1__[/* gameOptionsBoxOpen */ "b"])(); + Object(_utils_GameOptions__WEBPACK_IMPORTED_MODULE_50__[/* gameOptionsBoxOpen */ "b"])(); } }); const Engine = { version: "", Debug: true, - overview: new _CharacterOverview__WEBPACK_IMPORTED_MODULE_16__[/* CharacterOverview */ "a"](), + overview: new _CharacterOverview__WEBPACK_IMPORTED_MODULE_8__[/* CharacterOverview */ "a"](), //Clickable objects Clickables: { //Main menu buttons - terminalMainMenuButton: null, - characterMainMenuButton: null, - scriptEditorMainMenuButton: null, - activeScriptsMainMenuButton: null, - hacknetNodesMainMenuButton: null, - worldMainMenuButton: null, - travelMainMenuButton: null, - jobMainMenuButton: null, - stockmarketMainMenuButton: null, - createProgramMainMenuButton: null, - factionsMainMenuButton: null, - augmentationsMainMenuButton: null, - tutorialMainMenuButton: null, - bladeburnerMenuButton: null, - corporationMenuButton: null, - gangMenuButton: null, - devMainMenuButton: null, saveMainMenuButton: null, deleteMainMenuButton: null, @@ -5022,16 +5234,16 @@ const Engine = { loadTerminalContent: function() { Engine.hideAllContent(); Engine.Display.terminalContent.style.display = "block"; - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Terminal); - document.getElementById("terminal-menu-link").classList.add("active"); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Terminal); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Terminal.classList.add("active"); }, loadCharacterContent: function() { Engine.hideAllContent(); Engine.Display.characterContent.style.display = "block"; Engine.displayCharacterInfo(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].CharacterInfo); - document.getElementById("stats-menu-link").classList.add("active"); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].CharacterInfo); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Stats.classList.add("active"); }, loadScriptEditorContent: function(filename = "", code = "") { @@ -5043,127 +5255,127 @@ const Engine = { editor.setValue(code); } editor.focus(); - Object(_Script__WEBPACK_IMPORTED_MODULE_42__[/* updateScriptEditorContent */ "h"])(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].ScriptEditor); - document.getElementById("create-script-menu-link").classList.add("active"); + Object(_Script__WEBPACK_IMPORTED_MODULE_34__[/* updateScriptEditorContent */ "h"])(); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].ScriptEditor); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].ScriptEditor.classList.add("active"); }, loadActiveScriptsContent: function() { Engine.hideAllContent(); Engine.Display.activeScriptsContent.style.display = "block"; - Object(_ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_12__[/* updateActiveScriptsItems */ "c"])(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].ActiveScripts); - document.getElementById("active-scripts-menu-link").classList.add("active"); + Object(_ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_2__[/* updateActiveScriptsItems */ "c"])(); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].ActiveScripts); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].ActiveScripts.classList.add("active"); }, loadHacknetNodesContent: function() { Engine.hideAllContent(); Engine.Display.hacknetNodesContent.style.display = "block"; - Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_29__[/* displayHacknetNodesContent */ "b"])(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].HacknetNodes); - document.getElementById("hacknet-nodes-menu-link").classList.add("active"); + Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_21__[/* displayHacknetNodesContent */ "b"])(); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].HacknetNodes); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].HacknetNodes.classList.add("active"); }, loadWorldContent: function() { Engine.hideAllContent(); Engine.Display.worldContent.style.display = "block"; Engine.displayWorldInfo(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].World); - document.getElementById("city-menu-link").classList.add("active"); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].World); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].City.classList.add("active"); }, loadCreateProgramContent: function() { Engine.hideAllContent(); Engine.Display.createProgramContent.style.display = "block"; - Object(_Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_39__[/* displayCreateProgramContent */ "a"])(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].CreateProgram); - document.getElementById("create-program-menu-link").classList.add("active"); + Object(_Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_31__[/* displayCreateProgramContent */ "a"])(); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].CreateProgram); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].CreateProgram.classList.add("active"); }, loadFactionsContent: function() { Engine.hideAllContent(); Engine.Display.factionsContent.style.display = "block"; Engine.displayFactionsInfo(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Factions); - document.getElementById("factions-menu-link").classList.add("active"); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Factions); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Factions.classList.add("active"); }, loadFactionContent: function() { Engine.hideAllContent(); Engine.Display.factionContent.style.display = "block"; - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Faction); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Faction); }, loadAugmentationsContent: function() { Engine.hideAllContent(); Engine.Display.augmentationsContent.style.display = "block"; - Object(_Augmentations__WEBPACK_IMPORTED_MODULE_13__[/* displayAugmentationsContent */ "g"])(Engine.Display.augmentationsContent); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Augmentations); - document.getElementById("augmentations-menu-link").classList.add("active"); + Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_4__[/* displayAugmentationsContent */ "c"])(Engine.Display.augmentationsContent); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Augmentations); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Augmentations.classList.add("active"); }, loadTutorialContent: function() { Engine.hideAllContent(); Engine.Display.tutorialContent.style.display = "block"; Engine.displayTutorialContent(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Tutorial); - document.getElementById("tutorial-menu-link").classList.add("active"); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Tutorial); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Tutorial.classList.add("active"); }, loadDevMenuContent: function() { Engine.hideAllContent(); - Object(_DevMenu__WEBPACK_IMPORTED_MODULE_23__[/* createDevMenu */ "b"])(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].DevMenu); - document.getElementById("dev-menu-link").classList.add("active"); + Object(_DevMenu__WEBPACK_IMPORTED_MODULE_15__[/* createDevMenu */ "b"])(); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].DevMenu); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].DevMenu.classList.add("active"); }, loadLocationContent: function() { Engine.hideAllContent(); Engine.Display.locationContent.style.display = "block"; try { - Object(_Location__WEBPACK_IMPORTED_MODULE_27__[/* displayLocationContent */ "a"])(); + Object(_Location__WEBPACK_IMPORTED_MODULE_19__[/* displayLocationContent */ "a"])(); } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_6__[/* exceptionAlert */ "a"])(e); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_55__["exceptionAlert"])(e); console.error(e); } - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Location); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Location); }, loadTravelContent: function() { - switch(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].city) { - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Aevum: - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].AevumTravelAgency; + switch(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].city) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Aevum: + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].AevumTravelAgency; break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Chongqing: - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].ChongqingTravelAgency; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Chongqing: + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].ChongqingTravelAgency; break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Sector12: - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Sector12TravelAgency; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12: + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12TravelAgency; break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].NewTokyo: - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].NewTokyoTravelAgency; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].NewTokyo: + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].NewTokyoTravelAgency; break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Ishima: - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].IshimaTravelAgency; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Ishima: + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].IshimaTravelAgency; break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Volhaven: - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].VolhavenTravelAgency; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Volhaven: + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].VolhavenTravelAgency; break; default: - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("ERROR: Invalid city. This is a bug please contact game dev"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_49__["dialogBoxCreate"])("ERROR: Invalid city. This is a bug please contact game dev"); break; } Engine.loadLocationContent(); }, loadJobContent: function() { - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].companyName == "") { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("You do not currently have a job! You can visit various companies " + + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].companyName == "") { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_49__["dialogBoxCreate"])("You do not currently have a job! You can visit various companies " + "in the city and try to find a job."); return; } - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].location = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].companyName; + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].location = _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].companyName; Engine.loadLocationContent(); }, @@ -5173,7 +5385,7 @@ const Engine = { //mainMenu.style.visibility = "hidden"; mainMenu.style.visibility = "hidden"; Engine.Display.workInProgressContent.style.display = "block"; - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].WorkInProgress); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].WorkInProgress); }, loadRedPillContent: function() { @@ -5181,7 +5393,7 @@ const Engine = { var mainMenu = document.getElementById("mainmenu-container"); mainMenu.style.visibility = "hidden"; Engine.Display.redPillContent.style.display = "block"; - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].RedPill); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].RedPill); }, loadCinematicTextContent: function() { @@ -5189,30 +5401,30 @@ const Engine = { var mainMenu = document.getElementById("mainmenu-container"); mainMenu.style.visibility = "hidden"; Engine.Display.cinematicTextContent.style.display = "block"; - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].CinematicText); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].CinematicText); }, loadInfiltrationContent: function() { Engine.hideAllContent(); Engine.Display.infiltrationContent.style.display = "block"; - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Infiltration); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Infiltration); }, loadStockMarketContent: function() { Engine.hideAllContent(); Engine.Display.stockMarketContent.style.display = "block"; - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].StockMarket); - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_48__[/* displayStockMarketContent */ "g"])(); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].StockMarket); + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_40__[/* displayStockMarketContent */ "g"])(); }, loadGangContent: function() { Engine.hideAllContent(); - if (document.getElementById("gang-container") || _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].inGang()) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].gang.displayGangContent(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"]); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Gang); + if (document.getElementById("gang-container") || _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].inGang()) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].gang.displayGangContent(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"]); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Gang); } else { Engine.loadTerminalContent(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Terminal); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Terminal); } }, @@ -5221,30 +5433,44 @@ const Engine = { document.getElementById("mainmenu-container").style.visibility = "hidden"; document.getElementById("character-overview-wrapper").style.visibility = "hidden"; Engine.Display.missionContent.style.display = "block"; - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Mission); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Mission); }, loadCorporationContent: function() { - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_21__[/* Corporation */ "a"]) { + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_13__[/* Corporation */ "a"]) { Engine.hideAllContent(); document.getElementById("character-overview-wrapper").style.visibility = "hidden"; - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation.createUI(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Corporation); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation.createUI(); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Corporation); } }, loadBladeburnerContent: function() { - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_15__[/* Bladeburner */ "a"]) { + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"]) { try { Engine.hideAllContent(); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Bladeburner); - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner.createContent(); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Bladeburner); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner.createContent(); } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_6__[/* exceptionAlert */ "a"])(e); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_55__["exceptionAlert"])(e); } } }, + loadSleevesContent: function() { + // This is for Duplicate Sleeves page, not Re-sleeving @ Vita Life + }, + + loadResleevingContent: function() { + try { + Engine.hideAllContent(); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Resleeves); + Object(_PersonObjects_Resleeving_ResleevingUI__WEBPACK_IMPORTED_MODULE_42__["createResleevesPage"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"]); + } catch(e) { + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_55__["exceptionAlert"])(e); + } + }, + //Helper function that hides all content hideAllContent: function() { Engine.Display.terminalContent.style.display = "none"; @@ -5270,15 +5496,15 @@ const Engine = { document.getElementById("gang-container").style.display = "none"; } - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].inGang()) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].gang.clearUI(); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].inGang()) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].gang.clearUI(); } - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_21__[/* Corporation */ "a"]) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation.clearUI(); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_13__[/* Corporation */ "a"]) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation.clearUI(); } - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_15__[/* Bladeburner */ "a"]) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner.clearContent(); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"]) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner.clearContent(); } //Location lists @@ -5290,26 +5516,27 @@ const Engine = { Engine.volhavenLocationsList.style.display = "none"; //Make nav menu tabs inactive - document.getElementById("terminal-menu-link").classList.remove("active"); - document.getElementById("create-script-menu-link").classList.remove("active"); - document.getElementById("active-scripts-menu-link").classList.remove("active"); - document.getElementById("create-program-menu-link").classList.remove("active"); - document.getElementById("stats-menu-link").classList.remove("active"); - document.getElementById("factions-menu-link").classList.remove("active"); - document.getElementById("augmentations-menu-link").classList.remove("active"); - document.getElementById("hacknet-nodes-menu-link").classList.remove("active"); - document.getElementById("city-menu-link").classList.remove("active"); - document.getElementById("travel-menu-link").classList.remove("active"); - document.getElementById("stock-market-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"); - document.getElementById("bladeburner-menu-link").classList.remove("active"); - document.getElementById("corporation-menu-link").classList.remove("active"); - document.getElementById("gang-menu-link").classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Terminal.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].ScriptEditor.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].ActiveScripts.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].CreateProgram.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Stats.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Factions.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Augmentations.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].HacknetNodes.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].City.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Travel.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Job.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].StockMarket.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Bladeburner.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Corporation.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Gang.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Tutorial.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Options.classList.remove("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].DevMenu.classList.remove("active"); // Close dev menu - Object(_DevMenu__WEBPACK_IMPORTED_MODULE_23__[/* closeDevMenu */ "a"])(); + Object(_DevMenu__WEBPACK_IMPORTED_MODULE_15__[/* closeDevMenu */ "a"])(); }, displayCharacterOverviewInfo: function() { @@ -5317,7 +5544,7 @@ const Engine = { const save = document.getElementById("character-overview-save-button"); const flashClass = "flashing-button"; - if(!_Settings__WEBPACK_IMPORTED_MODULE_44__["Settings"].AutosaveInterval) { + if(!_Settings__WEBPACK_IMPORTED_MODULE_36__["Settings"].AutosaveInterval) { save.classList.add(flashClass); } else { save.classList.remove(flashClass); @@ -5326,92 +5553,93 @@ const Engine = { /* Display character info */ displayCharacterInfo: function() { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_3__["removeChildrenFromElement"])(Engine.Display.characterInfo); + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_52__["removeChildrenFromElement"])(Engine.Display.characterInfo); - var companyPosition = ""; - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].companyPosition !== "") { - companyPosition = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].companyPosition; + let companyPosition = ""; + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].companyName !== "") { + companyPosition = _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].jobs[_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].companyName]; } var intText = ""; - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].intelligence > 0) { - intText = 'Intelligence: ' + (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].intelligence).toLocaleString() + '
'; + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].intelligence > 0) { + intText = 'Intelligence: ' + (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].intelligence).toLocaleString() + '
'; } let bitNodeTimeText = ""; - if(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].sourceFiles.length > 0) { - bitNodeTimeText = 'Time played since last Bitnode destroyed: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__["convertTimeMsToTimeElapsedString"])(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastBitnode) + '
'; + if(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].sourceFiles.length > 0) { + bitNodeTimeText = 'Time played since last Bitnode destroyed: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["convertTimeMsToTimeElapsedString"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastBitnode) + '
'; } - Engine.Display.characterInfo.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("pre", { + Engine.Display.characterInfo.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("pre", { innerHTML: 'General

' + - 'Current City: ' + _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].city + '

' + - 'Employer: ' + _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].companyName + '
' + - 'Job Title: ' + companyPosition + '

' + - 'Money: $' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].money.toNumber(), 2) + '


' + + 'Current City: ' + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].city + '

' + + `Employer at which you last worked: ${_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].companyName}
` + + `Job you last worked: ${companyPosition}
` + + `All Employers: ${Object.keys(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].jobs).join(", ")}

` + + 'Money: $' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].money.toNumber(), 2) + '


' + 'Stats

' + - 'Hacking Level: ' + (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].hacking_skill).toLocaleString() + - ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_8__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].hacking_exp, '(0.000a)') + ' experience)
' + - 'Strength: ' + (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].strength).toLocaleString() + - ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_8__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].strength_exp, '(0.000a)') + ' experience)
' + - 'Defense: ' + (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].defense).toLocaleString() + - ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_8__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].defense_exp, '(0.000a)') + ' experience)
' + - 'Dexterity: ' + (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].dexterity).toLocaleString() + - ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_8__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].dexterity_exp, '(0.000a)') + ' experience)
' + - 'Agility: ' + (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].agility).toLocaleString() + - ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_8__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].agility_exp, '(0.000a)') + ' experience)
' + - 'Charisma: ' + (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].charisma).toLocaleString() + - ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_8__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].charisma_exp, '(0.000a)') + ' experience)
' + + 'Hacking Level: ' + (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hacking_skill).toLocaleString() + + ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_45__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hacking_exp, '(0.000a)') + ' experience)
' + + 'Strength: ' + (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].strength).toLocaleString() + + ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_45__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].strength_exp, '(0.000a)') + ' experience)
' + + 'Defense: ' + (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].defense).toLocaleString() + + ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_45__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].defense_exp, '(0.000a)') + ' experience)
' + + 'Dexterity: ' + (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].dexterity).toLocaleString() + + ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_45__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].dexterity_exp, '(0.000a)') + ' experience)
' + + 'Agility: ' + (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].agility).toLocaleString() + + ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_45__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].agility_exp, '(0.000a)') + ' experience)
' + + 'Charisma: ' + (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].charisma).toLocaleString() + + ' (' + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_45__["numeralWrapper"].format(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].charisma_exp, '(0.000a)') + ' experience)
' + intText + '

' + 'Multipliers

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

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

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

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

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

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

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

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

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


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

' + + 'Hacking Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hacking_mult * 100, 2) + '%
' + + 'Hacking Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hacking_exp_mult * 100, 2) + '%

' + + 'Strength Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].strength_mult * 100, 2) + '%
' + + 'Strength Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].strength_exp_mult * 100, 2) + '%

' + + 'Defense Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].defense_mult * 100, 2) + '%
' + + 'Defense Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].defense_exp_mult * 100, 2) + '%

' + + 'Dexterity Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].dexterity_mult * 100, 2) + '%
' + + 'Dexterity Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].dexterity_exp_mult * 100, 2) + '%

' + + 'Agility Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].agility_mult * 100, 2) + '%
' + + 'Agility Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].agility_exp_mult * 100, 2) + '%

' + + 'Charisma Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].charisma_mult * 100, 2) + '%
' + + 'Charisma Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].charisma_exp_mult * 100, 2) + '%

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

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


' + 'Misc

' + - 'Servers owned: ' + _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].purchasedServers.length + '
' + - 'Hacknet Nodes owned: ' + _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].hacknetNodes.length + '
' + - 'Augmentations installed: ' + _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].augmentations.length + '
' + - 'Time played since last Augmentation: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__["convertTimeMsToTimeElapsedString"])(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastAug) + '
' + + 'Servers owned: ' + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].purchasedServers.length + '
' + + 'Hacknet Nodes owned: ' + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hacknetNodes.length + '
' + + 'Augmentations installed: ' + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].augmentations.length + '
' + + 'Time played since last Augmentation: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["convertTimeMsToTimeElapsedString"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastAug) + '
' + bitNodeTimeText + - 'Time played: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__["convertTimeMsToTimeElapsedString"])(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].totalPlaytime), + 'Time played: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["convertTimeMsToTimeElapsedString"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].totalPlaytime), })); - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].sourceFiles.length !== 0) { - var index = "BitNode" + _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bitNodeN; + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].sourceFiles.length !== 0) { + var index = "BitNode" + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bitNodeN; - Engine.Display.characterInfo.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", { + Engine.Display.characterInfo.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("p", { width:"60%", innerHTML: - "
Current BitNode: " + _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bitNodeN + " (" + _BitNode__WEBPACK_IMPORTED_MODULE_14__[/* BitNodes */ "a"][index].name + ")

", + "
Current BitNode: " + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bitNodeN + " (" + _BitNode_BitNode__WEBPACK_IMPORTED_MODULE_6__[/* BitNodes */ "a"][index].name + ")

", })); - Engine.Display.characterInfo.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", { + Engine.Display.characterInfo.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("p", { width:"60%", fontSize: "13px", marginLeft:"4%", - innerHTML:_BitNode__WEBPACK_IMPORTED_MODULE_14__[/* BitNodes */ "a"][index].info, + innerHTML:_BitNode_BitNode__WEBPACK_IMPORTED_MODULE_6__[/* BitNodes */ "a"][index].info, })) } }, @@ -5432,32 +5660,32 @@ const Engine = { Engine.ishimaLocationsList.style.display = "none"; Engine.volhavenLocationsList.style.display = "none"; - document.getElementById("world-city-name").innerHTML = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].city; + document.getElementById("world-city-name").innerHTML = _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].city; var cityDesc = document.getElementById("world-city-desc"); //TODO - switch(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].city) { - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Aevum: + switch(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].city) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Aevum: Engine.aevumLocationsList.style.display = "inline"; break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Chongqing: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Chongqing: Engine.chongqingLocationsList.style.display = "inline"; break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Sector12: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12: Engine.sector12LocationsList.style.display = "inline"; //City hall only in BitNode-3/with Source-File 3 - if ((_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bitNodeN === 3 || _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_34__[/* hasCorporationSF */ "e"]) && _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bitNodeN !== 8) { + if ((_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bitNodeN === 3 || _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_26__[/* hasCorporationSF */ "e"]) && _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bitNodeN !== 8) { document.getElementById("sector12-cityhall-li").style.display = "block"; } else { document.getElementById("sector12-cityhall-li").style.display = "none"; } break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].NewTokyo: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].NewTokyo: Engine.newTokyoLocationsList.style.display = "inline"; break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Ishima: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Ishima: Engine.ishimaLocationsList.style.display = "inline"; break; - case _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].Volhaven: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Volhaven: Engine.volhavenLocationsList.style.display = "inline"; break; default: @@ -5471,22 +5699,22 @@ const Engine = { // Bladeburner HQ (if applicable); var genericLocationsList = document.getElementById("generic-locations-list"); genericLocationsList.style.display = "inline"; - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_3__["removeChildrenFromElement"])(genericLocationsList); - var li = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("li"); - li.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("a", { + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_52__["removeChildrenFromElement"])(genericLocationsList); + var li = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("li"); + li.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("a", { innerText:"World Stock Exchange", class:"a-link-button", clickListener:()=>{ - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_28__["Locations"].WorldStockExchange; + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].WorldStockExchange; Engine.loadStockMarketContent(); return false; } })); genericLocationsList.appendChild(li); - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_21__[/* Corporation */ "a"] && document.getElementById("location-corporation-button") == null) { - var li = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("li"); - li.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("a", { - innerText:_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation.name, id:"location-corporation-button", + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_13__[/* Corporation */ "a"] && document.getElementById("location-corporation-button") == null) { + var li = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("li"); + li.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("a", { + innerText:_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation.name, id:"location-corporation-button", class:"a-link-button", clickListener:()=>{ Engine.loadCorporationContent(); @@ -5496,9 +5724,9 @@ const Engine = { genericLocationsList.appendChild(li); } - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_15__[/* Bladeburner */ "a"]) { - var li = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("li"); - li.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("a", { + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"]) { + var li = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("li"); + li.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("a", { innerText:"Bladeburner Headquarters", class:"a-link-button", clickListener:()=>{ Engine.loadBladeburnerContent(); @@ -5510,67 +5738,67 @@ const Engine = { }, displayFactionsInfo: function() { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_3__["removeChildrenFromElement"])(Engine.Display.factionsContent); + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_52__["removeChildrenFromElement"])(Engine.Display.factionsContent); //Factions - Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("h1", { + Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("h1", { innerText:"Factions" })); - Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", { + Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("p", { innerText:"Lists all factions you have joined" })); - var factionsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("ul"); - Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("br")); + var factionsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("ul"); + Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("br")); //Add a button for each faction you are a member of - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].factions.length; ++i) { + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].factions.length; ++i) { (function () { - var factionName = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].factions[i]; + var factionName = _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].factions[i]; - factionsList.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("a", { + factionsList.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("a", { class:"a-link-button", innerText:factionName, padding:"4px", margin:"4px", display:"inline-block", clickListener:()=>{ Engine.loadFactionContent(); - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_25__[/* displayFactionContent */ "a"])(factionName); + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_17__[/* displayFactionContent */ "a"])(factionName); return false; } })); - factionsList.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("br")); + factionsList.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("br")); }()); //Immediate invocation } Engine.Display.factionsContent.appendChild(factionsList); - Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("br")); + Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("br")); //Invited Factions - Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("h1", { + Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("h1", { innerText:"Outstanding Faction Invitations" })); - Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", { + Engine.Display.factionsContent.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("p", { width:"70%", innerText:"Lists factions you have been invited to, as well as " + "factions you have previously rejected. You can accept " + "these faction invitations at any time." })); - var invitationsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("ul"); + var invitationsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("ul"); //Add a button to accept for each faction you have invitiations for - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].factionInvitations.length; ++i) { + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].factionInvitations.length; ++i) { (function () { - var factionName = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].factionInvitations[i]; + var factionName = _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].factionInvitations[i]; - var item = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("li", {padding:"6px", margin:"6px"}); - item.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("p", { + var item = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("li", {padding:"6px", margin:"6px"}); + item.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("p", { innerText:factionName, display:"inline", margin:"4px", padding:"4px" })); - item.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_5__["createElement"])("a", { + item.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_54__["createElement"])("a", { innerText:"Accept Faction Invitation", class:"a-link-button", display:"inline", margin:"4px", padding:"4px", clickListener:()=>{ - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_25__[/* joinFaction */ "c"])(_Faction_Factions__WEBPACK_IMPORTED_MODULE_24__["Factions"][factionName]); - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].factionInvitations.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].factionInvitations[i] == factionName || _Faction_Factions__WEBPACK_IMPORTED_MODULE_24__["Factions"][_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].factionInvitations[i]].isBanned) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].factionInvitations.splice(i, 1); + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_17__[/* joinFaction */ "c"])(_Faction_Factions__WEBPACK_IMPORTED_MODULE_16__["Factions"][factionName]); + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].factionInvitations.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].factionInvitations[i] == factionName || _Faction_Factions__WEBPACK_IMPORTED_MODULE_16__["Factions"][_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].factionInvitations[i]].isBanned) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].factionInvitations.splice(i, 1); i--; } } @@ -5633,7 +5861,7 @@ const Engine = { if (diff > 0) { //Update the game engine by the calculated number of cycles Engine._lastUpdate = _thisUpdate - offset; - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].lastUpdate = _thisUpdate - offset; + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].lastUpdate = _thisUpdate - offset; Engine.updateGame(diff); } @@ -5642,65 +5870,65 @@ const Engine = { updateGame: function(numCycles = 1) { var time = numCycles * Engine._idleSpeed; - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].totalPlaytime == null) {_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].totalPlaytime = 0;} - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastAug == null) {_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastAug = 0;} - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastBitnode == null) {_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastBitnode = 0;} - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].totalPlaytime += time; - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastAug += time; - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastBitnode += time; + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].totalPlaytime == null) {_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].totalPlaytime = 0;} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastAug == null) {_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastAug = 0;} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastBitnode == null) {_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastBitnode = 0;} + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].totalPlaytime += time; + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastAug += time; + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastBitnode += time; //Start Manual hack - if (_Terminal__WEBPACK_IMPORTED_MODULE_49__[/* Terminal */ "a"].actionStarted === true) { - Engine._totalActionTime = _Terminal__WEBPACK_IMPORTED_MODULE_49__[/* Terminal */ "a"].actionTime; - Engine._actionTimeLeft = _Terminal__WEBPACK_IMPORTED_MODULE_49__[/* Terminal */ "a"].actionTime; + if (_Terminal__WEBPACK_IMPORTED_MODULE_41__[/* Terminal */ "a"].actionStarted === true) { + Engine._totalActionTime = _Terminal__WEBPACK_IMPORTED_MODULE_41__[/* Terminal */ "a"].actionTime; + Engine._actionTimeLeft = _Terminal__WEBPACK_IMPORTED_MODULE_41__[/* Terminal */ "a"].actionTime; Engine._actionInProgress = true; Engine._actionProgressBarCount = 1; Engine._actionProgressStr = "[ ]"; Engine._actionTimeStr = "Time left: "; - _Terminal__WEBPACK_IMPORTED_MODULE_49__[/* Terminal */ "a"].actionStarted = false; + _Terminal__WEBPACK_IMPORTED_MODULE_41__[/* Terminal */ "a"].actionStarted = false; } //Working - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].isWorking) { - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeFaction) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workForFaction(numCycles); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeCreateProgram) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].createProgramWork(numCycles); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeStudyClass) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].takeClass(numCycles); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeCrime) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].commitCrime(numCycles); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeCompanyPartTime) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workPartTime(numCycles); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].isWorking) { + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeFaction) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workForFaction(numCycles); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeCreateProgram) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].createProgramWork(numCycles); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeStudyClass) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].takeClass(numCycles); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeCrime) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].commitCrime(numCycles); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeCompanyPartTime) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workPartTime(numCycles); } else { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].work(numCycles); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].work(numCycles); } } // Update stock prices - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].hasWseAccount) { - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_48__[/* processStockPrices */ "m"])(numCycles); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hasWseAccount) { + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_40__[/* processStockPrices */ "m"])(numCycles); } //Gang, if applicable - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bitNodeN == 2 && _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].inGang()) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].gang.process(numCycles, _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"]); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bitNodeN == 2 && _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].inGang()) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].gang.process(numCycles, _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"]); } //Mission - if (_Missions__WEBPACK_IMPORTED_MODULE_33__[/* inMission */ "c"] && _Missions__WEBPACK_IMPORTED_MODULE_33__[/* currMission */ "b"]) { - _Missions__WEBPACK_IMPORTED_MODULE_33__[/* currMission */ "b"].process(numCycles); + if (_Missions__WEBPACK_IMPORTED_MODULE_25__[/* inMission */ "c"] && _Missions__WEBPACK_IMPORTED_MODULE_25__[/* currMission */ "b"]) { + _Missions__WEBPACK_IMPORTED_MODULE_25__[/* currMission */ "b"].process(numCycles); } //Corporation - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_21__[/* Corporation */ "a"]) { + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_13__[/* Corporation */ "a"]) { //Stores cycles in a "buffer". Processed separately using Engine Counters //This is to avoid constant DOM redraws when Corporation is catching up - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation.storeCycles(numCycles); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation.storeCycles(numCycles); } - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_15__[/* Bladeburner */ "a"]) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner.storeCycles(numCycles); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"]) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner.storeCycles(numCycles); } //Counters @@ -5713,10 +5941,10 @@ const Engine = { } //Update the running time of all active scripts - Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* updateOnlineScriptTimes */ "g"])(numCycles); + Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_27__[/* updateOnlineScriptTimes */ "g"])(numCycles); //Hacknet Nodes - Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_29__[/* processAllHacknetNodeEarnings */ "d"])(numCycles); + Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_21__[/* processAllHacknetNodeEarnings */ "d"])(numCycles); }, //Counters for the main event loop. Represent the number of game cycles are required @@ -5749,26 +5977,26 @@ const Engine = { //is necessary and then resets the counter checkCounters: function() { if (Engine.Counters.autoSaveCounter <= 0) { - _SaveObject__WEBPACK_IMPORTED_MODULE_41__[/* saveObject */ "b"].saveGame(indexedDb); - if (_Settings__WEBPACK_IMPORTED_MODULE_44__["Settings"].AutosaveInterval == null) { - _Settings__WEBPACK_IMPORTED_MODULE_44__["Settings"].AutosaveInterval = 60; + _SaveObject__WEBPACK_IMPORTED_MODULE_33__[/* saveObject */ "b"].saveGame(indexedDb); + if (_Settings__WEBPACK_IMPORTED_MODULE_36__["Settings"].AutosaveInterval == null) { + _Settings__WEBPACK_IMPORTED_MODULE_36__["Settings"].AutosaveInterval = 60; } - if (_Settings__WEBPACK_IMPORTED_MODULE_44__["Settings"].AutosaveInterval === 0) { + if (_Settings__WEBPACK_IMPORTED_MODULE_36__["Settings"].AutosaveInterval === 0) { Engine.Counters.autoSaveCounter = Infinity; } else { - Engine.Counters.autoSaveCounter = _Settings__WEBPACK_IMPORTED_MODULE_44__["Settings"].AutosaveInterval * 5; + Engine.Counters.autoSaveCounter = _Settings__WEBPACK_IMPORTED_MODULE_36__["Settings"].AutosaveInterval * 5; } } if (Engine.Counters.updateSkillLevelsCounter <= 0) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].updateSkillLevels(); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].updateSkillLevels(); Engine.Counters.updateSkillLevelsCounter = 10; } if (Engine.Counters.updateActiveScriptsDisplay <= 0) { //Always update, but make the interval longer if the page isn't active - Object(_ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_12__[/* updateActiveScriptsItems */ "c"])(); - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].ActiveScripts)) { + Object(_ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_2__[/* updateActiveScriptsItems */ "c"])(); + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].ActiveScripts)) { Engine.Counters.updateActiveScriptsDisplay = 5; } else { Engine.Counters.updateActiveScriptsDisplay = 10; @@ -5777,39 +6005,39 @@ const Engine = { if (Engine.Counters.updateDisplays <= 0) { Engine.displayCharacterOverviewInfo(); - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].CharacterInfo)) { + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].CharacterInfo)) { Engine.displayCharacterInfo(); - } else if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].HacknetNodes)) { - Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_29__[/* updateHacknetNodesContent */ "f"])(); - } else if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].CreateProgram)) { - Object(_Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_39__[/* displayCreateProgramContent */ "a"])(); + } else if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].HacknetNodes)) { + Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_21__[/* updateHacknetNodesContent */ "f"])(); + } else if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].CreateProgram)) { + Object(_Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_31__[/* displayCreateProgramContent */ "a"])(); } - if (_utils_LogBox__WEBPACK_IMPORTED_MODULE_11__[/* logBoxOpened */ "b"]) { - Object(_utils_LogBox__WEBPACK_IMPORTED_MODULE_11__[/* logBoxUpdateText */ "c"])(); + if (_utils_LogBox__WEBPACK_IMPORTED_MODULE_1__[/* logBoxOpened */ "b"]) { + Object(_utils_LogBox__WEBPACK_IMPORTED_MODULE_1__[/* logBoxUpdateText */ "c"])(); } Engine.Counters.updateDisplays = 3; } if (Engine.Counters.updateDisplaysMed <= 0) { - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Corporation)) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation.updateUIContent(); + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Corporation)) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation.updateUIContent(); } Engine.Counters.updateDisplaysMed = 9; } if (Engine.Counters.updateDisplaysLong <= 0) { - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Gang) && _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].inGang()) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].gang.updateGangContent(); - } else if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].ScriptEditor)) { - Object(_Script__WEBPACK_IMPORTED_MODULE_42__[/* updateScriptEditorContent */ "h"])(); + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Gang) && _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].inGang()) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].gang.updateGangContent(); + } else if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].ScriptEditor)) { + Object(_Script__WEBPACK_IMPORTED_MODULE_34__[/* updateScriptEditorContent */ "h"])(); } Engine.Counters.updateDisplaysLong = 15; } if (Engine.Counters.createProgramNotifications <= 0) { - var num = Object(_Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_39__[/* getNumAvailableCreateProgram */ "b"])(); + var num = Object(_Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_31__[/* getNumAvailableCreateProgram */ "b"])(); var elem = document.getElementById("create-program-notification"); if (num > 0) { elem.innerHTML = num; @@ -5822,30 +6050,30 @@ const Engine = { } if (Engine.Counters.checkFactionInvitations <= 0) { - var invitedFactions = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].checkForFactionInvitations(); + var invitedFactions = _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].checkForFactionInvitations(); if (invitedFactions.length > 0) { - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].firstFacInvRecvd === false) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].firstFacInvRecvd = true; + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].firstFacInvRecvd === false) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].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_FactionHelpers__WEBPACK_IMPORTED_MODULE_25__[/* inviteToFaction */ "b"])(randFaction); + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_17__[/* inviteToFaction */ "b"])(randFaction); } Engine.Counters.checkFactionInvitations = 100; } if (Engine.Counters.passiveFactionGrowth <= 0) { var adjustedCycles = Math.floor((600 - Engine.Counters.passiveFactionGrowth)); - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_25__[/* processPassiveFactionRepGain */ "d"])(adjustedCycles); + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_17__[/* processPassiveFactionRepGain */ "d"])(adjustedCycles); Engine.Counters.passiveFactionGrowth = 600; } if (Engine.Counters.messages <= 0) { - Object(_Message__WEBPACK_IMPORTED_MODULE_32__[/* checkForMessagesToSend */ "c"])(); - if (_Augmentations__WEBPACK_IMPORTED_MODULE_13__[/* Augmentations */ "c"][_Augmentations__WEBPACK_IMPORTED_MODULE_13__[/* AugmentationNames */ "b"].TheRedPill].owned) { + Object(_Message__WEBPACK_IMPORTED_MODULE_24__[/* checkForMessagesToSend */ "c"])(); + if (_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_3__["Augmentations"][_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_5__["AugmentationNames"].TheRedPill].owned) { Engine.Counters.messages = 4500; //15 minutes for Red pill message } else { Engine.Counters.messages = 150; @@ -5853,21 +6081,21 @@ const Engine = { } if (Engine.Counters.sCr <= 0) { - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].hasWseAccount) { - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_48__[/* stockMarketCycle */ "q"])(); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hasWseAccount) { + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_40__[/* stockMarketCycle */ "q"])(); } Engine.Counters.sCr = 1500; } if (Engine.Counters.mechanicProcess <= 0) { - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_21__[/* Corporation */ "a"]) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation.process(); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_13__[/* Corporation */ "a"]) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation.process(); } - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_15__[/* Bladeburner */ "a"]) { + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"]) { try { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner.process(); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner.process(); } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_6__[/* exceptionAlert */ "a"])("Exception caught in Bladeburner.process(): " + e); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_55__["exceptionAlert"])("Exception caught in Bladeburner.process(): " + e); } } @@ -5877,7 +6105,7 @@ const Engine = { if (Engine.Counters.contractGeneration <= 0) { // X% chance of a contract being generated if (Math.random() <= 0.25) { - Object(_CodingContractGenerator__WEBPACK_IMPORTED_MODULE_18__[/* generateRandomContract */ "a"])(); + Object(_CodingContractGenerator__WEBPACK_IMPORTED_MODULE_10__[/* generateRandomContract */ "a"])(); } Engine.Counters.contractGeneration = 3000; } @@ -5900,7 +6128,7 @@ const Engine = { //Update progress bar while (Engine._actionProgressBarCount * 2 <= percent) { - Engine._actionProgressStr = Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__["replaceAt"])(Engine._actionProgressStr, Engine._actionProgressBarCount, "|"); + Engine._actionProgressStr = Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["replaceAt"])(Engine._actionProgressStr, Engine._actionProgressBarCount, "|"); Engine._actionProgressBarCount += 1; } @@ -5914,7 +6142,7 @@ const Engine = { //Once percent is 100, the hack is completed if (percent >= 100) { Engine._actionInProgress = false; - _Terminal__WEBPACK_IMPORTED_MODULE_49__[/* Terminal */ "a"].finishAction(); + _Terminal__WEBPACK_IMPORTED_MODULE_41__[/* Terminal */ "a"].finishAction(); } }, @@ -5987,130 +6215,129 @@ const Engine = { var dev = document.getElementById("dev-tab"); //Load game from save or create new game - if (Object(_SaveObject__WEBPACK_IMPORTED_MODULE_41__[/* loadGame */ "a"])(saveString)) { + if (Object(_SaveObject__WEBPACK_IMPORTED_MODULE_33__[/* loadGame */ "a"])(saveString)) { console.log("Loaded game from save"); - Object(_BitNode__WEBPACK_IMPORTED_MODULE_14__[/* initBitNodes */ "c"])(); - Object(_BitNode__WEBPACK_IMPORTED_MODULE_14__[/* initBitNodeMultipliers */ "b"])(); - Object(_SourceFile__WEBPACK_IMPORTED_MODULE_46__[/* initSourceFiles */ "d"])(); + Object(_BitNode_BitNode__WEBPACK_IMPORTED_MODULE_6__[/* initBitNodes */ "c"])(); + Object(_BitNode_BitNode__WEBPACK_IMPORTED_MODULE_6__[/* initBitNodeMultipliers */ "b"])(); + Object(_SourceFile__WEBPACK_IMPORTED_MODULE_37__[/* initSourceFiles */ "c"])(); Engine.setDisplayElements(); //Sets variables for important DOM elements Engine.init(); //Initialize buttons, work, etc. - Object(_Augmentations__WEBPACK_IMPORTED_MODULE_13__[/* initAugmentations */ "h"])(); //Also calls Player.reapplyAllAugmentations() - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].reapplyAllSourceFiles(); - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_48__[/* initStockSymbols */ "i"])(); - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].hasWseAccount) { - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_48__[/* initSymbolToStockMap */ "j"])(); + Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_4__[/* initAugmentations */ "d"])(); //Also calls Player.reapplyAllAugmentations() + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].reapplyAllSourceFiles(); + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_40__[/* initStockSymbols */ "i"])(); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hasWseAccount) { + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_40__[/* initSymbolToStockMap */ "j"])(); } - Object(_Literature__WEBPACK_IMPORTED_MODULE_31__[/* initLiterature */ "a"])(); - Object(_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_34__[/* initSingularitySFFlags */ "g"])(); - - console.log(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].intelligence_exp); + Object(_Literature__WEBPACK_IMPORTED_MODULE_23__[/* initLiterature */ "a"])(); + Object(_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_26__[/* initSingularitySFFlags */ "g"])(); + Object(_SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_38__["updateSourceFileFlags"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"]); //Calculate the number of cycles have elapsed while offline Engine._lastUpdate = new Date().getTime(); - var lastUpdate = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].lastUpdate; + var lastUpdate = _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].lastUpdate; var numCyclesOffline = Math.floor((Engine._lastUpdate - lastUpdate) / Engine._idleSpeed); /* Process offline progress */ - var offlineProductionFromScripts = Object(_Script__WEBPACK_IMPORTED_MODULE_42__[/* loadAllRunningScripts */ "f"])(); //This also takes care of offline production for those scripts - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].isWorking) { + var offlineProductionFromScripts = Object(_Script__WEBPACK_IMPORTED_MODULE_34__[/* loadAllRunningScripts */ "f"])(); //This also takes care of offline production for those scripts + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].isWorking) { console.log("work() called in load() for " + numCyclesOffline * Engine._idleSpeed + " milliseconds"); - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeFaction) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workForFaction(numCyclesOffline); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeCreateProgram) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].createProgramWork(numCyclesOffline); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeStudyClass) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].takeClass(numCyclesOffline); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeCrime) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].commitCrime(numCyclesOffline); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeCompanyPartTime) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workPartTime(numCyclesOffline); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeFaction) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workForFaction(numCyclesOffline); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeCreateProgram) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].createProgramWork(numCyclesOffline); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeStudyClass) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].takeClass(numCyclesOffline); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeCrime) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].commitCrime(numCyclesOffline); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeCompanyPartTime) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workPartTime(numCyclesOffline); } else { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].work(numCyclesOffline); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].work(numCyclesOffline); } } //Hacknet Nodes offline progress - var offlineProductionFromHacknetNodes = Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_29__[/* processAllHacknetNodeEarnings */ "d"])(numCyclesOffline); + var offlineProductionFromHacknetNodes = Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_21__[/* processAllHacknetNodeEarnings */ "d"])(numCyclesOffline); //Passive faction rep gain offline - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_25__[/* processPassiveFactionRepGain */ "d"])(numCyclesOffline); + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_17__[/* processPassiveFactionRepGain */ "d"])(numCyclesOffline); // Stock Market offline progress - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].hasWseAccount) { - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_48__[/* processStockPrices */ "m"])(numCyclesOffline); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hasWseAccount) { + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_40__[/* processStockPrices */ "m"])(numCyclesOffline); } // Gang progress for BitNode 2 - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bitNodeN != null && _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bitNodeN === 2 && _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].inGang()) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].gang.process(numCyclesOffline, _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"]); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bitNodeN != null && _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bitNodeN === 2 && _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].inGang()) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].gang.process(numCyclesOffline, _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"]); } // Corporation offline progress - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_21__[/* Corporation */ "a"]) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation.storeCycles(numCyclesOffline); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_13__[/* Corporation */ "a"]) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation.storeCycles(numCyclesOffline); } // Bladeburner offline progress - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_15__[/* Bladeburner */ "a"]) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner.storeCycles(numCyclesOffline); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"]) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner.storeCycles(numCyclesOffline); } //Update total playtime var time = numCyclesOffline * Engine._idleSpeed; - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].totalPlaytime == null) {_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].totalPlaytime = 0;} - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastAug == null) {_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastAug = 0;} - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastBitnode == null) {_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastBitnode = 0;} - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].totalPlaytime += time; - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastAug += time; - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].playtimeSinceLastBitnode += time; + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].totalPlaytime == null) {_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].totalPlaytime = 0;} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastAug == null) {_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastAug = 0;} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastBitnode == null) {_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastBitnode = 0;} + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].totalPlaytime += time; + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastAug += time; + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].playtimeSinceLastBitnode += time; - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].lastUpdate = Engine._lastUpdate; + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].lastUpdate = Engine._lastUpdate; Engine.start(); //Run main game loop and Scripts loop - Object(_utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_7__["removeLoadingScreen"])(); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("While you were offline, your scripts generated $" + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__["formatNumber"])(offlineProductionFromScripts, 2) + " and your Hacknet Nodes generated $" + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__["formatNumber"])(offlineProductionFromHacknetNodes, 2) + ""); + Object(_utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_56__["removeLoadingScreen"])(); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_49__["dialogBoxCreate"])("While you were offline, your scripts generated $" + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(offlineProductionFromScripts, 2) + " and your Hacknet Nodes generated $" + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_0__["formatNumber"])(offlineProductionFromHacknetNodes, 2) + ""); //Close main menu accordions for loaded game var visibleMenuTabs = [terminal, createScript, activeScripts, stats, hacknetnodes, city, tutorial, options, dev]; - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].firstFacInvRecvd) {visibleMenuTabs.push(factions);} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].firstFacInvRecvd) {visibleMenuTabs.push(factions);} else {factions.style.display = "none";} - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].firstAugPurchased) {visibleMenuTabs.push(augmentations);} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].firstAugPurchased) {visibleMenuTabs.push(augmentations);} else {augmentations.style.display = "none";} - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].companyPosition !== "") {visibleMenuTabs.push(job);} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].companyName !== "") {visibleMenuTabs.push(job);} else {job.style.display = "none";} - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].firstTimeTraveled) {visibleMenuTabs.push(travel);} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].firstTimeTraveled) {visibleMenuTabs.push(travel);} else {travel.style.display = "none";} - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].firstProgramAvailable) {visibleMenuTabs.push(createProgram);} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].firstProgramAvailable) {visibleMenuTabs.push(createProgram);} else {createProgram.style.display = "none";} - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].hasWseAccount) {visibleMenuTabs.push(stockmarket);} + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].hasWseAccount) {visibleMenuTabs.push(stockmarket);} else {stockmarket.style.display = "none";} - if(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_15__[/* Bladeburner */ "a"]) {visibleMenuTabs.push(bladeburner);} + if(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"]) {visibleMenuTabs.push(bladeburner);} else {bladeburner.style.display = "none";} - if(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_21__[/* Corporation */ "a"]) {visibleMenuTabs.push(corp);} + if(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_13__[/* Corporation */ "a"]) {visibleMenuTabs.push(corp);} else {corp.style.display = "none";} - if(_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].inGang()) {visibleMenuTabs.push(gang);} + if(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].inGang()) {visibleMenuTabs.push(gang);} else {gang.style.display = "none";} Engine.closeMainMenuHeader(visibleMenuTabs); } else { //No save found, start new game console.log("Initializing new game"); - Object(_BitNode__WEBPACK_IMPORTED_MODULE_14__[/* initBitNodes */ "c"])(); - Object(_BitNode__WEBPACK_IMPORTED_MODULE_14__[/* initBitNodeMultipliers */ "b"])(); - Object(_SourceFile__WEBPACK_IMPORTED_MODULE_46__[/* initSourceFiles */ "d"])(); - Object(_SpecialServerIps__WEBPACK_IMPORTED_MODULE_47__[/* initSpecialServerIps */ "c"])(); + Object(_BitNode_BitNode__WEBPACK_IMPORTED_MODULE_6__[/* initBitNodes */ "c"])(); + Object(_BitNode_BitNode__WEBPACK_IMPORTED_MODULE_6__[/* initBitNodeMultipliers */ "b"])(); + Object(_SourceFile__WEBPACK_IMPORTED_MODULE_37__[/* initSourceFiles */ "c"])(); + Object(_SpecialServerIps__WEBPACK_IMPORTED_MODULE_39__[/* initSpecialServerIps */ "c"])(); Engine.setDisplayElements(); //Sets variables for important DOM elements Engine.start(); //Run main game loop and Scripts loop - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].init(); - Object(_Server__WEBPACK_IMPORTED_MODULE_43__[/* initForeignServers */ "f"])(); - Object(_Company_Companies__WEBPACK_IMPORTED_MODULE_20__["initCompanies"])(); - Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_24__["initFactions"])(); - Object(_Augmentations__WEBPACK_IMPORTED_MODULE_13__[/* initAugmentations */ "h"])(); - Object(_Message__WEBPACK_IMPORTED_MODULE_32__[/* initMessages */ "d"])(); - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_48__[/* initStockSymbols */ "i"])(); - Object(_Literature__WEBPACK_IMPORTED_MODULE_31__[/* initLiterature */ "a"])(); - Object(_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_34__[/* initSingularitySFFlags */ "g"])(); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].init(); + Object(_Server__WEBPACK_IMPORTED_MODULE_35__[/* initForeignServers */ "f"])(); + Object(_Company_Companies__WEBPACK_IMPORTED_MODULE_12__["initCompanies"])(); + Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_16__["initFactions"])(); + Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_4__[/* initAugmentations */ "d"])(); + Object(_Message__WEBPACK_IMPORTED_MODULE_24__[/* initMessages */ "d"])(); + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_40__[/* initStockSymbols */ "i"])(); + Object(_Literature__WEBPACK_IMPORTED_MODULE_23__[/* initLiterature */ "a"])(); + Object(_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_26__[/* initSingularitySFFlags */ "g"])(); //Open main menu accordions for new game //Main menu accordions @@ -6142,19 +6369,19 @@ const Engine = { ); //Start interactive tutorial - Object(_InteractiveTutorial__WEBPACK_IMPORTED_MODULE_30__[/* iTutorialStart */ "c"])(); - Object(_utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_7__["removeLoadingScreen"])(); + Object(_InteractiveTutorial__WEBPACK_IMPORTED_MODULE_22__[/* iTutorialStart */ "c"])(); + Object(_utils_uiHelpers_removeLoadingScreen__WEBPACK_IMPORTED_MODULE_56__["removeLoadingScreen"])(); } //Initialize labels on game settings - Object(_ui_setSettingsLabels__WEBPACK_IMPORTED_MODULE_45__[/* setSettingsLabels */ "a"])(); - Object(_Script__WEBPACK_IMPORTED_MODULE_42__[/* scriptEditorInit */ "g"])(); - _Terminal__WEBPACK_IMPORTED_MODULE_49__[/* Terminal */ "a"].resetTerminalInput(); + Object(_ui_setSettingsLabels__WEBPACK_IMPORTED_MODULE_46__[/* setSettingsLabels */ "a"])(); + Object(_Script__WEBPACK_IMPORTED_MODULE_34__[/* scriptEditorInit */ "g"])(); + _Terminal__WEBPACK_IMPORTED_MODULE_41__[/* Terminal */ "a"].resetTerminalInput(); }, setDisplayElements: function() { //Content elements Engine.Display.terminalContent = document.getElementById("terminal-container"); - _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_51__["Page"].Terminal); + _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["routing"].navigateTo(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_44__["Page"].Terminal); Engine.Display.characterContent = document.getElementById("character-container"); Engine.Display.characterContent.style.display = "none"; @@ -6230,278 +6457,164 @@ const Engine = { Engine.Display.cinematicTextContent.style.display = "none"; //Init Location buttons - Object(_Location__WEBPACK_IMPORTED_MODULE_27__[/* initLocationButtons */ "b"])(); + Object(_Location__WEBPACK_IMPORTED_MODULE_19__[/* initLocationButtons */ "b"])(); //Tutorial buttons Engine.Clickables.tutorialNetworkingButton = document.getElementById("tutorial-networking-link"); Engine.Clickables.tutorialNetworkingButton.addEventListener("click", function() { - Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].TutorialNetworkingText); + Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].TutorialNetworkingText); }); Engine.Clickables.tutorialHackingButton = document.getElementById("tutorial-hacking-link"); Engine.Clickables.tutorialHackingButton.addEventListener("click", function() { - Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].TutorialHackingText); + Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].TutorialHackingText); }); Engine.Clickables.tutorialScriptsButton = document.getElementById("tutorial-scripts-link"); Engine.Clickables.tutorialScriptsButton.addEventListener("click", function() { - Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].TutorialScriptsText); + Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].TutorialScriptsText); }); Engine.Clickables.tutorialNetscriptButton = document.getElementById("tutorial-netscript-link"); Engine.Clickables.tutorialNetscriptButton.addEventListener("click", function() { - Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].TutorialNetscriptText); + Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].TutorialNetscriptText); }); Engine.Clickables.tutorialTravelingButton = document.getElementById("tutorial-traveling-link"); Engine.Clickables.tutorialTravelingButton.addEventListener("click", function() { - Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].TutorialTravelingText); + Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].TutorialTravelingText); }); Engine.Clickables.tutorialCompaniesButton = document.getElementById("tutorial-jobs-link"); Engine.Clickables.tutorialCompaniesButton.addEventListener("click", function() { - Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].TutorialCompaniesText); + Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].TutorialCompaniesText); }); Engine.Clickables.tutorialFactionsButton = document.getElementById("tutorial-factions-link"); Engine.Clickables.tutorialFactionsButton.addEventListener("click", function() { - Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].TutorialFactionsText); + Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].TutorialFactionsText); }); Engine.Clickables.tutorialAugmentationsButton = document.getElementById("tutorial-augmentations-link"); Engine.Clickables.tutorialAugmentationsButton.addEventListener("click", function() { - Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].TutorialAugmentationsText); + Engine.displayTutorialPage(_Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].TutorialAugmentationsText); }); Engine.Clickables.tutorialBackButton = document.getElementById("tutorial-back-button"); Engine.Clickables.tutorialBackButton.addEventListener("click", function() { Engine.displayTutorialContent(); }); + + // Initialize references to main menu links + if (!Object(_ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["initializeMainMenuLinks"])()) { + const errorMsg = "Failed to initialize Main Menu Links. Please try refreshing the page. " + + "If that doesn't work, report the issue to the developer"; + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_55__["exceptionAlert"])(new Error(errorMsg)); + return; + } }, /* Initialization */ init: function() { //Import game link document.getElementById("import-game-link").onclick = function() { - _SaveObject__WEBPACK_IMPORTED_MODULE_41__[/* saveObject */ "b"].importGame(); + _SaveObject__WEBPACK_IMPORTED_MODULE_33__[/* saveObject */ "b"].importGame(); }; - //Main menu accordions - var hackingHdr = document.getElementById("hacking-menu-header"); - var characterHdr = document.getElementById("character-menu-header"); - var worldHdr = document.getElementById("world-menu-header"); - var helpHdr = document.getElementById("help-menu-header"); - - hackingHdr.onclick = function() { - var terminal = document.getElementById("terminal-tab"); - var terminalLink = document.getElementById("terminal-menu-link"); - var createScript = document.getElementById("create-script-tab"); - var createScriptLink = document.getElementById("create-script-menu-link"); - var activeScripts = document.getElementById("active-scripts-tab"); - var activeScriptsLink = document.getElementById("active-scripts-menu-link"); - var createProgram = document.getElementById("create-program-tab"); - var createProgramLink = document.getElementById("create-program-menu-link"); - var createProgramNot = document.getElementById("create-program-notification"); - this.classList.toggle("opened"); - if (terminal.style.maxHeight) { - Engine.toggleMainMenuHeader(false, - [terminal, createScript, activeScripts, createProgram], - [terminalLink, createScriptLink, activeScriptsLink, createProgramLink] - ); - - createProgramNot.style.display = "none"; - } else { - Engine.toggleMainMenuHeader(true, - [terminal, createScript, activeScripts, createProgram], - [terminalLink, createScriptLink, activeScriptsLink, createProgramLink] - ); - - createProgramNot.style.display = "block" - } + // Initialize Main Menu Headers (this must be done after initializing the links) + if (!Object(_ui_MainMenu_Headers__WEBPACK_IMPORTED_MODULE_47__["initializeMainMenuHeaders"])(_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"], "development" === "development")) { + const errorMsg = "Failed to initialize Main Menu Headers. Please try refreshing the page. " + + "If that doesn't work, report the issue to the developer"; + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_55__["exceptionAlert"])(new Error(errorMsg)); + return; } - characterHdr.onclick = function() { - var stats = document.getElementById("stats-tab"); - var statsLink = document.getElementById("stats-menu-link"); - var factions = document.getElementById("factions-tab"); - var factionsLink = document.getElementById("factions-menu-link"); - var augmentations = document.getElementById("augmentations-tab"); - var augmentationsLink = document.getElementById("augmentations-menu-link"); - var hacknetnodes = document.getElementById("hacknet-nodes-tab"); - var hacknetnodesLink = document.getElementById("hacknet-nodes-menu-link"); - this.classList.toggle("opened"); - if (stats.style.maxHeight) { - Engine.toggleMainMenuHeader(false, - [stats, factions, augmentations, hacknetnodes], - [statsLink, factionsLink, augmentationsLink, hacknetnodesLink] - ); - } else { - Engine.toggleMainMenuHeader(true, - [stats, factions, augmentations, hacknetnodes], - [statsLink, factionsLink, augmentationsLink, hacknetnodesLink] - ); - } - } - - worldHdr.onclick = function() { - var city = document.getElementById("city-tab"); - var cityLink = document.getElementById("city-menu-link"); - var travel = document.getElementById("travel-tab"); - var travelLink = document.getElementById("travel-menu-link"); - var job = document.getElementById("job-tab"); - var jobLink = document.getElementById("job-menu-link"); - var stockmarket = document.getElementById("stock-market-tab"); - var stockmarketLink = document.getElementById("stock-market-menu-link"); - var bladeburner = document.getElementById("bladeburner-tab"); - var bladeburnerLink = document.getElementById("bladeburner-menu-link"); - var corporation = document.getElementById("corporation-tab"); - var corporationLink = document.getElementById("corporation-menu-link"); - var gang = document.getElementById("gang-tab"); - var gangLink = document.getElementById("gang-menu-link"); - - // Determine whether certain links should show up - job.style.display = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].companyPosition !== "" ? "list-item" : "none"; - stockmarket.style.display = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].hasWseAccount ? "list-item" : "none"; - bladeburner.style.display = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_15__[/* Bladeburner */ "a"] ? "list-item" : "none"; - corporation.style.display = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_21__[/* Corporation */ "a"] ? "list-item" : "none"; - gang.style.display = _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].inGang() ? "list-item" : "none"; - - this.classList.toggle("opened"); - if (city.style.maxHeight) { - Engine.toggleMainMenuHeader(false, - [city, travel, job, stockmarket, bladeburner, corporation, gang], - [cityLink, travelLink, jobLink, stockmarketLink, bladeburnerLink, corporationLink, gangLink] - ); - } else { - Engine.toggleMainMenuHeader(true, - [city, travel, job, stockmarket, bladeburner, corporation, gang], - [cityLink, travelLink, jobLink, stockmarketLink, bladeburnerLink, corporationLink, gangLink] - ); - } - } - - helpHdr.onclick = function() { - var tutorial = document.getElementById("tutorial-tab"); - var tutorialLink = document.getElementById("tutorial-menu-link"); - 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, elems, links); - } else { - Engine.toggleMainMenuHeader(true, elems, links); - } - } - - //Main menu buttons and content - Engine.Clickables.terminalMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("terminal-menu-link"); - Engine.Clickables.terminalMainMenuButton.addEventListener("click", function() { + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Terminal.addEventListener("click", function() { Engine.loadTerminalContent(); return false; }); - Engine.Clickables.characterMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("stats-menu-link"); - Engine.Clickables.characterMainMenuButton.addEventListener("click", function() { - Engine.loadCharacterContent(); - return false; - }); - - Engine.Clickables.scriptEditorMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("create-script-menu-link"); - Engine.Clickables.scriptEditorMainMenuButton.addEventListener("click", function() { + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].ScriptEditor.addEventListener("click", function() { Engine.loadScriptEditorContent(); return false; }); - Engine.Clickables.activeScriptsMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("active-scripts-menu-link"); - Engine.Clickables.activeScriptsMainMenuButton.addEventListener("click", function() { + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].ActiveScripts.addEventListener("click", function() { Engine.loadActiveScriptsContent(); return false; }); - Engine.Clickables.hacknetNodesMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("hacknet-nodes-menu-link"); - Engine.Clickables.hacknetNodesMainMenuButton.addEventListener("click", function() { - Engine.loadHacknetNodesContent(); - return false; - }); - - Engine.Clickables.worldMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("city-menu-link"); - Engine.Clickables.worldMainMenuButton.addEventListener("click", function() { - Engine.loadWorldContent(); - return false; - }); - - Engine.Clickables.travelMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("travel-menu-link"); - Engine.Clickables.travelMainMenuButton.addEventListener("click", function() { - Engine.loadTravelContent(); - Engine.Clickables.travelMainMenuButton.classList.add("active"); - return false; - }); - - Engine.Clickables.jobMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("job-menu-link"); - Engine.Clickables.jobMainMenuButton.addEventListener("click", function() { - Engine.loadJobContent(); - return false; - }); - - Engine.Clickables.stockmarketMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("stock-market-menu-link"); - Engine.Clickables.stockmarketMainMenuButton.addEventListener("click", function() { - Engine.loadStockMarketContent(); - Engine.Clickables.stockmarketMainMenuButton.classList.add("active"); - return false; - }); - - - Engine.Clickables.createProgramMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("create-program-menu-link"); - Engine.Clickables.createProgramMainMenuButton.addEventListener("click", function() { + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].CreateProgram.addEventListener("click", function() { Engine.loadCreateProgramContent(); return false; }); - Engine.Clickables.factionsMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("factions-menu-link"); - Engine.Clickables.factionsMainMenuButton.addEventListener("click", function() { + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Stats.addEventListener("click", function() { + Engine.loadCharacterContent(); + return false; + }); + + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Factions.addEventListener("click", function() { Engine.loadFactionsContent(); return false; }); - Engine.Clickables.augmentationsMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("augmentations-menu-link"); - Engine.Clickables.augmentationsMainMenuButton.addEventListener("click", function() { + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Augmentations.addEventListener("click", function() { Engine.loadAugmentationsContent(); return false; }); - Engine.Clickables.tutorialMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("tutorial-menu-link"); - Engine.Clickables.tutorialMainMenuButton.addEventListener("click", function() { - Engine.loadTutorialContent(); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].HacknetNodes.addEventListener("click", function() { + Engine.loadHacknetNodesContent(); return false; }); - Engine.Clickables.bladeburnerMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("bladeburner-menu-link"); - Engine.Clickables.bladeburnerMenuButton.addEventListener("click", function() { + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].City.addEventListener("click", function() { + Engine.loadWorldContent(); + return false; + }); + + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Travel.addEventListener("click", function() { + Engine.loadTravelContent(); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Travel.classList.add("active"); + return false; + }); + + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Job.addEventListener("click", function() { + Engine.loadJobContent(); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Job.classList.add("active"); + return false; + }); + + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].StockMarket.addEventListener("click", function() { + Engine.loadStockMarketContent(); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].StockMarket.classList.add("active"); + return false; + }); + + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Bladeburner.addEventListener("click", function() { Engine.loadBladeburnerContent(); return false; }); - Engine.Clickables.corporationMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("corporation-menu-link"); - Engine.Clickables.corporationMenuButton.addEventListener("click", function() { + + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Corporation.addEventListener("click", function() { Engine.loadCorporationContent(); - Engine.Clickables.corporationMenuButton.classList.add("active"); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Corporation.classList.add("active"); return false; }); - Engine.Clickables.gangMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("gang-menu-link"); - Engine.Clickables.gangMenuButton.addEventListener("click", function() { + + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Gang.addEventListener("click", function() { Engine.loadGangContent(); return false; }); + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].Tutorial.addEventListener("click", function() { + Engine.loadTutorialContent(); + return false; + }); - Engine.Clickables.devMainMenuButton = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_4__["clearEventListeners"])("dev-menu-link"); - Engine.Clickables.devMainMenuButton.addEventListener("click", function() { - if( true) { + _ui_MainMenu_Links__WEBPACK_IMPORTED_MODULE_48__["MainMenuLinks"].DevMenu.addEventListener("click", function() { + if (true) { Engine.loadDevMenuContent(); } return false; @@ -6513,55 +6626,55 @@ const Engine = { //Save, Delete, Import/Export buttons Engine.Clickables.saveMainMenuButton = document.getElementById("save-game-link"); Engine.Clickables.saveMainMenuButton.addEventListener("click", function() { - _SaveObject__WEBPACK_IMPORTED_MODULE_41__[/* saveObject */ "b"].saveGame(indexedDb); + _SaveObject__WEBPACK_IMPORTED_MODULE_33__[/* saveObject */ "b"].saveGame(indexedDb); return false; }); Engine.Clickables.deleteMainMenuButton = document.getElementById("delete-game-link"); Engine.Clickables.deleteMainMenuButton.addEventListener("click", function() { - _SaveObject__WEBPACK_IMPORTED_MODULE_41__[/* saveObject */ "b"].deleteGame(indexedDb); + _SaveObject__WEBPACK_IMPORTED_MODULE_33__[/* saveObject */ "b"].deleteGame(indexedDb); return false; }); document.getElementById("export-game-link").addEventListener("click", function() { - _SaveObject__WEBPACK_IMPORTED_MODULE_41__[/* saveObject */ "b"].exportGame(); + _SaveObject__WEBPACK_IMPORTED_MODULE_33__[/* saveObject */ "b"].exportGame(); return false; }); //Character Overview buttons document.getElementById("character-overview-save-button").addEventListener("click", function() { - _SaveObject__WEBPACK_IMPORTED_MODULE_41__[/* saveObject */ "b"].saveGame(indexedDb); + _SaveObject__WEBPACK_IMPORTED_MODULE_33__[/* saveObject */ "b"].saveGame(indexedDb); return false; }); document.getElementById("character-overview-options-button").addEventListener("click", function() { - Object(_utils_GameOptions__WEBPACK_IMPORTED_MODULE_1__[/* gameOptionsBoxOpen */ "b"])(); + Object(_utils_GameOptions__WEBPACK_IMPORTED_MODULE_50__[/* gameOptionsBoxOpen */ "b"])(); return false; }); //Create Program buttons - Object(_Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_39__[/* initCreateProgramButtons */ "c"])(); + Object(_Programs_ProgramHelpers__WEBPACK_IMPORTED_MODULE_31__[/* initCreateProgramButtons */ "c"])(); //Message at the top of terminal - Object(_Terminal__WEBPACK_IMPORTED_MODULE_49__[/* postNetburnerText */ "b"])(); + Object(_Terminal__WEBPACK_IMPORTED_MODULE_41__[/* postNetburnerText */ "b"])(); //Player was working cancel button - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].isWorking) { + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].isWorking) { var cancelButton = document.getElementById("work-in-progress-cancel-button"); cancelButton.addEventListener("click", function() { - if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeFaction) { - var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_24__["Factions"][_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].currentWorkFactionName]; - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].finishFactionWork(true); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeCreateProgram) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].finishCreateProgramWork(true); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeStudyClass) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].finishClass(); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeCrime) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].finishCrime(true); - } else if (_Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_22__["CONSTANTS"].WorkTypeCompanyPartTime) { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].finishWorkPartTime(); + if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeFaction) { + var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_16__["Factions"][_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].currentWorkFactionName]; + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].finishFactionWork(true); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeCreateProgram) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].finishCreateProgramWork(true); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeStudyClass) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].finishClass(); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeCrime) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].finishCrime(true); + } else if (_Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].workType == _Constants__WEBPACK_IMPORTED_MODULE_14__["CONSTANTS"].WorkTypeCompanyPartTime) { + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].finishWorkPartTime(); } else { - _Player__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].finishWork(true); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].finishWork(true); } }); Engine.loadWorkInProgressContent(); @@ -6581,7 +6694,7 @@ const Engine = { // Copy Save Data to Clipboard document.getElementById("copy-save-to-clipboard-link").addEventListener("click", function() { - const saveString = _SaveObject__WEBPACK_IMPORTED_MODULE_41__[/* saveObject */ "b"].getSaveString(); + const saveString = _SaveObject__WEBPACK_IMPORTED_MODULE_33__[/* saveObject */ "b"].getSaveString(); if (!navigator.clipboard) { // Async Clipboard API not supported, so we'll use this using the // textarea and document.execCommand('copy') trick @@ -6596,22 +6709,22 @@ const Engine = { try { const successful = document.execCommand("copy"); if (successful) { - Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_9__["createStatusText"])("Copied save to clipboard"); + Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_43__["createStatusText"])("Copied save to clipboard"); } else { - Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_9__["createStatusText"])("Failed to copy save"); + Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_43__["createStatusText"])("Failed to copy save"); } } catch(e) { console.error("Unable to copy save data to clipboard using document.execCommand('copy')"); - Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_9__["createStatusText"])("Failed to copy save"); + Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_43__["createStatusText"])("Failed to copy save"); } document.body.removeChild(textArea); } else { // Use the Async Clipboard API navigator.clipboard.writeText(saveString).then(function() { - Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_9__["createStatusText"])("Copied save to clipboard"); + Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_43__["createStatusText"])("Copied save to clipboard"); }, function(e) { console.error("Unable to copy save data to clipboard using Async API"); - Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_9__["createStatusText"])("Failed to copy save"); + Object(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_43__["createStatusText"])("Failed to copy save"); }) } }); @@ -6619,17 +6732,17 @@ const 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__WEBPACK_IMPORTED_MODULE_36__[/* Player */ "a"].getHomeComputer().runningScripts = []; - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("Forcefully deleted all running scripts on home computer. Please save and refresh page"); - Object(_utils_GameOptions__WEBPACK_IMPORTED_MODULE_1__[/* gameOptionsBoxClose */ "a"])(); + _Player__WEBPACK_IMPORTED_MODULE_28__[/* Player */ "a"].getHomeComputer().runningScripts = []; + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_49__["dialogBoxCreate"])("Forcefully deleted all running scripts on home computer. Please save and refresh page"); + Object(_utils_GameOptions__WEBPACK_IMPORTED_MODULE_50__[/* gameOptionsBoxClose */ "a"])(); return false; }); //DEBUG Soft Reset document.getElementById("debug-soft-reset").addEventListener("click", function() { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("Soft Reset!"); - Object(_Prestige__WEBPACK_IMPORTED_MODULE_37__[/* prestigeAugmentation */ "a"])(); - Object(_utils_GameOptions__WEBPACK_IMPORTED_MODULE_1__[/* gameOptionsBoxClose */ "a"])(); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_49__["dialogBoxCreate"])("Soft Reset!"); + Object(_Prestige__WEBPACK_IMPORTED_MODULE_29__[/* prestigeAugmentation */ "a"])(); + Object(_utils_GameOptions__WEBPACK_IMPORTED_MODULE_50__[/* gameOptionsBoxClose */ "a"])(); return false; }); }, @@ -6639,7 +6752,7 @@ const Engine = { Engine.idleTimer(); //Scripts - Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* runScriptsLoop */ "f"])(); + Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_27__[/* runScriptsLoop */ "f"])(); } }; @@ -6684,57 +6797,10 @@ window.onload = function() { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 10 */ -/*!***********************************!*\ - !*** ./src/BitNodeMultipliers.ts ***! - \***********************************/ -/*! no static exports found */ -/*! exports used: BitNodeMultipliers */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * The multipliers that are influenced by current Bitnode progression. - */ -// tslint:disable-next-line:variable-name -exports.BitNodeMultipliers = { - HackingLevelMultiplier: 1, - ServerGrowthRate: 1, - ServerMaxMoney: 1, - ServerStartingMoney: 1, - ServerStartingSecurity: 1, - ServerWeakenRate: 1, - CompanyWorkMoney: 1, - CrimeMoney: 1, - HacknetNodeMoney: 1, - ManualHackMoney: 1, - ScriptHackMoney: 1, - CodingContractMoney: 1, - ClassGymExpGain: 1, - CompanyWorkExpGain: 1, - CrimeExpGain: 1, - FactionWorkExpGain: 1, - HackExpGain: 1, - FactionPassiveRepGain: 1, - FactionWorkRepGain: 1, - RepToDonateToFaction: 1, - AugmentationMoneyCost: 1, - AugmentationRepCost: 1, - InfiltrationMoney: 1, - InfiltrationRep: 1, - CorporationValuation: 1, - BladeburnerRank: 1, - BladeburnerSkillCost: 1, -}; - - -/***/ }), -/* 11 */ +/* 12 */ /*!***********************!*\ !*** ./src/Server.js ***! \***********************/ @@ -6754,26 +6820,26 @@ exports.BitNodeMultipliers = { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return getServer; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return Server; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return AllServers; }); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CodingContracts */ 42); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CodingContracts */ 46); /* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_CodingContracts__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Script */ 31); +/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Script */ 35); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Programs/Programs */ 24); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Programs/Programs */ 26); /* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SpecialServerIps */ 33); -/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./TextFile */ 65); +/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./SpecialServerIps */ 36); +/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./TextFile */ 69); /* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_TextFile__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 15); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 17); /* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/IPAddress */ 62); -/* harmony import */ var _data_servers__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./data/servers */ 137); +/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/IPAddress */ 66); +/* harmony import */ var _data_servers__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./data/servers */ 150); /* harmony import */ var _data_servers__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_data_servers__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); -/* harmony import */ var _utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/helpers/isValidIPAddress */ 90); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/JSONReviver */ 15); +/* harmony import */ var _utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/helpers/isValidIPAddress */ 94); /* harmony import */ var _utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_12__); @@ -6826,11 +6892,11 @@ function Server(params={ip:Object(_utils_IPAddress__WEBPACK_IMPORTED_MODULE_9__[ /* 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 * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerStartingMoney : 0; - this.moneyMax = 25 * this.moneyAvailable * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerMaxMoney; + this.moneyAvailable = params.moneyAvailable != null ? params.moneyAvailable * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerStartingMoney : 0; + this.moneyMax = 25 * this.moneyAvailable * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerMaxMoney; //Hack Difficulty is synonymous with server security. Base Difficulty = Starting difficulty - this.hackDifficulty = params.hackDifficulty != null ? params.hackDifficulty * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerStartingSecurity : 1; + this.hackDifficulty = params.hackDifficulty != null ? params.hackDifficulty * _BitNode_BitNodeMultipliers__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() @@ -6889,7 +6955,7 @@ Server.prototype.fortify = function(amt) { } Server.prototype.weaken = function(amt) { - this.hackDifficulty -= (amt * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerWeakenRate); + this.hackDifficulty -= (amt * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerWeakenRate); this.capDifficulty(); } @@ -7089,7 +7155,7 @@ function processSingleServerGrowth(server, numCycles) { //Calculate adjusted server growth rate based on parameters const serverGrowthPercentage = server.serverGrowth / 100; - const numServerGrowthCyclesAdjusted = numServerGrowthCycles * serverGrowthPercentage * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerGrowthRate; + const numServerGrowthCyclesAdjusted = numServerGrowthCycles * serverGrowthPercentage * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerGrowthRate; //Apply serverGrowth for the calculated number of growth cycles var serverGrowth = Math.pow(adjGrowthRate, numServerGrowthCyclesAdjusted * _Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].hacking_grow_mult); @@ -7241,12 +7307,27 @@ Directory.prototype.getPath = function(name) { /***/ }), -/* 12 */ +/* 13 */ +/*!*******************************************!*\ + !*** ./src/Augmentation/Augmentations.ts ***! + \*******************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Augmentations = {}; + + +/***/ }), +/* 14 */ /*!**************************************!*\ !*** ./src/ui/navigationTracking.ts ***! \**************************************/ /*! no static exports found */ -/*! exports used: Page, routing */ +/*! all exports used */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -7346,6 +7427,14 @@ var Page; * Manage special Bladeburner activities. */ Page["Bladeburner"] = "Bladeburner"; + /** + * Manage your Sleeves + */ + Page["Sleeves"] = "Sleeves"; + /** + * Purchase Resleeves + */ + Page["Resleeves"] = "Re-sleeving"; })(Page = exports.Page || (exports.Page = {})); /** * This class keeps track of player navigation/routing within the game. @@ -7379,7 +7468,7 @@ exports.routing = new Routing(); /***/ }), -/* 13 */ +/* 15 */ /*!******************************!*\ !*** ./utils/JSONReviver.js ***! \******************************/ @@ -7405,6 +7494,7 @@ function Reviver(key, value) { console.log("Reviver WRONGLY called with key: " + key + ", and value: " + value); return 0; } + if (typeof value === "object" && typeof value.ctor === "string" && typeof value.data !== "undefined") { @@ -7466,12 +7556,12 @@ function Generic_fromJSON(ctor, data) { /***/ }), -/* 14 */ +/* 16 */ /*!*********************************!*\ !*** ./src/Faction/Factions.ts ***! \*********************************/ /*! no static exports found */ -/*! exports used: Factions, factionExists, initFactions, loadFactions */ +/*! all exports used */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -7481,9 +7571,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); * Initialization and manipulation of the Factions object, which stores data * about all Factions in the game */ -const Faction_1 = __webpack_require__(/*! ./Faction */ 57); -const FactionInfo_1 = __webpack_require__(/*! ./FactionInfo */ 115); -const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 13); +const Faction_1 = __webpack_require__(/*! ./Faction */ 58); +const FactionInfo_1 = __webpack_require__(/*! ./FactionInfo */ 123); +const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 15); exports.Factions = {}; function loadFactions(saveString) { exports.Factions = JSON.parse(saveString, JSONReviver_1.Reviver); @@ -7522,7 +7612,7 @@ exports.resetFaction = resetFaction; /***/ }), -/* 15 */ +/* 17 */ /*!***************************************!*\ !*** ./utils/helpers/getRandomInt.ts ***! \***************************************/ @@ -7547,57 +7637,192 @@ exports.getRandomInt = getRandomInt; /***/ }), -/* 16 */ -/*!************************************************!*\ - !*** ./utils/uiHelpers/clearEventListeners.ts ***! - \************************************************/ +/* 18 */ +/*!******************************************!*\ + !*** ./src/Augmentation/Augmentation.ts ***! + \******************************************/ +/*! no static exports found */ +/*! exports used: Augmentation */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +// Class definition for a single Augmentation object +const Constants_1 = __webpack_require__(/*! ../Constants */ 1); +const BitNodeMultipliers_1 = __webpack_require__(/*! ../BitNode/BitNodeMultipliers */ 10); +const Factions_1 = __webpack_require__(/*! ../Faction/Factions */ 16); +const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 15); +class Augmentation { + constructor(params = { info: "", moneyCost: 0, name: "", repCost: 0 }) { + // How much money this costs to buy + this.baseCost = 0; + // How much faction reputation is required to unlock this + this.baseRepRequirement = 0; + // Description of what this Aug is and what it does + this.info = ""; + // Augmentation level - for repeatable Augs like NeuroFlux Governor + this.level = 0; + // Name of Augmentation + this.name = ""; + // Whether the player owns this Augmentation + this.owned = false; + // Array of names of all prerequisites + this.prereqs = []; + // Multipliers given by this Augmentation. Must match the property name in + // The Player/Person classes + this.mults = {}; + this.name = params.name; + this.info = params.info; + this.prereqs = params.prereqs ? params.prereqs : []; + this.baseRepRequirement = params.repCost * Constants_1.CONSTANTS.AugmentationRepMultiplier * BitNodeMultipliers_1.BitNodeMultipliers.AugmentationRepCost; + this.baseCost = params.moneyCost * Constants_1.CONSTANTS.AugmentationCostMultiplier * BitNodeMultipliers_1.BitNodeMultipliers.AugmentationMoneyCost; + this.level = 0; + // Set multipliers + if (params.hacking_mult) { + this.mults.hacking_mult = params.hacking_mult; + } + if (params.strength_mult) { + this.mults.strength_mult = params.strength_mult; + } + if (params.defense_mult) { + this.mults.defense_mult = params.defense_mult; + } + if (params.dexterity_mult) { + this.mults.dexterity_mult = params.dexterity_mult; + } + if (params.agility_mult) { + this.mults.agility_mult = params.agility_mult; + } + if (params.charisma_mult) { + this.mults.charisma_mult = params.charisma_mult; + } + if (params.hacking_exp_mult) { + this.mults.hacking_exp_mult = params.hacking_exp_mult; + } + if (params.strength_exp_mult) { + this.mults.strength_exp_mult = params.strength_exp_mult; + } + if (params.defense_exp_mult) { + this.mults.defense_exp_mult = params.defense_exp_mult; + } + if (params.dexterity_exp_mult) { + this.mults.dexterity_exp_mult = params.dexterity_exp_mult; + } + if (params.agility_exp_mult) { + this.mults.agility_exp_mult = params.agility_exp_mult; + } + if (params.charisma_exp_mult) { + this.mults.charisma_exp_mult = params.charisma_exp_mult; + } + if (params.hacking_chance_mult) { + this.mults.hacking_chance_mult = params.hacking_chance_mult; + } + if (params.hacking_speed_mult) { + this.mults.hacking_speed_mult = params.hacking_speed_mult; + } + if (params.hacking_money_mult) { + this.mults.hacking_money_mult = params.hacking_money_mult; + } + if (params.hacking_grow_mult) { + this.mults.hacking_grow_mult = params.hacking_grow_mult; + } + if (params.company_rep_mult) { + this.mults.company_rep_mult = params.company_rep_mult; + } + if (params.faction_rep_mult) { + this.mults.faction_rep_mult = params.faction_rep_mult; + } + if (params.crime_money_mult) { + this.mults.crime_money_mult = params.crime_money_mult; + } + if (params.crime_success_mult) { + this.mults.crime_success_mult = params.crime_success_mult; + } + if (params.work_money_mult) { + this.mults.work_money_mult = params.work_money_mult; + } + if (params.hacknet_node_money_mult) { + this.mults.hacknet_node_money_mult = params.hacknet_node_money_mult; + } + if (params.hacknet_node_purchase_cost_mult) { + this.mults.hacknet_node_purchase_cost_mult = params.hacknet_node_purchase_cost_mult; + } + if (params.hacknet_node_ram_cost_mult) { + this.mults.hacknet_node_ram_cost_mult = params.hacknet_node_ram_cost_mult; + } + if (params.hacknet_node_core_cost_mult) { + this.mults.hacknet_node_core_cost_mult = params.hacknet_node_core_cost_mult; + } + if (params.hacknet_node_level_cost_mult) { + this.mults.hacknet_node_level_cost_mult = params.hacknet_node_level_cost_mult; + } + if (params.bladeburner_max_stamina_mult) { + this.mults.bladeburner_max_stamina_mult = params.bladeburner_max_stamina_mult; + } + if (params.bladeburner_stamina_gain_mult) { + this.mults.bladeburner_stamina_gain_mult = params.bladeburner_stamina_gain_mult; + } + if (params.bladeburner_analysis_mult) { + this.mults.bladeburner_analysis_mult = params.bladeburner_analysis_mult; + } + if (params.bladeburner_success_chance_mult) { + this.mults.bladeburner_success_chance_mult = params.bladeburner_success_chance_mult; + } + } + // Initiatizes a Augmentation object from a JSON save state. + static fromJSON(value) { + return JSONReviver_1.Generic_fromJSON(Augmentation, value.data); + } + // Adds this Augmentation to the specified Factions + addToFactions(factionList) { + for (let i = 0; i < factionList.length; ++i) { + const faction = Factions_1.Factions[factionList[i]]; + if (faction == null) { + console.warn(`In Augmentation.addToFactions(), could not find faction with this name: ${factionList[i]}`); + continue; + } + faction.augmentations.push(this.name); + } + } + // Adds this Augmentation to all Factions + addToAllFactions() { + for (const fac in Factions_1.Factions) { + if (Factions_1.Factions.hasOwnProperty(fac)) { + const facObj = Factions_1.Factions[fac]; + if (facObj == null) { + console.warn(`Invalid Faction object in addToAllFactions(). Key value: ${fac}`); + continue; + } + facObj.augmentations.push(this.name); + } + } + } + // Serialize the current object to a JSON save state. + toJSON() { + return JSONReviver_1.Generic_toJSON("Augmentation", this); + } +} +exports.Augmentation = Augmentation; +JSONReviver_1.Reviver.constructors.Augmentation = Augmentation; + + +/***/ }), +/* 19 */ +/*!**********************************!*\ + !*** ./src/Company/Companies.ts ***! + \**********************************/ /*! no static exports found */ /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -const getElementById_1 = __webpack_require__(/*! ./getElementById */ 54); -/** - * Given an element by its ID, removes all event listeners from that element by cloning and - * replacing. Then returns the new cloned element. - * @param elemId The HTML ID to retrieve the element by. - */ -function clearEventListeners(elemId) { - try { - const elem = getElementById_1.getElementById(elemId); - const newElem = elem.cloneNode(true); - if (elem.parentNode !== null) { - elem.parentNode.replaceChild(newElem, elem); - } - return newElem; - } - catch (e) { - // tslint:disable-next-line:no-console - console.error(e); - return null; - } -} -exports.clearEventListeners = clearEventListeners; - - -/***/ }), -/* 17 */ -/*!**********************************!*\ - !*** ./src/Company/Companies.ts ***! - \**********************************/ -/*! no static exports found */ -/*! exports used: Companies, companyExists, initCompanies, loadCompanies */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - Object.defineProperty(exports, "__esModule", { value: true }); // Constructs all CompanyPosition objects using the metadata in data/companypositions.ts -const CompaniesMetadata_1 = __webpack_require__(/*! ./data/CompaniesMetadata */ 214); -const Company_1 = __webpack_require__(/*! ./Company */ 76); -const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 13); +const CompaniesMetadata_1 = __webpack_require__(/*! ./data/CompaniesMetadata */ 232); +const Company_1 = __webpack_require__(/*! ./Company */ 72); +const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 15); exports.Companies = {}; function addCompany(params) { if (exports.Companies[params.name] != null) { @@ -7645,7 +7870,7 @@ exports.companyExists = companyExists; /***/ }), -/* 18 */ +/* 20 */ /*!*************************!*\ !*** ./src/Settings.ts ***! \*************************/ @@ -7656,7 +7881,7 @@ exports.companyExists = companyExists; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const SettingEnums_1 = __webpack_require__(/*! ./SettingEnums */ 73); +const SettingEnums_1 = __webpack_require__(/*! ./SettingEnums */ 77); const defaultSettings = { AutosaveInterval: 60, CodeInstructionRunTime: 50, @@ -7700,7 +7925,7 @@ exports.Settings = { /***/ }), -/* 19 */ +/* 21 */ /*!***************************!*\ !*** ./utils/YesNoBox.ts ***! \***************************/ @@ -7719,7 +7944,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); * 1. Just a Yes/No response from player * 2. Popup also includes a text input field in addition to the Yes/No response */ -const clearEventListeners_1 = __webpack_require__(/*! ./uiHelpers/clearEventListeners */ 16); +const clearEventListeners_1 = __webpack_require__(/*! ./uiHelpers/clearEventListeners */ 22); exports.yesNoBoxOpen = false; const yesNoBoxContainer = document.getElementById("yes-no-box-container"); const yesNoBoxTextElement = document.getElementById("yes-no-box-text"); @@ -7854,7 +8079,43 @@ exports.yesNoTxtInpBoxCreate = yesNoTxtInpBoxCreate; /***/ }), -/* 20 */ +/* 22 */ +/*!************************************************!*\ + !*** ./utils/uiHelpers/clearEventListeners.ts ***! + \************************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const getElementById_1 = __webpack_require__(/*! ./getElementById */ 57); +/** + * Given an element by its ID, removes all event listeners from that element by cloning and + * replacing. Then returns the new cloned element. + * @param elemId The HTML ID to retrieve the element by. + */ +function clearEventListeners(elemId) { + try { + const elem = getElementById_1.getElementById(elemId); + const newElem = elem.cloneNode(true); + if (elem.parentNode !== null) { + elem.parentNode.replaceChild(newElem, elem); + } + return newElem; + } + catch (e) { + // tslint:disable-next-line:no-console + console.error(e); + return null; + } +} +exports.clearEventListeners = clearEventListeners; + + +/***/ }), +/* 23 */ /*!**********************************************!*\ !*** ./utils/uiHelpers/removeElementById.ts ***! \**********************************************/ @@ -7865,8 +8126,8 @@ exports.yesNoTxtInpBoxCreate = yesNoTxtInpBoxCreate; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const getElementById_1 = __webpack_require__(/*! ./getElementById */ 54); -const removeElement_1 = __webpack_require__(/*! ./removeElement */ 61); +const getElementById_1 = __webpack_require__(/*! ./getElementById */ 57); +const removeElement_1 = __webpack_require__(/*! ./removeElement */ 63); /** * Given its id, this function removes an element AND its children * @param id The HTML identifier to search for and remove. @@ -7884,2751 +8145,7 @@ exports.removeElementById = removeElementById; /***/ }), -/* 21 */ -/*!******************************!*\ - !*** ./src/Augmentations.js ***! - \******************************/ -/*! exports provided: AugmentationNames, Augmentations, PlayerOwnedAugmentation, installAugmentations, initAugmentations, applyAugmentation, augmentationExists, Augmentation, displayAugmentationsContent */ -/*! exports used: Augmentation, AugmentationNames, Augmentations, PlayerOwnedAugmentation, applyAugmentation, augmentationExists, displayAugmentationsContent, initAugmentations, installAugmentations */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return AugmentationNames; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return Augmentations; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return PlayerOwnedAugmentation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "i", function() { return installAugmentations; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return initAugmentations; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return applyAugmentation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return augmentationExists; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Augmentation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return displayAugmentationsContent; }); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants */ 1); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Faction/Factions */ 14); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./NetscriptFunctions */ 43); -/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NetscriptWorker */ 26); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Prestige__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Prestige */ 88); -/* harmony import */ var _SaveObject__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./SaveObject */ 74); -/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Script */ 31); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _SettingEnums__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./SettingEnums */ 73); -/* harmony import */ var _SettingEnums__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_SettingEnums__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Settings */ 18); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _SourceFile__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./SourceFile */ 70); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/uiHelpers/createAccordionElement */ 79); -/* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var _utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/helpers/clearObject */ 80); -/* harmony import */ var _utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/helpers/isString */ 40); -/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 30); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_20__); - - - - - - - - - - - - - - - - - - - - - - - -//Augmentations -function Augmentation(params) { - if (params.name == null || params.info == null || params.moneyCost == null || params.repCost == null) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])("ERROR Creating Augmentations. This is a bug please contact game dev"); - return; - } - this.name = params.name; - this.info = params.info; - this.owned = false; - this.prereqs = params.prereqs ? params.prereqs : []; - - //Price and reputation base requirements (can change based on faction multipliers) - this.baseRepRequirement = params.repCost * _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].AugmentationRepMultiplier * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].AugmentationRepCost; - this.baseCost = params.moneyCost * _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].AugmentationCostMultiplier * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].AugmentationMoneyCost; - - //Level - Only applicable for some augmentations - // NeuroFlux Governor - this.level = 0; -} - -//Takes in an array of faction names and adds this augmentation to all of those factions -Augmentation.prototype.addToFactions = function(factionList) { - for (var i = 0; i < factionList.length; ++i) { - var faction = _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"][factionList[i]]; - if (faction == null) { - throw new Error("In Augmentation.addToFactions(), could not find faction with this name:" + factionList[i]); - continue; - } - faction.augmentations.push(this.name); - } -} - -Augmentation.prototype.addToAllFactions = function() { - for (var fac in _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"]) { - if (_Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"].hasOwnProperty(fac)) { - var facObj = _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"][fac]; - if (facObj == null) { - console.log("ERROR: Invalid faction object"); - continue; - } - facObj.augmentations.push(this.name); - } - } -} - -Augmentation.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_toJSON"])("Augmentation", this); -} - -Augmentation.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_fromJSON"])(Augmentation, value.data); -} - -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Reviver"].constructors.Augmentation = Augmentation; - -let Augmentations = {} - -function AddToAugmentations(aug) { - var name = aug.name; - Augmentations[name] = aug; -} - -let AugmentationNames = { - Targeting1: "Augmented Targeting I", - Targeting2: "Augmented Targeting II", - Targeting3: "Augmented Targeting III", - SyntheticHeart: "Synthetic Heart", - SynfibrilMuscle: "Synfibril Muscle", - CombatRib1: "Combat Rib I", - CombatRib2: "Combat Rib II", - CombatRib3: "Combat Rib III", - NanofiberWeave: "Nanofiber Weave", - SubdermalArmor: "NEMEAN Subdermal Weave", - WiredReflexes: "Wired Reflexes", - GrapheneBoneLacings: "Graphene Bone Lacings", - BionicSpine: "Bionic Spine", - GrapheneBionicSpine: "Graphene Bionic Spine Upgrade", - BionicLegs: "Bionic Legs", - GrapheneBionicLegs: "Graphene Bionic Legs Upgrade", - SpeechProcessor: "Speech Processor Implant", - TITN41Injection: "TITN-41 Gene-Modification Injection", - EnhancedSocialInteractionImplant: "Enhanced Social Interaction Implant", - BitWire: "BitWire", - ArtificialBioNeuralNetwork: "Artificial Bio-neural Network Implant", - ArtificialSynapticPotentiation: "Artificial Synaptic Potentiation", - EnhancedMyelinSheathing: "Enhanced Myelin Sheathing", - SynapticEnhancement: "Synaptic Enhancement Implant", - NeuralRetentionEnhancement: "Neural-Retention Enhancement", - DataJack: "DataJack", - ENM: "Embedded Netburner Module", - ENMCore: "Embedded Netburner Module Core Implant", - ENMCoreV2: "Embedded Netburner Module Core V2 Upgrade", - ENMCoreV3: "Embedded Netburner Module Core V3 Upgrade", - ENMAnalyzeEngine: "Embedded Netburner Module Analyze Engine", - ENMDMA: "Embedded Netburner Module Direct Memory Access Upgrade", - Neuralstimulator: "Neuralstimulator", - NeuralAccelerator: "Neural Accelerator", - CranialSignalProcessorsG1: "Cranial Signal Processors - Gen I", - CranialSignalProcessorsG2: "Cranial Signal Processors - Gen II", - CranialSignalProcessorsG3: "Cranial Signal Processors - Gen III", - CranialSignalProcessorsG4: "Cranial Signal Processors - Gen IV", - CranialSignalProcessorsG5: "Cranial Signal Processors - Gen V", - NeuronalDensification: "Neuronal Densification", - NuoptimalInjectorImplant: "Nuoptimal Nootropic Injector Implant", - SpeechEnhancement: "Speech Enhancement", - FocusWire: "FocusWire", - PCDNI: "PC Direct-Neural Interface", - PCDNIOptimizer: "PC Direct-Neural Interface Optimization Submodule", - PCDNINeuralNetwork: "PC Direct-Neural Interface NeuroNet Injector", - ADRPheromone1: "ADR-V1 Pheromone Gene", - ADRPheromone2: "ADR-V2 Pheromone Gene", - HacknetNodeCPUUpload: "Hacknet Node CPU Architecture Neural-Upload", - HacknetNodeCacheUpload: "Hacknet Node Cache Architecture Neural-Upload", - HacknetNodeNICUpload: "Hacknet Node NIC Architecture Neural-Upload", - HacknetNodeKernelDNI: "Hacknet Node Kernel Direct-Neural Interface", - HacknetNodeCoreDNI: "Hacknet Node Core Direct-Neural Interface", - NeuroFluxGovernor: "NeuroFlux Governor", - Neurotrainer1: "Neurotrainer I", - Neurotrainer2: "Neurotrainer II", - Neurotrainer3: "Neurotrainer III", - Hypersight: "HyperSight Corneal Implant", - LuminCloaking1: "LuminCloaking-V1 Skin Implant", - LuminCloaking2: "LuminCloaking-V2 Skin Implant", - HemoRecirculator: "HemoRecirculator", - SmartSonar: "SmartSonar Implant", - PowerRecirculator: "Power Recirculation Core", - QLink: "QLink", - TheRedPill: "The Red Pill", - SPTN97: "SPTN-97 Gene Modification", - HiveMind: "ECorp HVMind Implant", - CordiARCReactor: "CordiARC Fusion Reactor", - SmartJaw: "SmartJaw", - Neotra: "Neotra", - Xanipher: "Xanipher", - nextSENS: "nextSENS Gene Modification", - OmniTekInfoLoad: "OmniTek InfoLoad", - PhotosyntheticCells: "Photosynthetic Cells", - Neurolink: "BitRunners Neurolink", - TheBlackHand: "The Black Hand", - CRTX42AA: "CRTX42-AA Gene Modification", - Neuregen: "Neuregen Gene Modification", - CashRoot: "CashRoot Starter Kit", - NutriGen: "NutriGen Implant", - INFRARet: "INFRARET Enhancement", - DermaForce: "DermaForce Particle Barrier", - GrapheneBrachiBlades: "Graphene BranchiBlades Upgrade", - GrapheneBionicArms: "Graphene Bionic Arms Upgrade", - BrachiBlades: "BrachiBlades", - BionicArms: "Bionic Arms", - SNA: "Social Negotiation Assistant (S.N.A)", - EsperEyewear: "EsperTech Bladeburner Eyewear", - EMS4Recombination: "EMS-4 Recombination", - OrionShoulder: "ORION-MKIV Shoulder", - HyperionV1: "Hyperion Plasma Cannon V1", - HyperionV2: "Hyperion Plasma Cannon V2", - GolemSerum: "GOLEM Serum", - VangelisVirus: "Vangelis Virus", - VangelisVirus3: "Vangelis Virus 3.0", - INTERLINKED: "I.N.T.E.R.L.I.N.K.E.D", - BladeRunner: "Blade's Runners", - BladeArmor: "BLADE-51b Tesla Armor", - BladeArmorPowerCells: "BLADE-51b Tesla Armor: Power Cells Upgrade", - BladeArmorEnergyShielding: "BLADE-51b Tesla Armor: Energy Shielding Upgrade", - BladeArmorUnibeam: "BLADE-51b Tesla Armor: Unibeam Upgrade", - BladeArmorOmnibeam: "BLADE-51b Tesla Armor: Omnibeam Upgrade", - BladeArmorIPU: "BLADE-51b Tesla Armor: IPU Upgrade", - BladesSimulacrum: "The Blade's Simulacrum", - - //Wasteland Augs - //PepBoy: "P.E.P-Boy", Plasma Energy Projection System - //PepBoyForceField Generates plasma force fields - //PepBoyBlasts Generate high density plasma concussive blasts - //PepBoyDataStorage STore more data on pep boy, -} - -function initAugmentations() { - for (var name in _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"]) { - if (_Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"].hasOwnProperty(name)) { - _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"][name].augmentations = []; - } - } - - //Reset Augmentations - Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_17__["clearObject"])(Augmentations); - - //Combat stat augmentations - var HemoRecirculator = new Augmentation({ - name:AugmentationNames.HemoRecirculator, moneyCost: 9e6, repCost:4e3, - info:"A heart implant that greatly increases the body's ability to effectively use and pump " + - "blood.

" + - "This augmentation increases all of the player's combat stats by 8%." - }); - HemoRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate"]); - if (augmentationExists(AugmentationNames.HemoRecirculator)) { - delete Augmentations[AugmentationNames.HemoRecirculator]; - } - AddToAugmentations(HemoRecirculator); - - var Targeting1 = new Augmentation({ - name:AugmentationNames.Targeting1, moneyCost:3e6, repCost:2e3, - info:"This cranial implant is embedded within the player's inner ear structure and optic nerves. It regulates and enhances the user's " + - "balance and hand-eye coordination. It is also capable of augmenting reality by projecting digital information " + - "directly onto the retina. These enhancements allow the player to better lock-on and keep track of enemies.

" + - "This augmentation increases the player's dexterity by 10%." - }); - Targeting1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", - "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); - if (augmentationExists(AugmentationNames.Targeting1)) { - delete Augmentations[AugmentationNames.Targeting1]; - } - AddToAugmentations(Targeting1); - - var Targeting2 = new Augmentation({ - name:AugmentationNames.Targeting2, moneyCost:8.5e6, repCost:3.5e3, - info:"This is an upgrade of the Augmented Targeting I cranial implant, which is capable of augmenting reality " + - "and enhances the user's balance and hand-eye coordination.

" + - "This augmentation increases the player's dexterity by 20%.", - prereqs:[AugmentationNames.Targeting1] - }); - Targeting2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", - "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); - if (augmentationExists(AugmentationNames.Targeting2)) { - delete Augmentations[AugmentationNames.Targeting2]; - } - AddToAugmentations(Targeting2); - - var Targeting3 = new Augmentation({ - name:AugmentationNames.Targeting3, moneyCost:23e6, repCost:11e3, - info:"This is an upgrade of the Augmented Targeting II cranial implant, which is capable of augmenting reality " + - "and enhances the user's balance and hand-eye coordination.

" + - "This augmentation increases the player's dexterity by 30%.", - prereqs:[AugmentationNames.Targeting2] - }); - Targeting3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", - "KuaiGong International", "Blade Industries", "The Covenant"]); - if (augmentationExists(AugmentationNames.Targeting3)) { - delete Augmentations[AugmentationNames.Targeting3]; - } - AddToAugmentations(Targeting3); - - var SyntheticHeart = new Augmentation({ - name:AugmentationNames.SyntheticHeart, moneyCost:575e6, repCost:300e3, - info:"This advanced artificial heart, created from plasteel and graphene, is capable of pumping more blood " + - "at much higher efficiencies than a normal human heart.

" + - "This augmentation increases the player's agility and strength by 50%." - }); - SyntheticHeart.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", - "NWO", "The Covenant", "Daedalus", "Illuminati"]); - if (augmentationExists(AugmentationNames.SyntheticHeart)) { - delete Augmentations[AugmentationNames.SyntheticHeart]; - } - AddToAugmentations(SyntheticHeart); - - var SynfibrilMuscle = new Augmentation({ - name:AugmentationNames.SynfibrilMuscle, repCost:175e3, moneyCost:225e6, - info:"The myofibrils in human muscles are injected with special chemicals that react with the proteins inside " + - "the myofibrils, altering their underlying structure. The end result is muscles that are stronger and more elastic. " + - "Scientists have named these artificially enhanced units 'synfibrils'.

" + - "This augmentation increases the player's strength and defense by 30%." - }); - SynfibrilMuscle.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", - "NWO", "The Covenant", "Daedalus", "Illuminati", "Blade Industries"]); - if (augmentationExists(AugmentationNames.SynfibrilMuscle)) { - delete Augmentations[AugmentationNames.SynfibrilMuscle]; - } - AddToAugmentations(SynfibrilMuscle) - - var CombatRib1 = new Augmentation({ - name:AugmentationNames.CombatRib1, repCost:3e3, moneyCost:4750000, - info:"The human body's ribs are replaced with artificial ribs that automatically and continuously release cognitive " + - "and performance-enhancing drugs into the bloodstream, improving the user's abilities in combat.

" + - "This augmentation increases the player's strength and defense by 10%." - }); - CombatRib1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", - "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); - if (augmentationExists(AugmentationNames.CombatRib1)) { - delete Augmentations[AugmentationNames.CombatRib1]; - } - AddToAugmentations(CombatRib1); - - var CombatRib2 = new Augmentation({ - name:AugmentationNames.CombatRib2, repCost:7.5e3, moneyCost:13e6, - info:"This is an upgrade to the Combat Rib I augmentation, and is capable of releasing even more potent combat-enhancing " + - "drugs into the bloodstream.

" + - "This augmentation increases the player's strength and defense by 14%.", - prereqs:[AugmentationNames.CombatRib1] - }); - CombatRib2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", - "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); - if (augmentationExists(AugmentationNames.CombatRib2)) { - delete Augmentations[AugmentationNames.CombatRib2]; - } - AddToAugmentations(CombatRib2); - - var CombatRib3 = new Augmentation({ - name:AugmentationNames.CombatRib3, repCost:14e3, moneyCost:24e6, - info:"This is an upgrade to the Combat Rib II augmentation, and is capable of releasing even more potent combat-enhancing " + - "drugs into the bloodstream

." + - "This augmentation increases the player's strength and defense by 18%.", - prereqs:[AugmentationNames.CombatRib2] - }); - CombatRib3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", - "KuaiGong International", "Blade Industries", "The Covenant"]); - if (augmentationExists(AugmentationNames.CombatRib3)) { - delete Augmentations[AugmentationNames.CombatRib3]; - } - AddToAugmentations(CombatRib3); - - var NanofiberWeave = new Augmentation({ - name:AugmentationNames.NanofiberWeave, repCost:15e3, moneyCost:25e6, - info:"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning. " + - "This improves the skin's ability to regenerate itself and protect the body from external stresses and forces.

" + - "This augmentation increases the player's strength and defense by 20%." - }); - NanofiberWeave.addToFactions(["Tian Di Hui", "The Syndicate", "The Dark Army", "Speakers for the Dead", - "Blade Industries", "Fulcrum Secret Technologies", "OmniTek Incorporated"]); - if (augmentationExists(AugmentationNames.NanofiberWeave)) { - delete Augmentations[AugmentationNames.NanofiberWeave]; - } - AddToAugmentations(NanofiberWeave); - - var SubdermalArmor = new Augmentation({ - name:AugmentationNames.SubdermalArmor, repCost:350e3, moneyCost:650e6, - info:"The NEMEAN Subdermal Weave is a thin, light-weight, graphene plating that houses a dilatant fluid. " + - "The material is implanted underneath the skin, and is the most advanced form of defensive enhancement " + - "that has ever been created. The dilatant fluid, despite being thin and light, is extremely effective " + - "at stopping piercing blows and reducing blunt trauma. The properties of graphene allow the plating to " + - "mitigate damage from any fire-related or electrical traumas.

" + - "This augmentation increases the player's defense by 120%." - }); - SubdermalArmor.addToFactions(["The Syndicate", "Fulcrum Secret Technologies", "Illuminati", "Daedalus", - "The Covenant"]); - if (augmentationExists(AugmentationNames.SubdermalArmor)) { - delete Augmentations[AugmentationNames.SubdermalArmor]; - } - AddToAugmentations(SubdermalArmor); - - var WiredReflexes = new Augmentation({ - name:AugmentationNames.WiredReflexes, repCost:500, moneyCost:500e3, - info:"Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, " + - "supercharging the body's ability to send signals through neurons. This results in increased reflex speed.

" + - "This augmentation increases the player's agility and dexterity by 5%." - }); - WiredReflexes.addToFactions(["Tian Di Hui", "Slum Snakes", "Sector-12", "Volhaven", "Aevum", "Ishima", - "The Syndicate", "The Dark Army", "Speakers for the Dead"]); - if (augmentationExists(AugmentationNames.WiredReflexes)) { - delete Augmentations[AugmentationNames.WiredReflexes]; - } - AddToAugmentations(WiredReflexes); - - var GrapheneBoneLacings = new Augmentation({ - name:AugmentationNames.GrapheneBoneLacings, repCost:450e3, moneyCost:850e6, - info:"A graphene-based material is grafted and fused into the user's bones, significantly increasing " + - "their density and tensile strength.

" + - "This augmentation increases the player's strength and defense by 70%." - }); - GrapheneBoneLacings.addToFactions(["Fulcrum Secret Technologies", "The Covenant"]); - if (augmentationExists(AugmentationNames.GrapheneBoneLacings)) { - delete Augmentations[AugmentationNames.GrapheneBoneLacings]; - } - AddToAugmentations(GrapheneBoneLacings); - - var BionicSpine = new Augmentation({ - name:AugmentationNames.BionicSpine, repCost:18e3, moneyCost:25e6, - info:"An artificial spine created from plasteel and carbon fibers that completely replaces the organic spine. " + - "Not only is the Bionic Spine physically stronger than a human spine, but it is also capable of digitally " + - "stimulating and regulating the neural signals that are sent and received by the spinal cord. This results in " + - "greatly improved senses and reaction speeds.

" + - "This augmentation increases all of the player's combat stats by 15%." - }); - BionicSpine.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", - "OmniTek Incorporated", "Blade Industries"]); - if (augmentationExists(AugmentationNames.BionicSpine)) { - delete Augmentations[AugmentationNames.BionicSpine]; - } - AddToAugmentations(BionicSpine); - - var GrapheneBionicSpine = new Augmentation({ - name:AugmentationNames.GrapheneBionicSpine, repCost:650e3, moneyCost:1200e6, - info:"An upgrade to the Bionic Spine augmentation. It fuses the implant with an advanced graphene " + - "material to make it much stronger and lighter.

" + - "This augmentation increases all of the player's combat stats by 60%.", - prereqs:[AugmentationNames.BionicSpine] - }); - GrapheneBionicSpine.addToFactions(["Fulcrum Secret Technologies", "ECorp"]); - if (augmentationExists(AugmentationNames.GrapheneBionicSpine)) { - delete Augmentations[AugmentationNames.GrapheneBionicSpine]; - } - AddToAugmentations(GrapheneBionicSpine); - - var BionicLegs = new Augmentation({ - name:AugmentationNames.BionicLegs, repCost:60e3, moneyCost:75e6, - info:"Cybernetic legs created from plasteel and carbon fibers that completely replace the user's organic legs.

" + - "This augmentation increases the player's agility by 60%." - }); - BionicLegs.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", - "OmniTek Incorporated", "Blade Industries"]); - if (augmentationExists(AugmentationNames.BionicLegs)) { - delete Augmentations[AugmentationNames.BionicLegs]; - } - AddToAugmentations(BionicLegs); - - var GrapheneBionicLegs = new Augmentation({ - name:AugmentationNames.GrapheneBionicLegs, repCost:300e3, moneyCost:900e6, - info:"An upgrade to the Bionic Legs augmentation. It fuses the implant with an advanced graphene " + - "material to make it much stronger and lighter.

" + - "This augmentation increases the player's agility by 150%.", - prereqs:[AugmentationNames.BionicLegs] - }); - GrapheneBionicLegs.addToFactions(["MegaCorp", "ECorp", "Fulcrum Secret Technologies"]); - if (augmentationExists(AugmentationNames.GrapheneBionicLegs)) { - delete Augmentations[AugmentationNames.GrapheneBionicLegs]; - } - AddToAugmentations(GrapheneBionicLegs); - - //Labor stat augmentations - var SpeechProcessor = new Augmentation({ - name:AugmentationNames.SpeechProcessor, repCost:3e3, moneyCost:10e6, - info:"A cochlear implant with an embedded computer that analyzes incoming speech. " + - "The embedded computer processes characteristics of incoming speech, such as tone " + - "and inflection, to pick up on subtle cues and aid in social interactions.

" + - "This augmentation increases the player's charisma by 20%." - }); - SpeechProcessor.addToFactions(["Tian Di Hui", "Chongqing", "Sector-12", "New Tokyo", "Aevum", - "Ishima", "Volhaven", "Silhouette"]); - if (augmentationExists(AugmentationNames.SpeechProcessor)) { - delete Augmentations[AugmentationNames.SpeechProcessor]; - } - AddToAugmentations(SpeechProcessor); - - let TITN41Injection = new Augmentation({ - name:AugmentationNames.TITN41Injection, repCost:10e3, moneyCost:38e6, - info:"TITN is a series of viruses that targets and alters the sequences of human DNA in genes that " + - "control personality. The TITN-41 strain alters these genes so that the subject becomes more " + - "outgoing and socialable.

" + - "This augmentation increases the player's charisma and charisma experience gain rate by 15%." - }); - TITN41Injection.addToFactions(["Silhouette"]); - if (augmentationExists(AugmentationNames.TITN41Injection)) { - delete Augmentations[AugmentationNames.TITN41Injection]; - } - AddToAugmentations(TITN41Injection); - - var EnhancedSocialInteractionImplant = new Augmentation({ - name:AugmentationNames.EnhancedSocialInteractionImplant, repCost:150e3, moneyCost:275e6, - info:"A cranial implant that greatly assists in the user's ability to analyze social situations " + - "and interactions. The system uses a wide variety of factors such as facial expression, body " + - "language, and the voice's tone/inflection to determine the best course of action during social" + - "situations. The implant also uses deep learning software to continuously learn new behavior" + - "patterns and how to best respond.

" + - "This augmentation increases the player's charisma and charisma experience gain rate by 60%." - }); - EnhancedSocialInteractionImplant.addToFactions(["Bachman & Associates", "NWO", "Clarke Incorporated", - "OmniTek Incorporated", "Four Sigma"]); - if (augmentationExists(AugmentationNames.EnhancedSocialInteractionImplant)) { - delete Augmentations[AugmentationNames.EnhancedSocialInteractionImplant]; - } - AddToAugmentations(EnhancedSocialInteractionImplant); - - //Hacking augmentations - var BitWire = new Augmentation({ - name:AugmentationNames.BitWire, repCost:1500, moneyCost:2e6, - info: "A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing " + - "capabilities.

" + - "This augmentation increases the player's hacking skill by 5%." - }); - BitWire.addToFactions(["CyberSec", "NiteSec"]); - if (augmentationExists(AugmentationNames.BitWire)) { - delete Augmentations[AugmentationNames.BitWire]; - } - AddToAugmentations(BitWire); - - var ArtificialBioNeuralNetwork = new Augmentation({ - name:AugmentationNames.ArtificialBioNeuralNetwork, repCost:110e3, moneyCost:600e6, - info:"A network consisting of millions of nanoprocessors is embedded into the brain. " + - "The network is meant to mimick the way a biological brain solves a problem, which each " + - "nanoprocessor acting similar to the way a neuron would in a neural network. However, these " + - "nanoprocessors are programmed to perform computations much faster than organic neurons, " + - "allowing its user to solve much more complex problems at a much faster rate.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 3%.
" + - "Increases the amount of money the player's gains from hacking by 15%.
" + - "Increases the player's hacking skill by 12%." - }); - ArtificialBioNeuralNetwork.addToFactions(["BitRunners", "Fulcrum Secret Technologies"]); - if (augmentationExists(AugmentationNames.ArtificialBioNeuralNetwork)) { - delete Augmentations[AugmentationNames.ArtificialBioNeuralNetwork]; - } - AddToAugmentations(ArtificialBioNeuralNetwork); - - var ArtificialSynapticPotentiation = new Augmentation({ - name:AugmentationNames.ArtificialSynapticPotentiation, repCost:2500, moneyCost:16e6, - info:"The body is injected with a chemical that artificially induces synaptic potentiation, " + - "otherwise known as the strengthening of synapses. This results in a enhanced cognitive abilities.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%
" + - "Increases the player's hacking chance by 5%.
" + - "Increases the player's hacking experience gain rate by 5%." - }); - ArtificialSynapticPotentiation.addToFactions(["The Black Hand", "NiteSec"]); - if (augmentationExists(AugmentationNames.ArtificialSynapticPotentiation)) { - delete Augmentations[AugmentationNames.ArtificialSynapticPotentiation]; - } - AddToAugmentations(ArtificialSynapticPotentiation); - - var EnhancedMyelinSheathing = new Augmentation({ - name:AugmentationNames.EnhancedMyelinSheathing, repCost:40e3, moneyCost:275e6, - info:"Electrical signals are used to induce a new, artificial form of myelinogensis in the human body. " + - "This process results in the proliferation of new, synthetic myelin sheaths in the nervous " + - "system. These myelin sheaths can propogate neuro-signals much faster than their organic " + - "counterparts, leading to greater processing speeds and better brain function.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 3%.
" + - "Increases the player's hacking skill by 8%.
" + - "Increases the player's hacking experience gain rate by 10%." - }); - EnhancedMyelinSheathing.addToFactions(["Fulcrum Secret Technologies", "BitRunners", "The Black Hand"]); - if (augmentationExists(AugmentationNames.EnhancedMyelinSheathing)) { - delete Augmentations[AugmentationNames.EnhancedMyelinSheathing]; - } - AddToAugmentations(EnhancedMyelinSheathing); - - var SynapticEnhancement = new Augmentation({ - name:AugmentationNames.SynapticEnhancement, repCost:800, moneyCost:1.5e6, - info:"A small cranial implant that continuously uses weak electric signals to stimulate the brain and " + - "induce stronger synaptic activity. This improves the user's cognitive abilities.

" + - "This augmentation increases the player's hacking speed by 3%." - }); - SynapticEnhancement.addToFactions(["CyberSec"]); - if (augmentationExists(AugmentationNames.SynapticEnhancement)) { - delete Augmentations[AugmentationNames.SynapticEnhancement]; - } - AddToAugmentations(SynapticEnhancement); - - var NeuralRetentionEnhancement = new Augmentation({ - name:AugmentationNames.NeuralRetentionEnhancement, repCost:8e3, moneyCost:50e6, - info:"Chemical injections are used to permanently alter and strengthen the brain's neuronal " + - "circuits, strengthening its ability to retain information.

" + - "This augmentation increases the player's hacking experience gain rate by 25%." - }); - NeuralRetentionEnhancement.addToFactions(["NiteSec"]); - if (augmentationExists(AugmentationNames.NeuralRetentionEnhancement)) { - delete Augmentations[AugmentationNames.NeuralRetentionEnhancement]; - } - AddToAugmentations(NeuralRetentionEnhancement); - - var DataJack = new Augmentation({ - name:AugmentationNames.DataJack, repCost:45e3, moneyCost:90e6, - info:"A brain implant that provides an interface for direct, wireless communication between a computer's main " + - "memory and the mind. This implant allows the user to not only access a computer's memory, but also alter " + - "and delete it.

" + - "This augmentation increases the amount of money the player gains from hacking by 25%." - }); - DataJack.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "Chongqing", "New Tokyo"]); - if (augmentationExists(AugmentationNames.DataJack)) { - delete Augmentations[AugmentationNames.DataJack]; - } - AddToAugmentations(DataJack); - - var ENM = new Augmentation({ - name:AugmentationNames.ENM, repCost:6e3, moneyCost:50e6, - info:"A thin device embedded inside the arm containing a wireless module capable of connecting " + - "to nearby networks. Once connected, the Netburner Module is capable of capturing and " + - "processing all of the traffic on that network. By itself, the Embedded Netburner Module does " + - "not do much, but a variety of very powerful upgrades can be installed that allow you to fully " + - "control the traffic on a network.

" + - "This augmentation increases the player's hacking skill by 8%." - }); - ENM.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "ECorp", "MegaCorp", - "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); - if (augmentationExists(AugmentationNames.ENM)) { - delete Augmentations[AugmentationNames.ENM]; - } - AddToAugmentations(ENM); - - var ENMCore = new Augmentation({ - name:AugmentationNames.ENMCore, repCost:100e3, moneyCost:500e6, - info:"The Core library is an implant that upgrades the firmware of the Embedded Netburner Module. " + - "This upgrade allows the Embedded Netburner Module to generate its own data on a network.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 3%.
" + - "Increases the amount of money the player gains from hacking by 10%.
" + - "Increases the player's chance of successfully performing a hack by 3%.
" + - "Increases the player's hacking experience gain rate by 7%.
" + - "Increases the player's hacking skill by 7%.", - prereqs:[AugmentationNames.ENM] - }); - ENMCore.addToFactions(["BitRunners", "The Black Hand", "ECorp", "MegaCorp", - "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); - if (augmentationExists(AugmentationNames.ENMCore)) { - delete Augmentations[AugmentationNames.ENMCore]; - } - AddToAugmentations(ENMCore); - - var ENMCoreV2 = new Augmentation({ - name:AugmentationNames.ENMCoreV2, repCost:400e3, moneyCost:900e6, - info:"The Core V2 library is an implant that upgrades the firmware of the Embedded Netburner Module. " + - "This upgraded firmware allows the Embedded Netburner Module to control the information on " + - "a network by re-routing traffic, spoofing IP addresses, or altering the data inside network " + - "packets.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 5%.
" + - "Increases the amount of money the player gains from hacking by 30%.
" + - "Increases the player's chance of successfully performing a hack by 5%.
" + - "Increases the player's hacking experience gain rate by 15%.
" + - "Increases the player's hacking skill by 8%.", - prereqs:[AugmentationNames.ENMCore] - }); - ENMCoreV2.addToFactions(["BitRunners", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", - "Blade Industries", "OmniTek Incorporated", "KuaiGong International"]); - if (augmentationExists(AugmentationNames.ENMCoreV2)) { - delete Augmentations[AugmentationNames.ENMCoreV2]; - } - AddToAugmentations(ENMCoreV2); - - var ENMCoreV3 = new Augmentation({ - name:AugmentationNames.ENMCoreV3, repCost:700e3, moneyCost:1500e6, - info:"The Core V3 library is an implant that upgrades the firmware of the Embedded Netburner Module. " + - "This upgraded firmware allows the Embedded Netburner Module to seamlessly inject code into " + - "any device on a network.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 5%.
" + - "Increases the amount of money the player gains from hacking by 40%.
" + - "Increases the player's chance of successfully performing a hack by 10%.
" + - "Increases the player's hacking experience gain rate by 25%.
" + - "Increases the player's hacking skill by 10%.", - prereqs:[AugmentationNames.ENMCoreV2] - }); - ENMCoreV3.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", - "Daedalus", "The Covenant", "Illuminati"]); - if (augmentationExists(AugmentationNames.ENMCoreV3)) { - delete Augmentations[AugmentationNames.ENMCoreV3]; - } - AddToAugmentations(ENMCoreV3); - - var ENMAnalyzeEngine = new Augmentation({ - name:AugmentationNames.ENMAnalyzeEngine, repCost:250e3, moneyCost:1200e6, - info:"Installs the Analyze Engine for the Embedded Netburner Module, which is a CPU cluster " + - "that vastly outperforms the Netburner Module's native single-core processor.

" + - "This augmentation increases the player's hacking speed by 10%.", - prereqs:[AugmentationNames.ENM] - }); - ENMAnalyzeEngine.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", - "Daedalus", "The Covenant", "Illuminati"]); - if (augmentationExists(AugmentationNames.ENMAnalyzeEngine)) { - delete Augmentations[AugmentationNames.ENMAnalyzeEngine]; - } - AddToAugmentations(ENMAnalyzeEngine); - - var ENMDMA = new Augmentation({ - name:AugmentationNames.ENMDMA, repCost:400e3, moneyCost:1400e6, - info:"This implant installs a Direct Memory Access (DMA) controller into the " + - "Embedded Netburner Module. This allows the Module to send and receive data " + - "directly to and from the main memory of devices on a network.

" + - "This augmentation:
" + - "Increases the amount of money the player gains from hacking by 40%.
" + - "Increases the player's chance of successfully performing a hack by 20%.", - prereqs:[AugmentationNames.ENM] - }); - ENMDMA.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", - "Daedalus", "The Covenant", "Illuminati"]); - if (augmentationExists(AugmentationNames.ENMDMA)) { - delete Augmentations[AugmentationNames.ENMDMA]; - } - AddToAugmentations(ENMDMA); - - var Neuralstimulator = new Augmentation({ - name:AugmentationNames.Neuralstimulator, repCost:20e3, moneyCost:600e6, - info:"A cranial implant that intelligently stimulates certain areas of the brain " + - "in order to improve cognitive functions.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%.
" + - "Increases the player's chance of successfully performing a hack by 10%.
" + - "Increases the player's hacking experience gain rate by 12%." - }); - Neuralstimulator.addToFactions(["The Black Hand", "Chongqing", "Sector-12", "New Tokyo", "Aevum", - "Ishima", "Volhaven", "Bachman & Associates", "Clarke Incorporated", - "Four Sigma"]); - if (augmentationExists(AugmentationNames.Neuralstimulator)) { - delete Augmentations[AugmentationNames.Neuralstimulator]; - } - AddToAugmentations(Neuralstimulator); - - var NeuralAccelerator = new Augmentation({ - name:AugmentationNames.NeuralAccelerator, repCost:80e3, moneyCost:350e6, - info:"A microprocessor that accelerates the processing " + - "speed of biological neural networks. This is a cranial implant that is embedded inside the brain.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 10%.
" + - "Increases the player's hacking experience gain rate by 15%.
" + - "Increases the amount of money the player gains from hacking by 20%." - }); - NeuralAccelerator.addToFactions(["BitRunners"]); - if (augmentationExists(AugmentationNames.NeuralAccelerator)) { - delete Augmentations[AugmentationNames.NeuralAccelerator]; - } - AddToAugmentations(NeuralAccelerator); - - var CranialSignalProcessorsG1 = new Augmentation({ - name:AugmentationNames.CranialSignalProcessorsG1, repCost:4e3, moneyCost:14e6, - info:"The first generation of Cranial Signal Processors. Cranial Signal Processors " + - "are a set of specialized microprocessors that are attached to " + - "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + - "so that the brain doesn't have to.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 1%.
" + - "Increases the player's hacking skill by 5%." - }); - CranialSignalProcessorsG1.addToFactions(["CyberSec"]); - if (augmentationExists(AugmentationNames.CranialSignalProcessorsG1)) { - delete Augmentations[AugmentationNames.CranialSignalProcessorsG1]; - } - AddToAugmentations(CranialSignalProcessorsG1); - - var CranialSignalProcessorsG2 = new Augmentation({ - name:AugmentationNames.CranialSignalProcessorsG2, repCost:7500, moneyCost:25e6, - info:"The second generation of Cranial Signal Processors. Cranial Signal Processors " + - "are a set of specialized microprocessors that are attached to " + - "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + - "so that the brain doesn't have to.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%.
" + - "Increases the player's chance of successfully performing a hack by 5%.
" + - "Increases the player's hacking skill by 7%.", - prereqs:[AugmentationNames.CranialSignalProcessorsG1] - }); - CranialSignalProcessorsG2.addToFactions(["CyberSec", "NiteSec"]); - if (augmentationExists(AugmentationNames.CranialSignalProcessorsG2)) { - delete Augmentations[AugmentationNames.CranialSignalProcessorsG2]; - } - AddToAugmentations(CranialSignalProcessorsG2); - - var CranialSignalProcessorsG3 = new Augmentation({ - name:AugmentationNames.CranialSignalProcessorsG3, repCost:20e3, moneyCost:110e6, - info:"The third generation of Cranial Signal Processors. Cranial Signal Processors " + - "are a set of specialized microprocessors that are attached to " + - "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + - "so that the brain doesn't have to.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%.
" + - "Increases the amount of money the player gains from hacking by 15%.
" + - "Increases the player's hacking skill by 9%.", - prereqs:[AugmentationNames.CranialSignalProcessorsG2] - }); - CranialSignalProcessorsG3.addToFactions(["NiteSec", "The Black Hand", "BitRunners"]); - if (augmentationExists(AugmentationNames.CranialSignalProcessorsG3)) { - delete Augmentations[AugmentationNames.CranialSignalProcessorsG3]; - } - AddToAugmentations(CranialSignalProcessorsG3); - - var CranialSignalProcessorsG4 = new Augmentation({ - name:AugmentationNames.CranialSignalProcessorsG4, repCost:50e3, moneyCost:220e6, - info:"The fourth generation of Cranial Signal Processors. Cranial Signal Processors " + - "are a set of specialized microprocessors that are attached to " + - "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + - "so that the brain doesn't have to.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 2%.
" + - "Increases the amount of money the player gains from hacking by 20%.
" + - "Increases the amount of money the player can inject into servers using grow() by 25%.", - prereqs:[AugmentationNames.CranialSignalProcessorsG3] - }); - CranialSignalProcessorsG4.addToFactions(["The Black Hand", "BitRunners"]); - if (augmentationExists(AugmentationNames.CranialSignalProcessorsG4)) { - delete Augmentations[AugmentationNames.CranialSignalProcessorsG4]; - } - AddToAugmentations(CranialSignalProcessorsG4); - - var CranialSignalProcessorsG5 = new Augmentation({ - name:AugmentationNames.CranialSignalProcessorsG5, repCost:100e3, moneyCost:450e6, - info:"The fifth generation of Cranial Signal Processors. Cranial Signal Processors " + - "are a set of specialized microprocessors that are attached to " + - "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + - "so that the brain doesn't have to.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 30%.
" + - "Increases the amount of money the player gains from hacking by 25%.
" + - "Increases the amount of money the player can inject into servers using grow() by 75%.", - prereqs:[AugmentationNames.CranialSignalProcessorsG4] - }); - CranialSignalProcessorsG5.addToFactions(["BitRunners"]); - if (augmentationExists(AugmentationNames.CranialSignalProcessorsG5)) { - delete Augmentations[AugmentationNames.CranialSignalProcessorsG5]; - } - AddToAugmentations(CranialSignalProcessorsG5); - - var NeuronalDensification = new Augmentation({ - name:AugmentationNames.NeuronalDensification, repCost:75e3, moneyCost:275e6, - info:"The brain is surgically re-engineered to have increased neuronal density " + - "by decreasing the neuron gap junction. Then, the body is genetically modified " + - "to enhance the production and capabilities of its neural stem cells.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 15%.
" + - "Increases the player's hacking experience gain rate by 10%.
"+ - "Increases the player's hacking speed by 3%." - }); - NeuronalDensification.addToFactions(["Clarke Incorporated"]); - if (augmentationExists(AugmentationNames.NeuronalDensification)) { - delete Augmentations[AugmentationNames.NeuronalDensification]; - } - AddToAugmentations(NeuronalDensification); - - //Work Augmentations - var NuoptimalInjectorImplant = new Augmentation({ - name:AugmentationNames.NuoptimalInjectorImplant, repCost:2e3, moneyCost:4e6, - info:"This torso implant automatically injects nootropic supplements into " + - "the bloodstream to improve memory, increase focus, and provide other " + - "cognitive enhancements.

" + - "This augmentation increases the amount of reputation the player gains " + - "when working for a company by 20%." - }); - NuoptimalInjectorImplant.addToFactions(["Tian Di Hui", "Volhaven", "New Tokyo", "Chongqing", "Ishima", - "Clarke Incorporated", "Four Sigma", "Bachman & Associates"]); - if (augmentationExists(AugmentationNames.NuoptimalInjectorImplant)) { - delete Augmentations[AugmentationNames.NuoptimalInjectorImplant]; - } - AddToAugmentations(NuoptimalInjectorImplant); - - var SpeechEnhancement = new Augmentation({ - name:AugmentationNames.SpeechEnhancement, repCost:1e3, moneyCost:2.5e6, - info:"An advanced neural implant that improves your speaking abilities, making " + - "you more convincing and likable in conversations and overall improving your " + - "social interactions.

" + - "This augmentation:
" + - "Increases the player's charisma by 10%.
" + - "Increases the amount of reputation the player gains when working for a company by 10%." - }); - SpeechEnhancement.addToFactions(["Tian Di Hui", "Speakers for the Dead", "Four Sigma", "KuaiGong International", - "Clarke Incorporated", "Bachman & Associates"]); - if (augmentationExists(AugmentationNames.SpeechEnhancement)) { - delete Augmentations[AugmentationNames.SpeechEnhancement]; - } - AddToAugmentations(SpeechEnhancement); - - var FocusWire = new Augmentation({ - name:AugmentationNames.FocusWire, repCost:30e3, moneyCost:180e6, - info:"A cranial implant that stops procrastination by blocking specific neural pathways " + - "in the brain.

" + - "This augmentation:
" + - "Increases all experience gains by 5%.
" + - "Increases the amount of money the player gains from working by 20%.
" + - "Increases the amount of reputation the player gains when working for a company by 10%." - }); - FocusWire.addToFactions(["Bachman & Associates", "Clarke Incorporated", "Four Sigma", "KuaiGong International"]); - if (augmentationExists(AugmentationNames.FocusWire)) { - delete Augmentations[AugmentationNames.FocusWire]; - } - AddToAugmentations(FocusWire) - - var PCDNI = new Augmentation({ - name:AugmentationNames.PCDNI, repCost:150e3, moneyCost:750e6, - info:"Installs a Direct-Neural Interface jack into your arm that is compatible with most " + - "computers. Connecting to a computer through this jack allows you to interface with " + - "it using the brain's electrochemical signals.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 30%.
" + - "Increases the player's hacking skill by 8%." - }); - PCDNI.addToFactions(["Four Sigma", "OmniTek Incorporated", "ECorp", "Blade Industries"]); - if (augmentationExists(AugmentationNames.PCDNI)) { - delete Augmentations[AugmentationNames.PCDNI]; - } - AddToAugmentations(PCDNI); - - var PCDNIOptimizer = new Augmentation({ - name:AugmentationNames.PCDNIOptimizer, repCost:200e3, moneyCost:900e6, - info:"This is a submodule upgrade to the PC Direct-Neural Interface augmentation. It " + - "improves the performance of the interface and gives the user more control options " + - "to the connected computer.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 75%.
" + - "Increases the player's hacking skill by 10%.", - prereqs:[AugmentationNames.PCDNI] - }); - PCDNIOptimizer.addToFactions(["Fulcrum Secret Technologies", "ECorp", "Blade Industries"]); - if (augmentationExists(AugmentationNames.PCDNIOptimizer)) { - delete Augmentations[AugmentationNames.PCDNIOptimizer]; - } - AddToAugmentations(PCDNIOptimizer); - - var PCDNINeuralNetwork = new Augmentation({ - name:AugmentationNames.PCDNINeuralNetwork, repCost:600e3, moneyCost:1500e6, - info:"This is an additional installation that upgrades the functionality of the " + - "PC Direct-Neural Interface augmentation. When connected to a computer, " + - "The NeuroNet Injector upgrade allows the user to use his/her own brain's " + - "processing power to aid the computer in computational tasks.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 100%.
" + - "Increases the player's hacking skill by 10%.
" + - "Increases the player's hacking speed by 5%.", - prereqs:[AugmentationNames.PCDNI] - }); - PCDNINeuralNetwork.addToFactions(["Fulcrum Secret Technologies"]); - if (augmentationExists(AugmentationNames.PCDNINeuralNetwork)) { - delete Augmentations[AugmentationNames.PCDNINeuralNetwork]; - } - AddToAugmentations(PCDNINeuralNetwork); - - var ADRPheromone1 = new Augmentation({ - name:AugmentationNames.ADRPheromone1, repCost:1500, moneyCost:3.5e6, - info:"The body is genetically re-engineered so that it produces the ADR-V1 pheromone, " + - "an artificial pheromone discovered by scientists. The ADR-V1 pheromone, when excreted, " + - "triggers feelings of admiration and approval in other people.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains when working for a company by 10%
" + - "Increases the amount of reputation the player gains for a faction by 10%." - }); - ADRPheromone1.addToFactions(["Tian Di Hui", "The Syndicate", "NWO", "MegaCorp", "Four Sigma"]); - if (augmentationExists(AugmentationNames.ADRPheromone1)) { - delete Augmentations[AugmentationNames.ADRPheromone1]; - } - AddToAugmentations(ADRPheromone1); - - var ADRPheromone2 = new Augmentation({ - name:AugmentationNames.ADRPheromone2, repCost:25e3, moneyCost:110e6, - info:"The body is genetically re-engineered so that it produces the ADR-V2 pheromone, " + - "which is similar to but more potent than ADR-V1. This pheromone, when excreted, " + - "triggers feelings of admiration, approval, and respect in others.

" + - "This augmentation:
" + - "Increases the amount of reputation the player gains for a faction and company by 20%." - }); - ADRPheromone2.addToFactions(["Silhouette", "Four Sigma", "Bachman & Associates", "Clarke Incorporated"]); - if (augmentationExists(AugmentationNames.ADRPheromone2)) { - delete Augmentations[AugmentationNames.ADRPheromone2]; - } - AddToAugmentations(ADRPheromone2); - - //HacknetNode Augmentations - var HacknetNodeCPUUpload = new Augmentation({ - name:AugmentationNames.HacknetNodeCPUUpload, repCost:1500, moneyCost:2.2e6, - info:"Uploads the architecture and design details of a Hacknet Node's CPU into " + - "the brain. This allows the user to engineer custom hardware and software " + - "for the Hacknet Node that provides better performance.

" + - "This augmentation:
" + - "Increases the amount of money produced by Hacknet Nodes by 15%.
" + - "Decreases the cost of purchasing a Hacknet Node by 15%." - }); - HacknetNodeCPUUpload.addToFactions(["Netburners"]); - if (augmentationExists(AugmentationNames.HacknetNodeCPUUpload)) { - delete Augmentations[AugmentationNames.HacknetNodeCPUUpload]; - } - AddToAugmentations(HacknetNodeCPUUpload); - - var HacknetNodeCacheUpload = new Augmentation({ - name:AugmentationNames.HacknetNodeCacheUpload, repCost:1e3, moneyCost:1.1e6, - info:"Uploads the architecture and design details of a Hacknet Node's main-memory cache " + - "into the brain. This allows the user to engineer custom cache hardware for the " + - "Hacknet Node that offers better performance.

" + - "This augmentation:
" + - "Increases the amount of money produced by Hacknet Nodes by 10%.
" + - "Decreases the cost of leveling up a Hacknet Node by 15%." - }); - HacknetNodeCacheUpload.addToFactions(["Netburners"]); - if (augmentationExists(AugmentationNames.HacknetNodeCacheUpload)) { - delete Augmentations[AugmentationNames.HacknetNodeCacheUpload]; - } - AddToAugmentations(HacknetNodeCacheUpload); - - var HacknetNodeNICUpload = new Augmentation({ - name:AugmentationNames.HacknetNodeNICUpload, repCost:750, moneyCost:900e3, - info:"Uploads the architecture and design details of a Hacknet Node's Network Interface Card (NIC) " + - "into the brain. This allows the user to engineer a custom NIC for the Hacknet Node that " + - "offers better performance.

" + - "This augmentation:
" + - "Increases the amount of money produced by Hacknet Nodes by 10%.
" + - "Decreases the cost of purchasing a Hacknet Node by 10%." - }); - HacknetNodeNICUpload.addToFactions(["Netburners"]); - if (augmentationExists(AugmentationNames.HacknetNodeNICUpload)) { - delete Augmentations[AugmentationNames.HacknetNodeNICUpload]; - } - AddToAugmentations(HacknetNodeNICUpload); - - var HacknetNodeKernelDNI = new Augmentation({ - name:AugmentationNames.HacknetNodeKernelDNI, repCost:3e3, moneyCost:8e6, - info:"Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a " + - "Hacknet Node. This lets the user access and manipulate the Node's kernel using the mind's " + - "electrochemical signals.

" + - "This augmentation increases the amount of money produced by Hacknet Nodes by 25%." - }); - HacknetNodeKernelDNI.addToFactions(["Netburners"]); - if (augmentationExists(AugmentationNames.HacknetNodeKernelDNI)) { - delete Augmentations[AugmentationNames.HacknetNodeKernelDNI]; - } - AddToAugmentations(HacknetNodeKernelDNI); - - var HacknetNodeCoreDNI = new Augmentation({ - name:AugmentationNames.HacknetNodeCoreDNI, repCost:5e3, moneyCost:12e6, - info:"Installs a Direct-Neural Interface jack into the arm that is capable of connecting " + - "to a Hacknet Node. This lets the user access and manipulate the Node's processing logic using " + - "the mind's electrochemical signals.

" + - "This augmentation increases the amount of money produced by Hacknet Nodes by 45%." - }); - HacknetNodeCoreDNI.addToFactions(["Netburners"]); - if (augmentationExists(AugmentationNames.HacknetNodeCoreDNI)) { - delete Augmentations[AugmentationNames.HacknetNodeCoreDNI]; - } - AddToAugmentations(HacknetNodeCoreDNI); - - //Misc/Hybrid augmentations - var NeuroFluxGovernor = new Augmentation({ - name:AugmentationNames.NeuroFluxGovernor, repCost:500, moneyCost: 750e3, - info:"A device that is embedded in the back of the neck. The NeuroFlux Governor " + - "monitors and regulates nervous impulses coming to and from the spinal column, " + - "essentially 'governing' the body. By doing so, it improves the functionality of the " + - "body's nervous system.

" + - "This is a special augmentation because it can be leveled up infinitely. Each level of this augmentation " + - "increases ALL of the player's multipliers by 1%." - }); - - // Set the Augmentation's level to the currently-installed level - let currLevel = 0; - for (let i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations[i].name === AugmentationNames.NeuroFluxGovernor) { - currLevel = _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations[i].level; - } - } - NeuroFluxGovernor.level = currLevel; - - // To set the price/rep req of the NeuroFlux, we have to take into account NeuroFlux - // levels that are purchased but not yet installed - let nextLevel = currLevel; - for (let i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations[i].name === AugmentationNames.NeuroFluxGovernor) { - ++nextLevel; - } - } - mult = Math.pow(_Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].NeuroFluxGovernorLevelMult, nextLevel); - NeuroFluxGovernor.baseRepRequirement = 500 * mult * _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].AugmentationRepMultiplier * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].AugmentationRepCost; - NeuroFluxGovernor.baseCost = 750e3 * mult * _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].AugmentationCostMultiplier * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].AugmentationMoneyCost; - if (augmentationExists(AugmentationNames.NeuroFluxGovernor)) { - delete Augmentations[AugmentationNames.NeuroFluxGovernor]; - } - NeuroFluxGovernor.addToAllFactions(); - AddToAugmentations(NeuroFluxGovernor); - - var Neurotrainer1 = new Augmentation({ - name:AugmentationNames.Neurotrainer1, repCost:400, moneyCost:800e3, - info:"A decentralized cranial implant that improves the brain's ability to learn. It is " + - "installed by releasing millions of nanobots into the human brain, each of which " + - "attaches to a different neural pathway to enhance the brain's ability to retain " + - "and retrieve information.

" + - "This augmentation increases the player's experience gain rate for all stats by 10%." - }); - Neurotrainer1.addToFactions(["CyberSec"]); - if (augmentationExists(AugmentationNames.Neurotrainer1)) { - delete Augmentations[AugmentationNames.Neurotrainer1]; - } - AddToAugmentations(Neurotrainer1); - - var Neurotrainer2 = new Augmentation({ - name:AugmentationNames.Neurotrainer2, repCost:4e3, moneyCost:9e6, - info:"A decentralized cranial implant that improves the brain's ability to learn. This " + - "is a more powerful version of the Neurotrainer I augmentation, but it does not " + - "require Neurotrainer I to be installed as a prerequisite.

" + - "This augmentation increases the player's experience gain rate for all stats by 15%." - }); - Neurotrainer2.addToFactions(["BitRunners", "NiteSec"]); - if (augmentationExists(AugmentationNames.Neurotrainer2)) { - delete Augmentations[AugmentationNames.Neurotrainer2]; - } - AddToAugmentations(Neurotrainer2); - - var Neurotrainer3 = new Augmentation({ - name:AugmentationNames.Neurotrainer3, repCost:10e3, moneyCost:26e6, - info:"A decentralized cranial implant that improves the brain's ability to learn. This " + - "is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, " + - "but it does not require either of them to be installed as a prerequisite.

" + - "This augmentation increases the player's experience gain rate for all stats by 20%." - }); - Neurotrainer3.addToFactions(["NWO", "Four Sigma"]); - if (augmentationExists(AugmentationNames.Neurotrainer3)) { - delete Augmentations[AugmentationNames.Neurotrainer3]; - } - AddToAugmentations(Neurotrainer3); - - var Hypersight = new Augmentation({ - name:AugmentationNames.Hypersight, repCost:60e3, moneyCost:550e6, - info:"A bionic eye implant that grants sight capabilities far beyond those of a natural human. " + - "Embedded circuitry within the implant provides the ability to detect heat and movement " + - "through solid objects such as wells, thus providing 'x-ray vision'-like capabilities.

" + - "This augmentation:
" + - "Increases the player's dexterity by 40%.
" + - "Increases the player's hacking speed by 3%.
" + - "Increases the amount of money the player gains from hacking by 10%." - }); - Hypersight.addToFactions(["Blade Industries", "KuaiGong International"]); - if (augmentationExists(AugmentationNames.Hypersight)) { - delete Augmentations[AugmentationNames.Hypersight]; - } - AddToAugmentations(Hypersight); - - var LuminCloaking1 = new Augmentation({ - name:AugmentationNames.LuminCloaking1, repCost:600, moneyCost:1e6, - info:"A skin implant that reinforces the skin with highly-advanced synthetic cells. These " + - "cells, when powered, have a negative refractive index. As a result, they bend light " + - "around the skin, making the user much harder to see from the naked eye.

" + - "This augmentation:
" + - "Increases the player's agility by 5%
" + - "Increases the amount of money the player gains from crimes by 10%." - }); - LuminCloaking1.addToFactions(["Slum Snakes", "Tetrads"]); - if (augmentationExists(AugmentationNames.LuminCloaking1)) { - delete Augmentations[AugmentationNames.LuminCloaking1]; - } - AddToAugmentations(LuminCloaking1); - - var LuminCloaking2 = new Augmentation({ - name:AugmentationNames.LuminCloaking2, repCost:2e3, moneyCost:6e6, - info:"This is a more advanced version of the LuminCloaking-V2 augmentation. This skin implant " + - "reinforces the skin with highly-advanced synthetic cells. These " + - "cells, when powered, are capable of not only bending light but also of bending heat, " + - "making the user more resilient as well as stealthy.

" + - "This augmentation:
" + - "Increases the player's agility by 10%
" + - "Increases the player's defense by 10%
" + - "Increases the amount of money the player gains from crimes by 25%.", - prereqs:[AugmentationNames.LuminCloaking1] - }); - LuminCloaking2.addToFactions(["Slum Snakes", "Tetrads"]); - if (augmentationExists(AugmentationNames.LuminCloaking2)) { - delete Augmentations[AugmentationNames.LuminCloaking2]; - } - AddToAugmentations(LuminCloaking2); - - var SmartSonar = new Augmentation({ - name:AugmentationNames.SmartSonar, repCost:9e3, moneyCost:15e6, - info:"A cochlear implant that helps the player detect and locate enemies " + - "using sound propagation.

" + - "This augmentation:
" + - "Increases the player's dexterity by 10%.
" + - "Increases the player's dexterity experience gain rate by 15%.
" + - "Increases the amount of money the player gains from crimes by 25%." - }); - SmartSonar.addToFactions(["Slum Snakes"]); - if (augmentationExists(AugmentationNames.SmartSonar)) { - delete Augmentations[AugmentationNames.SmartSonar]; - } - AddToAugmentations(SmartSonar); - - var PowerRecirculator = new Augmentation({ - name:AugmentationNames.PowerRecirculator, repCost:10e3, moneyCost:36e6, - info:"The body's nerves are attached with polypyrrole nanocircuits that " + - "are capable of capturing wasted energy (in the form of heat) " + - "and converting it back into usable power.

" + - "This augmentation:
" + - "Increases all of the player's stats by 5%.
" + - "Increases the player's experience gain rate for all stats by 10%." - }); - PowerRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate", "NWO"]); - if (augmentationExists(AugmentationNames.PowerRecirculator)) { - delete Augmentations[AugmentationNames.PowerRecirculator]; - } - AddToAugmentations(PowerRecirculator); - - //Unique AUGS (Each Faction gets one unique augmentation) - //Factions that already have unique augs up to this point: - // Slum Snakes, CyberSec, Netburners, Fulcrum Secret Technologies, - // Silhouette - - //Illuminati - var QLink = new Augmentation({ - name:AugmentationNames.QLink, repCost:750e3, moneyCost:1300e6, - info:"A brain implant that wirelessly connects you to the Illuminati's " + - "quantum supercomputer, allowing you to access and use its incredible " + - "computing power.

" + - "This augmentation:
" + - "Increases the player's hacking speed by 10%.
" + - "Increases the player's chance of successfully performing a hack by 30%.
" + - "Increases the amount of money the player gains from hacking by 100%." - }); - QLink.addToFactions(["Illuminati"]); - if (augmentationExists(AugmentationNames.QLink)) { - delete Augmentations[AugmentationNames.QLink]; - } - AddToAugmentations(QLink); - - //Daedalus - var RedPill = new Augmentation({ - name:AugmentationNames.TheRedPill, repCost:1e6, moneyCost:0, - info:"It's time to leave the cave." - }); - RedPill.addToFactions(["Daedalus"]); - if (augmentationExists(AugmentationNames.TheRedPill)) { - delete Augmentations[AugmentationNames.TheRedPill]; - } - AddToAugmentations(RedPill); - - //Covenant - var SPTN97 = new Augmentation({ - name:AugmentationNames.SPTN97, repCost:500e3, moneyCost:975e6, - info:"The SPTN-97 gene is injected into the genome. The SPTN-97 gene is an " + - "artificially-synthesized gene that was developed by DARPA to create " + - "super-soldiers through genetic modification. The gene was outlawed in " + - "2056.

" + - "This augmentation:
" + - "Increases all of the player's combat stats by 75%.
" + - "Increases the player's hacking skill by 15%." - }); - SPTN97.addToFactions(["The Covenant"]); - if (augmentationExists(AugmentationNames.SPTN97)) { - delete Augmentations[AugmentationNames.SPTN97]; - } - AddToAugmentations(SPTN97); - - //ECorp - var HiveMind = new Augmentation({ - name:AugmentationNames.HiveMind, repCost:600e3, moneyCost:1100e6, - info:"A brain implant developed by ECorp. They do not reveal what " + - "exactly the implant does, but they promise that it will greatly " + - "enhance your abilities." - }); - HiveMind.addToFactions(["ECorp"]); - if (augmentationExists(AugmentationNames.HiveMind)) { - delete Augmentations[AugmentationNames.HiveMind]; - } - AddToAugmentations(HiveMind); - - //MegaCorp - var CordiARCReactor = new Augmentation({ - name:AugmentationNames.CordiARCReactor, repCost:450e3, moneyCost:1000e6, - info:"The thoracic cavity is equipped with a small chamber designed " + - "to hold and sustain hydrogen plasma. The plasma is used to generate " + - "fusion power through nuclear fusion, providing limitless amount of clean " + - "energy for the body.

" + - "This augmentation:
" + - "Increases all of the player's combat stats by 35%.
" + - "Increases all of the player's combat stat experience gain rate by 35%." - }); - CordiARCReactor.addToFactions(["MegaCorp"]); - if (augmentationExists(AugmentationNames.CordiARCReactor)) { - delete Augmentations[AugmentationNames.CordiARCReactor]; - } - AddToAugmentations(CordiARCReactor); - - //BachmanAndAssociates - var SmartJaw = new Augmentation({ - name:AugmentationNames.SmartJaw, repCost:150e3, moneyCost:550e6, - info:"A bionic jaw that contains advanced hardware and software " + - "capable of psychoanalyzing and profiling the personality of " + - "others using optical imaging software.

" + - "This augmentation:
" + - "Increases the player's charisma by 50%.
" + - "Increases the player's charisma experience gain rate by 50%.
" + - "Increases the amount of reputation the player gains for a company by 25%.
" + - "Increases the amount of reputation the player gains for a faction by 25%." - }); - SmartJaw.addToFactions(["Bachman & Associates"]); - if (augmentationExists(AugmentationNames.SmartJaw)) { - delete Augmentations[AugmentationNames.SmartJaw]; - } - AddToAugmentations(SmartJaw); - - //BladeIndustries - var Neotra = new Augmentation({ - name:AugmentationNames.Neotra, repCost:225e3, moneyCost:575e6, - info:"A highly-advanced techno-organic drug that is injected into the skeletal " + - "and integumentary system. The drug permanently modifies the DNA of the " + - "body's skin and bone cells, granting them the ability to repair " + - "and restructure themselves.

" + - "This augmentation increases the player's strength and defense by 55%." - }); - Neotra.addToFactions(["Blade Industries"]); - if (augmentationExists(AugmentationNames.Neotra)) { - delete Augmentations[AugmentationNames.Neotra]; - } - AddToAugmentations(Neotra); - - //NWO - var Xanipher = new Augmentation({ - name:AugmentationNames.Xanipher, repCost:350e3, moneyCost:850e6, - info:"A concoction of advanced nanobots that is orally ingested into the " + - "body. These nanobots induce physiological change and significantly " + - "improve the body's functionining in all aspects.

" + - "This augmentation:
" + - "Increases all of the player's stats by 20%.
" + - "Increases the player's experience gain rate for all stats by 15%." - }); - Xanipher.addToFactions(["NWO"]); - if (augmentationExists(AugmentationNames.Xanipher)) { - delete Augmentations[AugmentationNames.Xanipher]; - } - AddToAugmentations(Xanipher); - - //ClarkeIncorporated - var nextSENS = new Augmentation({ - name:AugmentationNames.nextSENS, repCost:175e3, moneyCost:385e6, - info:"The body is genetically re-engineered to maintain a state " + - "of negligible senescence, preventing the body from " + - "deteriorating with age.

" + - "This augmentation increases all of the player's stats by 20%." - }); - nextSENS.addToFactions(["Clarke Incorporated"]); - if (augmentationExists(AugmentationNames.nextSENS)) { - delete Augmentations[AugmentationNames.nextSENS]; - } - AddToAugmentations(nextSENS); - - //OmniTekIncorporated - var OmniTekInfoLoad = new Augmentation({ - name:AugmentationNames.OmniTekInfoLoad, repCost:250e3, moneyCost:575e6, - info:"OmniTek's data and information repository is uploaded " + - "into your brain, enhancing your programming and " + - "hacking abilities.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 20%.
" + - "Increases the player's hacking experience gain rate by 25%." - }); - OmniTekInfoLoad.addToFactions(["OmniTek Incorporated"]); - if (augmentationExists(AugmentationNames.OmniTekInfoLoad)) { - delete Augmentations[AugmentationNames.OmniTekInfoLoad]; - } - AddToAugmentations(OmniTekInfoLoad); - - //FourSigma - //TODO Later when Intelligence is added in . Some aug that greatly increases int - - //KuaiGongInternational - var PhotosyntheticCells = new Augmentation({ - name:AugmentationNames.PhotosyntheticCells, repCost:225e3, moneyCost:550e6, - info:"Chloroplasts are added to epidermal stem cells and are applied " + - "to the body using a skin graft. The result is photosynthetic " + - "skin cells, allowing users to generate their own energy " + - "and nutrition using solar power.

" + - "This augmentation increases the player's strength, defense, and agility by 40%." - }); - PhotosyntheticCells.addToFactions(["KuaiGong International"]); - if (augmentationExists(AugmentationNames.PhotosyntheticCells)) { - delete Augmentations[AugmentationNames.PhotosyntheticCells]; - } - AddToAugmentations(PhotosyntheticCells); - - //BitRunners - var Neurolink = new Augmentation({ - name:AugmentationNames.Neurolink, repCost:350e3, moneyCost:875e6, - info:"A brain implant that provides a high-bandwidth, direct neural link between your " + - "mind and BitRunners' data servers, which reportedly contain " + - "the largest database of hacking tools and information in the world.

" + - "This augmentation:
" + - "Increases the player's hacking skill by 15%.
" + - "Increases the player's hacking experience gain rate by 20%.
" + - "Increases the player's chance of successfully performing a hack by 10%.
" + - "Increases the player's hacking speed by 5%.
" + - "Lets the player start with the FTPCrack.exe and relaySMTP.exe programs after a reset." - }); - Neurolink.addToFactions(["BitRunners"]); - if (augmentationExists(AugmentationNames.Neurolink)) { - delete Augmentations[AugmentationNames.Neurolink]; - } - AddToAugmentations(Neurolink); - - //BlackHand - var TheBlackHand = new Augmentation({ - name:AugmentationNames.TheBlackHand, repCost:40e3, moneyCost:110e6, - info:"A highly advanced bionic hand. This prosthetic not only " + - "enhances strength and dexterity but it is also embedded " + - "with hardware and firmware that lets the user connect to, access and hack " + - "devices and machines just by touching them.

" + - "This augmentation:
" + - "Increases the player's strength and dexterity by 15%.
" + - "Increases the player's hacking skill by 10%.
" + - "Increases the player's hacking speed by 2%.
" + - "Increases the amount of money the player gains from hacking by 10%." - }); - TheBlackHand.addToFactions(["The Black Hand"]); - if (augmentationExists(AugmentationNames.TheBlackHand)) { - delete Augmentations[AugmentationNames.TheBlackHand]; - } - AddToAugmentations(TheBlackHand); - - //NiteSec - var CRTX42AA = new Augmentation({ - name:AugmentationNames.CRTX42AA, repCost:18e3, moneyCost:45e6, - info:"The CRTX42-AA gene is injected into the genome. " + - "The CRTX42-AA is an artificially-synthesized gene that targets the visual and prefrontal " + - "cortex and improves cognitive abilities.

" + - "This augmentation:
" + - "Improves the player's hacking skill by 8%.
" + - "Improves the player's hacking experience gain rate by 15%." - }); - CRTX42AA.addToFactions(["NiteSec"]); - if (augmentationExists(AugmentationNames.CRTX42AA)) { - delete Augmentations[AugmentationNames.CRTX42AA]; - } - AddToAugmentations(CRTX42AA); - - //Chongqing - var Neuregen = new Augmentation({ - name:AugmentationNames.Neuregen, repCost:15e3, moneyCost:75e6, - info:"A drug that genetically modifies the neurons in the brain. " + - "The result is that these neurons never die and continuously " + - "regenerate and strengthen themselves.

" + - "This augmentation increases the player's hacking experience gain rate by 40%." - }); - Neuregen.addToFactions(["Chongqing"]); - if (augmentationExists(AugmentationNames.Neuregen)) { - delete Augmentations[AugmentationNames.Neuregen]; - } - AddToAugmentations(Neuregen); - - //Sector12 - var CashRoot = new Augmentation({ - name:AugmentationNames.CashRoot, repCost:5e3, moneyCost:25e6, - info:"A collection of digital assets saved on a small chip. The chip is implanted " + - "into your wrist. A small jack in the chip allows you to connect it to a computer " + - "and upload the assets.

" + - "This augmentation:
" + - "Lets the player start with $1,000,000 after a reset.
" + - "Lets the player start with the BruteSSH.exe program after a reset." - }); - CashRoot.addToFactions(["Sector-12"]); - if (augmentationExists(AugmentationNames.CashRoot)) { - delete Augmentations[AugmentationNames.CashRoot]; - } - AddToAugmentations(CashRoot); - - //NewTokyo - var NutriGen = new Augmentation({ - name:AugmentationNames.NutriGen, repCost:2500, moneyCost:500e3, - info:"A thermo-powered artificial nutrition generator. Endogenously " + - "synthesizes glucose, amino acids, and vitamins and redistributes them " + - "across the body. The device is powered by the body's naturally wasted " + - "energy in the form of heat.

" + - "This augmentation:
" + - "Increases the player's experience gain rate for all combat stats by 20%." - }); - NutriGen.addToFactions(["New Tokyo"]); - if (augmentationExists(AugmentationNames.NutriGen)) { - delete Augmentations[AugmentationNames.NutriGen]; - } - AddToAugmentations(NutriGen); - - //Aevum - //TODO Later Something that lets you learn advanced math...this increases int - //and profits as a trader/from trading - - //Ishima - var INFRARet = new Augmentation({ - name:AugmentationNames.INFRARet, repCost:3e3, moneyCost:6e6, - info:"A retina implant consisting of a tiny chip that sits behind the " + - "retina. This implant lets people visually detect infrared radiation.

" + - "This augmentation:
" + - "Increases the player's crime success rate by 25%.
" + - "Increases the amount of money the player gains from crimes by 10%.
" + - "Increases the player's dexterity by 10%." - }); - INFRARet.addToFactions(["Ishima"]); - if (augmentationExists(AugmentationNames.INFRARet)) { - delete Augmentations[AugmentationNames.INFRARet]; - } - AddToAugmentations(INFRARet); - - //Volhaven - var DermaForce = new Augmentation({ - name:AugmentationNames.DermaForce, repCost:6e3, moneyCost:10e6, - info:"A synthetic skin is grafted onto the body. The skin consists of " + - "millions of nanobots capable of projecting high-density muon beams, " + - "creating an energy barrier around the user.

" + - "This augmentation increases the player's defense by 40%." - }); - DermaForce.addToFactions(["Volhaven"]); - if (augmentationExists(AugmentationNames.DermaForce)) { - delete Augmentations[AugmentationNames.DermaForce]; - } - AddToAugmentations(DermaForce); - - //SpeakersForTheDead - var GrapheneBrachiBlades = new Augmentation({ - name:AugmentationNames.GrapheneBrachiBlades, repCost:90e3, moneyCost:500e6, - info:"An upgrade to the BrachiBlades augmentation. It infuses " + - "the retractable blades with an advanced graphene material " + - "to make them much stronger and lighter.

" + - "This augmentation:
" + - "Increases the player's strength and defense by 40%.
" + - "Increases the player's crime success rate by 10%.
" + - "Increases the amount of money the player gains from crimes by 30%.", - prereqs:[AugmentationNames.BrachiBlades] - }); - GrapheneBrachiBlades.addToFactions(["Speakers for the Dead"]); - if (augmentationExists(AugmentationNames.GrapheneBrachiBlades)) { - delete Augmentations[AugmentationNames.GrapheneBrachiBlades]; - } - AddToAugmentations(GrapheneBrachiBlades); - - //DarkArmy - var GrapheneBionicArms = new Augmentation({ - name:AugmentationNames.GrapheneBionicArms, repCost:200e3, moneyCost:750e6, - info:"An upgrade to the Bionic Arms augmentation. It infuses the " + - "prosthetic arms with an advanced graphene material " + - "to make them much stronger and lighter.

" + - "This augmentation increases the player's strength and dexterity by 85%.", - prereqs:[AugmentationNames.BionicArms] - }); - GrapheneBionicArms.addToFactions(["The Dark Army"]); - if (augmentationExists(AugmentationNames.GrapheneBionicArms)) { - delete Augmentations[AugmentationNames.GrapheneBionicArms]; - } - AddToAugmentations(GrapheneBionicArms); - - //TheSyndicate - var BrachiBlades = new Augmentation({ - name:AugmentationNames.BrachiBlades, repCost:5e3, moneyCost:18e6, - info:"A set of retractable plasteel blades are implanted in the arm, underneath the skin.

" + - "This augmentation:
" + - "Increases the player's strength and defense by 15%.
" + - "Increases the player's crime success rate by 10%.
" + - "Increases the amount of money the player gains from crimes by 15%." - }); - BrachiBlades.addToFactions(["The Syndicate"]); - if (augmentationExists(AugmentationNames.BrachiBlades)) { - delete Augmentations[AugmentationNames.BrachiBlades]; - } - AddToAugmentations(BrachiBlades); - - //Tetrads - var BionicArms = new Augmentation({ - name:AugmentationNames.BionicArms, repCost:25e3, moneyCost:55e6, - info:"Cybernetic arms created from plasteel and carbon fibers that completely replace " + - "the user's organic arms.

" + - "This augmentation increases the user's strength and dexterity by 30%." - }); - BionicArms.addToFactions(["Tetrads"]); - if (augmentationExists(AugmentationNames.BionicArms)) { - delete Augmentations[AugmentationNames.BionicArms]; - } - AddToAugmentations(BionicArms); - - //TianDiHui - var SNA = new Augmentation({ - name:AugmentationNames.SNA, repCost:2500, moneyCost:6e6, - info:"A cranial implant that affects the user's personality, making them better " + - "at negotiation in social situations.

" + - "This augmentation:
" + - "Increases the amount of money the player earns at a company by 10%.
" + - "Increases the amount of reputation the player gains when working for a " + - "company or faction by 15%." - }); - SNA.addToFactions(["Tian Di Hui"]); - if (augmentationExists(AugmentationNames.SNA)) { - delete Augmentations[AugmentationNames.SNA]; - } - AddToAugmentations(SNA); - - //For BitNode-2, add all Augmentations to crime/evil factions. - //Do this before adding special Augmentations that become available in later BitNodes - if (_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bitNodeN === 2) { - console.log("Adding all augmentations to crime factions for Bit node 2"); - _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"]["Slum Snakes"].addAllAugmentations(Augmentations); - _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"]["Tetrads"].addAllAugmentations(Augmentations); - _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"]["The Syndicate"].addAllAugmentations(Augmentations); - _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"]["The Dark Army"].addAllAugmentations(Augmentations); - _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"]["Speakers for the Dead"].addAllAugmentations(Augmentations); - _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"]["NiteSec"].addAllAugmentations(Augmentations); - _Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["Factions"]["The Black Hand"].addAllAugmentations(Augmentations); - } - - //Special Bladeburner Augmentations - var BladeburnersFactionName = "Bladeburners"; - if (Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_2__["factionExists"])(BladeburnersFactionName)) { - var EsperEyewear = new Augmentation({ - name:AugmentationNames.EsperEyewear, repCost:500, moneyCost:33e6, - info:"Ballistic-grade protective and retractable eyewear that was designed specially " + - "for Bladeburner units. This " + - "is implanted by installing a mechanical frame in the skull's orbit. " + - "This frame interfaces with the brain and allows the user to " + - "automatically extrude and extract the eyewear. The eyewear protects " + - "against debris, shrapnel, laser, flash, and gas. It is also " + - "embedded with a data processing chip that can be programmed to display an " + - "AR HUD and assist the user in field missions.

" + - "This augmentation:
" + - "Increases the player's success chance in Bladeburner contracts/operations by 3%.
" + - "Increases the player's dexterity by 5%." - }); - EsperEyewear.addToFactions([BladeburnersFactionName]); - resetAugmentation(EsperEyewear); - - var EMS4Recombination = new Augmentation({ - name:AugmentationNames.EMS4Recombination, repCost: 1e3, moneyCost:55e6, - info:"A DNA recombination of the EMS-4 Gene. This genetic engineering " + - "technique was originally used on Bladeburners during the Synthoid uprising " + - "to induce wakefulness and concentration, suppress fear, reduce empathy, and " + - "improve reflexes and memory-recall among other things.

" + - "This augmentation:
" + - "Increases the player's sucess chance in Bladeburner contracts/operations by 3%.
" + - "Increases the player's effectiveness in Bladeburner Field Analysis by 5%.
" + - "Increases the player's Bladeburner stamina gain rate by 2%." - }); - EMS4Recombination.addToFactions([BladeburnersFactionName]); - resetAugmentation(EMS4Recombination); - - var OrionShoulder = new Augmentation({ - name:AugmentationNames.OrionShoulder, repCost:2.5e3, moneyCost:110e6, - info:"A bionic shoulder augmentation for the right shoulder. Using cybernetics, " + - "the ORION-MKIV shoulder enhances the strength and dexterity " + - "of the user's right arm. It also provides protection due to its " + - "crystallized graphene plating.

" + - "This augmentation:
" + - "Increases the player's defense by 5%.
" + - "Increases the player's strength and dexterity by 5%.
" + - "Increases the player's success chance in Bladeburner contracts/operations by 4%." - }); - OrionShoulder.addToFactions([BladeburnersFactionName]); - resetAugmentation(OrionShoulder); - - var HyperionV1 = new Augmentation({ - name:AugmentationNames.HyperionV1, repCost: 5e3, moneyCost:550e6, - info:"A pair of mini plasma cannons embedded into the hands. The Hyperion is capable " + - "of rapidly firing bolts of high-density plasma. The weapon is meant to " + - "be used against augmented enemies as the ionized " + - "nature of the plasma disrupts the electrical systems of Augmentations. However, " + - "it can also be effective against non-augmented enemies due to its high temperature " + - "and concussive force.

" + - "This augmentation:
" + - "Increases the player's success chance in Bladeburner contracts/operations by 6%." - }); - HyperionV1.addToFactions([BladeburnersFactionName]); - resetAugmentation(HyperionV1); - - var HyperionV2 = new Augmentation({ - name:AugmentationNames.HyperionV2, repCost:10e3, moneyCost:1.1e9, - info:"A pair of mini plasma cannons embedded into the hands. This augmentation " + - "is more advanced and powerful than the original V1 model. This V2 model is " + - "more power-efficiency, more accurate, and can fire plasma bolts at a much " + - "higher velocity than the V1 model.

" + - "This augmentation:
" + - "Increases the player's success chance in Bladeburner contracts/operations by 8%.", - prereqs:[AugmentationNames.HyperionV1] - }); - HyperionV2.addToFactions([BladeburnersFactionName]); - resetAugmentation(HyperionV2); - - var GolemSerum = new Augmentation({ - name:AugmentationNames.GolemSerum, repCost:12.5e3, moneyCost:2.2e9, - info:"A serum that permanently enhances many aspects of a human's capabilities, " + - "including strength, speed, immune system performance, and mitochondrial efficiency. The " + - "serum was originally developed by the Chinese military in an attempt to " + - "create super soldiers.

" + - "This augmentation:
" + - "Increases all of the player's combat stats by 7%.
" + - "Increases the player's Bladeburner stamina gain rate by 5%.
" - }); - GolemSerum.addToFactions([BladeburnersFactionName]); - resetAugmentation(GolemSerum); - - var VangelisVirus = new Augmentation({ - name:AugmentationNames.VangelisVirus, repCost:7.5e3, moneyCost:550e6, - info:"A synthetic symbiotic virus that is injected into the human brain tissue. The Vangelis virus " + - "heightens the senses and focus of its host, and also enhances its intuition.

" + - "This augmentation:
" + - "Increases the player's effectiveness in Bladeburner Field Analysis by 10%.
" + - "Increases the player's success chance in Bladeburner contracts/operations by 4%.
" + - "Increases the player's dexterity experience gain rate by 10%." - }); - VangelisVirus.addToFactions([BladeburnersFactionName]); - resetAugmentation(VangelisVirus); - - var VangelisVirus3 = new Augmentation({ - name:AugmentationNames.VangelisVirus3, repCost:15e3, moneyCost:2.2e9, - info:"An improved version of Vangelis, a synthetic symbiotic virus that is " + - "injected into the human brain tissue. On top of the benefits of the original " + - "virus, this also grants an accelerated healing factor and enhanced " + - "agility/reflexes.

" + - "This augmentation:
" + - "Increases the player's effectiveness in Bladeburner Field Analysis by 15%.
" + - "Increases the player's defense and dexterity experience gain rate by 10%.
" + - "Increases the player's success chance in Bladeburner contracts/operations by 5%.", - prereqs:[AugmentationNames.VangelisVirus] - }); - VangelisVirus3.addToFactions([BladeburnersFactionName]); - resetAugmentation(VangelisVirus3); - - var INTERLINKED = new Augmentation({ - name:AugmentationNames.INTERLINKED, repCost:10e3, moneyCost:1.1e9, - info:"The DNA is genetically modified to enhance the human's body " + - "extracellular matrix (ECM). This improves the ECM's ability to " + - "structurally support the body and grants heightened strength and " + - "durability.

" + - "This augmentation:
" + - "Increases the player's experience gain rate for all combat stats by 5%.
" + - "Increases the player's Bladeburner max stamina by 10%." - }); - INTERLINKED.addToFactions([BladeburnersFactionName]); - resetAugmentation(INTERLINKED); - - var BladeRunner = new Augmentation({ - name:AugmentationNames.BladeRunner, repCost:8e3, moneyCost:1.65e9, - info:"A cybernetic foot augmentation that was specially created for Bladeburners " + - "during the Synthoid Uprising. The organic musculature of the human foot " + - "is enhanced with flexible carbon nanotube matrices that are controlled by " + - "intelligent servo-motors.

" + - "This augmentation:
" + - "Increases the player's agility by 5%.
" + - "Increases the player's Bladeburner max stamina by 5%.
" + - "Increases the player's Bladeburner stamina gain rate by 5%.
" - }); - BladeRunner.addToFactions([BladeburnersFactionName]); - resetAugmentation(BladeRunner); - - var BladeArmor = new Augmentation({ - name:AugmentationNames.BladeArmor, repCost:5e3, moneyCost:275e6, - info:"A powered exoskeleton suit (exosuit) designed as armor for Bladeburner units. This " + - "exoskeleton is incredibly adaptable and can protect the wearer from blunt, piercing, " + - "concussive, thermal, chemical, and electric trauma. It also enhances the user's " + - "strength and agility.

" + - "This augmentation:
" + - "Increases all of the player's combat stats by 4%.
" + - "Increases the player's Bladeburner stamina gain rate by 2%.
" + - "Increases the player's success chance in Bladeburner contracts/operations by 3%.", - }); - BladeArmor.addToFactions([BladeburnersFactionName]); - resetAugmentation(BladeArmor); - - var BladeArmorPowerCells = new Augmentation({ - name:AugmentationNames.BladeArmorPowerCells, repCost:7.5e3, moneyCost:550e6, - info:"Upgrades the BLADE-51b Tesla Armor with Ion Power Cells, which are capable of " + - "more efficiently storing and using power.

" + - "This augmentation:
" + - "Increases the player's success chance in Bladeburner contracts/operations by 5%.
" + - "Increases the player's Bladeburner stamina gain rate by 2%.
" + - "Increases the player's Bladeburner max stamina by 5%.", - prereqs:[AugmentationNames.BladeArmor] - }); - BladeArmorPowerCells.addToFactions([BladeburnersFactionName]); - resetAugmentation(BladeArmorPowerCells); - - var BladeArmorEnergyShielding = new Augmentation({ - name:AugmentationNames.BladeArmorEnergyShielding, repCost:8.5e3, moneyCost:1.1e9, - info:"Upgrades the BLADE-51b Tesla Armor with a plasma energy propulsion system " + - "that is capable of projecting an energy shielding force field.

" + - "This augmentation:
" + - "Increases the player's defense by 5%.
" + - "Increases the player's success chance in Bladeburner contracts/operations by 6%.", - prereqs:[AugmentationNames.BladeArmor] - }); - BladeArmorEnergyShielding.addToFactions([BladeburnersFactionName]); - resetAugmentation(BladeArmorEnergyShielding); - - var BladeArmorUnibeam = new Augmentation({ - name:AugmentationNames.BladeArmorUnibeam, repCost:12.5e3, moneyCost:3.3e9, - info:"Upgrades the BLADE-51b Tesla Armor with a concentrated deuterium-fluoride laser " + - "weapon. It's precision an accuracy makes it useful for quickly neutralizing " + - "threats while keeping casualties to a minimum.

" + - "This augmentation:
" + - "Increases the player's success chance in Bladeburner contracts/operations by 8%.", - prereqs:[AugmentationNames.BladeArmor] - }); - BladeArmorUnibeam.addToFactions([BladeburnersFactionName]); - resetAugmentation(BladeArmorUnibeam); - - var BladeArmorOmnibeam = new Augmentation({ - name:AugmentationNames.BladeArmorOmnibeam, repCost:25e3, moneyCost:5.5e9, - info:"Upgrades the BLADE-51b Tesla Armor Unibeam augmentation to use " + - "multiple-fiber system. The upgraded weapon uses multiple fiber laser " + - "modules that combine together to form a single, more powerful beam of up to " + - "2000MW.

" + - "This augmentation:
" + - "Increases the player's success chance in Bladeburner contracts/operations by 10%.", - prereqs:[AugmentationNames.BladeArmorUnibeam] - }); - BladeArmorOmnibeam.addToFactions([BladeburnersFactionName]); - resetAugmentation(BladeArmorOmnibeam); - - var BladeArmorIPU = new Augmentation({ - name:AugmentationNames.BladeArmorIPU, repCost: 6e3, moneyCost:220e6, - info:"Upgrades the BLADE-51b Tesla Armor with an AI Information Processing " + - "Unit that was specially designed to analyze Synthoid related data and " + - "information.

" + - "This augmentation:
" + - "Increases the player's effectiveness in Bladeburner Field Analysis by 15%.
" + - "Increases the player's success chance in Bladeburner contracts/operations by 2%.", - prereqs:[AugmentationNames.BladeArmor] - }); - BladeArmorIPU.addToFactions([BladeburnersFactionName]); - resetAugmentation(BladeArmorIPU); - - var BladesSimulacrum = new Augmentation({ - name:AugmentationNames.BladesSimulacrum, repCost:3e3, moneyCost:80e9, - info:"A highly-advanced matter phase-shifter module that is embedded " + - "in the brainstem and cerebellum. This augmentation allows " + - "the user to project and control a holographic simulacrum within an " + - "extremely large radius. These specially-modified holograms were specially " + - "weaponized by Bladeburner units to be used against Synthoids.

" + - "This augmentation allows you to perform Bladeburner actions and other " + - "actions (such as working, commiting crimes, etc.) at the same time." - }); - BladesSimulacrum.addToFactions([BladeburnersFactionName]); - resetAugmentation(BladesSimulacrum); - } - - //Update costs based on how many have been purchased - var mult = Math.pow(_Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].MultipleAugMultiplier, _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations.length); - for (var name in Augmentations) { - if (Augmentations.hasOwnProperty(name)) { - Augmentations[name].baseCost *= mult; - } - } - - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].reapplyAllAugmentations(); -} - -//Resets an Augmentation during (re-initizliation) -function resetAugmentation(newAugObject) { - if (!(newAugObject instanceof Augmentation)) { - throw new Error("Invalid argument 'newAugObject' passed into resetAugmentation"); - } - var name = newAugObject.name; - if (augmentationExists(name)) { - delete Augmentations[name]; - } - AddToAugmentations(newAugObject); -} - -function applyAugmentation(aug, reapply=false) { - Augmentations[aug.name].owned = true; - switch(aug.name) { - //Combat stat augmentations - case AugmentationNames.Targeting1: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.10; - break; - case AugmentationNames.Targeting2: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.20; - break; - case AugmentationNames.Targeting3: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.30; - break; - case AugmentationNames.SyntheticHeart: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.5; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.5; - break; - case AugmentationNames.SynfibrilMuscle: //Medium-high level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.3; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.3; - break; - case AugmentationNames.CombatRib1: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.1; - break; - case AugmentationNames.CombatRib2: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.14; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.14; - break; - case AugmentationNames.CombatRib3: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.18; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.18; - break; - case AugmentationNames.NanofiberWeave: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.2; - break; - case AugmentationNames.SubdermalArmor: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 2.2; - break; - case AugmentationNames.WiredReflexes: //Low level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.05; - break; - case AugmentationNames.GrapheneBoneLacings: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.7; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.7; - break; - case AugmentationNames.BionicSpine: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.15; - break; - case AugmentationNames.GrapheneBionicSpine: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.6; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.6; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.6; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.6; - break; - case AugmentationNames.BionicLegs: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.6; - break; - case AugmentationNames.GrapheneBionicLegs: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 2.5; - break; - - //Labor stats augmentations - case AugmentationNames.EnhancedSocialInteractionImplant: //Med-high level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_mult *= 1.6; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.6; - break; - case AugmentationNames.TITN41Injection: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.15; - break; - case AugmentationNames.SpeechProcessor: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_mult *= 1.2; - break; - - //Hacking augmentations - case AugmentationNames.BitWire: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.05; - break; - case AugmentationNames.ArtificialBioNeuralNetwork: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.03; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.12; - break; - case AugmentationNames.ArtificialSynapticPotentiation: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.02; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.05; - break; - case AugmentationNames.EnhancedMyelinSheathing: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.03; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.08; - break; - case AugmentationNames.SynapticEnhancement: //Low Level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.03; - break; - case AugmentationNames.NeuralRetentionEnhancement: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.25; - break; - case AugmentationNames.DataJack: //Med low level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.25; - break; - case AugmentationNames.ENM: //Medium level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.08; - break; - case AugmentationNames.ENMCore: //Medium level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.03; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.03; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.07; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.07; - break; - case AugmentationNames.ENMCoreV2: //Medium high level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.3; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.08; - break; - case AugmentationNames.ENMCoreV3: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.4; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.25; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.1; - break; - case AugmentationNames.ENMAnalyzeEngine: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.1; - break; - case AugmentationNames.ENMDMA: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.4; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.2; - break; - case AugmentationNames.Neuralstimulator: //Medium Level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.02; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.12; - break; - case AugmentationNames.NeuralAccelerator: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.2; - break; - case AugmentationNames.CranialSignalProcessorsG1: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.05; - break; - case AugmentationNames.CranialSignalProcessorsG2: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.02; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.07; - break; - case AugmentationNames.CranialSignalProcessorsG3: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.02; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.09; - break; - case AugmentationNames.CranialSignalProcessorsG4: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.02; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_grow_mult *= 1.25; - break; - case AugmentationNames.CranialSignalProcessorsG5: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.3; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.25; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_grow_mult *= 1.75; - break; - case AugmentationNames.NeuronalDensification: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.03; - break; - - //Work augmentations - case AugmentationNames.NuoptimalInjectorImplant: //Low medium level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.2; - break; - case AugmentationNames.SpeechEnhancement: //Low level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_mult *= 1.1; - break; - case AugmentationNames.FocusWire: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].work_money_mult *= 1.2; - break; - case AugmentationNames.PCDNI: //Med level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.3; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.08; - break; - case AugmentationNames.PCDNIOptimizer: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.75; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.1; - break; - case AugmentationNames.PCDNINeuralNetwork: //High level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.05; - break; - case AugmentationNames.ADRPheromone1: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].faction_rep_mult *= 1.1; - break; - case AugmentationNames.ADRPheromone2: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].faction_rep_mult *= 1.2; - break; - - //Hacknet Node Augmentations - case AugmentationNames.HacknetNodeCPUUpload: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_money_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_purchase_cost_mult *= 0.85; - break; - case AugmentationNames.HacknetNodeCacheUpload: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_money_mult *= 1.10; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_level_cost_mult *= 0.85; - break; - case AugmentationNames.HacknetNodeNICUpload: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_money_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_purchase_cost_mult *= 0.9; - break; - case AugmentationNames.HacknetNodeKernelDNI: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_money_mult *= 1.25; - break; - case AugmentationNames.HacknetNodeCoreDNI: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_money_mult *= 1.45; - break; - - //Misc augmentations - case AugmentationNames.NeuroFluxGovernor: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_grow_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.01; - - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_mult *= 1.01; - - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.01; - - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].faction_rep_mult *= 1.01; - - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_money_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_success_mult *= 1.01; - - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_money_mult *= 1.01; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_purchase_cost_mult *= 0.99; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_ram_cost_mult *= 0.99; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_core_cost_mult *= 0.99; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacknet_node_level_cost_mult *= 0.99; - - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].work_money_mult *= 1.01; - - if (!reapply) { - Augmentations[aug.name].level = aug.level; - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations[i].name == AugmentationNames.NeuroFluxGovernor) { - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations[i].level = aug.level; - break; - } - } - } - break; - case AugmentationNames.Neurotrainer1: //Low Level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.1; - break; - case AugmentationNames.Neurotrainer2: //Medium level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.15; - break; - case AugmentationNames.Neurotrainer3: //High Level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.2; - break; - case AugmentationNames.Hypersight: //Medium high level - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.4; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.03; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.1; - break; - case AugmentationNames.LuminCloaking1: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_money_mult *= 1.1; - break; - case AugmentationNames.LuminCloaking2: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_money_mult *= 1.25; - break; - case AugmentationNames.HemoRecirculator: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.08; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.08; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.08; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.08; - break; - case AugmentationNames.SmartSonar: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_money_mult *= 1.25; - break; - case AugmentationNames.PowerRecirculator: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.1; - break; - //Unique augmentations (for factions) - case AugmentationNames.QLink: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.3; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 2; - break; - case AugmentationNames.TheRedPill: - break; - case AugmentationNames.SPTN97: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.75; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.75; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.75; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.75; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.15; - break; - case AugmentationNames.HiveMind: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_grow_mult *= 3; - break; - case AugmentationNames.CordiARCReactor: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.35; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.35; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.35; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.35; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.35; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.35; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.35; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.35; - break; - case AugmentationNames.SmartJaw: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_mult *= 1.5; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.5; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.25; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].faction_rep_mult *= 1.25; - break; - case AugmentationNames.Neotra: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.55; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.55; - break; - case AugmentationNames.Xanipher: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_exp_mult *= 1.15; - break; - case AugmentationNames.nextSENS: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].charisma_mult *= 1.2; - break; - case AugmentationNames.OmniTekInfoLoad: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.25; - break; - case AugmentationNames.PhotosyntheticCells: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.4; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.4; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.4; - break; - case AugmentationNames.Neurolink: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.05; - break; - case AugmentationNames.TheBlackHand: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult *= 1.02; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult *= 1.1; - break; - case AugmentationNames.CRTX42AA: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_mult *= 1.08; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.15; - break; - case AugmentationNames.Neuregen: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_exp_mult *= 1.4; - break; - case AugmentationNames.CashRoot: - break; - case AugmentationNames.NutriGen: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.2; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.2; - break; - case AugmentationNames.INFRARet: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_success_mult *= 1.25; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_money_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.1; - break; - case AugmentationNames.DermaForce: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.4; - break; - case AugmentationNames.GrapheneBrachiBlades: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.4; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.4; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_success_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_money_mult *= 1.3; - break; - case AugmentationNames.GrapheneBionicArms: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.85; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.85; - break; - case AugmentationNames.BrachiBlades: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_success_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].crime_money_mult *= 1.15; - break; - case AugmentationNames.BionicArms: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.3; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.3; - break; - case AugmentationNames.SNA: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].work_money_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].company_rep_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].faction_rep_mult *= 1.15; - break; - - //Bladeburner augmentations - case AugmentationNames.EsperEyewear: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.03; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.05; - break; - case AugmentationNames.EMS4Recombination: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.03; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_analysis_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_stamina_gain_mult *= 1.02; - break; - case AugmentationNames.OrionShoulder: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.04; - break; - case AugmentationNames.HyperionV1: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.06; - break; - case AugmentationNames.HyperionV2: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.08; - break; - case AugmentationNames.GolemSerum: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.07; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.07; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.07; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.07; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_stamina_gain_mult *= 1.05; - break; - case AugmentationNames.VangelisVirus: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_analysis_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.04; - break; - case AugmentationNames.VangelisVirus3: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.1; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_analysis_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.05; - break; - case AugmentationNames.INTERLINKED: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_exp_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_max_stamina_mult *= 1.1; - break; - case AugmentationNames.BladeRunner: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_max_stamina_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_stamina_gain_mult *= 1.05; - break; - case AugmentationNames.BladeArmor: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].strength_mult *= 1.04; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.04; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].dexterity_mult *= 1.04; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].agility_mult *= 1.04; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_stamina_gain_mult *= 1.02; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.03; - break; - case AugmentationNames.BladeArmorPowerCells: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_stamina_gain_mult *= 1.02; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_max_stamina_mult *= 1.05; - break; - case AugmentationNames.BladeArmorEnergyShielding: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].defense_mult *= 1.05; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.06; - break; - case AugmentationNames.BladeArmorUnibeam: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.08; - break; - case AugmentationNames.BladeArmorOmnibeam: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.1; - break; - case AugmentationNames.BladeArmorIPU: - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_analysis_mult *= 1.15; - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bladeburner_success_chance_mult *= 1.02; - break; - case AugmentationNames.BladesSimulacrum: //No multiplier effect - break; - default: - throw new Error("ERROR: No such augmentation!"); - return; - } - - if (aug.name === AugmentationNames.NeuroFluxGovernor) { - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations[i].name == AugmentationNames.NeuroFluxGovernor) { - //Already have this aug, just upgrade the level - return; - } - } - } - - if (!reapply) { - var ownedAug = new PlayerOwnedAugmentation(aug.name); - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations.push(ownedAug); - } -} - -function PlayerOwnedAugmentation(name) { - this.name = name; - this.level = 1; -} - -function installAugmentations(cbScript=null) { - if (_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations.length == 0) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])("You have not purchased any Augmentations to install!"); - return false; - } - var augmentationList = ""; - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations.length; ++i) { - var aug = Augmentations[_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations[i].name]; - if (aug == null) { - console.log("ERROR. Invalid augmentation"); - continue; - } - applyAugmentation(_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations[i]); - augmentationList += (aug.name + "
"); - } - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations = []; - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])("You slowly drift to sleep as scientists put you under in order " + - "to install the following Augmentations:
" + augmentationList + - "
You wake up in your home...you feel different..."); - Object(_Prestige__WEBPACK_IMPORTED_MODULE_6__[/* prestigeAugmentation */ "a"])(); - - //Run a script after prestiging - if (cbScript && Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_19__["isString"])(cbScript)) { - var home = _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].getHomeComputer(); - for (var i = 0; i < home.scripts.length; ++i) { - if (home.scripts[i].filename === cbScript) { - var script = home.scripts[i]; - var ramUsage = script.ramUsage; - var ramAvailable = home.maxRam - home.ramUsed; - if (ramUsage > ramAvailable) { - return; //Not enough RAM - } - var runningScriptObj = new _Script__WEBPACK_IMPORTED_MODULE_8__[/* RunningScript */ "b"](script, []); //No args - runningScriptObj.threads = 1; //Only 1 thread - home.runningScripts.push(runningScriptObj); - Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_4__[/* addWorkerScript */ "c"])(runningScriptObj, home); - } - } - } -} - -function augmentationExists(name) { - return Augmentations.hasOwnProperty(name); -} - -//Used for testing balance -function giveAllAugmentations() { - for (var name in Augmentations) { - var aug = Augmentations[name]; - if (aug == null) {continue;} - var ownedAug = new PlayerOwnedAugmentation(name); - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations.push(ownedAug); - } - _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].reapplyAllAugmentations(); -} - -function displayAugmentationsContent(contentEl) { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_20__["removeChildrenFromElement"])(contentEl); - contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("h1", { - innerText:"Purchased Augmentations", - })); - - //Bladeburner text, once mechanic is unlocked - var bladeburnerText = "\n"; - if (_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].bitNodeN === 6 || _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_3__[/* hasBladeburnerSF */ "c"]) { - bladeburnerText = "Bladeburner Progress\n\n"; - } - - contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("pre", { - width:"70%", whiteSpace:"pre-wrap", display:"block", - innerText:"Below is a list of all Augmentations you have purchased but not yet installed. Click the button below to install them.\n" + - "WARNING: Installing your Augmentations resets most of your progress, including:\n\n" + - "Stats/Skill levels and Experience\n" + - "Money\n" + - "Scripts on every computer but your home computer\n" + - "Purchased servers\n" + - "Hacknet Nodes\n" + - "Faction/Company reputation\n" + - "Stocks\n" + - bladeburnerText + - "Installing Augmentations lets you start over with the perks and benefits granted by all " + - "of the Augmentations you have ever installed. Also, you will keep any scripts and RAM/Core upgrades " + - "on your home computer (but you will lose all programs besides NUKE.exe)." - })); - - //Install Augmentations button - contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("a", { - class:"a-link-button", innerText:"Install Augmentations", - tooltip:"'I never asked for this'", - clickListener:()=>{ - installAugmentations(); - return false; - } - })); - - //Backup button - contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("a", { - class:"a-link-button flashing-button", innerText:"Backup Save (Export)", - tooltip:"It's always a good idea to backup/export your save!", - clickListener:()=>{ - _SaveObject__WEBPACK_IMPORTED_MODULE_7__[/* saveObject */ "b"].exportGame(); - return false; - } - })); - - //Purchased/queued augmentations list - var queuedAugmentationsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("ul", {class:"augmentations-list"}); - - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations.length; ++i) { - var augName = _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations[i].name; - var aug = Augmentations[augName]; - - var displayName = augName; - if (augName === AugmentationNames.NeuroFluxGovernor) { - displayName += " - Level " + (_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].queuedAugmentations[i].level); - } - - var accordion = Object(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_14__["createAccordionElement"])({hdrText:displayName, panelText:aug.info}); - queuedAugmentationsList.appendChild(accordion[0]); - } - contentEl.appendChild(queuedAugmentationsList); - - //Installed augmentations list - contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("h1", { - innerText:"Installed Augmentations", marginTop:"8px", - })); - contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("p", { - width:"70%", whiteSpace:"pre-wrap", - innerText:"List of all Augmentations (including Source Files) that have been " + - "installed. You have gained the effects of these Augmentations." - })); - - var augmentationsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("ul", {class:"augmentations-list"}); - - //Expand/Collapse All buttons - contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("a", { - class:"a-link-button", fontSize:"14px", innerText:"Expand All", display:"inline-block", - clickListener:()=>{ - var allHeaders = augmentationsList.getElementsByClassName("accordion-header"); - for (var i = 0; i < allHeaders.length; ++i) { - if (!allHeaders[i].classList.contains("active")) {allHeaders[i].click();} - } - } - })); - contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("a", { - class:"a-link-button", fontSize:"14px", innerText:"Collapse All", display:"inline-block", - clickListener:()=>{ - var allHeaders = augmentationsList.getElementsByClassName("accordion-header"); - for (var i = 0; i < allHeaders.length; ++i) { - if (allHeaders[i].classList.contains("active")) {allHeaders[i].click();} - } - } - })); - - //Sort Buttons - const sortInOrderButton = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("a", { - class:"a-link-button", fontSize:"14px", innerText:"Sort in Order", - tooltip:"Sorts the Augmentations alphabetically and Source Files in numerical order (1, 2, 3,...)", - clickListener:()=>{ - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_20__["removeChildrenFromElement"])(augmentationsList); - - //Create a copy of Player's Source Files and augs array and sort them - var sourceFiles = _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].sourceFiles.slice(); - var augs = _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations.slice(); - sourceFiles.sort((sf1, sf2)=>{ - return sf1.n - sf2.n; - }); - augs.sort((aug1, aug2)=>{ - return aug1.name <= aug2.name ? -1 : 1; - }); - displaySourceFiles(augmentationsList, sourceFiles); - displayAugmentations(augmentationsList, augs); - - _Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].OwnedAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_10__["OwnedAugmentationsOrderSetting"].Alphabetically; - } - }); - contentEl.appendChild(sortInOrderButton); - - const sortByAcquirementTimeButton = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("a", { - class:"a-link-button", fontSize:"14px", innerText:"Sort by Acquirement Time", - tooltip:"Sorts the Augmentations and Source Files based on when you acquired them (same as default)", - clickListener:()=>{ - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_20__["removeChildrenFromElement"])(augmentationsList); - displaySourceFiles(augmentationsList, _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].sourceFiles); - displayAugmentations(augmentationsList, _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].augmentations); - - _Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].OwnedAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_10__["OwnedAugmentationsOrderSetting"].AcquirementTime; - } - }); - contentEl.appendChild(sortByAcquirementTimeButton); - - if (_Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].OwnedAugmentationsOrder === _SettingEnums__WEBPACK_IMPORTED_MODULE_10__["OwnedAugmentationsOrderSetting"].Alphabetically) { - sortInOrderButton.click(); - } else { - sortByAcquirementTimeButton.click(); - } - contentEl.appendChild(augmentationsList); - - // Display multiplier information at the bottom - contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__["createElement"])("p", { - display: "block", - innerHTML: - `

Total Multipliers:
` + - 'Hacking Chance multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_16__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_chance_mult * 100, 2) + '%
' + - 'Hacking Speed multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_16__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_speed_mult * 100, 2) + '%
' + - 'Hacking Money multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_16__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_money_mult * 100, 2) + '%
' + - 'Hacking Growth multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_16__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_grow_mult * 100, 2) + '%

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

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

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

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

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

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

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

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


', - })) -} - -//Creates the accordion elements to display Augmentations -// @listElement - List DOM element to append accordion elements to -// @augs - Array of Augmentation objects -function displayAugmentations(listElement, augs) { - for (var i = 0; i < augs.length; ++i) { - var augName = augs[i].name; - var aug = Augmentations[augName]; - - var displayName = augName; - if (augName === AugmentationNames.NeuroFluxGovernor) { - displayName += " - Level " + (augs[i].level); - } - var accordion = Object(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_14__["createAccordionElement"])({hdrText:displayName, panelText:aug.info}); - listElement.appendChild(accordion[0]); - } -} - -//Creates the accordion elements to display Source Files -// @listElement - List DOM element to append accordion elements to -// @sourceFiles - Array of Source File objects -function displaySourceFiles(listElement, sourceFiles) { - for (var i = 0; i < sourceFiles.length; ++i) { - var srcFileKey = "SourceFile" + sourceFiles[i].n; - var sourceFileObject = _SourceFile__WEBPACK_IMPORTED_MODULE_12__[/* SourceFiles */ "b"][srcFileKey]; - if (sourceFileObject == null) { - console.log("ERROR: Invalid source file number: " + sourceFiles[i].n); - continue; - } - const maxLevel = sourceFiles[i].n == 12 ? "∞" : "3"; - var accordion = Object(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_14__["createAccordionElement"])({ - hdrText:sourceFileObject.name + "
" + "Level " + (sourceFiles[i].lvl) + " / "+maxLevel, - panelText:sourceFileObject.info - }); - - listElement.appendChild(accordion[0]); - } -} - - - - - -/***/ }), -/* 22 */ +/* 24 */ /*!****************************************!*\ !*** ./src/StockMarket/StockMarket.js ***! \****************************************/ @@ -10659,35 +8176,36 @@ function displaySourceFiles(listElement, sourceFiles) { /* unused harmony export Order */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return OrderTypes; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return PositionTypes; }); -/* harmony import */ var _Stock__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Stock */ 28); +/* harmony import */ var _Stock__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Stock */ 31); /* harmony import */ var _Stock__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Stock__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Locations */ 5); /* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../NetscriptFunctions */ 43); -/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../NetscriptWorker */ 26); +/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../NetscriptFunctions */ 47); +/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../NetscriptWorker */ 29); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Player */ 0); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! .././ui/navigationTracking */ 12); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! .././ui/navigationTracking */ 14); /* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! .././ui/numeralFormat */ 4); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/uiHelpers/clearEventListeners */ 16); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils/uiHelpers/clearEventListeners */ 22); /* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/JSONReviver */ 13); -/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils/helpers/exceptionAlert */ 44); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 15); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../utils/JSONReviver */ 15); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils/helpers/exceptionAlert */ 45); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 17); /* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../utils/helpers/keyCodes */ 25); +/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../../utils/helpers/keyCodes */ 27); /* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_13__); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils/uiHelpers/removeChildrenFromElement */ 30); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils/uiHelpers/removeChildrenFromElement */ 32); /* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../utils/uiHelpers/removeElementById */ 20); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../utils/uiHelpers/removeElementById */ 23); /* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../utils/YesNoBox */ 19); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../utils/YesNoBox */ 21); /* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_17__); @@ -11704,7 +9222,7 @@ function switchToDisplayAllMode() { function createAllStockTickers() { var stockList = document.getElementById("stock-market-list"); if (stockList == null) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_11__[/* exceptionAlert */ "a"])("Error creating Stock Tickers UI. DOM element with ID 'stock-market-list' could not be found"); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_11__["exceptionAlert"])("Error creating Stock Tickers UI. DOM element with ID 'stock-market-list' could not be found"); } Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(stockList); @@ -12198,7 +9716,7 @@ function updateStockOrderList(stock) { /***/ }), -/* 23 */ +/* 25 */ /*!*****************************************!*\ !*** ./src/Corporation/IndustryData.ts ***! \*****************************************/ @@ -12209,7 +9727,7 @@ function updateStockOrderList(stock) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const BaseResearchTree_1 = __webpack_require__(/*! ./data/BaseResearchTree */ 213); +const BaseResearchTree_1 = __webpack_require__(/*! ./data/BaseResearchTree */ 231); const numeralFormat_1 = __webpack_require__(/*! ../ui/numeralFormat */ 4); // Map of official names for each Industry exports.Industries = { @@ -12328,7 +9846,7 @@ exports.resetIndustryResearchTrees = resetIndustryResearchTrees; /***/ }), -/* 24 */ +/* 26 */ /*!**********************************!*\ !*** ./src/Programs/Programs.ts ***! \**********************************/ @@ -12339,8 +9857,8 @@ exports.resetIndustryResearchTrees = resetIndustryResearchTrees; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const Program_1 = __webpack_require__(/*! ./Program */ 201); -const programsMetadata_1 = __webpack_require__(/*! ./data/programsMetadata */ 200); +const Program_1 = __webpack_require__(/*! ./Program */ 220); +const programsMetadata_1 = __webpack_require__(/*! ./data/programsMetadata */ 219); exports.Programs = {}; for (const params of programsMetadata_1.programsMetadata) { exports.Programs[params.key] = new Program_1.Program(params.name, params.create); @@ -12348,7 +9866,7 @@ for (const params of programsMetadata_1.programsMetadata) { /***/ }), -/* 25 */ +/* 27 */ /*!***********************************!*\ !*** ./utils/helpers/keyCodes.ts ***! \***********************************/ @@ -12392,7 +9910,79 @@ exports.KEY = { /***/ }), -/* 26 */ +/* 28 */ +/*!**********************************!*\ + !*** ./src/ui/MainMenu/Links.ts ***! + \**********************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +// Get references to the Main Menu link DOM elements +// Does NOT include collapsible headers for the links +const clearEventListeners_1 = __webpack_require__(/*! ../../../utils/uiHelpers/clearEventListeners */ 22); +exports.MainMenuLinks = { + Terminal: null, + ScriptEditor: null, + ActiveScripts: null, + CreateProgram: null, + Stats: null, + Factions: null, + Augmentations: null, + HacknetNodes: null, + City: null, + Travel: null, + Job: null, + StockMarket: null, + Bladeburner: null, + Corporation: null, + Gang: null, + Tutorial: null, + Options: null, + DevMenu: null, +}; +function initializeMainMenuLinks() { + try { + function safeGetLink(id) { + const elem = clearEventListeners_1.clearEventListeners(id); + if (elem == null) { + throw new Error(`clearEventListeners() failed for element with id: ${id}`); + } + return elem; + } + exports.MainMenuLinks.Terminal = safeGetLink("terminal-menu-link"); + exports.MainMenuLinks.ScriptEditor = safeGetLink("create-script-menu-link"); + exports.MainMenuLinks.ActiveScripts = safeGetLink("active-scripts-menu-link"); + exports.MainMenuLinks.CreateProgram = safeGetLink("create-program-menu-link"); + exports.MainMenuLinks.Stats = safeGetLink("stats-menu-link"); + exports.MainMenuLinks.Factions = safeGetLink("factions-menu-link"); + exports.MainMenuLinks.Augmentations = safeGetLink("augmentations-menu-link"); + exports.MainMenuLinks.HacknetNodes = safeGetLink("hacknet-nodes-menu-link"); + exports.MainMenuLinks.City = safeGetLink("city-menu-link"); + exports.MainMenuLinks.Travel = safeGetLink("travel-menu-link"); + exports.MainMenuLinks.Job = safeGetLink("job-menu-link"); + exports.MainMenuLinks.StockMarket = safeGetLink("stock-market-menu-link"); + exports.MainMenuLinks.Bladeburner = safeGetLink("bladeburner-menu-link"); + exports.MainMenuLinks.Corporation = safeGetLink("corporation-menu-link"); + exports.MainMenuLinks.Gang = safeGetLink("gang-menu-link"); + exports.MainMenuLinks.Tutorial = safeGetLink("tutorial-menu-link"); + exports.MainMenuLinks.Options = document.getElementById("options-menu-link"); // This click listener is already set, so don't clear it + exports.MainMenuLinks.DevMenu = safeGetLink("dev-menu-link"); + return true; + } + catch (e) { + console.error(`Failed to initialize Main Menu Links: ${e}`); + return false; + } +} +exports.initializeMainMenuLinks = initializeMainMenuLinks; + + +/***/ }), +/* 29 */ /*!********************************!*\ !*** ./src/NetscriptWorker.js ***! \********************************/ @@ -12409,29 +9999,29 @@ exports.KEY = { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return addWorkerScript; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "g", function() { return updateOnlineScriptTimes; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return prestigeWorkerScripts; }); -/* harmony import */ var _ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI */ 68); +/* harmony import */ var _ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI */ 73); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _JSInterpreter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./JSInterpreter */ 132); -/* harmony import */ var _NetscriptEnvironment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NetscriptEnvironment */ 116); -/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./NetscriptEvaluator */ 6); -/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./NetscriptFunctions */ 43); -/* harmony import */ var _NetscriptJSEvaluator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./NetscriptJSEvaluator */ 117); -/* harmony import */ var _NetscriptPort__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./NetscriptPort */ 72); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Settings */ 18); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _JSInterpreter__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./JSInterpreter */ 143); +/* harmony import */ var _NetscriptEnvironment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NetscriptEnvironment */ 124); +/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./NetscriptEvaluator */ 7); +/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./NetscriptFunctions */ 47); +/* harmony import */ var _NetscriptJSEvaluator__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./NetscriptJSEvaluator */ 125); +/* harmony import */ var _NetscriptPort__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./NetscriptPort */ 76); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Settings */ 20); /* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var escodegen__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! escodegen */ 110); +/* harmony import */ var escodegen__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! escodegen */ 117); /* harmony import */ var escodegen__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(escodegen__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/acorn */ 49); +/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/acorn */ 52); /* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_acorn__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_helpers_compareArrays__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/helpers/compareArrays */ 93); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_helpers_compareArrays__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/helpers/compareArrays */ 99); /* harmony import */ var _utils_helpers_compareArrays__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_compareArrays__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 55); +/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 59); /* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var _utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/helpers/roundToTwo */ 83); +/* harmony import */ var _utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/helpers/roundToTwo */ 88); /* harmony import */ var _utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_16__); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_17__); @@ -12456,7 +10046,7 @@ exports.KEY = { -const walk = __webpack_require__(/*! acorn/dist/walk */ 149); +const walk = __webpack_require__(/*! acorn/dist/walk */ 162); function WorkerScript(runningScriptObj) { this.name = runningScriptObj.filename; @@ -13067,7 +10657,7 @@ function updateOnlineScriptTimes(numCycles = 1) { /***/ }), -/* 27 */ +/* 30 */ /*!**********************************************!*\ !*** ./src/Corporation/EmployeePositions.ts ***! \**********************************************/ @@ -13090,7 +10680,7 @@ exports.EmployeePositions = { /***/ }), -/* 28 */ +/* 31 */ /*!**********************************!*\ !*** ./src/StockMarket/Stock.ts ***! \**********************************/ @@ -13101,8 +10691,8 @@ exports.EmployeePositions = { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 13); -const getRandomInt_1 = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 15); +const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 15); +const getRandomInt_1 = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 17); /** * Represents the valuation of a company in the World Stock Exchange. */ @@ -13142,34 +10732,7 @@ JSONReviver_1.Reviver.constructors.Stock = Stock; /***/ }), -/* 29 */ -/*!*****************************************!*\ - !*** ./src/Company/CompanyPositions.ts ***! - \*****************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -// Constructs all CompanyPosition objects using the metadata in data/companypositions.ts -const CompanyPositionsMetadata_1 = __webpack_require__(/*! ./data/CompanyPositionsMetadata */ 215); -const CompanyPosition_1 = __webpack_require__(/*! ./CompanyPosition */ 87); -exports.CompanyPositions = {}; -function addCompanyPosition(params) { - if (exports.CompanyPositions[params.name] != null) { - console.warn(`Duplicate Company Position being defined: ${params.name}`); - } - exports.CompanyPositions[params.name] = new CompanyPosition_1.CompanyPosition(params); -} -CompanyPositionsMetadata_1.companyPositionMetadata.forEach((e) => { - addCompanyPosition(e); -}); - - -/***/ }), -/* 30 */ +/* 32 */ /*!******************************************************!*\ !*** ./utils/uiHelpers/removeChildrenFromElement.ts ***! \******************************************************/ @@ -13180,8 +10743,8 @@ CompanyPositionsMetadata_1.companyPositionMetadata.forEach((e) => { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const isString_1 = __webpack_require__(/*! ../helpers/isString */ 40); -const getElementById_1 = __webpack_require__(/*! ./getElementById */ 54); +const isString_1 = __webpack_require__(/*! ../helpers/isString */ 43); +const getElementById_1 = __webpack_require__(/*! ./getElementById */ 57); /** * Clears out all children from the provided element. * If a string is passed in, it will treat it as an ID and search for the element to delete all children from. @@ -13209,7 +10772,4304 @@ exports.removeChildrenFromElement = removeChildrenFromElement; /***/ }), -/* 31 */ +/* 33 */ +/*!*****************************************!*\ + !*** ./src/Company/CompanyPositions.ts ***! + \*****************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +// Constructs all CompanyPosition objects using the metadata in data/companypositions.ts +const CompanyPositionsMetadata_1 = __webpack_require__(/*! ./data/CompanyPositionsMetadata */ 233); +const CompanyPosition_1 = __webpack_require__(/*! ./CompanyPosition */ 96); +exports.CompanyPositions = {}; +function addCompanyPosition(params) { + if (exports.CompanyPositions[params.name] != null) { + console.warn(`Duplicate Company Position being defined: ${params.name}`); + } + exports.CompanyPositions[params.name] = new CompanyPosition_1.CompanyPosition(params); +} +CompanyPositionsMetadata_1.companyPositionMetadata.forEach((e) => { + addCompanyPosition(e); +}); + + +/***/ }), +/* 34 */ +/*!****************************!*\ + !*** ./src/Bladeburner.js ***! + \****************************/ +/*! exports provided: Bladeburner */ +/*! exports used: Bladeburner */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Bladeburner; }); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentation/Augmentations */ 13); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentation/data/AugmentationNames */ 6); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Constants */ 1); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Faction/Faction */ 58); +/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Faction_Faction__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Faction/Factions */ 16); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 49); +/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Locations */ 5); +/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Player */ 0); +/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./RedPill */ 64); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/helpers/keyCodes */ 27); +/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/helpers/createProgressBarText */ 91); +/* harmony import */ var _utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 32); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/JSONReviver */ 15); +/* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/helpers/addOffset */ 70); +/* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var _utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/uiHelpers/appendLineBreaks */ 55); +/* harmony import */ var _utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__); +/* harmony import */ var _utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/helpers/clearObject */ 85); +/* harmony import */ var _utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_19__); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 40); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_21__); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./ui/navigationTracking */ 14); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 45); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_23__); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 17); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__); +/* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils/helpers/getTimestamp */ 93); +/* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_26__); +/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../utils/uiHelpers/removeElement */ 63); +/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_27__); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 23); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_28__); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +var CityNames = ["Aevum", "Chongqing", "Sector-12", "New Tokyo", "Ishima", "Volhaven"]; + +var CyclesPerSecond = 5; //Game cycle is 200 ms + +var StaminaGainPerSecond = 0.0085; +var BaseStaminaLoss = 0.285; //Base stamina loss per action. Increased based on difficulty +var MaxStaminaToGainFactor = 70000; //Max Stamina is divided by this to get bonus stamina gain + +var DifficultyToTimeFactor = 10; //Action Difficulty divided by this to get base action time + +//The difficulty multiplier affects stamina loss and hp loss of an action. Also affects +//experience gain. Its formula is: +//difficulty ^ exponentialFactor + difficulty / linearFactor +var DiffMultExponentialFactor = 0.28; +var DiffMultLinearFactor = 650; + +var EffAgiLinearFactor = 40e3; +var EffDexLinearFactor = 40e3; +var EffAgiExponentialFactor = 0.032; +var EffDexExponentialFactor = 0.03; + +var BaseRecruitmentTimeNeeded = 300; //Base time needed (s) to complete a Recruitment action + +var PopulationThreshold = 1e9; //Population at which success rates start being affected +var ChaosThreshold = 50; //City chaos level after which it starts making tasks harder + +var BaseStatGain = 1; //Base stat gain per second +var BaseIntGain = 0.001; //Base intelligence stat gain + +var ActionCountGrowthPeriod = 300; //Time (s) it takes for action count to grow by its specified value + +var RankToFactionRepFactor = 2; //Delta Faction Rep = this * Delta Rank +var RankNeededForFaction = 25; + +var ContractSuccessesPerLevel = 3.5; //How many successes you need to level up a contract +var OperationSuccessesPerLevel = 3; //How many successes you need to level up an op + +var RanksPerSkillPoint = 4; //How many ranks needed to get 1 Skill Point + +var ContractBaseMoneyGain = 50e3; //Base Money Gained per contract + +//DOM related variables +var ActiveActionCssClass = "bladeburner-active-action"; + +//Console related stuff +var consoleHistoryIndex = 0; +var consoleHelpText = { + helpList:"Use 'help [command]' to get more information about a particular Bladeburner console command.

" + + "automate [var] [val] [hi/low] Configure simple automation for Bladeburner tasks
" + + "clear/cls Clear the console
" + + "help [cmd] Display this help text, or help text for a specific command
" + + "log [en/dis] [type] Enable or disable logging for events and actions
" + + "skill [action] [name] Level or display info about your Bladeburner skills
" + + "start [type] [name] Start a Bladeburner action/task
" + + "stop Stops your current Bladeburner action/task
", + automate:"automate [var] [val] [hi/low]

" + + "A simple way to automate your Bladeburner actions. This console command can be used " + + "to automatically start an action when your stamina rises above a certain threshold, and " + + "automatically switch to another action when your stamina drops below another threshold.

" + + "automate status - Check the current status of your automation and get a brief description of what it'll do
" + + "automate en - Enable the automation feature
" + + "automate dis - Disable the automation feature

" + + "There are four properties that must be set for this automation to work properly. Here is how to set them:

" + + "automate stamina 100 high
" + + "automate contract Tracking high
" + + "automate stamina 50 low
" + + 'automate general "Field Analysis" low

' + + "Using the four console commands above will set the automation to perform Tracking contracts " + + "if your stamina is 100 or higher, and then switch to Field Analysis if your stamina drops below " + + "50. Note that when setting the action, the name of the action is CASE-SENSITIVE. It must " + + "exactly match whatever the name is in the UI.", + clear:"clear

Clears the console", + cls:"cls

Clears the console", + help:"help [command]

" + + "Running 'help' with no arguments displays the general help text, which lists all console commands " + + "and a brief description of what they do. A command can be specified to get more specific help text " + + "about that particular command. For example:

" + + "help automate

" + + "will display specific information about using the automate console command", + log:"log [en/dis] [type]

" + + "Enable or disable logging. By default, the results of completing actions such as contracts/operations are logged " + + "in the console. There are also random events that are logged in the console as well. The five categories of " + + "things that get logged are:

" + + "[general, contracts, ops, blackops, events]

" + + "The logging for these categories can be enabled or disabled like so:

" + + "log dis contracts - Disables logging that occurs when contracts are completed
" + + "log en contracts - Enables logging that occurs when contracts are completed
" + + "log dis events - Disables logging for Bladeburner random events

" + + "Logging can be universally enabled/disabled using the 'all' keyword:

" + + "log dis all
" + + "log en all", + skill:"skill [action] [name]

" + + "Level or display information about your skills.

" + + "To display information about all of your skills and your multipliers, use:

" + + "skill list

" + + "To display information about a specific skill, specify the name of the skill afterwards. " + + "Note that the name of the skill is case-sensitive. Enter it exactly as seen in the UI. If " + + "the name of the skill has whitespace, enclose the name of the skill in double quotation marks:

" + + "skill list Reaper
" + + 'skill list "Digital Observer"

' + + "This console command can also be used to level up skills:

" + + "skill level [skill name]", + start:"start [type] [name]

" + + "Start an action. An action is specified by its type and its name. The " + + "name is case-sensitive. It must appear exactly as it does in the UI. If " + + "the name of the action has whitespace, enclose it in double quotation marks. " + + "Valid action types include:

" + + "[general, contract, op, blackop]

" + + "Examples:

" + + 'start contract Tracking
' + + 'start op "Undercover Operation"
', + stop:"stop

" + + "Stop your current action and go idle", +} + +//Keypresses for Console +$(document).keydown(function(event) { + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["Page"].Bladeburner)) { + //if (DomElems.consoleInput && !event.ctrlKey && !event.shiftKey && !event.altKey) { + // DomElems.consoleInput.focus(); + //} + + if (!(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner instanceof Bladeburner)) {return;} + let consoleHistory = _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner.consoleHistory; + + //NOTE: Keycodes imported from Terminal.js + if (event.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_12__["KEY"].ENTER) { + event.preventDefault(); + var command = DomElems.consoleInput.value; + if (command.length > 0) { + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner.postToConsole("> " + command); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner.resetConsoleInput(); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner.executeConsoleCommands(command); + } + } + + if (event.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_12__["KEY"].UPARROW) { + if (DomElems.consoleInput == null) {return;} + var i = consoleHistoryIndex; + var len = consoleHistory.length; + + if (len === 0) {return;} + if (i < 0 || i > len) { + consoleHistoryIndex = len; + } + + if (i !== 0) { + --consoleHistoryIndex; + } + + var prevCommand = consoleHistory[consoleHistoryIndex]; + DomElems.consoleInput.value = prevCommand; + setTimeout(function(){DomElems.consoleInput.selectionStart = DomElems.consoleInput.selectionEnd = 10000; }, 0); + } + + if (event.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_12__["KEY"].DOWNARROW) { + if (DomElems.consoleInput == null) {return;} + var i = consoleHistoryIndex; + var len = consoleHistory.length; + + if (len == 0) {return;} + if (i < 0 || i > len) { + consoleHistoryIndex = len; + } + + //Latest command, put nothing + if (i == len || i == len-1) { + consoleHistoryIndex = len; + DomElems.consoleInput.value = ""; + } else { + ++consoleHistoryIndex; + var prevCommand = consoleHistory[consoleHistoryIndex]; + DomElems.consoleInput.value = prevCommand; + } + } + } +}); + +function City(params={}) { + this.name = params.name ? params.name : _Locations__WEBPACK_IMPORTED_MODULE_8__["Locations"].Sector12; + + //Synthoid population and estimate + this.pop = params.pop ? params.pop : Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(800e6, 1.2*PopulationThreshold); + this.popEst = this.pop * (Math.random() + 0.5); + + //Number of Synthoid communities population and estimate + this.comms = params.comms ? params.comms : Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(5, 100); + this.commsEst = this.comms + Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(-5, 5); + if (this.commsEst < 0) {this.commsEst = 0;} + this.chaos = 0; +} + +City.prototype.improvePopulationEstimateByCount = function(n) { + if (isNaN(n)) {throw new Error("NaN passeed into City.improvePopulationEstimateByCount()");} + if (this.popEst < this.pop) { + this.popEst += n; + if (this.popEst > this.pop) {this.popEst = this.pop;} + } else if (this.popEst > this.pop) { + this.popEst -= n; + if (this.popEst < this.pop) {this.popEst = this.pop;} + } +} + +//@p is the percentage, not the multiplier. e.g. pass in p = 5 for 5% +City.prototype.improvePopulationEstimateByPercentage = function(p, skillMult=1) { + p = p*skillMult; + if (isNaN(p)) {throw new Error("NaN passed into City.improvePopulationEstimateByPercentage()");} + if (this.popEst < this.pop) { + ++this.popEst; //In case estimate is 0 + this.popEst *= (1 + (p/100)); + if (this.popEst > this.pop) {this.popEst = this.pop;} + } else if (this.popEst > this.pop) { + this.popEst *= (1 - (p/100)); + if (this.popEst < this.pop) {this.popEst = this.pop;} + } +} + +City.prototype.improveCommunityEstimate = function(n=1) { + if (isNaN(n)) {throw new Error("NaN passed into City.improveCommunityEstimate()");} + if (this.commsEst < this.comms) { + this.commsEst += n; + if (this.commsEst > this.comms) {this.commsEst = this.comms;} + } else if (this.commsEst > this.comms) { + this.commsEst -= n; + if (this.commsEst < this.comms) {this.commsEst = this.comms;} + } +} + +//@params options: +// estChange(int): How much the estimate should change by +// estOffset(int): Add offset to estimate (offset by percentage) +City.prototype.changePopulationByCount = function(n, params={}) { + if (isNaN(n)) {throw new Error("NaN passed into City.changePopulationByCount()");} + this.pop += n; + if (params.estChange && !isNaN(params.estChange)) {this.popEst += params.estChange;} + if (params.estOffset) { + this.popEst = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__["addOffset"])(this.popEst, params.estOffset); + } + this.popEst = Math.max(this.popEst, 0); +} + +//@p is the percentage, not the multiplier. e.g. pass in p = 5 for 5% +//@params options: +// changeEstEqually(bool) - Change the population estimate by an equal amount +// nonZero (bool) - Set to true to ensure that population always changes by at least 1 +City.prototype.changePopulationByPercentage = function(p, params={}) { + if (isNaN(p)) {throw new Error("NaN passed into City.changePopulationByPercentage()");} + if (p === 0) {return;} + var change = Math.round(this.pop * (p/100)); + + //Population always changes by at least 1 + if (params.nonZero && change === 0) { + p > 0 ? change = 1 : change = -1; + } + + this.pop += change; + if (params.changeEstEqually) { + this.popEst += change; + if (this.popEst < 0) {this.popEst = 0;} + } + return change; +} + +City.prototype.changeChaosByCount = function(n) { + if (isNaN(n)) {throw new Error("NaN passed into City.changeChaosByCount()");} + if (n === 0) {return;} + this.chaos += n; + if (this.chaos < 0) {this.chaos = 0;} +} + +//@p is the percentage, not the multiplier (e.g. pass in p = 5 for 5%) +City.prototype.changeChaosByPercentage = function(p) { + if (isNaN(p)) {throw new Error("NaN passed into City.chaosChaosByPercentage()");} + if (p === 0) {return;} + var change = this.chaos * (p/100); + this.chaos += change; + if (this.chaos < 0) {this.chaos = 0;} +} + +City.prototype.toJSON = function() { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_toJSON"])("City", this); +} +City.fromJSON = function(value) { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_fromJSON"])(City, value.data); +} +_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Reviver"].constructors.City = City; + +function Skill(params={name:"foo", desc:"foo"}) { + if (params.name) { + this.name = params.name; + } else { + throw new Error("Failed to initialize Bladeburner Skill. No name was specified in ctor"); + } + if (params.desc) { + this.desc = params.desc; + } else { + throw new Error("Failed to initialize Bladeburner Skills. No desc was specified in ctor"); + } + this.baseCost = params.baseCost ? params.baseCost : 1; //Cost is in Skill Points + this.costInc = params.costInc ? params.costInc : 1; //Additive cost increase per level + + if (params.maxLvl) {this.maxLvl = params.maxLvl;} + + //These benefits are additive. So total multiplier will be level (handled externally) times the + //effects below + if (params.successChanceAll) {this.successChanceAll = params.successChanceAll;} + if (params.successChanceStealth) {this.successChanceStealth = params.successChanceStealth;} + if (params.successChanceKill) {this.successChanceKill = params.successChanceKill;} + if (params.successChanceContract) {this.successChanceContract = params.successChanceContract;} + if (params.successChanceOperation) {this.successChanceOperation = params.successChanceOperation;} + + //This multiplier affects everything that increases synthoid population/community estimate + //e.g. Field analysis, Investigation Op, Undercover Op + if (params.successChanceEstimate) {this.successChanceEstimate = params.successChanceEstimate;} + + if (params.actionTime) {this.actionTime = params.actionTime;} + if (params.effHack) {this.effHack = params.effHack;} + if (params.effStr) {this.effStr = params.effStr;} + if (params.effDef) {this.effDef = params.effDef;} + if (params.effDex) {this.effDex = params.effDex;} + if (params.effAgi) {this.effAgi = params.effAgi;} + if (params.effCha) {this.effCha = params.effCha;} + + if (params.stamina) {this.stamina = params.stamina;} + + //Equipment + if (params.weaponAbility) {this.weaponAbility = params.weaponAbility;} + if (params.gunAbility) {this.gunAbility = params.gunAbility;} +} + +Skill.prototype.calculateCost = function(currentLevel) { + return Math.floor((this.baseCost + (currentLevel * this.costInc)) * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"].BladeburnerSkillCost); +} +var Skills = {}; +var SkillNames = { + BladesIntuition: "Blade's Intuition", + Reaper: "Reaper", + Cloak: "Cloak", + Marksman: "Marksman", + WeaponProficiency: "Weapon Proficiency", + Overclock: "Overclock", + EvasiveSystem: "Evasive System", + ShortCircuit: "Short-Circuit", + DigitalObserver: "Digital Observer", + Datamancer: "Datamancer", + Tracer: "Tracer", + CybersEdge: "Cyber's Edge" +} + +//Base Class for Contracts, Operations, and BlackOps +function Action(params={}) { + this.name = params.name ? params.name : ""; + this.desc = params.desc ? params.desc : ""; + + //Difficulty scales with level + //Exact formula is not set in stone + //Initial design: baseDifficulty * (difficultyFac ^ level)? + //difficulty Fac is slightly greater than 1 + this.level = 1; + this.maxLevel = 1; + this.autoLevel = true; + this.baseDifficulty = params.baseDifficulty ? Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__["addOffset"])(params.baseDifficulty, 10) : 100; + this.difficultyFac = params.difficultyFac ? params.difficultyFac : 1.01; + + //Rank increase/decrease is affected by this exponent + this.rewardFac = params.rewardFac ? params.rewardFac : 1.02; + + this.successes = 0; + this.failures = 0; + + //All of these scale with level/difficulty + this.rankGain = params.rankGain ? params.rankGain : 0; + if (params.rankLoss) {this.rankLoss = params.rankLoss;} + if (params.hpLoss) { + this.hpLoss = params.hpLoss; + this.hpLost = 0; + } + + //Action Category. Current categories are stealth and kill + this.isStealth = params.isStealth ? true : false; + this.isKill = params.isKill ? true : false; + + //Number of this contract remaining, and its growth rate + //Growth rate is an integer and the count will increase by that integer every "cycle" + this.count = params.count ? params.count : Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1e3, 25e3); + this.countGrowth = params.countGrowth ? params.countGrowth : Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 5); + + //Weighting of each stat in determining action success rate + var defaultWeights = {hack:1/7,str:1/7,def:1/7,dex:1/7,agi:1/7,cha:1/7,int:1/7}; + this.weights = params.weights ? params.weights : defaultWeights; + + //Check to make sure weights are summed properly + var sum = 0; + for (var weight in this.weights) { + if (this.weights.hasOwnProperty(weight)) { + sum += this.weights[weight]; + } + } + if (sum - 1 >= 10 * Number.EPSILON) { + throw new Error("Invalid weights when constructing Action " + this.name + + ". The weights should sum up to 1. They sum up to :" + 1); + } + + //Diminishing returns of stats (stat ^ decay where 0 <= decay <= 1) + var defaultDecays = {hack:0.9,str:0.9,def:0.9,dex:0.9,agi:0.9,cha:0.9,int:0.9}; + this.decays = params.decays ? params.decays : defaultDecays; + for (var decay in this.decays) { + if (this.decays.hasOwnProperty(decay)) { + if (this.decays[decay] > 1) { + throw new Error("Invalid decays when constructing " + + "Action " + this.name + ". " + + "Decay value cannot be greater than 1"); + } + } + } +} + +Action.prototype.getDifficulty = function() { + var difficulty = this.baseDifficulty * Math.pow(this.difficultyFac, this.level-1); + if (isNaN(difficulty)) {throw new Error("Calculated NaN in Action.getDifficulty()");} + return difficulty; +} + +//@inst - Bladeburner Object +//@params - options: +// est (bool): Get success chance estimate instead of real success chance +Action.prototype.getSuccessChance = function(inst, params={}) { + if (inst == null) {throw new Error("Invalid Bladeburner instance passed into Action.getSuccessChance");} + var difficulty = this.getDifficulty(); + var competence = 0; + for (var stat in this.weights) { + if (this.weights.hasOwnProperty(stat)) { + var playerStatLvl = _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].queryStatFromString(stat); + var key = "eff" + stat.charAt(0).toUpperCase() + stat.slice(1); + var effMultiplier = inst.skillMultipliers[key]; + if (effMultiplier == null) { + console.log("ERROR: Failed to find Bladeburner Skill multiplier for: " + stat); + effMultiplier = 1; + } + competence += (this.weights[stat] * Math.pow(effMultiplier*playerStatLvl, this.decays[stat])); + } + } + competence *= inst.calculateStaminaPenalty(); + + //For Operations, factor in team members + if (this instanceof Operation || this instanceof BlackOperation) { + if (this.teamCount && this.teamCount > 0) { + this.teamCount = Math.min(this.teamCount, inst.teamSize); + var teamMultiplier = Math.pow(this.teamCount, 0.05); + competence *= teamMultiplier; + } + } + + //Lower city population results in lower chances + if (!(this instanceof BlackOperation)) { + var city = inst.getCurrentCity(); + if (params.est) { + competence *= (city.popEst / PopulationThreshold); + } else { + competence *= (city.pop / PopulationThreshold); + } + + //Too high of a chaos results in lower chances + if (city.chaos > ChaosThreshold) { + var diff = 1 + (city.chaos - ChaosThreshold); + var mult = Math.pow(diff, 0.1); + difficulty *= mult; + } + + //For Raid Operations, no communities = fail + if (this instanceof Operation && this.name === "Raid") { + if (city.comms <= 0) {return 0;} + } + } + + //Factor skill multipliers into success chance + competence *= inst.skillMultipliers.successChanceAll; + if (this instanceof Operation || this instanceof BlackOperation) { + competence *= inst.skillMultipliers.successChanceOperation; + } + if (this instanceof Contract) { + competence *= inst.skillMultipliers.successChanceContract; + } + if (this.isStealth) { + competence *= inst.skillMultipliers.successChanceStealth; + } + if (this.isKill) { + competence *= inst.skillMultipliers.successChanceKill; + } + + //Augmentation multiplier + competence *= _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner_success_chance_mult; + + if (isNaN(competence)) {throw new Error("Competence calculated as NaN in Action.getSuccessChance()");} + return Math.min(1, competence / difficulty); +} + +//Tests for success. Should be called when an action has completed +// @inst - Bladeburner Object +Action.prototype.attempt = function(inst) { + return (Math.random() < this.getSuccessChance(inst)); +} + +Action.prototype.getActionTime = function(inst) { + var difficulty = this.getDifficulty(); + var baseTime = difficulty / DifficultyToTimeFactor; + var skillFac = inst.skillMultipliers.actionTime; //Always < 1 + + var effAgility = _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].agility * inst.skillMultipliers.effAgi; + var effDexterity = _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].dexterity * inst.skillMultipliers.effDex; + var statFac = 0.5 * (Math.pow(effAgility, EffAgiExponentialFactor) + + Math.pow(effDexterity, EffDexExponentialFactor) + + (effAgility / EffAgiLinearFactor) + + (effDexterity / EffDexLinearFactor)); //Always > 1 + + baseTime = Math.max(1, baseTime * skillFac / statFac); + + if (this instanceof Contract) { + return Math.ceil(baseTime); + } else if (this instanceof Operation) { + return Math.ceil(baseTime); + } else if (this instanceof BlackOperation) { + return Math.ceil(baseTime * 1.5); + } else { + throw new Error("Unrecognized Action Type in Action.getActionTime(this). Must be either Contract, Operation, or BlackOperation"); + } +} + +Action.prototype.getSuccessesNeededForNextLevel = function(baseSuccessesPerLevel) { + return Math.ceil((0.5) * (this.maxLevel) * (2 * baseSuccessesPerLevel + (this.maxLevel-1))); +} + +Action.prototype.setMaxLevel = function(baseSuccessesPerLevel) { + if (this.successes >= this.getSuccessesNeededForNextLevel(baseSuccessesPerLevel)) { + ++this.maxLevel; + } +} + +Action.prototype.toJSON = function() { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_toJSON"])("Action", this); +} +Action.fromJSON = function(value) { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_fromJSON"])(Action, value.data); +} +_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Reviver"].constructors.Action = Action; +var GeneralActions = {}; //Training, Field Analysis, Recruitment, etc. + +//Action Identifier +var ActionTypes = Object.freeze({ + "Idle": 1, + "Contract": 2, + "Operation": 3, + "BlackOp": 4, + "BlackOperation": 4, + "Training": 5, + "Recruitment": 6, + "FieldAnalysis": 7, + "Field Analysis": 7 +}); +function ActionIdentifier(params={}) { + if (params.name) {this.name = params.name;} + if (params.type) {this.type = params.type;} +} +ActionIdentifier.prototype.toJSON = function() { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_toJSON"])("ActionIdentifier", this); +} +ActionIdentifier.fromJSON = function(value) { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_fromJSON"])(ActionIdentifier, value.data); +} +_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Reviver"].constructors.ActionIdentifier = ActionIdentifier; + +//Contracts +function Contract(params={}) { + Action.call(this, params); +} +Contract.prototype = Object.create(Action.prototype); +Contract.prototype.toJSON = function() { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_toJSON"])("Contract", this); +} +Contract.fromJSON = function(value) { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_fromJSON"])(Contract, value.data); +} +_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Reviver"].constructors.Contract = Contract; + +//Operations +function Operation(params={}) { + Action.call(this, params); + this.reqdRank = params.reqdRank ? params.reqdRank : 100; + this.teamCount = params.teamCount ? params.teamCount : 0; //# of team members to use +} +Operation.prototype = Object.create(Action.prototype); +Operation.prototype.toJSON = function() { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_toJSON"])("Operation", this); +} +Operation.fromJSON = function(value) { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_fromJSON"])(Operation, value.data); +} +_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Reviver"].constructors.Operation = Operation; + +//Black Operations +function BlackOperation(params={}) { + Operation.call(this, params); + + //Black ops are one time missions + this.count = 1; + this.countGrowth = 0; +} +BlackOperation.prototype = Object.create(Action.prototype); +BlackOperation.prototype.toJSON = function() { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_toJSON"])("BlackOperation", this); +} +BlackOperation.fromJSON = function(value) { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_fromJSON"])(BlackOperation, value.data); +} +_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Reviver"].constructors.BlackOperation = BlackOperation; +var BlackOperations = {}; + +function Bladeburner(params={}) { + this.numHosp = 0; //Number of hospitalizations + this.moneyLost = 0; //Money lost due to hospitalizations + this.rank = 0; + this.maxRank = 0; //Used to determine skill points + + this.skillPoints = 0; + this.totalSkillPoints = 0; + + this.teamSize = 0; //Number of team members + this.teamLost = 0; //Number of team members lost + + this.storedCycles = 0; + + this.randomEventCounter = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(240, 600); //4-10 minutes + + //These times are in seconds + this.actionTimeToComplete = 0; //0 or -1 is an infinite running action (like training) + this.actionTimeCurrent = 0; + + //ActionIdentifier Object + var idleActionType = ActionTypes["Idle"]; + this.action = new ActionIdentifier({type:idleActionType}); + + this.cities = {}; + for (var i = 0; i < CityNames.length; ++i) { + this.cities[CityNames[i]] = new City({name:CityNames[i]}); + } + this.city = _Locations__WEBPACK_IMPORTED_MODULE_8__["Locations"].Sector12; + + //Map of SkillNames -> level + this.skills = {}; + this.skillMultipliers = {}; + this.updateSkillMultipliers(); //Calls resetSkillMultipliers() + + //Max Stamina is based on stats and Bladeburner-specific bonuses + this.staminaBonus = 0; //Gained from training + this.maxStamina = 0; + this.calculateMaxStamina(); + this.stamina = this.maxStamina; + + //Contracts and Operations objects. These objects have unique + //properties because they are randomized in each instance and have stats like + //successes/failures, so they need to be saved/loaded by the game. + this.contracts = {}; + this.operations = {}; + + //Object that contains name of all Black Operations that have been completed + this.blackops = {}; + + //Flags for whether these actions should be logged to console + this.logging = { + general:true, + contracts:true, + ops:true, + blackops:true, + events:true, + } + + //Simple automation values + this.automateEnabled = false; + this.automateActionHigh = 0; + this.automateThreshHigh = 0; //Stamina Threshold + this.automateActionLow = 0; + this.automateThreshLow = 0; //Stamina Threshold + + //Console command history + this.consoleHistory = []; + this.consoleLogs = []; + + //Initialization + initBladeburner(); + this.initializeDomElementRefs(); + if (params.new) {this.create();} +} + +Bladeburner.prototype.prestige = function() { + this.resetAction(); + var bladeburnerFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_6__["Factions"]["Bladeburners"]; + if (this.rank >= RankNeededForFaction) { + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_7__[/* joinFaction */ "c"])(bladeburnerFac); + } +} + +Bladeburner.prototype.create = function() { + this.contracts["Tracking"] = new Contract({ + name:"Tracking", + desc:"Identify and locate Synthoids. This contract involves reconnaissance " + + "and information-gathering ONLY. Do NOT engage. Stealth is of the utmost importance.

" + + "Successfully completing Tracking contracts will slightly improve your Synthoid population estimate for " + + "whatever city you are currently in.", + baseDifficulty:125,difficultyFac:1.02,rewardFac:1.041, + rankGain:0.3, hpLoss:0.5, + count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(25, 500), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(5, 75)/10, + weights:{hack:0,str:0.05,def:0.05,dex:0.35,agi:0.35,cha:0.1, int:0.05}, + decays:{hack:0,str:0.91,def:0.91,dex:0.91,agi:0.91,cha:0.9, int:1}, + isStealth:true + }); + this.contracts["Bounty Hunter"] = new Contract({ + name:"Bounty Hunter", + desc:"Hunt down and capture fugitive Synthoids. These Synthoids are wanted alive.

" + + "Successfully completing a Bounty Hunter contract will lower the population in your " + + "current city, and will also increase its chaos level.", + baseDifficulty:250, difficultyFac:1.04,rewardFac:1.085, + rankGain:0.9, hpLoss:1, + count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(5, 500), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(5, 75)/10, + weights:{hack:0,str:0.15,def:0.15,dex:0.25,agi:0.25,cha:0.1, int:0.1}, + decays:{hack:0,str:0.91,def:0.91,dex:0.91,agi:0.91,cha:0.8, int:0.9}, + isKill:true + }); + this.contracts["Retirement"] = new Contract({ + name:"Retirement", + desc:"Hunt down and retire (kill) rogue Synthoids.

" + + "Successfully copmleting a Retirement contract will lower the population in your current " + + "city, and will also increase its chaos level.", + baseDifficulty:200, difficultyFac:1.03, rewardFac:1.065, + rankGain:0.6, hpLoss:1, + count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(5, 500), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(5,75)/10, + weights:{hack:0,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0.1, int:0.1}, + decays:{hack:0,str:0.91,def:0.91,dex:0.91,agi:0.91,cha:0.8, int:0.9}, + isKill:true + }); + + this.operations["Investigation"] = new Operation({ + name:"Investigation", + desc:"As a field agent, investigate and identify Synthoid " + + "populations, movements, and operations.

Successful " + + "Investigation ops will increase the accuracy of your " + + "synthoid data.

" + + "You will NOT lose HP from failed Investigation ops.", + baseDifficulty:400, difficultyFac:1.03,rewardFac:1.07,reqdRank:25, + rankGain:2.2, rankLoss:0.2, + count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 250), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(10, 40)/10, + weights:{hack:0.25,str:0.05,def:0.05,dex:0.2,agi:0.1,cha:0.25, int:0.1}, + decays:{hack:0.85,str:0.9,def:0.9,dex:0.9,agi:0.9,cha:0.7, int:0.9}, + isStealth:true + }); + this.operations["Undercover Operation"] = new Operation({ + name:"Undercover Operation", + desc:"Conduct undercover operations to identify hidden " + + "and underground Synthoid communities and organizations.

" + + "Successful Undercover ops will increase the accuracy of your synthoid " + + "data.", + baseDifficulty:500, difficultyFac:1.04, rewardFac:1.09, reqdRank:100, + rankGain:4.4, rankLoss:0.4, hpLoss:2, + count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 250), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(10, 40)/10, + weights:{hack:0.2,str:0.05,def:0.05,dex:0.2,agi:0.2,cha:0.2, int:0.1}, + decays:{hack:0.8,str:0.9,def:0.9,dex:0.9,agi:0.9,cha:0.7, int:0.9}, + isStealth:true + }); + this.operations["Sting Operation"] = new Operation({ + name:"Sting Operation", + desc:"Conduct a sting operation to bait and capture particularly " + + "notorious Synthoid criminals.", + baseDifficulty:650, difficultyFac:1.04, rewardFac:1.095, reqdRank:500, + rankGain:5.5, rankLoss:0.5, hpLoss:2.5, + count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 300), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(3, 40)/10, + weights:{hack:0.25,str:0.05,def:0.05,dex:0.25,agi:0.1,cha:0.2, int:0.1}, + decays:{hack:0.8,str:0.85,def:0.85,dex:0.85,agi:0.85,cha:0.7, int:0.9}, + isStealth:true + }); + this.operations["Raid"] = new Operation({ + name:"Raid", + desc:"Lead an assault on a known Synthoid community. Note that " + + "there must be an existing Synthoid community in your current city " + + "in order for this Operation to be successful", + baseDifficulty:800, difficultyFac:1.045, rewardFac:1.1, reqdRank:3000, + rankGain:55,rankLoss:2.5,hpLoss:50, + count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 200), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(2, 40)/10, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.7,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.9}, + isKill:true + }); + this.operations["Stealth Retirement Operation"] = new Operation({ + name:"Stealth Retirement Operation", + desc:"Lead a covert operation to retire Synthoids. The " + + "objective is to complete the task without " + + "drawing any attention. Stealth and discretion are key.", + baseDifficulty:1000, difficultyFac:1.05, rewardFac:1.11, reqdRank:20e3, + rankGain:22, rankLoss:2, hpLoss:10, + count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 250), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 20)/10, + weights:{hack:0.1,str:0.1,def:0.1,dex:0.3,agi:0.3,cha:0, int:0.1}, + decays:{hack:0.7,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.9}, + isStealth:true, isKill:true + }); + this.operations["Assassination"] = new Operation({ + name:"Assassination", + desc:"Assassinate Synthoids that have been identified as " + + "important, high-profile social and political leaders " + + "in the Synthoid communities.", + baseDifficulty:1500, difficultyFac:1.06, rewardFac:1.14, reqdRank:50e3, + rankGain:44, rankLoss:4, hpLoss:5, + count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 200), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 20)/10, + weights:{hack:0.1,str:0.1,def:0.1,dex:0.3,agi:0.3,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.8}, + isStealth:true, isKill:true + }); +} + +Bladeburner.prototype.storeCycles = function(numCycles=1) { + this.storedCycles += numCycles; +} + +Bladeburner.prototype.process = function() { + //Extreme condition...if Operation Daedalus is complete trigger the BitNode + if (_RedPill__WEBPACK_IMPORTED_MODULE_10__[/* redPillFlag */ "b"] === false && this.blackops.hasOwnProperty("Operation Daedalus")) { + return Object(_RedPill__WEBPACK_IMPORTED_MODULE_10__[/* hackWorldDaemon */ "a"])(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bitNodeN); + } + + //If the Player starts doing some other actions, set action to idle and alert + if (_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"][_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_1__["AugmentationNames"].BladesSimulacrum].owned === false && _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].isWorking) { + if (this.action.type !== ActionTypes["Idle"]) { + let msg = "Your Bladeburner action was cancelled because you started doing something else."; + if (this.automateEnabled) { + msg += `

Your automation was disabled as well. You will have to re-enable it through the Bladeburner console` + this.automateEnabled = false; + } + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])(msg); + } + this.resetAction(); + } + + // If the Player has no Stamina, set action to idle + if (this.stamina <= 0) { + this.log("Your Bladeburner action was cancelled because your stamina hit 0"); + this.resetAction(); + } + + //A 'tick' for this mechanic is one second (= 5 game cycles) + if (this.storedCycles >= CyclesPerSecond) { + var seconds = Math.floor(this.storedCycles / CyclesPerSecond); + seconds = Math.min(seconds, 5); //Max of 5 'ticks' + this.storedCycles -= seconds * CyclesPerSecond; + + //Stamina + this.calculateMaxStamina(); + this.stamina += (this.calculateStaminaGainPerSecond() * seconds); + this.stamina = Math.min(this.maxStamina, this.stamina); + + //Count increase for contracts/operations + for (var contractName in this.contracts) { + if (this.contracts.hasOwnProperty(contractName)) { + var contract = this.contracts[contractName]; + contract.count += (seconds * contract.countGrowth/ActionCountGrowthPeriod); + } + } + for (var operationName in this.operations) { + if (this.operations.hasOwnProperty(operationName)) { + var op = this.operations[operationName]; + op.count += (seconds * op.countGrowth/ActionCountGrowthPeriod); + } + } + + //Chaos goes down very slowly + for (var i = 0; i < CityNames.length; ++i) { + var city = this.cities[CityNames[i]]; + if (!(city instanceof City)) {throw new Error("Invalid City object when processing passive chaos reduction in Bladeburner.process");} + city.chaos -= (0.0001 * seconds); + city.chaos = Math.max(0, city.chaos); + } + + //Random Events + this.randomEventCounter -= seconds; + if (this.randomEventCounter <= 0) { + this.randomEvent(); + this.randomEventCounter = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(240, 600); + } + + this.processAction(seconds); + + //Automation + if (this.automateEnabled) { + // Note: Do NOT set this.action = this.automateActionHigh/Low since it creates a reference + if (this.stamina <= this.automateThreshLow) { + if (this.action.name !== this.automateActionLow.name || this.action.type !== this.automateActionLow.type) { + this.action = new ActionIdentifier({type: this.automateActionLow.type, name: this.automateActionLow.name}); + this.startAction(this.action); + } + } else if (this.stamina >= this.automateThreshHigh) { + if (this.action.name !== this.automateActionHigh.name || this.action.type !== this.automateActionHigh.type) { + this.action = new ActionIdentifier({type: this.automateActionHigh.type, name: this.automateActionHigh.name}); + this.startAction(this.action); + } + } + } + + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["Page"].Bladeburner)) { + this.updateContent(); + } + } +} + +Bladeburner.prototype.calculateMaxStamina = function() { + var effAgility = _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].agility * this.skillMultipliers.effAgi; + var maxStamina = (Math.pow(effAgility, 0.8) + this.staminaBonus); + maxStamina *= this.skillMultipliers.stamina; + maxStamina *= _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner_max_stamina_mult; + if (isNaN(maxStamina)) {throw new Error("Max Stamina calculated to be NaN in Bladeburner.calculateMaxStamina()");} + this.maxStamina = maxStamina; +} + +Bladeburner.prototype.calculateStaminaGainPerSecond = function() { + var effAgility = _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].agility * this.skillMultipliers.effAgi; + var maxStaminaBonus = this.maxStamina / MaxStaminaToGainFactor; + var gain = (StaminaGainPerSecond + maxStaminaBonus) * Math.pow(effAgility, 0.17); + return gain * (this.skillMultipliers.stamina * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner_stamina_gain_mult); +} + +Bladeburner.prototype.calculateStaminaPenalty = function() { + return Math.min(1, this.stamina / (0.5 * this.maxStamina)); +} + +Bladeburner.prototype.changeRank = function(change) { + if (isNaN(change)) {throw new Error("NaN passed into Bladeburner.changeRank()");} + this.rank += change; + if (this.rank < 0) {this.rank = 0;} + this.maxRank = Math.max(this.rank, this.maxRank); + + var bladeburnersFactionName = "Bladeburners"; + if (Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_6__["factionExists"])(bladeburnersFactionName)) { + var bladeburnerFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_6__["Factions"][bladeburnersFactionName]; + if (!(bladeburnerFac instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_5__["Faction"])) { + throw new Error("Could not properly get Bladeburner Faction object in Bladeburner UI Overview Faction button"); + } + if (bladeburnerFac.isMember) { + var favorBonus = 1 + (bladeburnerFac.favor / 100); + bladeburnerFac.playerReputation += (RankToFactionRepFactor * change * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].faction_rep_mult * favorBonus); + } + } + + //Gain skill points. You get 1 every 4 ranks + var rankNeededForSp = (this.totalSkillPoints+1) * RanksPerSkillPoint; + if (this.maxRank >= rankNeededForSp) { + //Calculate how many skill points to gain + var gainedSkillPoints = Math.floor((this.maxRank - rankNeededForSp) / RanksPerSkillPoint + 1); + this.skillPoints += gainedSkillPoints; + this.totalSkillPoints += gainedSkillPoints; + } +} + +Bladeburner.prototype.getCurrentCity = function() { + var city = this.cities[this.city]; + if (!(city instanceof City)) { + throw new Error("Bladeburner.getCurrentCity() did not properly return a City object"); + } + return city; +} + +Bladeburner.prototype.resetSkillMultipliers = function() { + this.skillMultipliers = { + successChanceAll:1, + successChanceStealth:1, + successChanceKill:1, + successChanceContract:1, + successChanceOperation:1, + successChanceEstimate:1, + actionTime:1, + effHack:1, + effStr:1, + effDef:1, + effDex:1, + effAgi:1, + effCha:1, + effInt:1, + stamina:1, + weaponAbility:1, + gunAbility:1, + }; +} + +Bladeburner.prototype.updateSkillMultipliers = function() { + this.resetSkillMultipliers(); + for (var skillName in this.skills) { + if (this.skills.hasOwnProperty(skillName)) { + var skill = Skills[skillName]; + if (skill == null) { + throw new Error("Could not find Skill Object for: " + skillName); + } + var level = this.skills[skillName]; + if (level == null || level <= 0) {continue;} //Not upgraded + + var multiplierNames = Object.keys(this.skillMultipliers); + for (var i = 0; i < multiplierNames.length; ++i) { + var multiplierName = multiplierNames[i]; + if (skill[multiplierName] != null && !isNaN(skill[multiplierName])) { + var value = skill[multiplierName] * level; + var multiplierValue = 1 + (value / 100); + if (multiplierName === "actionTime") { + multiplierValue = 1 - (value / 100); + } + this.skillMultipliers[multiplierName] *= multiplierValue; + } + } + } + } +} + +Bladeburner.prototype.upgradeSkill = function(skill) { + //This does NOT handle deduction of skill points + var skillName = skill.name; + if (this.skills[skillName]) { + ++this.skills[skillName]; + } else { + this.skills[skillName] = 1; + } + if (isNaN(this.skills[skillName]) || this.skills[skillName] < 0) { + throw new Error("Level of Skill " + skillName + " is invalid: " + this.skills[skillName]); + } + this.updateSkillMultipliers(); +} + +Bladeburner.prototype.getActionObject = function(actionId) { + //Given an ActionIdentifier object, returns the corresponding + //GeneralAction, Contract, Operation, or BlackOperation object + switch (actionId.type) { + case ActionTypes["Contract"]: + return this.contracts[actionId.name]; + case ActionTypes["Operation"]: + return this.operations[actionId.name]; + case ActionTypes["BlackOp"]: + case ActionTypes["BlackOperation"]: + return BlackOperations[actionId.name]; + case ActionTypes["Training"]: + return GeneralActions["Training"]; + case ActionTypes["Field Analysis"]: + return GeneralActions["Field Analysis"]; + case ActionTypes["Recruitment"]: + return GeneralActions["Recruitment"]; + default: + return null; + } +} + +//Sets the player to the "IDLE" action +Bladeburner.prototype.resetAction = function() { + this.action = new ActionIdentifier({type:ActionTypes.Idle}); +} + +Bladeburner.prototype.startAction = function(actionId) { + if (actionId == null) {return;} + this.action = actionId; + this.actionTimeCurrent = 0; + switch (actionId.type) { + case ActionTypes["Idle"]: + this.actionTimeToComplete = 0; + break; + case ActionTypes["Contract"]: + try { + var action = this.getActionObject(actionId); + if (action == null) { + throw new Error("Failed to get Contract Object for: " + actionId.name); + } + if (action.count < 1) {return this.resetAction();} + this.actionTimeToComplete = action.getActionTime(this); + } catch(e) { + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_23__["exceptionAlert"])(e); + } + break; + case ActionTypes["Operation"]: + try { + var action = this.getActionObject(actionId); + if (action == null) { + throw new Error ("Failed to get Operation Object for: " + actionId.name); + } + if (action.count < 1) {return this.resetAction();} + if (actionId.name === "Raid" && this.getCurrentCity().commsEst === 0) {return this.resetAction();} + this.actionTimeToComplete = action.getActionTime(this); + } catch(e) { + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_23__["exceptionAlert"])(e); + } + break; + case ActionTypes["BlackOp"]: + case ActionTypes["BlackOperation"]: + try { + // Safety measure - don't repeat BlackOps that are already done + if (this.blackops[actionId.name] != null) { + this.resetAction(); + this.log("Error: Tried to start a Black Operation that had already been completed"); + break; + } + + var action = this.getActionObject(actionId); + if (action == null) { + throw new Error("Failed to get BlackOperation object for: " + actionId.name); + } + this.actionTimeToComplete = action.getActionTime(this); + } catch(e) { + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_23__["exceptionAlert"])(e); + } + break; + case ActionTypes["Training"]: + this.actionTimeToComplete = 30; + break; + case ActionTypes["Recruitment"]: + this.actionTimeToComplete = this.getRecruitmentTime(); + break; + case ActionTypes["FieldAnalysis"]: + case ActionTypes["Field Analysis"]: + this.actionTimeToComplete = 30; + break; + default: + throw new Error("Invalid Action Type in Bladeburner.startAction(): " + actionId.type); + break; + } +} + +Bladeburner.prototype.processAction = function(seconds) { + if (this.action.type === ActionTypes["Idle"]) {return;} + if (this.actionTimeToComplete <= 0) { + console.log("action.type: " + this.action.type); + throw new Error("Invalid actionTimeToComplete value: " + this.actionTimeToComplete); + } + if (!(this.action instanceof ActionIdentifier)) { + throw new Error("Bladeburner.action is not an ActionIdentifier Object"); + } + + this.actionTimeCurrent += seconds; + if (this.actionTimeCurrent >= this.actionTimeToComplete) { + return this.completeAction(); + } +} + +Bladeburner.prototype.completeAction = function() { + switch (this.action.type) { + case ActionTypes["Contract"]: + case ActionTypes["Operation"]: + try { + var isOperation = (this.action.type === ActionTypes["Operation"]); + var action = this.getActionObject(this.action); + if (action == null) { + throw new Error("Failed to get Contract/Operation Object for: " + this.action.name); + } + var difficulty = action.getDifficulty(); + var difficultyMultiplier = Math.pow(difficulty, DiffMultExponentialFactor) + difficulty / DiffMultLinearFactor; + var rewardMultiplier = Math.pow(action.rewardFac, action.level-1); + + //Stamina loss is based on difficulty + this.stamina -= (BaseStaminaLoss * difficultyMultiplier); + if (this.stamina < 0) {this.stamina = 0;} + + //Process Contract/Operation success/failure + if (action.attempt(this)) { + this.gainActionStats(action, true); + ++action.successes; + --action.count; + + //Earn money for contracts + var moneyGain = 0; + if (!isOperation) { + moneyGain = ContractBaseMoneyGain * rewardMultiplier; + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainMoney(moneyGain); + } + + if (isOperation) { + action.setMaxLevel(OperationSuccessesPerLevel); + } else { + action.setMaxLevel(ContractSuccessesPerLevel); + } + if (action.rankGain) { + var gain = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__["addOffset"])(action.rankGain * rewardMultiplier * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"].BladeburnerRank, 10); + this.changeRank(gain); + if (isOperation && this.logging.ops) { + this.log(action.name + " successfully completed! Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(gain, 3) + " rank"); + } else if (!isOperation && this.logging.contracts) { + this.log(action.name + " contract successfully completed! Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(gain, 3) + " rank and " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_11__["numeralWrapper"].format(moneyGain, "$0.000a")); + } + } + isOperation ? this.completeOperation(true) : this.completeContract(true); + } else { + this.gainActionStats(action, false); + ++action.failures; + var loss = 0, damage = 0; + if (action.rankLoss) { + loss = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__["addOffset"])(action.rankLoss * rewardMultiplier, 10); + this.changeRank(-1 * loss); + } + if (action.hpLoss) { + damage = action.hpLoss * difficultyMultiplier; + damage = Math.ceil(Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__["addOffset"])(damage, 10)); + this.hpLost += damage; + if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].takeDamage(damage)) { + ++this.numHosp; + this.moneyLost += (_Constants__WEBPACK_IMPORTED_MODULE_3__["CONSTANTS"].HospitalCostPerHp * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].max_hp); + } + } + var logLossText = ""; + if (loss > 0) {logLossText += "Lost " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(loss, 3) + " rank.";} + if (damage > 0) {logLossText += "Took " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(damage, 0) + " damage.";} + if (isOperation && this.logging.ops) { + this.log(action.name + " failed! " + logLossText); + } else if (!isOperation && this.logging.contracts) { + this.log(action.name + " contract failed! " + logLossText); + } + isOperation ? this.completeOperation(false) : this.completeContract(false); + } + if (action.autoLevel) {action.level = action.maxLevel;} //Autolevel + this.startAction(this.action); //Repeat action + } catch(e) { + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_23__["exceptionAlert"])(e); + } + break; + case ActionTypes["BlackOp"]: + case ActionTypes["BlackOperation"]: + try { + var action = this.getActionObject(this.action); + if (action == null || !(action instanceof BlackOperation)) { + throw new Error("Failed to get BlackOperation Object for: " + this.action.name); + } + var difficulty = action.getDifficulty(); + var difficultyMultiplier = Math.pow(difficulty, DiffMultExponentialFactor) + difficulty / DiffMultLinearFactor; + + //Stamina loss is based on difficulty + this.stamina -= (BaseStaminaLoss * difficultyMultiplier); + if (this.stamina < 0) {this.stamina = 0;} + + //Team loss variables + var teamCount = action.teamCount, teamLossMax; + + if (action.attempt(this)) { + this.gainActionStats(action, true); + action.count = 0; + this.blackops[action.name] = true; + var rankGain = 0; + if (action.rankGain) { + rankGain = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__["addOffset"])(action.rankGain * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"].BladeburnerRank, 10); + this.changeRank(rankGain); + } + teamLossMax = Math.ceil(teamCount/2); + + //Operation Daedalus + if (action.name === "Operation Daedalus") { + this.resetAction(); + return Object(_RedPill__WEBPACK_IMPORTED_MODULE_10__[/* hackWorldDaemon */ "a"])(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bitNodeN); + } + + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["Page"].Bladeburner)) { + this.createActionAndSkillsContent(); + } + + if (this.logging.blackops) { + this.log(action.name + " successful! Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(rankGain, 1) + " rank"); + } + } else { + this.gainActionStats(action, false); + var rankLoss = 0, damage = 0; + if (action.rankLoss) { + rankLoss = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__["addOffset"])(action.rankLoss, 10); + this.changeRank(-1 * rankLoss); + } + if (action.hpLoss) { + damage = action.hpLoss * difficultyMultiplier; + damage = Math.ceil(Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_17__["addOffset"])(damage, 10)); + if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].takeDamage(damage)) { + ++this.numHosp; + this.moneyLost += (_Constants__WEBPACK_IMPORTED_MODULE_3__["CONSTANTS"].HospitalCostPerHp * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].max_hp); + } + } + teamLossMax = Math.floor(teamCount); + + if (this.logging.blackops) { + this.log(action.name + " failed! Lost " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(rankLoss, 1) + " rank and took " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(damage, 0) + " damage"); + } + } + + this.resetAction(); //Stop regardless of success or fail + + //Calculate team lossses + if (teamCount >= 1) { + var losses = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, teamLossMax); + this.teamSize -= losses; + this.teamLost += losses; + if (this.logging.blackops) { + this.log("You lost " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(losses, 0) + " team members during " + action.name); + } + } + } catch(e) { + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_23__["exceptionAlert"])(e); + } + break; + case ActionTypes["Training"]: + this.stamina -= (0.5 * BaseStaminaLoss); + var strExpGain = 30 * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].strength_exp_mult, + defExpGain = 30 * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].defense_exp_mult, + dexExpGain = 30 * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].dexterity_exp_mult, + agiExpGain = 30 * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].agility_exp_mult, + staminaGain = 0.04 * this.skillMultipliers.stamina; + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainStrengthExp(strExpGain); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainDefenseExp(defExpGain); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainDexterityExp(dexExpGain); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainAgilityExp(agiExpGain); + this.staminaBonus += (staminaGain); + if (this.logging.general) { + this.log("Training completed. Gained: " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(strExpGain, 1) + " str exp, " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(defExpGain, 1) + " def exp, " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(dexExpGain, 1) + " dex exp, " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(agiExpGain, 1) + " agi exp, " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(staminaGain, 3) + " max stamina"); + } + this.startAction(this.action); //Repeat action + break; + case ActionTypes["FieldAnalysis"]: + case ActionTypes["Field Analysis"]: + //Does not use stamina. Effectiveness depends on hacking, int, and cha + var eff = 0.04 * Math.pow(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].hacking_skill, 0.3) + + 0.04 * Math.pow(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].intelligence, 0.9) + + 0.02 * Math.pow(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].charisma, 0.3); + eff *= _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner_analysis_mult; + if (isNaN(eff) || eff < 0) { + throw new Error("Field Analysis Effectiveness calculated to be NaN or negative"); + } + var hackingExpGain = 20 * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].hacking_exp_mult, + charismaExpGain = 20 * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].charisma_exp_mult; + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainHackingExp(hackingExpGain); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainIntelligenceExp(BaseIntGain); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainCharismaExp(charismaExpGain); + this.changeRank(0.1 * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"].BladeburnerRank); + this.getCurrentCity().improvePopulationEstimateByPercentage(eff * this.skillMultipliers.successChanceEstimate); + if (this.logging.general) { + this.log("Field analysis completed. Gained 0.1 rank, " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(hackingExpGain, 1) + " hacking exp, and " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(charismaExpGain, 1) + " charisma exp"); + } + this.startAction(this.action); //Repeat action + break; + case ActionTypes["Recruitment"]: + var successChance = this.getRecruitmentSuccessChance(); + console.log("Bladeburner recruitment success chance: " + successChance); + if (Math.random() < successChance) { + var expGain = 2 * BaseStatGain * this.actionTimeToComplete; + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainCharismaExp(expGain); + ++this.teamSize; + if (this.logging.general) { + this.log("Successfully recruited a team member! Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(expGain, 1) + " charisma exp"); + } + } else { + var expGain = BaseStatGain * this.actionTimeToComplete; + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainCharismaExp(expGain); + if (this.logging.general) { + this.log("Failed to recruit a team member. Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(expGain, 1) + " charisma exp"); + } + } + this.startAction(this.action); //Repeat action + break; + default: + break; + } +} + +Bladeburner.prototype.completeContract = function(success) { + if (this.action.type !== ActionTypes.Contract) { + throw new Error("completeContract() called even though current action is not a Contract"); + } + var city = this.getCurrentCity(); + if (success) { + switch (this.action.name) { + case "Tracking": + //Increase estimate accuracy by a relatively small amount + city.improvePopulationEstimateByCount(Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(100, 1e3)); + break; + case "Bounty Hunter": + city.changePopulationByCount(-1, {estChange:-1}); + city.changeChaosByCount(0.02); + break; + case "Retirement": + city.changePopulationByCount(-1, {estChange:-1}); + city.changeChaosByCount(0.04); + break; + default: + throw new Error("Invalid Action name in completeContract: " + this.action.name); + } + } +} + +Bladeburner.prototype.completeOperation = function(success) { + if (this.action.type !== ActionTypes.Operation) { + throw new Error("completeOperation() called even though current action is not an Operation"); + } + var action = this.getActionObject(this.action); + if (action == null) { + throw new Error("Failed to get Contract/Operation Object for: " + this.action.name); + } + + //Calculate team losses + var teamCount = action.teamCount, max; + if (teamCount >= 1) { + if (success) { + max = Math.ceil(teamCount/2); + } else { + max = Math.floor(teamCount) + } + var losses = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(0, max); + this.teamSize -= losses; + this.teamLost += losses; + if (this.logging.ops && losses > 0) { + this.log("Lost " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(losses, 0) + " team members during this " + action.name); + } + } + + var city = this.getCurrentCity(); + switch (action.name) { + case "Investigation": + if (success) { + city.improvePopulationEstimateByPercentage(0.4 * this.skillMultipliers.successChanceEstimate); + if (Math.random() < (0.02 * this.skillMultipliers.successChanceEstimate)) { + city.improveCommunityEstimate(1); + } + } else { + this.triggerPotentialMigration(this.city, 0.1); + } + break; + case "Undercover Operation": + if (success) { + city.improvePopulationEstimateByPercentage(0.8 * this.skillMultipliers.successChanceEstimate); + if (Math.random() < (0.02 * this.skillMultipliers.successChanceEstimate)) { + city.improveCommunityEstimate(1); + } + } else { + this.triggerPotentialMigration(this.city, 0.15); + } + break; + case "Sting Operation": + if (success) { + city.changePopulationByPercentage(-0.1, {changeEstEqually:true, nonZero:true}); + } + city.changeChaosByCount(0.1); + break; + case "Raid": + if (success) { + city.changePopulationByPercentage(-1, {changeEstEqually:true, nonZero:true}); + --city.comms; + --city.commsEst; + } else { + var change = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(-3, -1); + city.changePopulationByPercentage(change, {nonZero:true}); + } + city.changeChaosByPercentage(Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(1, 5)); + break; + case "Stealth Retirement Operation": + if (success) { + city.changePopulationByPercentage(-0.5, {changeEstEqually:true,nonZero:true}); + } + city.changeChaosByPercentage(Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(-3, -1)); + break; + case "Assassination": + if (success) { + city.changePopulationByCount(-1, {estChange:-1}); + } + city.changeChaosByPercentage(Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(-5, 5)); + break; + default: + throw new Error("Invalid Action name in completeOperation: " + this.action.name); + } +} + +Bladeburner.prototype.getRecruitmentTime = function() { + var effCharisma = _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].charisma * this.skillMultipliers.effCha; + var charismaFactor = Math.pow(effCharisma, 0.81) + effCharisma / 90; + return Math.max(10, Math.round(BaseRecruitmentTimeNeeded - charismaFactor)); +} + +Bladeburner.prototype.getRecruitmentSuccessChance = function() { + return Math.pow(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].charisma, 0.45) / (this.teamSize + 1); +} + +//Process stat gains from Contracts, Operations, and Black Operations +//@action(Action obj) - Derived action class +//@success(bool) - Whether action was successful +Bladeburner.prototype.gainActionStats = function(action, success) { + var difficulty = action.getDifficulty(); + + //Gain multiplier based on difficulty. If this changes then the + //same variable calculated in completeAction() needs to change too + var difficultyMult = Math.pow(difficulty, DiffMultExponentialFactor) + difficulty / DiffMultLinearFactor; + + var time = this.actionTimeToComplete; + var successMult = success ? 1 : 0.5; + + var unweightedGain = time * BaseStatGain * successMult * difficultyMult; + var unweightedIntGain = time * BaseIntGain * successMult * difficultyMult; + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainHackingExp(unweightedGain * action.weights.hack * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].hacking_exp_mult); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainStrengthExp(unweightedGain * action.weights.str * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].strength_exp_mult); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainDefenseExp(unweightedGain * action.weights.def * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].defense_exp_mult); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainDexterityExp(unweightedGain * action.weights.dex * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].dexterity_exp_mult); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainAgilityExp(unweightedGain * action.weights.agi * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].agility_exp_mult); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainCharismaExp(unweightedGain * action.weights.cha * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].charisma_exp_mult); + _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gainIntelligenceExp(unweightedIntGain * action.weights.int); +} + +Bladeburner.prototype.randomEvent = function() { + var chance = Math.random(); + + //Choose random source/destination city for events + var sourceCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(0, 5)]; + var sourceCity = this.cities[sourceCityName]; + if (!(sourceCity instanceof City)) { + throw new Error("sourceCity was not a City object in Bladeburner.randomEvent()"); + } + + var destCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(0, 5)]; + while (destCityName === sourceCityName) { + destCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(0, 5)]; + } + var destCity = this.cities[destCityName]; + + if (!(sourceCity instanceof City) || !(destCity instanceof City)) { + throw new Error("sourceCity/destCity was not a City object in Bladeburner.randomEvent()"); + } + + if (chance <= 0.05) { + //New Synthoid Community, 5% + ++sourceCity.comms; + var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(10, 20) / 100; + var count = Math.round(sourceCity.pop * percentage); + sourceCity.pop += count; + if (this.logging.events) { + this.log("Intelligence indicates that a new Synthoid community was formed in a city"); + } + } else if (chance <= 0.1) { + //Synthoid Community Migration, 5% + if (sourceCity.comms <= 0) { + //If no comms in source city, then instead trigger a new Synthoid community event + ++sourceCity.comms; + var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(10, 20) / 100; + var count = Math.round(sourceCity.pop * percentage); + sourceCity.pop += count; + if (this.logging.events) { + this.log("Intelligence indicates that a new Synthoid community was formed in a city"); + } + } else { + --sourceCity.comms; + ++destCity.comms; + + //Change pop + var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(10, 20) / 100; + var count = Math.round(sourceCity.pop * percentage); + sourceCity.pop -= count; + destCity.pop += count; + + if (this.logging.events) { + this.log("Intelligence indicates that a Synthoid community migrated from " + sourceCityName + " to some other city"); + } + } + } else if (chance <= 0.3) { + //New Synthoids (non community), 20% + var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(8, 24) / 100; + var count = Math.round(sourceCity.pop * percentage); + sourceCity.pop += count; + if (this.logging.events) { + this.log("Intelligence indicates that the Synthoid population of " + sourceCityName + " just changed significantly"); + } + } else if (chance <= 0.5) { + //Synthoid migration (non community) 20% + this.triggerMigration(sourceCityName); + if (this.logging.events) { + this.log("Intelligence indicates that a large number of Synthoids migrated from " + sourceCityName + " to some other city"); + } + } else if (chance <= 0.7) { + //Synthoid Riots (+chaos), 20% + sourceCity.chaos += 1; + sourceCity.chaos *= (1 + Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(5, 10) / 100); + if (this.logging.events) { + this.log("Tensions between Synthoids and humans lead to riots in " + sourceCityName + "! Chaos increased"); + } + } else if (chance <= 0.9) { + //Less Synthoids, 20% + var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(5, 20) / 100; + var count = Math.round(sourceCity.pop * percentage); + sourceCity.pop -= count; + if (this.logging.events) { + this.log("Intelligence indicates that the Synthoid population of " + sourceCityName + " just changed significantly"); + } + } + //20% chance of nothing happening +} + +Bladeburner.prototype.triggerPotentialMigration = function(sourceCityName, chance) { + if (chance == null || isNaN(chance)) { + console.log("ERROR: Invalid 'chance' parameter passed into Bladeburner.triggerPotentialMigration()"); + } + if (chance > 1) {chance /= 100;} + if (Math.random() < chance) {this.triggerMigration(sourceCityName);} +} + +Bladeburner.prototype.triggerMigration = function(sourceCityName) { + var destCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(0, 5)]; + while (destCityName === sourceCityName) { + destCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(0, 5)]; + } + var destCity = this.cities[destCityName]; + var sourceCity = this.cities[sourceCityName]; + if (destCity == null || sourceCity == null) { + throw new Error("Failed to find City with name: " + destCityName); + } + var rand = Math.random(), percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(3, 15) / 100; + + if (rand < 0.05 && sourceCity.comms > 0) { //5% chance for community migration + percentage *= Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_25__["getRandomInt"])(2, 4); //Migration increases population change + --sourceCity.comms; + ++destCity.comms; + } + var count = Math.round(sourceCity.pop * percentage); + sourceCity.pop -= count; + destCity.pop += count; +} + +var DomElems = {}; + +Bladeburner.prototype.initializeDomElementRefs = function() { + DomElems = { + bladeburnerDiv: null, + + //Main Divs + overviewConsoleParentDiv: null, + + overviewDiv: null, //Overview of stats that stays fixed on left + actionAndSkillsDiv: null, //Panel for different sections (contracts, ops, skills) + currentTab: null, //Contracts, Operations, Black Ops, Skills + + consoleDiv: null, + consoleTable: null, + consoleInputRow: null, //tr + consoleInputCell: null, //td + consoleInputHeader: null, //"> " + consoleInput: null, //Actual input element + + //Overview Content + overviewRank: null, + overviewStamina: null, + overviewStaminaHelpTip: null, + overviewGen1: null, //Stamina Penalty, Team, Hospitalized stats, current city + overviewEstPop: null, + overviewEstPopHelpTip: null, + overviewEstComms: null, + overviewChaos: null, + overviewSkillPoints: null, + overviewBonusTime: null, + overviewAugSuccessMult: null, + overviewAugMaxStaminaMult: null, + overviewAugStaminaGainMult: null, + overviewAugAnalysisMult: null, + + //Actions and Skills Content + actionsAndSkillsDesc: null, + actionsAndSkillsList: null, //ul element of all UI elements in this panel + generalActions: {}, + contracts: {}, + operations: {}, + blackops: {}, + skills: {}, + skillPointsDisplay: null, + }; +} + +Bladeburner.prototype.createContent = function() { + DomElems.bladeburnerDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + id:"bladeburner-container", position:"fixed", class:"generic-menupage-container", + }); + + //Parent Div for Overview and Console + DomElems.overviewConsoleParentDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + height:"60%", display:"block", position:"relative", + }); + + //Overview and Action/Skill pane + DomElems.overviewDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + width:"30%", display:"inline-block", border:"1px solid white", + }); + + DomElems.actionAndSkillsDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + height:"60%", width:"70%", display:"block", + border:"1px solid white", margin:"6px", padding:"6px", + }); + + DomElems.currentTab = "general"; + + this.createOverviewContent(); + this.createActionAndSkillsContent(); + + //Console + DomElems.consoleDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + class:"bladeburner-console-div", + clickListener:()=>{ + if (DomElems.consoleInput instanceof Element) { + DomElems.consoleInput.focus(); + } + return false; + } + }); + DomElems.consoleTable = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("table", {class:"bladeburner-console-table"}); + DomElems.consoleInputRow = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("tr", {class:"bladeburner-console-input-row", id:"bladeubrner-console-input-row"}); + DomElems.consoleInputCell = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("td", {class:"bladeburner-console-input-cell"}); + DomElems.consoleInputHeader = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("pre", {innerText:"> "}); + DomElems.consoleInput = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("input", { + type:"text", class:"bladeburner-console-input", tabIndex:1, + onfocus:()=>{DomElems.consoleInput.value = DomElems.consoleInput.value} + }); + + DomElems.consoleInputCell.appendChild(DomElems.consoleInputHeader); + DomElems.consoleInputCell.appendChild(DomElems.consoleInput); + DomElems.consoleInputRow.appendChild(DomElems.consoleInputCell); + DomElems.consoleTable.appendChild(DomElems.consoleInputRow); + DomElems.consoleDiv.appendChild(DomElems.consoleTable); + + DomElems.overviewConsoleParentDiv.appendChild(DomElems.overviewDiv); + DomElems.overviewConsoleParentDiv.appendChild(DomElems.consoleDiv); + DomElems.bladeburnerDiv.appendChild(DomElems.overviewConsoleParentDiv); + DomElems.bladeburnerDiv.appendChild(DomElems.actionAndSkillsDiv); + + document.getElementById("entire-game-container").appendChild(DomElems.bladeburnerDiv); + + if (this.consoleLogs.length === 0) { + this.postToConsole("Bladeburner Console BETA"); + this.postToConsole("Type 'help' to see console commands"); + } else { + for (let i = 0; i < this.consoleLogs.length; ++i) { + this.postToConsole(this.consoleLogs[i], false); + } + } + + DomElems.consoleInput.focus(); +} + +Bladeburner.prototype.clearContent = function() { + if (DomElems.bladeburnerDiv instanceof Element) { + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(DomElems.bladeburnerDiv); + Object(_utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_27__["removeElement"])(DomElems.bladeburnerDiv); + } + Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_19__["clearObject"])(DomElems); + this.initializeDomElementRefs(); +} + +Bladeburner.prototype.createOverviewContent = function() { + if (DomElems.overviewDiv == null) { + throw new Error("Bladeburner.createOverviewContent() called with DomElems.overviewDiv = null"); + } + + DomElems.overviewRank = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + innerText:"Rank: ", + display:"inline-block", + tooltip:"Your rank within the Bladeburner division", + }); + + DomElems.overviewStamina = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"inline-block", + }); + + DomElems.overviewStaminaHelpTip = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + class:"help-tip", + innerText:"?", + clickListener: ()=> { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("Performing actions will use up your stamina.

" + + "Your max stamina is determined primarily by your agility stat.

" + + "Your stamina gain rate is determined by both your agility and your " + + "max stamina. Higher max stamina leads to a higher gain rate.

" + + "Once your " + + "stamina falls below 50% of its max value, it begins to negatively " + + "affect the success rate of your contracts/operations. This penalty " + + "is shown in the overview panel. If the penalty is 15%, then this means " + + "your success rate would be multipled by 85% (100 - 15).

" + + "Your max stamina and stamina gain rate can also be increased by " + + "training, or through skills and Augmentation upgrades."); + }, + }); + + DomElems.overviewGen1 = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"block", + }); + + DomElems.overviewEstPop = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + innerText:"Est. Synthoid Population: ", + display:"inline-block", + tooltip:"This is your Bladeburner division's estimate of how many Synthoids exist " + + "in your current city." + }); + + DomElems.overviewEstPopHelpTip = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + innerText:"?", class:"help-tip", + clickListener:()=>{ + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("The success rate of your contracts/operations depends on " + + "the population of Synthoids in your current city. " + + "The success rate that is shown to you is only an estimate, " + + "and it is based on your Synthoid population estimate.

" + + "Therefore, it is important that this Synthoid population estimate " + + "is accurate so that you have a better idea of your " + + "success rate for contracts/operations. Certain " + + "actions will increase the accuracy of your population " + + "estimate.

" + + "The Synthoid populations of cities can change due to your " + + "actions or random events. If random events occur, they will " + + "be logged in the Bladeburner Console."); + } + }); + + DomElems.overviewEstComms = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + innerText:"Est. Synthoid Communities: ", + display:"inline-block", + tooltip:"This is your Bladeburner divison's estimate of how many Synthoid " + + "communities exist in your current city.", + }); + + DomElems.overviewChaos = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + innerText:"City Chaos: ", + display:"inline-block", + tooltip:"The city's chaos level due to tensions and conflicts between humans and Synthoids. " + + "Having too high of a chaos level can make contracts and operations harder." + }); + + DomElems.overviewBonusTime = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + innerText: "Bonus time: ", + display: "inline-block", + tooltip: "You gain bonus time while offline or when the game is inactive (e.g. when the tab is throttled by browser). " + + "Bonus time makes the Bladeburner mechanic progress faster, up to 5x the normal speed." + }); + DomElems.overviewSkillPoints = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", {display:"block"}); + + + DomElems.overviewAugSuccessMult = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", {display:"block"}); + DomElems.overviewAugMaxStaminaMult = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", {display:"block"}); + DomElems.overviewAugStaminaGainMult = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", {display:"block"}); + DomElems.overviewAugAnalysisMult = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", {display:"block"}); + + + DomElems.overviewDiv.appendChild(DomElems.overviewRank); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(DomElems.overviewDiv, 1); + DomElems.overviewDiv.appendChild(DomElems.overviewStamina); + DomElems.overviewDiv.appendChild(DomElems.overviewStaminaHelpTip); + DomElems.overviewDiv.appendChild(DomElems.overviewGen1); + DomElems.overviewDiv.appendChild(DomElems.overviewEstPop); + DomElems.overviewDiv.appendChild(DomElems.overviewEstPopHelpTip); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(DomElems.overviewDiv, 1); + DomElems.overviewDiv.appendChild(DomElems.overviewEstComms); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(DomElems.overviewDiv, 1); + DomElems.overviewDiv.appendChild(DomElems.overviewChaos); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(DomElems.overviewDiv, 2); + DomElems.overviewDiv.appendChild(DomElems.overviewBonusTime); + DomElems.overviewDiv.appendChild(DomElems.overviewSkillPoints); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(DomElems.overviewDiv, 1); + DomElems.overviewDiv.appendChild(DomElems.overviewAugSuccessMult); + DomElems.overviewDiv.appendChild(DomElems.overviewAugMaxStaminaMult); + DomElems.overviewDiv.appendChild(DomElems.overviewAugStaminaGainMult); + DomElems.overviewDiv.appendChild(DomElems.overviewAugAnalysisMult); + + //Travel to new city button + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(DomElems.overviewDiv, 1); + DomElems.overviewDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerHTML:"Travel", class:"a-link-button", display:"inline-block", + clickListener:()=>{ + var popupId = "bladeburner-travel-popup-cancel-btn"; + var popupArguments = []; + popupArguments.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { //Cancel Button + innerText:"Cancel", class:"a-link-button", + clickListener:()=>{ + Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_28__["removeElementById"])(popupId); return false; + } + })) + popupArguments.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { //Info Text + innerText:"Travel to a different city for your Bladeburner " + + "activities. This does not cost any money. The city you are " + + "in for your Bladeburner duties does not affect " + + "your location in the game otherwise", + })); + for (var i = 0; i < CityNames.length; ++i) { + (function(inst, i) { + popupArguments.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + //Reusing this css class...it adds a border and makes it + //so that background color changes when you hover + class:"cmpy-mgmt-find-employee-option", + innerText:CityNames[i], + clickListener:()=>{ + inst.city = CityNames[i]; + Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_28__["removeElementById"])(popupId); + inst.updateOverviewContent(); + return false; + } + })); + })(this, i); + } + Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_21__["createPopup"])(popupId, popupArguments); + } + })); + + //Faction button + const bladeburnersFactionName = "Bladeburners"; + if (Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_6__["factionExists"])(bladeburnersFactionName)) { + var bladeburnerFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_6__["Factions"][bladeburnersFactionName]; + if (!(bladeburnerFac instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_5__["Faction"])) { + throw new Error("Could not properly get Bladeburner Faction object in Bladeburner UI Overview Faction button"); + } + DomElems.overviewDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:"Faction", class:"a-link-button", display:"inline-block", + tooltip:"Apply to the Bladeburner Faction, or go to the faction page if you are already a member", + clickListener:()=>{ + if (bladeburnerFac.isMember) { + _engine__WEBPACK_IMPORTED_MODULE_4__["Engine"].loadFactionContent(); + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_7__[/* displayFactionContent */ "a"])(bladeburnersFactionName); + } else { + if (this.rank >= RankNeededForFaction) { + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_7__[/* joinFaction */ "c"])(bladeburnerFac); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("Congratulations! You were accepted into the Bladeburners faction"); + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(DomElems.overviewDiv); + this.createOverviewContent(); + } else { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("You need a rank of 25 to join the Bladeburners Faction!") + } + } + return false; + } + })); + } + + DomElems.overviewDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("br")); + DomElems.overviewDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("br")); + + this.updateOverviewContent(); +} + +Bladeburner.prototype.createActionAndSkillsContent = function() { + if (DomElems.currentTab == null) {DomElems.currentTab = "general";} + + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(DomElems.actionAndSkillsDiv); + Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_19__["clearObject"])(DomElems.generalActions); + Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_19__["clearObject"])(DomElems.contracts); + Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_19__["clearObject"])(DomElems.operations); + Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_19__["clearObject"])(DomElems.blackops); + Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_19__["clearObject"])(DomElems.skills); + + //Navigation buttons + var currTab = DomElems.currentTab.toLowerCase(); + var buttons = ["General", "Contracts", "Operations", "BlackOps", "Skills"]; + for (var i = 0; i < buttons.length; ++i) { + (function(buttons, i, inst, currTab) { + + DomElems.actionAndSkillsDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:buttons[i], + class:currTab === buttons[i].toLowerCase() ? "bladeburner-nav-button-inactive" : "bladeburner-nav-button", + clickListener:()=>{ + DomElems.currentTab = buttons[i].toLowerCase(); + inst.createActionAndSkillsContent(); + return false; + } + })); + }) (buttons, i, this, currTab); + } + + //General info/description for each action + DomElems.actionsAndSkillsDesc = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"block", margin:"4px", padding:"4px" + }); + + //List for actions/skills + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(DomElems.actionsAndSkillsList); + DomElems.actionsAndSkillsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("ul"); + + switch(currTab) { + case "general": + this.createGeneralActionsContent(); + break; + case "contracts": + this.createContractsContent(); + break; + case "operations": + this.createOperationsContent(); + break; + case "blackops": + this.createBlackOpsContent(); + break; + case "skills": + this.createSkillsContent(); + break; + default: + throw new Error("Invalid value for DomElems.currentTab in Bladeburner.createActionAndSkillsContent"); + } + this.updateContent(); + + DomElems.actionAndSkillsDiv.appendChild(DomElems.actionsAndSkillsDesc); + DomElems.actionAndSkillsDiv.appendChild(DomElems.actionsAndSkillsList); +} + +Bladeburner.prototype.createGeneralActionsContent = function() { + if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { + throw new Error("Bladeburner.createGeneralActionsContent called with either " + + "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); + } + + DomElems.actionsAndSkillsDesc.innerText = + "These are generic actions that will assist you in your Bladeburner " + + "duties. They will not affect your Bladeburner rank in any way." + + for (var actionName in GeneralActions) { + if (GeneralActions.hasOwnProperty(actionName)) { + DomElems.generalActions[actionName] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + class:"bladeburner-action", name:actionName + }); + DomElems.actionsAndSkillsList.appendChild(DomElems.generalActions[actionName]); + } + } +} + +Bladeburner.prototype.createContractsContent = function() { + if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { + throw new Error("Bladeburner.createContractsContent called with either " + + "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); + } + + DomElems.actionsAndSkillsDesc.innerHTML = + "Complete contracts in order to increase your Bladeburner rank and earn money. " + + "Failing a contract will cause you to lose HP, which can lead to hospitalization.

" + + "You can unlock higher-level contracts by successfully completing them. " + + "Higher-level contracts are more difficult, but grant more rank, experience, and money."; + + for (var contractName in this.contracts) { + if (this.contracts.hasOwnProperty(contractName)) { + DomElems.contracts[contractName] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + class:"bladeburner-action", name:contractName + }); + DomElems.actionsAndSkillsList.appendChild(DomElems.contracts[contractName]); + } + } +} + +Bladeburner.prototype.createOperationsContent = function() { + if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { + throw new Error("Bladeburner.createOperationsContent called with either " + + "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); + } + + DomElems.actionsAndSkillsDesc.innerHTML = + "Carry out operations for the Bladeburner division. " + + "Failing an operation will reduce your Bladeburner rank. It will also " + + "cause you to lose HP, which can lead to hospitalization. In general, " + + "operations are harder and more punishing than contracts, " + + "but are also more rewarding.

" + + "Operations can affect the chaos level and Synthoid population of your " + + "current city. The exact effects vary between different Operations.

" + + "For operations, you can use a team. You must first recruit team members. " + + "Having a larger team will improves your chances of success.

" + + "You can unlock higher-level operations by successfully completing them. " + + "Higher-level operations are more difficult, but grant more rank and experience."; + + for (var operationName in this.operations) { + if (this.operations.hasOwnProperty(operationName)) { + DomElems.operations[operationName] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + class:"bladeburner-action", name:operationName + }); + DomElems.actionsAndSkillsList.appendChild(DomElems.operations[operationName]); + } + } +} + +Bladeburner.prototype.createBlackOpsContent = function() { + if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { + throw new Error("Bladeburner.createBlackOpsContent called with either " + + "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); + } + + DomElems.actionsAndSkillsDesc.innerHTML = + "Black Operations (Black Ops) are special, one-time covert operations. " + + "Each Black Op must be unlocked successively by completing " + + "the one before it.

" + + "Your ultimate goal to climb through the ranks of Bladeburners is to complete " + + "all of the Black Ops.

" + + "Like normal operations, you may use a team for Black Ops. Failing " + + "a black op will incur heavy HP and rank losses."; + + //Put Black Operations in sequence of required rank + var blackops = []; + for (var blackopName in BlackOperations) { + if (BlackOperations.hasOwnProperty(blackopName)) { + blackops.push(BlackOperations[blackopName]); + } + } + blackops.sort(function(a, b) { + return (a.reqdRank - b.reqdRank); + }); + + for (var i = 0; i < blackops.length; ++i) { + DomElems.blackops[blackops[i].name] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + class:"bladeburner-action", name:blackops[i].name + }); + DomElems.actionsAndSkillsList.appendChild(DomElems.blackops[blackops[i].name]); + if (this.blackops[[blackops[i].name]] == null) {break;} //Can't be found in completed blackops + } +} + +Bladeburner.prototype.createSkillsContent = function() { + if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { + throw new Error("Bladeburner.createSkillsContent called with either " + + "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); + } + + //Display Current multipliers + DomElems.actionsAndSkillsDesc.innerHTML = + "You will gain one skill point every " + RanksPerSkillPoint + " ranks.

" + + "Note that when upgrading a skill, the benefit for that skill is additive. " + + "However, the effects of different skills with each other is multiplicative.

" + var multKeys = Object.keys(this.skillMultipliers); + for (var i = 0; i < multKeys.length; ++i) { + var mult = this.skillMultipliers[multKeys[i]]; + if (mult && mult !== 1) { + mult = Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(mult, 3); + switch(multKeys[i]) { + case "successChanceAll": + DomElems.actionsAndSkillsDesc.innerHTML += "Total Success Chance: x" + mult + "
"; + break; + case "successChanceStealth": + DomElems.actionsAndSkillsDesc.innerHTML += "Stealth Success Chance: x" + mult + "
"; + break; + case "successChanceKill": + DomElems.actionsAndSkillsDesc.innerHTML += "Retirement Success Chance: x" + mult + "
"; + break; + case "successChanceContract": + DomElems.actionsAndSkillsDesc.innerHTML += "Contract Success Chance: x" + mult + "
"; + break; + case "successChanceOperation": + DomElems.actionsAndSkillsDesc.innerHTML += "Operation Success Chance: x" + mult + "
"; + break; + case "successChanceEstimate": + DomElems.actionsAndSkillsDesc.innerHTML += "Synthoid Data Estimate: x" + mult + "
"; + break; + case "actionTime": + DomElems.actionsAndSkillsDesc.innerHTML += "Action Time: x" + mult + "
"; + break; + case "effHack": + DomElems.actionsAndSkillsDesc.innerHTML += "Hacking Skill: x" + mult + "
"; + break; + case "effStr": + DomElems.actionsAndSkillsDesc.innerHTML += "Strength: x" + mult + "
"; + break; + case "effDef": + DomElems.actionsAndSkillsDesc.innerHTML += "Defense: x" + mult + "
"; + break; + case "effDex": + DomElems.actionsAndSkillsDesc.innerHTML += "Dexterity: x" + mult + "
"; + break; + case "effAgi": + DomElems.actionsAndSkillsDesc.innerHTML += "Agility: x" + mult + "
"; + break; + case "effCha": + DomElems.actionsAndSkillsDesc.innerHTML += "Charisma: x" + mult + "
"; + break; + case "effInt": + DomElems.actionsAndSkillsDesc.innerHTML += "Intelligence: x" + mult + "
"; + break; + case "stamina": + DomElems.actionsAndSkillsDesc.innerHTML += "Stamina: x" + mult + "
"; + break; + case "weaponAbility": + //DomElems.actionsAndSkillsDesc.innerHTML += + break; + case "gunAbility": + //DomElems.actionsAndSkillsDesc.innerHTML + break; + default: + console.log("Warning: Unrecognized SkillMult Key: " + multKeys[i]); + break; + } + } + } + + //Skill Points + DomElems.skillPointsDisplay = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + innerHTML:"
Skill Points: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.skillPoints, 0) + "" + }); + DomElems.actionAndSkillsDiv.appendChild(DomElems.skillPointsDisplay); + + //UI Element for each skill + for (var skillName in Skills) { + if (Skills.hasOwnProperty(skillName)) { + DomElems.skills[skillName] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("div", { + class:"bladeburner-action", name:skillName + }); + DomElems.actionsAndSkillsList.appendChild(DomElems.skills[skillName]); + } + } +} + +Bladeburner.prototype.updateContent = function() { + this.updateOverviewContent(); + this.updateActionAndSkillsContent(); +} + +Bladeburner.prototype.updateOverviewContent = function() { + if (!_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["Page"].Bladeburner)) {return;} + DomElems.overviewRank.childNodes[0].nodeValue = "Rank: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.rank, 2); + DomElems.overviewStamina.innerText = "Stamina: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.stamina, 3) + " / " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.maxStamina, 3); + DomElems.overviewGen1.innerHTML = + "Stamina Penalty: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])((1-this.calculateStaminaPenalty())*100, 1) + "%

" + + "Team Size: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.teamSize, 0) + "
" + + "Team Members Lost: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.teamLost, 0) + "

" + + "Num Times Hospitalized: " + this.numHosp + "
" + + "Money Lost From Hospitalizations: " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_11__["numeralWrapper"].format(this.moneyLost, "$0.000a") + "

" + + "Current City: " + this.city + "
"; + + DomElems.overviewEstPop.childNodes[0].nodeValue = "Est. Synthoid Population: " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_11__["numeralWrapper"].format(this.getCurrentCity().popEst, "0.000a"); + DomElems.overviewEstComms.childNodes[0].nodeValue = "Est. Synthoid Communities: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.getCurrentCity().comms, 0); + DomElems.overviewChaos.childNodes[0].nodeValue = "City Chaos: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.getCurrentCity().chaos); + DomElems.overviewSkillPoints.innerText = "Skill Points: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.skillPoints, 0); + DomElems.overviewBonusTime.childNodes[0].nodeValue = "Bonus time: " + this.storedCycles/CyclesPerSecond; + DomElems.overviewAugSuccessMult.innerText = "Aug. Success Chance Mult: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner_success_chance_mult*100, 1) + "%"; + DomElems.overviewAugMaxStaminaMult.innerText = "Aug. Max Stamina Mult: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner_max_stamina_mult*100, 1) + "%"; + DomElems.overviewAugStaminaGainMult.innerText = "Aug. Stamina Gain Mult: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner_stamina_gain_mult*100, 1) + "%"; + DomElems.overviewAugAnalysisMult.innerText = "Aug. Field Analysis Mult: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bladeburner_analysis_mult*100, 1) + "%"; +} + +Bladeburner.prototype.updateActionAndSkillsContent = function() { + if (DomElems.currentTab == null) {DomElems.currentTab = "general";} + switch(DomElems.currentTab.toLowerCase()) { + case "general": + var actionElems = Object.keys(DomElems.generalActions); + for (var i = 0; i < actionElems.length; ++i) { + var actionElem = DomElems.generalActions[actionElems[i]]; + var name = actionElem.name; + var actionObj = GeneralActions[name]; + if (actionObj == null) { + throw new Error("Could not find Object " + name + " in Bladeburner.updateActionAndSkillsContent()"); + } + if (this.action.type === ActionTypes[name]) { + actionElem.classList.add(ActiveActionCssClass); + } else { + actionElem.classList.remove(ActiveActionCssClass); + } + this.updateGeneralActionsUIElement(actionElem, actionObj); + } + break; + case "contracts": + var contractElems = Object.keys(DomElems.contracts); + for (var i = 0; i < contractElems.length; ++i) { + var contractElem = DomElems.contracts[contractElems[i]]; + var name = contractElem.name; + if (this.action.type === ActionTypes["Contract"] && name === this.action.name) { + contractElem.classList.add(ActiveActionCssClass); + } else { + contractElem.classList.remove(ActiveActionCssClass); + } + var contract = this.contracts[name]; + if (contract == null) { + throw new Error("Could not find Contract " + name + " in Bladeburner.updateActionAndSkillsContent()"); + } + this.updateContractsUIElement(contractElem, contract); + } + break; + case "operations": + var operationElems = Object.keys(DomElems.operations); + for (var i = 0; i < operationElems.length; ++i) { + var operationElem = DomElems.operations[operationElems[i]]; + var name = operationElem.name; + if (this.action.type === ActionTypes["Operation"] && name === this.action.name) { + operationElem.classList.add(ActiveActionCssClass); + } else { + operationElem.classList.remove(ActiveActionCssClass); + } + var operation = this.operations[name]; + if (operation == null) { + throw new Error("Could not find Operation " + name + " in Bladeburner.updateActionAndSkillsContent()"); + } + this.updateOperationsUIElement(operationElem, operation); + } + break; + case "blackops": + var blackopsElems = Object.keys(DomElems.blackops); + for (var i = 0; i < blackopsElems.length; ++i) { + var blackopElem = DomElems.blackops[blackopsElems[i]]; + var name = blackopElem.name; + if (this.action.type === ActionTypes["BlackOperation"] && name === this.action.name) { + blackopElem.classList.add(ActiveActionCssClass); + } else { + blackopElem.classList.remove(ActiveActionCssClass); + } + var blackop = BlackOperations[name]; + if (blackop == null) { + throw new Error("Could not find BlackOperation " + name + " in Bladeburner.updateActionAndSkillsContent()"); + } + this.updateBlackOpsUIElement(blackopElem, blackop); + } + break; + case "skills": + DomElems.skillPointsDisplay.innerHTML = "
Skill Points: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.skillPoints, 0) + ""; + + var skillElems = Object.keys(DomElems.skills); + for (var i = 0; i < skillElems.length; ++i) { + var skillElem = DomElems.skills[skillElems[i]]; + var name = skillElem.name; + var skill = Skills[name]; + if (skill == null) { + throw new Error("Could not find Skill " + name + " in Bladeburner.updateActionAndSkillsContent()"); + } + this.updateSkillsUIElement(skillElem, skill); + } + break; + default: + throw new Error("Invalid value for DomElems.currentTab in Bladeburner.createActionAndSkillsContent"); + } +} + +Bladeburner.prototype.updateGeneralActionsUIElement = function(el, action) { + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(el); + var isActive = el.classList.contains(ActiveActionCssClass); + + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("h2", { //Header + innerText:isActive ? action.name + " (IN PROGRESS - " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.actionTimeCurrent, 0) + " / " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.actionTimeToComplete, 0) + ")" + : action.name, + display:"inline-block", + })); + + if (isActive) { //Progress bar if its active + var progress = this.actionTimeCurrent / this.actionTimeToComplete; + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"block", + innerText:Object(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_13__["createProgressBarText"])({progress:progress}) + })); + } else { + //Start button + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:"Start", class: "a-link-button", + margin:"3px", padding:"3px", + clickListener:()=>{ + this.action.type = ActionTypes[action.name]; + this.action.name = action.name; + this.startAction(this.action); + this.updateActionAndSkillsContent(); + return false; + } + })); + } + + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(el, 2); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("pre", { //Info + innerHTML:action.desc, display:"inline-block" + })); + + +} + +Bladeburner.prototype.updateContractsUIElement = function(el, action) { + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(el); + var isActive = el.classList.contains(ActiveActionCssClass); + var estimatedSuccessChance = action.getSuccessChance(this, {est:true}); + + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("h2", { //Header + innerText:isActive ? action.name + " (IN PROGRESS - " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.actionTimeCurrent, 0) + " / " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.actionTimeToComplete, 0) + ")" + : action.name, + display:"inline-block" + })); + + if (isActive) { //Progress bar if its active + var progress = this.actionTimeCurrent / this.actionTimeToComplete; + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"block", + innerText:Object(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_13__["createProgressBarText"])({progress:progress}) + })); + } else { //Start button + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:"Start", class: "a-link-button", + padding:"3px", margin:"3px", + clickListener:()=>{ + this.action.type = ActionTypes.Contract; + this.action.name = action.name; + this.startAction(this.action); + this.updateActionAndSkillsContent(); + return false; + } + })); + } + + //Level and buttons to change level + var maxLevel = (action.level >= action.maxLevel); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(el, 2); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("pre", { + display:"inline-block", + innerText:"Level: " + action.level + " / " + action.maxLevel, + tooltip:action.getSuccessesNeededForNextLevel(ContractSuccessesPerLevel) + " successes " + + "needed for next level" + })); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + class: maxLevel ? "a-link-button-inactive" : "a-link-button", innerHTML:"↑", + padding:"2px", margin:"2px", + tooltip: isActive ? "WARNING: changing the level will restart the contract" : "", + display:"inline", + clickListener:()=>{ + ++action.level; + if (isActive) {this.startAction(this.action);} //Restart Action + this.updateContractsUIElement(el, action); + return false; + } + })); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + class: (action.level <= 1) ? "a-link-button-inactive" : "a-link-button", innerHTML:"↓", + padding:"2px", margin:"2px", + tooltip: isActive ? "WARNING: changing the level will restart the contract" : "", + display:"inline", + clickListener:()=>{ + --action.level; + if (isActive) {this.startAction(this.action);} //Restart Action + this.updateContractsUIElement(el, action); + return false; + } + })); + + var actionTime = action.getActionTime(this); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(el, 2); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("pre", { //Info + display:"inline-block", + innerHTML:action.desc + "\n\n" + + "Estimated success chance: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(estimatedSuccessChance*100, 1) + "%\n" + + "Time Required (s): " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(actionTime, 0) + "\n" + + "Contracts remaining: " + Math.floor(action.count) + "\n" + + "Successes: " + action.successes + "\n" + + "Failures: " + action.failures, + })); + + //Autolevel Checkbox + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("br")); + var autolevelCheckboxId = "bladeburner-" + action.name + "-autolevel-checkbox"; + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("label", { + for:autolevelCheckboxId, innerText:"Autolevel",color:"white", + tooltip:"Automatically increase contract level when possible" + })); + var autolevelCheckbox = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("input", { + type:"checkbox", id:autolevelCheckboxId, margin:"4px", + checked:action.autoLevel, + changeListener:()=>{ + action.autoLevel = autolevelCheckbox.checked; + } + }); + el.appendChild(autolevelCheckbox); +} + +Bladeburner.prototype.updateOperationsUIElement = function(el, action) { + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(el); + var isActive = el.classList.contains(ActiveActionCssClass); + var estimatedSuccessChance = action.getSuccessChance(this, {est:true}); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("h2", { //Header + innerText:isActive ? action.name + " (IN PROGRESS - " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.actionTimeCurrent, 0) + " / " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.actionTimeToComplete, 0) + ")" + : action.name, + display:"inline-block" + })); + + if (isActive) { //Progress bar if its active + var progress = this.actionTimeCurrent / this.actionTimeToComplete; + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"block", + innerText:Object(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_13__["createProgressBarText"])({progress:progress}) + })); + } else { //Start button and set Team Size button + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:"Start", class: "a-link-button", + margin:"3px", padding:"3px", + clickListener:()=>{ + this.action.type = ActionTypes.Operation; + this.action.name = action.name; + this.startAction(this.action); + this.updateActionAndSkillsContent(); + return false; + } + })); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:"Set Team Size (Curr Size: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(action.teamCount, 0) + ")", class:"a-link-button", + margin:"3px", padding:"3px", + clickListener:()=>{ + var popupId = "bladeburner-operation-set-team-size-popup"; + var txt = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + innerText:"Enter the amount of team members you would like to take on these " + + "operations. If you do not have the specified number of team members, " + + "then as many as possible will be used. Note that team members may " + + "be lost during operations." + + }); + var input = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("input", { + type:"number", placeholder: "Team Members" + }); + var setBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:"Confirm", class:"a-link-button", + clickListener:()=>{ + var num = Math.round(parseFloat(input.value)); + if (isNaN(num)) { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("Invalid value entered for number of Team Members (must be numeric)") + } else { + action.teamCount = num; + this.updateOperationsUIElement(el, action); + } + Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_28__["removeElementById"])(popupId); + return false; + } + }); + var cancelBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:"Cancel", class:"a-link-button", + clickListener:()=>{ + Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_28__["removeElementById"])(popupId); + return false; + } + }); + Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_21__["createPopup"])(popupId, [txt, input, setBtn, cancelBtn]); + } + })); + } + + //Level and buttons to change level + var maxLevel = (action.level >= action.maxLevel); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(el, 2); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("pre", { + display:"inline-block", + innerText:"Level: " + action.level + " / " + action.maxLevel, + tooltip:action.getSuccessesNeededForNextLevel(OperationSuccessesPerLevel) + " successes " + + "needed for next level" + })); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + class: maxLevel ? "a-link-button-inactive" : "a-link-button", innerHTML:"↑", + padding:"2px", margin:"2px", + tooltip: isActive ? "WARNING: changing the level will restart the Operation" : "", + display:"inline", + clickListener:()=>{ + ++action.level; + if (isActive) {this.startAction(this.action);} //Restart Action + this.updateOperationsUIElement(el, action); + return false; + } + })); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + class: (action.level <= 1) ? "a-link-button-inactive" : "a-link-button", innerHTML:"↓", + padding:"2px", margin:"2px", + tooltip: isActive ? "WARNING: changing the level will restart the Operation" : "", + display:"inline", + clickListener:()=>{ + --action.level; + if (isActive) {this.startAction(this.action);} //Restart Action + this.updateOperationsUIElement(el, action); + return false; + } + })); + + //General Info + var difficulty = action.getDifficulty(); + var actionTime = action.getActionTime(this); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(el, 2); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("pre", { + display:"inline-block", + innerHTML:action.desc + "\n\n" + + "Estimated success chance: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(estimatedSuccessChance*100, 1) + "%\n" + + "Time Required(s): " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(actionTime, 1) + "\n" + + "Operations remaining: " + Math.floor(action.count) + "\n" + + "Successes: " + action.successes + "\n" + + "Failures: " + action.failures, + })); + + //Autolevel Checkbox + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("br")); + var autolevelCheckboxId = "bladeburner-" + action.name + "-autolevel-checkbox"; + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("label", { + for:autolevelCheckboxId, innerText:"Autolevel",color:"white", + tooltip:"Automatically increase operation level when possible" + })); + var autolevelCheckbox = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("input", { + type:"checkbox", id:autolevelCheckboxId, margin:"4px", + checked:action.autoLevel, + changeListener:()=>{ + action.autoLevel = autolevelCheckbox.checked; + } + }); + el.appendChild(autolevelCheckbox); +} + +Bladeburner.prototype.updateBlackOpsUIElement = function(el, action) { + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(el); + var isActive = el.classList.contains(ActiveActionCssClass); + var isCompleted = (this.blackops[action.name] != null); + var estimatedSuccessChance = action.getSuccessChance(this, {est:true}); + var difficulty = action.getDifficulty(); + var actionTime = action.getActionTime(this); + var hasReqdRank = this.rank >= action.reqdRank; + + //UI for Completed Black Op + if (isCompleted) { + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("h2", { + innerText:action.name + " (COMPLETED)", display:"block", + })); + return; + } + + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("h2", { //Header + innerText:isActive ? action.name + " (IN PROGRESS - " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.actionTimeCurrent, 0) + " / " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.actionTimeToComplete, 0) + ")" + : action.name, + display:"inline-block", + })); + + if (isActive) { //Progress bar if its active + var progress = this.actionTimeCurrent / this.actionTimeToComplete; + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"block", + innerText:Object(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_13__["createProgressBarText"])({progress:progress}) + })); + } else { + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { //Start button + innerText:"Start", margin:"3px", padding:"3px", + class:hasReqdRank ? "a-link-button" : "a-link-button-inactive", + clickListener:()=>{ + this.action.type = ActionTypes.BlackOperation; + this.action.name = action.name; + this.startAction(this.action); + this.updateActionAndSkillsContent(); + return false; + } + })); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { //Set Team Size Button + innerText:"Set Team Size (Curr Size: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(action.teamCount, 0) + ")", class:"a-link-button", + margin:"3px", padding:"3px", + clickListener:()=>{ + var popupId = "bladeburner-operation-set-team-size-popup"; + var txt = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + innerText:"Enter the amount of team members you would like to take on this " + + "BlackOp. If you do not have the specified number of team members, " + + "then as many as possible will be used. Note that team members may " + + "be lost during operations." + + }); + var input = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("input", { + type:"number", placeholder: "Team Members" + }); + var setBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:"Confirm", class:"a-link-button", + clickListener:()=>{ + var num = Math.round(parseFloat(input.value)); + if (isNaN(num)) { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("Invalid value entered for number of Team Members (must be numeric)") + } else { + action.teamCount = num; + this.updateBlackOpsUIElement(el, action); + } + Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_28__["removeElementById"])(popupId); + return false; + } + }); + var cancelBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { + innerText:"Cancel", class:"a-link-button", + clickListener:()=>{ + Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_28__["removeElementById"])(popupId); + return false; + } + }); + Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_21__["createPopup"])(popupId, [txt, input, setBtn, cancelBtn]); + } + })); + } + + //Info + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(el, 2); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"inline-block", + innerHTML:"
" + action.desc + "

", + })); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"block", color:hasReqdRank ? "white" : "red", + innerHTML:"Required Rank: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(action.reqdRank, 0) + "
" + })); + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"inline-block", + innerHTML:"Estimated Success Chance: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(estimatedSuccessChance*100, 1) + "%\n" + + "Time Required(s): " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(actionTime, 1), + })) +} + +Bladeburner.prototype.updateSkillsUIElement = function(el, skill) { + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(el); + var skillName = skill.name; + var currentLevel = 0; + if (this.skills[skillName] && !isNaN(this.skills[skillName])) { + currentLevel = this.skills[skillName]; + } + var pointCost = skill.calculateCost(currentLevel); + + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("h2", { //Header + innerText:skill.name + " (Lvl " + currentLevel + ")", display:"inline-block" + })); + + var canLevel = this.skillPoints >= pointCost; + var maxLvl = skill.maxLvl ? currentLevel >= skill.maxLvl : false; + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("a", { //Level up button + innerText:"Level", display:"inline-block", + class: canLevel && !maxLvl ? "a-link-button" : "a-link-button-inactive", + margin:"3px", padding:"3px", + clickListener:()=>{ + if (this.skillPoints < pointCost) {return;} + this.skillPoints -= pointCost; + this.upgradeSkill(skill); + this.createActionAndSkillsContent(); + return false; + } + })); + Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_18__["appendLineBreaks"])(el, 2); + if (maxLvl) { + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + color:"red", display:"block", + innerText:"MAX LEVEL" + })); + } else { + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { + display:"block", + innerText:"Skill Points required: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(pointCost, 0), + })); + } + el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_20__["createElement"])("p", { //Info/Description + innerHTML:skill.desc, display:"inline-block", + })); +} + +//Bladeburner Console Window +Bladeburner.prototype.postToConsole = function(input, saveToLogs=true) { + const MaxConsoleEntries = 100; + if (saveToLogs === true) { + this.consoleLogs.push(input); + if (this.consoleLogs.length > MaxConsoleEntries) { + this.consoleLogs.shift(); + } + } + + if (input == null || DomElems.consoleDiv == null) {return;} + $("#bladeubrner-console-input-row").before('' + input + ''); + + if (DomElems.consoleTable.childNodes.length > MaxConsoleEntries) { + DomElems.consoleTable.removeChild(DomElems.consoleTable.firstChild); + } + + this.updateConsoleScroll(); +} + +Bladeburner.prototype.updateConsoleScroll = function() { + DomElems.consoleDiv.scrollTop = DomElems.consoleDiv.scrollHeight; +} + +Bladeburner.prototype.resetConsoleInput = function() { + DomElems.consoleInput.value = ""; +} + +Bladeburner.prototype.clearConsole = function() { + while (DomElems.consoleTable.childNodes.length > 1) { + DomElems.consoleTable.removeChild(DomElems.consoleTable.firstChild); + } + + this.consoleLogs.length = 0; +} + +Bladeburner.prototype.log = function(input) { + //Adds a timestamp and then just calls postToConsole + this.postToConsole(`[${Object(_utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_26__["getTimestamp"])()}] ${input}`); +} + +//Handles a potential series of commands (comm1; comm2; comm3;) +Bladeburner.prototype.executeConsoleCommands = function(commands) { + try { + //Console History + if (this.consoleHistory[this.consoleHistory.length-1] != commands) { + this.consoleHistory.push(commands); + if (this.consoleHistory.length > 50) { + this.consoleHistory.splice(0, 1); + } + } + consoleHistoryIndex = this.consoleHistory.length; + + var arrayOfCommands = commands.split(";"); + for (var i = 0; i < arrayOfCommands.length; ++i) { + this.executeConsoleCommand(arrayOfCommands[i]); + } + } catch(e) { + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_23__["exceptionAlert"])(e); + } +} + +//A single command +Bladeburner.prototype.executeConsoleCommand = function(command) { + command = command.trim(); + command = command.replace(/\s\s+/g, ' '); //Replace all whitespace w/ a single space + + var args = this.parseCommandArguments(command); + if (args.length <= 0) {return;} //Log an error? + + switch(args[0].toLowerCase()) { + case "automate": + this.executeAutomateConsoleCommand(args); + break; + case "clear": + case "cls": + this.clearConsole(); + break; + case "help": + this.executeHelpConsoleCommand(args); + break; + case "log": + this.executeLogConsoleCommand(args); + break; + case "skill": + this.executeSkillConsoleCommand(args); + break; + case "start": + this.executeStartConsoleCommand(args); + break; + case "stop": + this.resetAction(); + break; + default: + this.postToConsole("Invalid console command"); + break; + } +} + +Bladeburner.prototype.parseCommandArguments = function(command) { + //Returns an array with command and its arguments in each index. + //e.g. skill "blade's intuition" foo returns [skill, blade's intuition, foo] + //The input to this fn will be trimmed and will have all whitespace replaced w/ a single space + var args = []; + var start = 0, i = 0; + while (i < command.length) { + var c = command.charAt(i); + if (c === '"') { + var endQuote = command.indexOf('"', i+1); + if (endQuote !== -1 && (endQuote === command.length-1 || command.charAt(endQuote+1) === " ")) { + args.push(command.substr(i+1, (endQuote - i - 1))); + if (endQuote === command.length-1) { + start = i = endQuote+1; + } else { + start = i = endQuote+2; //Skip the space + } + continue; + } + } else if (c === " ") { + args.push(command.substr(start, i-start)); + start = i+1; + } + ++i; + } + if (start !== i) {args.push(command.substr(start, i-start));} + console.log("Bladeburner.parseCommandArguments returned: " + args); + return args; +} + +Bladeburner.prototype.executeAutomateConsoleCommand = function(args) { + if (args.length !== 2 && args.length !== 4) { + this.postToConsole("Invalid use of 'automate' command: automate [var] [val] [hi/low]. Use 'help automate' for more info"); + return; + } + + //Enable/Disable + if (args.length === 2) { + var flag = args[1]; + if (flag.toLowerCase() === "status") { + this.postToConsole("Automation: " + (this.automateEnabled ? "enabled" : "disabled")); + if (this.automateEnabled) { + this.postToConsole("When your stamina drops to " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.automateThreshLow, 0) + + ", you will automatically switch to " + this.automateActionLow.name + + ". When your stamina recovers to " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.automateThreshHigh, 0) + ", you will automatically " + + "switch to " + this.automateActionHigh.name + "."); + } + + } else if (flag.toLowerCase().includes("en")) { + if (!(this.automateActionLow instanceof ActionIdentifier) || + !(this.automateActionHigh instanceof ActionIdentifier)) { + return this.log("Failed to enable automation. Actions were not set"); + } + this.automateEnabled = true; + this.log("Bladeburner automation enabled"); + } else if (flag.toLowerCase().includes("d")) { + this.automateEnabled = false; + this.log("Bladeburner automation disabled"); + } else { + this.log("Invalid argument for 'automate' console command: " + args[1]); + } + return; + } + + //Set variables + if (args.length === 4) { + var variable = args[1], val = args[2]; + + var highLow = false; //True for high, false for low + if (args[3].toLowerCase().includes("hi")) {highLow = true;} + + switch (variable) { + case "general": + case "gen": + if (GeneralActions[val] != null) { + var action = new ActionIdentifier({ + type:ActionTypes[val], name:val + }); + if (highLow) { + this.automateActionHigh = action; + } else { + this.automateActionLow = action; + } + this.log("Automate (" + (highLow ? "HIGH" : "LOW") + ") action set to " + val); + } else { + this.postToConsole("Invalid action name specified: " + val); + } + break; + case "contract": + case "contracts": + if (this.contracts[val] != null) { + var action = new ActionIdentifier({ + type:ActionTypes.Contract, name:val + }); + if (highLow) { + this.automateActionHigh = action; + } else { + this.automateActionLow = action; + } + this.log("Automate (" + (highLow ? "HIGH" : "LOW") + ") action set to " + val); + } else { + this.postToConsole("Invalid contract name specified: " + val); + } + break; + case "ops": + case "op": + case "operations": + case "operation": + if (this.operations[val] != null) { + var action = new ActionIdentifier({ + type:ActionTypes.Operation, name:val + }); + if (highLow) { + this.automateActionHigh = action; + } else { + this.automateActionLow = action; + } + this.log("Automate (" + (highLow ? "HIGH" : "LOW") + ") action set to " + val); + } else { + this.postToConsole("Invalid Operation name specified: " + val); + } + break; + case "stamina": + if (isNaN(val)) { + this.postToConsole("Invalid value specified for stamina threshold (must be numeric): " + val); + } else { + if (highLow) { + this.automateThreshHigh = Number(val); + } else { + this.automateThreshLow = Number(val); + } + this.log("Automate (" + (highLow ? "HIGH" : "LOW") + ") stamina threshold set to " + val); + } + break; + default: + break; + } + + return; + } +} + +Bladeburner.prototype.executeHelpConsoleCommand = function(args) { + if (args.length === 1) { + this.postToConsole(consoleHelpText.helpList); + } else { + for (var i = 1; i < args.length; ++i) { + var commandText = consoleHelpText[args[i]]; + if (commandText != null) { + this.postToConsole(commandText); + this.postToConsole("
"); + } + } + } +} + +Bladeburner.prototype.executeLogConsoleCommand = function(args) { + if (args.length < 3) { + this.postToConsole("Invalid usage of log command: log [enable/disable] [action/event]"); + this.postToConsole("Use 'help log' for more details and examples"); + return; + } + + var flag = true; + if (args[1].toLowerCase().includes("d")) {flag = false;} //d for disable + + switch (args[2].toLowerCase()) { + case "general": + case "gen": + this.logging.general = flag; + this.log("Logging " + (flag ? "enabled" : "disabled") + " for general actions"); + break; + case "contract": + case "contracts": + this.logging.contracts = flag; + this.log("Logging " + (flag ? "enabled" : "disabled") + " for Contracts"); + break; + case "ops": + case "op": + case "operations": + case "operation": + this.logging.ops = flag; + this.log("Logging " + (flag ? "enabled" : "disabled") + " for Operations"); + break; + case "blackops": + case "blackop": + case "black operations": + case "black operation": + this.logging.blackops = flag; + this.log("Logging " + (flag ? "enabled" : "disabled") + " for BlackOps"); + break; + case "event": + case "events": + this.logging.events = flag; + this.log("Logging " + (flag ? "enabled" : "disabled") + " for events"); + break; + case "all": + this.logging.general = flag; + this.logging.contracts = flag; + this.logging.ops = flag; + this.logging.blackops = flag; + this.logging.events = flag; + this.log("Logging " + (flag ? "enabled" : "disabled") + " for everything"); + break; + default: + this.postToConsole("Invalid action/event type specified: " + args[2]); + this.postToConsole("Examples of valid action/event identifiers are: [general, contracts, ops, blackops, events]"); + break; + } +} + +Bladeburner.prototype.executeSkillConsoleCommand = function(args) { + switch (args.length) { + case 1: + //Display Skill Help Command + this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"); + this.postToConsole("Use 'help skill' for more info"); + break; + case 2: + if (args[1].toLowerCase() === "list") { + //List all skills and their level + this.postToConsole("Skills: "); + var skillNames = Object.keys(Skills); + for(var i = 0; i < skillNames.length; ++i) { + var skill = Skills[skillNames[i]]; + var level = 0; + if (this.skills[skill.name] != null) {level = this.skills[skill.name];} + this.postToConsole(skill.name + ": Level " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(level, 0)); + } + this.postToConsole(" "); + this.postToConsole("Effects: "); + var multKeys = Object.keys(this.skillMultipliers); + for (var i = 0; i < multKeys.length; ++i) { + var mult = this.skillMultipliers[multKeys[i]]; + if (mult && mult !== 1) { + mult = Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(mult, 3); + switch(multKeys[i]) { + case "successChanceAll": + this.postToConsole("Total Success Chance: x" + mult); + break; + case "successChanceStealth": + this.postToConsole("Stealth Success Chance: x" + mult); + break; + case "successChanceKill": + this.postToConsole("Retirement Success Chance: x" + mult); + break; + case "successChanceContract": + this.postToConsole("Contract Success Chance: x" + mult); + break; + case "successChanceOperation": + this.postToConsole("Operation Success Chance: x" + mult); + break; + case "successChanceEstimate": + this.postToConsole("Synthoid Data Estimate: x" + mult); + break; + case "actionTime": + this.postToConsole("Action Time: x" + mult); + break; + case "effHack": + this.postToConsole("Hacking Skill: x" + mult); + break; + case "effStr": + this.postToConsole("Strength: x" + mult); + break; + case "effDef": + this.postToConsole("Defense: x" + mult); + break; + case "effDex": + this.postToConsole("Dexterity: x" + mult); + break; + case "effAgi": + this.postToConsole("Agility: x" + mult); + break; + case "effCha": + this.postToConsole("Charisma: x" + mult); + break; + case "effInt": + this.postToConsole("Intelligence: x" + mult); + break; + case "stamina": + this.postToConsole("Stamina: x" + mult); + break; + case "weaponAbility": + //DomElems.actionsAndSkillsDesc.innerHTML += + break; + case "gunAbility": + //DomElems.actionsAndSkillsDesc.innerHTML + break; + default: + console.log("Warning: Unrecognized SkillMult Key: " + multKeys[i]); + break; + } + } + } + } else { + this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"); + this.postToConsole("Use 'help skill' for more info"); + } + break; + case 3: + var skillName = args[2]; + var skill = Skills[skillName]; + if (skill == null || !(skill instanceof Skill)) { + return this.postToConsole("Invalid skill name (Note that this is case-sensitive): " + skillName); + } + if (args[1].toLowerCase() === "list") { + this.postToConsole(skill.name + ": Level " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(this.skills[skill.name]), 0); + } else if (args[1].toLowerCase() === "level") { + var currentLevel = 0; + if (this.skills[skillName] && !isNaN(this.skills[skillName])) { + currentLevel = this.skills[skillName]; + } + var pointCost = skill.calculateCost(currentLevel); + if (this.skillPoints >= pointCost) { + this.skillPoints -= pointCost; + this.upgradeSkill(skill); + this.log(skill.name + " upgraded to Level " + this.skills[skillName]); + this.createActionAndSkillsContent(); + } else { + this.postToConsole("You do not have enough Skill Points to upgrade this. You need " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_24__["formatNumber"])(pointCost, 0)); + } + + } else { + this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"); + this.postToConsole("Use 'help skill' for more info"); + } + break; + default: + this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"); + this.postToConsole("Use 'help skill' for more info"); + break; + } +} + +Bladeburner.prototype.executeStartConsoleCommand = function(args) { + if (args.length !== 3) { + this.postToConsole("Invalid usage of 'start' console command: start [type] [name]"); + this.postToConsole("Use 'help start' for more info"); + return; + } + var name = args[2]; + switch (args[1].toLowerCase()) { + case "general": + case "gen": + if (GeneralActions[name] != null) { + this.action.type = ActionTypes[name]; + this.action.name = name; + this.startAction(this.action); + this.updateActionAndSkillsContent(); + } else { + this.postToConsole("Invalid action name specified: " + args[2]); + } + break; + case "contract": + case "contracts": + if (this.contracts[name] != null) { + this.action.type = ActionTypes.Contract; + this.action.name = name; + this.startAction(this.action); + this.updateActionAndSkillsContent(); + } else { + this.postToConsole("Invalid contract name specified: " + args[2]); + } + break; + case "ops": + case "op": + case "operations": + case "operation": + if (this.operations[name] != null) { + this.action.type = ActionTypes.Operation; + this.action.name = name; + this.startAction(this.action); + this.updateActionAndSkillsContent(); + } else { + this.postToConsole("Invalid Operation name specified: " + args[2]); + } + break; + case "blackops": + case "blackop": + case "black operations": + case "black operation": + if (BlackOperations[name] != null) { + this.action.type = ActionTypes.BlackOperation; + this.action.name = name; + this.startAction(this.action); + this.updateActionAndSkillsContent(); + } else { + this.postToConsole("Invalid BlackOp name specified: " + args[2]); + } + break; + default: + this.postToConsole("Invalid action/event type specified: " + args[1]); + this.postToConsole("Examples of valid action/event identifiers are: [general, contract, op, blackop]"); + break; + } +} + +Bladeburner.prototype.getActionIdFromTypeAndName = function(type="", name="") { + if (type === "" || name === "") {return null;} + var action = new ActionIdentifier(); + var convertedType = type.toLowerCase().trim(); + var convertedName = name.toLowerCase().trim(); + switch (convertedType) { + case "contract": + case "contracts": + case "contr": + action.type = ActionTypes["Contract"]; + if (this.contracts.hasOwnProperty(name)) { + action.name = name; + return action; + } else { + return null; + } + break; + case "operation": + case "operations": + case "op": + case "ops": + action.type = ActionTypes["Operation"]; + if (this.operations.hasOwnProperty(name)) { + action.name = name; + return action; + } else { + return null; + } + break; + case "blackoperation": + case "black operation": + case "black operations": + case "black op": + case "black ops": + case "blackop": + case "blackops": + action.type = ActionTypes["BlackOp"]; + if (BlackOperations.hasOwnProperty(name)) { + action.name = name; + return action; + } else { + return null; + } + break; + case "general": + case "general action": + case "gen": + break; + default: + return null; + } + + if (convertedType.startsWith("gen")) { + switch (convertedName) { + case "training": + action.type = ActionTypes["Training"]; + action.name = "Training"; + break; + case "recruitment": + case "recruit": + action.type = ActionTypes["Recruitment"]; + action.name = "Recruitment"; + break; + case "field analysis": + case "fieldanalysis": + action.type = ActionTypes["Field Analysis"]; + action.name = "Field Analysis"; + break; + default: + return null; + } + return action; + } +} + +Bladeburner.prototype.getTypeAndNameFromActionId = function(actionId) { + var res = {}; + let types = Object.keys(ActionTypes); + for (let i = 0; i < types.length; ++i) { + if (actionId.type === ActionTypes[types[i]]) { + res.type = types[i]; + break; + } + } + if (res.type == null) {res.type = "Idle";} + + res.name = actionId.name != null ? actionId.name : "Idle"; + return res; +} + +Bladeburner.prototype.getContractNamesNetscriptFn = function() { + return Object.keys(this.contracts); +} + +Bladeburner.prototype.getOperationNamesNetscriptFn = function() { + return Object.keys(this.operations); +} + +Bladeburner.prototype.getBlackOpNamesNetscriptFn = function() { + return Object.keys(BlackOperations); +} + +Bladeburner.prototype.getGeneralActionNamesNetscriptFn = function() { + return Object.keys(GeneralActions); +} + +Bladeburner.prototype.getSkillNamesNetscriptFn = function() { + return Object.keys(Skills); +} + +Bladeburner.prototype.startActionNetscriptFn = function(type, name, workerScript) { + var errorLogText = "ERROR: bladeburner.startAction() failed due to an invalid action specified. " + + "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + + "name of the operation is case-sensitive."; + var actionId = this.getActionIdFromTypeAndName(type, name); + if (actionId == null) { + workerScript.log(errorLogText); + return false; + } + + // Special logic for Black Ops + if (actionId.type === ActionTypes["BlackOp"]) { + // Can't start a BlackOp if you don't have the required rank + let action = this.getActionObject(actionId); + if (action.reqdRank > this.rank) { + workerScript.log(`Failed to start Black Op ${actionId.name} due to insufficient rank`); + return false; + } + + // Can't start a BlackOp if its already been done + if (this.blackops[actionId.name] != null) { + workerScript.log(`Failed to start Black Op ${actionId.name} because its already been completed`); + return false; + } + + // Can't start a BlackOp if you haven't done the one before it + var blackops = []; + for (const nm in BlackOperations) { + if (BlackOperations.hasOwnProperty(nm)) { + blackops.push(nm); + } + } + blackops.sort(function(a, b) { + return (BlackOperations[a].reqdRank - BlackOperations[b].reqdRank); // Sort black ops in intended order + }); + + let i = blackops.indexOf(actionId.name); + if (i === -1) { + workerScript.log("ERROR: Invalid Black Operation name passed into bladeburner.startAction(). Note that this name is case-sensitive & whitespace-sensitive"); + return false; + } + + if (i > 0 && this.blackops[blackops[i-1]] == null) { + workerScript.log(`ERROR: Cannot attempt Black Operation ${actionId.name} because you have not done the preceding one`); + return false; + } + } + + try { + this.startAction(actionId); + if (workerScript.shouldLog("startAction")) { + workerScript.scriptRef.log("Starting bladeburner action with type " + type + " and name " + name); + } + return true; + } catch(e) { + this.resetAction(); + workerScript.scriptRef.log("ERROR: bladeburner.startAction() failed to start action of type " + type + " due to invalid name: " + name + + "Note that this name is case-sensitive and whitespace-sensitive"); + return false; + } +} + +Bladeburner.prototype.getActionTimeNetscriptFn = function(type, name, workerScript) { + var errorLogText = "ERROR: bladeburner.getActionTime() failed due to an invalid action specified. " + + "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + + "name of the operation is case-sensitive."; + var actionId = this.getActionIdFromTypeAndName(type, name); + if (actionId == null) { + workerScript.log(errorLogText); + return -1; + } + + var actionObj = this.getActionObject(actionId); + if (actionObj == null) { + workerScript.log(errorLogText); + return -1; + } + + switch (actionId.type) { + case ActionTypes["Contract"]: + case ActionTypes["Operation"]: + case ActionTypes["BlackOp"]: + case ActionTypes["BlackOperation"]: + return actionObj.getActionTime(this); + case ActionTypes["Training"]: + case ActionTypes["Field Analysis"]: + case ActionTypes["FieldAnalysis"]: + return 30; + case ActionTypes["Recruitment"]: + return this.getRecruitmentTime(); + default: + workerScript.log(errorLogText); + return -1; + } +} + +Bladeburner.prototype.getActionEstimatedSuccessChanceNetscriptFn = function(type, name, workerScript) { + var errorLogText = "ERROR: bladeburner.getActionEstimatedSuccessChance() failed due to an invalid action specified. " + + "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + + "name of the operation is case-sensitive."; + var actionId = this.getActionIdFromTypeAndName(type, name); + if (actionId == null) { + workerScript.log(errorLogText); + return -1; + } + + var actionObj = this.getActionObject(actionId); + if (actionObj == null) { + workerScript.log(errorLogText); + return -1; + } + + switch (actionId.type) { + case ActionTypes["Contract"]: + case ActionTypes["Operation"]: + case ActionTypes["BlackOp"]: + case ActionTypes["BlackOperation"]: + return actionObj.getSuccessChance(this, {est:true}); + case ActionTypes["Training"]: + case ActionTypes["Field Analysis"]: + case ActionTypes["FieldAnalysis"]: + return 1; + case ActionTypes["Recruitment"]: + return this.getRecruitmentSuccessChance(); + default: + workerScript.log(errorLogText); + return -1; + } +} + +Bladeburner.prototype.getActionCountRemainingNetscriptFn = function(type, name, workerScript) { + var errorLogText = "ERROR: bladeburner.getActionCountRemaining() failed due to an invalid action specified. " + + "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + + "name of the operation is case-sensitive."; + var actionId = this.getActionIdFromTypeAndName(type, name); + if (actionId == null) { + workerScript.log(errorLogText); + return -1; + } + + var actionObj = this.getActionObject(actionId); + if (actionObj == null) { + workerScript.log(errorLogText); + return -1; + } + + switch (actionId.type) { + case ActionTypes["Contract"]: + case ActionTypes["Operation"]: + return Math.floor( actionObj.count ); + case ActionTypes["BlackOp"]: + case ActionTypes["BlackOperation"]: + if (this.blackops[name] != null) { + return 0; + } else { + return 1; + } + case ActionTypes["Training"]: + case ActionTypes["Field Analysis"]: + case ActionTypes["FieldAnalysis"]: + return Infinity; + default: + workerScript.log(errorLogText); + return -1; + } +} + +Bladeburner.prototype.getSkillLevelNetscriptFn = function(skillName, workerScript) { + var errorLogText = "ERROR: bladeburner.getSkillLevel() failed due to an invalid skill specified: " + + skillName + ". Note that the name of the skill is case-sensitive"; + + if (skillName === "") { + return -1; + } + + if (!Skills.hasOwnProperty(skillName)) { + workerScript.log(errorLogText); + return -1; + } + + if (this.skills[skillName] == null) { + return 0; + } else { + return this.skills[skillName]; + } +} + +Bladeburner.prototype.getSkillUpgradeCostNetscriptFn = function(skillName, workerScript) { + var errorLogText = "ERROR: bladeburner.getSkillUpgradeCostNetscriptFn() failed due to an invalid skill specified: " + + skillName + ". Note that the name of the skill is case-sensitive"; + + if (skillName === "") { + return -1; + } + + if (!Skills.hasOwnProperty(skillName)) { + workerScript.log(errorLogText); + return -1; + } + + var skill = Skills[skillName]; + if (this.skills[skillName] == null) { + return skill.calculateCost(0); + } else { + return skill.calculateCost(this.skills[skillName]); + } +} + +Bladeburner.prototype.upgradeSkillNetscriptFn = function(skillName, workerScript) { + var errorLogText = "ERROR: bladeburner.upgradeSkill() failed due to an invalid skill specified: " + + skillName + ". Note that the name of the skill is case-sensitive"; + if (!Skills.hasOwnProperty(skillName)) { + workerScript.log(errorLogText); + return false; + } + + var skill = Skills[skillName]; + var currentLevel = 0; + if (this.skills[skillName] && !isNaN(this.skills[skillName])) { + currentLevel = this.skills[skillName]; + } + var cost = skill.calculateCost(currentLevel); + + if(skill.maxLvl && currentLevel >= skill.maxLvl) { + if (workerScript.shouldLog("upgradeSkill")) { + workerScript.log(`bladeburner.upgradeSkill() failed because ${skillName} is already maxed`); + } + return false; + } + + if (this.skillPoints < cost) { + if (workerScript.shouldLog("upgradeSkill")) { + workerScript.log("bladeburner.upgradeSkill() failed because you do not have enough " + + "skill points to upgrade " + skillName + " (You have " + + this.skillPoints + ", you need " + cost + ")"); + } + return false; + } + + this.skillPoints -= cost; + this.upgradeSkill(skill); + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["Page"].Bladeburner) && DomElems.currentTab.toLowerCase() === "skills") { + this.createActionAndSkillsContent(); + } + if (workerScript.shouldLog("upgradeSkill")) { + workerScript.log(skillName + " successfully upgraded to level " + this.skills[skillName]); + } + return true; +} + +Bladeburner.prototype.getTeamSizeNetscriptFn = function(type, name, workerScript) { + if (type === "" && name === "") { + return this.teamSize; + } + + var errorLogText = "ERROR: bladeburner.getTeamSize() failed due to an invalid action specified. " + + "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + + "name of the operation is case-sensitive."; + + var actionId = this.getActionIdFromTypeAndName(type, name); + if (actionId == null) { + workerScript.log(errorLogText); + return -1; + } + + var actionObj = this.getActionObject(actionId); + if (actionObj == null) { + workerScript.log(errorLogText); + return -1; + } + + if (actionId.type === ActionTypes["Operation"] || + actionId.type === ActionTypes["BlackOp"] || + actionId.type === ActionTypes["BlackOperation"]) { + return actionObj.teamCount; + } else { + return 0; + } +} + +Bladeburner.prototype.setTeamSizeNetscriptFn = function(type, name, size, workerScript) { + var errorLogText = "ERROR: bladeburner.setTeamSize() failed due to an invalid action specified. " + + "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + + "name of the operation is case-sensitive."; + var actionId = this.getActionIdFromTypeAndName(type, name); + if (actionId == null) { + workerScript.log(errorLogText); + return -1; + } + + if (actionId.type !== ActionTypes["Operation"] && + actionId.type !== ActionTypes["BlackOp"] && + actionId.type !== ActionTypes["BlackOperation"]) { + workerScript.log("ERROR: bladeburner.setTeamSize() failed. This function " + + "only works for Operations and BlackOps"); + return -1; + } + + var actionObj = this.getActionObject(actionId); + if (actionObj == null) { + workerScript.log(errorLogText); + return -1; + } + + var sanitizedSize = Math.round(size); + if (isNaN(sanitizedSize)) { + workerScript.log("ERROR: bladeburner.setTeamSize() failed due to an invalid 'size' argument: " + size); + return -1; + } + if (this.teamSize < sanitizedSize) {sanitizedSize = this.teamSize;} + actionObj.teamCount = sanitizedSize; + if (workerScript.shouldLog("setTeamSize")) { + workerScript.log("Team size for " + name + " set to " + sanitizedSize); + } + return sanitizedSize; +} + +Bladeburner.prototype.getCityEstimatedPopulationNetscriptFn = function(cityName, workerScript) { + if (!this.cities.hasOwnProperty(cityName)) { + workerScript.log("ERROR: bladeburner.getCityEstimatedPopulation() failed because the specified " + + "city was invalid: " + cityName + ". Note that this city argument is case-sensitive"); + return -1; + } + return this.cities[cityName].popEst; +} + +Bladeburner.prototype.getCityEstimatedCommunitiesNetscriptFn = function(cityName, workerScript) { + if (!this.cities.hasOwnProperty(cityName)) { + workerScript.log("ERROR: bladeburner.getCityEstimatedCommunities() failed because the specified " + + "city was invalid: " + cityName + ". Note that this city argument is case-sensitive"); + return -1; + } + return this.cities[cityName].commsEst; +} + +Bladeburner.prototype.getCityChaosNetscriptFn = function(cityName, workerScript) { + if (!this.cities.hasOwnProperty(cityName)) { + workerScript.log("ERROR: bladeburner.getCityChaos() failed because the specified " + + "city was invalid: " + cityName + ". Note that this city argument is case-sensitive"); + return -1; + } + return this.cities[cityName].chaos; +} + +Bladeburner.prototype.switchCityNetscriptFn = function(cityName, workerScript) { + if (!this.cities.hasOwnProperty(cityName)) { + workerScript.log("ERROR: bladeburner.switchCity() failed because the specified " + + "city was invalid: " + cityName + ". Note that this city argument is case-sensitive"); + return false; + } + this.city = cityName; + return true; +} + +Bladeburner.prototype.joinBladeburnerFactionNetscriptFn = function(workerScript) { + var bladeburnerFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_6__["Factions"]["Bladeburners"]; + if (bladeburnerFac.isMember) { + return true; + } else if (this.rank >= RankNeededForFaction) { + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_7__[/* joinFaction */ "c"])(bladeburnerFac); + if (workerScript.shouldLog("joinBladeburnerFaction")) { + workerScript.log("Joined Bladeburners Faction"); + } + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__["Page"].Bladeburner)) { + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_15__["removeChildrenFromElement"])(DomElems.overviewDiv); + this.createOverviewContent(); + } + return true; + } else { + if (workerScript.shouldLog("joinBladeburnerFaction")) { + workerScript.log("Failed to join Bladeburners Faction because " + + "you do not have the required " + RankNeededForFaction + " rank"); + } + return false; + } +} + +Bladeburner.prototype.toJSON = function() { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_toJSON"])("Bladeburner", this); +} +Bladeburner.fromJSON = function(value) { + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Generic_fromJSON"])(Bladeburner, value.data); +} +_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Reviver"].constructors.Bladeburner = Bladeburner; + +//This initialized Bladeburner-related data that is NOT saved/loaded +// eg: Skill Objects, BLack Operations +//Any data that is saved/loaded should go in Bladeburner object +// eg: contracts, operations +function initBladeburner() { + //Skills + Skills[SkillNames.BladesIntuition] = new Skill({ + name:SkillNames.BladesIntuition, + desc:"Each level of this skill increases your success chance " + + "for all Contracts, Operations, and BlackOps by 3%", + baseCost:5, costInc:2, + successChanceAll:3 + }); + Skills[SkillNames.Reaper] = new Skill({ + name:SkillNames.Reaper, + desc:"Each level of this skill increases your " + + "effective combat stats for Bladeburner actions by 3%", + baseCost:3, costInc:2, + effStr:3, effDef:3, effDex:3, effAgi:3 + }); + Skills[SkillNames.Cloak] = new Skill({ + name:SkillNames.Cloak, + desc:"Each level of this skill increases your " + + "success chance in stealth-related Contracts, Operations, and BlackOps by 5.5%", + baseCost:3, costInc:1, + successChanceStealth:5.5 + }); + + //TODO Marksman + //TODO Weapon Proficiency + + Skills[SkillNames.Overclock] = new Skill({ + name:SkillNames.Overclock, + desc:"Each level of this skill decreases the time it takes " + + "to attempt a Contract, Operation, and BlackOp by 1% (Max Level: 95)", + baseCost:5, costInc:1.1, maxLvl:95, + actionTime:1 + }); + Skills[SkillNames.EvasiveSystem] = new Skill({ + name:SkillNames.EvasiveSystem, + desc:"Each level of this skill increases your effective " + + "dexterity and agility for Bladeburner actions by 5%", + baseCost:2, costInc: 1, + effDex:5, effAgi:5 + }); + Skills[SkillNames.ShortCircuit] = new Skill({ + name:SkillNames.ShortCircuit, + desc:"Each level of this skill increases your success chance " + + "in Contracts, Operations, and BlackOps that involve retirement by 5.5%", + baseCost:3, costInc:2, + successChanceKill:5.5 + }); + Skills[SkillNames.DigitalObserver] = new Skill({ + name:SkillNames.DigitalObserver, + desc:"Each level of this skill increases your success chance in " + + "all Operations and BlackOps by 4%", + baseCost:5, costInc:2, + successChanceOperation:4 + }); + Skills[SkillNames.Datamancer] = new Skill({ + name:SkillNames.Datamancer, + desc:"Each level of this skill increases your effectiveness in " + + "synthoid population analysis and investigation by 5%. " + + "This affects all actions that can potentially increase " + + "the accuracy of your synthoid population/community estimates.", + baseCost:3,costInc:1, + successChanceEstimate:5 + }); + Skills[SkillNames.Tracer] = new Skill({ + name:SkillNames.Tracer, + desc:"Each level of this skill increases your success chance in " + + "all Contracts by 4%", + baseCost:3, costInc:2, + successChanceContract:4 + }); + Skills[SkillNames.CybersEdge] = new Skill({ + name:SkillNames.CybersEdge, + desc:"Each level of this skill increases your max " + + "stamina by 2%", + baseCost:1, costInc:3, + stamina:2 + }); + + //General Actions + var actionName = "Training"; + GeneralActions[actionName] = new Action({ + name:actionName, + desc:"Improve your abilities at the Bladeburner unit's specialized training " + + "center. Doing this gives experience for all combat stats and also " + + "increases your max stamina." + }); + + var actionName = "Field Analysis"; + GeneralActions[actionName] = new Action({ + name:actionName, + desc:"Mine and analyze Synthoid-related data. This improve the " + + "Bladeburner's unit intelligence on Synthoid locations and " + + "activities. Completing this action will improve the accuracy " + + "of your Synthoid population estimated in the current city.

" + + "Does NOT require stamina." + }); + + var actionName = "Recruitment"; + GeneralActions[actionName] = new Action({ + name:actionName, + desc:"Attempt to recruit members for your Bladeburner team. These members " + + "can help you conduct operations.

" + + "Does NOT require stamina." + }); + + //Black Operations + BlackOperations["Operation Typhoon"] = new BlackOperation({ + name:"Operation Typhoon", + desc:"Obadiah Zenyatta is the leader of a RedWater PMC. It has long " + + "been known among the intelligence community that Zenyatta, along " + + "with the rest of the PMC, is a Synthoid.

" + + "The goal of Operation Typhoon is to find and eliminate " + + "Zenyatta and RedWater by any means necessary. After the task " + + "is completed, the actions must be covered up from the general public.", + baseDifficulty:2000, reqdRank:2.5e3, + rankGain:50, rankLoss:10, hpLoss:100, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Zero"] = new BlackOperation({ + name:"Operation Zero", + desc:"AeroCorp is one of the world's largest defense contractors. " + + "It's leader, Steve Watataki, is thought to be a supporter of " + + "Synthoid rights. He must be removed.

" + + "The goal of Operation Zero is to covertly infiltrate AeroCorp and " + + "uncover any incriminating evidence or " + + "information against Watataki that will cause him to be removed " + + "from his position at AeroCorp. Incriminating evidence can be " + + "fabricated as a last resort. Be warned that AeroCorp has some of " + + "the most advanced security measures in the world.", + baseDifficulty:2500, reqdRank:5e3, + rankGain:60, rankLoss:15, hpLoss:50, + weights:{hack:0.2,str:0.15,def:0.15,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isStealth:true + }); + BlackOperations["Operation X"] = new BlackOperation({ + name:"Operation X", + desc:"We have recently discovered an underground publication " + + "group called Samizdat. Even though most of their publications " + + "are nonsensical conspiracy theories, the average human is " + + "gullible enough to believe them. Many of their works discuss " + + "Synthoids and pose a threat to society. The publications are spreading " + + "rapidly in China and other Eastern countries.

" + + "Samizdat has done a good job of keeping hidden and anonymous. " + + "However, we've just received intelligence that their base of " + + "operations is in Ishima's underground sewer systems. Your task is to " + + "investigate the sewer systems, and eliminate Samizdat. They must " + + "never publish anything again.", + baseDifficulty:3000, reqdRank:7.5e3, + rankGain:75, rankLoss:15, hpLoss:100, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Titan"] = new BlackOperation({ + name:"Operation Titan", + desc:"Several months ago Titan Laboratories' Bioengineering department " + + "was infiltrated by Synthoids. As far as we know, Titan Laboratories' " + + "management has no knowledge about this. We don't know what the " + + "Synthoids are up to, but the research that they could " + + "be conducting using Titan Laboraties' vast resources is potentially " + + "very dangerous.

" + + "Your goal is to enter and destroy the Bioengineering department's " + + "facility in Aevum. The task is not just to retire the Synthoids there, but " + + "also to destroy any information or research at the facility that " + + "is relevant to the Synthoids and their goals.", + baseDifficulty:4000, reqdRank:10e3, + rankGain:100, rankLoss:20, hpLoss:100, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Ares"] = new BlackOperation({ + name:"Operation Ares", + desc:"One of our undercover agents, Agent Carter, has informed us of a " + + "massive weapons deal going down in Dubai between rogue Russian " + + "militants and a radical Synthoid community. These weapons are next-gen " + + "plasma and energy weapons. It is critical for the safety of humanity " + + "that this deal does not happen.

" + + "Your task is to intercept the deal. Leave no survivors.", + baseDifficulty:5000, reqdRank:12.5e3, + rankGain:125, rankLoss:20, hpLoss:200, + weights:{hack:0,str:0.25,def:0.25,dex:0.25,agi:0.25,cha:0, int:0}, + decays:{hack:0,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Archangel"] = new BlackOperation({ + name:"Operation Archangel", + desc:"Our analysts have discovered that the popular Red Rabbit brothel in " + + "Amsterdam is run and 'staffed' by MK-VI Synthoids. Intelligence " + + "suggests that the profit from this brothel is used to fund a large " + + "black market arms trafficking operation.

" + + "The goal of this operation is to take out the leaders that are running " + + "the Red Rabbit brothel. Try to limit the number of other casualties, " + + "but do what you must to complete the mission.", + baseDifficulty:7500, reqdRank:15e3, + rankGain:200, rankLoss:20, hpLoss:25, + weights:{hack:0,str:0.2,def:0.2,dex:0.3,agi:0.3,cha:0, int:0}, + decays:{hack:0,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true, + }); + BlackOperations["Operation Juggernaut"] = new BlackOperation({ + name:"Operation Juggernaut", + desc:"The CIA has just encountered a new security threat. A new " + + "criminal group, lead by a shadowy operative who calls himself " + + "Juggernaut, has been smuggling drugs and weapons (including " + + "suspected bioweapons) into Sector-12. We also have reason " + + "to believe the tried to break into one of Universal Energy's " + + "facilities in order to cause a city-wide blackout. The CIA " + + "suspects that Juggernaut is a heavily-augmented Synthoid, and " + + "have thus enlisted our help.

" + + "Your mission is to eradicate Juggernaut and his followers.", + baseDifficulty:10e3, reqdRank:20e3, + rankGain:300, rankLoss:40, hpLoss:300, + weights:{hack:0,str:0.25,def:0.25,dex:0.25,agi:0.25,cha:0, int:0}, + decays:{hack:0,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true, + }); + BlackOperations["Operation Red Dragon"] = new BlackOperation({ + name:"Operation Red Dragon", + desc:"The Tetrads criminal organization is suspected of " + + "reverse-engineering the MK-VI Synthoid design. We believe " + + "they altered and possibly improved the design and began " + + "manufacturing their own Synthoid models in order to bolster " + + "their criminal activities.

" + + "Your task is to infiltrate and destroy the Tetrads' base of operations " + + "in Los Angeles. Intelligence tells us that their base houses " + + "one of their Synthoid manufacturing units.", + baseDifficulty:12.5e3, reqdRank:25e3, + rankGain:500, rankLoss:50, hpLoss:500, + weights:{hack:0.05,str:0.2,def:0.2,dex:0.25,agi:0.25,cha:0, int:0.05}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true, + }); + BlackOperations["Operation K"] = new BlackOperation({ + name:"Operation K", + desc:"CODE RED SITUATION. Our intelligence tells us that VitaLife " + + "has discovered a new android cloning technology. This technology " + + "is supposedly capable of cloning Synthoid, not only physically " + + "but also their advanced AI modules. We do not believe that " + + "VitaLife is trying to use this technology illegally or " + + "maliciously, but if any Synthoids were able to infiltrate the " + + "corporation and take advantage of this technology then the " + + "results would be catastrophic.

" + + "We do not have the power or jurisdiction to shutdown this down " + + "through legal or political means, so we must resort to a covert " + + "operation. Your goal is to destroy this technology and eliminate" + + "anyone who was involved in its creation.", + baseDifficulty:15e3, reqdRank:30e3, + rankGain:750, rankLoss:60, hpLoss:1000, + weights:{hack:0.05,str:0.2,def:0.2,dex:0.25,agi:0.25,cha:0, int:0.05}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Deckard"] = new BlackOperation({ + name:"Operation Deckard", + desc:"Despite your success in eliminating VitaLife's new android-replicating " + + "technology in Operation K, we've discovered that a small group of " + + "MK-VI Synthoids were able to make off with the schematics and design " + + "of the technology before the Operation. It is almost a certainty that " + + "these Synthoids are some of the rogue MK-VI ones from the Synthoid Uprising." + + "The goal of Operation Deckard is to hunt down these Synthoids and retire " + + "them. I don't need to tell you how critical this mission is.", + baseDifficulty:20e3, reqdRank:40e3, + rankGain:1e3, rankLoss:75, hpLoss:200, + weights:{hack:0,str:0.24,def:0.24,dex:0.24,agi:0.24,cha:0, int:0.04}, + decays:{hack:0,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true, + }); + BlackOperations["Operation Tyrell"] = new BlackOperation({ + name:"Operation Tyrell", + desc:"A week ago Blade Industries reported a small break-in at one " + + "of their Aevum Augmentation storage facitilities. We figured out " + + "that The Dark Army was behind the heist, and didn't think any more " + + "of it. However, we've just discovered that several known MK-VI Synthoids " + + "were part of that break-in group.

" + + "We cannot have Synthoids upgrading their already-enhanced abilities " + + "with Augmentations. Your task is to hunt down the associated Dark Army " + + "members and eliminate them.", + baseDifficulty:25e3, reqdRank:50e3, + rankGain:1.5e3, rankLoss:100, hpLoss:500, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true, + }); + BlackOperations["Operation Wallace"] = new BlackOperation({ + name:"Operation Wallace", + desc:"Based on information gathered from Operation Tyrell, we've discovered " + + "that The Dark Army was well aware that there were Synthoids amongst " + + "their ranks. Even worse, we believe that The Dark Army is working " + + "together with other criminal organizations such as The Syndicate and " + + "that they are planning some sort of large-scale takeover of multiple major " + + "cities, most notably Aevum. We suspect that Synthoids have infiltrated " + + "the ranks of these criminal factions and are trying to stage another " + + "Synthoid uprising.

" + + "The best way to deal with this is to prevent it before it even happens. " + + "The goal of Operation Wallace is to destroy the Dark Army and " + + "Syndicate factions in Aevum immediately. Leave no survivors.", + baseDifficulty:30e3, reqdRank:75e3, + rankGain:2e3, rankLoss:150, hpLoss:1500, + weights:{hack:0,str:0.24,def:0.24,dex:0.24,agi:0.24,cha:0, int:0.04}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Shoulder of Orion"] = new BlackOperation({ + name:"Operation Shoulder of Orion", + desc:"China's Solaris Space Systems is secretly launching the first " + + "manned spacecraft in over a decade using Synthoids. We believe " + + "China is trying to establish the first off-world colonies.

" + + "The mission is to prevent this launch without instigating an " + + "international conflict. When you accept this mission you will be " + + "officially disavowed by the NSA and the national government until after you " + + "successfully return. In the event of failure, all of the operation's " + + "team members must not let themselves be captured alive.", + baseDifficulty:35e3, reqdRank:100e3, + rankGain:2.5e3, rankLoss:500, hpLoss:1500, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isStealth:true + }); + BlackOperations["Operation Hyron"] = new BlackOperation({ + name:"Operation Hyron", + desc:"Our intelligence tells us that Fulcrum Technologies is developing " + + "a quantum supercomputer using human brains as core " + + "processors. This supercomputer " + + "is rumored to be able to store vast amounts of data and " + + "perform computations unmatched by any other supercomputer on the " + + "planet. But more importantly, the use of organic human brains " + + "means that the supercomputer may be able to reason abstractly " + + "and become self-aware.

" + + "I do not need to remind you why sentient-level AIs pose a serious " + + "thread to all of mankind.

" + + "The research for this project is being conducted at one of Fulcrum " + + "Technologies secret facilities in Aevum, codenamed 'Alpha Ranch'. " + + "Infiltrate the compound, delete and destroy the work, and then find and kill the " + + "project lead.", + baseDifficulty:40e3, reqdRank:125e3, + rankGain:3e3, rankLoss:1e3, hpLoss:500, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Morpheus"] = new BlackOperation({ + name:"Operation Morpheus", + desc:"DreamSense Technologies is an advertising company that uses " + + "special technology to transmit their ads into the peoples " + + "dreams and subconcious. They do this using broadcast transmitter " + + "towers. Based on information from our agents and informants in " + + "Chonqging, we have reason to believe that one of the broadcast " + + "towers there has been compromised by Synthoids and is being used " + + "to spread pro-Synthoid propaganda.

" + + "The mission is to destroy this broadcast tower. Speed and " + + "stealth are of the upmost important for this.", + baseDifficulty:45e3, reqdRank:150e3, + rankGain:4e3, rankLoss:1e3, hpLoss:100, + weights:{hack:0.05,str:0.15,def:0.15,dex:0.3,agi:0.3,cha:0, int:0.05}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isStealth:true + }); + BlackOperations["Operation Ion Storm"] = new BlackOperation({ + name:"Operation Ion Storm", + desc:"Our analysts have uncovered a gathering of MK-VI Synthoids " + + "that have taken up residence in the Sector-12 Slums. We " + + "don't know if they are rogue Synthoids from the Uprising, " + + "but we do know that they have been stockpiling " + + "weapons, money, and other resources. This makes them dangerous.

" + + "This is a full-scale assault operation to find and retire all of these " + + "Synthoids in the Sector-12 Slums.", + baseDifficulty:50e3, reqdRank:175e3, + rankGain:5e3, rankLoss:1e3, hpLoss:5000, + weights:{hack:0,str:0.24,def:0.24,dex:0.24,agi:0.24,cha:0, int:0.04}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Annihilus"] = new BlackOperation({ + name:"Operation Annihilus", + desc:"Our superiors have ordered us to eradicate everything and everyone " + + "in an underground facility located in Aevum. They tell us " + + "that the facility houses many dangerous Synthoids and " + + "belongs to a terrorist organization called " + + "'The Covenant'. We have no prior intelligence about this " + + "organization, so you are going in blind.", + baseDifficulty:55e3, reqdRank:200e3, + rankGain:7.5e3, rankLoss:1e3, hpLoss:10e3, + weights:{hack:0,str:0.24,def:0.24,dex:0.24,agi:0.24,cha:0, int:0.04}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Ultron"] = new BlackOperation({ + name:"Operation Ultron", + desc:"OmniTek Incorporated, the original designer and manufacturer of Synthoids, " + + "has notified us of a malfunction in their AI design. This malfunction, " + + "when triggered, causes MK-VI Synthoids to become radicalized and seek out " + + "the destruction of humanity. They say that this bug affects all MK-VI Synthoids, " + + "not just the rogue ones from the Uprising.

" + + "OmniTek has also told us they they believe someone has triggered this " + + "malfunction in a large group of MK-VI Synthoids, and that these newly-radicalized Synthoids " + + "are now amassing in Volhaven to form a terrorist group called Ultron.

" + + "Intelligence suggests Ultron is heavily armed and that their members are " + + "augmented. We believe Ultron is making moves to take control of " + + "and weaponize DeltaOne's Tactical High-Energy Satellite Laser Array (THESLA).

" + + "Your task is to find and destroy Ultron.", + baseDifficulty:60e3, reqdRank:250e3, + rankGain:10e3, rankLoss:2e3, hpLoss:10e3, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + isKill:true + }); + BlackOperations["Operation Centurion"] = new BlackOperation({ + name:"Operation Centurion", + desc:"D)@#)($M)C0293c40($*)@#D0JUMP3Rm0C<*@#)*$)#02c94830c(#$*D)

" + + "Throughout all of humanity's history, we have relied on " + + "technology to survive, conquer, and progress. Its advancement became our primary goal. " + + "And at the peak of human civilization technology turned into " + + "power. Global, absolute power.

" + + "It seems that the universe is not without a sense of irony.

" + + "D)@#)($M)C0293c40($*)@#D0JUMP3Rm0C<*@#)*$)#02c94830c(#$*D)", + baseDifficulty:70e3, reqdRank:300e3, + rankGain:15e3, rankLoss:5e3, hpLoss:10e3, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + }); + BlackOperations["Operation Vindictus"] = new BlackOperation({ + name:"Operation Vindictus", + desc:"D)@#)($M)C0293c40($*)@#D0JUMP3Rm0C<*@#)*$)#02c94830c(#$*D)

" + + "The bits are all around us. The daemons that hold the Node " + + "together can manifest themselves in many different ways.

" + + "D)@#)($M)C0293c40($*)@#D0JUMP3Rm0C<*@#)*$)#02c94830c(#$*D)", + baseDifficulty:75e3, reqdRank:350e3, + rankGain:20e3, rankLoss:20e3, hpLoss:20e3, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + }); + BlackOperations["Operation Daedalus"] = new BlackOperation({ + name:"Operation Daedalus", + desc:"Yesterday we obeyed kings and bent our neck to emperors. " + + "Today we kneel only to truth.", + baseDifficulty:80e3, reqdRank:400e3, + rankGain:40e3, rankLoss:10e3, hpLoss:100e3, + weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, + decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, + }); +} + + + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) + +/***/ }), +/* 35 */ /*!***********************!*\ !*** ./src/Script.js ***! \***********************/ @@ -13228,54 +15088,54 @@ exports.removeChildrenFromElement = removeChildrenFromElement; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return isScriptFilename; }); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _Fconf__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Fconf */ 47); -/* harmony import */ var _InteractiveTutorial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractiveTutorial */ 34); -/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NetscriptEvaluator */ 6); -/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./NetscriptFunctions */ 43); -/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./NetscriptWorker */ 26); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _Fconf__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Fconf */ 50); +/* harmony import */ var _InteractiveTutorial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractiveTutorial */ 38); +/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./NetscriptEvaluator */ 7); +/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./NetscriptFunctions */ 47); +/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./NetscriptWorker */ 29); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Settings */ 18); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Settings */ 20); /* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ui/postToTerminal */ 7); +/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ui/postToTerminal */ 8); /* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_ui_postToTerminal__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./TextFile */ 65); +/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./TextFile */ 69); /* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_TextFile__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/acorn */ 49); +/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/acorn */ 52); /* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_acorn__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ui/navigationTracking */ 12); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ui/navigationTracking */ 14); /* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_13__); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); -/* harmony import */ var _utils_helpers_compareArrays__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/helpers/compareArrays */ 93); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/JSONReviver */ 15); +/* harmony import */ var _utils_helpers_compareArrays__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/helpers/compareArrays */ 99); /* harmony import */ var _utils_helpers_compareArrays__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_compareArrays__WEBPACK_IMPORTED_MODULE_17__); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/helpers/getTimestamp */ 89); +/* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/helpers/getTimestamp */ 93); /* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/helpers/roundToTwo */ 83); +/* harmony import */ var _utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/helpers/roundToTwo */ 88); /* harmony import */ var _utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_20__); -var ace = __webpack_require__(/*! brace */ 274); -var beautify = __webpack_require__(/*! js-beautify */ 273).js_beautify; -__webpack_require__(/*! brace/mode/javascript */ 272); -__webpack_require__(/*! ../netscript */ 202); -__webpack_require__(/*! brace/theme/chaos */ 271); -__webpack_require__(/*! brace/theme/chrome */ 270); -__webpack_require__(/*! brace/theme/monokai */ 269); -__webpack_require__(/*! brace/theme/solarized_dark */ 268); -__webpack_require__(/*! brace/theme/solarized_light */ 267); -__webpack_require__(/*! brace/theme/terminal */ 266); -__webpack_require__(/*! brace/theme/twilight */ 265); -__webpack_require__(/*! brace/theme/xcode */ 264); -__webpack_require__(/*! brace/keybinding/vim */ 263); -__webpack_require__(/*! brace/keybinding/emacs */ 262); -__webpack_require__(/*! brace/ext/language_tools */ 261); +var ace = __webpack_require__(/*! brace */ 293); +var beautify = __webpack_require__(/*! js-beautify */ 292).js_beautify; +__webpack_require__(/*! brace/mode/javascript */ 291); +__webpack_require__(/*! ../netscript */ 221); +__webpack_require__(/*! brace/theme/chaos */ 290); +__webpack_require__(/*! brace/theme/chrome */ 289); +__webpack_require__(/*! brace/theme/monokai */ 288); +__webpack_require__(/*! brace/theme/solarized_dark */ 287); +__webpack_require__(/*! brace/theme/solarized_light */ 286); +__webpack_require__(/*! brace/theme/terminal */ 285); +__webpack_require__(/*! brace/theme/twilight */ 284); +__webpack_require__(/*! brace/theme/xcode */ 283); +__webpack_require__(/*! brace/keybinding/vim */ 282); +__webpack_require__(/*! brace/keybinding/emacs */ 281); +__webpack_require__(/*! brace/ext/language_tools */ 280); // Importing this doesn't work for some reason. -const walk = __webpack_require__(/*! acorn/dist/walk */ 149); +const walk = __webpack_require__(/*! acorn/dist/walk */ 162); @@ -14356,4275 +16216,10 @@ _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_16__["Reviver"].constructors.AllServ -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 32 */ -/*!****************************!*\ - !*** ./src/Bladeburner.js ***! - \****************************/ -/*! exports provided: Bladeburner */ -/*! exports used: Bladeburner */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Bladeburner; }); -/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentations */ 21); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Constants */ 1); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Faction/Faction */ 57); -/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Faction_Faction__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Faction/Factions */ 14); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 46); -/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Locations */ 5); -/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./RedPill */ 59); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/helpers/keyCodes */ 25); -/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/helpers/createProgressBarText */ 85); -/* harmony import */ var _utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 30); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); -/* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/helpers/addOffset */ 66); -/* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var _utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/uiHelpers/appendLineBreaks */ 52); -/* harmony import */ var _utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/helpers/clearObject */ 80); -/* harmony import */ var _utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 36); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_20__); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./ui/navigationTracking */ 12); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 44); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 15); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/helpers/getTimestamp */ 89); -/* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils/uiHelpers/removeElement */ 61); -/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_26__); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 20); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -var CityNames = ["Aevum", "Chongqing", "Sector-12", "New Tokyo", "Ishima", "Volhaven"]; - -var CyclesPerSecond = 5; //Game cycle is 200 ms - -var StaminaGainPerSecond = 0.0085; -var BaseStaminaLoss = 0.285; //Base stamina loss per action. Increased based on difficulty -var MaxStaminaToGainFactor = 70000; //Max Stamina is divided by this to get bonus stamina gain - -var DifficultyToTimeFactor = 10; //Action Difficulty divided by this to get base action time - -//The difficulty multiplier affects stamina loss and hp loss of an action. Also affects -//experience gain. Its formula is: -//difficulty ^ exponentialFactor + difficulty / linearFactor -var DiffMultExponentialFactor = 0.28; -var DiffMultLinearFactor = 650; - -var EffAgiLinearFactor = 40e3; -var EffDexLinearFactor = 40e3; -var EffAgiExponentialFactor = 0.032; -var EffDexExponentialFactor = 0.03; - -var BaseRecruitmentTimeNeeded = 300; //Base time needed (s) to complete a Recruitment action - -var PopulationThreshold = 1e9; //Population at which success rates start being affected -var ChaosThreshold = 50; //City chaos level after which it starts making tasks harder - -var BaseStatGain = 1; //Base stat gain per second -var BaseIntGain = 0.001; //Base intelligence stat gain - -var ActionCountGrowthPeriod = 300; //Time (s) it takes for action count to grow by its specified value - -var RankToFactionRepFactor = 2; //Delta Faction Rep = this * Delta Rank -var RankNeededForFaction = 25; - -var ContractSuccessesPerLevel = 3.5; //How many successes you need to level up a contract -var OperationSuccessesPerLevel = 3; //How many successes you need to level up an op - -var RanksPerSkillPoint = 4; //How many ranks needed to get 1 Skill Point - -var ContractBaseMoneyGain = 50e3; //Base Money Gained per contract - -//DOM related variables -var ActiveActionCssClass = "bladeburner-active-action"; - -//Console related stuff -var consoleHistoryIndex = 0; -var consoleHelpText = { - helpList:"Use 'help [command]' to get more information about a particular Bladeburner console command.

" + - "automate [var] [val] [hi/low] Configure simple automation for Bladeburner tasks
" + - "clear/cls Clear the console
" + - "help [cmd] Display this help text, or help text for a specific command
" + - "log [en/dis] [type] Enable or disable logging for events and actions
" + - "skill [action] [name] Level or display info about your Bladeburner skills
" + - "start [type] [name] Start a Bladeburner action/task
" + - "stop Stops your current Bladeburner action/task
", - automate:"automate [var] [val] [hi/low]

" + - "A simple way to automate your Bladeburner actions. This console command can be used " + - "to automatically start an action when your stamina rises above a certain threshold, and " + - "automatically switch to another action when your stamina drops below another threshold.

" + - "automate status - Check the current status of your automation and get a brief description of what it'll do
" + - "automate en - Enable the automation feature
" + - "automate dis - Disable the automation feature

" + - "There are four properties that must be set for this automation to work properly. Here is how to set them:

" + - "automate stamina 100 high
" + - "automate contract Tracking high
" + - "automate stamina 50 low
" + - 'automate general "Field Analysis" low

' + - "Using the four console commands above will set the automation to perform Tracking contracts " + - "if your stamina is 100 or higher, and then switch to Field Analysis if your stamina drops below " + - "50. Note that when setting the action, the name of the action is CASE-SENSITIVE. It must " + - "exactly match whatever the name is in the UI.", - clear:"clear

Clears the console", - cls:"cls

Clears the console", - help:"help [command]

" + - "Running 'help' with no arguments displays the general help text, which lists all console commands " + - "and a brief description of what they do. A command can be specified to get more specific help text " + - "about that particular command. For example:

" + - "help automate

" + - "will display specific information about using the automate console command", - log:"log [en/dis] [type]

" + - "Enable or disable logging. By default, the results of completing actions such as contracts/operations are logged " + - "in the console. There are also random events that are logged in the console as well. The five categories of " + - "things that get logged are:

" + - "[general, contracts, ops, blackops, events]

" + - "The logging for these categories can be enabled or disabled like so:

" + - "log dis contracts - Disables logging that occurs when contracts are completed
" + - "log en contracts - Enables logging that occurs when contracts are completed
" + - "log dis events - Disables logging for Bladeburner random events

" + - "Logging can be universally enabled/disabled using the 'all' keyword:

" + - "log dis all
" + - "log en all", - skill:"skill [action] [name]

" + - "Level or display information about your skills.

" + - "To display information about all of your skills and your multipliers, use:

" + - "skill list

" + - "To display information about a specific skill, specify the name of the skill afterwards. " + - "Note that the name of the skill is case-sensitive. Enter it exactly as seen in the UI. If " + - "the name of the skill has whitespace, enclose the name of the skill in double quotation marks:

" + - "skill list Reaper
" + - 'skill list "Digital Observer"

' + - "This console command can also be used to level up skills:

" + - "skill level [skill name]", - start:"start [type] [name]

" + - "Start an action. An action is specified by its type and its name. The " + - "name is case-sensitive. It must appear exactly as it does in the UI. If " + - "the name of the action has whitespace, enclose it in double quotation marks. " + - "Valid action types include:

" + - "[general, contract, op, blackop]

" + - "Examples:

" + - 'start contract Tracking
' + - 'start op "Undercover Operation"
', - stop:"stop

" + - "Stop your current action and go idle", -} - -//Keypresses for Console -$(document).keydown(function(event) { - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["Page"].Bladeburner)) { - //if (DomElems.consoleInput && !event.ctrlKey && !event.shiftKey && !event.altKey) { - // DomElems.consoleInput.focus(); - //} - - if (!(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner instanceof Bladeburner)) {return;} - let consoleHistory = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner.consoleHistory; - - //NOTE: Keycodes imported from Terminal.js - if (event.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_11__["KEY"].ENTER) { - event.preventDefault(); - var command = DomElems.consoleInput.value; - if (command.length > 0) { - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner.postToConsole("> " + command); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner.resetConsoleInput(); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner.executeConsoleCommands(command); - } - } - - if (event.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_11__["KEY"].UPARROW) { - if (DomElems.consoleInput == null) {return;} - var i = consoleHistoryIndex; - var len = consoleHistory.length; - - if (len === 0) {return;} - if (i < 0 || i > len) { - consoleHistoryIndex = len; - } - - if (i !== 0) { - --consoleHistoryIndex; - } - - var prevCommand = consoleHistory[consoleHistoryIndex]; - DomElems.consoleInput.value = prevCommand; - setTimeout(function(){DomElems.consoleInput.selectionStart = DomElems.consoleInput.selectionEnd = 10000; }, 0); - } - - if (event.keyCode === _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_11__["KEY"].DOWNARROW) { - if (DomElems.consoleInput == null) {return;} - var i = consoleHistoryIndex; - var len = consoleHistory.length; - - if (len == 0) {return;} - if (i < 0 || i > len) { - consoleHistoryIndex = len; - } - - //Latest command, put nothing - if (i == len || i == len-1) { - consoleHistoryIndex = len; - DomElems.consoleInput.value = ""; - } else { - ++consoleHistoryIndex; - var prevCommand = consoleHistory[consoleHistoryIndex]; - DomElems.consoleInput.value = prevCommand; - } - } - } -}); - -function City(params={}) { - this.name = params.name ? params.name : _Locations__WEBPACK_IMPORTED_MODULE_7__["Locations"].Sector12; - - //Synthoid population and estimate - this.pop = params.pop ? params.pop : Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(800e6, 1.2*PopulationThreshold); - this.popEst = this.pop * (Math.random() + 0.5); - - //Number of Synthoid communities population and estimate - this.comms = params.comms ? params.comms : Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(5, 100); - this.commsEst = this.comms + Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(-5, 5); - if (this.commsEst < 0) {this.commsEst = 0;} - this.chaos = 0; -} - -City.prototype.improvePopulationEstimateByCount = function(n) { - if (isNaN(n)) {throw new Error("NaN passeed into City.improvePopulationEstimateByCount()");} - if (this.popEst < this.pop) { - this.popEst += n; - if (this.popEst > this.pop) {this.popEst = this.pop;} - } else if (this.popEst > this.pop) { - this.popEst -= n; - if (this.popEst < this.pop) {this.popEst = this.pop;} - } -} - -//@p is the percentage, not the multiplier. e.g. pass in p = 5 for 5% -City.prototype.improvePopulationEstimateByPercentage = function(p, skillMult=1) { - p = p*skillMult; - if (isNaN(p)) {throw new Error("NaN passed into City.improvePopulationEstimateByPercentage()");} - if (this.popEst < this.pop) { - ++this.popEst; //In case estimate is 0 - this.popEst *= (1 + (p/100)); - if (this.popEst > this.pop) {this.popEst = this.pop;} - } else if (this.popEst > this.pop) { - this.popEst *= (1 - (p/100)); - if (this.popEst < this.pop) {this.popEst = this.pop;} - } -} - -City.prototype.improveCommunityEstimate = function(n=1) { - if (isNaN(n)) {throw new Error("NaN passed into City.improveCommunityEstimate()");} - if (this.commsEst < this.comms) { - this.commsEst += n; - if (this.commsEst > this.comms) {this.commsEst = this.comms;} - } else if (this.commsEst > this.comms) { - this.commsEst -= n; - if (this.commsEst < this.comms) {this.commsEst = this.comms;} - } -} - -//@params options: -// estChange(int): How much the estimate should change by -// estOffset(int): Add offset to estimate (offset by percentage) -City.prototype.changePopulationByCount = function(n, params={}) { - if (isNaN(n)) {throw new Error("NaN passed into City.changePopulationByCount()");} - this.pop += n; - if (params.estChange && !isNaN(params.estChange)) {this.popEst += params.estChange;} - if (params.estOffset) { - this.popEst = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__["addOffset"])(this.popEst, params.estOffset); - } - this.popEst = Math.max(this.popEst, 0); -} - -//@p is the percentage, not the multiplier. e.g. pass in p = 5 for 5% -//@params options: -// changeEstEqually(bool) - Change the population estimate by an equal amount -// nonZero (bool) - Set to true to ensure that population always changes by at least 1 -City.prototype.changePopulationByPercentage = function(p, params={}) { - if (isNaN(p)) {throw new Error("NaN passed into City.changePopulationByPercentage()");} - if (p === 0) {return;} - var change = Math.round(this.pop * (p/100)); - - //Population always changes by at least 1 - if (params.nonZero && change === 0) { - p > 0 ? change = 1 : change = -1; - } - - this.pop += change; - if (params.changeEstEqually) { - this.popEst += change; - if (this.popEst < 0) {this.popEst = 0;} - } - return change; -} - -City.prototype.changeChaosByCount = function(n) { - if (isNaN(n)) {throw new Error("NaN passed into City.changeChaosByCount()");} - if (n === 0) {return;} - this.chaos += n; - if (this.chaos < 0) {this.chaos = 0;} -} - -//@p is the percentage, not the multiplier (e.g. pass in p = 5 for 5%) -City.prototype.changeChaosByPercentage = function(p) { - if (isNaN(p)) {throw new Error("NaN passed into City.chaosChaosByPercentage()");} - if (p === 0) {return;} - var change = this.chaos * (p/100); - this.chaos += change; - if (this.chaos < 0) {this.chaos = 0;} -} - -City.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_toJSON"])("City", this); -} -City.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_fromJSON"])(City, value.data); -} -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Reviver"].constructors.City = City; - -function Skill(params={name:"foo", desc:"foo"}) { - if (params.name) { - this.name = params.name; - } else { - throw new Error("Failed to initialize Bladeburner Skill. No name was specified in ctor"); - } - if (params.desc) { - this.desc = params.desc; - } else { - throw new Error("Failed to initialize Bladeburner Skills. No desc was specified in ctor"); - } - this.baseCost = params.baseCost ? params.baseCost : 1; //Cost is in Skill Points - this.costInc = params.costInc ? params.costInc : 1; //Additive cost increase per level - - if (params.maxLvl) {this.maxLvl = params.maxLvl;} - - //These benefits are additive. So total multiplier will be level (handled externally) times the - //effects below - if (params.successChanceAll) {this.successChanceAll = params.successChanceAll;} - if (params.successChanceStealth) {this.successChanceStealth = params.successChanceStealth;} - if (params.successChanceKill) {this.successChanceKill = params.successChanceKill;} - if (params.successChanceContract) {this.successChanceContract = params.successChanceContract;} - if (params.successChanceOperation) {this.successChanceOperation = params.successChanceOperation;} - - //This multiplier affects everything that increases synthoid population/community estimate - //e.g. Field analysis, Investigation Op, Undercover Op - if (params.successChanceEstimate) {this.successChanceEstimate = params.successChanceEstimate;} - - if (params.actionTime) {this.actionTime = params.actionTime;} - if (params.effHack) {this.effHack = params.effHack;} - if (params.effStr) {this.effStr = params.effStr;} - if (params.effDef) {this.effDef = params.effDef;} - if (params.effDex) {this.effDex = params.effDex;} - if (params.effAgi) {this.effAgi = params.effAgi;} - if (params.effCha) {this.effCha = params.effCha;} - - if (params.stamina) {this.stamina = params.stamina;} - - //Equipment - if (params.weaponAbility) {this.weaponAbility = params.weaponAbility;} - if (params.gunAbility) {this.gunAbility = params.gunAbility;} -} - -Skill.prototype.calculateCost = function(currentLevel) { - return Math.floor((this.baseCost + (currentLevel * this.costInc)) * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].BladeburnerSkillCost); -} -var Skills = {}; -var SkillNames = { - BladesIntuition: "Blade's Intuition", - Reaper: "Reaper", - Cloak: "Cloak", - Marksman: "Marksman", - WeaponProficiency: "Weapon Proficiency", - Overclock: "Overclock", - EvasiveSystem: "Evasive System", - ShortCircuit: "Short-Circuit", - DigitalObserver: "Digital Observer", - Datamancer: "Datamancer", - Tracer: "Tracer", - CybersEdge: "Cyber's Edge" -} - -//Base Class for Contracts, Operations, and BlackOps -function Action(params={}) { - this.name = params.name ? params.name : ""; - this.desc = params.desc ? params.desc : ""; - - //Difficulty scales with level - //Exact formula is not set in stone - //Initial design: baseDifficulty * (difficultyFac ^ level)? - //difficulty Fac is slightly greater than 1 - this.level = 1; - this.maxLevel = 1; - this.autoLevel = true; - this.baseDifficulty = params.baseDifficulty ? Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__["addOffset"])(params.baseDifficulty, 10) : 100; - this.difficultyFac = params.difficultyFac ? params.difficultyFac : 1.01; - - //Rank increase/decrease is affected by this exponent - this.rewardFac = params.rewardFac ? params.rewardFac : 1.02; - - this.successes = 0; - this.failures = 0; - - //All of these scale with level/difficulty - this.rankGain = params.rankGain ? params.rankGain : 0; - if (params.rankLoss) {this.rankLoss = params.rankLoss;} - if (params.hpLoss) { - this.hpLoss = params.hpLoss; - this.hpLost = 0; - } - - //Action Category. Current categories are stealth and kill - this.isStealth = params.isStealth ? true : false; - this.isKill = params.isKill ? true : false; - - //Number of this contract remaining, and its growth rate - //Growth rate is an integer and the count will increase by that integer every "cycle" - this.count = params.count ? params.count : Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1e3, 25e3); - this.countGrowth = params.countGrowth ? params.countGrowth : Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 5); - - //Weighting of each stat in determining action success rate - var defaultWeights = {hack:1/7,str:1/7,def:1/7,dex:1/7,agi:1/7,cha:1/7,int:1/7}; - this.weights = params.weights ? params.weights : defaultWeights; - - //Check to make sure weights are summed properly - var sum = 0; - for (var weight in this.weights) { - if (this.weights.hasOwnProperty(weight)) { - sum += this.weights[weight]; - } - } - if (sum - 1 >= 10 * Number.EPSILON) { - throw new Error("Invalid weights when constructing Action " + this.name + - ". The weights should sum up to 1. They sum up to :" + 1); - } - - //Diminishing returns of stats (stat ^ decay where 0 <= decay <= 1) - var defaultDecays = {hack:0.9,str:0.9,def:0.9,dex:0.9,agi:0.9,cha:0.9,int:0.9}; - this.decays = params.decays ? params.decays : defaultDecays; - for (var decay in this.decays) { - if (this.decays.hasOwnProperty(decay)) { - if (this.decays[decay] > 1) { - throw new Error("Invalid decays when constructing " + - "Action " + this.name + ". " + - "Decay value cannot be greater than 1"); - } - } - } -} - -Action.prototype.getDifficulty = function() { - var difficulty = this.baseDifficulty * Math.pow(this.difficultyFac, this.level-1); - if (isNaN(difficulty)) {throw new Error("Calculated NaN in Action.getDifficulty()");} - return difficulty; -} - -//@inst - Bladeburner Object -//@params - options: -// est (bool): Get success chance estimate instead of real success chance -Action.prototype.getSuccessChance = function(inst, params={}) { - if (inst == null) {throw new Error("Invalid Bladeburner instance passed into Action.getSuccessChance");} - var difficulty = this.getDifficulty(); - var competence = 0; - for (var stat in this.weights) { - if (this.weights.hasOwnProperty(stat)) { - var playerStatLvl = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queryStatFromString(stat); - var key = "eff" + stat.charAt(0).toUpperCase() + stat.slice(1); - var effMultiplier = inst.skillMultipliers[key]; - if (effMultiplier == null) { - console.log("ERROR: Failed to find Bladeburner Skill multiplier for: " + stat); - effMultiplier = 1; - } - competence += (this.weights[stat] * Math.pow(effMultiplier*playerStatLvl, this.decays[stat])); - } - } - competence *= inst.calculateStaminaPenalty(); - - //For Operations, factor in team members - if (this instanceof Operation || this instanceof BlackOperation) { - if (this.teamCount && this.teamCount > 0) { - this.teamCount = Math.min(this.teamCount, inst.teamSize); - var teamMultiplier = Math.pow(this.teamCount, 0.05); - competence *= teamMultiplier; - } - } - - //Lower city population results in lower chances - if (!(this instanceof BlackOperation)) { - var city = inst.getCurrentCity(); - if (params.est) { - competence *= (city.popEst / PopulationThreshold); - } else { - competence *= (city.pop / PopulationThreshold); - } - - //Too high of a chaos results in lower chances - if (city.chaos > ChaosThreshold) { - var diff = 1 + (city.chaos - ChaosThreshold); - var mult = Math.pow(diff, 0.1); - difficulty *= mult; - } - - //For Raid Operations, no communities = fail - if (this instanceof Operation && this.name === "Raid") { - if (city.comms <= 0) {return 0;} - } - } - - //Factor skill multipliers into success chance - competence *= inst.skillMultipliers.successChanceAll; - if (this instanceof Operation || this instanceof BlackOperation) { - competence *= inst.skillMultipliers.successChanceOperation; - } - if (this instanceof Contract) { - competence *= inst.skillMultipliers.successChanceContract; - } - if (this.isStealth) { - competence *= inst.skillMultipliers.successChanceStealth; - } - if (this.isKill) { - competence *= inst.skillMultipliers.successChanceKill; - } - - //Augmentation multiplier - competence *= _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner_success_chance_mult; - - if (isNaN(competence)) {throw new Error("Competence calculated as NaN in Action.getSuccessChance()");} - return Math.min(1, competence / difficulty); -} - -//Tests for success. Should be called when an action has completed -// @inst - Bladeburner Object -Action.prototype.attempt = function(inst) { - return (Math.random() < this.getSuccessChance(inst)); -} - -Action.prototype.getActionTime = function(inst) { - var difficulty = this.getDifficulty(); - var baseTime = difficulty / DifficultyToTimeFactor; - var skillFac = inst.skillMultipliers.actionTime; //Always < 1 - - var effAgility = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].agility * inst.skillMultipliers.effAgi; - var effDexterity = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].dexterity * inst.skillMultipliers.effDex; - var statFac = 0.5 * (Math.pow(effAgility, EffAgiExponentialFactor) + - Math.pow(effDexterity, EffDexExponentialFactor) + - (effAgility / EffAgiLinearFactor) + - (effDexterity / EffDexLinearFactor)); //Always > 1 - - baseTime = Math.max(1, baseTime * skillFac / statFac); - - if (this instanceof Contract) { - return Math.ceil(baseTime); - } else if (this instanceof Operation) { - return Math.ceil(baseTime); - } else if (this instanceof BlackOperation) { - return Math.ceil(baseTime * 1.5); - } else { - throw new Error("Unrecognized Action Type in Action.getActionTime(this). Must be either Contract, Operation, or BlackOperation"); - } -} - -Action.prototype.getSuccessesNeededForNextLevel = function(baseSuccessesPerLevel) { - return Math.ceil((0.5) * (this.maxLevel) * (2 * baseSuccessesPerLevel + (this.maxLevel-1))); -} - -Action.prototype.setMaxLevel = function(baseSuccessesPerLevel) { - if (this.successes >= this.getSuccessesNeededForNextLevel(baseSuccessesPerLevel)) { - ++this.maxLevel; - } -} - -Action.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_toJSON"])("Action", this); -} -Action.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_fromJSON"])(Action, value.data); -} -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Reviver"].constructors.Action = Action; -var GeneralActions = {}; //Training, Field Analysis, Recruitment, etc. - -//Action Identifier -var ActionTypes = Object.freeze({ - "Idle": 1, - "Contract": 2, - "Operation": 3, - "BlackOp": 4, - "BlackOperation": 4, - "Training": 5, - "Recruitment": 6, - "FieldAnalysis": 7, - "Field Analysis": 7 -}); -function ActionIdentifier(params={}) { - if (params.name) {this.name = params.name;} - if (params.type) {this.type = params.type;} -} -ActionIdentifier.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_toJSON"])("ActionIdentifier", this); -} -ActionIdentifier.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_fromJSON"])(ActionIdentifier, value.data); -} -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Reviver"].constructors.ActionIdentifier = ActionIdentifier; - -//Contracts -function Contract(params={}) { - Action.call(this, params); -} -Contract.prototype = Object.create(Action.prototype); -Contract.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_toJSON"])("Contract", this); -} -Contract.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_fromJSON"])(Contract, value.data); -} -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Reviver"].constructors.Contract = Contract; - -//Operations -function Operation(params={}) { - Action.call(this, params); - this.reqdRank = params.reqdRank ? params.reqdRank : 100; - this.teamCount = params.teamCount ? params.teamCount : 0; //# of team members to use -} -Operation.prototype = Object.create(Action.prototype); -Operation.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_toJSON"])("Operation", this); -} -Operation.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_fromJSON"])(Operation, value.data); -} -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Reviver"].constructors.Operation = Operation; - -//Black Operations -function BlackOperation(params={}) { - Operation.call(this, params); - - //Black ops are one time missions - this.count = 1; - this.countGrowth = 0; -} -BlackOperation.prototype = Object.create(Action.prototype); -BlackOperation.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_toJSON"])("BlackOperation", this); -} -BlackOperation.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_fromJSON"])(BlackOperation, value.data); -} -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Reviver"].constructors.BlackOperation = BlackOperation; -var BlackOperations = {}; - -function Bladeburner(params={}) { - this.numHosp = 0; //Number of hospitalizations - this.moneyLost = 0; //Money lost due to hospitalizations - this.rank = 0; - this.maxRank = 0; //Used to determine skill points - - this.skillPoints = 0; - this.totalSkillPoints = 0; - - this.teamSize = 0; //Number of team members - this.teamLost = 0; //Number of team members lost - - this.storedCycles = 0; - - this.randomEventCounter = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(240, 600); //4-10 minutes - - //These times are in seconds - this.actionTimeToComplete = 0; //0 or -1 is an infinite running action (like training) - this.actionTimeCurrent = 0; - - //ActionIdentifier Object - var idleActionType = ActionTypes["Idle"]; - this.action = new ActionIdentifier({type:idleActionType}); - - this.cities = {}; - for (var i = 0; i < CityNames.length; ++i) { - this.cities[CityNames[i]] = new City({name:CityNames[i]}); - } - this.city = _Locations__WEBPACK_IMPORTED_MODULE_7__["Locations"].Sector12; - - //Map of SkillNames -> level - this.skills = {}; - this.skillMultipliers = {}; - this.updateSkillMultipliers(); //Calls resetSkillMultipliers() - - //Max Stamina is based on stats and Bladeburner-specific bonuses - this.staminaBonus = 0; //Gained from training - this.maxStamina = 0; - this.calculateMaxStamina(); - this.stamina = this.maxStamina; - - //Contracts and Operations objects. These objects have unique - //properties because they are randomized in each instance and have stats like - //successes/failures, so they need to be saved/loaded by the game. - this.contracts = {}; - this.operations = {}; - - //Object that contains name of all Black Operations that have been completed - this.blackops = {}; - - //Flags for whether these actions should be logged to console - this.logging = { - general:true, - contracts:true, - ops:true, - blackops:true, - events:true, - } - - //Simple automation values - this.automateEnabled = false; - this.automateActionHigh = 0; - this.automateThreshHigh = 0; //Stamina Threshold - this.automateActionLow = 0; - this.automateThreshLow = 0; //Stamina Threshold - - //Console command history - this.consoleHistory = []; - this.consoleLogs = []; - - //Initialization - initBladeburner(); - this.initializeDomElementRefs(); - if (params.new) {this.create();} -} - -Bladeburner.prototype.prestige = function() { - this.resetAction(); - var bladeburnerFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]["Bladeburners"]; - if (this.rank >= RankNeededForFaction) { - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_6__[/* joinFaction */ "c"])(bladeburnerFac); - } -} - -Bladeburner.prototype.create = function() { - this.contracts["Tracking"] = new Contract({ - name:"Tracking", - desc:"Identify and locate Synthoids. This contract involves reconnaissance " + - "and information-gathering ONLY. Do NOT engage. Stealth is of the utmost importance.

" + - "Successfully completing Tracking contracts will slightly improve your Synthoid population estimate for " + - "whatever city you are currently in.", - baseDifficulty:125,difficultyFac:1.02,rewardFac:1.041, - rankGain:0.3, hpLoss:0.5, - count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(25, 500), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(5, 75)/10, - weights:{hack:0,str:0.05,def:0.05,dex:0.35,agi:0.35,cha:0.1, int:0.05}, - decays:{hack:0,str:0.91,def:0.91,dex:0.91,agi:0.91,cha:0.9, int:1}, - isStealth:true - }); - this.contracts["Bounty Hunter"] = new Contract({ - name:"Bounty Hunter", - desc:"Hunt down and capture fugitive Synthoids. These Synthoids are wanted alive.

" + - "Successfully completing a Bounty Hunter contract will lower the population in your " + - "current city, and will also increase its chaos level.", - baseDifficulty:250, difficultyFac:1.04,rewardFac:1.085, - rankGain:0.9, hpLoss:1, - count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(5, 500), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(5, 75)/10, - weights:{hack:0,str:0.15,def:0.15,dex:0.25,agi:0.25,cha:0.1, int:0.1}, - decays:{hack:0,str:0.91,def:0.91,dex:0.91,agi:0.91,cha:0.8, int:0.9}, - isKill:true - }); - this.contracts["Retirement"] = new Contract({ - name:"Retirement", - desc:"Hunt down and retire (kill) rogue Synthoids.

" + - "Successfully copmleting a Retirement contract will lower the population in your current " + - "city, and will also increase its chaos level.", - baseDifficulty:200, difficultyFac:1.03, rewardFac:1.065, - rankGain:0.6, hpLoss:1, - count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(5, 500), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(5,75)/10, - weights:{hack:0,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0.1, int:0.1}, - decays:{hack:0,str:0.91,def:0.91,dex:0.91,agi:0.91,cha:0.8, int:0.9}, - isKill:true - }); - - this.operations["Investigation"] = new Operation({ - name:"Investigation", - desc:"As a field agent, investigate and identify Synthoid " + - "populations, movements, and operations.

Successful " + - "Investigation ops will increase the accuracy of your " + - "synthoid data.

" + - "You will NOT lose HP from failed Investigation ops.", - baseDifficulty:400, difficultyFac:1.03,rewardFac:1.07,reqdRank:25, - rankGain:2.2, rankLoss:0.2, - count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 250), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(10, 40)/10, - weights:{hack:0.25,str:0.05,def:0.05,dex:0.2,agi:0.1,cha:0.25, int:0.1}, - decays:{hack:0.85,str:0.9,def:0.9,dex:0.9,agi:0.9,cha:0.7, int:0.9}, - isStealth:true - }); - this.operations["Undercover Operation"] = new Operation({ - name:"Undercover Operation", - desc:"Conduct undercover operations to identify hidden " + - "and underground Synthoid communities and organizations.

" + - "Successful Undercover ops will increase the accuracy of your synthoid " + - "data.", - baseDifficulty:500, difficultyFac:1.04, rewardFac:1.09, reqdRank:100, - rankGain:4.4, rankLoss:0.4, hpLoss:2, - count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 250), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(10, 40)/10, - weights:{hack:0.2,str:0.05,def:0.05,dex:0.2,agi:0.2,cha:0.2, int:0.1}, - decays:{hack:0.8,str:0.9,def:0.9,dex:0.9,agi:0.9,cha:0.7, int:0.9}, - isStealth:true - }); - this.operations["Sting Operation"] = new Operation({ - name:"Sting Operation", - desc:"Conduct a sting operation to bait and capture particularly " + - "notorious Synthoid criminals.", - baseDifficulty:650, difficultyFac:1.04, rewardFac:1.095, reqdRank:500, - rankGain:5.5, rankLoss:0.5, hpLoss:2.5, - count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 300), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(3, 40)/10, - weights:{hack:0.25,str:0.05,def:0.05,dex:0.25,agi:0.1,cha:0.2, int:0.1}, - decays:{hack:0.8,str:0.85,def:0.85,dex:0.85,agi:0.85,cha:0.7, int:0.9}, - isStealth:true - }); - this.operations["Raid"] = new Operation({ - name:"Raid", - desc:"Lead an assault on a known Synthoid community. Note that " + - "there must be an existing Synthoid community in your current city " + - "in order for this Operation to be successful", - baseDifficulty:800, difficultyFac:1.045, rewardFac:1.1, reqdRank:3000, - rankGain:55,rankLoss:2.5,hpLoss:50, - count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 200), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(2, 40)/10, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.7,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.9}, - isKill:true - }); - this.operations["Stealth Retirement Operation"] = new Operation({ - name:"Stealth Retirement Operation", - desc:"Lead a covert operation to retire Synthoids. The " + - "objective is to complete the task without " + - "drawing any attention. Stealth and discretion are key.", - baseDifficulty:1000, difficultyFac:1.05, rewardFac:1.11, reqdRank:20e3, - rankGain:22, rankLoss:2, hpLoss:10, - count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 250), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 20)/10, - weights:{hack:0.1,str:0.1,def:0.1,dex:0.3,agi:0.3,cha:0, int:0.1}, - decays:{hack:0.7,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.9}, - isStealth:true, isKill:true - }); - this.operations["Assassination"] = new Operation({ - name:"Assassination", - desc:"Assassinate Synthoids that have been identified as " + - "important, high-profile social and political leaders " + - "in the Synthoid communities.", - baseDifficulty:1500, difficultyFac:1.06, rewardFac:1.14, reqdRank:50e3, - rankGain:44, rankLoss:4, hpLoss:5, - count:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 200), countGrowth:Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 20)/10, - weights:{hack:0.1,str:0.1,def:0.1,dex:0.3,agi:0.3,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.8}, - isStealth:true, isKill:true - }); -} - -Bladeburner.prototype.storeCycles = function(numCycles=1) { - this.storedCycles += numCycles; -} - -Bladeburner.prototype.process = function() { - //Extreme condition...if Operation Daedalus is complete trigger the BitNode - if (_RedPill__WEBPACK_IMPORTED_MODULE_9__[/* redPillFlag */ "b"] === false && this.blackops.hasOwnProperty("Operation Daedalus")) { - return Object(_RedPill__WEBPACK_IMPORTED_MODULE_9__[/* hackWorldDaemon */ "a"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bitNodeN); - } - - //If the Player starts doing some other actions, set action to idle and alert - if (_Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][_Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"].BladesSimulacrum].owned === false && _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].isWorking) { - if (this.action.type !== ActionTypes["Idle"]) { - let msg = "Your Bladeburner action was cancelled because you started doing something else."; - if (this.automateEnabled) { - msg += `

Your automation was disabled as well. You will have to re-enable it through the Bladeburner console` - this.automateEnabled = false; - } - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])(msg); - } - this.resetAction(); - } - - // If the Player has no Stamina, set action to idle - if (this.stamina <= 0) { - this.log("Your Bladeburner action was cancelled because your stamina hit 0"); - this.resetAction(); - } - - //A 'tick' for this mechanic is one second (= 5 game cycles) - if (this.storedCycles >= CyclesPerSecond) { - var seconds = Math.floor(this.storedCycles / CyclesPerSecond); - seconds = Math.min(seconds, 5); //Max of 5 'ticks' - this.storedCycles -= seconds * CyclesPerSecond; - - //Stamina - this.calculateMaxStamina(); - this.stamina += (this.calculateStaminaGainPerSecond() * seconds); - this.stamina = Math.min(this.maxStamina, this.stamina); - - //Count increase for contracts/operations - for (var contractName in this.contracts) { - if (this.contracts.hasOwnProperty(contractName)) { - var contract = this.contracts[contractName]; - contract.count += (seconds * contract.countGrowth/ActionCountGrowthPeriod); - } - } - for (var operationName in this.operations) { - if (this.operations.hasOwnProperty(operationName)) { - var op = this.operations[operationName]; - op.count += (seconds * op.countGrowth/ActionCountGrowthPeriod); - } - } - - //Chaos goes down very slowly - for (var i = 0; i < CityNames.length; ++i) { - var city = this.cities[CityNames[i]]; - if (!(city instanceof City)) {throw new Error("Invalid City object when processing passive chaos reduction in Bladeburner.process");} - city.chaos -= (0.0001 * seconds); - city.chaos = Math.max(0, city.chaos); - } - - //Random Events - this.randomEventCounter -= seconds; - if (this.randomEventCounter <= 0) { - this.randomEvent(); - this.randomEventCounter = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(240, 600); - } - - this.processAction(seconds); - - //Automation - if (this.automateEnabled) { - // Note: Do NOT set this.action = this.automateActionHigh/Low since it creates a reference - if (this.stamina <= this.automateThreshLow) { - if (this.action.name !== this.automateActionLow.name || this.action.type !== this.automateActionLow.type) { - this.action = new ActionIdentifier({type: this.automateActionLow.type, name: this.automateActionLow.name}); - this.startAction(this.action); - } - } else if (this.stamina >= this.automateThreshHigh) { - if (this.action.name !== this.automateActionHigh.name || this.action.type !== this.automateActionHigh.type) { - this.action = new ActionIdentifier({type: this.automateActionHigh.type, name: this.automateActionHigh.name}); - this.startAction(this.action); - } - } - } - - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["Page"].Bladeburner)) { - this.updateContent(); - } - } -} - -Bladeburner.prototype.calculateMaxStamina = function() { - var effAgility = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].agility * this.skillMultipliers.effAgi; - var maxStamina = (Math.pow(effAgility, 0.8) + this.staminaBonus); - maxStamina *= this.skillMultipliers.stamina; - maxStamina *= _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner_max_stamina_mult; - if (isNaN(maxStamina)) {throw new Error("Max Stamina calculated to be NaN in Bladeburner.calculateMaxStamina()");} - this.maxStamina = maxStamina; -} - -Bladeburner.prototype.calculateStaminaGainPerSecond = function() { - var effAgility = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].agility * this.skillMultipliers.effAgi; - var maxStaminaBonus = this.maxStamina / MaxStaminaToGainFactor; - var gain = (StaminaGainPerSecond + maxStaminaBonus) * Math.pow(effAgility, 0.17); - return gain * (this.skillMultipliers.stamina * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner_stamina_gain_mult); -} - -Bladeburner.prototype.calculateStaminaPenalty = function() { - return Math.min(1, this.stamina / (0.5 * this.maxStamina)); -} - -Bladeburner.prototype.changeRank = function(change) { - if (isNaN(change)) {throw new Error("NaN passed into Bladeburner.changeRank()");} - this.rank += change; - if (this.rank < 0) {this.rank = 0;} - this.maxRank = Math.max(this.rank, this.maxRank); - - var bladeburnersFactionName = "Bladeburners"; - if (Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["factionExists"])(bladeburnersFactionName)) { - var bladeburnerFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"][bladeburnersFactionName]; - if (!(bladeburnerFac instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_4__["Faction"])) { - throw new Error("Could not properly get Bladeburner Faction object in Bladeburner UI Overview Faction button"); - } - if (bladeburnerFac.isMember) { - var favorBonus = 1 + (bladeburnerFac.favor / 100); - bladeburnerFac.playerReputation += (RankToFactionRepFactor * change * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].faction_rep_mult * favorBonus); - } - } - - //Gain skill points. You get 1 every 4 ranks - var rankNeededForSp = (this.totalSkillPoints+1) * RanksPerSkillPoint; - if (this.maxRank >= rankNeededForSp) { - //Calculate how many skill points to gain - var gainedSkillPoints = Math.floor((this.maxRank - rankNeededForSp) / RanksPerSkillPoint + 1); - this.skillPoints += gainedSkillPoints; - this.totalSkillPoints += gainedSkillPoints; - } -} - -Bladeburner.prototype.getCurrentCity = function() { - var city = this.cities[this.city]; - if (!(city instanceof City)) { - throw new Error("Bladeburner.getCurrentCity() did not properly return a City object"); - } - return city; -} - -Bladeburner.prototype.resetSkillMultipliers = function() { - this.skillMultipliers = { - successChanceAll:1, - successChanceStealth:1, - successChanceKill:1, - successChanceContract:1, - successChanceOperation:1, - successChanceEstimate:1, - actionTime:1, - effHack:1, - effStr:1, - effDef:1, - effDex:1, - effAgi:1, - effCha:1, - effInt:1, - stamina:1, - weaponAbility:1, - gunAbility:1, - }; -} - -Bladeburner.prototype.updateSkillMultipliers = function() { - this.resetSkillMultipliers(); - for (var skillName in this.skills) { - if (this.skills.hasOwnProperty(skillName)) { - var skill = Skills[skillName]; - if (skill == null) { - throw new Error("Could not find Skill Object for: " + skillName); - } - var level = this.skills[skillName]; - if (level == null || level <= 0) {continue;} //Not upgraded - - var multiplierNames = Object.keys(this.skillMultipliers); - for (var i = 0; i < multiplierNames.length; ++i) { - var multiplierName = multiplierNames[i]; - if (skill[multiplierName] != null && !isNaN(skill[multiplierName])) { - var value = skill[multiplierName] * level; - var multiplierValue = 1 + (value / 100); - if (multiplierName === "actionTime") { - multiplierValue = 1 - (value / 100); - } - this.skillMultipliers[multiplierName] *= multiplierValue; - } - } - } - } -} - -Bladeburner.prototype.upgradeSkill = function(skill) { - //This does NOT handle deduction of skill points - var skillName = skill.name; - if (this.skills[skillName]) { - ++this.skills[skillName]; - } else { - this.skills[skillName] = 1; - } - if (isNaN(this.skills[skillName]) || this.skills[skillName] < 0) { - throw new Error("Level of Skill " + skillName + " is invalid: " + this.skills[skillName]); - } - this.updateSkillMultipliers(); -} - -Bladeburner.prototype.getActionObject = function(actionId) { - //Given an ActionIdentifier object, returns the corresponding - //GeneralAction, Contract, Operation, or BlackOperation object - switch (actionId.type) { - case ActionTypes["Contract"]: - return this.contracts[actionId.name]; - case ActionTypes["Operation"]: - return this.operations[actionId.name]; - case ActionTypes["BlackOp"]: - case ActionTypes["BlackOperation"]: - return BlackOperations[actionId.name]; - case ActionTypes["Training"]: - return GeneralActions["Training"]; - case ActionTypes["Field Analysis"]: - return GeneralActions["Field Analysis"]; - case ActionTypes["Recruitment"]: - return GeneralActions["Recruitment"]; - default: - return null; - } -} - -//Sets the player to the "IDLE" action -Bladeburner.prototype.resetAction = function() { - this.action = new ActionIdentifier({type:ActionTypes.Idle}); -} - -Bladeburner.prototype.startAction = function(actionId) { - if (actionId == null) {return;} - this.action = actionId; - this.actionTimeCurrent = 0; - switch (actionId.type) { - case ActionTypes["Idle"]: - this.actionTimeToComplete = 0; - break; - case ActionTypes["Contract"]: - try { - var action = this.getActionObject(actionId); - if (action == null) { - throw new Error("Failed to get Contract Object for: " + actionId.name); - } - if (action.count < 1) {return this.resetAction();} - this.actionTimeToComplete = action.getActionTime(this); - } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_22__[/* exceptionAlert */ "a"])(e); - } - break; - case ActionTypes["Operation"]: - try { - var action = this.getActionObject(actionId); - if (action == null) { - throw new Error ("Failed to get Operation Object for: " + actionId.name); - } - if (action.count < 1) {return this.resetAction();} - if (actionId.name === "Raid" && this.getCurrentCity().commsEst === 0) {return this.resetAction();} - this.actionTimeToComplete = action.getActionTime(this); - } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_22__[/* exceptionAlert */ "a"])(e); - } - break; - case ActionTypes["BlackOp"]: - case ActionTypes["BlackOperation"]: - try { - // Safety measure - don't repeat BlackOps that are already done - if (this.blackops[actionId.name] != null) { - this.resetAction(); - this.log("Error: Tried to start a Black Operation that had already been completed"); - break; - } - - var action = this.getActionObject(actionId); - if (action == null) { - throw new Error("Failed to get BlackOperation object for: " + actionId.name); - } - this.actionTimeToComplete = action.getActionTime(this); - } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_22__[/* exceptionAlert */ "a"])(e); - } - break; - case ActionTypes["Training"]: - this.actionTimeToComplete = 30; - break; - case ActionTypes["Recruitment"]: - this.actionTimeToComplete = this.getRecruitmentTime(); - break; - case ActionTypes["FieldAnalysis"]: - case ActionTypes["Field Analysis"]: - this.actionTimeToComplete = 30; - break; - default: - throw new Error("Invalid Action Type in Bladeburner.startAction(): " + actionId.type); - break; - } -} - -Bladeburner.prototype.processAction = function(seconds) { - if (this.action.type === ActionTypes["Idle"]) {return;} - if (this.actionTimeToComplete <= 0) { - console.log("action.type: " + this.action.type); - throw new Error("Invalid actionTimeToComplete value: " + this.actionTimeToComplete); - } - if (!(this.action instanceof ActionIdentifier)) { - throw new Error("Bladeburner.action is not an ActionIdentifier Object"); - } - - this.actionTimeCurrent += seconds; - if (this.actionTimeCurrent >= this.actionTimeToComplete) { - return this.completeAction(); - } -} - -Bladeburner.prototype.completeAction = function() { - switch (this.action.type) { - case ActionTypes["Contract"]: - case ActionTypes["Operation"]: - try { - var isOperation = (this.action.type === ActionTypes["Operation"]); - var action = this.getActionObject(this.action); - if (action == null) { - throw new Error("Failed to get Contract/Operation Object for: " + this.action.name); - } - var difficulty = action.getDifficulty(); - var difficultyMultiplier = Math.pow(difficulty, DiffMultExponentialFactor) + difficulty / DiffMultLinearFactor; - var rewardMultiplier = Math.pow(action.rewardFac, action.level-1); - - //Stamina loss is based on difficulty - this.stamina -= (BaseStaminaLoss * difficultyMultiplier); - if (this.stamina < 0) {this.stamina = 0;} - - //Process Contract/Operation success/failure - if (action.attempt(this)) { - this.gainActionStats(action, true); - ++action.successes; - --action.count; - - //Earn money for contracts - var moneyGain = 0; - if (!isOperation) { - moneyGain = ContractBaseMoneyGain * rewardMultiplier; - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainMoney(moneyGain); - } - - if (isOperation) { - action.setMaxLevel(OperationSuccessesPerLevel); - } else { - action.setMaxLevel(ContractSuccessesPerLevel); - } - if (action.rankGain) { - var gain = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__["addOffset"])(action.rankGain * rewardMultiplier * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].BladeburnerRank, 10); - this.changeRank(gain); - if (isOperation && this.logging.ops) { - this.log(action.name + " successfully completed! Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(gain, 3) + " rank"); - } else if (!isOperation && this.logging.contracts) { - this.log(action.name + " contract successfully completed! Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(gain, 3) + " rank and " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_10__["numeralWrapper"].format(moneyGain, "$0.000a")); - } - } - isOperation ? this.completeOperation(true) : this.completeContract(true); - } else { - this.gainActionStats(action, false); - ++action.failures; - var loss = 0, damage = 0; - if (action.rankLoss) { - loss = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__["addOffset"])(action.rankLoss * rewardMultiplier, 10); - this.changeRank(-1 * loss); - } - if (action.hpLoss) { - damage = action.hpLoss * difficultyMultiplier; - damage = Math.ceil(Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__["addOffset"])(damage, 10)); - this.hpLost += damage; - if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].takeDamage(damage)) { - ++this.numHosp; - this.moneyLost += (_Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].HospitalCostPerHp * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].max_hp); - } - } - var logLossText = ""; - if (loss > 0) {logLossText += "Lost " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(loss, 3) + " rank.";} - if (damage > 0) {logLossText += "Took " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(damage, 0) + " damage.";} - if (isOperation && this.logging.ops) { - this.log(action.name + " failed! " + logLossText); - } else if (!isOperation && this.logging.contracts) { - this.log(action.name + " contract failed! " + logLossText); - } - isOperation ? this.completeOperation(false) : this.completeContract(false); - } - if (action.autoLevel) {action.level = action.maxLevel;} //Autolevel - this.startAction(this.action); //Repeat action - } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_22__[/* exceptionAlert */ "a"])(e); - } - break; - case ActionTypes["BlackOp"]: - case ActionTypes["BlackOperation"]: - try { - var action = this.getActionObject(this.action); - if (action == null || !(action instanceof BlackOperation)) { - throw new Error("Failed to get BlackOperation Object for: " + this.action.name); - } - var difficulty = action.getDifficulty(); - var difficultyMultiplier = Math.pow(difficulty, DiffMultExponentialFactor) + difficulty / DiffMultLinearFactor; - - //Stamina loss is based on difficulty - this.stamina -= (BaseStaminaLoss * difficultyMultiplier); - if (this.stamina < 0) {this.stamina = 0;} - - //Team loss variables - var teamCount = action.teamCount, teamLossMax; - - if (action.attempt(this)) { - this.gainActionStats(action, true); - action.count = 0; - this.blackops[action.name] = true; - var rankGain = 0; - if (action.rankGain) { - rankGain = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__["addOffset"])(action.rankGain * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].BladeburnerRank, 10); - this.changeRank(rankGain); - } - teamLossMax = Math.ceil(teamCount/2); - - //Operation Daedalus - if (action.name === "Operation Daedalus") { - this.resetAction(); - return Object(_RedPill__WEBPACK_IMPORTED_MODULE_9__[/* hackWorldDaemon */ "a"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bitNodeN); - } - - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["Page"].Bladeburner)) { - this.createActionAndSkillsContent(); - } - - if (this.logging.blackops) { - this.log(action.name + " successful! Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(rankGain, 1) + " rank"); - } - } else { - this.gainActionStats(action, false); - var rankLoss = 0, damage = 0; - if (action.rankLoss) { - rankLoss = Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__["addOffset"])(action.rankLoss, 10); - this.changeRank(-1 * rankLoss); - } - if (action.hpLoss) { - damage = action.hpLoss * difficultyMultiplier; - damage = Math.ceil(Object(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_16__["addOffset"])(damage, 10)); - if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].takeDamage(damage)) { - ++this.numHosp; - this.moneyLost += (_Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].HospitalCostPerHp * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].max_hp); - } - } - teamLossMax = Math.floor(teamCount); - - if (this.logging.blackops) { - this.log(action.name + " failed! Lost " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(rankLoss, 1) + " rank and took " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(damage, 0) + " damage"); - } - } - - this.resetAction(); //Stop regardless of success or fail - - //Calculate team lossses - if (teamCount >= 1) { - var losses = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, teamLossMax); - this.teamSize -= losses; - this.teamLost += losses; - if (this.logging.blackops) { - this.log("You lost " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(losses, 0) + " team members during " + action.name); - } - } - } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_22__[/* exceptionAlert */ "a"])(e); - } - break; - case ActionTypes["Training"]: - this.stamina -= (0.5 * BaseStaminaLoss); - var strExpGain = 30 * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].strength_exp_mult, - defExpGain = 30 * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].defense_exp_mult, - dexExpGain = 30 * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].dexterity_exp_mult, - agiExpGain = 30 * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].agility_exp_mult, - staminaGain = 0.04 * this.skillMultipliers.stamina; - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainStrengthExp(strExpGain); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainDefenseExp(defExpGain); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainDexterityExp(dexExpGain); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainAgilityExp(agiExpGain); - this.staminaBonus += (staminaGain); - if (this.logging.general) { - this.log("Training completed. Gained: " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(strExpGain, 1) + " str exp, " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(defExpGain, 1) + " def exp, " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(dexExpGain, 1) + " dex exp, " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(agiExpGain, 1) + " agi exp, " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(staminaGain, 3) + " max stamina"); - } - this.startAction(this.action); //Repeat action - break; - case ActionTypes["FieldAnalysis"]: - case ActionTypes["Field Analysis"]: - //Does not use stamina. Effectiveness depends on hacking, int, and cha - var eff = 0.04 * Math.pow(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].hacking_skill, 0.3) + - 0.04 * Math.pow(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].intelligence, 0.9) + - 0.02 * Math.pow(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].charisma, 0.3); - eff *= _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner_analysis_mult; - if (isNaN(eff) || eff < 0) { - throw new Error("Field Analysis Effectiveness calculated to be NaN or negative"); - } - var hackingExpGain = 20 * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].hacking_exp_mult, - charismaExpGain = 20 * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].charisma_exp_mult; - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainHackingExp(hackingExpGain); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainIntelligenceExp(BaseIntGain); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainCharismaExp(charismaExpGain); - this.changeRank(0.1 * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].BladeburnerRank); - this.getCurrentCity().improvePopulationEstimateByPercentage(eff * this.skillMultipliers.successChanceEstimate); - if (this.logging.general) { - this.log("Field analysis completed. Gained 0.1 rank, " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(hackingExpGain, 1) + " hacking exp, and " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(charismaExpGain, 1) + " charisma exp"); - } - this.startAction(this.action); //Repeat action - break; - case ActionTypes["Recruitment"]: - var successChance = this.getRecruitmentSuccessChance(); - console.log("Bladeburner recruitment success chance: " + successChance); - if (Math.random() < successChance) { - var expGain = 2 * BaseStatGain * this.actionTimeToComplete; - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainCharismaExp(expGain); - ++this.teamSize; - if (this.logging.general) { - this.log("Successfully recruited a team member! Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(expGain, 1) + " charisma exp"); - } - } else { - var expGain = BaseStatGain * this.actionTimeToComplete; - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainCharismaExp(expGain); - if (this.logging.general) { - this.log("Failed to recruit a team member. Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(expGain, 1) + " charisma exp"); - } - } - this.startAction(this.action); //Repeat action - break; - default: - break; - } -} - -Bladeburner.prototype.completeContract = function(success) { - if (this.action.type !== ActionTypes.Contract) { - throw new Error("completeContract() called even though current action is not a Contract"); - } - var city = this.getCurrentCity(); - if (success) { - switch (this.action.name) { - case "Tracking": - //Increase estimate accuracy by a relatively small amount - city.improvePopulationEstimateByCount(Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(100, 1e3)); - break; - case "Bounty Hunter": - city.changePopulationByCount(-1, {estChange:-1}); - city.changeChaosByCount(0.02); - break; - case "Retirement": - city.changePopulationByCount(-1, {estChange:-1}); - city.changeChaosByCount(0.04); - break; - default: - throw new Error("Invalid Action name in completeContract: " + this.action.name); - } - } -} - -Bladeburner.prototype.completeOperation = function(success) { - if (this.action.type !== ActionTypes.Operation) { - throw new Error("completeOperation() called even though current action is not an Operation"); - } - var action = this.getActionObject(this.action); - if (action == null) { - throw new Error("Failed to get Contract/Operation Object for: " + this.action.name); - } - - //Calculate team losses - var teamCount = action.teamCount, max; - if (teamCount >= 1) { - if (success) { - max = Math.ceil(teamCount/2); - } else { - max = Math.floor(teamCount) - } - var losses = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(0, max); - this.teamSize -= losses; - this.teamLost += losses; - if (this.logging.ops && losses > 0) { - this.log("Lost " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(losses, 0) + " team members during this " + action.name); - } - } - - var city = this.getCurrentCity(); - switch (action.name) { - case "Investigation": - if (success) { - city.improvePopulationEstimateByPercentage(0.4 * this.skillMultipliers.successChanceEstimate); - if (Math.random() < (0.02 * this.skillMultipliers.successChanceEstimate)) { - city.improveCommunityEstimate(1); - } - } else { - this.triggerPotentialMigration(this.city, 0.1); - } - break; - case "Undercover Operation": - if (success) { - city.improvePopulationEstimateByPercentage(0.8 * this.skillMultipliers.successChanceEstimate); - if (Math.random() < (0.02 * this.skillMultipliers.successChanceEstimate)) { - city.improveCommunityEstimate(1); - } - } else { - this.triggerPotentialMigration(this.city, 0.15); - } - break; - case "Sting Operation": - if (success) { - city.changePopulationByPercentage(-0.1, {changeEstEqually:true, nonZero:true}); - } - city.changeChaosByCount(0.1); - break; - case "Raid": - if (success) { - city.changePopulationByPercentage(-1, {changeEstEqually:true, nonZero:true}); - --city.comms; - --city.commsEst; - } else { - var change = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(-3, -1); - city.changePopulationByPercentage(change, {nonZero:true}); - } - city.changeChaosByPercentage(Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(1, 5)); - break; - case "Stealth Retirement Operation": - if (success) { - city.changePopulationByPercentage(-0.5, {changeEstEqually:true,nonZero:true}); - } - city.changeChaosByPercentage(Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(-3, -1)); - break; - case "Assassination": - if (success) { - city.changePopulationByCount(-1, {estChange:-1}); - } - city.changeChaosByPercentage(Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(-5, 5)); - break; - default: - throw new Error("Invalid Action name in completeOperation: " + this.action.name); - } -} - -Bladeburner.prototype.getRecruitmentTime = function() { - var effCharisma = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].charisma * this.skillMultipliers.effCha; - var charismaFactor = Math.pow(effCharisma, 0.81) + effCharisma / 90; - return Math.max(10, Math.round(BaseRecruitmentTimeNeeded - charismaFactor)); -} - -Bladeburner.prototype.getRecruitmentSuccessChance = function() { - return Math.pow(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].charisma, 0.45) / (this.teamSize + 1); -} - -//Process stat gains from Contracts, Operations, and Black Operations -//@action(Action obj) - Derived action class -//@success(bool) - Whether action was successful -Bladeburner.prototype.gainActionStats = function(action, success) { - var difficulty = action.getDifficulty(); - - //Gain multiplier based on difficulty. If this changes then the - //same variable calculated in completeAction() needs to change too - var difficultyMult = Math.pow(difficulty, DiffMultExponentialFactor) + difficulty / DiffMultLinearFactor; - - var time = this.actionTimeToComplete; - var successMult = success ? 1 : 0.5; - - var unweightedGain = time * BaseStatGain * successMult * difficultyMult; - var unweightedIntGain = time * BaseIntGain * successMult * difficultyMult; - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainHackingExp(unweightedGain * action.weights.hack * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].hacking_exp_mult); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainStrengthExp(unweightedGain * action.weights.str * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].strength_exp_mult); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainDefenseExp(unweightedGain * action.weights.def * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].defense_exp_mult); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainDexterityExp(unweightedGain * action.weights.dex * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].dexterity_exp_mult); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainAgilityExp(unweightedGain * action.weights.agi * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].agility_exp_mult); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainCharismaExp(unweightedGain * action.weights.cha * _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].charisma_exp_mult); - _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].gainIntelligenceExp(unweightedIntGain * action.weights.int); -} - -Bladeburner.prototype.randomEvent = function() { - var chance = Math.random(); - - //Choose random source/destination city for events - var sourceCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(0, 5)]; - var sourceCity = this.cities[sourceCityName]; - if (!(sourceCity instanceof City)) { - throw new Error("sourceCity was not a City object in Bladeburner.randomEvent()"); - } - - var destCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(0, 5)]; - while (destCityName === sourceCityName) { - destCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(0, 5)]; - } - var destCity = this.cities[destCityName]; - - if (!(sourceCity instanceof City) || !(destCity instanceof City)) { - throw new Error("sourceCity/destCity was not a City object in Bladeburner.randomEvent()"); - } - - if (chance <= 0.05) { - //New Synthoid Community, 5% - ++sourceCity.comms; - var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(10, 20) / 100; - var count = Math.round(sourceCity.pop * percentage); - sourceCity.pop += count; - if (this.logging.events) { - this.log("Intelligence indicates that a new Synthoid community was formed in a city"); - } - } else if (chance <= 0.1) { - //Synthoid Community Migration, 5% - if (sourceCity.comms <= 0) { - //If no comms in source city, then instead trigger a new Synthoid community event - ++sourceCity.comms; - var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(10, 20) / 100; - var count = Math.round(sourceCity.pop * percentage); - sourceCity.pop += count; - if (this.logging.events) { - this.log("Intelligence indicates that a new Synthoid community was formed in a city"); - } - } else { - --sourceCity.comms; - ++destCity.comms; - - //Change pop - var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(10, 20) / 100; - var count = Math.round(sourceCity.pop * percentage); - sourceCity.pop -= count; - destCity.pop += count; - - if (this.logging.events) { - this.log("Intelligence indicates that a Synthoid community migrated from " + sourceCityName + " to some other city"); - } - } - } else if (chance <= 0.3) { - //New Synthoids (non community), 20% - var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(8, 24) / 100; - var count = Math.round(sourceCity.pop * percentage); - sourceCity.pop += count; - if (this.logging.events) { - this.log("Intelligence indicates that the Synthoid population of " + sourceCityName + " just changed significantly"); - } - } else if (chance <= 0.5) { - //Synthoid migration (non community) 20% - this.triggerMigration(sourceCityName); - if (this.logging.events) { - this.log("Intelligence indicates that a large number of Synthoids migrated from " + sourceCityName + " to some other city"); - } - } else if (chance <= 0.7) { - //Synthoid Riots (+chaos), 20% - sourceCity.chaos += 1; - sourceCity.chaos *= (1 + Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(5, 10) / 100); - if (this.logging.events) { - this.log("Tensions between Synthoids and humans lead to riots in " + sourceCityName + "! Chaos increased"); - } - } else if (chance <= 0.9) { - //Less Synthoids, 20% - var percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(5, 20) / 100; - var count = Math.round(sourceCity.pop * percentage); - sourceCity.pop -= count; - if (this.logging.events) { - this.log("Intelligence indicates that the Synthoid population of " + sourceCityName + " just changed significantly"); - } - } - //20% chance of nothing happening -} - -Bladeburner.prototype.triggerPotentialMigration = function(sourceCityName, chance) { - if (chance == null || isNaN(chance)) { - console.log("ERROR: Invalid 'chance' parameter passed into Bladeburner.triggerPotentialMigration()"); - } - if (chance > 1) {chance /= 100;} - if (Math.random() < chance) {this.triggerMigration(sourceCityName);} -} - -Bladeburner.prototype.triggerMigration = function(sourceCityName) { - var destCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(0, 5)]; - while (destCityName === sourceCityName) { - destCityName = CityNames[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(0, 5)]; - } - var destCity = this.cities[destCityName]; - var sourceCity = this.cities[sourceCityName]; - if (destCity == null || sourceCity == null) { - throw new Error("Failed to find City with name: " + destCityName); - } - var rand = Math.random(), percentage = Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(3, 15) / 100; - - if (rand < 0.05 && sourceCity.comms > 0) { //5% chance for community migration - percentage *= Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_24__["getRandomInt"])(2, 4); //Migration increases population change - --sourceCity.comms; - ++destCity.comms; - } - var count = Math.round(sourceCity.pop * percentage); - sourceCity.pop -= count; - destCity.pop += count; -} - -var DomElems = {}; - -Bladeburner.prototype.initializeDomElementRefs = function() { - DomElems = { - bladeburnerDiv: null, - - //Main Divs - overviewConsoleParentDiv: null, - - overviewDiv: null, //Overview of stats that stays fixed on left - actionAndSkillsDiv: null, //Panel for different sections (contracts, ops, skills) - currentTab: null, //Contracts, Operations, Black Ops, Skills - - consoleDiv: null, - consoleTable: null, - consoleInputRow: null, //tr - consoleInputCell: null, //td - consoleInputHeader: null, //"> " - consoleInput: null, //Actual input element - - //Overview Content - overviewRank: null, - overviewStamina: null, - overviewStaminaHelpTip: null, - overviewGen1: null, //Stamina Penalty, Team, Hospitalized stats, current city - overviewEstPop: null, - overviewEstPopHelpTip: null, - overviewEstComms: null, - overviewChaos: null, - overviewSkillPoints: null, - overviewBonusTime: null, - overviewAugSuccessMult: null, - overviewAugMaxStaminaMult: null, - overviewAugStaminaGainMult: null, - overviewAugAnalysisMult: null, - - //Actions and Skills Content - actionsAndSkillsDesc: null, - actionsAndSkillsList: null, //ul element of all UI elements in this panel - generalActions: {}, - contracts: {}, - operations: {}, - blackops: {}, - skills: {}, - skillPointsDisplay: null, - }; -} - -Bladeburner.prototype.createContent = function() { - DomElems.bladeburnerDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - id:"bladeburner-container", position:"fixed", class:"generic-menupage-container", - }); - - //Parent Div for Overview and Console - DomElems.overviewConsoleParentDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - height:"60%", display:"block", position:"relative", - }); - - //Overview and Action/Skill pane - DomElems.overviewDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - width:"30%", display:"inline-block", border:"1px solid white", - }); - - DomElems.actionAndSkillsDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - height:"60%", width:"70%", display:"block", - border:"1px solid white", margin:"6px", padding:"6px", - }); - - DomElems.currentTab = "general"; - - this.createOverviewContent(); - this.createActionAndSkillsContent(); - - //Console - DomElems.consoleDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - class:"bladeburner-console-div", - clickListener:()=>{ - if (DomElems.consoleInput instanceof Element) { - DomElems.consoleInput.focus(); - } - return false; - } - }); - DomElems.consoleTable = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("table", {class:"bladeburner-console-table"}); - DomElems.consoleInputRow = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("tr", {class:"bladeburner-console-input-row", id:"bladeubrner-console-input-row"}); - DomElems.consoleInputCell = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("td", {class:"bladeburner-console-input-cell"}); - DomElems.consoleInputHeader = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("pre", {innerText:"> "}); - DomElems.consoleInput = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("input", { - type:"text", class:"bladeburner-console-input", tabIndex:1, - onfocus:()=>{DomElems.consoleInput.value = DomElems.consoleInput.value} - }); - - DomElems.consoleInputCell.appendChild(DomElems.consoleInputHeader); - DomElems.consoleInputCell.appendChild(DomElems.consoleInput); - DomElems.consoleInputRow.appendChild(DomElems.consoleInputCell); - DomElems.consoleTable.appendChild(DomElems.consoleInputRow); - DomElems.consoleDiv.appendChild(DomElems.consoleTable); - - DomElems.overviewConsoleParentDiv.appendChild(DomElems.overviewDiv); - DomElems.overviewConsoleParentDiv.appendChild(DomElems.consoleDiv); - DomElems.bladeburnerDiv.appendChild(DomElems.overviewConsoleParentDiv); - DomElems.bladeburnerDiv.appendChild(DomElems.actionAndSkillsDiv); - - document.getElementById("entire-game-container").appendChild(DomElems.bladeburnerDiv); - - if (this.consoleLogs.length === 0) { - this.postToConsole("Bladeburner Console BETA"); - this.postToConsole("Type 'help' to see console commands"); - } else { - for (let i = 0; i < this.consoleLogs.length; ++i) { - this.postToConsole(this.consoleLogs[i], false); - } - } - - DomElems.consoleInput.focus(); -} - -Bladeburner.prototype.clearContent = function() { - if (DomElems.bladeburnerDiv instanceof Element) { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(DomElems.bladeburnerDiv); - Object(_utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_26__["removeElement"])(DomElems.bladeburnerDiv); - } - Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_18__["clearObject"])(DomElems); - this.initializeDomElementRefs(); -} - -Bladeburner.prototype.createOverviewContent = function() { - if (DomElems.overviewDiv == null) { - throw new Error("Bladeburner.createOverviewContent() called with DomElems.overviewDiv = null"); - } - - DomElems.overviewRank = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - innerText:"Rank: ", - display:"inline-block", - tooltip:"Your rank within the Bladeburner division", - }); - - DomElems.overviewStamina = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"inline-block", - }); - - DomElems.overviewStaminaHelpTip = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - class:"help-tip", - innerText:"?", - clickListener: ()=> { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])("Performing actions will use up your stamina.

" + - "Your max stamina is determined primarily by your agility stat.

" + - "Your stamina gain rate is determined by both your agility and your " + - "max stamina. Higher max stamina leads to a higher gain rate.

" + - "Once your " + - "stamina falls below 50% of its max value, it begins to negatively " + - "affect the success rate of your contracts/operations. This penalty " + - "is shown in the overview panel. If the penalty is 15%, then this means " + - "your success rate would be multipled by 85% (100 - 15).

" + - "Your max stamina and stamina gain rate can also be increased by " + - "training, or through skills and Augmentation upgrades."); - }, - }); - - DomElems.overviewGen1 = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"block", - }); - - DomElems.overviewEstPop = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - innerText:"Est. Synthoid Population: ", - display:"inline-block", - tooltip:"This is your Bladeburner division's estimate of how many Synthoids exist " + - "in your current city." - }); - - DomElems.overviewEstPopHelpTip = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - innerText:"?", class:"help-tip", - clickListener:()=>{ - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])("The success rate of your contracts/operations depends on " + - "the population of Synthoids in your current city. " + - "The success rate that is shown to you is only an estimate, " + - "and it is based on your Synthoid population estimate.

" + - "Therefore, it is important that this Synthoid population estimate " + - "is accurate so that you have a better idea of your " + - "success rate for contracts/operations. Certain " + - "actions will increase the accuracy of your population " + - "estimate.

" + - "The Synthoid populations of cities can change due to your " + - "actions or random events. If random events occur, they will " + - "be logged in the Bladeburner Console."); - } - }); - - DomElems.overviewEstComms = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - innerText:"Est. Synthoid Communities: ", - display:"inline-block", - tooltip:"This is your Bladeburner divison's estimate of how many Synthoid " + - "communities exist in your current city.", - }); - - DomElems.overviewChaos = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - innerText:"City Chaos: ", - display:"inline-block", - tooltip:"The city's chaos level due to tensions and conflicts between humans and Synthoids. " + - "Having too high of a chaos level can make contracts and operations harder." - }); - - DomElems.overviewBonusTime = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - innerText: "Bonus time: ", - display: "inline-block", - tooltip: "You gain bonus time while offline or when the game is inactive (e.g. when the tab is throttled by browser). " + - "Bonus time makes the Bladeburner mechanic progress faster, up to 5x the normal speed." - }); - DomElems.overviewSkillPoints = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", {display:"block"}); - - - DomElems.overviewAugSuccessMult = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", {display:"block"}); - DomElems.overviewAugMaxStaminaMult = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", {display:"block"}); - DomElems.overviewAugStaminaGainMult = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", {display:"block"}); - DomElems.overviewAugAnalysisMult = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", {display:"block"}); - - - DomElems.overviewDiv.appendChild(DomElems.overviewRank); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(DomElems.overviewDiv, 1); - DomElems.overviewDiv.appendChild(DomElems.overviewStamina); - DomElems.overviewDiv.appendChild(DomElems.overviewStaminaHelpTip); - DomElems.overviewDiv.appendChild(DomElems.overviewGen1); - DomElems.overviewDiv.appendChild(DomElems.overviewEstPop); - DomElems.overviewDiv.appendChild(DomElems.overviewEstPopHelpTip); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(DomElems.overviewDiv, 1); - DomElems.overviewDiv.appendChild(DomElems.overviewEstComms); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(DomElems.overviewDiv, 1); - DomElems.overviewDiv.appendChild(DomElems.overviewChaos); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(DomElems.overviewDiv, 2); - DomElems.overviewDiv.appendChild(DomElems.overviewBonusTime); - DomElems.overviewDiv.appendChild(DomElems.overviewSkillPoints); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(DomElems.overviewDiv, 1); - DomElems.overviewDiv.appendChild(DomElems.overviewAugSuccessMult); - DomElems.overviewDiv.appendChild(DomElems.overviewAugMaxStaminaMult); - DomElems.overviewDiv.appendChild(DomElems.overviewAugStaminaGainMult); - DomElems.overviewDiv.appendChild(DomElems.overviewAugAnalysisMult); - - //Travel to new city button - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(DomElems.overviewDiv, 1); - DomElems.overviewDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerHTML:"Travel", class:"a-link-button", display:"inline-block", - clickListener:()=>{ - var popupId = "bladeburner-travel-popup-cancel-btn"; - var popupArguments = []; - popupArguments.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { //Cancel Button - innerText:"Cancel", class:"a-link-button", - clickListener:()=>{ - Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__["removeElementById"])(popupId); return false; - } - })) - popupArguments.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { //Info Text - innerText:"Travel to a different city for your Bladeburner " + - "activities. This does not cost any money. The city you are " + - "in for your Bladeburner duties does not affect " + - "your location in the game otherwise", - })); - for (var i = 0; i < CityNames.length; ++i) { - (function(inst, i) { - popupArguments.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - //Reusing this css class...it adds a border and makes it - //so that background color changes when you hover - class:"cmpy-mgmt-find-employee-option", - innerText:CityNames[i], - clickListener:()=>{ - inst.city = CityNames[i]; - Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__["removeElementById"])(popupId); - inst.updateOverviewContent(); - return false; - } - })); - })(this, i); - } - Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_20__["createPopup"])(popupId, popupArguments); - } - })); - - //Faction button - const bladeburnersFactionName = "Bladeburners"; - if (Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["factionExists"])(bladeburnersFactionName)) { - var bladeburnerFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"][bladeburnersFactionName]; - if (!(bladeburnerFac instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_4__["Faction"])) { - throw new Error("Could not properly get Bladeburner Faction object in Bladeburner UI Overview Faction button"); - } - DomElems.overviewDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:"Faction", class:"a-link-button", display:"inline-block", - tooltip:"Apply to the Bladeburner Faction, or go to the faction page if you are already a member", - clickListener:()=>{ - if (bladeburnerFac.isMember) { - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].loadFactionContent(); - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_6__[/* displayFactionContent */ "a"])(bladeburnersFactionName); - } else { - if (this.rank >= RankNeededForFaction) { - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_6__[/* joinFaction */ "c"])(bladeburnerFac); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])("Congratulations! You were accepted into the Bladeburners faction"); - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(DomElems.overviewDiv); - this.createOverviewContent(); - } else { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])("You need a rank of 25 to join the Bladeburners Faction!") - } - } - return false; - } - })); - } - - DomElems.overviewDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("br")); - DomElems.overviewDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("br")); - - this.updateOverviewContent(); -} - -Bladeburner.prototype.createActionAndSkillsContent = function() { - if (DomElems.currentTab == null) {DomElems.currentTab = "general";} - - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(DomElems.actionAndSkillsDiv); - Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_18__["clearObject"])(DomElems.generalActions); - Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_18__["clearObject"])(DomElems.contracts); - Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_18__["clearObject"])(DomElems.operations); - Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_18__["clearObject"])(DomElems.blackops); - Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_18__["clearObject"])(DomElems.skills); - - //Navigation buttons - var currTab = DomElems.currentTab.toLowerCase(); - var buttons = ["General", "Contracts", "Operations", "BlackOps", "Skills"]; - for (var i = 0; i < buttons.length; ++i) { - (function(buttons, i, inst, currTab) { - - DomElems.actionAndSkillsDiv.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:buttons[i], - class:currTab === buttons[i].toLowerCase() ? "bladeburner-nav-button-inactive" : "bladeburner-nav-button", - clickListener:()=>{ - DomElems.currentTab = buttons[i].toLowerCase(); - inst.createActionAndSkillsContent(); - return false; - } - })); - }) (buttons, i, this, currTab); - } - - //General info/description for each action - DomElems.actionsAndSkillsDesc = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"block", margin:"4px", padding:"4px" - }); - - //List for actions/skills - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(DomElems.actionsAndSkillsList); - DomElems.actionsAndSkillsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("ul"); - - switch(currTab) { - case "general": - this.createGeneralActionsContent(); - break; - case "contracts": - this.createContractsContent(); - break; - case "operations": - this.createOperationsContent(); - break; - case "blackops": - this.createBlackOpsContent(); - break; - case "skills": - this.createSkillsContent(); - break; - default: - throw new Error("Invalid value for DomElems.currentTab in Bladeburner.createActionAndSkillsContent"); - } - this.updateContent(); - - DomElems.actionAndSkillsDiv.appendChild(DomElems.actionsAndSkillsDesc); - DomElems.actionAndSkillsDiv.appendChild(DomElems.actionsAndSkillsList); -} - -Bladeburner.prototype.createGeneralActionsContent = function() { - if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { - throw new Error("Bladeburner.createGeneralActionsContent called with either " + - "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); - } - - DomElems.actionsAndSkillsDesc.innerText = - "These are generic actions that will assist you in your Bladeburner " + - "duties. They will not affect your Bladeburner rank in any way." - - for (var actionName in GeneralActions) { - if (GeneralActions.hasOwnProperty(actionName)) { - DomElems.generalActions[actionName] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - class:"bladeburner-action", name:actionName - }); - DomElems.actionsAndSkillsList.appendChild(DomElems.generalActions[actionName]); - } - } -} - -Bladeburner.prototype.createContractsContent = function() { - if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { - throw new Error("Bladeburner.createContractsContent called with either " + - "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); - } - - DomElems.actionsAndSkillsDesc.innerHTML = - "Complete contracts in order to increase your Bladeburner rank and earn money. " + - "Failing a contract will cause you to lose HP, which can lead to hospitalization.

" + - "You can unlock higher-level contracts by successfully completing them. " + - "Higher-level contracts are more difficult, but grant more rank, experience, and money."; - - for (var contractName in this.contracts) { - if (this.contracts.hasOwnProperty(contractName)) { - DomElems.contracts[contractName] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - class:"bladeburner-action", name:contractName - }); - DomElems.actionsAndSkillsList.appendChild(DomElems.contracts[contractName]); - } - } -} - -Bladeburner.prototype.createOperationsContent = function() { - if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { - throw new Error("Bladeburner.createOperationsContent called with either " + - "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); - } - - DomElems.actionsAndSkillsDesc.innerHTML = - "Carry out operations for the Bladeburner division. " + - "Failing an operation will reduce your Bladeburner rank. It will also " + - "cause you to lose HP, which can lead to hospitalization. In general, " + - "operations are harder and more punishing than contracts, " + - "but are also more rewarding.

" + - "Operations can affect the chaos level and Synthoid population of your " + - "current city. The exact effects vary between different Operations.

" + - "For operations, you can use a team. You must first recruit team members. " + - "Having a larger team will improves your chances of success.

" + - "You can unlock higher-level operations by successfully completing them. " + - "Higher-level operations are more difficult, but grant more rank and experience."; - - for (var operationName in this.operations) { - if (this.operations.hasOwnProperty(operationName)) { - DomElems.operations[operationName] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - class:"bladeburner-action", name:operationName - }); - DomElems.actionsAndSkillsList.appendChild(DomElems.operations[operationName]); - } - } -} - -Bladeburner.prototype.createBlackOpsContent = function() { - if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { - throw new Error("Bladeburner.createBlackOpsContent called with either " + - "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); - } - - DomElems.actionsAndSkillsDesc.innerHTML = - "Black Operations (Black Ops) are special, one-time covert operations. " + - "Each Black Op must be unlocked successively by completing " + - "the one before it.

" + - "Your ultimate goal to climb through the ranks of Bladeburners is to complete " + - "all of the Black Ops.

" + - "Like normal operations, you may use a team for Black Ops. Failing " + - "a black op will incur heavy HP and rank losses."; - - //Put Black Operations in sequence of required rank - var blackops = []; - for (var blackopName in BlackOperations) { - if (BlackOperations.hasOwnProperty(blackopName)) { - blackops.push(BlackOperations[blackopName]); - } - } - blackops.sort(function(a, b) { - return (a.reqdRank - b.reqdRank); - }); - - for (var i = 0; i < blackops.length; ++i) { - DomElems.blackops[blackops[i].name] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - class:"bladeburner-action", name:blackops[i].name - }); - DomElems.actionsAndSkillsList.appendChild(DomElems.blackops[blackops[i].name]); - if (this.blackops[[blackops[i].name]] == null) {break;} //Can't be found in completed blackops - } -} - -Bladeburner.prototype.createSkillsContent = function() { - if (DomElems.actionsAndSkillsList == null || DomElems.actionsAndSkillsDesc == null) { - throw new Error("Bladeburner.createSkillsContent called with either " + - "DomElems.actionsAndSkillsList or DomElems.actionsAndSkillsDesc = null"); - } - - //Display Current multipliers - DomElems.actionsAndSkillsDesc.innerHTML = - "You will gain one skill point every " + RanksPerSkillPoint + " ranks.

" + - "Note that when upgrading a skill, the benefit for that skill is additive. " + - "However, the effects of different skills with each other is multiplicative.

" - var multKeys = Object.keys(this.skillMultipliers); - for (var i = 0; i < multKeys.length; ++i) { - var mult = this.skillMultipliers[multKeys[i]]; - if (mult && mult !== 1) { - mult = Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(mult, 3); - switch(multKeys[i]) { - case "successChanceAll": - DomElems.actionsAndSkillsDesc.innerHTML += "Total Success Chance: x" + mult + "
"; - break; - case "successChanceStealth": - DomElems.actionsAndSkillsDesc.innerHTML += "Stealth Success Chance: x" + mult + "
"; - break; - case "successChanceKill": - DomElems.actionsAndSkillsDesc.innerHTML += "Retirement Success Chance: x" + mult + "
"; - break; - case "successChanceContract": - DomElems.actionsAndSkillsDesc.innerHTML += "Contract Success Chance: x" + mult + "
"; - break; - case "successChanceOperation": - DomElems.actionsAndSkillsDesc.innerHTML += "Operation Success Chance: x" + mult + "
"; - break; - case "successChanceEstimate": - DomElems.actionsAndSkillsDesc.innerHTML += "Synthoid Data Estimate: x" + mult + "
"; - break; - case "actionTime": - DomElems.actionsAndSkillsDesc.innerHTML += "Action Time: x" + mult + "
"; - break; - case "effHack": - DomElems.actionsAndSkillsDesc.innerHTML += "Hacking Skill: x" + mult + "
"; - break; - case "effStr": - DomElems.actionsAndSkillsDesc.innerHTML += "Strength: x" + mult + "
"; - break; - case "effDef": - DomElems.actionsAndSkillsDesc.innerHTML += "Defense: x" + mult + "
"; - break; - case "effDex": - DomElems.actionsAndSkillsDesc.innerHTML += "Dexterity: x" + mult + "
"; - break; - case "effAgi": - DomElems.actionsAndSkillsDesc.innerHTML += "Agility: x" + mult + "
"; - break; - case "effCha": - DomElems.actionsAndSkillsDesc.innerHTML += "Charisma: x" + mult + "
"; - break; - case "effInt": - DomElems.actionsAndSkillsDesc.innerHTML += "Intelligence: x" + mult + "
"; - break; - case "stamina": - DomElems.actionsAndSkillsDesc.innerHTML += "Stamina: x" + mult + "
"; - break; - case "weaponAbility": - //DomElems.actionsAndSkillsDesc.innerHTML += - break; - case "gunAbility": - //DomElems.actionsAndSkillsDesc.innerHTML - break; - default: - console.log("Warning: Unrecognized SkillMult Key: " + multKeys[i]); - break; - } - } - } - - //Skill Points - DomElems.skillPointsDisplay = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - innerHTML:"
Skill Points: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.skillPoints, 0) + "" - }); - DomElems.actionAndSkillsDiv.appendChild(DomElems.skillPointsDisplay); - - //UI Element for each skill - for (var skillName in Skills) { - if (Skills.hasOwnProperty(skillName)) { - DomElems.skills[skillName] = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { - class:"bladeburner-action", name:skillName - }); - DomElems.actionsAndSkillsList.appendChild(DomElems.skills[skillName]); - } - } -} - -Bladeburner.prototype.updateContent = function() { - this.updateOverviewContent(); - this.updateActionAndSkillsContent(); -} - -Bladeburner.prototype.updateOverviewContent = function() { - if (!_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["Page"].Bladeburner)) {return;} - DomElems.overviewRank.childNodes[0].nodeValue = "Rank: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.rank, 2); - DomElems.overviewStamina.innerText = "Stamina: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.stamina, 3) + " / " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.maxStamina, 3); - DomElems.overviewGen1.innerHTML = - "Stamina Penalty: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])((1-this.calculateStaminaPenalty())*100, 1) + "%

" + - "Team Size: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.teamSize, 0) + "
" + - "Team Members Lost: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.teamLost, 0) + "

" + - "Num Times Hospitalized: " + this.numHosp + "
" + - "Money Lost From Hospitalizations: " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_10__["numeralWrapper"].format(this.moneyLost, "$0.000a") + "

" + - "Current City: " + this.city + "
"; - - DomElems.overviewEstPop.childNodes[0].nodeValue = "Est. Synthoid Population: " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_10__["numeralWrapper"].format(this.getCurrentCity().popEst, "0.000a"); - DomElems.overviewEstComms.childNodes[0].nodeValue = "Est. Synthoid Communities: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.getCurrentCity().comms, 0); - DomElems.overviewChaos.childNodes[0].nodeValue = "City Chaos: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.getCurrentCity().chaos); - DomElems.overviewSkillPoints.innerText = "Skill Points: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.skillPoints, 0); - DomElems.overviewBonusTime.childNodes[0].nodeValue = "Bonus time: " + this.storedCycles/CyclesPerSecond; - DomElems.overviewAugSuccessMult.innerText = "Aug. Success Chance Mult: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner_success_chance_mult*100, 1) + "%"; - DomElems.overviewAugMaxStaminaMult.innerText = "Aug. Max Stamina Mult: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner_max_stamina_mult*100, 1) + "%"; - DomElems.overviewAugStaminaGainMult.innerText = "Aug. Stamina Gain Mult: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner_stamina_gain_mult*100, 1) + "%"; - DomElems.overviewAugAnalysisMult.innerText = "Aug. Field Analysis Mult: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bladeburner_analysis_mult*100, 1) + "%"; -} - -Bladeburner.prototype.updateActionAndSkillsContent = function() { - if (DomElems.currentTab == null) {DomElems.currentTab = "general";} - switch(DomElems.currentTab.toLowerCase()) { - case "general": - var actionElems = Object.keys(DomElems.generalActions); - for (var i = 0; i < actionElems.length; ++i) { - var actionElem = DomElems.generalActions[actionElems[i]]; - var name = actionElem.name; - var actionObj = GeneralActions[name]; - if (actionObj == null) { - throw new Error("Could not find Object " + name + " in Bladeburner.updateActionAndSkillsContent()"); - } - if (this.action.type === ActionTypes[name]) { - actionElem.classList.add(ActiveActionCssClass); - } else { - actionElem.classList.remove(ActiveActionCssClass); - } - this.updateGeneralActionsUIElement(actionElem, actionObj); - } - break; - case "contracts": - var contractElems = Object.keys(DomElems.contracts); - for (var i = 0; i < contractElems.length; ++i) { - var contractElem = DomElems.contracts[contractElems[i]]; - var name = contractElem.name; - if (this.action.type === ActionTypes["Contract"] && name === this.action.name) { - contractElem.classList.add(ActiveActionCssClass); - } else { - contractElem.classList.remove(ActiveActionCssClass); - } - var contract = this.contracts[name]; - if (contract == null) { - throw new Error("Could not find Contract " + name + " in Bladeburner.updateActionAndSkillsContent()"); - } - this.updateContractsUIElement(contractElem, contract); - } - break; - case "operations": - var operationElems = Object.keys(DomElems.operations); - for (var i = 0; i < operationElems.length; ++i) { - var operationElem = DomElems.operations[operationElems[i]]; - var name = operationElem.name; - if (this.action.type === ActionTypes["Operation"] && name === this.action.name) { - operationElem.classList.add(ActiveActionCssClass); - } else { - operationElem.classList.remove(ActiveActionCssClass); - } - var operation = this.operations[name]; - if (operation == null) { - throw new Error("Could not find Operation " + name + " in Bladeburner.updateActionAndSkillsContent()"); - } - this.updateOperationsUIElement(operationElem, operation); - } - break; - case "blackops": - var blackopsElems = Object.keys(DomElems.blackops); - for (var i = 0; i < blackopsElems.length; ++i) { - var blackopElem = DomElems.blackops[blackopsElems[i]]; - var name = blackopElem.name; - if (this.action.type === ActionTypes["BlackOperation"] && name === this.action.name) { - blackopElem.classList.add(ActiveActionCssClass); - } else { - blackopElem.classList.remove(ActiveActionCssClass); - } - var blackop = BlackOperations[name]; - if (blackop == null) { - throw new Error("Could not find BlackOperation " + name + " in Bladeburner.updateActionAndSkillsContent()"); - } - this.updateBlackOpsUIElement(blackopElem, blackop); - } - break; - case "skills": - DomElems.skillPointsDisplay.innerHTML = "
Skill Points: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.skillPoints, 0) + ""; - - var skillElems = Object.keys(DomElems.skills); - for (var i = 0; i < skillElems.length; ++i) { - var skillElem = DomElems.skills[skillElems[i]]; - var name = skillElem.name; - var skill = Skills[name]; - if (skill == null) { - throw new Error("Could not find Skill " + name + " in Bladeburner.updateActionAndSkillsContent()"); - } - this.updateSkillsUIElement(skillElem, skill); - } - break; - default: - throw new Error("Invalid value for DomElems.currentTab in Bladeburner.createActionAndSkillsContent"); - } -} - -Bladeburner.prototype.updateGeneralActionsUIElement = function(el, action) { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(el); - var isActive = el.classList.contains(ActiveActionCssClass); - - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("h2", { //Header - innerText:isActive ? action.name + " (IN PROGRESS - " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.actionTimeCurrent, 0) + " / " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.actionTimeToComplete, 0) + ")" - : action.name, - display:"inline-block", - })); - - if (isActive) { //Progress bar if its active - var progress = this.actionTimeCurrent / this.actionTimeToComplete; - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"block", - innerText:Object(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_12__["createProgressBarText"])({progress:progress}) - })); - } else { - //Start button - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:"Start", class: "a-link-button", - margin:"3px", padding:"3px", - clickListener:()=>{ - this.action.type = ActionTypes[action.name]; - this.action.name = action.name; - this.startAction(this.action); - this.updateActionAndSkillsContent(); - return false; - } - })); - } - - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(el, 2); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("pre", { //Info - innerHTML:action.desc, display:"inline-block" - })); - - -} - -Bladeburner.prototype.updateContractsUIElement = function(el, action) { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(el); - var isActive = el.classList.contains(ActiveActionCssClass); - var estimatedSuccessChance = action.getSuccessChance(this, {est:true}); - - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("h2", { //Header - innerText:isActive ? action.name + " (IN PROGRESS - " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.actionTimeCurrent, 0) + " / " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.actionTimeToComplete, 0) + ")" - : action.name, - display:"inline-block" - })); - - if (isActive) { //Progress bar if its active - var progress = this.actionTimeCurrent / this.actionTimeToComplete; - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"block", - innerText:Object(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_12__["createProgressBarText"])({progress:progress}) - })); - } else { //Start button - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:"Start", class: "a-link-button", - padding:"3px", margin:"3px", - clickListener:()=>{ - this.action.type = ActionTypes.Contract; - this.action.name = action.name; - this.startAction(this.action); - this.updateActionAndSkillsContent(); - return false; - } - })); - } - - //Level and buttons to change level - var maxLevel = (action.level >= action.maxLevel); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(el, 2); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("pre", { - display:"inline-block", - innerText:"Level: " + action.level + " / " + action.maxLevel, - tooltip:action.getSuccessesNeededForNextLevel(ContractSuccessesPerLevel) + " successes " + - "needed for next level" - })); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - class: maxLevel ? "a-link-button-inactive" : "a-link-button", innerHTML:"↑", - padding:"2px", margin:"2px", - tooltip: isActive ? "WARNING: changing the level will restart the contract" : "", - display:"inline", - clickListener:()=>{ - ++action.level; - if (isActive) {this.startAction(this.action);} //Restart Action - this.updateContractsUIElement(el, action); - return false; - } - })); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - class: (action.level <= 1) ? "a-link-button-inactive" : "a-link-button", innerHTML:"↓", - padding:"2px", margin:"2px", - tooltip: isActive ? "WARNING: changing the level will restart the contract" : "", - display:"inline", - clickListener:()=>{ - --action.level; - if (isActive) {this.startAction(this.action);} //Restart Action - this.updateContractsUIElement(el, action); - return false; - } - })); - - var actionTime = action.getActionTime(this); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(el, 2); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("pre", { //Info - display:"inline-block", - innerHTML:action.desc + "\n\n" + - "Estimated success chance: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(estimatedSuccessChance*100, 1) + "%\n" + - "Time Required (s): " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(actionTime, 0) + "\n" + - "Contracts remaining: " + Math.floor(action.count) + "\n" + - "Successes: " + action.successes + "\n" + - "Failures: " + action.failures, - })); - - //Autolevel Checkbox - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("br")); - var autolevelCheckboxId = "bladeburner-" + action.name + "-autolevel-checkbox"; - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("label", { - for:autolevelCheckboxId, innerText:"Autolevel",color:"white", - tooltip:"Automatically increase contract level when possible" - })); - var autolevelCheckbox = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("input", { - type:"checkbox", id:autolevelCheckboxId, margin:"4px", - checked:action.autoLevel, - changeListener:()=>{ - action.autoLevel = autolevelCheckbox.checked; - } - }); - el.appendChild(autolevelCheckbox); -} - -Bladeburner.prototype.updateOperationsUIElement = function(el, action) { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(el); - var isActive = el.classList.contains(ActiveActionCssClass); - var estimatedSuccessChance = action.getSuccessChance(this, {est:true}); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("h2", { //Header - innerText:isActive ? action.name + " (IN PROGRESS - " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.actionTimeCurrent, 0) + " / " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.actionTimeToComplete, 0) + ")" - : action.name, - display:"inline-block" - })); - - if (isActive) { //Progress bar if its active - var progress = this.actionTimeCurrent / this.actionTimeToComplete; - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"block", - innerText:Object(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_12__["createProgressBarText"])({progress:progress}) - })); - } else { //Start button and set Team Size button - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:"Start", class: "a-link-button", - margin:"3px", padding:"3px", - clickListener:()=>{ - this.action.type = ActionTypes.Operation; - this.action.name = action.name; - this.startAction(this.action); - this.updateActionAndSkillsContent(); - return false; - } - })); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:"Set Team Size (Curr Size: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(action.teamCount, 0) + ")", class:"a-link-button", - margin:"3px", padding:"3px", - clickListener:()=>{ - var popupId = "bladeburner-operation-set-team-size-popup"; - var txt = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - innerText:"Enter the amount of team members you would like to take on these " + - "operations. If you do not have the specified number of team members, " + - "then as many as possible will be used. Note that team members may " + - "be lost during operations." - - }); - var input = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("input", { - type:"number", placeholder: "Team Members" - }); - var setBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:"Confirm", class:"a-link-button", - clickListener:()=>{ - var num = Math.round(parseFloat(input.value)); - if (isNaN(num)) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])("Invalid value entered for number of Team Members (must be numeric)") - } else { - action.teamCount = num; - this.updateOperationsUIElement(el, action); - } - Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__["removeElementById"])(popupId); - return false; - } - }); - var cancelBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:"Cancel", class:"a-link-button", - clickListener:()=>{ - Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__["removeElementById"])(popupId); - return false; - } - }); - Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_20__["createPopup"])(popupId, [txt, input, setBtn, cancelBtn]); - } - })); - } - - //Level and buttons to change level - var maxLevel = (action.level >= action.maxLevel); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(el, 2); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("pre", { - display:"inline-block", - innerText:"Level: " + action.level + " / " + action.maxLevel, - tooltip:action.getSuccessesNeededForNextLevel(OperationSuccessesPerLevel) + " successes " + - "needed for next level" - })); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - class: maxLevel ? "a-link-button-inactive" : "a-link-button", innerHTML:"↑", - padding:"2px", margin:"2px", - tooltip: isActive ? "WARNING: changing the level will restart the Operation" : "", - display:"inline", - clickListener:()=>{ - ++action.level; - if (isActive) {this.startAction(this.action);} //Restart Action - this.updateOperationsUIElement(el, action); - return false; - } - })); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - class: (action.level <= 1) ? "a-link-button-inactive" : "a-link-button", innerHTML:"↓", - padding:"2px", margin:"2px", - tooltip: isActive ? "WARNING: changing the level will restart the Operation" : "", - display:"inline", - clickListener:()=>{ - --action.level; - if (isActive) {this.startAction(this.action);} //Restart Action - this.updateOperationsUIElement(el, action); - return false; - } - })); - - //General Info - var difficulty = action.getDifficulty(); - var actionTime = action.getActionTime(this); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(el, 2); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("pre", { - display:"inline-block", - innerHTML:action.desc + "\n\n" + - "Estimated success chance: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(estimatedSuccessChance*100, 1) + "%\n" + - "Time Required(s): " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(actionTime, 1) + "\n" + - "Operations remaining: " + Math.floor(action.count) + "\n" + - "Successes: " + action.successes + "\n" + - "Failures: " + action.failures, - })); - - //Autolevel Checkbox - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("br")); - var autolevelCheckboxId = "bladeburner-" + action.name + "-autolevel-checkbox"; - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("label", { - for:autolevelCheckboxId, innerText:"Autolevel",color:"white", - tooltip:"Automatically increase operation level when possible" - })); - var autolevelCheckbox = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("input", { - type:"checkbox", id:autolevelCheckboxId, margin:"4px", - checked:action.autoLevel, - changeListener:()=>{ - action.autoLevel = autolevelCheckbox.checked; - } - }); - el.appendChild(autolevelCheckbox); -} - -Bladeburner.prototype.updateBlackOpsUIElement = function(el, action) { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(el); - var isActive = el.classList.contains(ActiveActionCssClass); - var isCompleted = (this.blackops[action.name] != null); - var estimatedSuccessChance = action.getSuccessChance(this, {est:true}); - var difficulty = action.getDifficulty(); - var actionTime = action.getActionTime(this); - var hasReqdRank = this.rank >= action.reqdRank; - - //UI for Completed Black Op - if (isCompleted) { - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("h2", { - innerText:action.name + " (COMPLETED)", display:"block", - })); - return; - } - - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("h2", { //Header - innerText:isActive ? action.name + " (IN PROGRESS - " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.actionTimeCurrent, 0) + " / " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.actionTimeToComplete, 0) + ")" - : action.name, - display:"inline-block", - })); - - if (isActive) { //Progress bar if its active - var progress = this.actionTimeCurrent / this.actionTimeToComplete; - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"block", - innerText:Object(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_12__["createProgressBarText"])({progress:progress}) - })); - } else { - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { //Start button - innerText:"Start", margin:"3px", padding:"3px", - class:hasReqdRank ? "a-link-button" : "a-link-button-inactive", - clickListener:()=>{ - this.action.type = ActionTypes.BlackOperation; - this.action.name = action.name; - this.startAction(this.action); - this.updateActionAndSkillsContent(); - return false; - } - })); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { //Set Team Size Button - innerText:"Set Team Size (Curr Size: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(action.teamCount, 0) + ")", class:"a-link-button", - margin:"3px", padding:"3px", - clickListener:()=>{ - var popupId = "bladeburner-operation-set-team-size-popup"; - var txt = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - innerText:"Enter the amount of team members you would like to take on this " + - "BlackOp. If you do not have the specified number of team members, " + - "then as many as possible will be used. Note that team members may " + - "be lost during operations." - - }); - var input = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("input", { - type:"number", placeholder: "Team Members" - }); - var setBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:"Confirm", class:"a-link-button", - clickListener:()=>{ - var num = Math.round(parseFloat(input.value)); - if (isNaN(num)) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_13__["dialogBoxCreate"])("Invalid value entered for number of Team Members (must be numeric)") - } else { - action.teamCount = num; - this.updateBlackOpsUIElement(el, action); - } - Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__["removeElementById"])(popupId); - return false; - } - }); - var cancelBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { - innerText:"Cancel", class:"a-link-button", - clickListener:()=>{ - Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__["removeElementById"])(popupId); - return false; - } - }); - Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_20__["createPopup"])(popupId, [txt, input, setBtn, cancelBtn]); - } - })); - } - - //Info - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(el, 2); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"inline-block", - innerHTML:"
" + action.desc + "

", - })); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"block", color:hasReqdRank ? "white" : "red", - innerHTML:"Required Rank: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(action.reqdRank, 0) + "
" - })); - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"inline-block", - innerHTML:"Estimated Success Chance: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(estimatedSuccessChance*100, 1) + "%\n" + - "Time Required(s): " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(actionTime, 1), - })) -} - -Bladeburner.prototype.updateSkillsUIElement = function(el, skill) { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(el); - var skillName = skill.name; - var currentLevel = 0; - if (this.skills[skillName] && !isNaN(this.skills[skillName])) { - currentLevel = this.skills[skillName]; - } - var pointCost = skill.calculateCost(currentLevel); - - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("h2", { //Header - innerText:skill.name + " (Lvl " + currentLevel + ")", display:"inline-block" - })); - - var canLevel = this.skillPoints >= pointCost; - var maxLvl = skill.maxLvl ? currentLevel >= skill.maxLvl : false; - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { //Level up button - innerText:"Level", display:"inline-block", - class: canLevel && !maxLvl ? "a-link-button" : "a-link-button-inactive", - margin:"3px", padding:"3px", - clickListener:()=>{ - if (this.skillPoints < pointCost) {return;} - this.skillPoints -= pointCost; - this.upgradeSkill(skill); - this.createActionAndSkillsContent(); - return false; - } - })); - Object(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_17__["appendLineBreaks"])(el, 2); - if (maxLvl) { - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - color:"red", display:"block", - innerText:"MAX LEVEL" - })); - } else { - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { - display:"block", - innerText:"Skill Points required: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(pointCost, 0), - })); - } - el.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { //Info/Description - innerHTML:skill.desc, display:"inline-block", - })); -} - -//Bladeburner Console Window -Bladeburner.prototype.postToConsole = function(input, saveToLogs=true) { - const MaxConsoleEntries = 100; - if (saveToLogs === true) { - this.consoleLogs.push(input); - if (this.consoleLogs.length > MaxConsoleEntries) { - this.consoleLogs.shift(); - } - } - - if (input == null || DomElems.consoleDiv == null) {return;} - $("#bladeubrner-console-input-row").before('' + input + ''); - - if (DomElems.consoleTable.childNodes.length > MaxConsoleEntries) { - DomElems.consoleTable.removeChild(DomElems.consoleTable.firstChild); - } - - this.updateConsoleScroll(); -} - -Bladeburner.prototype.updateConsoleScroll = function() { - DomElems.consoleDiv.scrollTop = DomElems.consoleDiv.scrollHeight; -} - -Bladeburner.prototype.resetConsoleInput = function() { - DomElems.consoleInput.value = ""; -} - -Bladeburner.prototype.clearConsole = function() { - while (DomElems.consoleTable.childNodes.length > 1) { - DomElems.consoleTable.removeChild(DomElems.consoleTable.firstChild); - } - - this.consoleLogs.length = 0; -} - -Bladeburner.prototype.log = function(input) { - //Adds a timestamp and then just calls postToConsole - this.postToConsole(`[${Object(_utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_25__["getTimestamp"])()}] ${input}`); -} - -//Handles a potential series of commands (comm1; comm2; comm3;) -Bladeburner.prototype.executeConsoleCommands = function(commands) { - try { - //Console History - if (this.consoleHistory[this.consoleHistory.length-1] != commands) { - this.consoleHistory.push(commands); - if (this.consoleHistory.length > 50) { - this.consoleHistory.splice(0, 1); - } - } - consoleHistoryIndex = this.consoleHistory.length; - - var arrayOfCommands = commands.split(";"); - for (var i = 0; i < arrayOfCommands.length; ++i) { - this.executeConsoleCommand(arrayOfCommands[i]); - } - } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_22__[/* exceptionAlert */ "a"])(e); - } -} - -//A single command -Bladeburner.prototype.executeConsoleCommand = function(command) { - command = command.trim(); - command = command.replace(/\s\s+/g, ' '); //Replace all whitespace w/ a single space - - var args = this.parseCommandArguments(command); - if (args.length <= 0) {return;} //Log an error? - - switch(args[0].toLowerCase()) { - case "automate": - this.executeAutomateConsoleCommand(args); - break; - case "clear": - case "cls": - this.clearConsole(); - break; - case "help": - this.executeHelpConsoleCommand(args); - break; - case "log": - this.executeLogConsoleCommand(args); - break; - case "skill": - this.executeSkillConsoleCommand(args); - break; - case "start": - this.executeStartConsoleCommand(args); - break; - case "stop": - this.resetAction(); - break; - default: - this.postToConsole("Invalid console command"); - break; - } -} - -Bladeburner.prototype.parseCommandArguments = function(command) { - //Returns an array with command and its arguments in each index. - //e.g. skill "blade's intuition" foo returns [skill, blade's intuition, foo] - //The input to this fn will be trimmed and will have all whitespace replaced w/ a single space - var args = []; - var start = 0, i = 0; - while (i < command.length) { - var c = command.charAt(i); - if (c === '"') { - var endQuote = command.indexOf('"', i+1); - if (endQuote !== -1 && (endQuote === command.length-1 || command.charAt(endQuote+1) === " ")) { - args.push(command.substr(i+1, (endQuote - i - 1))); - if (endQuote === command.length-1) { - start = i = endQuote+1; - } else { - start = i = endQuote+2; //Skip the space - } - continue; - } - } else if (c === " ") { - args.push(command.substr(start, i-start)); - start = i+1; - } - ++i; - } - if (start !== i) {args.push(command.substr(start, i-start));} - console.log("Bladeburner.parseCommandArguments returned: " + args); - return args; -} - -Bladeburner.prototype.executeAutomateConsoleCommand = function(args) { - if (args.length !== 2 && args.length !== 4) { - this.postToConsole("Invalid use of 'automate' command: automate [var] [val] [hi/low]. Use 'help automate' for more info"); - return; - } - - //Enable/Disable - if (args.length === 2) { - var flag = args[1]; - if (flag.toLowerCase() === "status") { - this.postToConsole("Automation: " + (this.automateEnabled ? "enabled" : "disabled")); - if (this.automateEnabled) { - this.postToConsole("When your stamina drops to " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.automateThreshLow, 0) + - ", you will automatically switch to " + this.automateActionLow.name + - ". When your stamina recovers to " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.automateThreshHigh, 0) + ", you will automatically " + - "switch to " + this.automateActionHigh.name + "."); - } - - } else if (flag.toLowerCase().includes("en")) { - if (!(this.automateActionLow instanceof ActionIdentifier) || - !(this.automateActionHigh instanceof ActionIdentifier)) { - return this.log("Failed to enable automation. Actions were not set"); - } - this.automateEnabled = true; - this.log("Bladeburner automation enabled"); - } else if (flag.toLowerCase().includes("d")) { - this.automateEnabled = false; - this.log("Bladeburner automation disabled"); - } else { - this.log("Invalid argument for 'automate' console command: " + args[1]); - } - return; - } - - //Set variables - if (args.length === 4) { - var variable = args[1], val = args[2]; - - var highLow = false; //True for high, false for low - if (args[3].toLowerCase().includes("hi")) {highLow = true;} - - switch (variable) { - case "general": - case "gen": - if (GeneralActions[val] != null) { - var action = new ActionIdentifier({ - type:ActionTypes[val], name:val - }); - if (highLow) { - this.automateActionHigh = action; - } else { - this.automateActionLow = action; - } - this.log("Automate (" + (highLow ? "HIGH" : "LOW") + ") action set to " + val); - } else { - this.postToConsole("Invalid action name specified: " + val); - } - break; - case "contract": - case "contracts": - if (this.contracts[val] != null) { - var action = new ActionIdentifier({ - type:ActionTypes.Contract, name:val - }); - if (highLow) { - this.automateActionHigh = action; - } else { - this.automateActionLow = action; - } - this.log("Automate (" + (highLow ? "HIGH" : "LOW") + ") action set to " + val); - } else { - this.postToConsole("Invalid contract name specified: " + val); - } - break; - case "ops": - case "op": - case "operations": - case "operation": - if (this.operations[val] != null) { - var action = new ActionIdentifier({ - type:ActionTypes.Operation, name:val - }); - if (highLow) { - this.automateActionHigh = action; - } else { - this.automateActionLow = action; - } - this.log("Automate (" + (highLow ? "HIGH" : "LOW") + ") action set to " + val); - } else { - this.postToConsole("Invalid Operation name specified: " + val); - } - break; - case "stamina": - if (isNaN(val)) { - this.postToConsole("Invalid value specified for stamina threshold (must be numeric): " + val); - } else { - if (highLow) { - this.automateThreshHigh = Number(val); - } else { - this.automateThreshLow = Number(val); - } - this.log("Automate (" + (highLow ? "HIGH" : "LOW") + ") stamina threshold set to " + val); - } - break; - default: - break; - } - - return; - } -} - -Bladeburner.prototype.executeHelpConsoleCommand = function(args) { - if (args.length === 1) { - this.postToConsole(consoleHelpText.helpList); - } else { - for (var i = 1; i < args.length; ++i) { - var commandText = consoleHelpText[args[i]]; - if (commandText != null) { - this.postToConsole(commandText); - this.postToConsole("
"); - } - } - } -} - -Bladeburner.prototype.executeLogConsoleCommand = function(args) { - if (args.length < 3) { - this.postToConsole("Invalid usage of log command: log [enable/disable] [action/event]"); - this.postToConsole("Use 'help log' for more details and examples"); - return; - } - - var flag = true; - if (args[1].toLowerCase().includes("d")) {flag = false;} //d for disable - - switch (args[2].toLowerCase()) { - case "general": - case "gen": - this.logging.general = flag; - this.log("Logging " + (flag ? "enabled" : "disabled") + " for general actions"); - break; - case "contract": - case "contracts": - this.logging.contracts = flag; - this.log("Logging " + (flag ? "enabled" : "disabled") + " for Contracts"); - break; - case "ops": - case "op": - case "operations": - case "operation": - this.logging.ops = flag; - this.log("Logging " + (flag ? "enabled" : "disabled") + " for Operations"); - break; - case "blackops": - case "blackop": - case "black operations": - case "black operation": - this.logging.blackops = flag; - this.log("Logging " + (flag ? "enabled" : "disabled") + " for BlackOps"); - break; - case "event": - case "events": - this.logging.events = flag; - this.log("Logging " + (flag ? "enabled" : "disabled") + " for events"); - break; - case "all": - this.logging.general = flag; - this.logging.contracts = flag; - this.logging.ops = flag; - this.logging.blackops = flag; - this.logging.events = flag; - this.log("Logging " + (flag ? "enabled" : "disabled") + " for everything"); - break; - default: - this.postToConsole("Invalid action/event type specified: " + args[2]); - this.postToConsole("Examples of valid action/event identifiers are: [general, contracts, ops, blackops, events]"); - break; - } -} - -Bladeburner.prototype.executeSkillConsoleCommand = function(args) { - switch (args.length) { - case 1: - //Display Skill Help Command - this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"); - this.postToConsole("Use 'help skill' for more info"); - break; - case 2: - if (args[1].toLowerCase() === "list") { - //List all skills and their level - this.postToConsole("Skills: "); - var skillNames = Object.keys(Skills); - for(var i = 0; i < skillNames.length; ++i) { - var skill = Skills[skillNames[i]]; - var level = 0; - if (this.skills[skill.name] != null) {level = this.skills[skill.name];} - this.postToConsole(skill.name + ": Level " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(level, 0)); - } - this.postToConsole(" "); - this.postToConsole("Effects: "); - var multKeys = Object.keys(this.skillMultipliers); - for (var i = 0; i < multKeys.length; ++i) { - var mult = this.skillMultipliers[multKeys[i]]; - if (mult && mult !== 1) { - mult = Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(mult, 3); - switch(multKeys[i]) { - case "successChanceAll": - this.postToConsole("Total Success Chance: x" + mult); - break; - case "successChanceStealth": - this.postToConsole("Stealth Success Chance: x" + mult); - break; - case "successChanceKill": - this.postToConsole("Retirement Success Chance: x" + mult); - break; - case "successChanceContract": - this.postToConsole("Contract Success Chance: x" + mult); - break; - case "successChanceOperation": - this.postToConsole("Operation Success Chance: x" + mult); - break; - case "successChanceEstimate": - this.postToConsole("Synthoid Data Estimate: x" + mult); - break; - case "actionTime": - this.postToConsole("Action Time: x" + mult); - break; - case "effHack": - this.postToConsole("Hacking Skill: x" + mult); - break; - case "effStr": - this.postToConsole("Strength: x" + mult); - break; - case "effDef": - this.postToConsole("Defense: x" + mult); - break; - case "effDex": - this.postToConsole("Dexterity: x" + mult); - break; - case "effAgi": - this.postToConsole("Agility: x" + mult); - break; - case "effCha": - this.postToConsole("Charisma: x" + mult); - break; - case "effInt": - this.postToConsole("Intelligence: x" + mult); - break; - case "stamina": - this.postToConsole("Stamina: x" + mult); - break; - case "weaponAbility": - //DomElems.actionsAndSkillsDesc.innerHTML += - break; - case "gunAbility": - //DomElems.actionsAndSkillsDesc.innerHTML - break; - default: - console.log("Warning: Unrecognized SkillMult Key: " + multKeys[i]); - break; - } - } - } - } else { - this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"); - this.postToConsole("Use 'help skill' for more info"); - } - break; - case 3: - var skillName = args[2]; - var skill = Skills[skillName]; - if (skill == null || !(skill instanceof Skill)) { - return this.postToConsole("Invalid skill name (Note that this is case-sensitive): " + skillName); - } - if (args[1].toLowerCase() === "list") { - this.postToConsole(skill.name + ": Level " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(this.skills[skill.name]), 0); - } else if (args[1].toLowerCase() === "level") { - var currentLevel = 0; - if (this.skills[skillName] && !isNaN(this.skills[skillName])) { - currentLevel = this.skills[skillName]; - } - var pointCost = skill.calculateCost(currentLevel); - if (this.skillPoints >= pointCost) { - this.skillPoints -= pointCost; - this.upgradeSkill(skill); - this.log(skill.name + " upgraded to Level " + this.skills[skillName]); - this.createActionAndSkillsContent(); - } else { - this.postToConsole("You do not have enough Skill Points to upgrade this. You need " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_23__["formatNumber"])(pointCost, 0)); - } - - } else { - this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"); - this.postToConsole("Use 'help skill' for more info"); - } - break; - default: - this.postToConsole("Invalid usage of 'skill' console command: skill [action] [name]"); - this.postToConsole("Use 'help skill' for more info"); - break; - } -} - -Bladeburner.prototype.executeStartConsoleCommand = function(args) { - if (args.length !== 3) { - this.postToConsole("Invalid usage of 'start' console command: start [type] [name]"); - this.postToConsole("Use 'help start' for more info"); - return; - } - var name = args[2]; - switch (args[1].toLowerCase()) { - case "general": - case "gen": - if (GeneralActions[name] != null) { - this.action.type = ActionTypes[name]; - this.action.name = name; - this.startAction(this.action); - this.updateActionAndSkillsContent(); - } else { - this.postToConsole("Invalid action name specified: " + args[2]); - } - break; - case "contract": - case "contracts": - if (this.contracts[name] != null) { - this.action.type = ActionTypes.Contract; - this.action.name = name; - this.startAction(this.action); - this.updateActionAndSkillsContent(); - } else { - this.postToConsole("Invalid contract name specified: " + args[2]); - } - break; - case "ops": - case "op": - case "operations": - case "operation": - if (this.operations[name] != null) { - this.action.type = ActionTypes.Operation; - this.action.name = name; - this.startAction(this.action); - this.updateActionAndSkillsContent(); - } else { - this.postToConsole("Invalid Operation name specified: " + args[2]); - } - break; - case "blackops": - case "blackop": - case "black operations": - case "black operation": - if (BlackOperations[name] != null) { - this.action.type = ActionTypes.BlackOperation; - this.action.name = name; - this.startAction(this.action); - this.updateActionAndSkillsContent(); - } else { - this.postToConsole("Invalid BlackOp name specified: " + args[2]); - } - break; - default: - this.postToConsole("Invalid action/event type specified: " + args[1]); - this.postToConsole("Examples of valid action/event identifiers are: [general, contract, op, blackop]"); - break; - } -} - -Bladeburner.prototype.getActionIdFromTypeAndName = function(type="", name="") { - if (type === "" || name === "") {return null;} - var action = new ActionIdentifier(); - var convertedType = type.toLowerCase().trim(); - var convertedName = name.toLowerCase().trim(); - switch (convertedType) { - case "contract": - case "contracts": - case "contr": - action.type = ActionTypes["Contract"]; - if (this.contracts.hasOwnProperty(name)) { - action.name = name; - return action; - } else { - return null; - } - break; - case "operation": - case "operations": - case "op": - case "ops": - action.type = ActionTypes["Operation"]; - if (this.operations.hasOwnProperty(name)) { - action.name = name; - return action; - } else { - return null; - } - break; - case "blackoperation": - case "black operation": - case "black operations": - case "black op": - case "black ops": - case "blackop": - case "blackops": - action.type = ActionTypes["BlackOp"]; - if (BlackOperations.hasOwnProperty(name)) { - action.name = name; - return action; - } else { - return null; - } - break; - case "general": - case "general action": - case "gen": - break; - default: - return null; - } - - if (convertedType.startsWith("gen")) { - switch (convertedName) { - case "training": - action.type = ActionTypes["Training"]; - action.name = "Training"; - break; - case "recruitment": - case "recruit": - action.type = ActionTypes["Recruitment"]; - action.name = "Recruitment"; - break; - case "field analysis": - case "fieldanalysis": - action.type = ActionTypes["Field Analysis"]; - action.name = "Field Analysis"; - break; - default: - return null; - } - return action; - } -} - -Bladeburner.prototype.getTypeAndNameFromActionId = function(actionId) { - var res = {}; - let types = Object.keys(ActionTypes); - for (let i = 0; i < types.length; ++i) { - if (actionId.type === ActionTypes[types[i]]) { - res.type = types[i]; - break; - } - } - if (res.type == null) {res.type = "Idle";} - - res.name = actionId.name != null ? actionId.name : "Idle"; - return res; -} - -Bladeburner.prototype.getContractNamesNetscriptFn = function() { - return Object.keys(this.contracts); -} - -Bladeburner.prototype.getOperationNamesNetscriptFn = function() { - return Object.keys(this.operations); -} - -Bladeburner.prototype.getBlackOpNamesNetscriptFn = function() { - return Object.keys(BlackOperations); -} - -Bladeburner.prototype.getGeneralActionNamesNetscriptFn = function() { - return Object.keys(GeneralActions); -} - -Bladeburner.prototype.getSkillNamesNetscriptFn = function() { - return Object.keys(Skills); -} - -Bladeburner.prototype.startActionNetscriptFn = function(type, name, workerScript) { - var errorLogText = "ERROR: bladeburner.startAction() failed due to an invalid action specified. " + - "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + - "name of the operation is case-sensitive."; - var actionId = this.getActionIdFromTypeAndName(type, name); - if (actionId == null) { - workerScript.log(errorLogText); - return false; - } - - // Special logic for Black Ops - if (actionId.type === ActionTypes["BlackOp"]) { - // Can't start a BlackOp if you don't have the required rank - let action = this.getActionObject(actionId); - if (action.reqdRank > this.rank) { - workerScript.log(`Failed to start Black Op ${actionId.name} due to insufficient rank`); - return false; - } - - // Can't start a BlackOp if its already been done - if (this.blackops[actionId.name] != null) { - workerScript.log(`Failed to start Black Op ${actionId.name} because its already been completed`); - return false; - } - - // Can't start a BlackOp if you haven't done the one before it - var blackops = []; - for (const nm in BlackOperations) { - if (BlackOperations.hasOwnProperty(nm)) { - blackops.push(nm); - } - } - blackops.sort(function(a, b) { - return (BlackOperations[a].reqdRank - BlackOperations[b].reqdRank); // Sort black ops in intended order - }); - - let i = blackops.indexOf(actionId.name); - if (i === -1) { - workerScript.log("ERROR: Invalid Black Operation name passed into bladeburner.startAction(). Note that this name is case-sensitive & whitespace-sensitive"); - return false; - } - - if (i > 0 && this.blackops[blackops[i-1]] == null) { - workerScript.log(`ERROR: Cannot attempt Black Operation ${actionId.name} because you have not done the preceding one`); - return false; - } - } - - try { - this.startAction(actionId); - if (workerScript.shouldLog("startAction")) { - workerScript.scriptRef.log("Starting bladeburner action with type " + type + " and name " + name); - } - return true; - } catch(e) { - this.resetAction(); - workerScript.scriptRef.log("ERROR: bladeburner.startAction() failed to start action of type " + type + " due to invalid name: " + name + - "Note that this name is case-sensitive and whitespace-sensitive"); - return false; - } -} - -Bladeburner.prototype.getActionTimeNetscriptFn = function(type, name, workerScript) { - var errorLogText = "ERROR: bladeburner.getActionTime() failed due to an invalid action specified. " + - "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + - "name of the operation is case-sensitive."; - var actionId = this.getActionIdFromTypeAndName(type, name); - if (actionId == null) { - workerScript.log(errorLogText); - return -1; - } - - var actionObj = this.getActionObject(actionId); - if (actionObj == null) { - workerScript.log(errorLogText); - return -1; - } - - switch (actionId.type) { - case ActionTypes["Contract"]: - case ActionTypes["Operation"]: - case ActionTypes["BlackOp"]: - case ActionTypes["BlackOperation"]: - return actionObj.getActionTime(this); - case ActionTypes["Training"]: - case ActionTypes["Field Analysis"]: - case ActionTypes["FieldAnalysis"]: - return 30; - case ActionTypes["Recruitment"]: - return this.getRecruitmentTime(); - default: - workerScript.log(errorLogText); - return -1; - } -} - -Bladeburner.prototype.getActionEstimatedSuccessChanceNetscriptFn = function(type, name, workerScript) { - var errorLogText = "ERROR: bladeburner.getActionEstimatedSuccessChance() failed due to an invalid action specified. " + - "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + - "name of the operation is case-sensitive."; - var actionId = this.getActionIdFromTypeAndName(type, name); - if (actionId == null) { - workerScript.log(errorLogText); - return -1; - } - - var actionObj = this.getActionObject(actionId); - if (actionObj == null) { - workerScript.log(errorLogText); - return -1; - } - - switch (actionId.type) { - case ActionTypes["Contract"]: - case ActionTypes["Operation"]: - case ActionTypes["BlackOp"]: - case ActionTypes["BlackOperation"]: - return actionObj.getSuccessChance(this, {est:true}); - case ActionTypes["Training"]: - case ActionTypes["Field Analysis"]: - case ActionTypes["FieldAnalysis"]: - return 1; - case ActionTypes["Recruitment"]: - return this.getRecruitmentSuccessChance(); - default: - workerScript.log(errorLogText); - return -1; - } -} - -Bladeburner.prototype.getActionCountRemainingNetscriptFn = function(type, name, workerScript) { - var errorLogText = "ERROR: bladeburner.getActionCountRemaining() failed due to an invalid action specified. " + - "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + - "name of the operation is case-sensitive."; - var actionId = this.getActionIdFromTypeAndName(type, name); - if (actionId == null) { - workerScript.log(errorLogText); - return -1; - } - - var actionObj = this.getActionObject(actionId); - if (actionObj == null) { - workerScript.log(errorLogText); - return -1; - } - - switch (actionId.type) { - case ActionTypes["Contract"]: - case ActionTypes["Operation"]: - return Math.floor( actionObj.count ); - case ActionTypes["BlackOp"]: - case ActionTypes["BlackOperation"]: - if (this.blackops[name] != null) { - return 0; - } else { - return 1; - } - case ActionTypes["Training"]: - case ActionTypes["Field Analysis"]: - case ActionTypes["FieldAnalysis"]: - return Infinity; - default: - workerScript.log(errorLogText); - return -1; - } -} - -Bladeburner.prototype.getSkillLevelNetscriptFn = function(skillName, workerScript) { - var errorLogText = "ERROR: bladeburner.getSkillLevel() failed due to an invalid skill specified: " + - skillName + ". Note that the name of the skill is case-sensitive"; - - if (skillName === "") { - return -1; - } - - if (!Skills.hasOwnProperty(skillName)) { - workerScript.log(errorLogText); - return -1; - } - - if (this.skills[skillName] == null) { - return 0; - } else { - return this.skills[skillName]; - } -} - -Bladeburner.prototype.getSkillUpgradeCostNetscriptFn = function(skillName, workerScript) { - var errorLogText = "ERROR: bladeburner.getSkillUpgradeCostNetscriptFn() failed due to an invalid skill specified: " + - skillName + ". Note that the name of the skill is case-sensitive"; - - if (skillName === "") { - return -1; - } - - if (!Skills.hasOwnProperty(skillName)) { - workerScript.log(errorLogText); - return -1; - } - - var skill = Skills[skillName]; - if (this.skills[skillName] == null) { - return skill.calculateCost(0); - } else { - return skill.calculateCost(this.skills[skillName]); - } -} - -Bladeburner.prototype.upgradeSkillNetscriptFn = function(skillName, workerScript) { - var errorLogText = "ERROR: bladeburner.upgradeSkill() failed due to an invalid skill specified: " + - skillName + ". Note that the name of the skill is case-sensitive"; - if (!Skills.hasOwnProperty(skillName)) { - workerScript.log(errorLogText); - return false; - } - - var skill = Skills[skillName]; - var currentLevel = 0; - if (this.skills[skillName] && !isNaN(this.skills[skillName])) { - currentLevel = this.skills[skillName]; - } - var cost = skill.calculateCost(currentLevel); - - if(skill.maxLvl && currentLevel >= skill.maxLvl) { - if (workerScript.shouldLog("upgradeSkill")) { - workerScript.log(`bladeburner.upgradeSkill() failed because ${skillName} is already maxed`); - } - return false; - } - - if (this.skillPoints < cost) { - if (workerScript.shouldLog("upgradeSkill")) { - workerScript.log("bladeburner.upgradeSkill() failed because you do not have enough " + - "skill points to upgrade " + skillName + " (You have " + - this.skillPoints + ", you need " + cost + ")"); - } - return false; - } - - this.skillPoints -= cost; - this.upgradeSkill(skill); - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["Page"].Bladeburner) && DomElems.currentTab.toLowerCase() === "skills") { - this.createActionAndSkillsContent(); - } - if (workerScript.shouldLog("upgradeSkill")) { - workerScript.log(skillName + " successfully upgraded to level " + this.skills[skillName]); - } - return true; -} - -Bladeburner.prototype.getTeamSizeNetscriptFn = function(type, name, workerScript) { - if (type === "" && name === "") { - return this.teamSize; - } - - var errorLogText = "ERROR: bladeburner.getTeamSize() failed due to an invalid action specified. " + - "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + - "name of the operation is case-sensitive."; - - var actionId = this.getActionIdFromTypeAndName(type, name); - if (actionId == null) { - workerScript.log(errorLogText); - return -1; - } - - var actionObj = this.getActionObject(actionId); - if (actionObj == null) { - workerScript.log(errorLogText); - return -1; - } - - if (actionId.type === ActionTypes["Operation"] || - actionId.type === ActionTypes["BlackOp"] || - actionId.type === ActionTypes["BlackOperation"]) { - return actionObj.teamCount; - } else { - return 0; - } -} - -Bladeburner.prototype.setTeamSizeNetscriptFn = function(type, name, size, workerScript) { - var errorLogText = "ERROR: bladeburner.setTeamSize() failed due to an invalid action specified. " + - "Type: " + type + ", Name: " + name + ". Note that for contracts and operations, the " + - "name of the operation is case-sensitive."; - var actionId = this.getActionIdFromTypeAndName(type, name); - if (actionId == null) { - workerScript.log(errorLogText); - return -1; - } - - if (actionId.type !== ActionTypes["Operation"] && - actionId.type !== ActionTypes["BlackOp"] && - actionId.type !== ActionTypes["BlackOperation"]) { - workerScript.log("ERROR: bladeburner.setTeamSize() failed. This function " + - "only works for Operations and BlackOps"); - return -1; - } - - var actionObj = this.getActionObject(actionId); - if (actionObj == null) { - workerScript.log(errorLogText); - return -1; - } - - var sanitizedSize = Math.round(size); - if (isNaN(sanitizedSize)) { - workerScript.log("ERROR: bladeburner.setTeamSize() failed due to an invalid 'size' argument: " + size); - return -1; - } - if (this.teamSize < sanitizedSize) {sanitizedSize = this.teamSize;} - actionObj.teamCount = sanitizedSize; - if (workerScript.shouldLog("setTeamSize")) { - workerScript.log("Team size for " + name + " set to " + sanitizedSize); - } - return sanitizedSize; -} - -Bladeburner.prototype.getCityEstimatedPopulationNetscriptFn = function(cityName, workerScript) { - if (!this.cities.hasOwnProperty(cityName)) { - workerScript.log("ERROR: bladeburner.getCityEstimatedPopulation() failed because the specified " + - "city was invalid: " + cityName + ". Note that this city argument is case-sensitive"); - return -1; - } - return this.cities[cityName].popEst; -} - -Bladeburner.prototype.getCityEstimatedCommunitiesNetscriptFn = function(cityName, workerScript) { - if (!this.cities.hasOwnProperty(cityName)) { - workerScript.log("ERROR: bladeburner.getCityEstimatedCommunities() failed because the specified " + - "city was invalid: " + cityName + ". Note that this city argument is case-sensitive"); - return -1; - } - return this.cities[cityName].commsEst; -} - -Bladeburner.prototype.getCityChaosNetscriptFn = function(cityName, workerScript) { - if (!this.cities.hasOwnProperty(cityName)) { - workerScript.log("ERROR: bladeburner.getCityChaos() failed because the specified " + - "city was invalid: " + cityName + ". Note that this city argument is case-sensitive"); - return -1; - } - return this.cities[cityName].chaos; -} - -Bladeburner.prototype.switchCityNetscriptFn = function(cityName, workerScript) { - if (!this.cities.hasOwnProperty(cityName)) { - workerScript.log("ERROR: bladeburner.switchCity() failed because the specified " + - "city was invalid: " + cityName + ". Note that this city argument is case-sensitive"); - return false; - } - this.city = cityName; - return true; -} - -Bladeburner.prototype.joinBladeburnerFactionNetscriptFn = function(workerScript) { - var bladeburnerFac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]["Bladeburners"]; - if (bladeburnerFac.isMember) { - return true; - } else if (this.rank >= RankNeededForFaction) { - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_6__[/* joinFaction */ "c"])(bladeburnerFac); - if (workerScript.shouldLog("joinBladeburnerFaction")) { - workerScript.log("Joined Bladeburners Faction"); - } - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_21__["Page"].Bladeburner)) { - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_14__["removeChildrenFromElement"])(DomElems.overviewDiv); - this.createOverviewContent(); - } - return true; - } else { - if (workerScript.shouldLog("joinBladeburnerFaction")) { - workerScript.log("Failed to join Bladeburners Faction because " + - "you do not have the required " + RankNeededForFaction + " rank"); - } - return false; - } -} - -Bladeburner.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_toJSON"])("Bladeburner", this); -} -Bladeburner.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Generic_fromJSON"])(Bladeburner, value.data); -} -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_15__["Reviver"].constructors.Bladeburner = Bladeburner; - -//This initialized Bladeburner-related data that is NOT saved/loaded -// eg: Skill Objects, BLack Operations -//Any data that is saved/loaded should go in Bladeburner object -// eg: contracts, operations -function initBladeburner() { - //Skills - Skills[SkillNames.BladesIntuition] = new Skill({ - name:SkillNames.BladesIntuition, - desc:"Each level of this skill increases your success chance " + - "for all Contracts, Operations, and BlackOps by 3%", - baseCost:5, costInc:2, - successChanceAll:3 - }); - Skills[SkillNames.Reaper] = new Skill({ - name:SkillNames.Reaper, - desc:"Each level of this skill increases your " + - "effective combat stats for Bladeburner actions by 3%", - baseCost:3, costInc:2, - effStr:3, effDef:3, effDex:3, effAgi:3 - }); - Skills[SkillNames.Cloak] = new Skill({ - name:SkillNames.Cloak, - desc:"Each level of this skill increases your " + - "success chance in stealth-related Contracts, Operations, and BlackOps by 5.5%", - baseCost:3, costInc:1, - successChanceStealth:5.5 - }); - - //TODO Marksman - //TODO Weapon Proficiency - - Skills[SkillNames.Overclock] = new Skill({ - name:SkillNames.Overclock, - desc:"Each level of this skill decreases the time it takes " + - "to attempt a Contract, Operation, and BlackOp by 1% (Max Level: 95)", - baseCost:5, costInc:1.1, maxLvl:95, - actionTime:1 - }); - Skills[SkillNames.EvasiveSystem] = new Skill({ - name:SkillNames.EvasiveSystem, - desc:"Each level of this skill increases your effective " + - "dexterity and agility for Bladeburner actions by 5%", - baseCost:2, costInc: 1, - effDex:5, effAgi:5 - }); - Skills[SkillNames.ShortCircuit] = new Skill({ - name:SkillNames.ShortCircuit, - desc:"Each level of this skill increases your success chance " + - "in Contracts, Operations, and BlackOps that involve retirement by 5.5%", - baseCost:3, costInc:2, - successChanceKill:5.5 - }); - Skills[SkillNames.DigitalObserver] = new Skill({ - name:SkillNames.DigitalObserver, - desc:"Each level of this skill increases your success chance in " + - "all Operations and BlackOps by 4%", - baseCost:5, costInc:2, - successChanceOperation:4 - }); - Skills[SkillNames.Datamancer] = new Skill({ - name:SkillNames.Datamancer, - desc:"Each level of this skill increases your effectiveness in " + - "synthoid population analysis and investigation by 5%. " + - "This affects all actions that can potentially increase " + - "the accuracy of your synthoid population/community estimates.", - baseCost:3,costInc:1, - successChanceEstimate:5 - }); - Skills[SkillNames.Tracer] = new Skill({ - name:SkillNames.Tracer, - desc:"Each level of this skill increases your success chance in " + - "all Contracts by 4%", - baseCost:3, costInc:2, - successChanceContract:4 - }); - Skills[SkillNames.CybersEdge] = new Skill({ - name:SkillNames.CybersEdge, - desc:"Each level of this skill increases your max " + - "stamina by 2%", - baseCost:1, costInc:3, - stamina:2 - }); - - //General Actions - var actionName = "Training"; - GeneralActions[actionName] = new Action({ - name:actionName, - desc:"Improve your abilities at the Bladeburner unit's specialized training " + - "center. Doing this gives experience for all combat stats and also " + - "increases your max stamina." - }); - - var actionName = "Field Analysis"; - GeneralActions[actionName] = new Action({ - name:actionName, - desc:"Mine and analyze Synthoid-related data. This improve the " + - "Bladeburner's unit intelligence on Synthoid locations and " + - "activities. Completing this action will improve the accuracy " + - "of your Synthoid population estimated in the current city.

" + - "Does NOT require stamina." - }); - - var actionName = "Recruitment"; - GeneralActions[actionName] = new Action({ - name:actionName, - desc:"Attempt to recruit members for your Bladeburner team. These members " + - "can help you conduct operations.

" + - "Does NOT require stamina." - }); - - //Black Operations - BlackOperations["Operation Typhoon"] = new BlackOperation({ - name:"Operation Typhoon", - desc:"Obadiah Zenyatta is the leader of a RedWater PMC. It has long " + - "been known among the intelligence community that Zenyatta, along " + - "with the rest of the PMC, is a Synthoid.

" + - "The goal of Operation Typhoon is to find and eliminate " + - "Zenyatta and RedWater by any means necessary. After the task " + - "is completed, the actions must be covered up from the general public.", - baseDifficulty:2000, reqdRank:2.5e3, - rankGain:50, rankLoss:10, hpLoss:100, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Zero"] = new BlackOperation({ - name:"Operation Zero", - desc:"AeroCorp is one of the world's largest defense contractors. " + - "It's leader, Steve Watataki, is thought to be a supporter of " + - "Synthoid rights. He must be removed.

" + - "The goal of Operation Zero is to covertly infiltrate AeroCorp and " + - "uncover any incriminating evidence or " + - "information against Watataki that will cause him to be removed " + - "from his position at AeroCorp. Incriminating evidence can be " + - "fabricated as a last resort. Be warned that AeroCorp has some of " + - "the most advanced security measures in the world.", - baseDifficulty:2500, reqdRank:5e3, - rankGain:60, rankLoss:15, hpLoss:50, - weights:{hack:0.2,str:0.15,def:0.15,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isStealth:true - }); - BlackOperations["Operation X"] = new BlackOperation({ - name:"Operation X", - desc:"We have recently discovered an underground publication " + - "group called Samizdat. Even though most of their publications " + - "are nonsensical conspiracy theories, the average human is " + - "gullible enough to believe them. Many of their works discuss " + - "Synthoids and pose a threat to society. The publications are spreading " + - "rapidly in China and other Eastern countries.

" + - "Samizdat has done a good job of keeping hidden and anonymous. " + - "However, we've just received intelligence that their base of " + - "operations is in Ishima's underground sewer systems. Your task is to " + - "investigate the sewer systems, and eliminate Samizdat. They must " + - "never publish anything again.", - baseDifficulty:3000, reqdRank:7.5e3, - rankGain:75, rankLoss:15, hpLoss:100, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Titan"] = new BlackOperation({ - name:"Operation Titan", - desc:"Several months ago Titan Laboratories' Bioengineering department " + - "was infiltrated by Synthoids. As far as we know, Titan Laboratories' " + - "management has no knowledge about this. We don't know what the " + - "Synthoids are up to, but the research that they could " + - "be conducting using Titan Laboraties' vast resources is potentially " + - "very dangerous.

" + - "Your goal is to enter and destroy the Bioengineering department's " + - "facility in Aevum. The task is not just to retire the Synthoids there, but " + - "also to destroy any information or research at the facility that " + - "is relevant to the Synthoids and their goals.", - baseDifficulty:4000, reqdRank:10e3, - rankGain:100, rankLoss:20, hpLoss:100, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Ares"] = new BlackOperation({ - name:"Operation Ares", - desc:"One of our undercover agents, Agent Carter, has informed us of a " + - "massive weapons deal going down in Dubai between rogue Russian " + - "militants and a radical Synthoid community. These weapons are next-gen " + - "plasma and energy weapons. It is critical for the safety of humanity " + - "that this deal does not happen.

" + - "Your task is to intercept the deal. Leave no survivors.", - baseDifficulty:5000, reqdRank:12.5e3, - rankGain:125, rankLoss:20, hpLoss:200, - weights:{hack:0,str:0.25,def:0.25,dex:0.25,agi:0.25,cha:0, int:0}, - decays:{hack:0,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Archangel"] = new BlackOperation({ - name:"Operation Archangel", - desc:"Our analysts have discovered that the popular Red Rabbit brothel in " + - "Amsterdam is run and 'staffed' by MK-VI Synthoids. Intelligence " + - "suggests that the profit from this brothel is used to fund a large " + - "black market arms trafficking operation.

" + - "The goal of this operation is to take out the leaders that are running " + - "the Red Rabbit brothel. Try to limit the number of other casualties, " + - "but do what you must to complete the mission.", - baseDifficulty:7500, reqdRank:15e3, - rankGain:200, rankLoss:20, hpLoss:25, - weights:{hack:0,str:0.2,def:0.2,dex:0.3,agi:0.3,cha:0, int:0}, - decays:{hack:0,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true, - }); - BlackOperations["Operation Juggernaut"] = new BlackOperation({ - name:"Operation Juggernaut", - desc:"The CIA has just encountered a new security threat. A new " + - "criminal group, lead by a shadowy operative who calls himself " + - "Juggernaut, has been smuggling drugs and weapons (including " + - "suspected bioweapons) into Sector-12. We also have reason " + - "to believe the tried to break into one of Universal Energy's " + - "facilities in order to cause a city-wide blackout. The CIA " + - "suspects that Juggernaut is a heavily-augmented Synthoid, and " + - "have thus enlisted our help.

" + - "Your mission is to eradicate Juggernaut and his followers.", - baseDifficulty:10e3, reqdRank:20e3, - rankGain:300, rankLoss:40, hpLoss:300, - weights:{hack:0,str:0.25,def:0.25,dex:0.25,agi:0.25,cha:0, int:0}, - decays:{hack:0,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true, - }); - BlackOperations["Operation Red Dragon"] = new BlackOperation({ - name:"Operation Red Dragon", - desc:"The Tetrads criminal organization is suspected of " + - "reverse-engineering the MK-VI Synthoid design. We believe " + - "they altered and possibly improved the design and began " + - "manufacturing their own Synthoid models in order to bolster " + - "their criminal activities.

" + - "Your task is to infiltrate and destroy the Tetrads' base of operations " + - "in Los Angeles. Intelligence tells us that their base houses " + - "one of their Synthoid manufacturing units.", - baseDifficulty:12.5e3, reqdRank:25e3, - rankGain:500, rankLoss:50, hpLoss:500, - weights:{hack:0.05,str:0.2,def:0.2,dex:0.25,agi:0.25,cha:0, int:0.05}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true, - }); - BlackOperations["Operation K"] = new BlackOperation({ - name:"Operation K", - desc:"CODE RED SITUATION. Our intelligence tells us that VitaLife " + - "has discovered a new android cloning technology. This technology " + - "is supposedly capable of cloning Synthoid, not only physically " + - "but also their advanced AI modules. We do not believe that " + - "VitaLife is trying to use this technology illegally or " + - "maliciously, but if any Synthoids were able to infiltrate the " + - "corporation and take advantage of this technology then the " + - "results would be catastrophic.

" + - "We do not have the power or jurisdiction to shutdown this down " + - "through legal or political means, so we must resort to a covert " + - "operation. Your goal is to destroy this technology and eliminate" + - "anyone who was involved in its creation.", - baseDifficulty:15e3, reqdRank:30e3, - rankGain:750, rankLoss:60, hpLoss:1000, - weights:{hack:0.05,str:0.2,def:0.2,dex:0.25,agi:0.25,cha:0, int:0.05}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Deckard"] = new BlackOperation({ - name:"Operation Deckard", - desc:"Despite your success in eliminating VitaLife's new android-replicating " + - "technology in Operation K, we've discovered that a small group of " + - "MK-VI Synthoids were able to make off with the schematics and design " + - "of the technology before the Operation. It is almost a certainty that " + - "these Synthoids are some of the rogue MK-VI ones from the Synthoid Uprising." + - "The goal of Operation Deckard is to hunt down these Synthoids and retire " + - "them. I don't need to tell you how critical this mission is.", - baseDifficulty:20e3, reqdRank:40e3, - rankGain:1e3, rankLoss:75, hpLoss:200, - weights:{hack:0,str:0.24,def:0.24,dex:0.24,agi:0.24,cha:0, int:0.04}, - decays:{hack:0,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true, - }); - BlackOperations["Operation Tyrell"] = new BlackOperation({ - name:"Operation Tyrell", - desc:"A week ago Blade Industries reported a small break-in at one " + - "of their Aevum Augmentation storage facitilities. We figured out " + - "that The Dark Army was behind the heist, and didn't think any more " + - "of it. However, we've just discovered that several known MK-VI Synthoids " + - "were part of that break-in group.

" + - "We cannot have Synthoids upgrading their already-enhanced abilities " + - "with Augmentations. Your task is to hunt down the associated Dark Army " + - "members and eliminate them.", - baseDifficulty:25e3, reqdRank:50e3, - rankGain:1.5e3, rankLoss:100, hpLoss:500, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true, - }); - BlackOperations["Operation Wallace"] = new BlackOperation({ - name:"Operation Wallace", - desc:"Based on information gathered from Operation Tyrell, we've discovered " + - "that The Dark Army was well aware that there were Synthoids amongst " + - "their ranks. Even worse, we believe that The Dark Army is working " + - "together with other criminal organizations such as The Syndicate and " + - "that they are planning some sort of large-scale takeover of multiple major " + - "cities, most notably Aevum. We suspect that Synthoids have infiltrated " + - "the ranks of these criminal factions and are trying to stage another " + - "Synthoid uprising.

" + - "The best way to deal with this is to prevent it before it even happens. " + - "The goal of Operation Wallace is to destroy the Dark Army and " + - "Syndicate factions in Aevum immediately. Leave no survivors.", - baseDifficulty:30e3, reqdRank:75e3, - rankGain:2e3, rankLoss:150, hpLoss:1500, - weights:{hack:0,str:0.24,def:0.24,dex:0.24,agi:0.24,cha:0, int:0.04}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Shoulder of Orion"] = new BlackOperation({ - name:"Operation Shoulder of Orion", - desc:"China's Solaris Space Systems is secretly launching the first " + - "manned spacecraft in over a decade using Synthoids. We believe " + - "China is trying to establish the first off-world colonies.

" + - "The mission is to prevent this launch without instigating an " + - "international conflict. When you accept this mission you will be " + - "officially disavowed by the NSA and the national government until after you " + - "successfully return. In the event of failure, all of the operation's " + - "team members must not let themselves be captured alive.", - baseDifficulty:35e3, reqdRank:100e3, - rankGain:2.5e3, rankLoss:500, hpLoss:1500, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isStealth:true - }); - BlackOperations["Operation Hyron"] = new BlackOperation({ - name:"Operation Hyron", - desc:"Our intelligence tells us that Fulcrum Technologies is developing " + - "a quantum supercomputer using human brains as core " + - "processors. This supercomputer " + - "is rumored to be able to store vast amounts of data and " + - "perform computations unmatched by any other supercomputer on the " + - "planet. But more importantly, the use of organic human brains " + - "means that the supercomputer may be able to reason abstractly " + - "and become self-aware.

" + - "I do not need to remind you why sentient-level AIs pose a serious " + - "thread to all of mankind.

" + - "The research for this project is being conducted at one of Fulcrum " + - "Technologies secret facilities in Aevum, codenamed 'Alpha Ranch'. " + - "Infiltrate the compound, delete and destroy the work, and then find and kill the " + - "project lead.", - baseDifficulty:40e3, reqdRank:125e3, - rankGain:3e3, rankLoss:1e3, hpLoss:500, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Morpheus"] = new BlackOperation({ - name:"Operation Morpheus", - desc:"DreamSense Technologies is an advertising company that uses " + - "special technology to transmit their ads into the peoples " + - "dreams and subconcious. They do this using broadcast transmitter " + - "towers. Based on information from our agents and informants in " + - "Chonqging, we have reason to believe that one of the broadcast " + - "towers there has been compromised by Synthoids and is being used " + - "to spread pro-Synthoid propaganda.

" + - "The mission is to destroy this broadcast tower. Speed and " + - "stealth are of the upmost important for this.", - baseDifficulty:45e3, reqdRank:150e3, - rankGain:4e3, rankLoss:1e3, hpLoss:100, - weights:{hack:0.05,str:0.15,def:0.15,dex:0.3,agi:0.3,cha:0, int:0.05}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isStealth:true - }); - BlackOperations["Operation Ion Storm"] = new BlackOperation({ - name:"Operation Ion Storm", - desc:"Our analysts have uncovered a gathering of MK-VI Synthoids " + - "that have taken up residence in the Sector-12 Slums. We " + - "don't know if they are rogue Synthoids from the Uprising, " + - "but we do know that they have been stockpiling " + - "weapons, money, and other resources. This makes them dangerous.

" + - "This is a full-scale assault operation to find and retire all of these " + - "Synthoids in the Sector-12 Slums.", - baseDifficulty:50e3, reqdRank:175e3, - rankGain:5e3, rankLoss:1e3, hpLoss:5000, - weights:{hack:0,str:0.24,def:0.24,dex:0.24,agi:0.24,cha:0, int:0.04}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Annihilus"] = new BlackOperation({ - name:"Operation Annihilus", - desc:"Our superiors have ordered us to eradicate everything and everyone " + - "in an underground facility located in Aevum. They tell us " + - "that the facility houses many dangerous Synthoids and " + - "belongs to a terrorist organization called " + - "'The Covenant'. We have no prior intelligence about this " + - "organization, so you are going in blind.", - baseDifficulty:55e3, reqdRank:200e3, - rankGain:7.5e3, rankLoss:1e3, hpLoss:10e3, - weights:{hack:0,str:0.24,def:0.24,dex:0.24,agi:0.24,cha:0, int:0.04}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Ultron"] = new BlackOperation({ - name:"Operation Ultron", - desc:"OmniTek Incorporated, the original designer and manufacturer of Synthoids, " + - "has notified us of a malfunction in their AI design. This malfunction, " + - "when triggered, causes MK-VI Synthoids to become radicalized and seek out " + - "the destruction of humanity. They say that this bug affects all MK-VI Synthoids, " + - "not just the rogue ones from the Uprising.

" + - "OmniTek has also told us they they believe someone has triggered this " + - "malfunction in a large group of MK-VI Synthoids, and that these newly-radicalized Synthoids " + - "are now amassing in Volhaven to form a terrorist group called Ultron.

" + - "Intelligence suggests Ultron is heavily armed and that their members are " + - "augmented. We believe Ultron is making moves to take control of " + - "and weaponize DeltaOne's Tactical High-Energy Satellite Laser Array (THESLA).

" + - "Your task is to find and destroy Ultron.", - baseDifficulty:60e3, reqdRank:250e3, - rankGain:10e3, rankLoss:2e3, hpLoss:10e3, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - isKill:true - }); - BlackOperations["Operation Centurion"] = new BlackOperation({ - name:"Operation Centurion", - desc:"D)@#)($M)C0293c40($*)@#D0JUMP3Rm0C<*@#)*$)#02c94830c(#$*D)

" + - "Throughout all of humanity's history, we have relied on " + - "technology to survive, conquer, and progress. Its advancement became our primary goal. " + - "And at the peak of human civilization technology turned into " + - "power. Global, absolute power.

" + - "It seems that the universe is not without a sense of irony.

" + - "D)@#)($M)C0293c40($*)@#D0JUMP3Rm0C<*@#)*$)#02c94830c(#$*D)", - baseDifficulty:70e3, reqdRank:300e3, - rankGain:15e3, rankLoss:5e3, hpLoss:10e3, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - }); - BlackOperations["Operation Vindictus"] = new BlackOperation({ - name:"Operation Vindictus", - desc:"D)@#)($M)C0293c40($*)@#D0JUMP3Rm0C<*@#)*$)#02c94830c(#$*D)

" + - "The bits are all around us. The daemons that hold the Node " + - "together can manifest themselves in many different ways.

" + - "D)@#)($M)C0293c40($*)@#D0JUMP3Rm0C<*@#)*$)#02c94830c(#$*D)", - baseDifficulty:75e3, reqdRank:350e3, - rankGain:20e3, rankLoss:20e3, hpLoss:20e3, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - }); - BlackOperations["Operation Daedalus"] = new BlackOperation({ - name:"Operation Daedalus", - desc:"Yesterday we obeyed kings and bent our neck to emperors. " + - "Today we kneel only to truth.", - baseDifficulty:80e3, reqdRank:400e3, - rankGain:40e3, rankLoss:10e3, hpLoss:100e3, - weights:{hack:0.1,str:0.2,def:0.2,dex:0.2,agi:0.2,cha:0, int:0.1}, - decays:{hack:0.6,str:0.8,def:0.8,dex:0.8,agi:0.8,cha:0, int:0.75}, - }); -} - - - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) - -/***/ }), -/* 33 */ +/* 36 */ /*!*********************************!*\ !*** ./src/SpecialServerIps.js ***! \*********************************/ @@ -18639,7 +16234,7 @@ function initBladeburner() { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return loadSpecialServerIps; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return prestigeSpecialServerIps; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return initSpecialServerIps; }); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/JSONReviver */ 15); /* Holds IP of Special Servers */ @@ -18691,7 +16286,149 @@ function initSpecialServerIps() { /***/ }), -/* 34 */ +/* 37 */ +/*!*****************************!*\ + !*** ./src/Crime/Crimes.ts ***! + \*****************************/ +/*! no static exports found */ +/*! exports used: Crimes */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const Crime_1 = __webpack_require__(/*! ./Crime */ 234); +const Constants_1 = __webpack_require__(/*! ../Constants */ 1); +exports.Crimes = { + Shoplift: new Crime_1.Crime("Shoplift", Constants_1.CONSTANTS.CrimeShoplift, 2e3, 15e3, 1 / 20, 0.1, { + dexterity_success_weight: 1, + agility_success_weight: 1, + dexterity_exp: 2, + agility_exp: 2, + }), + RobStore: new Crime_1.Crime("Rob Store", Constants_1.CONSTANTS.CrimeRobStore, 60e3, 400e3, 1 / 5, 0.5, { + hacking_exp: 30, + dexterity_exp: 45, + agility_exp: 45, + hacking_success_weight: 0.5, + dexterity_success_weight: 2, + agility_success_weight: 1, + intelligence_exp: 0.25 * Constants_1.CONSTANTS.IntelligenceCrimeBaseExpGain, + }), + Mug: new Crime_1.Crime("Mug", Constants_1.CONSTANTS.CrimeMug, 4e3, 36e3, 1 / 5, 0.25, { + strength_exp: 3, + defense_exp: 3, + dexterity_exp: 3, + agility_exp: 3, + strength_success_weight: 1.5, + defense_success_weight: 0.5, + dexterity_success_weight: 1.5, + agility_success_weight: 0.5, + }), + Larceny: new Crime_1.Crime("Larceny", Constants_1.CONSTANTS.CrimeLarceny, 90e3, 800e3, 1 / 3, 1.5, { + hacking_exp: 45, + dexterity_exp: 60, + agility_exp: 60, + hacking_success_weight: 0.5, + dexterity_success_weight: 1, + agility_success_weight: 1, + intelligence_exp: 0.5 * Constants_1.CONSTANTS.IntelligenceCrimeBaseExpGain, + }), + DealDrugs: new Crime_1.Crime("Deal Drugs", Constants_1.CONSTANTS.CrimeDrugs, 10e3, 120e3, 1, 0.5, { + dexterity_exp: 5, + agility_exp: 5, + charisma_exp: 10, + charisma_success_weight: 3, + dexterity_success_weight: 2, + agility_success_weight: 1, + }), + BondForgery: new Crime_1.Crime("Bond Forgery", Constants_1.CONSTANTS.CrimeBondForgery, 300e3, 4.5e6, 1 / 2, 0.1, { + hacking_exp: 100, + dexterity_exp: 150, + charisma_exp: 15, + hacking_success_weight: 0.05, + dexterity_success_weight: 1.25, + intelligence_exp: 2 * Constants_1.CONSTANTS.IntelligenceCrimeBaseExpGain, + }), + TraffickArms: new Crime_1.Crime("Traffick Arms", Constants_1.CONSTANTS.CrimeTraffickArms, 40e3, 600e3, 2, 1, { + strength_exp: 20, + defense_exp: 20, + dexterity_exp: 20, + agility_exp: 20, + charisma_exp: 40, + charisma_success_weight: 1, + strength_success_weight: 1, + defense_success_weight: 1, + dexterity_success_weight: 1, + agility_success_weight: 1, + }), + Homicide: new Crime_1.Crime("Homicide", Constants_1.CONSTANTS.CrimeHomicide, 3e3, 45e3, 1, 3, { + strength_exp: 2, + defense_exp: 2, + dexterity_exp: 2, + agility_exp: 2, + strength_success_weight: 2, + defense_success_weight: 2, + dexterity_success_weight: 0.5, + agility_success_weight: 0.5, + kills: 1, + }), + GrandTheftAuto: new Crime_1.Crime("Grand Theft Auto", Constants_1.CONSTANTS.CrimeGrandTheftAuto, 80e3, 1.6e6, 8, 5, { + strength_exp: 20, + defense_exp: 20, + dexterity_exp: 20, + agility_exp: 80, + charisma_exp: 40, + hacking_success_weight: 1, + strength_success_weight: 1, + dexterity_success_weight: 4, + agility_success_weight: 2, + charisma_success_weight: 2, + intelligence_exp: Constants_1.CONSTANTS.IntelligenceCrimeBaseExpGain, + }), + Kidnap: new Crime_1.Crime("Kidnap", Constants_1.CONSTANTS.CrimeKidnap, 120e3, 3.6e6, 5, 6, { + strength_exp: 80, + defense_exp: 80, + dexterity_exp: 80, + agility_exp: 80, + charisma_exp: 80, + charisma_success_weight: 1, + strength_success_weight: 1, + dexterity_success_weight: 1, + agility_success_weight: 1, + intelligence_exp: 2 * Constants_1.CONSTANTS.IntelligenceCrimeBaseExpGain, + }), + Assassination: new Crime_1.Crime("Assassination", Constants_1.CONSTANTS.CrimeAssassination, 300e3, 12e6, 8, 10, { + strength_exp: 300, + defense_exp: 300, + dexterity_exp: 300, + agility_exp: 300, + strength_success_weight: 1, + dexterity_success_weight: 2, + agility_success_weight: 1, + intelligence_exp: 5 * Constants_1.CONSTANTS.IntelligenceCrimeBaseExpGain, + kills: 1, + }), + Heist: new Crime_1.Crime("Heist", Constants_1.CONSTANTS.CrimeHeist, 600e3, 120e6, 18, 15, { + hacking_exp: 450, + strength_exp: 450, + defense_exp: 450, + dexterity_exp: 450, + agility_exp: 450, + charisma_exp: 450, + hacking_success_weight: 1, + strength_success_weight: 1, + defense_success_weight: 1, + dexterity_success_weight: 1, + agility_success_weight: 1, + charisma_success_weight: 1, + intelligence_exp: 10 * Constants_1.CONSTANTS.IntelligenceCrimeBaseExpGain, + }), +}; + + +/***/ }), +/* 38 */ /*!************************************!*\ !*** ./src/InteractiveTutorial.js ***! \************************************/ @@ -18705,17 +16442,17 @@ function initSpecialServerIps() { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return iTutorialStart; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return iTutorialNextStep; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return ITutorial; }); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./engine */ 9); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./engine */ 11); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Settings */ 18); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Settings */ 20); /* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 16); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 22); /* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 36); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 40); /* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 20); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 23); /* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_6__); @@ -19229,8 +16966,8 @@ function iTutorialSetText(txt) { /***/ }), -/* 35 */, -/* 36 */ +/* 39 */, +/* 40 */ /*!****************************************!*\ !*** ./utils/uiHelpers/createPopup.ts ***! \****************************************/ @@ -19242,7 +16979,7 @@ function iTutorialSetText(txt) { Object.defineProperty(exports, "__esModule", { value: true }); const createElement_1 = __webpack_require__(/*! ./createElement */ 2); -const getElementById_1 = __webpack_require__(/*! ./getElementById */ 54); +const getElementById_1 = __webpack_require__(/*! ./getElementById */ 57); /** * Creates the necessary DOM elements to present an in-game popup to the player. * @param id The (hopefully) unique identifier for the popup container. @@ -19273,7 +17010,7 @@ exports.createPopup = createPopup; /***/ }), -/* 37 */ +/* 41 */ /*!**************************************************!*\ !*** ./src/Company/data/CompanyPositionNames.ts ***! \**************************************************/ @@ -19348,301 +17085,7 @@ exports.PartTimeCompanyPositions = [ /***/ }), -/* 38 */ -/*!***********************!*\ - !*** ./src/Crimes.js ***! - \***********************/ -/*! exports provided: determineCrimeSuccess, findCrime, Crimes */ -/*! exports used: Crimes, determineCrimeSuccess, findCrime */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return determineCrimeSuccess; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return findCrime; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Crimes; }); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Constants */ 1); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/DialogBox */ 8); - - - - - -function Crime(name, type, time, money, difficulty, karma, params) { - this.name = name; - this.type = type; - this.time = time; - this.money = money; - this.difficulty = difficulty; - this.karma = karma; - - this.hacking_success_weight = params.hacking_success_weight ? params.hacking_success_weight : 0; - this.strength_success_weight = params.strength_success_weight ? params.strength_success_weight : 0; - this.defense_success_weight = params.defense_success_weight ? params.defense_success_weight : 0; - this.dexterity_success_weight = params.dexterity_success_weight ? params.dexterity_success_weight : 0; - this.agility_success_weight = params.agility_success_weight ? params.agility_success_weight : 0; - this.charisma_success_weight = params.charisma_success_weight ? params.charisma_success_weight : 0; - - this.hacking_exp = params.hacking_exp ? params.hacking_exp : 0; - this.strength_exp = params.strength_exp ? params.strength_exp : 0; - this.defense_exp = params.defense_exp ? params.defense_exp : 0; - this.dexterity_exp = params.dexterity_exp ? params.dexterity_exp : 0; - this.agility_exp = params.agility_exp ? params.agility_exp : 0; - this.charisma_exp = params.charisma_exp ? params.charisma_exp : 0; - this.intelligence_exp = params.intelligence_exp ? params.intelligence_exp : 0; - - this.kills = params.kills ? params.kills : 0; -} - -Crime.prototype.commit = function(div=1, singParams=null) { - if (div <= 0) {div = 1;} - _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].crimeType = this.type; - _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].startCrime( - this.hacking_exp/div, - this.strength_exp/div, - this.defense_exp/div, - this.dexterity_exp/div, - this.agility_exp/div, - this.charisma_exp/div, - this.money/div, this.time, singParams); - return this.time; -} - -Crime.prototype.successRate = function() { - var chance = (this.hacking_success_weight * _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].hacking_skill + - this.strength_success_weight * _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].strength + - this.defense_success_weight * _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].defense + - this.dexterity_success_weight * _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].dexterity + - this.agility_success_weight * _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].agility + - this.charisma_success_weight * _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].charisma + - _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].IntelligenceCrimeWeight * _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].intelligence); - chance /= _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].MaxSkillLevel; - chance /= this.difficulty; - chance *= _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].crime_success_mult; - return Math.min(chance, 1); -} - -const Crimes = { - Shoplift: new Crime("Shoplift", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeShoplift, 2e3, 15e3, 1/20, 0.1, { - dexterity_success_weight: 1, - agility_success_weight: 1, - - dexterity_exp: 2, - agility_exp: 2, - }), - - RobStore: new Crime("Rob Store", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeRobStore, 60e3, 400e3, 1/5, 0.5, { - hacking_exp: 30, - dexterity_exp: 45, - agility_exp: 45, - - hacking_success_weight: 0.5 , - dexterity_success_weight: 2, - agility_success_weight: 1, - - intelligence_exp: 0.25 * _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].IntelligenceCrimeBaseExpGain, - }), - - Mug: new Crime("Mug", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeMug, 4e3, 36e3, 1/5, 0.25, { - strength_exp: 3, - defense_exp: 3, - dexterity_exp: 3, - agility_exp: 3, - - strength_success_weight: 1.5, - defense_success_weight: 0.5, - dexterity_success_weight: 1.5, - agility_success_weight: 0.5, - }), - - Larceny: new Crime("Larceny", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeLarceny, 90e3, 800e3, 1/3, 1.5, { - hacking_exp: 45, - dexterity_exp: 60, - agility_exp: 60, - - hacking_success_weight: 0.5, - dexterity_success_weight: 1, - agility_success_weight: 1, - - intelligence_exp: 0.5 * _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].IntelligenceCrimeBaseExpGain, - }), - - DealDrugs: new Crime("Deal Drugs", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeDrugs, 10e3, 120e3, 1, 0.5, { - dexterity_exp: 5, - agility_exp: 5, - charisma_exp: 10, - - charisma_success_weight: 3, - dexterity_success_weight: 2, - agility_success_weight: 1, - }), - - BondForgery: new Crime("Bond Forgery", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeBondForgery, 300e3, 4.5e6, 1/2, 0.1, { - hacking_exp: 100, - dexterity_exp: 150, - charisma_exp: 15, - - hacking_success_weight: 0.05, - dexterity_success_weight: 1.25, - - intelligence_exp: 2 * _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].IntelligenceCrimeBaseExpGain, - }), - - TraffickArms: new Crime("Traffick Arms", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeTraffickArms, 40e3, 600e3, 2, 1, { - strength_exp: 20, - defense_exp: 20, - dexterity_exp: 20, - agility_exp: 20, - charisma_exp: 40, - - charisma_success_weight: 1, - strength_success_weight: 1, - defense_success_weight: 1, - dexterity_success_weight: 1, - agility_success_weight: 1, - }), - - Homicide: new Crime("Homicide", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeHomicide, 3e3, 45e3, 1, 3, { - strength_exp: 2, - defense_exp: 2, - dexterity_exp: 2, - agility_exp: 2, - - strength_success_weight: 2, - defense_success_weight: 2, - dexterity_success_weight: 0.5, - agility_success_weight: 0.5, - - kills: 1, - }), - - GrandTheftAuto: new Crime("Grand Theft Auto", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeGrandTheftAuto, 80e3, 1.6e6, 8, 5, { - strength_exp: 20, - defense_exp: 20, - dexterity_exp: 20, - agility_exp: 80, - charisma_exp: 40, - - hacking_success_weight: 1, - strength_success_weight: 1, - dexterity_success_weight: 4, - agility_success_weight: 2, - charisma_success_weight: 2, - - intelligence_exp: _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].IntelligenceCrimeBaseExpGain, - }), - - Kidnap: new Crime("Kidnap", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeKidnap, 120e3, 3.6e6, 5, 6, { - strength_exp: 80, - defense_exp: 80, - dexterity_exp: 80, - agility_exp: 80, - charisma_exp: 80, - - charisma_success_weight: 1, - strength_success_weight: 1, - dexterity_success_weight: 1, - agility_success_weight: 1, - - intelligence_exp: 2 * _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].IntelligenceCrimeBaseExpGain, - }), - - Assassination: new Crime("Assassination", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeAssassination, 300e3, 12e6, 8, 10, { - strength_exp: 300, - defense_exp: 300, - dexterity_exp: 300, - agility_exp: 300, - - strength_success_weight: 1, - dexterity_success_weight: 2, - agility_success_weight: 1, - - intelligence_exp: 5 * _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].IntelligenceCrimeBaseExpGain, - - kills: 1, - }), - - Heist: new Crime("Heist", _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].CrimeHeist, 600e3, 120e6, 18, 15, { - hacking_exp: 450, - strength_exp: 450, - defense_exp: 450, - dexterity_exp: 450, - agility_exp: 450, - charisma_exp: 450, - - hacking_success_weight: 1, - strength_success_weight: 1, - defense_success_weight: 1, - dexterity_success_weight: 1, - agility_success_weight: 1, - charisma_success_weight: 1, - - intelligence_exp: 10 * _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].IntelligenceCrimeBaseExpGain, - }), -}; - -function determineCrimeSuccess(type, moneyGained) { - var chance = 0; - var found = false; - for(const i in Crimes) { - const crime = Crimes[i]; - if(crime.type == type) { - chance = crime.successRate(); - found = true; - break; - } - } - if(!found) { - console.log(crime); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_2__["dialogBoxCreate"])("ERR: Unrecognized crime type. This is probably a bug please contact the developer"); - return; - } - - if (Math.random() <= chance) { - //Success - _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].gainMoney(moneyGained); - return true; - } else { - //Failure - return false; - } -} - -function findCrime(roughName) { - if (roughName.includes("shoplift")) { - return Crimes.Shoplift; - } else if (roughName.includes("rob") && roughName.includes("store")) { - return Crimes.RobStore; - } else if (roughName.includes("mug")) { - return Crimes.Mug; - } else if (roughName.includes("larceny")) { - return Crimes.Larceny; - } else if (roughName.includes("drugs")) { - return Crimes.DealDrugs; - } else if (roughName.includes("bond") && roughName.includes("forge")) { - return Crimes.BondForgery; - } else if (roughName.includes("traffick") && roughName.includes("arms")) { - return Crimes.TraffickArms; - } else if (roughName.includes("homicide")) { - return Crimes.Homicide; - } else if (roughName.includes("grand") && roughName.includes("auto")) { - return Crimes.GrandTheftAuto; - } else if (roughName.includes("kidnap")) { - return Crimes.Kidnap; - } else if (roughName.includes("assassinate")) { - return Crimes.Assassination; - } else if (roughName.includes("heist")) { - return Crimes.Heist; - } - return null; -} - - - - -/***/ }), -/* 39 */ +/* 42 */ /*!******************************!*\ !*** ./src/NetscriptGang.js ***! \******************************/ @@ -19654,8 +17097,8 @@ function findCrime(roughName) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return unknownGangApiExceptionMessage; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return checkGangApiAccess; }); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Gang */ 50); -/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./NetscriptEvaluator */ 6); +/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Gang */ 53); +/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./NetscriptEvaluator */ 7); @@ -19674,7 +17117,7 @@ function checkGangApiAccess(workerScript, functionName) { /***/ }), -/* 40 */ +/* 43 */ /*!***********************************!*\ !*** ./utils/helpers/isString.ts ***! \***********************************/ @@ -19696,7 +17139,7 @@ exports.isString = isString; /***/ }), -/* 41 */ +/* 44 */ /*!************************!*\ !*** ./src/Message.js ***! \************************/ @@ -19712,17 +17155,24 @@ exports.isString = isString; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return loadMessages; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return initMessages; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Message; }); -/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentations */ 21); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Programs/Programs */ 24); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _Missions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Missions */ 56); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./RedPill */ 59); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Settings */ 18); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); +/* harmony import */ var _Augmentation_Augmentation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentation/Augmentation */ 18); +/* harmony import */ var _Augmentation_Augmentation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_Augmentation__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentation/Augmentations */ 13); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Augmentation/data/AugmentationNames */ 6); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Programs/Programs */ 26); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Missions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Missions */ 60); +/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Player */ 0); +/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RedPill */ 64); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Settings */ 20); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/JSONReviver */ 15); + + @@ -19741,21 +17191,21 @@ function Message(filename="", msg="") { } Message.prototype.toJSON = function() { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_8__["Generic_toJSON"])("Message", this); + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_10__["Generic_toJSON"])("Message", this); } Message.fromJSON = function(value) { - return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_8__["Generic_fromJSON"])(Message, value.data); + return Object(_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_10__["Generic_fromJSON"])(Message, value.data); } -_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_8__["Reviver"].constructors.Message = Message; +_utils_JSONReviver__WEBPACK_IMPORTED_MODULE_10__["Reviver"].constructors.Message = Message; //Sends message to player, including a pop up function sendMessage(msg, forced=false) { console.log("sending message: " + msg.filename); msg.recvd = true; - if (forced || !_Settings__WEBPACK_IMPORTED_MODULE_6__["Settings"].SuppressMessages) { + if (forced || !_Settings__WEBPACK_IMPORTED_MODULE_8__["Settings"].SuppressMessages) { showMessage(msg); } addMessageToServer(msg, "home"); @@ -19765,12 +17215,12 @@ function showMessage(msg) { var txt = "Message received from unknown sender:

" + "" + msg.msg + "

" + "This message was saved as " + msg.filename + " onto your home computer."; - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__["dialogBoxCreate"])(txt); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_9__["dialogBoxCreate"])(txt); } //Adds a message to a server function addMessageToServer(msg, serverHostname) { - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_5__[/* GetServerByHostname */ "c"])(serverHostname); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_7__[/* GetServerByHostname */ "c"])(serverHostname); if (server == null) { console.log("WARNING: Did not locate " + serverHostname); return; @@ -19796,35 +17246,35 @@ function checkForMessagesToSend() { var redpill = Messages[MessageFilenames.RedPill]; var redpillOwned = false; - if (_Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][_Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"].TheRedPill].owned) { + if (_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TheRedPill].owned) { redpillOwned = true; } - if (redpill && redpillOwned && _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].sourceFiles.length === 0 && !_RedPill__WEBPACK_IMPORTED_MODULE_4__[/* redPillFlag */ "b"] && !_Missions__WEBPACK_IMPORTED_MODULE_2__[/* inMission */ "c"]) { - if (!_utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__["dialogBoxOpened"]) { + if (redpill && redpillOwned && _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].sourceFiles.length === 0 && !_RedPill__WEBPACK_IMPORTED_MODULE_6__[/* redPillFlag */ "b"] && !_Missions__WEBPACK_IMPORTED_MODULE_4__[/* inMission */ "c"]) { + if (!_utils_DialogBox__WEBPACK_IMPORTED_MODULE_9__["dialogBoxOpened"]) { sendMessage(redpill, true); } } else if (redpill && redpillOwned) { //If player has already destroyed a BitNode, message is not forced - if (!_RedPill__WEBPACK_IMPORTED_MODULE_4__[/* redPillFlag */ "b"] && !_Missions__WEBPACK_IMPORTED_MODULE_2__[/* inMission */ "c"] && !_utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__["dialogBoxOpened"]) { + if (!_RedPill__WEBPACK_IMPORTED_MODULE_6__[/* redPillFlag */ "b"] && !_Missions__WEBPACK_IMPORTED_MODULE_4__[/* inMission */ "c"] && !_utils_DialogBox__WEBPACK_IMPORTED_MODULE_9__["dialogBoxOpened"]) { sendMessage(redpill); } - } else if (jumper0 && !jumper0.recvd && _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].hacking_skill >= 25) { + } else if (jumper0 && !jumper0.recvd && _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_skill >= 25) { sendMessage(jumper0); - _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].getHomeComputer().programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_1__["Programs"].Flight.name); - } else if (jumper1 && !jumper1.recvd && _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].hacking_skill >= 40) { + _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].getHomeComputer().programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_3__["Programs"].Flight.name); + } else if (jumper1 && !jumper1.recvd && _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_skill >= 40) { sendMessage(jumper1); - } else if (cybersecTest && !cybersecTest.recvd && _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].hacking_skill >= 50) { + } else if (cybersecTest && !cybersecTest.recvd && _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_skill >= 50) { sendMessage(cybersecTest); - } else if (jumper2 && !jumper2.recvd && _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].hacking_skill >= 175) { + } else if (jumper2 && !jumper2.recvd && _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_skill >= 175) { sendMessage(jumper2); - } else if (nitesecTest && !nitesecTest.recvd && _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].hacking_skill >= 200) { + } else if (nitesecTest && !nitesecTest.recvd && _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_skill >= 200) { sendMessage(nitesecTest); - } else if (jumper3 && !jumper3.recvd && _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].hacking_skill >= 350) { + } else if (jumper3 && !jumper3.recvd && _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_skill >= 350) { sendMessage(jumper3); - } else if (jumper4 && !jumper4.recvd && _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].hacking_skill >= 490) { + } else if (jumper4 && !jumper4.recvd && _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_skill >= 490) { sendMessage(jumper4); - } else if (bitrunnersTest && !bitrunnersTest.recvd && _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].hacking_skill >= 500) { + } else if (bitrunnersTest && !bitrunnersTest.recvd && _Player__WEBPACK_IMPORTED_MODULE_5__[/* Player */ "a"].hacking_skill >= 500) { sendMessage(bitrunnersTest); } } @@ -19836,7 +17286,7 @@ function AddToAllMessages(msg) { let Messages = {} function loadMessages(saveString) { - Messages = JSON.parse(saveString, _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_8__["Reviver"]); + Messages = JSON.parse(saveString, _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_10__["Reviver"]); } let MessageFilenames = { @@ -19917,7 +17367,32 @@ function initMessages() { /***/ }), -/* 42 */ +/* 45 */ +/*!*****************************************!*\ + !*** ./utils/helpers/exceptionAlert.ts ***! + \*****************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const DialogBox_1 = __webpack_require__(/*! ../DialogBox */ 9); +function exceptionAlert(e) { + DialogBox_1.dialogBoxCreate("Caught an exception: " + e + "

" + + "Filename: " + (e.fileName || "UNKNOWN FILE NAME") + "

" + + "Line Number: " + (e.lineNumber || "UNKNOWN LINE NUMBER") + "

" + + "This is a bug, please report to game developer with this " + + "message as well as details about how to reproduce the bug.

" + + "If you want to be safe, I suggest refreshing the game WITHOUT saving so that your " + + "safe doesn't get corrupted", false); +} +exports.exceptionAlert = exceptionAlert; + + +/***/ }), +/* 46 */ /*!********************************!*\ !*** ./src/CodingContracts.ts ***! \********************************/ @@ -19936,11 +17411,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge }); }; Object.defineProperty(exports, "__esModule", { value: true }); -const JSONReviver_1 = __webpack_require__(/*! ../utils/JSONReviver */ 13); +const JSONReviver_1 = __webpack_require__(/*! ../utils/JSONReviver */ 15); const createElement_1 = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); -const createPopup_1 = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 36); -const removeElementById_1 = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 20); -const codingcontracttypes_1 = __webpack_require__(/*! ./data/codingcontracttypes */ 207); +const createPopup_1 = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 40); +const removeElementById_1 = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 23); +const codingcontracttypes_1 = __webpack_require__(/*! ./data/codingcontracttypes */ 226); /* tslint:disable:no-magic-numbers completed-docs max-classes-per-file no-console */ /* Represents different types of problems that a Coding Contract can have */ class CodingContractType { @@ -20091,7 +17566,7 @@ JSONReviver_1.Reviver.constructors.CodingContract = CodingContract; /***/ }), -/* 43 */ +/* 47 */ /*!***********************************!*\ !*** ./src/NetscriptFunctions.js ***! \***********************************/ @@ -20109,73 +17584,82 @@ JSONReviver_1.Reviver.constructors.CodingContract = CodingContract; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return hasCorporationSF; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return hasAISF; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return hasBladeburnerSF; }); -/* harmony import */ var _ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI */ 68); -/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentations */ 21); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _Crimes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Crimes */ 38); -/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Bladeburner */ 32); -/* harmony import */ var _Company_Company__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Company/Company */ 76); -/* harmony import */ var _Company_Company__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Company_Company__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Company/Companies */ 17); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Company/CompanyPosition */ 87); -/* harmony import */ var _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Company/CompanyPositions */ 29); -/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Constants */ 1); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./DarkWeb/DarkWebItems */ 71); -/* harmony import */ var _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _Hacking__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Hacking */ 48); -/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Gang */ 50); -/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Faction/Faction */ 57); -/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_Faction_Faction__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Faction/Factions */ 14); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 46); -/* harmony import */ var _HacknetNode__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./HacknetNode */ 67); -/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Locations */ 5); -/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Message */ 41); -/* harmony import */ var _Missions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Missions */ 56); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Programs/Programs */ 24); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Script */ 31); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Settings */ 18); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./SpecialServerIps */ 33); -/* harmony import */ var _StockMarket_Stock__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./StockMarket/Stock */ 28); -/* harmony import */ var _StockMarket_Stock__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_StockMarket_Stock__WEBPACK_IMPORTED_MODULE_26__); -/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 22); -/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./ui/postToTerminal */ 7); -/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_ui_postToTerminal__WEBPACK_IMPORTED_MODULE_28__); -/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./TextFile */ 65); -/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(_TextFile__WEBPACK_IMPORTED_MODULE_29__); -/* harmony import */ var _NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./NetscriptBladeburner */ 53); -/* harmony import */ var _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./NetscriptGang */ 39); -/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./NetscriptWorker */ 26); -/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./NetscriptEvaluator */ 6); -/* harmony import */ var _NetscriptPort__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./NetscriptPort */ 72); -/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! decimal.js */ 35); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./ui/navigationTracking */ 12); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_36___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_36__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_helpers_isPowerOfTwo__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ../utils/helpers/isPowerOfTwo */ 133); -/* harmony import */ var _utils_helpers_isPowerOfTwo__WEBPACK_IMPORTED_MODULE_38___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isPowerOfTwo__WEBPACK_IMPORTED_MODULE_38__); -/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 55); -/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_39___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_39__); -/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../utils/IPAddress */ 62); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__); -/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../utils/helpers/isString */ 40); -/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42__); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../utils/YesNoBox */ 19); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_43___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_43__); -var sprintf = __webpack_require__(/*! sprintf-js */ 150).sprintf, - vsprintf = __webpack_require__(/*! sprintf-js */ 150).vsprintf +/* harmony import */ var _ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI */ 73); +/* harmony import */ var _Augmentation_Augmentation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentation/Augmentation */ 18); +/* harmony import */ var _Augmentation_Augmentation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_Augmentation__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Augmentation/Augmentations */ 13); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Augmentation/AugmentationHelpers */ 61); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Augmentation/data/AugmentationNames */ 6); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _Crime_CrimeHelpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Crime/CrimeHelpers */ 101); +/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Bladeburner */ 34); +/* harmony import */ var _Company_Company__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Company/Company */ 72); +/* harmony import */ var _Company_Company__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Company_Company__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Company/Companies */ 19); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Company/CompanyPosition */ 96); +/* harmony import */ var _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Company/CompanyPositions */ 33); +/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Constants */ 1); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./DarkWeb/DarkWebItems */ 75); +/* harmony import */ var _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var _Hacking__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Hacking */ 51); +/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Gang */ 53); +/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Faction/Faction */ 58); +/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_Faction_Faction__WEBPACK_IMPORTED_MODULE_16__); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Faction/Factions */ 16); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 49); +/* harmony import */ var _HacknetNode__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./HacknetNode */ 71); +/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Locations */ 5); +/* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Message */ 44); +/* harmony import */ var _Missions__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./Missions */ 60); +/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./Player */ 0); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Programs/Programs */ 26); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_24__); +/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./Script */ 35); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./Settings */ 20); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_27__); +/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./SpecialServerIps */ 36); +/* harmony import */ var _StockMarket_Stock__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./StockMarket/Stock */ 31); +/* harmony import */ var _StockMarket_Stock__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(_StockMarket_Stock__WEBPACK_IMPORTED_MODULE_29__); +/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 24); +/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./ui/postToTerminal */ 8); +/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(_ui_postToTerminal__WEBPACK_IMPORTED_MODULE_31__); +/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./TextFile */ 69); +/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(_TextFile__WEBPACK_IMPORTED_MODULE_32__); +/* harmony import */ var _NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./NetscriptBladeburner */ 56); +/* harmony import */ var _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./NetscriptGang */ 42); +/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./NetscriptWorker */ 29); +/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./NetscriptEvaluator */ 7); +/* harmony import */ var _NetscriptPort__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./NetscriptPort */ 76); +/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! decimal.js */ 39); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./ui/navigationTracking */ 14); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_39___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_39__); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_helpers_isPowerOfTwo__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ../utils/helpers/isPowerOfTwo */ 145); +/* harmony import */ var _utils_helpers_isPowerOfTwo__WEBPACK_IMPORTED_MODULE_41___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isPowerOfTwo__WEBPACK_IMPORTED_MODULE_41__); +/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 59); +/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_42___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_42__); +/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ../utils/IPAddress */ 66); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__); +/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ../utils/helpers/isString */ 43); +/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45__); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ../utils/YesNoBox */ 21); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_46___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_46__); +var sprintf = __webpack_require__(/*! sprintf-js */ 163).sprintf, + vsprintf = __webpack_require__(/*! sprintf-js */ 163).vsprintf + + + @@ -20307,20 +17791,20 @@ var possibleLogs = { //Used to check and set flags for every Source File, despite the name of the function function initSingularitySFFlags() { - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].n === 3) {hasCorporationSF = true;} - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].n === 4) { + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].n === 3) {hasCorporationSF = true;} + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].n === 4) { hasSingularitySF = true; - singularitySFLvl = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].lvl; + singularitySFLvl = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].lvl; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].n === 5) {hasAISF = true;} - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].n === 6) {hasBladeburnerSF = true;} - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].n === 7) {hasBladeburner2079SF = true;} - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].n === 8) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].n === 5) {hasAISF = true;} + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].n === 6) {hasBladeburnerSF = true;} + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].n === 7) {hasBladeburner2079SF = true;} + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].n === 8) { hasWallStreetSF = true; - wallStreetSFLvl = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].lvl; + wallStreetSFLvl = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].lvl; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].n === 11) {hasBn11SF = true;} + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].n === 11) {hasBn11SF = true;} } } @@ -20337,7 +17821,7 @@ function NetscriptFunctions(workerScript) { workerScript.dynamicRamUsage += (ramCost * threads); if (workerScript.dynamicRamUsage > 1.01 * workerScript.ramUsage) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Dynamic RAM usage calculated to be greater than initial RAM usage on fn: " + fnName + ". This is probably because you somehow circumvented the static RAM " + "calculation.

Please don't do that :(

" + @@ -20362,9 +17846,9 @@ function NetscriptFunctions(workerScript) { * @returns {Server} The specified Server */ var safeGetServer = function(ip, callingFnName="") { - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `Invalid IP or hostname passed into ${callingFnName}() function`); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `Invalid IP or hostname passed into ${callingFnName}() function`); } return server; } @@ -20372,12 +17856,12 @@ function NetscriptFunctions(workerScript) { // Utility function to get Hacknet Node object var getHacknetNode = function(i) { if (isNaN(i)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid index specified for Hacknet Node: " + i); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid index specified for Hacknet Node: " + i); } - if (i < 0 || i >= _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacknetNodes.length) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Index specified for Hacknet Node is out-of-bounds: " + i); + if (i < 0 || i >= _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacknetNodes.length) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Index specified for Hacknet Node is out-of-bounds: " + i); } - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacknetNodes[i]; + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacknetNodes[i]; }; var getCodingContract = function(fn, ip) { @@ -20392,27 +17876,27 @@ function NetscriptFunctions(workerScript) { */ const getPurchaseServerRamCostGuard = (ram) => { const guardedRam = Math.round(ram); - if (isNaN(guardedRam) || !Object(_utils_helpers_isPowerOfTwo__WEBPACK_IMPORTED_MODULE_38__["isPowerOfTwo"])(guardedRam)) { + if (isNaN(guardedRam) || !Object(_utils_helpers_isPowerOfTwo__WEBPACK_IMPORTED_MODULE_41__["isPowerOfTwo"])(guardedRam)) { throw Error("failed due to invalid ram argument. Must be numeric and a power of 2"); } - if (guardedRam > _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].PurchasedServerMaxRam) { - throw Error("failed because specified RAM was too high. Maximum RAM on a purchased server is " + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].PurchasedServerMaxRam + "GB"); + if (guardedRam > _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].PurchasedServerMaxRam) { + throw Error("failed because specified RAM was too high. Maximum RAM on a purchased server is " + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].PurchasedServerMaxRam + "GB"); } - return guardedRam * _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].BaseCostFor1GBOfRamServer; + return guardedRam * _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].BaseCostFor1GBOfRamServer; }; return { hacknet : { numNodes : function() { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacknetNodes.length; + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacknetNodes.length; }, purchaseNode : function() { - return Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_16__[/* purchaseHacknet */ "e"])(); + return Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_19__[/* purchaseHacknet */ "e"])(); }, getPurchaseNodeCost : function() { - return Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_16__[/* getCostOfNextHacknetNode */ "c"])(); + return Object(_HacknetNode__WEBPACK_IMPORTED_MODULE_19__[/* getCostOfNextHacknetNode */ "c"])(); }, getNodeStats : function(i) { var node = getHacknetNode(i); @@ -20455,12 +17939,12 @@ function NetscriptFunctions(workerScript) { vsprintf: vsprintf, scan : function(ip=workerScript.serverIp, hostnames=true){ if (workerScript.checkingRam) { - return updateStaticRam("scan", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptScanRamCost); + return updateStaticRam("scan", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptScanRamCost); } - updateDynamicRam("scan", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptScanRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("scan", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptScanRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, 'Invalid IP or hostname passed into scan() command'); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, 'Invalid IP or hostname passed into scan() command'); } var out = []; for (var i = 0; i < server.serversOnNetwork.length; i++) { @@ -20482,45 +17966,45 @@ function NetscriptFunctions(workerScript) { }, hack : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("hack", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHackRamCost); + return updateStaticRam("hack", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHackRamCost); } - updateDynamicRam("hack", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHackRamCost); + updateDynamicRam("hack", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHackRamCost); if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Hack() call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Hack() call has incorrect number of arguments. Takes 1 argument"); } var threads = workerScript.scriptRef.threads; if (isNaN(threads) || threads < 1) {threads = 1;} - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("hack() error. Invalid IP or hostname passed in: " + ip + ". Stopping..."); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "hack() error. Invalid IP or hostname passed in: " + ip + ". Stopping..."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "hack() error. Invalid IP or hostname passed in: " + ip + ". Stopping..."); } //Calculate the hacking time - var hackingTime = Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateHackingTime */ "d"])(server); //This is in seconds + var hackingTime = Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateHackingTime */ "d"])(server); //This is in seconds //No root access or skill level too low if (server.hasAdminRights == false) { workerScript.scriptRef.log("Cannot hack this server (" + server.hostname + ") because user does not have root access"); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot hack this server (" + server.hostname + ") because user does not have root access"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot hack this server (" + server.hostname + ") because user does not have root access"); } - if (server.requiredHackingSkill > _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_skill) { + if (server.requiredHackingSkill > _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_skill) { workerScript.scriptRef.log("Cannot hack this server (" + server.hostname + ") because user's hacking skill is not high enough"); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot hack this server (" + server.hostname + ") because user's hacking skill is not high enough"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot hack this server (" + server.hostname + ") because user's hacking skill is not high enough"); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.hack == null) { workerScript.scriptRef.log("Attempting to hack " + ip + " in " + hackingTime.toFixed(3) + " seconds (t=" + threads + ")"); } - return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* netscriptDelay */ "e"])(hackingTime * 1000, workerScript).then(function() { + return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* netscriptDelay */ "e"])(hackingTime * 1000, workerScript).then(function() { if (workerScript.env.stopFlag) {return Promise.reject(workerScript);} - var hackChance = Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateHackingChance */ "b"])(server); + var hackChance = Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateHackingChance */ "b"])(server); var rand = Math.random(); - var expGainedOnSuccess = Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateHackingExpGain */ "c"])(server) * threads; + var expGainedOnSuccess = Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateHackingExpGain */ "c"])(server) * threads; var expGainedOnFailure = (expGainedOnSuccess / 4); if (rand < hackChance) { //Success! - const percentHacked = Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculatePercentMoneyHacked */ "e"])(server); + const percentHacked = Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculatePercentMoneyHacked */ "e"])(server); let maxThreadNeeded = Math.ceil(1/percentHacked*(server.moneyAvailable/server.moneyMax)); if (isNaN(maxThreadNeeded)) { //Server has a 'max money' of 0 (probably). @@ -20539,23 +18023,23 @@ function NetscriptFunctions(workerScript) { server.moneyAvailable -= moneyGained; if (server.moneyAvailable < 0) {server.moneyAvailable = 0;} - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainMoney(moneyGained); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainMoney(moneyGained); workerScript.scriptRef.onlineMoneyMade += moneyGained; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].scriptProdSinceLastAug += moneyGained; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].scriptProdSinceLastAug += moneyGained; workerScript.scriptRef.recordHack(server.ip, moneyGained, threads); - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainHackingExp(expGainedOnSuccess); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainHackingExp(expGainedOnSuccess); workerScript.scriptRef.onlineExpGained += expGainedOnSuccess; if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.hack == null) { - workerScript.scriptRef.log("Script SUCCESSFULLY hacked " + server.hostname + " for $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(moneyGained, 2) + " and " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(expGainedOnSuccess, 4) + " exp (t=" + threads + ")"); + workerScript.scriptRef.log("Script SUCCESSFULLY hacked " + server.hostname + " for $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(moneyGained, 2) + " and " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(expGainedOnSuccess, 4) + " exp (t=" + threads + ")"); } - server.fortify(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ServerFortifyAmount * Math.min(threads, maxThreadNeeded)); + server.fortify(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ServerFortifyAmount * Math.min(threads, maxThreadNeeded)); return Promise.resolve(moneyGained); } else { //Player only gains 25% exp for failure? - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainHackingExp(expGainedOnFailure); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainHackingExp(expGainedOnFailure); workerScript.scriptRef.onlineExpGained += expGainedOnFailure; if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.hack == null) { - workerScript.scriptRef.log("Script FAILED to hack " + server.hostname + ". Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(expGainedOnFailure, 4) + " exp (t=" + threads + ")"); + workerScript.scriptRef.log("Script FAILED to hack " + server.hostname + ". Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(expGainedOnFailure, 4) + " exp (t=" + threads + ")"); } return Promise.resolve(0); } @@ -20563,172 +18047,172 @@ function NetscriptFunctions(workerScript) { }, hackAnalyzeThreads : function(ip, hackAmount) { if (workerScript.checkingRam) { - return updateStaticRam("hackAnalyzeThreads", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHackAnalyzeRamCost); + return updateStaticRam("hackAnalyzeThreads", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHackAnalyzeRamCost); } - updateDynamicRam("hackAnalyzeThreads", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHackAnalyzeRamCost); + updateDynamicRam("hackAnalyzeThreads", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHackAnalyzeRamCost); // Check argument validity const server = safeGetServer(ip, 'hackAnalyzeThreads'); if (isNaN(hackAmount)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `Invalid growth argument passed into growthAnalyze: ${hackAmount}. Must be numeric`); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `Invalid growth argument passed into hackAnalyzeThreads: ${hackAmount}. Must be numeric`); } if (hackAmount < 0 || hackAmount > server.moneyAvailable) { return -1; } - const percentHacked = Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculatePercentMoneyHacked */ "e"])(server); + const percentHacked = Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculatePercentMoneyHacked */ "e"])(server); return hackAmount / Math.floor(server.moneyAvailable * percentHacked); }, hackAnalyzePercent : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("hackAnalyzePercent", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHackAnalyzeRamCost); + return updateStaticRam("hackAnalyzePercent", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHackAnalyzeRamCost); } - updateDynamicRam("hackAnalyzePercent", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHackAnalyzeRamCost); + updateDynamicRam("hackAnalyzePercent", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHackAnalyzeRamCost); const server = safeGetServer(ip, 'hackAnalyzePercent'); - return Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculatePercentMoneyHacked */ "e"])(server) * 100; + return Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculatePercentMoneyHacked */ "e"])(server) * 100; }, hackChance : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("hackChance", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHackAnalyzeRamCost); + return updateStaticRam("hackChance", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHackAnalyzeRamCost); } - updateDynamicRam("hackChance", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHackAnalyzeRamCost); + updateDynamicRam("hackChance", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHackAnalyzeRamCost); const server = safeGetServer(ip, 'hackChance'); - return Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateHackingChance */ "b"])(server); + return Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateHackingChance */ "b"])(server); }, sleep : function(time){ if (workerScript.checkingRam) {return 0;} if (time === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "sleep() call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "sleep() call has incorrect number of arguments. Takes 1 argument"); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.sleep == null) { workerScript.scriptRef.log("Sleeping for " + time + " milliseconds"); } - return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* netscriptDelay */ "e"])(time, workerScript).then(function() { + return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* netscriptDelay */ "e"])(time, workerScript).then(function() { return Promise.resolve(true); }); }, grow : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("grow", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGrowRamCost); + return updateStaticRam("grow", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGrowRamCost); } - updateDynamicRam("grow", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGrowRamCost); + updateDynamicRam("grow", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGrowRamCost); var threads = workerScript.scriptRef.threads; if (isNaN(threads) || threads < 1) {threads = 1;} if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "grow() call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "grow() call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("Cannot grow(). Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot grow(). Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot grow(). Invalid IP or hostname passed in: " + ip); } //No root access or skill level too low if (server.hasAdminRights == false) { workerScript.scriptRef.log("Cannot grow this server (" + server.hostname + ") because user does not have root access"); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot grow this server (" + server.hostname + ") because user does not have root access"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot grow this server (" + server.hostname + ") because user does not have root access"); } - var growTime = Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateGrowTime */ "a"])(server); + var growTime = Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateGrowTime */ "a"])(server); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.grow == null) { - workerScript.scriptRef.log("Executing grow() on server " + server.hostname + " in " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(growTime, 3) + " seconds (t=" + threads + ")"); + workerScript.scriptRef.log("Executing grow() on server " + server.hostname + " in " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(growTime, 3) + " seconds (t=" + threads + ")"); } - return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* netscriptDelay */ "e"])(growTime * 1000, workerScript).then(function() { + return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* netscriptDelay */ "e"])(growTime * 1000, workerScript).then(function() { if (workerScript.env.stopFlag) {return Promise.reject(workerScript);} const moneyBefore = server.moneyAvailable <= 0 ? 1 : server.moneyAvailable; server.moneyAvailable += (1 * threads); //It can be grown even if it has no money - var growthPercentage = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* processSingleServerGrowth */ "k"])(server, 450 * threads); + var growthPercentage = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* processSingleServerGrowth */ "k"])(server, 450 * threads); const moneyAfter = server.moneyAvailable; workerScript.scriptRef.recordGrow(server.ip, threads); - var expGain = Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateHackingExpGain */ "c"])(server) * threads; + var expGain = Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateHackingExpGain */ "c"])(server) * threads; if (growthPercentage == 1) { expGain = 0; } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.grow == null) { workerScript.scriptRef.log("Available money on " + server.hostname + " grown by " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])((moneyAfter/moneyBefore)*100 - 100, 6) + "%. Gained " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(expGain, 4) + " hacking exp (t=" + threads +")"); + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])((moneyAfter/moneyBefore)*100 - 100, 6) + "%. Gained " + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(expGain, 4) + " hacking exp (t=" + threads +")"); } workerScript.scriptRef.onlineExpGained += expGain; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainHackingExp(expGain); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainHackingExp(expGain); return Promise.resolve(moneyAfter/moneyBefore); }); }, growthAnalyze : function(ip, growth) { if (workerScript.checkingRam) { - return updateStaticRam("growthAnalyze", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGrowthAnalyzeRamCost); + return updateStaticRam("growthAnalyze", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGrowthAnalyzeRamCost); } - updateDynamicRam("growthAnalyze", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGrowthAnalyzeRamCost); + updateDynamicRam("growthAnalyze", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGrowthAnalyzeRamCost); // Check argument validity const server = safeGetServer(ip, 'growthAnalyze'); if (isNaN(growth)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `Invalid growth argument passed into growthAnalyze: ${growth}. Must be numeric`); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `Invalid growth argument passed into growthAnalyze: ${growth}. Must be numeric`); } - return Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* numCycleForGrowth */ "h"])(server, Number(growth)); + return Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* numCycleForGrowth */ "h"])(server, Number(growth)); }, weaken : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("weaken", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptWeakenRamCost); + return updateStaticRam("weaken", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptWeakenRamCost); } - updateDynamicRam("weaken", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptWeakenRamCost); + updateDynamicRam("weaken", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptWeakenRamCost); var threads = workerScript.scriptRef.threads; if (isNaN(threads) || threads < 1) {threads = 1;} if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "weaken() call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "weaken() call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("Cannot weaken(). Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot weaken(). Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot weaken(). Invalid IP or hostname passed in: " + ip); } //No root access or skill level too low if (server.hasAdminRights == false) { workerScript.scriptRef.log("Cannot weaken this server (" + server.hostname + ") because user does not have root access"); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot weaken this server (" + server.hostname + ") because user does not have root access"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot weaken this server (" + server.hostname + ") because user does not have root access"); } - var weakenTime = Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateWeakenTime */ "f"])(server); + var weakenTime = Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateWeakenTime */ "f"])(server); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.weaken == null) { workerScript.scriptRef.log("Executing weaken() on server " + server.hostname + " in " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(weakenTime, 3) + " seconds (t=" + threads + ")"); + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(weakenTime, 3) + " seconds (t=" + threads + ")"); } - return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* netscriptDelay */ "e"])(weakenTime * 1000, workerScript).then(function() { + return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* netscriptDelay */ "e"])(weakenTime * 1000, workerScript).then(function() { if (workerScript.env.stopFlag) {return Promise.reject(workerScript);} - server.weaken(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ServerWeakenAmount * threads); + server.weaken(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ServerWeakenAmount * threads); workerScript.scriptRef.recordWeaken(server.ip, threads); - var expGain = Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateHackingExpGain */ "c"])(server) * threads; + var expGain = Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateHackingExpGain */ "c"])(server) * threads; if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.weaken == null) { workerScript.scriptRef.log("Server security level on " + server.hostname + " weakened to " + server.hackDifficulty + - ". Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(expGain, 4) + " hacking exp (t=" + threads + ")"); + ". Gained " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(expGain, 4) + " hacking exp (t=" + threads + ")"); } workerScript.scriptRef.onlineExpGained += expGain; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainHackingExp(expGain); - return Promise.resolve(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ServerWeakenAmount * threads); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainHackingExp(expGain); + return Promise.resolve(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ServerWeakenAmount * threads); }); }, print : function(args){ if (workerScript.checkingRam) {return 0;} if (args === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "print() call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "print() call has incorrect number of arguments. Takes 1 argument"); } workerScript.scriptRef.log(args.toString()); }, tprint : function(args) { if (workerScript.checkingRam) {return 0;} if (args === undefined || args == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "tprint() call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "tprint() call has incorrect number of arguments. Takes 1 argument"); } var x = args.toString(); - Object(_ui_postToTerminal__WEBPACK_IMPORTED_MODULE_28__["post"])(workerScript.scriptRef.filename + ": " + args.toString()); + Object(_ui_postToTerminal__WEBPACK_IMPORTED_MODULE_31__["post"])(workerScript.scriptRef.filename + ": " + args.toString()); }, clearLog : function() { if (workerScript.checkingRam) {return 0;} @@ -20737,7 +18221,7 @@ function NetscriptFunctions(workerScript) { disableLog : function(fn) { if (workerScript.checkingRam) {return 0;} if(possibleLogs[fn]===undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument to disableLog: "+fn); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument to disableLog: "+fn); } workerScript.disableLogs[fn] = true; if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.disableLog == null) { @@ -20747,7 +18231,7 @@ function NetscriptFunctions(workerScript) { enableLog : function(fn) { if (workerScript.checkingRam) {return 0;} if(possibleLogs[fn]===undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument to enableLog: "+fn); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument to enableLog: "+fn); } delete workerScript.disableLogs[fn]; if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.enableLog == null) { @@ -20757,7 +18241,7 @@ function NetscriptFunctions(workerScript) { isLogEnabled : function(fn) { if (workerScript.checkingRam) {return 0;} if (possibleLogs[fn] === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument to isLogEnabled: " + fn); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument to isLogEnabled: " + fn); } return workerScript.disableLogs[fn] ? false : true; }, @@ -20767,19 +18251,19 @@ function NetscriptFunctions(workerScript) { if (fn != null && typeof fn === 'string') { // Get Logs of another script if (ip == null) { ip = workerScript.serverIp; } - const server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + const server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.log(`getScriptLogs() failed. Invalid IP or hostname passed in: ${ip}`); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `getScriptLogs() failed. Invalid IP or hostname passed in: ${ip}`); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `getScriptLogs() failed. Invalid IP or hostname passed in: ${ip}`); } let argsForTarget = []; for (let i = 2; i < arguments.length; ++i) { argsForTarget.push(arguments[i]); } - const runningScriptObj = Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* findRunningScript */ "d"])(fn, argsForTarget, server); + const runningScriptObj = Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* findRunningScript */ "d"])(fn, argsForTarget, server); if (runningScriptObj == null) { - workerScript.scriptRef.log(`getScriptLogs() failed. No such script ${fn} on ${server.hostname} with args: ${Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_39__["arrayToString"])(argsForTarget)}`); + workerScript.scriptRef.log(`getScriptLogs() failed. No such script ${fn} on ${server.hostname} with args: ${Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_42__["arrayToString"])(argsForTarget)}`); return ""; } return runningScriptObj.logs.slice(); @@ -20789,22 +18273,22 @@ function NetscriptFunctions(workerScript) { }, nuke : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("nuke", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + return updateStaticRam("nuke", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); } - updateDynamicRam("nuke", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + updateDynamicRam("nuke", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("Cannot call nuke(). Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call nuke(). Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call nuke(). Invalid IP or hostname passed in: " + ip); } - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_21__["Programs"].NukeProgram.name)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the NUKE.exe virus!"); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_24__["Programs"].NukeProgram.name)) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the NUKE.exe virus!"); } if (server.openPortCount < server.numOpenPortsRequired) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Not enough ports opened to use NUKE.exe virus"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Not enough ports opened to use NUKE.exe virus"); } if (server.hasAdminRights) { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.nuke == null) { @@ -20820,20 +18304,20 @@ function NetscriptFunctions(workerScript) { }, brutessh : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("brutessh", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + return updateStaticRam("brutessh", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); } - updateDynamicRam("brutessh", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + updateDynamicRam("brutessh", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("Cannot call brutessh(). Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call brutessh(). Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call brutessh(). Invalid IP or hostname passed in: " + ip); } - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_21__["Programs"].BruteSSHProgram.name)) { + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_24__["Programs"].BruteSSHProgram.name)) { workerScript.scriptRef.log("You do not have the BruteSSH.exe program!"); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the BruteSSH.exe program!"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the BruteSSH.exe program!"); } if (!server.sshPortOpen) { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.brutessh == null) { @@ -20850,19 +18334,19 @@ function NetscriptFunctions(workerScript) { }, ftpcrack : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("ftpcrack", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + return updateStaticRam("ftpcrack", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); } - updateDynamicRam("ftpcrack", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + updateDynamicRam("ftpcrack", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("Cannot call ftpcrack(). Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call ftpcrack(). Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call ftpcrack(). Invalid IP or hostname passed in: " + ip); } - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_21__["Programs"].FTPCrackProgram.name)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the FTPCrack.exe program!"); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_24__["Programs"].FTPCrackProgram.name)) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the FTPCrack.exe program!"); } if (!server.ftpPortOpen) { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.ftpcrack == null) { @@ -20879,19 +18363,19 @@ function NetscriptFunctions(workerScript) { }, relaysmtp : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("relaysmtp", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + return updateStaticRam("relaysmtp", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); } - updateDynamicRam("relaysmtp", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + updateDynamicRam("relaysmtp", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("Cannot call relaysmtp(). Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call relaysmtp(). Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call relaysmtp(). Invalid IP or hostname passed in: " + ip); } - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_21__["Programs"].RelaySMTPProgram.name)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the relaySMTP.exe program!"); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_24__["Programs"].RelaySMTPProgram.name)) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the relaySMTP.exe program!"); } if (!server.smtpPortOpen) { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.relaysmtp == null) { @@ -20908,19 +18392,19 @@ function NetscriptFunctions(workerScript) { }, httpworm : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("httpworm", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + return updateStaticRam("httpworm", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); } - updateDynamicRam("httpworm", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + updateDynamicRam("httpworm", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("Cannot call httpworm(). Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call httpworm(). Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call httpworm(). Invalid IP or hostname passed in: " + ip); } - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_21__["Programs"].HTTPWormProgram.name)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the HTTPWorm.exe program!"); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_24__["Programs"].HTTPWormProgram.name)) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the HTTPWorm.exe program!"); } if (!server.httpPortOpen) { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.httpworm == null) { @@ -20937,19 +18421,19 @@ function NetscriptFunctions(workerScript) { }, sqlinject : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("sqlinject", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + return updateStaticRam("sqlinject", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); } - updateDynamicRam("sqlinject", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPortProgramRamCost); + updateDynamicRam("sqlinject", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPortProgramRamCost); if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Program call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("Cannot call sqlinject(). Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call sqlinject(). Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot call sqlinject(). Invalid IP or hostname passed in: " + ip); } - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_21__["Programs"].SQLInjectProgram.name)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the SQLInject.exe program!"); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasProgram(_Programs_Programs__WEBPACK_IMPORTED_MODULE_24__["Programs"].SQLInjectProgram.name)) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You do not have the SQLInject.exe program!"); } if (!server.sqlPortOpen) { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.sqlinject == null) { @@ -20966,72 +18450,72 @@ function NetscriptFunctions(workerScript) { }, run : function(scriptname,threads = 1){ if (workerScript.checkingRam) { - return updateStaticRam("run", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptRunRamCost); + return updateStaticRam("run", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptRunRamCost); } - updateDynamicRam("run", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptRunRamCost); + updateDynamicRam("run", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptRunRamCost); if (scriptname === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "run() call has incorrect number of arguments. Usage: run(scriptname, [numThreads], [arg1], [arg2]...)"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "run() call has incorrect number of arguments. Usage: run(scriptname, [numThreads], [arg1], [arg2]...)"); } if (isNaN(threads) || threads < 1) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument for thread count passed into run(). Must be numeric and greater than 0"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument for thread count passed into run(). Must be numeric and greater than 0"); } var argsForNewScript = []; for (var i = 2; i < arguments.length; ++i) { argsForNewScript.push(arguments[i]); } - var scriptServer = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(workerScript.serverIp); + var scriptServer = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(workerScript.serverIp); if (scriptServer == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server. This is a bug in the game. Report to game dev"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server. This is a bug in the game. Report to game dev"); } - return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* runScriptFromScript */ "f"])(scriptServer, scriptname, argsForNewScript, workerScript, threads); + return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* runScriptFromScript */ "f"])(scriptServer, scriptname, argsForNewScript, workerScript, threads); }, exec : function(scriptname,ip,threads = 1) { if (workerScript.checkingRam) { - return updateStaticRam("exec", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptExecRamCost); + return updateStaticRam("exec", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptExecRamCost); } - updateDynamicRam("exec", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptExecRamCost); + updateDynamicRam("exec", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptExecRamCost); if (scriptname === undefined || ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "exec() call has incorrect number of arguments. Usage: exec(scriptname, server, [numThreads], [arg1], [arg2]...)"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "exec() call has incorrect number of arguments. Usage: exec(scriptname, server, [numThreads], [arg1], [arg2]...)"); } if (isNaN(threads) || threads < 1) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument for thread count passed into exec(). Must be numeric and greater than 0"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument for thread count passed into exec(). Must be numeric and greater than 0"); } var argsForNewScript = []; for (var i = 3; i < arguments.length; ++i) { argsForNewScript.push(arguments[i]); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid hostname/ip passed into exec() command: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid hostname/ip passed into exec() command: " + ip); } - return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* runScriptFromScript */ "f"])(server, scriptname, argsForNewScript, workerScript, threads); + return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* runScriptFromScript */ "f"])(server, scriptname, argsForNewScript, workerScript, threads); }, spawn : function(scriptname, threads) { if (workerScript.checkingRam) { - return updateStaticRam("spawn", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSpawnRamCost); + return updateStaticRam("spawn", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSpawnRamCost); } - updateDynamicRam("spawn", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSpawnRamCost); + updateDynamicRam("spawn", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSpawnRamCost); if (scriptname == null || threads == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid scriptname or numThreads argument passed to spawn()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid scriptname or numThreads argument passed to spawn()"); } setTimeout(()=>{ if (scriptname === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "spawn() call has incorrect number of arguments. Usage: spawn(scriptname, numThreads, [arg1], [arg2]...)"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "spawn() call has incorrect number of arguments. Usage: spawn(scriptname, numThreads, [arg1], [arg2]...)"); } if (isNaN(threads) || threads < 1) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument for thread count passed into run(). Must be numeric and greater than 0"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument for thread count passed into run(). Must be numeric and greater than 0"); } var argsForNewScript = []; for (var i = 2; i < arguments.length; ++i) { argsForNewScript.push(arguments[i]); } - var scriptServer = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(workerScript.serverIp); + var scriptServer = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(workerScript.serverIp); if (scriptServer == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server. This is a bug in the game. Report to game dev"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server. This is a bug in the game. Report to game dev"); } - return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* runScriptFromScript */ "f"])(scriptServer, scriptname, argsForNewScript, workerScript, threads); + return Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* runScriptFromScript */ "f"])(scriptServer, scriptname, argsForNewScript, workerScript, threads); }, 20000); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.spawn == null) { workerScript.scriptRef.log("spawn() will execute " + scriptname + " in 20 seconds"); @@ -21040,55 +18524,55 @@ function NetscriptFunctions(workerScript) { }, kill : function(filename, ip) { if (workerScript.checkingRam) { - return updateStaticRam("kill", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptKillRamCost); + return updateStaticRam("kill", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptKillRamCost); } - updateDynamicRam("kill", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptKillRamCost); + updateDynamicRam("kill", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptKillRamCost); if (filename === undefined || ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "kill() call has incorrect number of arguments. Usage: kill(scriptname, server, [arg1], [arg2]...)"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "kill() call has incorrect number of arguments. Usage: kill(scriptname, server, [arg1], [arg2]...)"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("kill() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "kill() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "kill() failed. Invalid IP or hostname passed in: " + ip); } var argsForKillTarget = []; for (var i = 2; i < arguments.length; ++i) { argsForKillTarget.push(arguments[i]); } - var runningScriptObj = Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* findRunningScript */ "d"])(filename, argsForKillTarget, server); + var runningScriptObj = Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* findRunningScript */ "d"])(filename, argsForKillTarget, server); if (runningScriptObj == null) { - workerScript.scriptRef.log("kill() failed. No such script "+ filename + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_39__["arrayToString"])(argsForKillTarget)); + workerScript.scriptRef.log("kill() failed. No such script "+ filename + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_42__["arrayToString"])(argsForKillTarget)); return false; } - var res = Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* killWorkerScript */ "d"])(runningScriptObj, server.ip); + var res = Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* killWorkerScript */ "d"])(runningScriptObj, server.ip); if (res) { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.kill == null) { - workerScript.scriptRef.log("Killing " + filename + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_39__["arrayToString"])(argsForKillTarget) + ". May take up to a few minutes for the scripts to die..."); + workerScript.scriptRef.log("Killing " + filename + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_42__["arrayToString"])(argsForKillTarget) + ". May take up to a few minutes for the scripts to die..."); } return true; } else { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.kill == null) { - workerScript.scriptRef.log("kill() failed. No such script "+ filename + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_39__["arrayToString"])(argsForKillTarget)); + workerScript.scriptRef.log("kill() failed. No such script "+ filename + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_42__["arrayToString"])(argsForKillTarget)); } return false; } }, killall : function(ip=workerScript.serverIp){ if (workerScript.checkingRam) { - return updateStaticRam("killall", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptKillRamCost); + return updateStaticRam("killall", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptKillRamCost); } - updateDynamicRam("killall", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptKillRamCost); + updateDynamicRam("killall", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptKillRamCost); if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "killall() call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "killall() call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("killall() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "killall() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "killall() failed. Invalid IP or hostname passed in: " + ip); } var scriptsRunning = (server.runningScripts.length > 0); for (var i = server.runningScripts.length-1; i >= 0; --i) { - Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* killWorkerScript */ "d"])(server.runningScripts[i], server.ip); + Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* killWorkerScript */ "d"])(server.runningScripts[i], server.ip); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.killall == null) { workerScript.scriptRef.log("killall(): Killing all scripts on " + server.hostname + ". May take a few minutes for the scripts to die"); @@ -21097,11 +18581,11 @@ function NetscriptFunctions(workerScript) { }, exit : function() { if (workerScript.checkingRam) {return 0;} - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(workerScript.serverIp); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(workerScript.serverIp); if (server == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Error getting Server for this script in exit(). This is a bug please contact game dev"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Error getting Server for this script in exit(). This is a bug please contact game dev"); } - if (Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* killWorkerScript */ "d"])(workerScript.scriptRef, server.ip)) { + if (Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* killWorkerScript */ "d"])(workerScript.scriptRef, server.ip)) { workerScript.scriptRef.log("Exiting..."); } else { workerScript.scriptRef.log("Exit failed(). This is a bug please contact game developer"); @@ -21109,11 +18593,11 @@ function NetscriptFunctions(workerScript) { }, scp : function(scriptname, ip1, ip2) { if (workerScript.checkingRam) { - return updateStaticRam("scp", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptScpRamCost); + return updateStaticRam("scp", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptScpRamCost); } - updateDynamicRam("scp", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptScpRamCost); + updateDynamicRam("scp", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptScpRamCost); if (arguments.length !== 2 && arguments.length !== 3) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() call has incorrect number of arguments. Takes 2 or 3 arguments"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() call has incorrect number of arguments. Takes 2 or 3 arguments"); } if (scriptname && scriptname.constructor === Array) { //Recursively call scp on all elements of array @@ -21125,48 +18609,48 @@ function NetscriptFunctions(workerScript) { }); return res; } - if (!scriptname.endsWith(".lit") && !Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* isScriptFilename */ "e"])(scriptname) && + if (!scriptname.endsWith(".lit") && !Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* isScriptFilename */ "e"])(scriptname) && !scriptname.endsWith("txt")) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() does not work with this file type. It only works for .script, .lit, and .txt files"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() does not work with this file type. It only works for .script, .lit, and .txt files"); } var destServer, currServ; if (ip2 != null) { // 3 Argument version: scriptname, source, destination if (scriptname === undefined || ip1 === undefined || ip2 === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() call has incorrect number of arguments. Takes 2 or 3 arguments"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() call has incorrect number of arguments. Takes 2 or 3 arguments"); } - destServer = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip2); + destServer = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip2); if (destServer == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `ERROR: Invalid hostname/ip passed into scp() command: ${ip2}`); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `ERROR: Invalid hostname/ip passed into scp() command: ${ip2}`); } - currServ = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip1); + currServ = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip1); if (currServ == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `ERROR: Invalid hostname/ip passed into scp() command: ${ip1}`); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `ERROR: Invalid hostname/ip passed into scp() command: ${ip1}`); } } else if (ip1 != null) { // 2 Argument version: scriptname, destination if (scriptname === undefined || ip1 === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() call has incorrect number of arguments. Takes 2 or 3 arguments"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() call has incorrect number of arguments. Takes 2 or 3 arguments"); } - destServer = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip1); + destServer = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip1); if (destServer == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `ERROR: Invalid hostname/ip passed into scp() command: ${ip1}`); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `ERROR: Invalid hostname/ip passed into scp() command: ${ip1}`); } - currServ = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(workerScript.serverIp); + currServ = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(workerScript.serverIp); if (currServ == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server ip for this script. This is a bug please contact game developer"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server ip for this script. This is a bug please contact game developer"); } } else { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() call has incorrect number of arguments. Takes 2 or 3 arguments"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: scp() call has incorrect number of arguments. Takes 2 or 3 arguments"); } //Scp for lit files if (scriptname.endsWith(".lit")) { var found = false; for (var i = 0; i < currServ.messages.length; ++i) { - if (!(currServ.messages[i] instanceof _Message__WEBPACK_IMPORTED_MODULE_18__[/* Message */ "a"]) && currServ.messages[i] == scriptname) { + if (!(currServ.messages[i] instanceof _Message__WEBPACK_IMPORTED_MODULE_21__[/* Message */ "a"]) && currServ.messages[i] == scriptname) { found = true; break; } @@ -21218,7 +18702,7 @@ function NetscriptFunctions(workerScript) { return true; } } - var newFile = new _TextFile__WEBPACK_IMPORTED_MODULE_29__["TextFile"](txtFile.fn, txtFile.text); + var newFile = new _TextFile__WEBPACK_IMPORTED_MODULE_32__["TextFile"](txtFile.fn, txtFile.text); destServer.textFiles.push(newFile); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.scp == null) { workerScript.scriptRef.log(scriptname + " copied over to " + destServer.hostname); @@ -21255,7 +18739,7 @@ function NetscriptFunctions(workerScript) { } //Create new script if it does not already exist - var newScript = new _Script__WEBPACK_IMPORTED_MODULE_22__[/* Script */ "c"](); + var newScript = new _Script__WEBPACK_IMPORTED_MODULE_25__[/* Script */ "c"](); newScript.filename = scriptname; newScript.code = sourceScript.code; newScript.ramUsage = sourceScript.ramUsage; @@ -21268,16 +18752,16 @@ function NetscriptFunctions(workerScript) { }, ls : function(ip, grep) { if (workerScript.checkingRam) { - return updateStaticRam("ls", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptScanRamCost); + return updateStaticRam("ls", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptScanRamCost); } - updateDynamicRam("ls", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptScanRamCost); + updateDynamicRam("ls", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptScanRamCost); if (ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ls() failed because of invalid arguments. Usage: ls(ip/hostname, [grep filter])"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ls() failed because of invalid arguments. Usage: ls(ip/hostname, [grep filter])"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("ls() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ls() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ls() failed. Invalid IP or hostname passed in: " + ip); } //Get the grep filter, if one exists @@ -21308,7 +18792,7 @@ function NetscriptFunctions(workerScript) { } for (var i = 0; i < server.messages.length; i++) { if (filter) { - if (server.messages[i] instanceof _Message__WEBPACK_IMPORTED_MODULE_18__[/* Message */ "a"]) { + if (server.messages[i] instanceof _Message__WEBPACK_IMPORTED_MODULE_21__[/* Message */ "a"]) { if (server.messages[i].filename.includes(filter)) { allFiles.push(server.messages[i].filename); } @@ -21316,7 +18800,7 @@ function NetscriptFunctions(workerScript) { allFiles.push(server.messages[i]); } } else { - if (server.messages[i] instanceof _Message__WEBPACK_IMPORTED_MODULE_18__[/* Message */ "a"]) { + if (server.messages[i] instanceof _Message__WEBPACK_IMPORTED_MODULE_21__[/* Message */ "a"]) { allFiles.push(server.messages[i].filename); } else { allFiles.push(server.messages[i]); @@ -21350,13 +18834,13 @@ function NetscriptFunctions(workerScript) { }, ps : function(ip=workerScript.serverIp) { if (workerScript.checkingRam) { - return updateStaticRam("ps", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptScanRamCost); + return updateStaticRam("ps", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptScanRamCost); } - updateDynamicRam("ps", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptScanRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("ps", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptScanRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null){ workerScript.scriptRef.log("ps() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ps() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ps() failed. Invalid IP or hostname passed in: " + ip); } const processes = []; for (const i in server.runningScripts) { @@ -21367,249 +18851,249 @@ function NetscriptFunctions(workerScript) { }, hasRootAccess : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("hasRootAccess", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHasRootAccessRamCost); + return updateStaticRam("hasRootAccess", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHasRootAccessRamCost); } - updateDynamicRam("hasRootAccess", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptHasRootAccessRamCost); + updateDynamicRam("hasRootAccess", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptHasRootAccessRamCost); if (ip===undefined){ - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "hasRootAccess() call has incorrect number of arguments. Takes 1 argument"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "hasRootAccess() call has incorrect number of arguments. Takes 1 argument"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null){ workerScript.scriptRef.log("hasRootAccess() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "hasRootAccess() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "hasRootAccess() failed. Invalid IP or hostname passed in: " + ip); } return server.hasAdminRights; }, getIp : function() { if (workerScript.checkingRam) { - return updateStaticRam("getIp", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHostnameRamCost); + return updateStaticRam("getIp", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHostnameRamCost); } - updateDynamicRam("getIp", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHostnameRamCost); - var scriptServer = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(workerScript.serverIp); + updateDynamicRam("getIp", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHostnameRamCost); + var scriptServer = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(workerScript.serverIp); if (scriptServer == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server. This is a bug in the game. Report to game dev"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server. This is a bug in the game. Report to game dev"); } return scriptServer.ip; }, getHostname : function(){ if (workerScript.checkingRam) { - return updateStaticRam("getHostname", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHostnameRamCost); + return updateStaticRam("getHostname", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHostnameRamCost); } - updateDynamicRam("getHostname", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHostnameRamCost); - var scriptServer = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(workerScript.serverIp); + updateDynamicRam("getHostname", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHostnameRamCost); + var scriptServer = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(workerScript.serverIp); if (scriptServer == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server. This is a bug in the game. Report to game dev"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find server. This is a bug in the game. Report to game dev"); } return scriptServer.hostname; }, getHackingLevel : function(){ if (workerScript.checkingRam) { - return updateStaticRam("getHackingLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackingLevelRamCost); + return updateStaticRam("getHackingLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackingLevelRamCost); } - updateDynamicRam("getHackingLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackingLevelRamCost); - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].updateSkillLevels(); + updateDynamicRam("getHackingLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackingLevelRamCost); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].updateSkillLevels(); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getHackingLevel == null) { - workerScript.scriptRef.log("getHackingLevel() returned " + _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_skill); + workerScript.scriptRef.log("getHackingLevel() returned " + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_skill); } - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_skill; + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_skill; }, getHackingMultipliers : function() { if (workerScript.checkingRam) { - return updateStaticRam("getHackingMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetMultipliersRamCost); + return updateStaticRam("getHackingMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetMultipliersRamCost); } - updateDynamicRam("getHackingMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetMultipliersRamCost); + updateDynamicRam("getHackingMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetMultipliersRamCost); return { - chance: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_chance_mult, - speed: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_speed_mult, - money: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_money_mult, - growth: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_grow_mult, + chance: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_chance_mult, + speed: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_speed_mult, + money: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_money_mult, + growth: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_grow_mult, }; }, getHacknetMultipliers : function() { if (workerScript.checkingRam) { - return updateStaticRam("getHacknetMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetMultipliersRamCost); + return updateStaticRam("getHacknetMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetMultipliersRamCost); } - updateDynamicRam("getHacknetMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetMultipliersRamCost); + updateDynamicRam("getHacknetMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetMultipliersRamCost); return { - production: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacknet_node_money_mult, - purchaseCost: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacknet_node_purchase_cost_mult, - ramCost: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacknet_node_ram_cost_mult, - coreCost: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacknet_node_core_cost_mult, - levelCost: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacknet_node_level_cost_mult, + production: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacknet_node_money_mult, + purchaseCost: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacknet_node_purchase_cost_mult, + ramCost: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacknet_node_ram_cost_mult, + coreCost: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacknet_node_core_cost_mult, + levelCost: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacknet_node_level_cost_mult, }; }, getBitNodeMultipliers: function() { if (workerScript.checkingRam) { - return updateStaticRam("getBitNodeMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetMultipliersRamCost); + return updateStaticRam("getBitNodeMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetMultipliersRamCost); } - updateDynamicRam("getBitNodeMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetMultipliersRamCost); + updateDynamicRam("getBitNodeMultipliers", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetMultipliersRamCost); if (!hasAISF) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getBitNodeMultipliers(). It requires Source-File 5 to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getBitNodeMultipliers(). It requires Source-File 5 to run."); } - let copy = Object.assign({}, _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"]); + let copy = Object.assign({}, _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_5__["BitNodeMultipliers"]); return copy; }, getServerMoneyAvailable : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("getServerMoneyAvailable", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("getServerMoneyAvailable", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("getServerMoneyAvailable", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getServerMoneyAvailable", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getServerMoneyAvailable() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerMoneyAvailable() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerMoneyAvailable() failed. Invalid IP or hostname passed in: " + ip); } if (server.hostname == "home") { //Return player's money if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerMoneyAvailable == null) { - workerScript.scriptRef.log("getServerMoneyAvailable('home') returned player's money: $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.toNumber(), 2)); + workerScript.scriptRef.log("getServerMoneyAvailable('home') returned player's money: $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.toNumber(), 2)); } - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.toNumber(); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.toNumber(); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerMoneyAvailable == null) { - workerScript.scriptRef.log("getServerMoneyAvailable() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.moneyAvailable, 2) + " for " + server.hostname); + workerScript.scriptRef.log("getServerMoneyAvailable() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.moneyAvailable, 2) + " for " + server.hostname); } return server.moneyAvailable; }, getServerSecurityLevel : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("getServerSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("getServerSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("getServerSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getServerSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getServerSecurityLevel() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerSecurityLevel() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerSecurityLevel() failed. Invalid IP or hostname passed in: " + ip); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerSecurityLevel == null) { - workerScript.scriptRef.log("getServerSecurityLevel() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.hackDifficulty, 3) + " for " + server.hostname); + workerScript.scriptRef.log("getServerSecurityLevel() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.hackDifficulty, 3) + " for " + server.hostname); } return server.hackDifficulty; }, getServerBaseSecurityLevel : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("getServerBaseSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("getServerBaseSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("getServerBaseSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getServerBaseSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getServerBaseSecurityLevel() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerBaseSecurityLevel() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerBaseSecurityLevel() failed. Invalid IP or hostname passed in: " + ip); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerBaseSecurityLevel == null) { - workerScript.scriptRef.log("getServerBaseSecurityLevel() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.baseDifficulty, 3) + " for " + server.hostname); + workerScript.scriptRef.log("getServerBaseSecurityLevel() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.baseDifficulty, 3) + " for " + server.hostname); } return server.baseDifficulty; }, getServerMinSecurityLevel : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("getServerMinSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("getServerMinSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("getServerMinSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getServerMinSecurityLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getServerMinSecurityLevel() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerMinSecurityLevel() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerMinSecurityLevel() failed. Invalid IP or hostname passed in: " + ip); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerMinSecurityLevel == null) { - workerScript.scriptRef.log("getServerMinSecurityLevel() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.minDifficulty, 3) + " for " + server.hostname); + workerScript.scriptRef.log("getServerMinSecurityLevel() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.minDifficulty, 3) + " for " + server.hostname); } return server.minDifficulty; }, getServerRequiredHackingLevel : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("getServerRequiredHackingLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("getServerRequiredHackingLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("getServerRequiredHackingLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getServerRequiredHackingLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getServerRequiredHackingLevel() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerRequiredHackingLevel() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerRequiredHackingLevel() failed. Invalid IP or hostname passed in: " + ip); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerRequiredHackingLevel == null) { - workerScript.scriptRef.log("getServerRequiredHackingLevel returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.requiredHackingSkill, 0) + " for " + server.hostname); + workerScript.scriptRef.log("getServerRequiredHackingLevel returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.requiredHackingSkill, 0) + " for " + server.hostname); } return server.requiredHackingSkill; }, getServerMaxMoney : function(ip){ if (workerScript.checkingRam) { - return updateStaticRam("getServerMaxMoney", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("getServerMaxMoney", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("getServerMaxMoney", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getServerMaxMoney", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getServerMaxMoney() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerMaxMoney() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerMaxMoney() failed. Invalid IP or hostname passed in: " + ip); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerMaxMoney == null) { - workerScript.scriptRef.log("getServerMaxMoney() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.moneyMax, 0) + " for " + server.hostname); + workerScript.scriptRef.log("getServerMaxMoney() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.moneyMax, 0) + " for " + server.hostname); } return server.moneyMax; }, getServerGrowth : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("getServerGrowth", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("getServerGrowth", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("getServerGrowth", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getServerGrowth", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getServerGrowth() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerGrowth() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerGrowth() failed. Invalid IP or hostname passed in: " + ip); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerGrowth == null) { - workerScript.scriptRef.log("getServerGrowth() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.serverGrowth, 0) + " for " + server.hostname); + workerScript.scriptRef.log("getServerGrowth() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.serverGrowth, 0) + " for " + server.hostname); } return server.serverGrowth; }, getServerNumPortsRequired : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("getServerNumPortsRequired", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("getServerNumPortsRequired", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("getServerNumPortsRequired", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getServerNumPortsRequired", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getServerNumPortsRequired() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerNumPortsRequired() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerNumPortsRequired() failed. Invalid IP or hostname passed in: " + ip); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerNumPortsRequired == null) { - workerScript.scriptRef.log("getServerNumPortsRequired() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.numOpenPortsRequired, 0) + " for " + server.hostname); + workerScript.scriptRef.log("getServerNumPortsRequired() returned " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.numOpenPortsRequired, 0) + " for " + server.hostname); } return server.numOpenPortsRequired; }, getServerRam : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("getServerRam", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("getServerRam", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("getServerRam", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getServerRam", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getServerRam() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerRam() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getServerRam() failed. Invalid IP or hostname passed in: " + ip); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.getServerRam == null) { - workerScript.scriptRef.log("getServerRam() returned [" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.maxRam, 2) + "GB, " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(server.ramUsed, 2) + "GB]"); + workerScript.scriptRef.log("getServerRam() returned [" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.maxRam, 2) + "GB, " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(server.ramUsed, 2) + "GB]"); } return [server.maxRam, server.ramUsed]; }, serverExists : function(ip) { if (workerScript.checkingRam) { - return updateStaticRam("serverExists", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); + return updateStaticRam("serverExists", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); } - updateDynamicRam("serverExists", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetServerRamCost); - return (Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip) !== null); + updateDynamicRam("serverExists", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetServerRamCost); + return (Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip) !== null); }, fileExists : function(filename,ip=workerScript.serverIp) { if (workerScript.checkingRam) { - return updateStaticRam("fileExists", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptFileExistsRamCost); + return updateStaticRam("fileExists", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptFileExistsRamCost); } - updateDynamicRam("fileExists", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptFileExistsRamCost); + updateDynamicRam("fileExists", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptFileExistsRamCost); if (filename === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "fileExists() call has incorrect number of arguments. Usage: fileExists(scriptname, [server])"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "fileExists() call has incorrect number of arguments. Usage: fileExists(scriptname, [server])"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("fileExists() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "fileExists() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "fileExists() failed. Invalid IP or hostname passed in: " + ip); } for (var i = 0; i < server.scripts.length; ++i) { if (filename == server.scripts[i].filename) { @@ -21622,12 +19106,12 @@ function NetscriptFunctions(workerScript) { } } for (var i = 0; i < server.messages.length; ++i) { - if (!(server.messages[i] instanceof _Message__WEBPACK_IMPORTED_MODULE_18__[/* Message */ "a"]) && + if (!(server.messages[i] instanceof _Message__WEBPACK_IMPORTED_MODULE_21__[/* Message */ "a"]) && filename.toLowerCase() === server.messages[i]) { return true; } } - var txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_29__["getTextFile"])(filename, server); + var txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_32__["getTextFile"])(filename, server); if (txtFile != null) { return true; } @@ -21635,88 +19119,88 @@ function NetscriptFunctions(workerScript) { }, isRunning : function(filename,ip) { if (workerScript.checkingRam) { - return updateStaticRam("isRunning", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptIsRunningRamCost); + return updateStaticRam("isRunning", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptIsRunningRamCost); } - updateDynamicRam("isRunning", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptIsRunningRamCost); + updateDynamicRam("isRunning", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptIsRunningRamCost); if (filename === undefined || ip === undefined) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "isRunning() call has incorrect number of arguments. Usage: isRunning(scriptname, server, [arg1], [arg2]...)"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "isRunning() call has incorrect number of arguments. Usage: isRunning(scriptname, server, [arg1], [arg2]...)"); } - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("isRunning() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "isRunning() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "isRunning() failed. Invalid IP or hostname passed in: " + ip); } var argsForTargetScript = []; for (var i = 2; i < arguments.length; ++i) { argsForTargetScript.push(arguments[i]); } - return (Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* findRunningScript */ "d"])(filename, argsForTargetScript, server) != null); + return (Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* findRunningScript */ "d"])(filename, argsForTargetScript, server) != null); }, getStockSymbols : function(){ if (workerScript.checkingRam) { - return updateStaticRam("getStockSymbols", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetStockRamCost); + return updateStaticRam("getStockSymbols", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetStockRamCost); } - updateDynamicRam("getStockSymbols", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getStockSymbols()"); + updateDynamicRam("getStockSymbols", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getStockSymbols()"); } - return Object.values(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* StockSymbols */ "d"]); + return Object.values(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* StockSymbols */ "d"]); }, getStockPrice : function(symbol) { if (workerScript.checkingRam) { - return updateStaticRam("getStockPrice", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetStockRamCost); + return updateStaticRam("getStockPrice", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetStockRamCost); } - updateDynamicRam("getStockPrice", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getStockPrice()"); + updateDynamicRam("getStockPrice", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getStockPrice()"); } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into getStockPrice()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into getStockPrice()"); } return parseFloat(stock.price.toFixed(3)); }, getStockPosition : function(symbol) { if (workerScript.checkingRam) { - return updateStaticRam("getStockPosition", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetStockRamCost); + return updateStaticRam("getStockPosition", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetStockRamCost); } - updateDynamicRam("getStockPosition", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getStockPosition()"); + updateDynamicRam("getStockPosition", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getStockPosition()"); } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into getStockPosition()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into getStockPosition()"); } return [stock.playerShares, stock.playerAvgPx, stock.playerShortShares, stock.playerAvgShortPx]; }, getStockMaxShares : function(symbol) { if (workerScript.checkingRam) { - return updateStaticRam("getStockMaxShares", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetStockRamCost); + return updateStaticRam("getStockMaxShares", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetStockRamCost); } - updateDynamicRam("getStockMaxShares", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetStockRamCost); + updateDynamicRam("getStockMaxShares", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getStockMaxShares()"); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getStockMaxShares()"); } - const stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + const stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into getStockMaxShares()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into getStockMaxShares()"); } return stock.maxShares; }, buyStock : function(symbol, shares) { if (workerScript.checkingRam) { - return updateStaticRam("buyStock", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("buyStock", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("buyStock", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use buyStock()"); + updateDynamicRam("buyStock", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use buyStock()"); } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into buyStock()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into buyStock()"); } if (shares < 0 || isNaN(shares)) { workerScript.scriptRef.log("ERROR: Invalid 'shares' argument passed to buyStock()"); @@ -21727,10 +19211,10 @@ function NetscriptFunctions(workerScript) { // Does player have enough money? var totalPrice = stock.price * shares; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.lt(totalPrice + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].StockMarketCommission)) { - workerScript.scriptRef.log("Not enough money to purchase " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(shares, 0) + " shares of " + + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.lt(totalPrice + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].StockMarketCommission)) { + workerScript.scriptRef.log("Not enough money to purchase " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(shares, 0) + " shares of " + symbol + ". Need $" + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(totalPrice + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].StockMarketCommission, 2).toString()); + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(totalPrice + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].StockMarketCommission, 2).toString()); return 0; } @@ -21742,30 +19226,30 @@ function NetscriptFunctions(workerScript) { } var origTotal = stock.playerShares * stock.playerAvgPx; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].loseMoney(totalPrice + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].StockMarketCommission); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].loseMoney(totalPrice + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].StockMarketCommission); var newTotal = origTotal + totalPrice; stock.playerShares += shares; stock.playerAvgPx = newTotal / stock.playerShares; - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_36__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_36__["Page"].StockMarket)) { - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* updateStockPlayerPosition */ "r"])(stock); + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_39__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_39__["Page"].StockMarket)) { + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* updateStockPlayerPosition */ "r"])(stock); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.buyStock == null) { - workerScript.scriptRef.log("Bought " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(shares, 0) + " shares of " + stock.symbol + " at $" + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(stock.price, 2) + " per share"); + workerScript.scriptRef.log("Bought " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(shares, 0) + " shares of " + stock.symbol + " at $" + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(stock.price, 2) + " per share"); } return stock.price; }, sellStock : function(symbol, shares) { if (workerScript.checkingRam) { - return updateStaticRam("sellStock", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("sellStock", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("sellStock", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use sellStock()"); + updateDynamicRam("sellStock", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use sellStock()"); } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into sellStock()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid stock symbol passed into sellStock()"); } if (shares < 0 || isNaN(shares)) { workerScript.scriptRef.log("ERROR: Invalid 'shares' argument passed to sellStock()"); @@ -21774,152 +19258,152 @@ function NetscriptFunctions(workerScript) { shares = Math.round(shares); if (shares > stock.playerShares) {shares = stock.playerShares;} if (shares === 0) {return 0;} - var gains = stock.price * shares - _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].StockMarketCommission; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainMoney(gains); + var gains = stock.price * shares - _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].StockMarketCommission; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainMoney(gains); //Calculate net profit and add to script stats - var netProfit = ((stock.price - stock.playerAvgPx) * shares) - _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].StockMarketCommission; + var netProfit = ((stock.price - stock.playerAvgPx) * shares) - _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].StockMarketCommission; if (isNaN(netProfit)) {netProfit = 0;} workerScript.scriptRef.onlineMoneyMade += netProfit; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].scriptProdSinceLastAug += netProfit; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].scriptProdSinceLastAug += netProfit; stock.playerShares -= shares; if (stock.playerShares == 0) { stock.playerAvgPx = 0; } - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_36__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_36__["Page"].StockMarket)) { - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* updateStockPlayerPosition */ "r"])(stock); + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_39__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_39__["Page"].StockMarket)) { + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* updateStockPlayerPosition */ "r"])(stock); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.sellStock == null) { - workerScript.scriptRef.log("Sold " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(shares, 0) + " shares of " + stock.symbol + " at $" + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(stock.price, 2) + " per share. Gained " + - "$" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(gains, 2)); + workerScript.scriptRef.log("Sold " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(shares, 0) + " shares of " + stock.symbol + " at $" + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(stock.price, 2) + " per share. Gained " + + "$" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(gains, 2)); } return stock.price; }, shortStock(symbol, shares) { if (workerScript.checkingRam) { - return updateStaticRam("shortStock", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("shortStock", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("shortStock", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use shortStock()"); + updateDynamicRam("shortStock", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use shortStock()"); } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 8) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 8) { if (!(hasWallStreetSF && wallStreetSFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use shortStock(). You must either be in BitNode-8 or you must have Level 2 of Source-File 8"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use shortStock(). You must either be in BitNode-8 or you must have Level 2 of Source-File 8"); } } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into shortStock()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into shortStock()"); } - var res = Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* shortStock */ "p"])(stock, shares, workerScript); + var res = Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* shortStock */ "p"])(stock, shares, workerScript); return res ? stock.price : 0; }, sellShort(symbol, shares) { if (workerScript.checkingRam) { - return updateStaticRam("sellShort", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("sellShort", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("sellShort", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use sellShort()"); + updateDynamicRam("sellShort", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use sellShort()"); } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 8) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 8) { if (!(hasWallStreetSF && wallStreetSFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use sellShort(). You must either be in BitNode-8 or you must have Level 2 of Source-File 8"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use sellShort(). You must either be in BitNode-8 or you must have Level 2 of Source-File 8"); } } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into sellShort()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into sellShort()"); } - var res = Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* sellShort */ "n"])(stock, shares, workerScript); + var res = Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* sellShort */ "n"])(stock, shares, workerScript); return res ? stock.price : 0; }, placeOrder(symbol, shares, price, type, pos) { if (workerScript.checkingRam) { - return updateStaticRam("placeOrder", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("placeOrder", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("placeOrder", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use placeOrder()"); + updateDynamicRam("placeOrder", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use placeOrder()"); } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 8) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 8) { if (!(hasWallStreetSF && wallStreetSFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use placeOrder(). You must either be in BitNode-8 or have Level 3 of Source-File 8"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use placeOrder(). You must either be in BitNode-8 or have Level 3 of Source-File 8"); } } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into placeOrder()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into placeOrder()"); } var orderType, orderPos; type = type.toLowerCase(); if (type.includes("limit") && type.includes("buy")) { - orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* OrderTypes */ "a"].LimitBuy; + orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* OrderTypes */ "a"].LimitBuy; } else if (type.includes("limit") && type.includes("sell")) { - orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* OrderTypes */ "a"].LimitSell; + orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* OrderTypes */ "a"].LimitSell; } else if (type.includes("stop") && type.includes("buy")) { - orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* OrderTypes */ "a"].StopBuy; + orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* OrderTypes */ "a"].StopBuy; } else if (type.includes("stop") && type.includes("sell")) { - orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* OrderTypes */ "a"].StopSell; + orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* OrderTypes */ "a"].StopSell; } else { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid Order Type passed into placeOrder()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid Order Type passed into placeOrder()"); } pos = pos.toLowerCase(); if (pos.includes("l")) { - orderPos = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* PositionTypes */ "b"].Long; + orderPos = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* PositionTypes */ "b"].Long; } else if (pos.includes('s')) { - orderPos = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* PositionTypes */ "b"].Short; + orderPos = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* PositionTypes */ "b"].Short; } else { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid Position Type passed into placeOrder()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid Position Type passed into placeOrder()"); } - return Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* placeOrder */ "l"])(stock, shares, price, orderType, orderPos, workerScript); + return Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* placeOrder */ "l"])(stock, shares, price, orderType, orderPos, workerScript); }, cancelOrder(symbol, shares, price, type, pos) { if (workerScript.checkingRam) { - return updateStaticRam("cancelOrder", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("cancelOrder", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("cancelOrder", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use cancelOrder()"); + updateDynamicRam("cancelOrder", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use cancelOrder()"); } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 8) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 8) { if (!(hasWallStreetSF && wallStreetSFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use cancelOrder(). You must either be in BitNode-8 or have Level 3 of Source-File 8"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use cancelOrder(). You must either be in BitNode-8 or have Level 3 of Source-File 8"); } } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into cancelOrder()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into cancelOrder()"); } if (isNaN(shares) || isNaN(price)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid shares or price argument passed into cancelOrder(). Must be numeric"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid shares or price argument passed into cancelOrder(). Must be numeric"); } var orderType, orderPos; type = type.toLowerCase(); if (type.includes("limit") && type.includes("buy")) { - orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* OrderTypes */ "a"].LimitBuy; + orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* OrderTypes */ "a"].LimitBuy; } else if (type.includes("limit") && type.includes("sell")) { - orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* OrderTypes */ "a"].LimitSell; + orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* OrderTypes */ "a"].LimitSell; } else if (type.includes("stop") && type.includes("buy")) { - orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* OrderTypes */ "a"].StopBuy; + orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* OrderTypes */ "a"].StopBuy; } else if (type.includes("stop") && type.includes("sell")) { - orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* OrderTypes */ "a"].StopSell; + orderType = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* OrderTypes */ "a"].StopSell; } else { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid Order Type passed into placeOrder()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid Order Type passed into placeOrder()"); } pos = pos.toLowerCase(); if (pos.includes("l")) { - orderPos = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* PositionTypes */ "b"].Long; + orderPos = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* PositionTypes */ "b"].Long; } else if (pos.includes('s')) { - orderPos = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* PositionTypes */ "b"].Short; + orderPos = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* PositionTypes */ "b"].Short; } else { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid Position Type passed into placeOrder()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid Position Type passed into placeOrder()"); } var params = { stock: stock, @@ -21928,25 +19412,25 @@ function NetscriptFunctions(workerScript) { type: orderType, pos: orderPos }; - return Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* cancelOrder */ "f"])(params, workerScript); + return Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* cancelOrder */ "f"])(params, workerScript); }, getOrders : function() { if (workerScript.checkingRam) { - return updateStaticRam("getOrders", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("getOrders", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("getOrders", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getOrders()"); + updateDynamicRam("getOrders", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use getOrders()"); } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 8) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 8) { if (!(hasWallStreetSF && wallStreetSFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use getOrders(). You must either be in BitNode-8 or have Level 3 of Source-File 8"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Cannot use getOrders(). You must either be in BitNode-8 or have Level 3 of Source-File 8"); } } const orders = {}; - const stockMarketOrders = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* StockMarket */ "c"]["Orders"]; + const stockMarketOrders = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* StockMarket */ "c"]["Orders"]; for (let symbol in stockMarketOrders) { const orderBook = stockMarketOrders[symbol]; if (orderBook.constructor === Array && orderBook.length > 0) { @@ -21966,29 +19450,29 @@ function NetscriptFunctions(workerScript) { }, getStockVolatility : function(symbol) { if (workerScript.checkingRam) { - return updateStaticRam("getStockVolatility", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("getStockVolatility", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("getStockVolatility", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].has4SDataTixApi) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have 4S Market Data TIX API Access! Cannot use getStockVolatility()"); + updateDynamicRam("getStockVolatility", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].has4SDataTixApi) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have 4S Market Data TIX API Access! Cannot use getStockVolatility()"); } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into getStockVolatility()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into getStockVolatility()"); } return stock.mv / 100; //Convert from percentage to decimal }, getStockForecast : function(symbol) { if (workerScript.checkingRam) { - return updateStaticRam("getStockForecast", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("getStockForecast", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("getStockForecast", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].has4SDataTixApi) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have 4S Market Data TIX API Access! Cannot use getStockForecast()"); + updateDynamicRam("getStockForecast", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].has4SDataTixApi) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have 4S Market Data TIX API Access! Cannot use getStockForecast()"); } - var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_27__[/* SymbolToStockMap */ "e"][symbol]; + var stock = _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_30__[/* SymbolToStockMap */ "e"][symbol]; if (stock == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into getStockForecast()"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid stock symbol passed into getStockForecast()"); } var forecast = 50; stock.b ? forecast += stock.otlkMag : forecast -= stock.otlkMag; @@ -21996,30 +19480,30 @@ function NetscriptFunctions(workerScript) { }, purchase4SMarketData : function() { if (workerScript.checkingRam) { - return updateStaticRam("purchase4SMarketData", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("purchase4SMarketData", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("purchase4SMarketData", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + updateDynamicRam("purchase4SMarketData", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use purchase4SMarketData()"); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use purchase4SMarketData()"); } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].has4SData) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].has4SData) { if (workerScript.shouldLog("purchase4SMarketData")) { workerScript.log("Already purchased 4S Market Data"); } return true; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.lt(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MarketData4SCost)) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.lt(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].MarketData4SCost)) { if (workerScript.shouldLog("purchase4SMarketData")) { workerScript.log("Failed to purchase 4S Market Data - Not enough money"); } return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].has4SData = true; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].loseMoney(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MarketData4SCost); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].has4SData = true; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].loseMoney(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].MarketData4SCost); if (workerScript.shouldLog("purchase4SMarketData")) { workerScript.log("Purchased 4S Market Data"); } @@ -22027,30 +19511,30 @@ function NetscriptFunctions(workerScript) { }, purchase4SMarketDataTixApi : function() { if (workerScript.checkingRam) { - return updateStaticRam("purchase4SMarketDataTixApi", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + return updateStaticRam("purchase4SMarketDataTixApi", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); } - updateDynamicRam("purchase4SMarketDataTixApi", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBuySellStockRamCost); + updateDynamicRam("purchase4SMarketDataTixApi", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBuySellStockRamCost); - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasTixApiAccess) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use purchase4SMarketDataTixApi()"); + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasTixApiAccess) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "You don't have TIX API Access! Cannot use purchase4SMarketDataTixApi()"); } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].has4SDataTixApi) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].has4SDataTixApi) { if (workerScript.shouldLog("purchase4SMarketDataTixApi")) { workerScript.log("Already purchased 4S Market Data TIX API"); } return true; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.lt(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MarketDataTixApi4SCost)) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.lt(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].MarketDataTixApi4SCost)) { if (workerScript.shouldLog("purchase4SMarketDataTixApi")) { workerScript.log("Failed to purchase 4S Market Data TIX API - Not enough money"); } return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].has4SDataTixApi = true; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].loseMoney(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].MarketDataTixApi4SCost); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].has4SDataTixApi = true; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].loseMoney(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].MarketDataTixApi4SCost); if (workerScript.shouldLog("purchase4SMarketDataTixApi")) { workerScript.log("Purchased 4S Market Data TIX API"); } @@ -22058,25 +19542,25 @@ function NetscriptFunctions(workerScript) { }, getPurchasedServerLimit : function() { if (workerScript.checkingRam) { - return updateStaticRam("getPurchasedServerLimit", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetPurchasedServerLimit); + return updateStaticRam("getPurchasedServerLimit", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetPurchasedServerLimit); } - updateDynamicRam("getPurchasedServerLimit", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetPurchasedServerLimit); + updateDynamicRam("getPurchasedServerLimit", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetPurchasedServerLimit); - return _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].PurchasedServerLimit; + return _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].PurchasedServerLimit; }, getPurchasedServerMaxRam: function() { if (workerScript.checkingRam) { - return updateStaticRam("getPurchasedServerMaxRam", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetPurchasedServerMaxRam); + return updateStaticRam("getPurchasedServerMaxRam", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetPurchasedServerMaxRam); } - updateDynamicRam("getPurchasedServerMaxRam", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetPurchasedServerMaxRam); + updateDynamicRam("getPurchasedServerMaxRam", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetPurchasedServerMaxRam); - return _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].PurchasedServerMaxRam; + return _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].PurchasedServerMaxRam; }, getPurchasedServerCost: function(ram) { if (workerScript.checkingRam) { - return updateStaticRam("getPurchasedServerCost", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetPurchaseServerRamCost); + return updateStaticRam("getPurchasedServerCost", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetPurchaseServerRamCost); } - updateDynamicRam("getPurchasedServerCost", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetPurchaseServerRamCost); + updateDynamicRam("getPurchasedServerCost", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetPurchaseServerRamCost); let cost = 0; try { @@ -22090,9 +19574,9 @@ function NetscriptFunctions(workerScript) { }, purchaseServer : function(hostname, ram) { if (workerScript.checkingRam) { - return updateStaticRam("purchaseServer", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPurchaseServerRamCost); + return updateStaticRam("purchaseServer", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPurchaseServerRamCost); } - updateDynamicRam("purchaseServer", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPurchaseServerRamCost); + updateDynamicRam("purchaseServer", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPurchaseServerRamCost); var hostnameStr = String(hostname); hostnameStr = hostnameStr.replace(/\s+/g, ''); if (hostnameStr == "") { @@ -22100,8 +19584,8 @@ function NetscriptFunctions(workerScript) { return ""; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].purchasedServers.length >= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].PurchasedServerLimit) { - workerScript.scriptRef.log("ERROR: You have reached the maximum limit of " + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].PurchasedServerLimit + + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].purchasedServers.length >= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].PurchasedServerLimit) { + workerScript.scriptRef.log("ERROR: You have reached the maximum limit of " + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].PurchasedServerLimit + " servers. You cannot purchase any more."); return ""; } @@ -22114,12 +19598,12 @@ function NetscriptFunctions(workerScript) { return ""; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.lt(cost)) { - workerScript.scriptRef.log("ERROR: Not enough money to purchase server. Need $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(cost, 2)); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.lt(cost)) { + workerScript.scriptRef.log("ERROR: Not enough money to purchase server. Need $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(cost, 2)); return ""; } - var newServ = new _Server__WEBPACK_IMPORTED_MODULE_23__[/* Server */ "d"]({ - ip: Object(_utils_IPAddress__WEBPACK_IMPORTED_MODULE_40__[/* createRandomIp */ "a"])(), + var newServ = new _Server__WEBPACK_IMPORTED_MODULE_26__[/* Server */ "d"]({ + ip: Object(_utils_IPAddress__WEBPACK_IMPORTED_MODULE_43__[/* createRandomIp */ "a"])(), hostname: hostnameStr, organizationName: "", isConnectedTo: false, @@ -22127,26 +19611,26 @@ function NetscriptFunctions(workerScript) { purchasedByPlayer: true, maxRam: ram, }); - Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* AddToAllServers */ "a"])(newServ); + Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* AddToAllServers */ "a"])(newServ); - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].purchasedServers.push(newServ.ip); - var homeComputer = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].getHomeComputer(); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].purchasedServers.push(newServ.ip); + var homeComputer = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].getHomeComputer(); homeComputer.serversOnNetwork.push(newServ.ip); newServ.serversOnNetwork.push(homeComputer.ip); - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].loseMoney(cost); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].loseMoney(cost); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.purchaseServer == null) { - workerScript.scriptRef.log("Purchased new server with hostname " + newServ.hostname + " for $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_41__["formatNumber"])(cost, 2)); + workerScript.scriptRef.log("Purchased new server with hostname " + newServ.hostname + " for $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_44__["formatNumber"])(cost, 2)); } return newServ.hostname; }, deleteServer : function(hostname) { if (workerScript.checkingRam) { - return updateStaticRam("deleteServer", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPurchaseServerRamCost); + return updateStaticRam("deleteServer", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPurchaseServerRamCost); } - updateDynamicRam("deleteServer", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPurchaseServerRamCost); + updateDynamicRam("deleteServer", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPurchaseServerRamCost); var hostnameStr = String(hostname); hostnameStr = hostnameStr.replace(/\s\s+/g, ''); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* GetServerByHostname */ "c"])(hostnameStr); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* GetServerByHostname */ "c"])(hostnameStr); if (server == null) { workerScript.scriptRef.log("ERROR: Could not find server with hostname " + hostnameStr + ". deleteServer() failed"); return false; @@ -22180,10 +19664,10 @@ function NetscriptFunctions(workerScript) { //Delete from player's purchasedServers array var found = false; - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].purchasedServers.length; ++i) { - if (ip == _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].purchasedServers[i]) { + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].purchasedServers.length; ++i) { + if (ip == _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].purchasedServers[i]) { found = true; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].purchasedServers.splice(i, 1); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].purchasedServers.splice(i, 1); break; } } @@ -22195,11 +19679,11 @@ function NetscriptFunctions(workerScript) { } //Delete from all servers - delete _Server__WEBPACK_IMPORTED_MODULE_23__[/* AllServers */ "b"][ip]; + delete _Server__WEBPACK_IMPORTED_MODULE_26__[/* AllServers */ "b"][ip]; //Delete from home computer found = false; - var homeComputer = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].getHomeComputer(); + var homeComputer = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].getHomeComputer(); for (var i = 0; i < homeComputer.serversOnNetwork.length; ++i) { if (ip == homeComputer.serversOnNetwork[i]) { homeComputer.serversOnNetwork.splice(i, 1); @@ -22216,15 +19700,15 @@ function NetscriptFunctions(workerScript) { }, getPurchasedServers : function(hostname=true) { if (workerScript.checkingRam) { - return updateStaticRam("getPurchasedServers", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPurchaseServerRamCost); + return updateStaticRam("getPurchasedServers", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPurchaseServerRamCost); } - updateDynamicRam("getPurchasedServers", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptPurchaseServerRamCost); + updateDynamicRam("getPurchasedServers", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptPurchaseServerRamCost); var res = []; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].purchasedServers.forEach(function(ip) { + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].purchasedServers.forEach(function(ip) { if (hostname) { - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find server in getPurchasedServers(). This is a bug please report to game dev"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find server in getPurchasedServers(). This is a bug please report to game dev"); } res.push(server.hostname); } else { @@ -22235,32 +19719,32 @@ function NetscriptFunctions(workerScript) { }, write : function(port, data="", mode="a") { if (workerScript.checkingRam) { - return updateStaticRam("write", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + return updateStaticRam("write", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); } - updateDynamicRam("write", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + updateDynamicRam("write", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); if (!isNaN(port)) { //Write to port //Port 1-10 port = Math.round(port); - if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Trying to write to invalid port: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts + " are valid."); + if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Trying to write to invalid port: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts + " are valid."); } - var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* NetscriptPorts */ "a"][port-1]; - if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_34__[/* NetscriptPort */ "a"])) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find port: " + port + ". This is a bug contact the game developer"); + var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* NetscriptPorts */ "a"][port-1]; + if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_37__[/* NetscriptPort */ "a"])) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find port: " + port + ". This is a bug contact the game developer"); } return port.write(data); - } else if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42__["isString"])(port)) { //Write to script or text file + } else if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45__["isString"])(port)) { //Write to script or text file var fn = port; var server = workerScript.getServer(); if (server == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Error getting Server for this script in write(). This is a bug please contact game dev"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Error getting Server for this script in write(). This is a bug please contact game dev"); } - if (Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* isScriptFilename */ "e"])(fn)) { + if (Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* isScriptFilename */ "e"])(fn)) { //Write to script let script = workerScript.getScriptOnServer(fn); if (script == null) { //Create a new script - script = new _Script__WEBPACK_IMPORTED_MODULE_22__[/* Script */ "c"](fn, data, server.ip); + script = new _Script__WEBPACK_IMPORTED_MODULE_25__[/* Script */ "c"](fn, data, server.ip); server.scripts.push(script); return true; } @@ -22268,9 +19752,9 @@ function NetscriptFunctions(workerScript) { script.updateRamUsage(); } else { //Write to text file - let txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_29__["getTextFile"])(fn, server); + let txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_32__["getTextFile"])(fn, server); if (txtFile == null) { - txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_29__["createTextFile"])(fn, data, server); + txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_32__["createTextFile"])(fn, data, server); return true; } if (mode === "w") { @@ -22281,51 +19765,51 @@ function NetscriptFunctions(workerScript) { } return true; } else { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument passed in for write: " + port); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument passed in for write: " + port); } }, tryWrite : function(port, data="") { if (workerScript.checkingRam) { - return updateStaticRam("tryWrite", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + return updateStaticRam("tryWrite", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); } - updateDynamicRam("tryWrite", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + updateDynamicRam("tryWrite", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); if (!isNaN(port)) { port = Math.round(port); - if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: tryWrite() called on invalid port: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts + " are valid."); + if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: tryWrite() called on invalid port: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts + " are valid."); } - var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* NetscriptPorts */ "a"][port-1]; - if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_34__[/* NetscriptPort */ "a"])) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find port: " + port + ". This is a bug contact the game developer"); + var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* NetscriptPorts */ "a"][port-1]; + if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_37__[/* NetscriptPort */ "a"])) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Could not find port: " + port + ". This is a bug contact the game developer"); } return port.tryWrite(data); } else { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument passed in for tryWrite: " + port); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument passed in for tryWrite: " + port); } }, read : function(port) { if (workerScript.checkingRam) { - return updateStaticRam("read", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + return updateStaticRam("read", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); } - updateDynamicRam("read", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + updateDynamicRam("read", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); if (!isNaN(port)) { //Read from port //Port 1-10 port = Math.round(port); - if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Trying to read from invalid port: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts + " are valid."); + if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Trying to read from invalid port: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts + " are valid."); } - var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* NetscriptPorts */ "a"][port-1]; - if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_34__[/* NetscriptPort */ "a"])) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find port: " + port + ". This is a bug contact the game developer"); + var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* NetscriptPorts */ "a"][port-1]; + if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_37__[/* NetscriptPort */ "a"])) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find port: " + port + ". This is a bug contact the game developer"); } return port.read(); - } else if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42__["isString"])(port)) { //Read from script or text file + } else if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45__["isString"])(port)) { //Read from script or text file let fn = port; - let server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(workerScript.serverIp); + let server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(workerScript.serverIp); if (server == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Error getting Server for this script in read(). This is a bug please contact game dev"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Error getting Server for this script in read(). This is a bug please contact game dev"); } - if (Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* isScriptFilename */ "e"])(fn)) { + if (Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* isScriptFilename */ "e"])(fn)) { //Read from script let script = workerScript.getScriptOnServer(fn); if (script == null) { @@ -22334,7 +19818,7 @@ function NetscriptFunctions(workerScript) { return script.code; } else { //Read from text file - let txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_29__["getTextFile"])(fn, server); + let txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_32__["getTextFile"])(fn, server); if (txtFile !== null) { return txtFile.text; } else { @@ -22342,87 +19826,87 @@ function NetscriptFunctions(workerScript) { } } } else { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument passed in for read(): " + port); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument passed in for read(): " + port); } }, peek : function(port) { if (workerScript.checkingRam) { - return updateStaticRam("peek", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + return updateStaticRam("peek", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); } - updateDynamicRam("peek", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + updateDynamicRam("peek", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); if (isNaN(port)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: peek() called with invalid argument. Must be a port number between 1 and " + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: peek() called with invalid argument. Must be a port number between 1 and " + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts); } port = Math.round(port); - if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: peek() called with invalid argument. Must be a port number between 1 and " + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts); + if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: peek() called with invalid argument. Must be a port number between 1 and " + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts); } - var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* NetscriptPorts */ "a"][port-1]; - if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_34__[/* NetscriptPort */ "a"])) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find port: " + port + ". This is a bug contact the game developer"); + var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* NetscriptPorts */ "a"][port-1]; + if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_37__[/* NetscriptPort */ "a"])) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find port: " + port + ". This is a bug contact the game developer"); } return port.peek(); }, clear : function(port) { if (workerScript.checkingRam) { - return updateStaticRam("clear", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + return updateStaticRam("clear", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); } - updateDynamicRam("clear", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + updateDynamicRam("clear", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); if (!isNaN(port)) { //Clear port port = Math.round(port); - if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Trying to clear invalid port: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts + " are valid"); + if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Trying to clear invalid port: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts + " are valid"); } - var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* NetscriptPorts */ "a"][port-1]; - if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_34__[/* NetscriptPort */ "a"])) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find port: " + port + ". This is a bug contact the game developer"); + var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* NetscriptPorts */ "a"][port-1]; + if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_37__[/* NetscriptPort */ "a"])) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find port: " + port + ". This is a bug contact the game developer"); } return port.clear(); - } else if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42__["isString"])(port)) { //Clear text file + } else if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45__["isString"])(port)) { //Clear text file var fn = port; - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(workerScript.serverIp); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(workerScript.serverIp); if (server == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Error getting Server for this script in clear(). This is a bug please contact game dev"); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Error getting Server for this script in clear(). This is a bug please contact game dev"); } - var txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_29__["getTextFile"])(fn, server); + var txtFile = Object(_TextFile__WEBPACK_IMPORTED_MODULE_32__["getTextFile"])(fn, server); if (txtFile != null) { txtFile.write(""); } } else { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument passed in for clear(): " + port); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid argument passed in for clear(): " + port); } return 0; }, getPortHandle : function(port) { if (workerScript.checkingRam) { - return updateStaticRam("getPortHandle", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost * 10); + return updateStaticRam("getPortHandle", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost * 10); } - updateDynamicRam("getPortHandle", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost * 10); + updateDynamicRam("getPortHandle", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost * 10); if (isNaN(port)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid argument passed into getPortHandle(). Must be an integer between 1 and " + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Invalid argument passed into getPortHandle(). Must be an integer between 1 and " + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts); } port = Math.round(port); - if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: getPortHandle() called with invalid port number: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].NumNetscriptPorts + " are valid"); + if (port < 1 || port > _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: getPortHandle() called with invalid port number: " + port + ". Only ports 1-" + _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].NumNetscriptPorts + " are valid"); } - var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* NetscriptPorts */ "a"][port-1]; - if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_34__[/* NetscriptPort */ "a"])) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find port: " + port + ". This is a bug contact the game developer"); + var port = _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* NetscriptPorts */ "a"][port-1]; + if (port == null || !(port instanceof _NetscriptPort__WEBPACK_IMPORTED_MODULE_37__[/* NetscriptPort */ "a"])) { + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: Could not find port: " + port + ". This is a bug contact the game developer"); } return port; }, rm : function(fn, ip) { if (workerScript.checkingRam) { - return updateStaticRam("rm", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + return updateStaticRam("rm", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); } - updateDynamicRam("rm", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptReadWriteRamCost); + updateDynamicRam("rm", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptReadWriteRamCost); if (ip == null || ip === "") { ip = workerScript.serverIp; } - var s = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var s = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (s == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `Invalid server specified for rm(): ${ip}`); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, `Invalid server specified for rm(): ${ip}`); } if (fn.includes(".exe")) { @@ -22432,7 +19916,7 @@ function NetscriptFunctions(workerScript) { return true; } } - } else if (Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* isScriptFilename */ "e"])(fn)) { + } else if (Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* isScriptFilename */ "e"])(fn)) { for (var i = 0; i < s.scripts.length; ++i) { if (s.scripts[i].filename === fn) { //Check that the script isnt currently running @@ -22449,7 +19933,7 @@ function NetscriptFunctions(workerScript) { } else if (fn.endsWith(".lit")) { for (var i = 0; i < s.messages.length; ++i) { var f = s.messages[i]; - if (!(f instanceof _Message__WEBPACK_IMPORTED_MODULE_18__[/* Message */ "a"]) && Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42__["isString"])(f) && f === fn) { + if (!(f instanceof _Message__WEBPACK_IMPORTED_MODULE_21__[/* Message */ "a"]) && Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45__["isString"])(f) && f === fn) { s.messages.splice(i, 1); return true; } @@ -22473,13 +19957,13 @@ function NetscriptFunctions(workerScript) { }, scriptRunning : function(scriptname, ip) { if (workerScript.checkingRam) { - return updateStaticRam("scriptRunning", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptArbScriptRamCost); + return updateStaticRam("scriptRunning", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptArbScriptRamCost); } - updateDynamicRam("scriptRunning", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptArbScriptRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("scriptRunning", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptArbScriptRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("scriptRunning() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "scriptRunning() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "scriptRunning() failed. Invalid IP or hostname passed in: " + ip); } for (var i = 0; i < server.runningScripts.length; ++i) { if (server.runningScripts[i].filename == scriptname) { @@ -22490,18 +19974,18 @@ function NetscriptFunctions(workerScript) { }, scriptKill : function(scriptname, ip) { if (workerScript.checkingRam) { - return updateStaticRam("scriptKill", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptArbScriptRamCost); + return updateStaticRam("scriptKill", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptArbScriptRamCost); } - updateDynamicRam("scriptKill", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptArbScriptRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("scriptKill", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptArbScriptRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("scriptKill() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "scriptKill() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "scriptKill() failed. Invalid IP or hostname passed in: " + ip); } var suc = false; for (var i = 0; i < server.runningScripts.length; ++i) { if (server.runningScripts[i].filename == scriptname) { - Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* killWorkerScript */ "d"])(server.runningScripts[i], server.ip); + Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* killWorkerScript */ "d"])(server.runningScripts[i], server.ip); suc = true; } } @@ -22513,13 +19997,13 @@ function NetscriptFunctions(workerScript) { }, getScriptRam : function (scriptname, ip=workerScript.serverIp) { if (workerScript.checkingRam) { - return updateStaticRam("getScriptRam", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetScriptRamCost); + return updateStaticRam("getScriptRam", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetScriptRamCost); } - updateDynamicRam("getScriptRam", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetScriptRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getScriptRam", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetScriptRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getScriptRam() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getScriptRam() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getScriptRam() failed. Invalid IP or hostname passed in: " + ip); } for (var i = 0; i < server.scripts.length; ++i) { if (server.scripts[i].filename == scriptname) { @@ -22530,65 +20014,65 @@ function NetscriptFunctions(workerScript) { }, getHackTime : function(ip, hack, int) { if (workerScript.checkingRam) { - return updateStaticRam("getHackTime", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackTimeRamCost); + return updateStaticRam("getHackTime", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackTimeRamCost); } - updateDynamicRam("getHackTime", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackTimeRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getHackTime", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackTimeRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getHackTime() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getHackTime() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getHackTime() failed. Invalid IP or hostname passed in: " + ip); } - return Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateHackingTime */ "d"])(server, hack, int); //Returns seconds + return Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateHackingTime */ "d"])(server, hack, int); //Returns seconds }, getGrowTime : function(ip, hack, int) { if (workerScript.checkingRam) { - return updateStaticRam("getGrowTime", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackTimeRamCost); + return updateStaticRam("getGrowTime", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackTimeRamCost); } - updateDynamicRam("getGrowTime", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackTimeRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getGrowTime", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackTimeRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getGrowTime() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getGrowTime() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getGrowTime() failed. Invalid IP or hostname passed in: " + ip); } - return Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateGrowTime */ "a"])(server, hack, int); //Returns seconds + return Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateGrowTime */ "a"])(server, hack, int); //Returns seconds }, getWeakenTime : function(ip, hack, int) { if (workerScript.checkingRam) { - return updateStaticRam("getWeakenTime", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackTimeRamCost); + return updateStaticRam("getWeakenTime", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackTimeRamCost); } - updateDynamicRam("getWeakenTime", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackTimeRamCost); - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + updateDynamicRam("getWeakenTime", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackTimeRamCost); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getWeakenTime() failed. Invalid IP or hostname passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getWeakenTime() failed. Invalid IP or hostname passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getWeakenTime() failed. Invalid IP or hostname passed in: " + ip); } - return Object(_Hacking__WEBPACK_IMPORTED_MODULE_11__[/* calculateWeakenTime */ "f"])(server, hack, int); //Returns seconds + return Object(_Hacking__WEBPACK_IMPORTED_MODULE_14__[/* calculateWeakenTime */ "f"])(server, hack, int); //Returns seconds }, getScriptIncome : function(scriptname, ip) { if (workerScript.checkingRam) { - return updateStaticRam("getScriptIncome", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetScriptRamCost); + return updateStaticRam("getScriptIncome", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetScriptRamCost); } - updateDynamicRam("getScriptIncome", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetScriptRamCost); + updateDynamicRam("getScriptIncome", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetScriptRamCost); if (arguments.length === 0) { //Get total script income var res = []; res.push(Object(_ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_0__[/* updateActiveScriptsItems */ "c"])()); - res.push(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].scriptProdSinceLastAug / (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].playtimeSinceLastAug/1000)); + res.push(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].scriptProdSinceLastAug / (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].playtimeSinceLastAug/1000)); return res; } else { //Get income for a particular script - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getScriptIncome() failed. Invalid IP or hostnamed passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getScriptIncome() failed. Invalid IP or hostnamed passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getScriptIncome() failed. Invalid IP or hostnamed passed in: " + ip); } var argsForScript = []; for (var i = 2; i < arguments.length; ++i) { argsForScript.push(arguments[i]); } - var runningScriptObj = Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* findRunningScript */ "d"])(scriptname, argsForScript, server); + var runningScriptObj = Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* findRunningScript */ "d"])(scriptname, argsForScript, server); if (runningScriptObj == null) { - workerScript.scriptRef.log("getScriptIncome() failed. No such script "+ scriptname + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_39__["arrayToString"])(argsForScript)); + workerScript.scriptRef.log("getScriptIncome() failed. No such script "+ scriptname + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_42__["arrayToString"])(argsForScript)); return -1; } return runningScriptObj.onlineMoneyMade / runningScriptObj.onlineRunningTime; @@ -22596,29 +20080,29 @@ function NetscriptFunctions(workerScript) { }, getScriptExpGain : function(scriptname, ip) { if (workerScript.checkingRam) { - return updateStaticRam("getScriptExpGain", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetScriptRamCost); + return updateStaticRam("getScriptExpGain", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetScriptRamCost); } - updateDynamicRam("getScriptExpGain", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetScriptRamCost); + updateDynamicRam("getScriptExpGain", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetScriptRamCost); if (arguments.length === 0) { var total = 0; - for (var i = 0; i < _NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* workerScripts */ "h"].length; ++i) { - total += (_NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* workerScripts */ "h"][i].scriptRef.onlineExpGained / _NetscriptWorker__WEBPACK_IMPORTED_MODULE_32__[/* workerScripts */ "h"][i].scriptRef.onlineRunningTime); + for (var i = 0; i < _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* workerScripts */ "h"].length; ++i) { + total += (_NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* workerScripts */ "h"][i].scriptRef.onlineExpGained / _NetscriptWorker__WEBPACK_IMPORTED_MODULE_35__[/* workerScripts */ "h"][i].scriptRef.onlineRunningTime); } return total; } else { //Get income for a particular script - var server = Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* getServer */ "e"])(ip); + var server = Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* getServer */ "e"])(ip); if (server == null) { workerScript.scriptRef.log("getScriptExpGain() failed. Invalid IP or hostnamed passed in: " + ip); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getScriptExpGain() failed. Invalid IP or hostnamed passed in: " + ip); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getScriptExpGain() failed. Invalid IP or hostnamed passed in: " + ip); } var argsForScript = []; for (var i = 2; i < arguments.length; ++i) { argsForScript.push(arguments[i]); } - var runningScriptObj = Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* findRunningScript */ "d"])(scriptname, argsForScript, server); + var runningScriptObj = Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* findRunningScript */ "d"])(scriptname, argsForScript, server); if (runningScriptObj == null) { - workerScript.scriptRef.log("getScriptExpGain() failed. No such script "+ scriptname + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_39__["arrayToString"])(argsForScript)); + workerScript.scriptRef.log("getScriptExpGain() failed. No such script "+ scriptname + " on " + server.hostname + " with args: " + Object(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_42__["arrayToString"])(argsForScript)); return -1; } return runningScriptObj.onlineExpGained / runningScriptObj.onlineRunningTime; @@ -22626,36 +20110,36 @@ function NetscriptFunctions(workerScript) { }, getTimeSinceLastAug : function() { if (workerScript.checkingRam) { - return updateStaticRam("getTimeSinceLastAug", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackTimeRamCost); + return updateStaticRam("getTimeSinceLastAug", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackTimeRamCost); } - updateDynamicRam("getTimeSinceLastAug", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetHackTimeRamCost); - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].playtimeSinceLastAug; + updateDynamicRam("getTimeSinceLastAug", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetHackTimeRamCost); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].playtimeSinceLastAug; }, prompt : function(txt) { if (workerScript.checkingRam) {return 0;} - if (_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_43__["yesNoBoxOpen"]) { + if (_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_46__["yesNoBoxOpen"]) { workerScript.scriptRef.log("ERROR: confirm() failed because a pop-up dialog box is already open"); return false; } - if (!Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42__["isString"])(txt)) {txt = String(txt);} - var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_43__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_43__["yesNoBoxGetNoButton"])(); + if (!Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45__["isString"])(txt)) {txt = String(txt);} + var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_46__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_46__["yesNoBoxGetNoButton"])(); yesBtn.innerHTML = "Yes"; noBtn.innerHTML = "No"; return new Promise(function(resolve, reject) { yesBtn.addEventListener("click", ()=>{ - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_43__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_46__["yesNoBoxClose"])(); resolve(true); }); noBtn.addEventListener("click", ()=>{ - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_43__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_46__["yesNoBoxClose"])(); resolve(false); }); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_43__["yesNoBoxCreate"])(txt); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_46__["yesNoBoxCreate"])(txt); }); }, wget : async function(url, target, ip=workerScript.serverIp) { if (workerScript.checkingRam) { return 0; } - if (!Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* isScriptFilename */ "e"])(target) && !target.endsWith(".txt")) { + if (!Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* isScriptFilename */ "e"])(target) && !target.endsWith(".txt")) { workerSript.log(`ERROR: wget() failed because of an invalid target file: ${target}. Target file must be a script or text file`); return Promise.resolve(false); } @@ -22663,7 +20147,7 @@ function NetscriptFunctions(workerScript) { return new Promise(function(resolve, reject) { $.get(url, function(data) { let res; - if (Object(_Script__WEBPACK_IMPORTED_MODULE_22__[/* isScriptFilename */ "e"])(target)) { + if (Object(_Script__WEBPACK_IMPORTED_MODULE_25__[/* isScriptFilename */ "e"])(target)) { res = s.writeToScriptFile(target, data); } else { res = s.writeToTextFile(target, data); @@ -22686,32 +20170,32 @@ function NetscriptFunctions(workerScript) { }, getFavorToDonate: function() { if (workerScript.checkingRam) { - return updateStaticRam("getFavorToDonate", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetFavorToDonate); + return updateStaticRam("getFavorToDonate", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetFavorToDonate); } - updateDynamicRam("getFavorToDonate", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGetFavorToDonate); - return Math.floor(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].BaseFavorToDonate * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"].RepToDonateToFaction); + updateDynamicRam("getFavorToDonate", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGetFavorToDonate); + return Math.floor(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].BaseFavorToDonate * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_5__["BitNodeMultipliers"].RepToDonateToFaction); }, /* Singularity Functions */ universityCourse : function(universityName, className) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn1RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn1RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("universityCourse", ramCost); } updateDynamicRam("universityCourse", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 1)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run universityCourse(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run universityCourse(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); return false; } } - if (_Missions__WEBPACK_IMPORTED_MODULE_19__[/* inMission */ "c"]) { + if (_Missions__WEBPACK_IMPORTED_MODULE_22__[/* inMission */ "c"]) { workerScript.scriptRef.log("ERROR: universityCourse() failed because you are in the middle of a mission."); return; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].isWorking) { - var txt = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].singularityStopWork(); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].isWorking) { + var txt = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].singularityStopWork(); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.universityCourse == null) { workerScript.scriptRef.log(txt); } @@ -22719,30 +20203,30 @@ function NetscriptFunctions(workerScript) { var costMult, expMult; switch(universityName.toLowerCase()) { - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].AevumSummitUniversity.toLowerCase(): - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Aevum) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].AevumSummitUniversity.toLowerCase(): + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Aevum) { workerScript.scriptRef.log("ERROR: You cannot study at Summit University because you are not in Aevum. universityCourse() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].AevumSummitUniversity; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].AevumSummitUniversity; costMult = 4; expMult = 3; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12RothmanUniversity.toLowerCase(): - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12RothmanUniversity.toLowerCase(): + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12) { workerScript.scriptRef.log("ERROR: You cannot study at Rothman University because you are not in Sector-12. universityCourse() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12RothmanUniversity; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12RothmanUniversity; costMult = 3; expMult = 2; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].VolhavenZBInstituteOfTechnology.toLowerCase(): - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Volhaven) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].VolhavenZBInstituteOfTechnology.toLowerCase(): + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Volhaven) { workerScript.scriptRef.log("ERROR: You cannot study at ZB Institute of Technology because you are not in Volhaven. universityCourse() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].VolhavenZBInstituteOfTechnology; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].VolhavenZBInstituteOfTechnology; costMult = 5; expMult = 4; break; @@ -22754,28 +20238,28 @@ function NetscriptFunctions(workerScript) { var task; switch(className.toLowerCase()) { case "Study Computer Science".toLowerCase(): - task = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassStudyComputerScience; + task = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassStudyComputerScience; break; case "Data Structures".toLowerCase(): - task = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassDataStructures; + task = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassDataStructures; break; case "Networks".toLowerCase(): - task = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassNetworks; + task = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassNetworks; break; case "Algorithms".toLowerCase(): - task = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassAlgorithms; + task = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassAlgorithms; break; case "Management".toLowerCase(): - task = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassManagement; + task = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassManagement; break; case "Leadership".toLowerCase(): - task = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassLeadership; + task = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassLeadership; break; default: workerScript.scriptRef.log("Invalid class name: " + className + ". universityCourse() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startClass(costMult, expMult, task); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startClass(costMult, expMult, task); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.universityCourse == null) { workerScript.scriptRef.log("Started " + task + " at " + universityName); } @@ -22783,72 +20267,72 @@ function NetscriptFunctions(workerScript) { }, gymWorkout : function(gymName, stat) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn1RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn1RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("gymWorkout", ramCost); } updateDynamicRam("gymWorkout", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 1)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run gymWorkout(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run gymWorkout(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); return false; } } - if (_Missions__WEBPACK_IMPORTED_MODULE_19__[/* inMission */ "c"]) { + if (_Missions__WEBPACK_IMPORTED_MODULE_22__[/* inMission */ "c"]) { workerScript.scriptRef.log("ERROR: gymWorkout() failed because you are in the middle of a mission."); return; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].isWorking) { - var txt = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].singularityStopWork(); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].isWorking) { + var txt = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].singularityStopWork(); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.gymWorkout == null) { workerScript.scriptRef.log(txt); } } var costMult, expMult; switch(gymName.toLowerCase()) { - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].AevumCrushFitnessGym.toLowerCase(): - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Aevum) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].AevumCrushFitnessGym.toLowerCase(): + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Aevum) { workerScript.scriptRef.log("ERROR: You cannot workout at Crush Fitness because you are not in Aevum. gymWorkout() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].AevumCrushFitnessGym; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].AevumCrushFitnessGym; costMult = 3; expMult = 2; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].AevumSnapFitnessGym.toLowerCase(): - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Aevum) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].AevumSnapFitnessGym.toLowerCase(): + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Aevum) { workerScript.scriptRef.log("ERROR: You cannot workout at Snap Fitness because you are not in Aevum. gymWorkout() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].AevumSnapFitnessGym; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].AevumSnapFitnessGym; costMult = 10; expMult = 5; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12IronGym.toLowerCase(): - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12IronGym.toLowerCase(): + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12) { workerScript.scriptRef.log("ERROR: You cannot workout at Iron Gym because you are not in Sector-12. gymWorkout() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12IronGym; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12IronGym; costMult = 1; expMult = 1; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12PowerhouseGym.toLowerCase(): - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12PowerhouseGym.toLowerCase(): + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12) { workerScript.scriptRef.log("ERROR: You cannot workout at Powerhouse Gym because you are not in Sector-12. gymWorkout() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12PowerhouseGym; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12PowerhouseGym; costMult = 20; expMult = 10; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].VolhavenMilleniumFitnessGym.toLowerCase(): - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Volhaven) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].VolhavenMilleniumFitnessGym.toLowerCase(): + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city != _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Volhaven) { workerScript.scriptRef.log("ERROR: You cannot workout at Millenium Fitness Gym because you are not in Volhaven. gymWorkout() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].VolhavenMilleniumFitnessGym; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].VolhavenMilleniumFitnessGym; costMult = 7; expMult = 4; break; @@ -22860,19 +20344,19 @@ function NetscriptFunctions(workerScript) { switch(stat.toLowerCase()) { case "strength".toLowerCase(): case "str".toLowerCase(): - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymStrength); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassGymStrength); break; case "defense".toLowerCase(): case "def".toLowerCase(): - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymDefense); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassGymDefense); break; case "dexterity".toLowerCase(): case "dex".toLowerCase(): - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymDexterity); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassGymDexterity); break; case "agility".toLowerCase(): case "agi".toLowerCase(): - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ClassGymAgility); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ClassGymAgility); break; default: workerScript.scriptRef.log("Invalid stat: " + stat + ". gymWorkout() failed"); @@ -22885,32 +20369,32 @@ function NetscriptFunctions(workerScript) { }, travelToCity(cityname) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn1RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn1RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("travelToCity", ramCost); } updateDynamicRam("travelToCity", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 1)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run travelToCity(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run travelToCity(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); return false; } } switch(cityname) { - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Aevum: - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Chongqing: - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12: - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].NewTokyo: - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Ishima: - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Volhaven: - if(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.lt(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].TravelCost)) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Aevum: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Chongqing: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].NewTokyo: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Ishima: + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Volhaven: + if(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.lt(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].TravelCost)) { workerScript.scriptRef.log("ERROR: not enough money to travel with travelToCity()."); - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: not enough money to travel with travelToCity()."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "ERROR: not enough money to travel with travelToCity()."); } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].loseMoney(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].TravelCost); - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city = cityname; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].loseMoney(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].TravelCost); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city = cityname; if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.travelToCity == null) { workerScript.scriptRef.log("Traveled to " + cityname); } @@ -22922,64 +20406,64 @@ function NetscriptFunctions(workerScript) { }, purchaseTor() { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn1RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn1RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("purchaseTor", ramCost); } updateDynamicRam("purchaseTor", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 1)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run purchaseTor(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run purchaseTor(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); return false; } } - if (_SpecialServerIps__WEBPACK_IMPORTED_MODULE_25__[/* SpecialServerIps */ "a"]["Darkweb Server"] != null) { + if (_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerIps */ "a"]["Darkweb Server"] != null) { workerScript.scriptRef.log("You already have a TOR router! purchaseTor() failed"); return false; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.lt(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].TorRouterCost)) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.lt(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].TorRouterCost)) { workerScript.scriptRef.log("ERROR: You cannot afford to purchase a Tor router. purchaseTor() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].loseMoney(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].TorRouterCost); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].loseMoney(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].TorRouterCost); - var darkweb = new _Server__WEBPACK_IMPORTED_MODULE_23__[/* Server */ "d"]({ - ip:Object(_utils_IPAddress__WEBPACK_IMPORTED_MODULE_40__[/* createRandomIp */ "a"])(), hostname:"darkweb", organizationName:"", + var darkweb = new _Server__WEBPACK_IMPORTED_MODULE_26__[/* Server */ "d"]({ + ip:Object(_utils_IPAddress__WEBPACK_IMPORTED_MODULE_43__[/* createRandomIp */ "a"])(), hostname:"darkweb", organizationName:"", isConnectedTo:false, adminRights:false, purchasedByPlayer:false, maxRam:1 }); - Object(_Server__WEBPACK_IMPORTED_MODULE_23__[/* AddToAllServers */ "a"])(darkweb); - _SpecialServerIps__WEBPACK_IMPORTED_MODULE_25__[/* SpecialServerIps */ "a"].addIp("Darkweb Server", darkweb.ip); + Object(_Server__WEBPACK_IMPORTED_MODULE_26__[/* AddToAllServers */ "a"])(darkweb); + _SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerIps */ "a"].addIp("Darkweb Server", darkweb.ip); const purchaseTor = document.getElementById("location-purchase-tor"); purchaseTor.setAttribute("class", "a-link-button-bought"); purchaseTor.innerHTML = "TOR Router - Purchased"; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].getHomeComputer().serversOnNetwork.push(darkweb.ip); - darkweb.serversOnNetwork.push(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].getHomeComputer().ip); - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].IntelligenceSingFnBaseExpGain); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].getHomeComputer().serversOnNetwork.push(darkweb.ip); + darkweb.serversOnNetwork.push(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].getHomeComputer().ip); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].IntelligenceSingFnBaseExpGain); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.purchaseTor == null) { workerScript.scriptRef.log("You have purchased a Tor router!"); } return true; }, purchaseProgram(programName) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn1RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn1RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("purchaseProgram", ramCost); } updateDynamicRam("purchaseProgram", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 1)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run purchaseProgram(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run purchaseProgram(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); return false; } } - if (_SpecialServerIps__WEBPACK_IMPORTED_MODULE_25__[/* SpecialServerIps */ "a"]["Darkweb Server"] == null) { + if (_SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerIps */ "a"]["Darkweb Server"] == null) { workerScript.scriptRef.log("ERROR: You do not have the TOR router. purchaseProgram() failed."); return false; } @@ -22987,8 +20471,8 @@ function NetscriptFunctions(workerScript) { programName = programName.toLowerCase(); let item = null; - for(const key in _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_10__["DarkWebItems"]) { - const i = _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_10__["DarkWebItems"][key]; + for(const key in _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_13__["DarkWebItems"]) { + const i = _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_13__["DarkWebItems"][key]; if(i.program.toLowerCase() == programName) { item = i; } @@ -22999,131 +20483,127 @@ function NetscriptFunctions(workerScript) { return false; } - if(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.lt(item.price)) { + if(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.lt(item.price)) { workerScript.scriptRef.log("Not enough money to purchase " + item.program); return false; } - if(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasProgram(item.program)) { + if(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasProgram(item.program)) { workerScript.scriptRef.log('You already have the '+item.program+' program'); return true; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].loseMoney(item.price); - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].getHomeComputer().programs.push(item.program); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].loseMoney(item.price); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].getHomeComputer().programs.push(item.program); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.purchaseProgram == null) { workerScript.scriptRef.log("You have purchased the "+item.program+" program. The new program can be found on your home computer."); } return true; }, getStats : function() { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn1RamCost / 4; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn1RamCost / 4; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getStats", ramCost); } updateDynamicRam("getStats", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 1)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getStats(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getStats(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); return {}; } } return { - hacking: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_skill, - strength: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].strength, - defense: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].defense, - dexterity: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].dexterity, - agility: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].agility, - charisma: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].charisma, - intelligence: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].intelligence + hacking: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_skill, + strength: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].strength, + defense: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].defense, + dexterity: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].dexterity, + agility: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].agility, + charisma: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].charisma, + intelligence: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].intelligence } }, getCharacterInformation : function() { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn1RamCost / 4; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn1RamCost / 4; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getCharacterInformation", ramCost); } updateDynamicRam("getCharacterInformation", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 1)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCharacterInformation(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCharacterInformation(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); return {}; } } - var companyPositionTitle = ""; - if (_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_8__["CompanyPositions"][_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].companyPosition] instanceof _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_7__["CompanyPosition"]) { - companyPositionTitle = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].companyPosition; - } return { - bitnode: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN, - city: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city, - company: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].companyName, - factions: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].factions.slice(), - jobTitle: companyPositionTitle, + bitnode: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN, + city: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city, + factions: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].factions.slice(), + jobs: Object.keys(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].jobs), + jobTitles: Object.values(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].jobs), mult: { - agility: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].agility_mult, - agilityExp: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].agility_exp_mult, - companyRep: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].company_rep_mult, - crimeMoney: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].crime_money_mult, - crimeSuccess: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].crime_success_mult, - defense: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].defense_mult, - defenseExp: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].defense_exp_mult, - dexterity: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].dexterity_mult, - dexterityExp: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].dexterity_exp_mult, - factionRep: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].faction_rep_mult, - hacking: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_mult, - hackingExp: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hacking_exp_mult, - strength: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].strength_mult, - strengthExp: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].strength_exp_mult, - workMoney: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].work_money_mult, + agility: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].agility_mult, + agilityExp: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].agility_exp_mult, + companyRep: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].company_rep_mult, + crimeMoney: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].crime_money_mult, + crimeSuccess: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].crime_success_mult, + defense: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].defense_mult, + defenseExp: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].defense_exp_mult, + dexterity: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].dexterity_mult, + dexterityExp: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].dexterity_exp_mult, + factionRep: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].faction_rep_mult, + hacking: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_mult, + hackingExp: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hacking_exp_mult, + strength: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].strength_mult, + strengthExp: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].strength_exp_mult, + workMoney: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].work_money_mult, }, - timeWorked: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].timeWorked, - tor: _SpecialServerIps__WEBPACK_IMPORTED_MODULE_25__[/* SpecialServerIps */ "a"].hasOwnProperty("Darkweb Server"), - workHackExpGain: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].workHackExpGained, - workStrExpGain: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].workStrExpGained, - workDefExpGain: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].workDefExpGained, - workDexExpGain: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].workDexExpGained, - workAgiExpGain: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].workAgiExpGained, - workChaExpGain: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].workChaExpGained, - workRepGain: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].workRepGained, - workMoneyGain: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].workMoneyGained, + timeWorked: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].timeWorked, + tor: _SpecialServerIps__WEBPACK_IMPORTED_MODULE_28__[/* SpecialServerIps */ "a"].hasOwnProperty("Darkweb Server"), + workHackExpGain: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].workHackExpGained, + workStrExpGain: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].workStrExpGained, + workDefExpGain: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].workDefExpGained, + workDexExpGain: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].workDexExpGained, + workAgiExpGain: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].workAgiExpGained, + workChaExpGain: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].workChaExpGained, + workRepGain: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].workRepGained, + workMoneyGain: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].workMoneyGained, }; }, isBusy : function() { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn1RamCost / 4; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn1RamCost / 4; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("isBusy", ramCost); } updateDynamicRam("isBusy", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 1)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run isBusy(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run isBusy(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); return; } } - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].isWorking; + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].isWorking; }, stopAction : function() { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn1RamCost / 2; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn1RamCost / 2; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("stopAction", ramCost); } updateDynamicRam("stopAction", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 1)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run stopAction(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run stopAction(). It is a Singularity Function and requires SourceFile-4 (level 1) to run."); return false; } } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].isWorking) { - var txt = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].singularityStopWork(); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].isWorking) { + var txt = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].singularityStopWork(); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.stopAction == null) { workerScript.scriptRef.log(txt); } @@ -23132,168 +20612,192 @@ function NetscriptFunctions(workerScript) { return false; }, upgradeHomeRam : function() { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("upgradeHomeRam", ramCost); } updateDynamicRam("upgradeHomeRam", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run upgradeHomeRam(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run upgradeHomeRam(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return false; } } - const cost = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].getUpgradeHomeRamCost(); + // Check if we're at max RAM + const homeComputer = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].getHomeComputer(); + if (homeComputer.maxRam >= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].HomeComputerMaxRam) { + workerScript.log(`ERROR: upgradeHomeRam() failed because your home computer is at max RAM`); + return false; + } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.lt(cost)) { + const cost = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].getUpgradeHomeRamCost(); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.lt(cost)) { workerScript.scriptRef.log("ERROR: upgradeHomeRam() failed because you don't have enough money"); return false; } - var homeComputer = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].getHomeComputer(); homeComputer.maxRam *= 2; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].loseMoney(cost); - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].loseMoney(cost); - - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].IntelligenceSingFnBaseExpGain); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].IntelligenceSingFnBaseExpGain); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.upgradeHomeRam == null) { workerScript.scriptRef.log("Purchased additional RAM for home computer! It now has " + homeComputer.maxRam + "GB of RAM."); } return true; }, getUpgradeHomeRamCost : function() { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost / 2; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost / 2; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getUpgradeHomeRamCost", ramCost); } updateDynamicRam("getUpgradeHomeRamCost", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getUpgradeHomeRamCost(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getUpgradeHomeRamCost(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return false; } } - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].getUpgradeHomeRamCost(); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].getUpgradeHomeRamCost(); }, - workForCompany : function() { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + workForCompany : function(companyName) { + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("workForCompany", ramCost); } updateDynamicRam("workForCompany", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run workForCompany(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run workForCompany(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return false; } } - if (_Missions__WEBPACK_IMPORTED_MODULE_19__[/* inMission */ "c"]) { - workerScript.scriptRef.log("ERROR: workForCompany() failed because you are in the middle of a mission."); - return; + // Sanitize input + if (companyName == null) { + companyName = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].companyName; } - const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_8__["CompanyPositions"][_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].companyPosition]; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].companyPosition === "" || !(companyPosition instanceof _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_7__["CompanyPosition"])) { + // Make sure its a valid company + if (companyName == null || companyName === "" || !(_Company_Companies__WEBPACK_IMPORTED_MODULE_9__["Companies"][companyName] instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_8__["Company"])) { + workerScript.scriptRef.log(`ERROR: workForCompany() failed because of an invalid company specified: ${companyName}`); + return false; + } + + // Make sure player is actually employed at the comapny + if (!Object.keys(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].jobs).includes(companyName)) { + workerScript.scriptRef.log(`ERROR: workForCompany() failed because you do not have a job at ${companyName}`); + return false; + } + + // Cant work while in a mission + if (_Missions__WEBPACK_IMPORTED_MODULE_22__[/* inMission */ "c"]) { + workerScript.scriptRef.log("ERROR: workForCompany() failed because you are in the middle of a mission."); + return false; + } + + // Check to make sure company position data is valid + const companyPositionName = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].jobs[companyName]; + const companyPosition = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_11__["CompanyPositions"][companyPositionName]; + if (companyPositionName === "" || !(companyPosition instanceof _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_10__["CompanyPosition"])) { workerScript.scriptRef.log("ERROR: workForCompany() failed because you do not have a job"); return false; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].isWorking) { - var txt = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].singularityStopWork(); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].isWorking) { + var txt = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].singularityStopWork(); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.workForCompany == null) { workerScript.scriptRef.log(txt); } } if (companyPosition.isPartTimeJob()) { - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startWorkPartTime(); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startWorkPartTime(companyName); } else { - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startWork(); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startWork(companyName); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.workForCompany == null) { - workerScript.log(`Began working at ${_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].companyName} as a ${_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].companyPosition}`); + workerScript.log(`Began working at ${_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].companyName} as a ${companyPositionName}`); } return true; }, applyToCompany : function(companyName, field) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("applyToCompany", ramCost); } updateDynamicRam("applyToCompany", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run applyToCompany(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run applyToCompany(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return false; } } - if (!Object(_Company_Companies__WEBPACK_IMPORTED_MODULE_6__["companyExists"])(companyName)) { + if (!Object(_Company_Companies__WEBPACK_IMPORTED_MODULE_9__["companyExists"])(companyName)) { workerScript.scriptRef.log("ERROR: applyToCompany() failed because specified company " + companyName + " does not exist."); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = companyName; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = companyName; var res; switch (field.toLowerCase()) { case "software": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForSoftwareJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForSoftwareJob(true); break; case "software consultant": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForSoftwareConsultantJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForSoftwareConsultantJob(true); break; case "it": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForItJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForItJob(true); break; case "security engineer": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForSecurityEngineerJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForSecurityEngineerJob(true); break; case "network engineer": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForNetworkEngineerJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForNetworkEngineerJob(true); break; case "business": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForBusinessJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForBusinessJob(true); break; case "business consultant": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForBusinessConsultantJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForBusinessConsultantJob(true); break; case "security": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForSecurityJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForSecurityJob(true); break; case "agent": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForAgentJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForAgentJob(true); break; case "employee": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForEmployeeJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForEmployeeJob(true); break; case "part-time employee": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForPartTimeEmployeeJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForPartTimeEmployeeJob(true); break; case "waiter": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForWaiterJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForWaiterJob(true); break; case "part-time waiter": - res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].applyForPartTimeWaiterJob(true); + res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].applyForPartTimeWaiterJob(true); break; default: workerScript.scriptRef.log("ERROR: Invalid job passed into applyToCompany: " + field + ". applyToCompany() failed"); return false; } //The Player object's applyForJob function can return string with special error messages - if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42__["isString"])(res)) { + if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45__["isString"])(res)) { workerScript.scriptRef.log(res); return false; } if (res) { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.applyToCompany == null) { - workerScript.log(`You were offered a new job at ${companyName} as a ${_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].companyPosition}`); + workerScript.log(`You were offered a new job at ${companyName} as a ${_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].jobs[companyName]}`); } } else { if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.applyToCompany == null) { @@ -23303,166 +20807,166 @@ function NetscriptFunctions(workerScript) { return res; }, getCompanyRep : function(companyName) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost / 2; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost / 2; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getCompanyRep", ramCost); } updateDynamicRam("getCompanyRep", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCompanyRep(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCompanyRep(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return false; } } - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_6__["Companies"][companyName]; - if (company == null || !(company instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_5__["Company"])) { + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_9__["Companies"][companyName]; + if (company == null || !(company instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_8__["Company"])) { workerScript.scriptRef.log("ERROR: Invalid companyName passed into getCompanyRep(): " + companyName); return -1; } return company.playerReputation; }, getCompanyFavor : function(companyName) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost / 4; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost / 4; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getCompanyFavor", ramCost); } updateDynamicRam("getCompanyFavor", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCompanyFavor(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCompanyFavor(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return false; } } - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_6__["Companies"][companyName]; - if (company == null || !(company instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_5__["Company"])) { + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_9__["Companies"][companyName]; + if (company == null || !(company instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_8__["Company"])) { workerScript.scriptRef.log("ERROR: Invalid companyName passed into getCompanyFavor(): " + companyName); return -1; } return company.favor; }, getCompanyFavorGain : function(companyName) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost / 4; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost / 4; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getCompanyFavorGain", ramCost); } updateDynamicRam("getCompanyFavorGain", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCompanyFavorGain(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCompanyFavorGain(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return -1; } } - var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_6__["Companies"][companyName]; - if (company == null || !(company instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_5__["Company"])) { + var company = _Company_Companies__WEBPACK_IMPORTED_MODULE_9__["Companies"][companyName]; + if (company == null || !(company instanceof _Company_Company__WEBPACK_IMPORTED_MODULE_8__["Company"])) { workerScript.scriptRef.log("ERROR: Invalid companyName passed into getCompanyFavorGain(): " + companyName); return -1; } return company.getFavorGain()[0]; }, checkFactionInvitations : function() { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("checkFactionInvitations", ramCost); } updateDynamicRam("checkFactionInvitations", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run checkFactionInvitations(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run checkFactionInvitations(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return false; } } //Make a copy of Player.factionInvitations - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].factionInvitations.slice(); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].factionInvitations.slice(); }, joinFaction : function(name) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("joinFaction", ramCost); } updateDynamicRam("joinFaction", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run joinFaction(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run joinFaction(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return false; } } - if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["factionExists"])(name)) { + if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["factionExists"])(name)) { workerScript.scriptRef.log("ERROR: Faction specified in joinFaction() does not exist."); return false; } - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].factionInvitations.includes(name)) { + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].factionInvitations.includes(name)) { workerScript.scriptRef.log("ERROR: Cannot join " + name + " Faction because you have not been invited. joinFaction() failed"); return false; } - var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][name]; - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_15__[/* joinFaction */ "c"])(fac); + var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][name]; + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_18__[/* joinFaction */ "c"])(fac); //Update Faction Invitation list to account for joined + banned factions - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].factionInvitations.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].factionInvitations[i] == name || _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].factionInvitations[i]].isBanned) { - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].factionInvitations.splice(i, 1); + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].factionInvitations.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].factionInvitations[i] == name || _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].factionInvitations[i]].isBanned) { + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].factionInvitations.splice(i, 1); i--; } } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].IntelligenceSingFnBaseExpGain); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].IntelligenceSingFnBaseExpGain); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.joinFaction == null) { workerScript.scriptRef.log("Joined the " + name + " faction."); } return true; }, workForFaction : function(name, type) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("workForFaction", ramCost); } updateDynamicRam("workForFaction", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run workForFaction(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run workForFaction(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return false; } } // if the player is in a gang and the target faction is any of the gang faction, fail - if(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].inGang() && _Gang__WEBPACK_IMPORTED_MODULE_12__[/* AllGangs */ "a"][name] !== undefined) { + if(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].inGang() && _Gang__WEBPACK_IMPORTED_MODULE_15__[/* AllGangs */ "a"][name] !== undefined) { workerScript.scriptRef.log("ERROR: Faction specified in workForFaction() does not offer work at the moment."); return; } - if (_Missions__WEBPACK_IMPORTED_MODULE_19__[/* inMission */ "c"]) { + if (_Missions__WEBPACK_IMPORTED_MODULE_22__[/* inMission */ "c"]) { workerScript.scriptRef.log("ERROR: workForFaction() failed because you are in the middle of a mission."); return; } - if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["factionExists"])(name)) { + if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["factionExists"])(name)) { workerScript.scriptRef.log("ERROR: Faction specified in workForFaction() does not exist."); return false; } - if (!_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].factions.includes(name)) { + if (!_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].factions.includes(name)) { workerScript.scriptRef.log("ERROR: workForFaction() failed because you are not a member of " + name); return false; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].isWorking) { - var txt = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].singularityStopWork(); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].isWorking) { + var txt = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].singularityStopWork(); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.workForFaction == null) { workerScript.scriptRef.log(txt); } } - var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][name]; + var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][name]; //Arrays listing factions that allow each time of work var hackAvailable = ["Illuminati", "Daedalus", "The Covenant", "ECorp", "MegaCorp", "Bachman & Associates", "Blade Industries", "NWO", "Clarke Incorporated", @@ -23492,7 +20996,7 @@ function NetscriptFunctions(workerScript) { workerScript.scriptRef.log("ERROR: Cannot carry out hacking contracts for " + fac.name + ". workForFaction() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startFactionHackWork(fac); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startFactionHackWork(fac); workerScript.scriptRef.log("Started carrying out hacking contracts for " + fac.name); return true; case "field": @@ -23502,7 +21006,7 @@ function NetscriptFunctions(workerScript) { workerScript.scriptRef.log("ERROR: Cannot carry out field missions for " + fac.name + ". workForFaction() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startFactionFieldWork(fac); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startFactionFieldWork(fac); workerScript.scriptRef.log("Started carrying out field missions for " + fac.name); return true; case "security": @@ -23512,7 +21016,7 @@ function NetscriptFunctions(workerScript) { workerScript.scriptRef.log("ERROR: Cannot serve as security detail for " + fac.name + ". workForFaction() failed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startFactionSecurityWork(fac); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startFactionSecurityWork(fac); workerScript.scriptRef.log("Started serving as security details for " + fac.name); return true; default: @@ -23521,83 +21025,83 @@ function NetscriptFunctions(workerScript) { return true; }, getFactionRep : function(name) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost / 4; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost / 4; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getFactionRep", ramCost); } updateDynamicRam("getFactionRep", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getFactionRep(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getFactionRep(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return -1; } } - if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["factionExists"])(name)) { + if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["factionExists"])(name)) { workerScript.scriptRef.log("ERROR: Faction specified in getFactionRep() does not exist."); return -1; } - return _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][name].playerReputation; + return _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][name].playerReputation; }, getFactionFavor : function(name) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getFactionFavor", ramCost); } updateDynamicRam("getFactionFavor", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getFactionFavor(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getFactionFavor(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return -1; } } - if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["factionExists"])(name)) { + if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["factionExists"])(name)) { workerScript.scriptRef.log("ERROR: Faction specified in getFactionFavor() does not exist."); return -1; } - return _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][name].favor; + return _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][name].favor; }, getFactionFavorGain: function(name) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn2RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn2RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getFactionFavorGain", ramCost); } updateDynamicRam("getFactionFavorGain", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 2)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getFactionFavorGain(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getFactionFavorGain(). It is a Singularity Function and requires SourceFile-4 (level 2) to run."); return -1; } } - if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["factionExists"])(name)) { + if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["factionExists"])(name)) { workerScript.scriptRef.log("ERROR: Faction specified in getFactionFavorGain() does not exist."); return -1; } - return _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][name].getFavorGain()[0]; + return _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][name].getFavorGain()[0]; }, donateToFaction : function(name, amt) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("donateToFaction", ramCost); } updateDynamicRam("donateToFaction", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run donateToFaction(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run donateToFaction(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return; } } - if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["factionExists"])(name)) { + if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["factionExists"])(name)) { workerScript.log(`ERROR: Faction specified in donateToFaction() does not exist: ${name}`); return false; } @@ -23605,42 +21109,42 @@ function NetscriptFunctions(workerScript) { workerScript.log(`ERROR: Invalid donation amount specified in donateToFaction(): ${amt}. Must be numeric and positive`); return false; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].money.lt(amt)) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].money.lt(amt)) { workerScript.log(`ERROR: You do not have enough money to donate $${amt} to ${name}`); return false; } - var repNeededToDonate = Math.round(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].BaseFavorToDonate * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"].RepToDonateToFaction); - if (_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][name].favor < repNeededToDonate) { - workerScript.log(`ERROR: You do not have enough favor to donate to this faction. Have ${_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][name].favor}, need ${repNeededToDonate}`); + var repNeededToDonate = Math.round(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].BaseFavorToDonate * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_5__["BitNodeMultipliers"].RepToDonateToFaction); + if (_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][name].favor < repNeededToDonate) { + workerScript.log(`ERROR: You do not have enough favor to donate to this faction. Have ${_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][name].favor}, need ${repNeededToDonate}`); return false; } - var repGain = amt / _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].DonateMoneyToRepDivisor * _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].faction_rep_mult; - _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][name].playerReputation += repGain; - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].loseMoney(amt); + var repGain = amt / _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].DonateMoneyToRepDivisor * _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].faction_rep_mult; + _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][name].playerReputation += repGain; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].loseMoney(amt); if (workerScript.shouldLog("donateToFaction")) { workerScript.log(`$${amt} donated to ${name} for ${repGain} reputation`); } return true; }, createProgram : function(name) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("createProgram", ramCost); } updateDynamicRam("createProgram", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run createProgram(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run createProgram(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return false; } } - if (_Missions__WEBPACK_IMPORTED_MODULE_19__[/* inMission */ "c"]) { + if (_Missions__WEBPACK_IMPORTED_MODULE_22__[/* inMission */ "c"]) { workerScript.scriptRef.log("ERROR: createProgram() failed because you are in the middle of a mission."); return; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].isWorking) { - var txt = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].singularityStopWork(); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].isWorking) { + var txt = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].singularityStopWork(); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.createProgram == null) { workerScript.scriptRef.log(txt); } @@ -23649,9 +21153,9 @@ function NetscriptFunctions(workerScript) { name = name.toLowerCase(); let p = null; - for (const key in _Programs_Programs__WEBPACK_IMPORTED_MODULE_21__["Programs"]) { - if(_Programs_Programs__WEBPACK_IMPORTED_MODULE_21__["Programs"][key].name.toLowerCase() == name) { - p = _Programs_Programs__WEBPACK_IMPORTED_MODULE_21__["Programs"][key]; + for (const key in _Programs_Programs__WEBPACK_IMPORTED_MODULE_24__["Programs"]) { + if(_Programs_Programs__WEBPACK_IMPORTED_MODULE_24__["Programs"][key].name.toLowerCase() == name) { + p = _Programs_Programs__WEBPACK_IMPORTED_MODULE_24__["Programs"][key]; } } @@ -23660,7 +21164,7 @@ function NetscriptFunctions(workerScript) { return false; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].hasProgram(p.name)) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].hasProgram(p.name)) { workerScript.scriptRef.log('ERROR: createProgram() failed because you already have the ' + p.name + ' program'); return false; } @@ -23670,153 +21174,153 @@ function NetscriptFunctions(workerScript) { return false } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].startCreateProgramWork(p.name, p.create.time, p.create.level); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].startCreateProgramWork(p.name, p.create.time, p.create.level); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.createProgram == null) { workerScript.scriptRef.log("Began creating program: " + name); } return true; }, commitCrime : function(crimeRoughName) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("commitCrime", ramCost); } updateDynamicRam("commitCrime", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run commitCrime(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run commitCrime(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return; } } - if (_Missions__WEBPACK_IMPORTED_MODULE_19__[/* inMission */ "c"]) { + if (_Missions__WEBPACK_IMPORTED_MODULE_22__[/* inMission */ "c"]) { workerScript.scriptRef.log("ERROR: commitCrime() failed because you are in the middle of a mission."); return; } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].isWorking) { - var txt = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].singularityStopWork(); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].isWorking) { + var txt = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].singularityStopWork(); if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.commitCrime == null) { workerScript.scriptRef.log(txt); } } //Set Location to slums - switch(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].city) { - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Aevum: - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].AevumSlums; + switch(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].city) { + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Aevum: + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].AevumSlums; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Chongqing: - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].ChongqingSlums; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Chongqing: + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].ChongqingSlums; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12: - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Sector12Slums; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12: + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Sector12Slums; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].NewTokyo: - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].NewTokyoSlums; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].NewTokyo: + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].NewTokyoSlums; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Ishima: - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].IshimaSlums; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Ishima: + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].IshimaSlums; break; - case _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].Volhaven: - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_17__["Locations"].VolhavenSlums; + case _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].Volhaven: + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].location = _Locations__WEBPACK_IMPORTED_MODULE_20__["Locations"].VolhavenSlums; break; default: console.log("Invalid Player.city value"); } - const crime = Object(_Crimes__WEBPACK_IMPORTED_MODULE_3__[/* findCrime */ "c"])(crimeRoughName.toLowerCase()); + const crime = Object(_Crime_CrimeHelpers__WEBPACK_IMPORTED_MODULE_6__[/* findCrime */ "b"])(crimeRoughName.toLowerCase()); if(crime == null) { // couldn't find crime - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid crime passed into commitCrime(): " + crimeRoughName); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid crime passed into commitCrime(): " + crimeRoughName); } if(workerScript.disableLogs.ALL == null && workerScript.disableLogs.commitCrime == null) { workerScript.scriptRef.log("Attempting to commit crime: "+crime.name+"..."); } - return crime.commit(1, {workerscript: workerScript}); + return crime.commit(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"], 1, {workerscript: workerScript}); }, getCrimeChance : function(crimeRoughName) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getCrimeChance", ramCost); } updateDynamicRam("getCrimeChance", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCrimeChance(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getCrimeChance(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return; } } - const crime = Object(_Crimes__WEBPACK_IMPORTED_MODULE_3__[/* findCrime */ "c"])(crimeRoughName.toLowerCase()); + const crime = Object(_Crime_CrimeHelpers__WEBPACK_IMPORTED_MODULE_6__[/* findCrime */ "b"])(crimeRoughName.toLowerCase()); if(crime == null) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid crime passed into getCrimeChance(): " + crime); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Invalid crime passed into getCrimeChance(): " + crime); } return crime.successRate(); }, getOwnedAugmentations : function(purchased=false) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getOwnedAugmentations", ramCost); } updateDynamicRam("getOwnedAugmentations", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getOwnedAugmentations(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getOwnedAugmentations(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return []; } } var res = []; - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].augmentations.length; ++i) { - res.push(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].augmentations[i].name); + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].augmentations.length; ++i) { + res.push(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].augmentations[i].name); } if (purchased) { - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].queuedAugmentations.length; ++i) { - res.push(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].queuedAugmentations[i].name); + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].queuedAugmentations.length; ++i) { + res.push(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].queuedAugmentations[i].name); } } return res; }, getOwnedSourceFiles : function() { - let ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + let ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getOwnedSourceFiles", ramCost); } updateDynamicRam("getOwnedSourceFiles", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getOwnedSourceFiles(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getOwnedSourceFiles(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return []; } } let res = []; - for (let i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles.length; ++i) { - res.push({n: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].n, lvl: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].sourceFiles[i].lvl}); + for (let i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles.length; ++i) { + res.push({n: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].n, lvl: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].sourceFiles[i].lvl}); } return res; }, getAugmentationsFromFaction : function(facname) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getAugmentationsFromFaction", ramCost); } updateDynamicRam("getAugmentationsFromFaction", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getAugmentationsFromFaction(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getAugmentationsFromFaction(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return []; } } - if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["factionExists"])(facname)) { + if (!Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["factionExists"])(facname)) { workerScript.scriptRef.log("ERROR: getAugmentationsFromFaction() failed. Invalid faction name passed in (this is case-sensitive): " + facname); return []; } - var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][facname]; + var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][facname]; var res = []; for (var i = 0; i < fac.augmentations.length; ++i) { res.push(fac.augmentations[i]); @@ -23824,65 +21328,65 @@ function NetscriptFunctions(workerScript) { return res; }, getAugmentationPrereq : function(name) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getAugmentationPrereq", ramCost); } updateDynamicRam("getAugmentationPrereq", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getAugmentationPrereq(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getAugmentationPrereq(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return false; } } - if (!Object(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* augmentationExists */ "f"])(name)) { + if (!Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_3__[/* augmentationExists */ "b"])(name)) { workerScript.scriptRef.log("ERROR: getAugmentationPrereq() failed. Invalid Augmentation name passed in (note: this is case-sensitive): " + name); return []; } - var aug = _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentations */ "c"][name]; + var aug = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_2__["Augmentations"][name]; return aug.prereqs.slice(); }, getAugmentationCost : function(name) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("getAugmentationCost", ramCost); } updateDynamicRam("getAugmentationCost", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getAugmentationCost(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run getAugmentationCost(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return false; } } - if (!Object(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* augmentationExists */ "f"])(name)) { + if (!Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_3__[/* augmentationExists */ "b"])(name)) { workerScript.scriptRef.log("ERROR: getAugmentationCost() failed. Invalid Augmentation name passed in (note: this is case-sensitive): " + name); return [-1, -1]; } - var aug = _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentations */ "c"][name]; + var aug = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_2__["Augmentations"][name]; return [aug.baseRepRequirement, aug.baseCost]; }, purchaseAugmentation : function(faction, name) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("purchaseAugmentation", ramCost); } updateDynamicRam("purchaseAugmentation", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run purchaseAugmentation(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run purchaseAugmentation(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return false; } } - var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_14__["Factions"][faction]; - if (fac == null || !(fac instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_13__["Faction"])) { + var fac = _Faction_Factions__WEBPACK_IMPORTED_MODULE_17__["Factions"][faction]; + if (fac == null || !(fac instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_16__["Faction"])) { workerScript.scriptRef.log("ERROR: purchaseAugmentation() failed because of invalid faction name: " + faction); return false; } @@ -23892,26 +21396,26 @@ function NetscriptFunctions(workerScript) { return false; } - var aug = _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentations */ "c"][name]; - if (aug == null || !(aug instanceof _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentation */ "a"])) { + var aug = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_2__["Augmentations"][name]; + if (aug == null || !(aug instanceof _Augmentation_Augmentation__WEBPACK_IMPORTED_MODULE_1__["Augmentation"])) { workerScript.scriptRef.log("ERROR: purchaseAugmentation() failed because of invalid augmentation name: " + name); return false; } var isNeuroflux = false; - if (aug.name === _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* AugmentationNames */ "b"].NeuroFluxGovernor) { + if (aug.name === _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_4__["AugmentationNames"].NeuroFluxGovernor) { isNeuroflux = true; } if (!isNeuroflux) { - for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].queuedAugmentations.length; ++j) { - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].queuedAugmentations[j].name === aug.name) { + for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].queuedAugmentations.length; ++j) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].queuedAugmentations[j].name === aug.name) { workerScript.scriptRef.log("ERROR: purchaseAugmentation() failed because you already have " + name); return false; } } - for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].augmentations.length; ++j) { - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].augmentations[j].name === aug.name) { + for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].augmentations.length; ++j) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].augmentations[j].name === aug.name) { workerScript.scriptRef.log("ERROR: purchaseAugmentation() failed because you already have " + name); return false; } @@ -23923,36 +21427,36 @@ function NetscriptFunctions(workerScript) { return false; } - var res = Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_15__[/* purchaseAugmentation */ "e"])(aug, fac, true); + var res = Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_18__[/* purchaseAugmentation */ "e"])(aug, fac, true); workerScript.scriptRef.log(res); - if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_42__["isString"])(res) && res.startsWith("You purchased")) { - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].IntelligenceSingFnBaseExpGain); + if (Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_45__["isString"])(res) && res.startsWith("You purchased")) { + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].IntelligenceSingFnBaseExpGain); return true; } else { return false; } }, installAugmentations : function(cbScript) { - var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFn3RamCost; - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptSingularityFnRamMult;} + var ramCost = _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFn3RamCost; + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN !== 4) {ramCost *= _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptSingularityFnRamMult;} if (workerScript.checkingRam) { return updateStaticRam("installAugmentations", ramCost); } updateDynamicRam("installAugmentations", ramCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN != 4) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN != 4) { if (!(hasSingularitySF && singularitySFLvl >= 3)) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run installAugmentations(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Cannot run installAugmentations(). It is a Singularity Function and requires SourceFile-4 (level 3) to run."); return false; } } - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].queuedAugmentations.length === 0) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].queuedAugmentations.length === 0) { workerScript.scriptRef.log("ERROR: installAugmentations() failed because you do not have any Augmentations to be installed"); return false; } - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].IntelligenceSingFnBaseExpGain); + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainIntelligenceExp(_Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].IntelligenceSingFnBaseExpGain); workerScript.scriptRef.log("Installing Augmentations. This will cause this script to be killed"); - Object(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* installAugmentations */ "i"])(cbScript); + Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_3__[/* installAugmentations */ "e"])(cbScript); return true; }, @@ -23960,68 +21464,68 @@ function NetscriptFunctions(workerScript) { gang : { getMemberNames : function() { if (workerScript.checkingRam) { - return updateStaticRam("getMemberNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); + return updateStaticRam("getMemberNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); } - updateDynamicRam("getMemberNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getMemberNames"); + updateDynamicRam("getMemberNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getMemberNames"); try { const names = []; - for (const member of _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.members) { + for (const member of _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.members) { names.push(member.name); } return names; } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getMemberNames", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getMemberNames", e)); } }, getGangInformation : function() { if (workerScript.checkingRam) { - return updateStaticRam("getGangInformation", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + return updateStaticRam("getGangInformation", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); } - updateDynamicRam("getGangInformation", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getGangInformation"); + updateDynamicRam("getGangInformation", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getGangInformation"); try { return { - faction: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.facName, - isHacking: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.isHackingGang, - moneyGainRate: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.moneyGainRate, - power: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.getPower(), - respect: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.respect, - respectGainRate: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.respectGainRate, - territory: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.getTerritory(), - territoryClashChance: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.territoryClashChance, - territoryWarfareEngaged: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.territoryWarfareEngaged, - wantedLevel: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.wanted, - wantedLevelGainRate: _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.wantedGainRate, + faction: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.facName, + isHacking: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.isHackingGang, + moneyGainRate: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.moneyGainRate, + power: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.getPower(), + respect: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.respect, + respectGainRate: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.respectGainRate, + territory: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.getTerritory(), + territoryClashChance: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.territoryClashChance, + territoryWarfareEngaged: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.territoryWarfareEngaged, + wantedLevel: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.wanted, + wantedLevelGainRate: _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.wantedGainRate, } } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getGangInformation", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getGangInformation", e)); } }, getOtherGangInformation : function() { if (workerScript.checkingRam) { - return updateStaticRam("getOtherGangInformation", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + return updateStaticRam("getOtherGangInformation", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); } - updateDynamicRam("getOtherGangInformation", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getOtherGangInformation"); + updateDynamicRam("getOtherGangInformation", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getOtherGangInformation"); try { - return Object.assign(_Gang__WEBPACK_IMPORTED_MODULE_12__[/* AllGangs */ "a"]); + return Object.assign(_Gang__WEBPACK_IMPORTED_MODULE_15__[/* AllGangs */ "a"]); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getOtherGangInformation", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getOtherGangInformation", e)); } }, getMemberInformation : function(name) { if (workerScript.checkingRam) { - return updateStaticRam("getMemberInformation", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + return updateStaticRam("getMemberInformation", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); } - updateDynamicRam("getMemberInformation", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getMemberInformation"); + updateDynamicRam("getMemberInformation", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getMemberInformation"); try { - for (const member of _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.members) { + for (const member of _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.members) { if (member.name === name) { return { agility: member.agi, @@ -24052,31 +21556,31 @@ function NetscriptFunctions(workerScript) { workerScript.log(`Invalid argument passed to gang.getMemberInformation(). No gang member could be found with name ${name}`); return {}; // Member could not be found } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getMemberInformation", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getMemberInformation", e)); } }, canRecruitMember : function() { if (workerScript.checkingRam) { - return updateStaticRam("canRecruitMember", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); + return updateStaticRam("canRecruitMember", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); } - updateDynamicRam("canRecruitMember", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "canRecruitMember"); + updateDynamicRam("canRecruitMember", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "canRecruitMember"); try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.canRecruitMember(); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.canRecruitMember(); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("canRecruitMember", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("canRecruitMember", e)); } }, recruitMember : function(name) { if (workerScript.checkingRam) { - return updateStaticRam("recruitMember", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + return updateStaticRam("recruitMember", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); } - updateDynamicRam("recruitMember", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "recruitMember"); + updateDynamicRam("recruitMember", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "recruitMember"); try { - const res = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.recruitMember(name); + const res = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.recruitMember(name); if (workerScript.shouldLog("recruitMember")) { if (res) { workerScript.log(`Successfully recruited Gang Member ${name}`); @@ -24087,33 +21591,33 @@ function NetscriptFunctions(workerScript) { return res; } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("recruitMember", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("recruitMember", e)); } }, getTaskNames : function() { if (workerScript.checkingRam) { - return updateStaticRam("getTaskNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); + return updateStaticRam("getTaskNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); } - updateDynamicRam("getTaskNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getTaskNames"); + updateDynamicRam("getTaskNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getTaskNames"); try { - const tasks = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.getAllTaskNames(); + const tasks = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.getAllTaskNames(); tasks.unshift("Unassigned"); return tasks; } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getTaskNames", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getTaskNames", e)); } }, setMemberTask : function(memberName, taskName) { if (workerScript.checkingRam) { - return updateStaticRam("setMemberTask", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + return updateStaticRam("setMemberTask", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); } - updateDynamicRam("setMemberTask", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "setMemberTask"); + updateDynamicRam("setMemberTask", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "setMemberTask"); try { - for (const member of _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.members) { + for (const member of _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.members) { if (member.name === memberName) { const res = member.assignToTask(taskName); if (workerScript.shouldLog("setMemberTask")) { @@ -24131,59 +21635,59 @@ function NetscriptFunctions(workerScript) { workerScript.log(`Invalid argument passed to gang.setMemberTask(). No gang member could be found with name ${memberName}`); return false; } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("setMemberTask", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("setMemberTask", e)); } }, getEquipmentNames : function() { if (workerScript.checkingRam) { - return updateStaticRam("getEquipmentNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); + return updateStaticRam("getEquipmentNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); } - updateDynamicRam("getEquipmentNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getEquipmentNames"); + updateDynamicRam("getEquipmentNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 4); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getEquipmentNames"); try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.getAllUpgradeNames(); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.getAllUpgradeNames(); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getEquipmentNames", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getEquipmentNames", e)); } }, getEquipmentCost : function(equipName) { if (workerScript.checkingRam) { - return updateStaticRam("getEquipmentCost", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + return updateStaticRam("getEquipmentCost", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); } - updateDynamicRam("getEquipmentCost", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getEquipmentCost"); + updateDynamicRam("getEquipmentCost", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getEquipmentCost"); try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.getUpgradeCost(equipName); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.getUpgradeCost(equipName); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getEquipmentCost", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getEquipmentCost", e)); } }, getEquipmentType : function(equipName) { if (workerScript.checkingRam) { - return updateStaticRam("getEquipmentType", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + return updateStaticRam("getEquipmentType", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); } - updateDynamicRam("getEquipmentType", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getEquipmentType"); + updateDynamicRam("getEquipmentType", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getEquipmentType"); try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.getUpgradeType(equipName); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.getUpgradeType(equipName); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getEquipmentType", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getEquipmentType", e)); } }, purchaseEquipment : function(memberName, equipName) { if (workerScript.checkingRam) { - return updateStaticRam("purchaseEquipment", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost); + return updateStaticRam("purchaseEquipment", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost); } - updateDynamicRam("purchaseEquipment", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "purchaseEquipment"); + updateDynamicRam("purchaseEquipment", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "purchaseEquipment"); try { - for (const member of _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.members) { + for (const member of _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.members) { if (member.name === memberName) { - const res = member.buyUpgrade(equipName, _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"], _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang); + const res = member.buyUpgrade(equipName, _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"], _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang); if (workerScript.shouldLog("purchaseEquipment")) { if (res) { workerScript.log(`Purchased ${equipName} for Gang member ${memberName}`); @@ -24199,81 +21703,81 @@ function NetscriptFunctions(workerScript) { workerScript.log(`Invalid argument passed to gang.purchaseEquipment(). No gang member could be found with name ${memberName}`); return false; } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("purchaseEquipment", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("purchaseEquipment", e)); } }, ascendMember : function(name) { if (workerScript.checkingRam) { - return updateStaticRam("ascendMember", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost); + return updateStaticRam("ascendMember", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost); } - updateDynamicRam("ascendMember", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "ascendMember"); + updateDynamicRam("ascendMember", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "ascendMember"); try { - for (const member of _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.members) { + for (const member of _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.members) { if (member.name === name) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.ascendMember(member, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.ascendMember(member, workerScript); } } workerScript.log(`Invalid argument passed to gang.ascendMember(). No gang member could be found with name ${name}`); return false; } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("ascendMember", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("ascendMember", e)); } }, setTerritoryWarfare : function(engage) { if (workerScript.checkingRam) { - return updateStaticRam("setTerritoryWarfare", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + return updateStaticRam("setTerritoryWarfare", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); } - updateDynamicRam("setTerritoryWarfare", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "setTerritoryWarfare"); + updateDynamicRam("setTerritoryWarfare", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost / 2); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "setTerritoryWarfare"); try { if (engage) { - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.territoryWarfareEngaged = true; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.territoryWarfareEngaged = true; if (workerScript.shouldLog("setTerritoryWarfare")) { workerScript.log("Engaging in Gang Territory Warfare"); } } else { - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.territoryWarfareEngaged = false; + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.territoryWarfareEngaged = false; if (workerScript.shouldLog("setTerritoryWarfare")) { workerScript.log("Disengaging in Gang Territory Warfare"); } } } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("setTerritoryWarfare", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("setTerritoryWarfare", e)); } }, getChanceToWinClash : function(otherGang) { if (workerScript.checkingRam) { - return updateStaticRam("getChanceToWinClash", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost); + return updateStaticRam("getChanceToWinClash", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost); } - updateDynamicRam("getChanceToWinClash", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptGangApiBaseRamCost); - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getChanceToWinClash"); + updateDynamicRam("getChanceToWinClash", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptGangApiBaseRamCost); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getChanceToWinClash"); try { - if (_Gang__WEBPACK_IMPORTED_MODULE_12__[/* AllGangs */ "a"][otherGang] == null) { + if (_Gang__WEBPACK_IMPORTED_MODULE_15__[/* AllGangs */ "a"][otherGang] == null) { workerScript.log(`Invalid gang specified in gang.getChanceToWinClash() : ${otherGang}`); return 0; } - const playerPower = _Gang__WEBPACK_IMPORTED_MODULE_12__[/* AllGangs */ "a"][_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.facName].power; - const otherPower = _Gang__WEBPACK_IMPORTED_MODULE_12__[/* AllGangs */ "a"][otherGang].power; + const playerPower = _Gang__WEBPACK_IMPORTED_MODULE_15__[/* AllGangs */ "a"][_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.facName].power; + const otherPower = _Gang__WEBPACK_IMPORTED_MODULE_15__[/* AllGangs */ "a"][otherGang].power; return playerPower / (otherPower + playerPower); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getChanceToWinClash", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getChanceToWinClash", e)); } }, getBonusTime : function() { if (workerScript.checkingRam) { return 0; } - _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* checkGangApiAccess */ "a"](workerScript, "getBonusTime"); + _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* checkGangApiAccess */ "a"](workerScript, "getBonusTime"); try { - return Math.round(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gang.storedCycles / 5); + return Math.round(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gang.storedCycles / 5); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_31__[/* unknownGangApiExceptionMessage */ "b"]("getBonusTime", e)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, _NetscriptGang__WEBPACK_IMPORTED_MODULE_34__[/* unknownGangApiExceptionMessage */ "b"]("getBonusTime", e)); } }, }, // end gang namespace @@ -24282,141 +21786,141 @@ function NetscriptFunctions(workerScript) { bladeburner : { getContractNames : function() { if (workerScript.checkingRam) { - return updateStaticRam("getContractNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + return updateStaticRam("getContractNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); } - updateDynamicRam("getContractNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getContractNamesNetscriptFn(); + updateDynamicRam("getContractNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getContractNamesNetscriptFn(); } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getContractNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getContractNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getOperationNames : function() { if (workerScript.checkingRam) { - return updateStaticRam("getOperationNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + return updateStaticRam("getOperationNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); } - updateDynamicRam("getOperationNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getOperationNamesNetscriptFn(); + updateDynamicRam("getOperationNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getOperationNamesNetscriptFn(); } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getOperationNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getOperationNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getBlackOpNames : function() { if (workerScript.checkingRam) { - return updateStaticRam("getBlackOpNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + return updateStaticRam("getBlackOpNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); } - updateDynamicRam("getBlackOpNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getBlackOpNamesNetscriptFn(); + updateDynamicRam("getBlackOpNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getBlackOpNamesNetscriptFn(); } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getBlackOpNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getBlackOpNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getGeneralActionNames : function() { if (workerScript.checkingRam) { - return updateStaticRam("getGeneralActionNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + return updateStaticRam("getGeneralActionNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); } - updateDynamicRam("getGeneralActionNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getGeneralActionNamesNetscriptFn(); + updateDynamicRam("getGeneralActionNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getGeneralActionNamesNetscriptFn(); } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getGeneralActionNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getGeneralActionNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getSkillNames : function() { if (workerScript.checkingRam) { - return updateStaticRam("getSkillNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + return updateStaticRam("getSkillNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); } - updateDynamicRam("getSkillNames", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getSkillNamesNetscriptFn(); + updateDynamicRam("getSkillNames", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 10); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getSkillNamesNetscriptFn(); } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getSkillNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getSkillNames() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, startAction : function(type="", name="") { if (workerScript.checkingRam) { - return updateStaticRam("startAction", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("startAction", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("startAction", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("startAction", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.startActionNetscriptFn(type, name, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.startActionNetscriptFn(type, name, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.startAction() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.startAction() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "startAction() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "startAction() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, stopBladeburnerAction : function() { if (workerScript.checkingRam) { - return updateStaticRam("stopBladeburnerAction", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 2); + return updateStaticRam("stopBladeburnerAction", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 2); } - updateDynamicRam("stopBladeburnerAction", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 2); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.resetAction(); + updateDynamicRam("stopBladeburnerAction", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 2); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.resetAction(); } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "stopBladeburnerAction() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "stopBladeburnerAction() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getCurrentAction : function() { if (workerScript.checkingRam) { - return updateStaticRam("getCurrentAction", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 4); + return updateStaticRam("getCurrentAction", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 4); } - updateDynamicRam("getCurrentAction", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 4); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getTypeAndNameFromActionId(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.action); + updateDynamicRam("getCurrentAction", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost / 4); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getTypeAndNameFromActionId(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.action); } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCurrentAction() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCurrentAction() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getActionTime : function(type="", name="") { if (workerScript.checkingRam) { - return updateStaticRam("getActionTime", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getActionTime", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getActionTime", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getActionTime", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionTimeNetscriptFn(type, name, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionTimeNetscriptFn(type, name, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getActionTime() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getActionTime() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getActionTime() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getActionTime() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getActionEstimatedSuccessChance : function(type="", name="") { if (workerScript.checkingRam) { - return updateStaticRam("getActionEstimatedSuccessChance", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getActionEstimatedSuccessChance", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getActionEstimatedSuccessChance", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getActionEstimatedSuccessChance", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionEstimatedSuccessChanceNetscriptFn(type, name, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionEstimatedSuccessChanceNetscriptFn(type, name, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getActionEstimatedSuccessChance() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getActionEstimatedSuccessChance() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getActionEstimatedSuccessChance() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getActionEstimatedSuccessChance() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getActionRepGain: function(type="", name="", level) { if (workerScript.checkingRam) { - return updateStaticRam("getActionRepGain", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getActionRepGain", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getActionRepGain", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* checkBladeburnerAccess */ "a"])(workerScript, "getActionRepGain"); + updateDynamicRam("getActionRepGain", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* checkBladeburnerAccess */ "a"])(workerScript, "getActionRepGain"); try { - var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerActionErrorMessage */ "b"])("getActionAutolevel", type, name); - const actionId = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); + var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerActionErrorMessage */ "b"])("getActionAutolevel", type, name); + const actionId = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); if (actionId == null) { workerScript.log(errorLogText); return -1; } - const actionObj = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionObject(actionId); + const actionObj = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionObject(actionId); if (actionObj == null) { workerScript.log(errorLogText); return -1; @@ -24428,137 +21932,137 @@ function NetscriptFunctions(workerScript) { rewardMultiplier = Math.pow(actionObj.rewardFac, level - 1); } - return actionObj.rankGain * rewardMultiplier * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_2__["BitNodeMultipliers"].BladeburnerRank; + return actionObj.rankGain * rewardMultiplier * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_5__["BitNodeMultipliers"].BladeburnerRank; } catch(err) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerExceptionMessage */ "c"])("getActionAutolevel", err)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerExceptionMessage */ "c"])("getActionAutolevel", err)); } }, getActionCountRemaining : function(type="", name="") { if (workerScript.checkingRam) { - return updateStaticRam("getActionCountRemaining", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getActionCountRemaining", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getActionCountRemaining", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getActionCountRemaining", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionCountRemainingNetscriptFn(type, name, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionCountRemainingNetscriptFn(type, name, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getActionCountRemaining() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getActionCountRemaining() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getActionCountRemaining() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getActionCountRemaining() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getActionMaxLevel: function(type="", name="") { if (workerScript.checkingRam) { - return updateStaticRam("getActionMaxLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getActionMaxLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getActionMaxLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* checkBladeburnerAccess */ "a"])(workerScript, "getActionMaxLevel"); + updateDynamicRam("getActionMaxLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* checkBladeburnerAccess */ "a"])(workerScript, "getActionMaxLevel"); try { - var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerActionErrorMessage */ "b"])("getActionMaxLevel", type, name); - const actionId = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); + var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerActionErrorMessage */ "b"])("getActionMaxLevel", type, name); + const actionId = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); if (actionId == null) { workerScript.log(errorLogText); return -1; } - const actionObj = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionObject(actionId); + const actionObj = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionObject(actionId); if (actionObj == null) { workerScript.log(errorLogText); return -1; } return actionObj.maxLevel; } catch(err) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerExceptionMessage */ "c"])("getActionMaxLevel", err)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerExceptionMessage */ "c"])("getActionMaxLevel", err)); } }, getActionCurrentLevel: function(type="", name="") { if (workerScript.checkingRam) { - return updateStaticRam("getActionCurrentLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getActionCurrentLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getActionCurrentLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* checkBladeburnerAccess */ "a"])(workerScript, "getActionCurrentLevel"); + updateDynamicRam("getActionCurrentLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* checkBladeburnerAccess */ "a"])(workerScript, "getActionCurrentLevel"); try { - var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerActionErrorMessage */ "b"])("getActionCurrentLevel", type, name); - const actionId = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); + var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerActionErrorMessage */ "b"])("getActionCurrentLevel", type, name); + const actionId = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); if (actionId == null) { workerScript.log(errorLogText); return -1; } - const actionObj = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionObject(actionId); + const actionObj = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionObject(actionId); if (actionObj == null) { workerScript.log(errorLogText); return -1; } return actionObj.level; } catch(err) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerExceptionMessage */ "c"])("getActionCurrentLevel", err)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerExceptionMessage */ "c"])("getActionCurrentLevel", err)); } }, getActionAutolevel: function(type="", name="") { if (workerScript.checkingRam) { - return updateStaticRam("getActionAutolevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getActionAutolevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getActionAutolevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* checkBladeburnerAccess */ "a"])(workerScript, "getActionAutolevel"); + updateDynamicRam("getActionAutolevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* checkBladeburnerAccess */ "a"])(workerScript, "getActionAutolevel"); try { - var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerActionErrorMessage */ "b"])("getActionAutolevel", type, name); - const actionId = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); + var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerActionErrorMessage */ "b"])("getActionAutolevel", type, name); + const actionId = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); if (actionId == null) { workerScript.log(errorLogText); return false; } - const actionObj = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionObject(actionId); + const actionObj = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionObject(actionId); if (actionObj == null) { workerScript.log(errorLogText); return false; } return actionObj.autoLevel; } catch(err) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerExceptionMessage */ "c"])("getActionAutolevel", err)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerExceptionMessage */ "c"])("getActionAutolevel", err)); } }, setActionAutolevel: function(type="", name="", autoLevel=true) { if (workerScript.checkingRam) { - return updateStaticRam("setActionAutolevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("setActionAutolevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("setActionAutolevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* checkBladeburnerAccess */ "a"])(workerScript, "setActionAutolevel"); + updateDynamicRam("setActionAutolevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* checkBladeburnerAccess */ "a"])(workerScript, "setActionAutolevel"); try { - var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerActionErrorMessage */ "b"])("setActionAutolevel", type, name); - const actionId = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); + var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerActionErrorMessage */ "b"])("setActionAutolevel", type, name); + const actionId = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); if (actionId == null) { workerScript.log(errorLogText); return; } - const actionObj = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionObject(actionId); + const actionObj = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionObject(actionId); if (actionObj == null) { workerScript.log(errorLogText); return; } actionObj.autoLevel = autoLevel; } catch(err) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerExceptionMessage */ "c"])("setActionAutolevel", err)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerExceptionMessage */ "c"])("setActionAutolevel", err)); } }, setActionLevel: function(type="", name="", level=1) { if (workerScript.checkingRam) { - return updateStaticRam("setActionLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("setActionLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("setActionLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* checkBladeburnerAccess */ "a"])(workerScript, "setActionLevel"); + updateDynamicRam("setActionLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* checkBladeburnerAccess */ "a"])(workerScript, "setActionLevel"); try { - var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerActionErrorMessage */ "b"])("setActionLevel", type, name); - const actionId = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); + var errorLogText = Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerActionErrorMessage */ "b"])("setActionLevel", type, name); + const actionId = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionIdFromTypeAndName(type, name); if (actionId == null) { workerScript.log(errorLogText); return; } - const actionObj = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getActionObject(actionId); + const actionObj = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getActionObject(actionId); if (actionObj == null) { workerScript.log(errorLogText); return; @@ -24573,214 +22077,214 @@ function NetscriptFunctions(workerScript) { } actionObj.level = level; } catch(err) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_30__[/* unknownBladeburnerExceptionMessage */ "c"])("setActionLevel", err)); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, Object(_NetscriptBladeburner__WEBPACK_IMPORTED_MODULE_33__[/* unknownBladeburnerExceptionMessage */ "c"])("setActionLevel", err)); } }, getRank : function() { if (workerScript.checkingRam) { - return updateStaticRam("getRank", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getRank", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getRank", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.rank; + updateDynamicRam("getRank", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.rank; } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getRank() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getRank() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getSkillPoints : function() { if (workerScript.checkingRam) { - return updateStaticRam("getSkillPoints", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getSkillPoints", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getSkillPoints", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.skillPoints; + updateDynamicRam("getSkillPoints", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.skillPoints; } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getSkillPoints() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getSkillPoints() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getSkillLevel : function(skillName="") { if (workerScript.checkingRam) { - return updateStaticRam("getSkillLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getSkillLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getSkillLevel", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getSkillLevel", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getSkillLevelNetscriptFn(skillName, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getSkillLevelNetscriptFn(skillName, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getSkillLevel() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getSkillLevel() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getSkillLevel() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getSkillLevel() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getSkillUpgradeCost : function(skillName="") { if (workerScript.checkingRam) { - return updateStaticRam("getSkillUpgradeCost", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getSkillUpgradeCost", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getSkillUpgradeCost", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getSkillUpgradeCost", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getSkillUpgradeCostNetscriptFn(skillName, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getSkillUpgradeCostNetscriptFn(skillName, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getSkillUpgradeCost() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getSkillUpgradeCost() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getSkillUpgradeCost() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getSkillUpgradeCost() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, upgradeSkill : function(skillName) { if (workerScript.checkingRam) { - return updateStaticRam("upgradeSkill", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("upgradeSkill", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("upgradeSkill", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("upgradeSkill", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.upgradeSkillNetscriptFn(skillName, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.upgradeSkillNetscriptFn(skillName, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.upgradeSkill() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.upgradeSkill() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "upgradeSkill() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "upgradeSkill() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getTeamSize : function(type="", name="") { if (workerScript.checkingRam) { - return updateStaticRam("getTeamSize", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getTeamSize", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getTeamSize", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getTeamSize", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getTeamSizeNetscriptFn(type, name, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getTeamSizeNetscriptFn(type, name, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getTeamSize() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getTeamSize() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getTeamSize() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getTeamSize() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, setTeamSize : function(type="", name="", size) { if (workerScript.checkingRam) { - return updateStaticRam("setTeamSize", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("setTeamSize", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("setTeamSize", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("setTeamSize", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.setTeamSizeNetscriptFn(type, name, size, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.setTeamSizeNetscriptFn(type, name, size, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.setTeamSize() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.setTeamSize() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "setTeamSize() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "setTeamSize() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getCityEstimatedPopulation : function(cityName) { if (workerScript.checkingRam) { - return updateStaticRam("getCityEstimatedPopulation", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getCityEstimatedPopulation", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getCityEstimatedPopulation", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getCityEstimatedPopulation", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getCityEstimatedPopulationNetscriptFn(cityName, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getCityEstimatedPopulationNetscriptFn(cityName, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getCityEstimatedPopulation() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getCityEstimatedPopulation() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCityEstimatedPopulation() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCityEstimatedPopulation() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getCityEstimatedCommunities : function(cityName) { if (workerScript.checkingRam) { - return updateStaticRam("getCityEstimatedCommunities", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getCityEstimatedCommunities", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getCityEstimatedCommunities", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getCityEstimatedCommunities", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getCityEstimatedCommunitiesNetscriptFn(cityName, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getCityEstimatedCommunitiesNetscriptFn(cityName, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getCityEstimatedCommunities() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getCityEstimatedCommunities() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCityEstimatedCommunities() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCityEstimatedCommunities() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getCityChaos : function(cityName) { if (workerScript.checkingRam) { - return updateStaticRam("getCityChaos", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getCityChaos", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getCityChaos", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getCityChaos", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.getCityChaosNetscriptFn(cityName, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.getCityChaosNetscriptFn(cityName, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getCityChaos() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getCityChaos() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCityChaos() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCityChaos() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getCity : function() { if (workerScript.checkingRam) { - return updateStaticRam("getCity", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getCity", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getCity", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("getCity", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.city; + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.city; } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getCity() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.getCity() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCity() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getCity() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, switchCity : function(cityName) { if (workerScript.checkingRam) { - return updateStaticRam("switchCity", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("switchCity", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("switchCity", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + updateDynamicRam("switchCity", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { try { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.switchCityNetscriptFn(cityName, workerScript); + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.switchCityNetscriptFn(cityName, workerScript); } catch(e) { - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.switchCity() failed with exception: " + e); + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "Bladeburner.switchCity() failed with exception: " + e); } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "switchCity() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "switchCity() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getStamina : function() { if (workerScript.checkingRam) { - return updateStaticRam("getStamina", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("getStamina", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("getStamina", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return [_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.stamina, _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.maxStamina]; + updateDynamicRam("getStamina", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return [_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.stamina, _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.maxStamina]; } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getStamina() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getStamina() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, joinBladeburnerFaction : function() { if (workerScript.checkingRam) { - return updateStaticRam("joinBladeburnerFaction", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("joinBladeburnerFaction", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("joinBladeburnerFaction", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.joinBladeburnerFactionNetscriptFn(workerScript); + updateDynamicRam("joinBladeburnerFaction", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"] && (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.joinBladeburnerFactionNetscriptFn(workerScript); } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "joinBladeburnerFaction() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "joinBladeburnerFaction() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, joinBladeburnerDivision : function() { if (workerScript.checkingRam) { - return updateStaticRam("joinBladeburnerDivision", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + return updateStaticRam("joinBladeburnerDivision", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); } - updateDynamicRam("joinBladeburnerDivision", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); - if ((_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"]) { + updateDynamicRam("joinBladeburnerDivision", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptBladeburnerApiBaseRamCost); + if ((_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"]) { return true; //Already member - } else if (_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].strength >= 100 && _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].defense >= 100 && - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].dexterity >= 100 && _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].agility >= 100) { - _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner = new _Bladeburner__WEBPACK_IMPORTED_MODULE_4__[/* Bladeburner */ "a"]({new:true}); + } else if (_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].strength >= 100 && _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].defense >= 100 && + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].dexterity >= 100 && _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].agility >= 100) { + _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner = new _Bladeburner__WEBPACK_IMPORTED_MODULE_7__[/* Bladeburner */ "a"]({new:true}); workerScript.log("You have been accepted into the Bladeburner division"); return true; } else { @@ -24788,24 +22292,24 @@ function NetscriptFunctions(workerScript) { return false; } } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "joinBladeburnerDivision() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "joinBladeburnerDivision() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); }, getBonusTime : function() { if (workerScript.checkingRam) {return 0;} - if ((_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { - return Math.round(_Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].bladeburner.storedCycles / 5); + if ((_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bitNodeN === 7 || hasBladeburner2079SF)) { + return Math.round(_Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].bladeburner.storedCycles / 5); } - throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_33__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getBonusTime() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + + throw Object(_NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_36__[/* makeRuntimeRejectMsg */ "d"])(workerScript, "getBonusTime() failed because you do not currently have access to the Bladeburner API. This is either because you are not currently employed " + "at the Bladeburner division or because you do not have Source-File 7"); } }, // End Bladeburner codingcontract : { attempt : function(answer, fn, ip=workerScript.serverIp) { if (workerScript.checkingRam) { - return updateStaticRam("attempt", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost); + return updateStaticRam("attempt", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost); } - updateDynamicRam("attempt", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost); + updateDynamicRam("attempt", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost); const contract = getCodingContract(fn, ip); if (contract == null) { workerScript.log(`ERROR: codingcontract.getData() failed because it could find the specified contract ${fn} on server ${ip}`); @@ -24814,7 +22318,7 @@ function NetscriptFunctions(workerScript) { answer = String(answer); const serv = safeGetServer(ip, "codingcontract.attempt()"); if (contract.isSolution(answer)) { - const reward = _Player__WEBPACK_IMPORTED_MODULE_20__[/* Player */ "a"].gainCodingContractReward(contract.reward, contract.getDifficulty()); + const reward = _Player__WEBPACK_IMPORTED_MODULE_23__[/* Player */ "a"].gainCodingContractReward(contract.reward, contract.getDifficulty()); workerScript.log(`Successfully completed Coding Contract ${fn}. Reward: ${reward}`); serv.removeContract(fn); return true; @@ -24831,9 +22335,9 @@ function NetscriptFunctions(workerScript) { }, getContractType : function(fn, ip=workerScript.serverIp) { if (workerScript.checkingRam) { - return updateStaticRam("getContractType", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); + return updateStaticRam("getContractType", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); } - updateDynamicRam("getContractType", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); + updateDynamicRam("getContractType", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); let contract = getCodingContract(fn, ip); if (contract == null) { workerScript.log(`ERROR: codingcontract.getData() failed because it could find the specified contract ${fn} on server ${ip}`); @@ -24843,9 +22347,9 @@ function NetscriptFunctions(workerScript) { }, getData : function(fn, ip=workerScript.serverIp) { if (workerScript.checkingRam) { - return updateStaticRam("getData", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); + return updateStaticRam("getData", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); } - updateDynamicRam("getData", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); + updateDynamicRam("getData", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); let contract = getCodingContract(fn, ip); if (contract == null) { workerScript.log(`ERROR: codingcontract.getData() failed because it could find the specified contract ${fn} on server ${ip}`); @@ -24861,9 +22365,9 @@ function NetscriptFunctions(workerScript) { }, getDescription : function(fn, ip=workerScript.serverIp) { if (workerScript.checkingRam) { - return updateStaticRam("getDescription", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); + return updateStaticRam("getDescription", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); } - updateDynamicRam("getDescription", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); + updateDynamicRam("getDescription", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); var contract = getCodingContract(fn, ip); if (contract == null) { workerScript.log(`ERROR: codingcontract.getDescription() failed because it could find the specified contract ${fn} on server ${ip}`); @@ -24873,9 +22377,9 @@ function NetscriptFunctions(workerScript) { }, getNumTriesRemaining : function(fn, ip=workerScript.serverIp) { if (workerScript.checkingRam) { - return updateStaticRam("getNumTriesRemaining", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); + return updateStaticRam("getNumTriesRemaining", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); } - updateDynamicRam("getNumTriesRemaining", _Constants__WEBPACK_IMPORTED_MODULE_9__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); + updateDynamicRam("getNumTriesRemaining", _Constants__WEBPACK_IMPORTED_MODULE_12__["CONSTANTS"].ScriptCodingContractBaseRamCost / 2); var contract = getCodingContract(fn, ip); if (contract == null) { workerScript.log(`ERROR: codingcontract.getNumTriesRemaining() failed because it could find the specified contract ${fn} on server ${ip}`); @@ -24889,37 +22393,10 @@ function NetscriptFunctions(workerScript) { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 44 */ -/*!*****************************************!*\ - !*** ./utils/helpers/exceptionAlert.js ***! - \*****************************************/ -/*! exports provided: exceptionAlert */ -/*! exports used: exceptionAlert */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return exceptionAlert; }); -/* harmony import */ var _DialogBox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../DialogBox */ 8); - - -function exceptionAlert(e) { - Object(_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("Caught an exception: " + e + "

" + - "Filename: " + (e.fileName || "UNKNOWN FILE NAME") + "

" + - "Line Number: " + (e.lineNumber || "UNKNOWN LINE NUMBER") + "

" + - "This is a bug, please report to game developer with this " + - "message as well as details about how to reproduce the bug.

" + - "If you want to be safe, I suggest refreshing the game WITHOUT saving so that your " + - "safe doesn't get corrupted"); -} - - - - -/***/ }), -/* 45 */ +/* 48 */ /*!**********************!*\ !*** ./src/Alias.js ***! \**********************/ @@ -24936,7 +22413,7 @@ function exceptionAlert(e) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "h", function() { return substituteAliases; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return loadAliases; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return loadGlobalAliases; }); -/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui/postToTerminal */ 7); +/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ui/postToTerminal */ 8); /* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_ui_postToTerminal__WEBPACK_IMPORTED_MODULE_0__); @@ -25054,7 +22531,7 @@ function substituteAliases(origCommand) { /***/ }), -/* 46 */ +/* 49 */ /*!***************************************!*\ !*** ./src/Faction/FactionHelpers.js ***! \***************************************/ @@ -25069,40 +22546,47 @@ function substituteAliases(origCommand) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return displayFactionContent; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return processPassiveFactionRepGain; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return purchaseAugmentation; }); -/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Augmentations */ 21); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Constants */ 1); -/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../engine */ 9); -/* harmony import */ var _Faction__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Faction */ 57); -/* harmony import */ var _Faction__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Faction__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _Factions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Factions */ 14); -/* harmony import */ var _Factions__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Factions__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _FactionInfo__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./FactionInfo */ 115); -/* harmony import */ var _FactionInfo__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_FactionInfo__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _Location__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../Location */ 92); -/* harmony import */ var _Missions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Missions */ 56); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Player */ 0); -/* harmony import */ var _SettingEnums__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../SettingEnums */ 73); -/* harmony import */ var _SettingEnums__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_SettingEnums__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Settings */ 18); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../ui/navigationTracking */ 12); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../ui/numeralFormat */ 4); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../utils/DialogBox */ 8); -/* harmony import */ var _utils_FactionInvitationBox__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils/FactionInvitationBox */ 136); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../utils/uiHelpers/removeChildrenFromElement */ 30); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../utils/uiHelpers/createElement */ 2); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils/JSONReviver */ 13); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../utils/StringHelperFunctions */ 3); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../utils/YesNoBox */ 19); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../Augmentation/Augmentations */ 13); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Augmentation_PlayerOwnedAugmentation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Augmentation/PlayerOwnedAugmentation */ 98); +/* harmony import */ var _Augmentation_PlayerOwnedAugmentation__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_PlayerOwnedAugmentation__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../Augmentation/data/AugmentationNames */ 6); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Constants */ 1); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../engine */ 11); +/* harmony import */ var _Faction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Faction */ 58); +/* harmony import */ var _Faction__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Faction__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _Factions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Factions */ 16); +/* harmony import */ var _Factions__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Factions__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _FactionInfo__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./FactionInfo */ 123); +/* harmony import */ var _FactionInfo__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_FactionInfo__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _Location__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Location */ 97); +/* harmony import */ var _Missions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../Missions */ 60); +/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Player */ 0); +/* harmony import */ var _SettingEnums__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../SettingEnums */ 77); +/* harmony import */ var _SettingEnums__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_SettingEnums__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../Settings */ 20); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../ui/navigationTracking */ 14); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_14__); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../ui/numeralFormat */ 4); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../utils/DialogBox */ 9); +/* harmony import */ var _utils_FactionInvitationBox__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../utils/FactionInvitationBox */ 149); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils/uiHelpers/removeChildrenFromElement */ 32); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_18__); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../utils/uiHelpers/createElement */ 2); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../utils/JSONReviver */ 15); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../utils/StringHelperFunctions */ 3); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../utils/YesNoBox */ 21); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__); + + @@ -25127,50 +22611,50 @@ function substituteAliases(origCommand) { function inviteToFaction(faction) { - if (_Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].SuppressFactionInvites) { + if (_Settings__WEBPACK_IMPORTED_MODULE_13__["Settings"].SuppressFactionInvites) { faction.alreadyInvited = true; - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].factionInvitations.push(faction.name); - if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_12__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_12__["Page"].Factions)) { - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].loadFactionsContent(); + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].factionInvitations.push(faction.name); + if (_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_14__["routing"].isOn(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_14__["Page"].Factions)) { + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].loadFactionsContent(); } } else { - Object(_utils_FactionInvitationBox__WEBPACK_IMPORTED_MODULE_15__[/* factionInvitationBoxCreate */ "a"])(faction); + Object(_utils_FactionInvitationBox__WEBPACK_IMPORTED_MODULE_17__[/* factionInvitationBoxCreate */ "a"])(faction); } } function joinFaction(faction) { faction.isMember = true; - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].factions.push(faction.name); + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].factions.push(faction.name); const factionInfo = faction.getInfo(); //Determine what factions you are banned from now that you have joined this faction for(const i in factionInfo.enemies) { const enemy = factionInfo.enemies[i]; - if (_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"][enemy] instanceof _Faction__WEBPACK_IMPORTED_MODULE_4__["Faction"]) { - _Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"][enemy].isBanned = true; + if (_Factions__WEBPACK_IMPORTED_MODULE_7__["Factions"][enemy] instanceof _Faction__WEBPACK_IMPORTED_MODULE_6__["Faction"]) { + _Factions__WEBPACK_IMPORTED_MODULE_7__["Factions"][enemy].isBanned = true; } } } //Displays the HTML content for a specific faction function displayFactionContent(factionName) { - var faction = _Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"][factionName]; + var faction = _Factions__WEBPACK_IMPORTED_MODULE_7__["Factions"][factionName]; if (faction == null) { throw new Error("Invalid factionName passed into displayFactionContent: " + factionName); } var factionInfo = faction.getInfo(); - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_16__["removeChildrenFromElement"])(_engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].Display.factionContent); + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_18__["removeChildrenFromElement"])(_engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].Display.factionContent); var elements = []; //Header and faction info - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("h1", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("h1", { innerText:factionName })); - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("pre", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("pre", { innerHTML:"" + factionInfo.infoText + "" })); - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { innerText:"---------------", })); @@ -25178,27 +22662,27 @@ function displayFactionContent(factionName) { var favorGain = faction.getFavorGain(); if (favorGain.length != 2) {favorGain = 0;} favorGain = favorGain[0]; - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { - innerText: "Reputation: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(faction.playerReputation, 4), - tooltip:"You will earn " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(favorGain, 0) + + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { + innerText: "Reputation: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(faction.playerReputation, 4), + tooltip:"You will earn " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(favorGain, 0) + " faction favor upon resetting after installing an Augmentation" })) - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { innerText:"---------------", })); - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { - innerText:"Faction Favor: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(faction.favor, 0), + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { + innerText:"Faction Favor: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(faction.favor, 0), tooltip:"Faction favor increases the rate at which " + "you earn reputation for this faction by 1% per favor. Faction favor " + "is gained whenever you reset after installing an Augmentation. The amount of " + "favor you gain depends on how much reputation you have with the faction" })); - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { innerText:"---------------", })); //Faction Work Description Text - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("pre", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("pre", { id:"faction-work-description-text", innerText:"Perform work/carry out assignments for your faction to help further its cause! By doing so " + "you will earn reputation for your faction. You will also gain reputation passively over time, " + @@ -25206,25 +22690,25 @@ function displayFactionContent(factionName) { "through this faction, which are powerful upgrades that enhance your abilities. Note that you cannot " + "use your terminal or create scripts when you are performing a task!" })); - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("br")); + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("br")); //Hacking Mission Option - var hackMissionDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", { + var hackMissionDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { id:"faction-hack-mission-div", class:"faction-work-div", }); - var hackMissionDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", {class:"faction-work-div-wrapper"}); + var hackMissionDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", {class:"faction-work-div-wrapper"}); hackMissionDiv.appendChild(hackMissionDivWrapper); - hackMissionDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + hackMissionDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { class:"a-link-button", innerText:"Hacking Mission", clickListener:()=>{ - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].loadMissionContent(); - var mission = new _Missions__WEBPACK_IMPORTED_MODULE_8__[/* HackingMission */ "a"](faction.playerReputation, faction); - Object(_Missions__WEBPACK_IMPORTED_MODULE_8__[/* setInMission */ "d"])(true, mission); //Sets inMission flag to true + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].loadMissionContent(); + var mission = new _Missions__WEBPACK_IMPORTED_MODULE_10__[/* HackingMission */ "a"](faction.playerReputation, faction); + Object(_Missions__WEBPACK_IMPORTED_MODULE_10__[/* setInMission */ "d"])(true, mission); //Sets inMission flag to true mission.init(); return false; } })); - hackMissionDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + hackMissionDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { innerText:"Attempt a hacking mission for your faction. " + "A mission is a mini game that, if won, earns you " + "significant reputation with this faction. (Recommended hacking level: 200+)" @@ -25232,19 +22716,19 @@ function displayFactionContent(factionName) { elements.push(hackMissionDiv); //Hacking Contracts Option - var hackDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", { + var hackDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { id:"faction-hack-div", class:"faction-work-div", }); - var hackDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", {class:"faction-work-div-wrapper"}); + var hackDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", {class:"faction-work-div-wrapper"}); hackDiv.appendChild(hackDivWrapper); - hackDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + hackDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { class:"a-link-button", innerText:"Hacking Contracts", clickListener:()=>{ - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].startFactionHackWork(faction); + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].startFactionHackWork(faction); return false; } })); - hackDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + hackDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { innerText:"Complete hacking contracts for your faction. " + "Your effectiveness, which determines how much " + "reputation you gain for this faction, is based on your hacking skill. " + @@ -25253,19 +22737,19 @@ function displayFactionContent(factionName) { elements.push(hackDiv); //Field Work Option - var fieldWorkDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", { + var fieldWorkDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { id:"faction-fieldwork-div", class:"faction-work-div" }); - var fieldWorkDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", {class:"faction-work-div-wrapper"}); + var fieldWorkDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", {class:"faction-work-div-wrapper"}); fieldWorkDiv.appendChild(fieldWorkDivWrapper); - fieldWorkDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + fieldWorkDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { class:"a-link-button", innerText:"Field Work", clickListener:()=>{ - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].startFactionFieldWork(faction); + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].startFactionFieldWork(faction); return false; } })); - fieldWorkDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + fieldWorkDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { innerText:"Carry out field missions for your faction. " + "Your effectiveness, which determines how much " + "reputation you gain for this faction, is based on all of your stats. " + @@ -25274,19 +22758,19 @@ function displayFactionContent(factionName) { elements.push(fieldWorkDiv); //Security Work Option - var securityWorkDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", { + var securityWorkDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { id:"faction-securitywork-div", class:"faction-work-div" }); - var securityWorkDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", {class:"faction-work-div-wrapper"}); + var securityWorkDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", {class:"faction-work-div-wrapper"}); securityWorkDiv.appendChild(securityWorkDivWrapper); - securityWorkDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + securityWorkDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { class:"a-link-button", innerText:"Security Work", clickListener:()=>{ - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].startFactionSecurityWork(faction); + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].startFactionSecurityWork(faction); return false; } })); - securityWorkDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + securityWorkDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { innerText:"Serve in a security detail for your faction. " + "Your effectiveness, which determines how much " + "reputation you gain for this faction, is based on your combat stats. " + @@ -25295,15 +22779,15 @@ function displayFactionContent(factionName) { elements.push(securityWorkDiv); //Donate for reputation - var donateDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", { + var donateDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { id:"faction-donate-div", class:"faction-work-div" }); - var donateDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", {class:"faction-work-div-wrapper"}); + var donateDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", {class:"faction-work-div-wrapper"}); donateDiv.appendChild(donateDivWrapper); - var donateRepGain = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + var donateRepGain = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { innerText:"This donation will result in 0.000 reputation gain" }); - var donateAmountInput = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("input", { + var donateAmountInput = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("input", { placeholder:"Donation amount", inputListener:()=>{ let amt = 0; @@ -25313,26 +22797,26 @@ function displayFactionContent(factionName) { if (isNaN(amt)) { donateRepGain.innerText = "Invalid donate amount entered!"; } else { - var repGain = amt / _Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].DonateMoneyToRepDivisor * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].faction_rep_mult; + var repGain = amt / _Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].DonateMoneyToRepDivisor * _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].faction_rep_mult; donateRepGain.innerText = "This donation will result in " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(repGain, 3) + " reputation gain"; + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(repGain, 3) + " reputation gain"; } }, }); - donateDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + donateDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { class:"a-link-button", innerText:"Donate Money", clickListener:()=>{ var amt = parseFloat(donateAmountInput.value); if (isNaN(amt) || amt < 0) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("Invalid amount entered!"); - } else if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].money.lt(amt)) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("You cannot afford to donate this much money!"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])("Invalid amount entered!"); + } else if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].money.lt(amt)) { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])("You cannot afford to donate this much money!"); } else { - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].loseMoney(amt); - var repGain = amt / _Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].DonateMoneyToRepDivisor * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].faction_rep_mult; + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].loseMoney(amt); + var repGain = amt / _Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].DonateMoneyToRepDivisor * _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].faction_rep_mult; faction.playerReputation += repGain; - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("You just donated " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_13__["numeralWrapper"].format(amt, "$0.000a") + " to " + - faction.name + " to gain " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(repGain, 3) + " reputation"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])("You just donated " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_15__["numeralWrapper"].format(amt, "$0.000a") + " to " + + faction.name + " to gain " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(repGain, 3) + " reputation"); displayFactionContent(factionName); } } @@ -25342,16 +22826,16 @@ function displayFactionContent(factionName) { elements.push(donateDiv); //Purchase Augmentations - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("pre", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("pre", { innerHTML: "
As your reputation with this faction rises, you will " + "unlock Augmentations, which you can purchase to enhance " + "your abilities.

" })); - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { class:"a-link-button", innerText:"Purchase Augmentations", clickListener:()=>{ - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].hideAllContent(); - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].Display.factionAugmentationsContent.style.display = "block"; + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].hideAllContent(); + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].Display.factionAugmentationsContent.style.display = "block"; displayFactionAugmentations(factionName); @@ -25360,7 +22844,7 @@ function displayFactionContent(factionName) { })); //Gang (BitNode-2) - if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].bitNodeN == 2 && (factionName == "Slum Snakes" || factionName == "Tetrads" || + if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].bitNodeN == 2 && (factionName == "Slum Snakes" || factionName == "Tetrads" || factionName == "The Syndicate" || factionName == "The Dark Army" || factionName == "Speakers for the Dead" || factionName == "NiteSec" || factionName == "The Black Hand")) { //Set everything else to invisible @@ -25371,32 +22855,32 @@ function displayFactionContent(factionName) { donateDiv.style.display = "none"; //Create the 'Manage Gang' button - var gangDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", { + var gangDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", { id:"faction-gang-div", class:"faction-work-div", display:"inline" }); - var gangDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", {class:"faction-work-div-wrapper"}); + var gangDivWrapper = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", {class:"faction-work-div-wrapper"}); gangDiv.appendChild(gangDivWrapper); - gangDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + gangDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { class:"a-link-button", innerText:"Manage Gang", clickListener: () => { - if (!_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].inGang()) { + if (!_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].inGang()) { // Determine whether this is a hacking gang let hacking = false; if (factionName === "NiteSec" || factionName === "The Black Hand") { hacking = true; } // Configure Yes/No buttons for the pop-up - var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxGetNoButton"])(); + var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetNoButton"])(); yesBtn.innerHTML = "Create Gang"; noBtn.innerHTML = "Cancel"; yesBtn.addEventListener("click", () => { - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].startGang(factionName, hacking); + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].startGang(factionName, hacking); document.getElementById("world-menu-header").click(); document.getElementById("world-menu-header").click(); - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].loadGangContent(); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxClose"])(); + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].loadGangContent(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); }); noBtn.addEventListener("click", () => { - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); }); // Pop-up text @@ -25410,31 +22894,31 @@ function displayFactionContent(factionName) { "Compared to hacking gangs, progression with combat gangs can be more difficult as territory management " + "is more important. However, well-managed combat gangs can progress faster than hacking ones.

"; } - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxCreate"])(`Would you like to create a new Gang with ${factionName}?

` + + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxCreate"])(`Would you like to create a new Gang with ${factionName}?

` + "Note that this will prevent you from creating a Gang with any other Faction until " + "this BitNode is destroyed.

" + gangTypeText + "Other than hacking vs combat, there are NO differences between the Factions you can " + "create a Gang with, and each of these Factions have all Augmentations available."); } else { - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].loadGangContent(); + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].loadGangContent(); } } })); - gangDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + gangDivWrapper.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { innerText:"Create and manage a gang for this Faction. " + "Gangs will earn you money and faction reputation." })); //Manage Gang button goes before Faction work stuff elements.splice(7, 1, gangDiv); - if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].inGang() && _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].gang.facName != factionName) { + if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].inGang() && _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].gang.facName != factionName) { //If the player has a gang but its not for this faction gangDiv.style.display = "none"; } //Display all elements for (var i = 0; i < elements.length; ++i) { - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].Display.factionContent.appendChild(elements[i]); + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].Display.factionContent.appendChild(elements[i]); } return; } @@ -25443,7 +22927,7 @@ function displayFactionContent(factionName) { throw new Error("Not a member of this faction, cannot display faction information"); } - donateDiv.style.display = faction.favor >= Math.floor(_Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].BaseFavorToDonate * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].RepToDonateToFaction) ? "inline" : "none"; + donateDiv.style.display = faction.favor >= Math.floor(_Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].BaseFavorToDonate * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__["BitNodeMultipliers"].RepToDonateToFaction) ? "inline" : "none"; hackMissionDiv.style.display = factionInfo.offerHackingMission ? "inline": "none"; hackDiv.style.display = factionInfo.offerHackingWork ? "inline" : "none"; @@ -25452,92 +22936,92 @@ function displayFactionContent(factionName) { //Display all elements for (var i = 0; i < elements.length; ++i) { - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].Display.factionContent.appendChild(elements[i]); + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].Display.factionContent.appendChild(elements[i]); } } function displayFactionAugmentations(factionName) { - var faction = _Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"][factionName]; + var faction = _Factions__WEBPACK_IMPORTED_MODULE_7__["Factions"][factionName]; if (faction == null) { throw new Error("Could not find faction " + factionName + " in displayFactionAugmentations"); } - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_16__["removeChildrenFromElement"])(_engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].Display.factionAugmentationsContent); + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_18__["removeChildrenFromElement"])(_engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].Display.factionAugmentationsContent); var elements = []; //Back button - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { innerText:"Back", class:"a-link-button", clickListener:()=>{ - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].loadFactionContent(); + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].loadFactionContent(); displayFactionContent(factionName); return false; } })); //Header text - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("h1", {innerText:"Faction Augmentations"})); - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("h1", {innerText:"Faction Augmentations"})); + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { id:"faction-augmentations-page-desc", innerHTML:"Lists all Augmentations that are available to purchase from " + factionName + "

" + "Augmentations are powerful upgrades that will enhance your abilities." })); - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("br")); - elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("br")); + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("br")); + elements.push(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("br")); //Augmentations List - var augmentationsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("ul"); + var augmentationsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("ul"); //Sort buttons - const sortByCostBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + const sortByCostBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { innerText:"Sort by Cost", class:"a-link-button", clickListener:()=>{ - _Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].PurchaseAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_10__["PurchaseAugmentationsOrderSetting"].Cost; + _Settings__WEBPACK_IMPORTED_MODULE_13__["Settings"].PurchaseAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_12__["PurchaseAugmentationsOrderSetting"].Cost; var augs = faction.augmentations.slice(); augs.sort((augName1, augName2)=>{ - var aug1 = _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][augName1], aug2 = _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][augName2]; + var aug1 = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"][augName1], aug2 = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"][augName2]; if (aug1 == null || aug2 == null) { throw new Error("Invalid Augmentation Names"); } return aug1.baseCost - aug2.baseCost; }); - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_16__["removeChildrenFromElement"])(augmentationsList); + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_18__["removeChildrenFromElement"])(augmentationsList); createFactionAugmentationDisplayElements(augmentationsList, augs, faction); } }); - const sortByRepBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + const sortByRepBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { innerText:"Sort by Reputation", class:"a-link-button", clickListener:()=>{ - _Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].PurchaseAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_10__["PurchaseAugmentationsOrderSetting"].Reputation; + _Settings__WEBPACK_IMPORTED_MODULE_13__["Settings"].PurchaseAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_12__["PurchaseAugmentationsOrderSetting"].Reputation; var augs = faction.augmentations.slice(); augs.sort((augName1, augName2)=>{ - var aug1 = _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][augName1], aug2 = _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][augName2]; + var aug1 = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"][augName1], aug2 = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"][augName2]; if (aug1 == null || aug2 == null) { throw new Error("Invalid Augmentation Names"); } return aug1.baseRepRequirement - aug2.baseRepRequirement; }); - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_16__["removeChildrenFromElement"])(augmentationsList); + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_18__["removeChildrenFromElement"])(augmentationsList); createFactionAugmentationDisplayElements(augmentationsList, augs, faction); } }); - const defaultSortBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + const defaultSortBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { innerText:"Sort by Default Order", class:"a-link-button", clickListener:()=>{ - _Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].PurchaseAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_10__["PurchaseAugmentationsOrderSetting"].Default; - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_16__["removeChildrenFromElement"])(augmentationsList); + _Settings__WEBPACK_IMPORTED_MODULE_13__["Settings"].PurchaseAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_12__["PurchaseAugmentationsOrderSetting"].Default; + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_18__["removeChildrenFromElement"])(augmentationsList); createFactionAugmentationDisplayElements(augmentationsList, faction.augmentations, faction); } }); elements.push(sortByCostBtn); elements.push(sortByRepBtn); elements.push(defaultSortBtn); - switch(_Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].PurchaseAugmentationsOrder) { - case _SettingEnums__WEBPACK_IMPORTED_MODULE_10__["PurchaseAugmentationsOrderSetting"].Cost: + switch(_Settings__WEBPACK_IMPORTED_MODULE_13__["Settings"].PurchaseAugmentationsOrder) { + case _SettingEnums__WEBPACK_IMPORTED_MODULE_12__["PurchaseAugmentationsOrderSetting"].Cost: sortByCostBtn.click(); break; - case _SettingEnums__WEBPACK_IMPORTED_MODULE_10__["PurchaseAugmentationsOrderSetting"].Reputation: + case _SettingEnums__WEBPACK_IMPORTED_MODULE_12__["PurchaseAugmentationsOrderSetting"].Reputation: sortByRepBtn.click(); break; default: @@ -25548,7 +23032,7 @@ function displayFactionAugmentations(factionName) { elements.push(augmentationsList); for (var i = 0; i < elements.length; ++i) { - _engine__WEBPACK_IMPORTED_MODULE_3__["Engine"].Display.factionAugmentationsContent.appendChild(elements[i]); + _engine__WEBPACK_IMPORTED_MODULE_5__["Engine"].Display.factionAugmentationsContent.appendChild(elements[i]); } } @@ -25563,31 +23047,31 @@ function createFactionAugmentationDisplayElements(augmentationsList, augs, facti for (var i = 0; i < augs.length; ++i) { (function () { - var aug = _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][augs[i]]; + var aug = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"][augs[i]]; if (aug == null) { throw new Error("Invalid Augmentation when trying to create Augmentation display Elements"); } var owned = false; - for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].queuedAugmentations.length; ++j) { - if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].queuedAugmentations[j].name == aug.name) { + for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].queuedAugmentations.length; ++j) { + if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].queuedAugmentations[j].name == aug.name) { owned = true; break; } } - for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].augmentations.length; ++j) { - if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].augmentations[j].name == aug.name) { + for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].augmentations.length; ++j) { + if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].augmentations[j].name == aug.name) { owned = true; break; } } - var item = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("li"); - var span = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("span", {display:"inline-block"}); - var aDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("div", {tooltip:aug.info}); - var aElem = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("a", { + var item = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("li"); + var span = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("span", {display:"inline-block"}); + var aDiv = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("div", {tooltip:aug.info}); + var aElem = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("a", { innerText:aug.name, display:"inline", clickListener:()=>{ - if (!_Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].SuppressBuyAugmentationConfirmation) { + if (!_Settings__WEBPACK_IMPORTED_MODULE_13__["Settings"].SuppressBuyAugmentationConfirmation) { purchaseAugmentationBoxCreate(aug, faction); } else { purchaseAugmentation(aug, faction); @@ -25595,10 +23079,10 @@ function createFactionAugmentationDisplayElements(augmentationsList, augs, facti return false; } }); - if (aug.name == _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"].NeuroFluxGovernor) { + if (aug.name == _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { aElem.innerText += " - Level " + (getNextNeurofluxLevel()); } - var pElem = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_17__["createElement"])("p", { + var pElem = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_19__["createElement"])("p", { display:"inline", }) var req = aug.baseRepRequirement * factionInfo.augmentationRepRequirementMult; @@ -25607,15 +23091,15 @@ function createFactionAugmentationDisplayElements(augmentationsList, augs, facti aElem.setAttribute("class", "a-link-button-inactive"); pElem.innerHTML = "LOCKED (Requires " + aug.prereqs.join(",") + " as prerequisite(s))"; pElem.style.color = "red"; - } else if (aug.name != _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"].NeuroFluxGovernor && (aug.owned || owned)) { + } else if (aug.name != _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor && (aug.owned || owned)) { aElem.setAttribute("class", "a-link-button-inactive"); pElem.innerHTML = "ALREADY OWNED"; } else if (faction.playerReputation >= req) { aElem.setAttribute("class", "a-link-button"); - pElem.innerHTML = "UNLOCKED - " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_13__["numeralWrapper"].format(aug.baseCost * factionInfo.augmentationPriceMult, "$0.000a"); + pElem.innerHTML = "UNLOCKED - " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_15__["numeralWrapper"].format(aug.baseCost * factionInfo.augmentationPriceMult, "$0.000a"); } else { aElem.setAttribute("class", "a-link-button-inactive"); - pElem.innerHTML = "LOCKED (Requires " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(req, 1) + " faction reputation) - " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_13__["numeralWrapper"].format(aug.baseCost * factionInfo.augmentationPriceMult, "$0.000a"); + pElem.innerHTML = "LOCKED (Requires " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(req, 1) + " faction reputation) - " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_15__["numeralWrapper"].format(aug.baseCost * factionInfo.augmentationPriceMult, "$0.000a"); pElem.style.color = "red"; } aDiv.appendChild(aElem); @@ -25629,20 +23113,20 @@ function createFactionAugmentationDisplayElements(augmentationsList, augs, facti function purchaseAugmentationBoxCreate(aug, fac) { const factionInfo = fac.getInfo(); - var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxGetNoButton"])(); + var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetNoButton"])(); yesBtn.innerHTML = "Purchase"; noBtn.innerHTML = "Cancel"; yesBtn.addEventListener("click", function() { purchaseAugmentation(aug, fac); }); noBtn.addEventListener("click", function() { - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); }); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxCreate"])("

" + aug.name + "


" + + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxCreate"])("

" + aug.name + "


" + aug.info + "

" + "
Would you like to purchase the " + aug.name + " Augmentation for $" + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(aug.baseCost * factionInfo.augmentationPriceMult, 2) + "?"); + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(aug.baseCost * factionInfo.augmentationPriceMult, 2) + "?"); } //Returns a boolean indicating whether the player has the prerequisites for the @@ -25651,7 +23135,7 @@ function hasAugmentationPrereqs(aug) { var hasPrereqs = true; if (aug.prereqs && aug.prereqs.length > 0) { for (var i = 0; i < aug.prereqs.length; ++i) { - var prereqAug = _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][aug.prereqs[i]]; + var prereqAug = _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"][aug.prereqs[i]]; if (prereqAug == null) { console.log("ERROR: Invalid prereq Augmentation: " + aug.prereqs[i]); continue; @@ -25660,8 +23144,8 @@ function hasAugmentationPrereqs(aug) { hasPrereqs = false; //Check if the aug is purchased - for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].queuedAugmentations.length; ++j) { - if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].queuedAugmentations[j].name === prereqAug.name) { + for (var j = 0; j < _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].queuedAugmentations.length; ++j) { + if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].queuedAugmentations[j].name === prereqAug.name) { hasPrereqs = true; break; } @@ -25678,55 +23162,55 @@ function purchaseAugmentation(aug, fac, sing=false) { if (!hasPrereqs) { var txt = "You must first purchase or install " + aug.prereqs.join(",") + " before you can " + "purchase this one."; - if (sing) {return txt;} else {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])(txt);} - } else if (aug.baseCost !== 0 && _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].money.lt(aug.baseCost * factionInfo.augmentationPriceMult)) { + if (sing) {return txt;} else {Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])(txt);} + } else if (aug.baseCost !== 0 && _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].money.lt(aug.baseCost * factionInfo.augmentationPriceMult)) { let txt = "You don't have enough money to purchase " + aug.name; if (sing) {return txt;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])(txt); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])(txt); } else if (fac.playerReputation < aug.baseRepRequirement) { let txt = "You don't have enough faction reputation to purchase " + aug.name; if (sing) {return txt;} - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])(txt); - } else if (aug.baseCost === 0 || _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].money.gte(aug.baseCost * factionInfo.augmentationPriceMult)) { - if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].firstAugPurchased === false) { - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].firstAugPurchased = true; + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])(txt); + } else if (aug.baseCost === 0 || _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].money.gte(aug.baseCost * factionInfo.augmentationPriceMult)) { + if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].firstAugPurchased === false) { + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].firstAugPurchased = true; document.getElementById("augmentations-tab").style.display = "list-item"; document.getElementById("character-menu-header").click(); document.getElementById("character-menu-header").click(); } - var queuedAugmentation = new _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* PlayerOwnedAugmentation */ "d"](aug.name); - if (aug.name == _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"].NeuroFluxGovernor) { + var queuedAugmentation = new _Augmentation_PlayerOwnedAugmentation__WEBPACK_IMPORTED_MODULE_1__["PlayerOwnedAugmentation"](aug.name); + if (aug.name == _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { queuedAugmentation.level = getNextNeurofluxLevel(); } - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].queuedAugmentations.push(queuedAugmentation); + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].queuedAugmentations.push(queuedAugmentation); - _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].loseMoney((aug.baseCost * factionInfo.augmentationPriceMult)); + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].loseMoney((aug.baseCost * factionInfo.augmentationPriceMult)); //If you just purchased Neuroflux Governor, recalculate the cost - if (aug.name == _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"].NeuroFluxGovernor) { + if (aug.name == _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { var nextLevel = getNextNeurofluxLevel(); --nextLevel; - var mult = Math.pow(_Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].NeuroFluxGovernorLevelMult, nextLevel); - aug.baseRepRequirement = 500 * mult * _Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].AugmentationRepMultiplier * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].AugmentationRepCost; - aug.baseCost = 750e3 * mult * _Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].AugmentationCostMultiplier * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].AugmentationMoneyCost; + var mult = Math.pow(_Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].NeuroFluxGovernorLevelMult, nextLevel); + aug.baseRepRequirement = 500 * mult * _Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].AugmentationRepMultiplier * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__["BitNodeMultipliers"].AugmentationRepCost; + aug.baseCost = 750e3 * mult * _Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].AugmentationCostMultiplier * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__["BitNodeMultipliers"].AugmentationMoneyCost; - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].queuedAugmentations.length-1; ++i) { - aug.baseCost *= _Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].MultipleAugMultiplier; + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].queuedAugmentations.length-1; ++i) { + aug.baseCost *= _Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].MultipleAugMultiplier; } } - for (var name in _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"]) { - if (_Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"].hasOwnProperty(name)) { - _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* Augmentations */ "c"][name].baseCost *= _Constants__WEBPACK_IMPORTED_MODULE_2__["CONSTANTS"].MultipleAugMultiplier; + for (var name in _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"]) { + if (_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"].hasOwnProperty(name)) { + _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_0__["Augmentations"][name].baseCost *= _Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].MultipleAugMultiplier; } } if (sing) { return "You purchased " + aug.name; } else { - if(!_Settings__WEBPACK_IMPORTED_MODULE_11__["Settings"].SuppressBuyAugmentationConfirmation){ - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("You purchased " + aug.name + ". It's enhancements will not take " + + if(!_Settings__WEBPACK_IMPORTED_MODULE_13__["Settings"].SuppressBuyAugmentationConfirmation){ + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])("You purchased " + aug.name + ". It's enhancements will not take " + "effect until they are installed. To install your augmentations, go to the " + "'Augmentations' tab on the left-hand navigation menu. Purchasing additional " + "augmentations will now be more expensive."); @@ -25735,25 +23219,25 @@ function purchaseAugmentation(aug, fac, sing=false) { displayFactionAugmentations(fac.name); } else { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_14__["dialogBoxCreate"])("Hmm, something went wrong when trying to purchase an Augmentation. " + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])("Hmm, something went wrong when trying to purchase an Augmentation. " + "Please report this to the game developer with an explanation of how to " + "reproduce this."); } - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_20__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); } function getNextNeurofluxLevel() { // Get current Neuroflux level based on Player's augmentations let currLevel = 0; - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].augmentations.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].augmentations[i].name === _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"].NeuroFluxGovernor) { - currLevel = _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].augmentations[i].level; + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].augmentations.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].augmentations[i].name === _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { + currLevel = _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].augmentations[i].level; } } // Account for purchased but uninstalled Augmentations - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].queuedAugmentations.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].queuedAugmentations[i].name == _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"].NeuroFluxGovernor) { + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].queuedAugmentations.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].queuedAugmentations[i].name == _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { ++currLevel; } } @@ -25761,15 +23245,15 @@ function getNextNeurofluxLevel() { } function processPassiveFactionRepGain(numCycles) { - var numTimesGain = (numCycles / 600) * _Player__WEBPACK_IMPORTED_MODULE_9__[/* Player */ "a"].faction_rep_mult; - for (var name in _Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]) { - if (_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"].hasOwnProperty(name)) { - var faction = _Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"][name]; + var numTimesGain = (numCycles / 600) * _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].faction_rep_mult; + for (var name in _Factions__WEBPACK_IMPORTED_MODULE_7__["Factions"]) { + if (_Factions__WEBPACK_IMPORTED_MODULE_7__["Factions"].hasOwnProperty(name)) { + var faction = _Factions__WEBPACK_IMPORTED_MODULE_7__["Factions"][name]; //TODO Get hard value of 1 rep per "rep gain cycle"" for now.. //maybe later make this based on //a player's 'status' like how powerful they are and how much money they have - if (faction.isMember) {faction.playerReputation += (numTimesGain * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_1__["BitNodeMultipliers"].FactionPassiveRepGain);} + if (faction.isMember) {faction.playerReputation += (numTimesGain * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__["BitNodeMultipliers"].FactionPassiveRepGain);} } } } @@ -25778,7 +23262,7 @@ function processPassiveFactionRepGain(numCycles) { /***/ }), -/* 47 */ +/* 50 */ /*!**********************!*\ !*** ./src/Fconf.js ***! \**********************/ @@ -25791,9 +23275,9 @@ function processPassiveFactionRepGain(numCycles) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return createFconf; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return parseFconfSettings; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return loadFconf; }); -/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/acorn */ 49); +/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/acorn */ 52); /* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_utils_acorn__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/DialogBox */ 8); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/DialogBox */ 9); @@ -26054,7 +23538,7 @@ function setMainMenuStyle() { /***/ }), -/* 48 */ +/* 51 */ /*!************************!*\ !*** ./src/Hacking.js ***! \************************/ @@ -26069,10 +23553,10 @@ function setMainMenuStyle() { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return calculateHackingTime; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return calculateGrowTime; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return calculateWeakenTime; }); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Server */ 11); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Server */ 12); @@ -26106,7 +23590,7 @@ function calculateHackingExpGain(server) { var expGain = baseExpGain; expGain += (server.baseDifficulty * _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].hacking_exp_mult * diffFactor); - return expGain * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].HackExpGain; + return expGain * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].HackExpGain; } /** @@ -26123,7 +23607,7 @@ function calculatePercentMoneyHacked(server) { if (percentMoneyHacked < 0) { return 0; } if (percentMoneyHacked > 1) { return 1; } - return percentMoneyHacked * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ScriptHackMoney; + return percentMoneyHacked * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ScriptHackMoney; } /** @@ -26168,7 +23652,7 @@ function calculateWeakenTime(server, hack, int) { /***/ }), -/* 49 */ +/* 52 */ /*!************************!*\ !*** ./utils/acorn.js ***! \************************/ @@ -29808,7 +27292,7 @@ Object.defineProperty(exports, '__esModule', { value: true }); }))); /***/ }), -/* 50 */ +/* 53 */ /*!*********************!*\ !*** ./src/Gang.js ***! \*********************/ @@ -29821,40 +27305,41 @@ Object.defineProperty(exports, '__esModule', { value: true }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return resetGangs; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return loadAllGangs; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return Gang; }); -/* harmony import */ var _data_gangmembertasks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./data/gangmembertasks */ 135); +/* harmony import */ var _data_gangmembertasks__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./data/gangmembertasks */ 148); /* harmony import */ var _data_gangmembertasks__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_data_gangmembertasks__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _data_gangmemberupgrades__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./data/gangmemberupgrades */ 134); +/* harmony import */ var _data_gangmemberupgrades__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./data/gangmemberupgrades */ 147); /* harmony import */ var _data_gangmemberupgrades__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_data_gangmemberupgrades__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Faction/Faction */ 57); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Faction/Faction */ 58); /* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Faction_Faction__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Faction/Factions */ 14); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Faction/Factions */ 16); /* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 46); +/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 49); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); -/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/helpers/keyCodes */ 25); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/JSONReviver */ 15); +/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/helpers/keyCodes */ 27); /* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/uiHelpers/createAccordionElement */ 79); +/* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/uiHelpers/createAccordionElement */ 84); /* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 36); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 40); /* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ui/navigationTracking */ 12); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ui/navigationTracking */ 14); /* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_13__); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 44); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 15); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 45); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_15__); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 17); /* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 30); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 32); /* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/uiHelpers/removeElement */ 61); +/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/uiHelpers/removeElement */ 63); /* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 20); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 23); /* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_19__); /* Also add police clashes @@ -30048,7 +27533,7 @@ Gang.prototype.process = function(numCycles=1, player) { this.processTerritoryAndPowerGains(cycles); this.storedCycles -= cycles; } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_15__[/* exceptionAlert */ "a"])(`Exception caught when processing Gang: ${e}`); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_15__["exceptionAlert"])(`Exception caught when processing Gang: ${e}`); } } @@ -30337,7 +27822,7 @@ Gang.prototype.ascendMember = function(memberObj, workerScript) { return res; } catch(e) { if (workerScript == null) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_15__[/* exceptionAlert */ "a"])(e); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_15__["exceptionAlert"])(e); } else { throw e; // Re-throw, will be caught in the Netscript Function } @@ -31781,10 +29266,10 @@ Gang.prototype.clearUI = function() { UIElems.gangMemberPanels = {}; } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 51 */ +/* 54 */ /*!*************************!*\ !*** ./src/Terminal.js ***! \*************************/ @@ -31795,60 +29280,60 @@ Gang.prototype.clearUI = function() { "use strict"; /* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return postNetburnerText; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Terminal; }); -/* harmony import */ var _Alias__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Alias */ 45); -/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CodingContracts */ 42); +/* harmony import */ var _Alias__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Alias */ 48); +/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CodingContracts */ 46); /* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_CodingContracts__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Programs/Programs */ 24); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Programs/Programs */ 26); /* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _DarkWeb_DarkWeb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./DarkWeb/DarkWeb */ 119); -/* harmony import */ var _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./DarkWeb/DarkWebItems */ 71); +/* harmony import */ var _DarkWeb_DarkWeb__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./DarkWeb/DarkWeb */ 128); +/* harmony import */ var _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./DarkWeb/DarkWebItems */ 75); /* harmony import */ var _DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_DarkWeb_DarkWebItems__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _Fconf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Fconf */ 47); -/* harmony import */ var _Hacking__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Hacking */ 48); -/* harmony import */ var _HelpText__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./HelpText */ 103); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _Fconf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Fconf */ 50); +/* harmony import */ var _Hacking__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Hacking */ 51); +/* harmony import */ var _HelpText__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./HelpText */ 110); /* harmony import */ var _HelpText__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_HelpText__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _InteractiveTutorial__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./InteractiveTutorial */ 34); -/* harmony import */ var _Literature__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Literature */ 84); -/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Message */ 41); -/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./NetscriptWorker */ 26); +/* harmony import */ var _InteractiveTutorial__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./InteractiveTutorial */ 38); +/* harmony import */ var _Literature__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Literature */ 89); +/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Message */ 44); +/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./NetscriptWorker */ 29); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./RedPill */ 59); -/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Script */ 31); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Settings */ 18); +/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./RedPill */ 64); +/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Script */ 35); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Settings */ 20); /* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_18__); -/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./SpecialServerIps */ 33); -/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./TextFile */ 65); +/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./SpecialServerIps */ 36); +/* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./TextFile */ 69); /* harmony import */ var _TextFile__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_TextFile__WEBPACK_IMPORTED_MODULE_20__); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./ui/navigationTracking */ 12); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./ui/navigationTracking */ 14); /* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_22__); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_23__); -/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../utils/helpers/keyCodes */ 25); +/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../utils/helpers/keyCodes */ 27); /* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/helpers/addOffset */ 66); +/* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/helpers/addOffset */ 70); /* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils/helpers/isString */ 40); +/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils/helpers/isString */ 43); /* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_26__); -/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 55); +/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 59); /* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_27__); -/* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../utils/helpers/getTimestamp */ 89); +/* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../utils/helpers/getTimestamp */ 93); /* harmony import */ var _utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getTimestamp__WEBPACK_IMPORTED_MODULE_28__); -/* harmony import */ var _utils_LogBox__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../utils/LogBox */ 81); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../utils/YesNoBox */ 19); +/* harmony import */ var _utils_LogBox__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../utils/LogBox */ 86); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../utils/YesNoBox */ 21); /* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_30__); -/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./ui/postToTerminal */ 7); +/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./ui/postToTerminal */ 8); /* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(_ui_postToTerminal__WEBPACK_IMPORTED_MODULE_31__); -/* harmony import */ var autosize__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! autosize */ 153); +/* harmony import */ var autosize__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! autosize */ 166); /* harmony import */ var autosize__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(autosize__WEBPACK_IMPORTED_MODULE_32__); -/* harmony import */ var jszip__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! jszip */ 152); +/* harmony import */ var jszip__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! jszip */ 165); /* harmony import */ var jszip__WEBPACK_IMPORTED_MODULE_33___default = /*#__PURE__*/__webpack_require__.n(jszip__WEBPACK_IMPORTED_MODULE_33__); -/* harmony import */ var file_saver__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! file-saver */ 151); +/* harmony import */ var file_saver__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! file-saver */ 164); /* harmony import */ var file_saver__WEBPACK_IMPORTED_MODULE_34___default = /*#__PURE__*/__webpack_require__.n(file_saver__WEBPACK_IMPORTED_MODULE_34__); @@ -34007,10 +31492,10 @@ let Terminal = { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 52 */ +/* 55 */ /*!*********************************************!*\ !*** ./utils/uiHelpers/appendLineBreaks.ts ***! \*********************************************/ @@ -34036,7 +31521,7 @@ exports.appendLineBreaks = appendLineBreaks; /***/ }), -/* 53 */ +/* 56 */ /*!*************************************!*\ !*** ./src/NetscriptBladeburner.js ***! \*************************************/ @@ -34049,8 +31534,8 @@ exports.appendLineBreaks = appendLineBreaks; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return unknownBladeburnerExceptionMessage; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return checkBladeburnerAccess; }); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Bladeburner */ 32); -/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./NetscriptEvaluator */ 6); +/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Bladeburner */ 34); +/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./NetscriptEvaluator */ 7); @@ -34080,7 +31565,7 @@ function checkBladeburnerAccess(workerScript, functionName) { /***/ }), -/* 54 */ +/* 57 */ /*!*******************************************!*\ !*** ./utils/uiHelpers/getElementById.ts ***! \*******************************************/ @@ -34108,7 +31593,131 @@ exports.getElementById = getElementById; /***/ }), -/* 55 */ +/* 58 */ +/*!********************************!*\ + !*** ./src/Faction/Faction.ts ***! + \********************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const Constants_1 = __webpack_require__(/*! ../Constants */ 1); +const FactionInfo_1 = __webpack_require__(/*! ./FactionInfo */ 123); +const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 15); +class Faction { + constructor(name = "") { + /** + * Flag signalling whether the player has already received an invitation + * to this faction + */ + this.alreadyInvited = false; + /** + * Holds names of all augmentations that this Faction offers + */ + this.augmentations = []; + /** + * Amount of favor the player has with this faction. + */ + this.favor = 0; + /** + * Flag signalling whether player has been banned from this faction + */ + this.isBanned = false; + /** + * Flag signalling whether player is a member of this faction + */ + this.isMember = false; + /** + * Name of faction + */ + this.name = ""; + /** + * Amount of reputation player has with this faction + */ + this.playerReputation = 0; + /** + * Reputation from the last "prestige" that was not converted to favor. + * This reputation rolls over and is used for the next favor calculation + */ + this.rolloverRep = 0; + this.name = name; + } + /** + * Initiatizes a Faction object from a JSON save state. + */ + static fromJSON(value) { + return JSONReviver_1.Generic_fromJSON(Faction, value.data); + } + getInfo() { + const info = FactionInfo_1.FactionInfos[this.name]; + if (info == null) { + throw new Error(`Missing faction from FactionInfos: ${this.name} this probably means the faction got corrupted somehow`); + } + return info; + } + gainFavor() { + if (this.favor == null) { + this.favor = 0; + } + if (this.rolloverRep == null) { + this.rolloverRep = 0; + } + const res = this.getFavorGain(); + if (res.length !== 2) { + console.error("Invalid result from getFavorGain() function"); + return; + } + this.favor += res[0]; + this.rolloverRep = res[1]; + } + //Returns an array with [How much favor would be gained, how much rep would be left over] + getFavorGain() { + if (this.favor == null) { + this.favor = 0; + } + if (this.rolloverRep == null) { + this.rolloverRep = 0; + } + var favorGain = 0, rep = this.playerReputation + this.rolloverRep; + let reqdRep = Constants_1.CONSTANTS.FactionReputationToFavorBase * + Math.pow(Constants_1.CONSTANTS.FactionReputationToFavorMult, this.favor); + while (rep > 0) { + if (rep >= reqdRep) { + ++favorGain; + rep -= reqdRep; + } + else { + break; + } + reqdRep *= Constants_1.CONSTANTS.FactionReputationToFavorMult; + } + return [favorGain, rep]; + } + //Adds all Augmentations to this faction. + addAllAugmentations(augs) { + this.augmentations.length = 0; + for (const name in augs) { + if (augs.hasOwnProperty(name)) { + this.augmentations.push(name); + } + } + } + /** + * Serialize the current object to a JSON save state. + */ + toJSON() { + return JSONReviver_1.Generic_toJSON("Faction", this); + } +} +exports.Faction = Faction; +JSONReviver_1.Reviver.constructors.Faction = Faction; + + +/***/ }), +/* 59 */ /*!****************************************!*\ !*** ./utils/helpers/arrayToString.ts ***! \****************************************/ @@ -34129,7 +31738,7 @@ exports.arrayToString = arrayToString; /***/ }), -/* 56 */ +/* 60 */ /*!*************************!*\ !*** ./src/Missions.js ***! \*************************/ @@ -34144,21 +31753,21 @@ exports.arrayToString = arrayToString; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return currMission; }); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 46); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 49); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 16); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 22); /* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/helpers/addOffset */ 66); +/* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/helpers/addOffset */ 70); /* harmony import */ var _utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_addOffset__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 15); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 17); /* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/helpers/isString */ 40); +/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/helpers/isString */ 43); /* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var jsplumb__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! jsplumb */ 258); +/* harmony import */ var jsplumb__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! jsplumb */ 277); /* harmony import */ var jsplumb__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(jsplumb__WEBPACK_IMPORTED_MODULE_10__); @@ -35698,134 +33307,2368 @@ HackingMission.prototype.finishMission = function(win) { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 57 */ -/*!********************************!*\ - !*** ./src/Faction/Faction.ts ***! - \********************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { +/* 61 */ +/*!*************************************************!*\ + !*** ./src/Augmentation/AugmentationHelpers.js ***! + \*************************************************/ +/*! exports provided: installAugmentations, initAugmentations, applyAugmentation, augmentationExists, displayAugmentationsContent */ +/*! exports used: applyAugmentation, augmentationExists, displayAugmentationsContent, initAugmentations, installAugmentations */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "e", function() { return installAugmentations; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return initAugmentations; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return applyAugmentation; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return augmentationExists; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return displayAugmentationsContent; }); +/* harmony import */ var _Augmentation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentation */ 18); +/* harmony import */ var _Augmentation__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Augmentation__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentations */ 13); +/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Augmentations__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./data/AugmentationNames */ 6); +/* harmony import */ var _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../Constants */ 1); +/* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../Faction/Factions */ 16); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../NetscriptFunctions */ 47); +/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../NetscriptWorker */ 29); +/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../Player */ 0); +/* harmony import */ var _Prestige__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../Prestige */ 92); +/* harmony import */ var _SaveObject__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../SaveObject */ 78); +/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Script */ 35); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Server */ 12); +/* harmony import */ var _SettingEnums__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../SettingEnums */ 77); +/* harmony import */ var _SettingEnums__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_SettingEnums__WEBPACK_IMPORTED_MODULE_13__); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../Settings */ 20); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_14__); +/* harmony import */ var _SourceFile__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../SourceFile */ 80); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../../utils/uiHelpers/createAccordionElement */ 84); +/* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_17__); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils/JSONReviver */ 15); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../utils/StringHelperFunctions */ 3); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__); +/* harmony import */ var _utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../utils/helpers/clearObject */ 85); +/* harmony import */ var _utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../utils/uiHelpers/createElement */ 2); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__); +/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../utils/helpers/isString */ 43); +/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_22__); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../utils/uiHelpers/removeChildrenFromElement */ 32); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_23__); -Object.defineProperty(exports, "__esModule", { value: true }); -const Constants_1 = __webpack_require__(/*! ../Constants */ 1); -const FactionInfo_1 = __webpack_require__(/*! ./FactionInfo */ 115); -const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 13); -class Faction { - constructor(name = "") { - /** - * Flag signalling whether the player has already received an invitation - * to this faction - */ - this.alreadyInvited = false; - /** - * Holds names of all augmentations that this Faction offers - */ - this.augmentations = []; - /** - * Amount of favor the player has with this faction. - */ - this.favor = 0; - /** - * Flag signalling whether player has been banned from this faction - */ - this.isBanned = false; - /** - * Flag signalling whether player is a member of this faction - */ - this.isMember = false; - /** - * Name of faction - */ - this.name = ""; - /** - * Amount of reputation player has with this faction - */ - this.playerReputation = 0; - /** - * Reputation from the last "prestige" that was not converted to favor. - * This reputation rolls over and is used for the next favor calculation - */ - this.rolloverRep = 0; - this.name = name; + + + + + + + + + + + + + + + + + + + + + + + + + + + +function AddToAugmentations(aug) { + var name = aug.name; + _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][name] = aug; +} + +function initAugmentations() { + for (var name in _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]) { + if (_Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"].hasOwnProperty(name)) { + _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"][name].augmentations = []; + } } - /** - * Initiatizes a Faction object from a JSON save state. - */ - static fromJSON(value) { - return JSONReviver_1.Generic_fromJSON(Faction, value.data); + + //Reset Augmentations + Object(_utils_helpers_clearObject__WEBPACK_IMPORTED_MODULE_20__["clearObject"])(_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]); + + //Combat stat augmentations + var HemoRecirculator = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HemoRecirculator, moneyCost: 9e6, repCost:4e3, + info:"A heart implant that greatly increases the body's ability to effectively use and pump " + + "blood.

" + + "This augmentation increases all of the player's combat stats by 8%.", + strength_mult: 1.08, + defense_mult: 1.08, + agility_mult: 1.08, + dexterity_mult: 1.08, + }); + HemoRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HemoRecirculator)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HemoRecirculator]; } - getInfo() { - const info = FactionInfo_1.FactionInfos[this.name]; - if (info == null) { - throw new Error(`Missing faction from FactionInfos: ${this.name} this probably means the faction got corrupted somehow`); - } - return info; + AddToAugmentations(HemoRecirculator); + + var Targeting1 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting1, moneyCost:3e6, repCost:2e3, + info:"This cranial implant is embedded within the player's inner ear structure and optic nerves. It regulates and enhances the user's " + + "balance and hand-eye coordination. It is also capable of augmenting reality by projecting digital information " + + "directly onto the retina. These enhancements allow the player to better lock-on and keep track of enemies.

" + + "This augmentation increases the player's dexterity by 10%.", + dexterity_mult: 1.1, + }); + Targeting1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", + "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting1)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting1]; } - gainFavor() { - if (this.favor == null) { - this.favor = 0; - } - if (this.rolloverRep == null) { - this.rolloverRep = 0; - } - const res = this.getFavorGain(); - if (res.length !== 2) { - console.error("Invalid result from getFavorGain() function"); - return; - } - this.favor += res[0]; - this.rolloverRep = res[1]; + AddToAugmentations(Targeting1); + + var Targeting2 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting2, moneyCost:8.5e6, repCost:3.5e3, + info:"This is an upgrade of the Augmented Targeting I cranial implant, which is capable of augmenting reality " + + "and enhances the user's balance and hand-eye coordination.

" + + "This augmentation increases the player's dexterity by 20%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting1], + dexterity_mult: 1.2, + }); + Targeting2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", + "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting2)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting2]; } - //Returns an array with [How much favor would be gained, how much rep would be left over] - getFavorGain() { - if (this.favor == null) { - this.favor = 0; - } - if (this.rolloverRep == null) { - this.rolloverRep = 0; - } - var favorGain = 0, rep = this.playerReputation + this.rolloverRep; - let reqdRep = Constants_1.CONSTANTS.FactionReputationToFavorBase * - Math.pow(Constants_1.CONSTANTS.FactionReputationToFavorMult, this.favor); - while (rep > 0) { - if (rep >= reqdRep) { - ++favorGain; - rep -= reqdRep; - } - else { - break; - } - reqdRep *= Constants_1.CONSTANTS.FactionReputationToFavorMult; - } - return [favorGain, rep]; + AddToAugmentations(Targeting2); + + var Targeting3 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting3, moneyCost:23e6, repCost:11e3, + info:"This is an upgrade of the Augmented Targeting II cranial implant, which is capable of augmenting reality " + + "and enhances the user's balance and hand-eye coordination.

" + + "This augmentation increases the player's dexterity by 30%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting2], + dexterity_mult: 1.3, + }); + Targeting3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", + "KuaiGong International", "Blade Industries", "The Covenant"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting3)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Targeting3]; } - //Adds all Augmentations to this faction. - addAllAugmentations(augs) { - this.augmentations.length = 0; - for (const name in augs) { - if (augs.hasOwnProperty(name)) { - this.augmentations.push(name); + AddToAugmentations(Targeting3); + + var SyntheticHeart = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SyntheticHeart, moneyCost:575e6, repCost:300e3, + info:"This advanced artificial heart, created from plasteel and graphene, is capable of pumping more blood " + + "at much higher efficiencies than a normal human heart.

" + + "This augmentation increases the player's agility and strength by 50%.", + agility_mult: 1.5, + strength_mult: 1.5, + }); + SyntheticHeart.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", + "NWO", "The Covenant", "Daedalus", "Illuminati"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SyntheticHeart)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SyntheticHeart]; + } + AddToAugmentations(SyntheticHeart); + + var SynfibrilMuscle = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SynfibrilMuscle, repCost:175e3, moneyCost:225e6, + info:"The myofibrils in human muscles are injected with special chemicals that react with the proteins inside " + + "the myofibrils, altering their underlying structure. The end result is muscles that are stronger and more elastic. " + + "Scientists have named these artificially enhanced units 'synfibrils'.

" + + "This augmentation increases the player's strength and defense by 30%.", + strength_mult: 1.3, + defense_mult: 1.3, + }); + SynfibrilMuscle.addToFactions(["KuaiGong International", "Fulcrum Secret Technologies", "Speakers for the Dead", + "NWO", "The Covenant", "Daedalus", "Illuminati", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SynfibrilMuscle)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SynfibrilMuscle]; + } + AddToAugmentations(SynfibrilMuscle) + + var CombatRib1 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib1, repCost:3e3, moneyCost:4750000, + info:"The human body's ribs are replaced with artificial ribs that automatically and continuously release cognitive " + + "and performance-enhancing drugs into the bloodstream, improving the user's abilities in combat.

" + + "This augmentation increases the player's strength and defense by 10%.", + strength_mult: 1.1, + defense_mult: 1.1, + }); + CombatRib1.addToFactions(["Slum Snakes", "The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", + "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib1)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib1]; + } + AddToAugmentations(CombatRib1); + + var CombatRib2 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib2, repCost:7.5e3, moneyCost:13e6, + info:"This is an upgrade to the Combat Rib I augmentation, and is capable of releasing even more potent combat-enhancing " + + "drugs into the bloodstream.

" + + "This augmentation increases the player's strength and defense by 14%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib1], + strength_mult: 1.14, + defense_mult: 1.14, + }); + CombatRib2.addToFactions(["The Dark Army", "The Syndicate", "Sector-12", "Volhaven", "Ishima", + "OmniTek Incorporated", "KuaiGong International", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib2)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib2]; + } + AddToAugmentations(CombatRib2); + + var CombatRib3 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib3, repCost:14e3, moneyCost:24e6, + info:"This is an upgrade to the Combat Rib II augmentation, and is capable of releasing even more potent combat-enhancing " + + "drugs into the bloodstream

." + + "This augmentation increases the player's strength and defense by 18%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib2], + strength_mult: 1.18, + defense_mult: 1.18, + }); + CombatRib3.addToFactions(["The Dark Army", "The Syndicate", "OmniTek Incorporated", + "KuaiGong International", "Blade Industries", "The Covenant"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib3)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CombatRib3]; + } + AddToAugmentations(CombatRib3); + + var NanofiberWeave = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NanofiberWeave, repCost:15e3, moneyCost:25e6, + info:"Synthetic nanofibers are woven into the skin's extracellular matrix using electrospinning. " + + "This improves the skin's ability to regenerate itself and protect the body from external stresses and forces.

" + + "This augmentation increases the player's strength and defense by 20%.", + strength_mult: 1.2, + defense_mult: 1.2, + }); + NanofiberWeave.addToFactions(["Tian Di Hui", "The Syndicate", "The Dark Army", "Speakers for the Dead", + "Blade Industries", "Fulcrum Secret Technologies", "OmniTek Incorporated"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NanofiberWeave)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NanofiberWeave]; + } + AddToAugmentations(NanofiberWeave); + + var SubdermalArmor = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SubdermalArmor, repCost:350e3, moneyCost:650e6, + info:"The NEMEAN Subdermal Weave is a thin, light-weight, graphene plating that houses a dilatant fluid. " + + "The material is implanted underneath the skin, and is the most advanced form of defensive enhancement " + + "that has ever been created. The dilatant fluid, despite being thin and light, is extremely effective " + + "at stopping piercing blows and reducing blunt trauma. The properties of graphene allow the plating to " + + "mitigate damage from any fire-related or electrical traumas.

" + + "This augmentation increases the player's defense by 120%.", + defense_mult: 2.2, + }); + SubdermalArmor.addToFactions(["The Syndicate", "Fulcrum Secret Technologies", "Illuminati", "Daedalus", + "The Covenant"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SubdermalArmor)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SubdermalArmor]; + } + AddToAugmentations(SubdermalArmor); + + var WiredReflexes = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].WiredReflexes, repCost:500, moneyCost:500e3, + info:"Synthetic nerve-enhancements are injected into all major parts of the somatic nervous system, " + + "supercharging the body's ability to send signals through neurons. This results in increased reflex speed.

" + + "This augmentation increases the player's agility and dexterity by 5%.", + agility_mult: 1.05, + dexterity_mult: 1.05, + }); + WiredReflexes.addToFactions(["Tian Di Hui", "Slum Snakes", "Sector-12", "Volhaven", "Aevum", "Ishima", + "The Syndicate", "The Dark Army", "Speakers for the Dead"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].WiredReflexes)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].WiredReflexes]; + } + AddToAugmentations(WiredReflexes); + + var GrapheneBoneLacings = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBoneLacings, repCost:450e3, moneyCost:850e6, + info:"A graphene-based material is grafted and fused into the user's bones, significantly increasing " + + "their density and tensile strength.

" + + "This augmentation increases the player's strength and defense by 70%.", + strength_mult: 1.7, + defense_mult: 1.7, + }); + GrapheneBoneLacings.addToFactions(["Fulcrum Secret Technologies", "The Covenant"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBoneLacings)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBoneLacings]; + } + AddToAugmentations(GrapheneBoneLacings); + + var BionicSpine = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicSpine, repCost:18e3, moneyCost:25e6, + info:"An artificial spine created from plasteel and carbon fibers that completely replaces the organic spine. " + + "Not only is the Bionic Spine physically stronger than a human spine, but it is also capable of digitally " + + "stimulating and regulating the neural signals that are sent and received by the spinal cord. This results in " + + "greatly improved senses and reaction speeds.

" + + "This augmentation increases all of the player's combat stats by 15%.", + strength_mult: 1.15, + defense_mult: 1.15, + agility_mult: 1.15, + dexterity_mult: 1.15, + }); + BionicSpine.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", + "OmniTek Incorporated", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicSpine)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicSpine]; + } + AddToAugmentations(BionicSpine); + + var GrapheneBionicSpine = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBionicSpine, repCost:650e3, moneyCost:1200e6, + info:"An upgrade to the Bionic Spine augmentation. It fuses the implant with an advanced graphene " + + "material to make it much stronger and lighter.

" + + "This augmentation increases all of the player's combat stats by 60%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicSpine], + strength_mult: 1.6, + defense_mult: 1.6, + agility_mult: 1.6, + dexterity_mult: 1.6, + }); + GrapheneBionicSpine.addToFactions(["Fulcrum Secret Technologies", "ECorp"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBionicSpine)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBionicSpine]; + } + AddToAugmentations(GrapheneBionicSpine); + + var BionicLegs = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicLegs, repCost:60e3, moneyCost:75e6, + info:"Cybernetic legs created from plasteel and carbon fibers that completely replace the user's organic legs.

" + + "This augmentation increases the player's agility by 60%.", + agility_mult: 1.6, + }); + BionicLegs.addToFactions(["Speakers for the Dead", "The Syndicate", "KuaiGong International", + "OmniTek Incorporated", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicLegs)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicLegs]; + } + AddToAugmentations(BionicLegs); + + var GrapheneBionicLegs = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBionicLegs, repCost:300e3, moneyCost:900e6, + info:"An upgrade to the Bionic Legs augmentation. It fuses the implant with an advanced graphene " + + "material to make it much stronger and lighter.

" + + "This augmentation increases the player's agility by 150%.", + prereqs: [_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicLegs], + agility_mult: 2.5, + }); + GrapheneBionicLegs.addToFactions(["MegaCorp", "ECorp", "Fulcrum Secret Technologies"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBionicLegs)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBionicLegs]; + } + AddToAugmentations(GrapheneBionicLegs); + + //Labor stat augmentations + var SpeechProcessor = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SpeechProcessor, repCost:3e3, moneyCost:10e6, + info:"A cochlear implant with an embedded computer that analyzes incoming speech. " + + "The embedded computer processes characteristics of incoming speech, such as tone " + + "and inflection, to pick up on subtle cues and aid in social interactions.

" + + "This augmentation increases the player's charisma by 20%.", + charisma_mult: 1.2, + }); + SpeechProcessor.addToFactions(["Tian Di Hui", "Chongqing", "Sector-12", "New Tokyo", "Aevum", + "Ishima", "Volhaven", "Silhouette"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SpeechProcessor)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SpeechProcessor]; + } + AddToAugmentations(SpeechProcessor); + + let TITN41Injection = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TITN41Injection, repCost:10e3, moneyCost:38e6, + info:"TITN is a series of viruses that targets and alters the sequences of human DNA in genes that " + + "control personality. The TITN-41 strain alters these genes so that the subject becomes more " + + "outgoing and socialable.

" + + "This augmentation increases the player's charisma and charisma experience gain rate by 15%.", + charisma_mult: 1.15, + charisma_exp_mult: 1.15, + }); + TITN41Injection.addToFactions(["Silhouette"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TITN41Injection)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TITN41Injection]; + } + AddToAugmentations(TITN41Injection); + + var EnhancedSocialInteractionImplant = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].EnhancedSocialInteractionImplant, repCost:150e3, moneyCost:275e6, + info:"A cranial implant that greatly assists in the user's ability to analyze social situations " + + "and interactions. The system uses a wide variety of factors such as facial expression, body " + + "language, and the voice's tone/inflection to determine the best course of action during social" + + "situations. The implant also uses deep learning software to continuously learn new behavior" + + "patterns and how to best respond.

" + + "This augmentation increases the player's charisma and charisma experience gain rate by 60%.", + charisma_mult: 1.6, + charisma_exp_mult: 1.6, + }); + EnhancedSocialInteractionImplant.addToFactions(["Bachman & Associates", "NWO", "Clarke Incorporated", + "OmniTek Incorporated", "Four Sigma"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].EnhancedSocialInteractionImplant)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].EnhancedSocialInteractionImplant]; + } + AddToAugmentations(EnhancedSocialInteractionImplant); + + //Hacking augmentations + var BitWire = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BitWire, repCost:1500, moneyCost:2e6, + info: "A small brain implant embedded in the cerebrum. This regulates and improves the brain's computing " + + "capabilities.

" + + "This augmentation increases the player's hacking skill by 5%.", + hacking_mult: 1.05, + }); + BitWire.addToFactions(["CyberSec", "NiteSec"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BitWire)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BitWire]; + } + AddToAugmentations(BitWire); + + var ArtificialBioNeuralNetwork = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ArtificialBioNeuralNetwork, repCost:110e3, moneyCost:600e6, + info:"A network consisting of millions of nanoprocessors is embedded into the brain. " + + "The network is meant to mimick the way a biological brain solves a problem, which each " + + "nanoprocessor acting similar to the way a neuron would in a neural network. However, these " + + "nanoprocessors are programmed to perform computations much faster than organic neurons, " + + "allowing its user to solve much more complex problems at a much faster rate.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 3%.
" + + "Increases the amount of money the player's gains from hacking by 15%.
" + + "Increases the player's hacking skill by 12%.", + hacking_speed_mult: 1.03, + hacking_money_mult: 1.15, + hacking_mult: 1.12, + }); + ArtificialBioNeuralNetwork.addToFactions(["BitRunners", "Fulcrum Secret Technologies"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ArtificialBioNeuralNetwork)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ArtificialBioNeuralNetwork]; + } + AddToAugmentations(ArtificialBioNeuralNetwork); + + var ArtificialSynapticPotentiation = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ArtificialSynapticPotentiation, repCost:2500, moneyCost:16e6, + info:"The body is injected with a chemical that artificially induces synaptic potentiation, " + + "otherwise known as the strengthening of synapses. This results in a enhanced cognitive abilities.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%
" + + "Increases the player's hacking chance by 5%.
" + + "Increases the player's hacking experience gain rate by 5%.", + hacking_speed_mult: 1.02, + hacking_chance_mult: 1.05, + hacking_exp_mult: 1.05, + }); + ArtificialSynapticPotentiation.addToFactions(["The Black Hand", "NiteSec"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ArtificialSynapticPotentiation)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ArtificialSynapticPotentiation]; + } + AddToAugmentations(ArtificialSynapticPotentiation); + + var EnhancedMyelinSheathing = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].EnhancedMyelinSheathing, repCost:40e3, moneyCost:275e6, + info:"Electrical signals are used to induce a new, artificial form of myelinogensis in the human body. " + + "This process results in the proliferation of new, synthetic myelin sheaths in the nervous " + + "system. These myelin sheaths can propogate neuro-signals much faster than their organic " + + "counterparts, leading to greater processing speeds and better brain function.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 3%.
" + + "Increases the player's hacking skill by 8%.
" + + "Increases the player's hacking experience gain rate by 10%.", + hacking_speed_mult: 1.03, + hacking_exp_mult: 1.1, + hacking_mult: 1.08, + }); + EnhancedMyelinSheathing.addToFactions(["Fulcrum Secret Technologies", "BitRunners", "The Black Hand"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].EnhancedMyelinSheathing)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].EnhancedMyelinSheathing]; + } + AddToAugmentations(EnhancedMyelinSheathing); + + var SynapticEnhancement = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SynapticEnhancement, repCost:800, moneyCost:1.5e6, + info:"A small cranial implant that continuously uses weak electric signals to stimulate the brain and " + + "induce stronger synaptic activity. This improves the user's cognitive abilities.

" + + "This augmentation increases the player's hacking speed by 3%.", + hacking_speed_mult: 1.03, + }); + SynapticEnhancement.addToFactions(["CyberSec"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SynapticEnhancement)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SynapticEnhancement]; + } + AddToAugmentations(SynapticEnhancement); + + var NeuralRetentionEnhancement = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuralRetentionEnhancement, repCost:8e3, moneyCost:50e6, + info:"Chemical injections are used to permanently alter and strengthen the brain's neuronal " + + "circuits, strengthening its ability to retain information.

" + + "This augmentation increases the player's hacking experience gain rate by 25%.", + hacking_exp_mult: 1.25, + }); + NeuralRetentionEnhancement.addToFactions(["NiteSec"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuralRetentionEnhancement)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuralRetentionEnhancement]; + } + AddToAugmentations(NeuralRetentionEnhancement); + + var DataJack = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].DataJack, repCost:45e3, moneyCost:90e6, + info:"A brain implant that provides an interface for direct, wireless communication between a computer's main " + + "memory and the mind. This implant allows the user to not only access a computer's memory, but also alter " + + "and delete it.

" + + "This augmentation increases the amount of money the player gains from hacking by 25%.", + hacking_money_mult: 1.25, + }); + DataJack.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "Chongqing", "New Tokyo"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].DataJack)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].DataJack]; + } + AddToAugmentations(DataJack); + + var ENM = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENM, repCost:6e3, moneyCost:50e6, + info:"A thin device embedded inside the arm containing a wireless module capable of connecting " + + "to nearby networks. Once connected, the Netburner Module is capable of capturing and " + + "processing all of the traffic on that network. By itself, the Embedded Netburner Module does " + + "not do much, but a variety of very powerful upgrades can be installed that allow you to fully " + + "control the traffic on a network.

" + + "This augmentation increases the player's hacking skill by 8%.", + hacking_mult: 1.08, + }); + ENM.addToFactions(["BitRunners", "The Black Hand", "NiteSec", "ECorp", "MegaCorp", + "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENM)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENM]; + } + AddToAugmentations(ENM); + + var ENMCore = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCore, repCost:100e3, moneyCost:500e6, + info:"The Core library is an implant that upgrades the firmware of the Embedded Netburner Module. " + + "This upgrade allows the Embedded Netburner Module to generate its own data on a network.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 3%.
" + + "Increases the amount of money the player gains from hacking by 10%.
" + + "Increases the player's chance of successfully performing a hack by 3%.
" + + "Increases the player's hacking experience gain rate by 7%.
" + + "Increases the player's hacking skill by 7%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENM], + hacking_speed_mult: 1.03, + hacking_money_mult: 1.1, + hacking_chance_mult: 1.03, + hacking_exp_mult: 1.07, + hacking_mult: 1.07, + }); + ENMCore.addToFactions(["BitRunners", "The Black Hand", "ECorp", "MegaCorp", + "Fulcrum Secret Technologies", "NWO", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCore)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCore]; + } + AddToAugmentations(ENMCore); + + var ENMCoreV2 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCoreV2, repCost:400e3, moneyCost:900e6, + info:"The Core V2 library is an implant that upgrades the firmware of the Embedded Netburner Module. " + + "This upgraded firmware allows the Embedded Netburner Module to control the information on " + + "a network by re-routing traffic, spoofing IP addresses, or altering the data inside network " + + "packets.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 5%.
" + + "Increases the amount of money the player gains from hacking by 30%.
" + + "Increases the player's chance of successfully performing a hack by 5%.
" + + "Increases the player's hacking experience gain rate by 15%.
" + + "Increases the player's hacking skill by 8%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCore], + hacking_speed_mult: 1.05, + hacking_money_mult: 1.3, + hacking_chance_mult: 1.05, + hacking_exp_mult: 1.15, + hacking_mult: 1.08, + }); + ENMCoreV2.addToFactions(["BitRunners", "ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", + "Blade Industries", "OmniTek Incorporated", "KuaiGong International"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCoreV2)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCoreV2]; + } + AddToAugmentations(ENMCoreV2); + + var ENMCoreV3 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCoreV3, repCost:700e3, moneyCost:1500e6, + info:"The Core V3 library is an implant that upgrades the firmware of the Embedded Netburner Module. " + + "This upgraded firmware allows the Embedded Netburner Module to seamlessly inject code into " + + "any device on a network.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 5%.
" + + "Increases the amount of money the player gains from hacking by 40%.
" + + "Increases the player's chance of successfully performing a hack by 10%.
" + + "Increases the player's hacking experience gain rate by 25%.
" + + "Increases the player's hacking skill by 10%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCoreV2], + hacking_speed_mult: 1.05, + hacking_money_mult: 1.4, + hacking_chance_mult: 1.1, + hacking_exp_mult: 1.25, + hacking_mult: 1.1, + }); + ENMCoreV3.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", + "Daedalus", "The Covenant", "Illuminati"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCoreV3)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMCoreV3]; + } + AddToAugmentations(ENMCoreV3); + + var ENMAnalyzeEngine = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMAnalyzeEngine, repCost:250e3, moneyCost:1200e6, + info:"Installs the Analyze Engine for the Embedded Netburner Module, which is a CPU cluster " + + "that vastly outperforms the Netburner Module's native single-core processor.

" + + "This augmentation increases the player's hacking speed by 10%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENM], + hacking_speed_mult: 1.1, + }); + ENMAnalyzeEngine.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", + "Daedalus", "The Covenant", "Illuminati"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMAnalyzeEngine)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMAnalyzeEngine]; + } + AddToAugmentations(ENMAnalyzeEngine); + + var ENMDMA = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMDMA, repCost:400e3, moneyCost:1400e6, + info:"This implant installs a Direct Memory Access (DMA) controller into the " + + "Embedded Netburner Module. This allows the Module to send and receive data " + + "directly to and from the main memory of devices on a network.

" + + "This augmentation:
" + + "Increases the amount of money the player gains from hacking by 40%.
" + + "Increases the player's chance of successfully performing a hack by 20%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENM], + hacking_money_mult: 1.4, + hacking_chance_mult: 1.2, + }); + ENMDMA.addToFactions(["ECorp", "MegaCorp", "Fulcrum Secret Technologies", "NWO", + "Daedalus", "The Covenant", "Illuminati"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMDMA)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ENMDMA]; + } + AddToAugmentations(ENMDMA); + + var Neuralstimulator = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neuralstimulator, repCost:20e3, moneyCost:600e6, + info:"A cranial implant that intelligently stimulates certain areas of the brain " + + "in order to improve cognitive functions.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%.
" + + "Increases the player's chance of successfully performing a hack by 10%.
" + + "Increases the player's hacking experience gain rate by 12%.", + hacking_speed_mult: 1.02, + hacking_chance_mult: 1.1, + hacking_exp_mult: 1.12, + }); + Neuralstimulator.addToFactions(["The Black Hand", "Chongqing", "Sector-12", "New Tokyo", "Aevum", + "Ishima", "Volhaven", "Bachman & Associates", "Clarke Incorporated", + "Four Sigma"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neuralstimulator)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neuralstimulator]; + } + AddToAugmentations(Neuralstimulator); + + var NeuralAccelerator = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuralAccelerator, repCost:80e3, moneyCost:350e6, + info:"A microprocessor that accelerates the processing " + + "speed of biological neural networks. This is a cranial implant that is embedded inside the brain.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 10%.
" + + "Increases the player's hacking experience gain rate by 15%.
" + + "Increases the amount of money the player gains from hacking by 20%.", + hacking_mult: 1.1, + hacking_exp_mult: 1.15, + hacking_money_mult: 1.2, + }); + NeuralAccelerator.addToFactions(["BitRunners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuralAccelerator)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuralAccelerator]; + } + AddToAugmentations(NeuralAccelerator); + + var CranialSignalProcessorsG1 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG1, repCost:4e3, moneyCost:14e6, + info:"The first generation of Cranial Signal Processors. Cranial Signal Processors " + + "are a set of specialized microprocessors that are attached to " + + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + + "so that the brain doesn't have to.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 1%.
" + + "Increases the player's hacking skill by 5%.", + hacking_speed_mult: 1.01, + hacking_mult: 1.05, + }); + CranialSignalProcessorsG1.addToFactions(["CyberSec"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG1)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG1]; + } + AddToAugmentations(CranialSignalProcessorsG1); + + var CranialSignalProcessorsG2 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG2, repCost:7500, moneyCost:25e6, + info:"The second generation of Cranial Signal Processors. Cranial Signal Processors " + + "are a set of specialized microprocessors that are attached to " + + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + + "so that the brain doesn't have to.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%.
" + + "Increases the player's chance of successfully performing a hack by 5%.
" + + "Increases the player's hacking skill by 7%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG1], + hacking_speed_mult: 1.02, + hacking_chance_mult: 1.05, + hacking_mult: 1.07, + }); + CranialSignalProcessorsG2.addToFactions(["CyberSec", "NiteSec"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG2)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG2]; + } + AddToAugmentations(CranialSignalProcessorsG2); + + var CranialSignalProcessorsG3 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG3, repCost:20e3, moneyCost:110e6, + info:"The third generation of Cranial Signal Processors. Cranial Signal Processors " + + "are a set of specialized microprocessors that are attached to " + + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + + "so that the brain doesn't have to.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%.
" + + "Increases the amount of money the player gains from hacking by 15%.
" + + "Increases the player's hacking skill by 9%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG2], + hacking_speed_mult: 1.02, + hacking_money_mult: 1.15, + hacking_mult: 1.09, + }); + CranialSignalProcessorsG3.addToFactions(["NiteSec", "The Black Hand", "BitRunners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG3)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG3]; + } + AddToAugmentations(CranialSignalProcessorsG3); + + var CranialSignalProcessorsG4 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG4, repCost:50e3, moneyCost:220e6, + info:"The fourth generation of Cranial Signal Processors. Cranial Signal Processors " + + "are a set of specialized microprocessors that are attached to " + + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + + "so that the brain doesn't have to.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 2%.
" + + "Increases the amount of money the player gains from hacking by 20%.
" + + "Increases the amount of money the player can inject into servers using grow() by 25%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG3], + hacking_speed_mult: 1.02, + hacking_money_mult: 1.2, + hacking_grow_mult: 1.25, + }); + CranialSignalProcessorsG4.addToFactions(["The Black Hand", "BitRunners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG4)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG4]; + } + AddToAugmentations(CranialSignalProcessorsG4); + + var CranialSignalProcessorsG5 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG5, repCost:100e3, moneyCost:450e6, + info:"The fifth generation of Cranial Signal Processors. Cranial Signal Processors " + + "are a set of specialized microprocessors that are attached to " + + "neurons in the brain. These chips process neural signals to quickly and automatically perform specific computations " + + "so that the brain doesn't have to.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 30%.
" + + "Increases the amount of money the player gains from hacking by 25%.
" + + "Increases the amount of money the player can inject into servers using grow() by 75%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG4], + hacking_mult: 1.3, + hacking_money_mult: 1.25, + hacking_grow_mult: 1.75, + }); + CranialSignalProcessorsG5.addToFactions(["BitRunners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG5)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CranialSignalProcessorsG5]; + } + AddToAugmentations(CranialSignalProcessorsG5); + + var NeuronalDensification = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuronalDensification, repCost:75e3, moneyCost:275e6, + info:"The brain is surgically re-engineered to have increased neuronal density " + + "by decreasing the neuron gap junction. Then, the body is genetically modified " + + "to enhance the production and capabilities of its neural stem cells.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 15%.
" + + "Increases the player's hacking experience gain rate by 10%.
"+ + "Increases the player's hacking speed by 3%.", + hacking_mult: 1.15, + hacking_exp_mult: 1.1, + hacking_speed_mult: 1.03, + }); + NeuronalDensification.addToFactions(["Clarke Incorporated"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuronalDensification)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuronalDensification]; + } + AddToAugmentations(NeuronalDensification); + + //Work Augmentations + var NuoptimalInjectorImplant = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NuoptimalInjectorImplant, repCost:2e3, moneyCost:4e6, + info:"This torso implant automatically injects nootropic supplements into " + + "the bloodstream to improve memory, increase focus, and provide other " + + "cognitive enhancements.

" + + "This augmentation increases the amount of reputation the player gains " + + "when working for a company by 20%.", + company_rep_mult: 1.2, + }); + NuoptimalInjectorImplant.addToFactions(["Tian Di Hui", "Volhaven", "New Tokyo", "Chongqing", "Ishima", + "Clarke Incorporated", "Four Sigma", "Bachman & Associates"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NuoptimalInjectorImplant)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NuoptimalInjectorImplant]; + } + AddToAugmentations(NuoptimalInjectorImplant); + + var SpeechEnhancement = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SpeechEnhancement, repCost:1e3, moneyCost:2.5e6, + info:"An advanced neural implant that improves your speaking abilities, making " + + "you more convincing and likable in conversations and overall improving your " + + "social interactions.

" + + "This augmentation:
" + + "Increases the player's charisma by 10%.
" + + "Increases the amount of reputation the player gains when working for a company by 10%.", + company_rep_mult: 1.1, + charisma_mult: 1.1, + }); + SpeechEnhancement.addToFactions(["Tian Di Hui", "Speakers for the Dead", "Four Sigma", "KuaiGong International", + "Clarke Incorporated", "Bachman & Associates"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SpeechEnhancement)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SpeechEnhancement]; + } + AddToAugmentations(SpeechEnhancement); + + var FocusWire = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].FocusWire, repCost:30e3, moneyCost:180e6, + info:"A cranial implant that stops procrastination by blocking specific neural pathways " + + "in the brain.

" + + "This augmentation:
" + + "Increases all experience gains by 5%.
" + + "Increases the amount of money the player gains from working by 20%.
" + + "Increases the amount of reputation the player gains when working for a company by 10%.", + hacking_exp_mult: 1.05, + strength_exp_mult: 1.05, + defense_exp_mult: 1.05, + dexterity_exp_mult: 1.05, + agility_exp_mult: 1.05, + charisma_exp_mult: 1.05, + company_rep_mult: 1.1, + work_money_mult: 1.2, + }); + FocusWire.addToFactions(["Bachman & Associates", "Clarke Incorporated", "Four Sigma", "KuaiGong International"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].FocusWire)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].FocusWire]; + } + AddToAugmentations(FocusWire) + + var PCDNI = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNI, repCost:150e3, moneyCost:750e6, + info:"Installs a Direct-Neural Interface jack into your arm that is compatible with most " + + "computers. Connecting to a computer through this jack allows you to interface with " + + "it using the brain's electrochemical signals.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 30%.
" + + "Increases the player's hacking skill by 8%.", + company_rep_mult: 1.3, + hacking_mult: 1.08, + }); + PCDNI.addToFactions(["Four Sigma", "OmniTek Incorporated", "ECorp", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNI)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNI]; + } + AddToAugmentations(PCDNI); + + var PCDNIOptimizer = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNIOptimizer, repCost:200e3, moneyCost:900e6, + info:"This is a submodule upgrade to the PC Direct-Neural Interface augmentation. It " + + "improves the performance of the interface and gives the user more control options " + + "to the connected computer.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 75%.
" + + "Increases the player's hacking skill by 10%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNI], + company_rep_mult: 1.75, + hacking_mult: 1.1, + }); + PCDNIOptimizer.addToFactions(["Fulcrum Secret Technologies", "ECorp", "Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNIOptimizer)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNIOptimizer]; + } + AddToAugmentations(PCDNIOptimizer); + + var PCDNINeuralNetwork = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNINeuralNetwork, repCost:600e3, moneyCost:1500e6, + info:"This is an additional installation that upgrades the functionality of the " + + "PC Direct-Neural Interface augmentation. When connected to a computer, " + + "The NeuroNet Injector upgrade allows the user to use his/her own brain's " + + "processing power to aid the computer in computational tasks.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 100%.
" + + "Increases the player's hacking skill by 10%.
" + + "Increases the player's hacking speed by 5%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNI], + company_rep_mult: 2, + hacking_mult: 1.1, + hacking_speed_mult: 1.05, + }); + PCDNINeuralNetwork.addToFactions(["Fulcrum Secret Technologies"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNINeuralNetwork)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PCDNINeuralNetwork]; + } + AddToAugmentations(PCDNINeuralNetwork); + + var ADRPheromone1 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ADRPheromone1, repCost:1500, moneyCost:3.5e6, + info:"The body is genetically re-engineered so that it produces the ADR-V1 pheromone, " + + "an artificial pheromone discovered by scientists. The ADR-V1 pheromone, when excreted, " + + "triggers feelings of admiration and approval in other people.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains when working for a company by 10%
" + + "Increases the amount of reputation the player gains for a faction by 10%.", + company_rep_mult: 1.1, + faction_rep_mult: 1.1, + }); + ADRPheromone1.addToFactions(["Tian Di Hui", "The Syndicate", "NWO", "MegaCorp", "Four Sigma"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ADRPheromone1)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ADRPheromone1]; + } + AddToAugmentations(ADRPheromone1); + + var ADRPheromone2 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ADRPheromone2, repCost:25e3, moneyCost:110e6, + info:"The body is genetically re-engineered so that it produces the ADR-V2 pheromone, " + + "which is similar to but more potent than ADR-V1. This pheromone, when excreted, " + + "triggers feelings of admiration, approval, and respect in others.

" + + "This augmentation:
" + + "Increases the amount of reputation the player gains for a faction and company by 20%.", + company_rep_mult: 1.2, + faction_rep_mult: 1.2, + }); + ADRPheromone2.addToFactions(["Silhouette", "Four Sigma", "Bachman & Associates", "Clarke Incorporated"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ADRPheromone2)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].ADRPheromone2]; + } + AddToAugmentations(ADRPheromone2); + + //HacknetNode Augmentations + var HacknetNodeCPUUpload = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeCPUUpload, repCost:1500, moneyCost:2.2e6, + info:"Uploads the architecture and design details of a Hacknet Node's CPU into " + + "the brain. This allows the user to engineer custom hardware and software " + + "for the Hacknet Node that provides better performance.

" + + "This augmentation:
" + + "Increases the amount of money produced by Hacknet Nodes by 15%.
" + + "Decreases the cost of purchasing a Hacknet Node by 15%.", + hacknet_node_money_mult: 1.15, + hacknet_node_purchase_cost_mult: 0.85, + }); + HacknetNodeCPUUpload.addToFactions(["Netburners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeCPUUpload)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeCPUUpload]; + } + AddToAugmentations(HacknetNodeCPUUpload); + + var HacknetNodeCacheUpload = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeCacheUpload, repCost:1e3, moneyCost:1.1e6, + info:"Uploads the architecture and design details of a Hacknet Node's main-memory cache " + + "into the brain. This allows the user to engineer custom cache hardware for the " + + "Hacknet Node that offers better performance.

" + + "This augmentation:
" + + "Increases the amount of money produced by Hacknet Nodes by 10%.
" + + "Decreases the cost of leveling up a Hacknet Node by 15%.", + hacknet_node_money_mult: 1.10, + hacknet_node_level_cost_mult: 0.85, + }); + HacknetNodeCacheUpload.addToFactions(["Netburners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeCacheUpload)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeCacheUpload]; + } + AddToAugmentations(HacknetNodeCacheUpload); + + var HacknetNodeNICUpload = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeNICUpload, repCost:750, moneyCost:900e3, + info:"Uploads the architecture and design details of a Hacknet Node's Network Interface Card (NIC) " + + "into the brain. This allows the user to engineer a custom NIC for the Hacknet Node that " + + "offers better performance.

" + + "This augmentation:
" + + "Increases the amount of money produced by Hacknet Nodes by 10%.
" + + "Decreases the cost of purchasing a Hacknet Node by 10%.", + hacknet_node_money_mult: 1.1, + hacknet_node_purchase_cost_mult: 0.9, + }); + HacknetNodeNICUpload.addToFactions(["Netburners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeNICUpload)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeNICUpload]; + } + AddToAugmentations(HacknetNodeNICUpload); + + var HacknetNodeKernelDNI = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeKernelDNI, repCost:3e3, moneyCost:8e6, + info:"Installs a Direct-Neural Interface jack into the arm that is capable of connecting to a " + + "Hacknet Node. This lets the user access and manipulate the Node's kernel using the mind's " + + "electrochemical signals.

" + + "This augmentation increases the amount of money produced by Hacknet Nodes by 25%.", + hacknet_node_money_mult: 1.25, + }); + HacknetNodeKernelDNI.addToFactions(["Netburners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeKernelDNI)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeKernelDNI]; + } + AddToAugmentations(HacknetNodeKernelDNI); + + var HacknetNodeCoreDNI = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeCoreDNI, repCost:5e3, moneyCost:12e6, + info:"Installs a Direct-Neural Interface jack into the arm that is capable of connecting " + + "to a Hacknet Node. This lets the user access and manipulate the Node's processing logic using " + + "the mind's electrochemical signals.

" + + "This augmentation increases the amount of money produced by Hacknet Nodes by 45%.", + hacknet_node_money_mult: 1.45, + }); + HacknetNodeCoreDNI.addToFactions(["Netburners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeCoreDNI)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HacknetNodeCoreDNI]; + } + AddToAugmentations(HacknetNodeCoreDNI); + + //Misc/Hybrid augmentations + var NeuroFluxGovernor = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor, repCost:500, moneyCost: 750e3, + info:"A device that is embedded in the back of the neck. The NeuroFlux Governor " + + "monitors and regulates nervous impulses coming to and from the spinal column, " + + "essentially 'governing' the body. By doing so, it improves the functionality of the " + + "body's nervous system.

" + + "This is a special augmentation because it can be leveled up infinitely. Each level of this augmentation " + + "increases ALL of the player's multipliers by 1%.", + hacking_chance_mult: 1.01, + hacking_speed_mult: 1.01, + hacking_money_mult: 1.01, + hacking_grow_mult: 1.01, + hacking_mult: 1.01, + strength_mult: 1.01, + defense_mult: 1.01, + dexterity_mult: 1.01, + agility_mult: 1.01, + charisma_mult: 1.01, + hacking_exp_mult: 1.01, + strength_exp_mult: 1.01, + defense_exp_mult: 1.01, + dexterity_exp_mult: 1.01, + agility_exp_mult: 1.01, + charisma_exp_mult: 1.01, + company_rep_mult: 1.01, + faction_rep_mult: 1.01, + crime_money_mult: 1.01, + crime_success_mult: 1.01, + hacknet_node_money_mult: 1.01, + hacknet_node_purchase_cost_mult: 0.99, + hacknet_node_ram_cost_mult: 0.99, + hacknet_node_core_cost_mult: 0.99, + hacknet_node_level_cost_mult: 0.99, + work_money_mult: 1.01, + }); + + // Set the Augmentation's level to the currently-installed level + let currLevel = 0; + for (let i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations[i].name === _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { + currLevel = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations[i].level; + } + } + NeuroFluxGovernor.level = currLevel; + + // To set the price/rep req of the NeuroFlux, we have to take into account NeuroFlux + // levels that are purchased but not yet installed + let nextLevel = currLevel; + for (let i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations[i].name === _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { + ++nextLevel; + } + } + mult = Math.pow(_Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].NeuroFluxGovernorLevelMult, nextLevel); + NeuroFluxGovernor.baseRepRequirement = 500 * mult * _Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].AugmentationRepMultiplier * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__["BitNodeMultipliers"].AugmentationRepCost; + NeuroFluxGovernor.baseCost = 750e3 * mult * _Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].AugmentationCostMultiplier * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__["BitNodeMultipliers"].AugmentationMoneyCost; + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor]; + } + NeuroFluxGovernor.addToAllFactions(); + AddToAugmentations(NeuroFluxGovernor); + + var Neurotrainer1 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurotrainer1, repCost:400, moneyCost:800e3, + info:"A decentralized cranial implant that improves the brain's ability to learn. It is " + + "installed by releasing millions of nanobots into the human brain, each of which " + + "attaches to a different neural pathway to enhance the brain's ability to retain " + + "and retrieve information.

" + + "This augmentation increases the player's experience gain rate for all stats by 10%.", + hacking_exp_mult: 1.1, + strength_exp_mult: 1.1, + defense_exp_mult: 1.1, + dexterity_exp_mult: 1.1, + agility_exp_mult: 1.1, + charisma_exp_mult: 1.1, + }); + Neurotrainer1.addToFactions(["CyberSec"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurotrainer1)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurotrainer1]; + } + AddToAugmentations(Neurotrainer1); + + var Neurotrainer2 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurotrainer2, repCost:4e3, moneyCost:9e6, + info:"A decentralized cranial implant that improves the brain's ability to learn. This " + + "is a more powerful version of the Neurotrainer I augmentation, but it does not " + + "require Neurotrainer I to be installed as a prerequisite.

" + + "This augmentation increases the player's experience gain rate for all stats by 15%.", + hacking_exp_mult: 1.15, + strength_exp_mult: 1.15, + defense_exp_mult: 1.15, + dexterity_exp_mult: 1.15, + agility_exp_mult: 1.15, + charisma_exp_mult: 1.15, + }); + Neurotrainer2.addToFactions(["BitRunners", "NiteSec"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurotrainer2)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurotrainer2]; + } + AddToAugmentations(Neurotrainer2); + + var Neurotrainer3 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurotrainer3, repCost:10e3, moneyCost:26e6, + info:"A decentralized cranial implant that improves the brain's ability to learn. This " + + "is a more powerful version of the Neurotrainer I and Neurotrainer II augmentation, " + + "but it does not require either of them to be installed as a prerequisite.

" + + "This augmentation increases the player's experience gain rate for all stats by 20%.", + hacking_exp_mult: 1.2, + strength_exp_mult: 1.2, + defense_exp_mult: 1.2, + dexterity_exp_mult: 1.2, + agility_exp_mult: 1.2, + charisma_exp_mult: 1.2, + }); + Neurotrainer3.addToFactions(["NWO", "Four Sigma"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurotrainer3)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurotrainer3]; + } + AddToAugmentations(Neurotrainer3); + + var Hypersight = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Hypersight, repCost:60e3, moneyCost:550e6, + info:"A bionic eye implant that grants sight capabilities far beyond those of a natural human. " + + "Embedded circuitry within the implant provides the ability to detect heat and movement " + + "through solid objects such as wells, thus providing 'x-ray vision'-like capabilities.

" + + "This augmentation:
" + + "Increases the player's dexterity by 40%.
" + + "Increases the player's hacking speed by 3%.
" + + "Increases the amount of money the player gains from hacking by 10%.", + dexterity_mult: 1.4, + hacking_speed_mult: 1.03, + hacking_money_mult: 1.1, + }); + Hypersight.addToFactions(["Blade Industries", "KuaiGong International"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Hypersight)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Hypersight]; + } + AddToAugmentations(Hypersight); + + var LuminCloaking1 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].LuminCloaking1, repCost:600, moneyCost:1e6, + info:"A skin implant that reinforces the skin with highly-advanced synthetic cells. These " + + "cells, when powered, have a negative refractive index. As a result, they bend light " + + "around the skin, making the user much harder to see from the naked eye.

" + + "This augmentation:
" + + "Increases the player's agility by 5%
" + + "Increases the amount of money the player gains from crimes by 10%.", + agility_mult: 1.05, + crime_money_mult: 1.1, + }); + LuminCloaking1.addToFactions(["Slum Snakes", "Tetrads"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].LuminCloaking1)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].LuminCloaking1]; + } + AddToAugmentations(LuminCloaking1); + + var LuminCloaking2 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].LuminCloaking2, repCost:2e3, moneyCost:6e6, + info:"This is a more advanced version of the LuminCloaking-V2 augmentation. This skin implant " + + "reinforces the skin with highly-advanced synthetic cells. These " + + "cells, when powered, are capable of not only bending light but also of bending heat, " + + "making the user more resilient as well as stealthy.

" + + "This augmentation:
" + + "Increases the player's agility by 10%
" + + "Increases the player's defense by 10%
" + + "Increases the amount of money the player gains from crimes by 25%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].LuminCloaking1], + agility_mult: 1.1, + defense_mult: 1.1, + crime_money_mult: 1.25, + }); + LuminCloaking2.addToFactions(["Slum Snakes", "Tetrads"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].LuminCloaking2)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].LuminCloaking2]; + } + AddToAugmentations(LuminCloaking2); + + var SmartSonar = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SmartSonar, repCost:9e3, moneyCost:15e6, + info:"A cochlear implant that helps the player detect and locate enemies " + + "using sound propagation.

" + + "This augmentation:
" + + "Increases the player's dexterity by 10%.
" + + "Increases the player's dexterity experience gain rate by 15%.
" + + "Increases the amount of money the player gains from crimes by 25%.", + dexterity_mult: 1.1, + dexterity_exp_mult: 1.15, + crime_money_mult: 1.25, + }); + SmartSonar.addToFactions(["Slum Snakes"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SmartSonar)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SmartSonar]; + } + AddToAugmentations(SmartSonar); + + var PowerRecirculator = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PowerRecirculator, repCost:10e3, moneyCost:36e6, + info:"The body's nerves are attached with polypyrrole nanocircuits that " + + "are capable of capturing wasted energy (in the form of heat) " + + "and converting it back into usable power.

" + + "This augmentation:
" + + "Increases all of the player's stats by 5%.
" + + "Increases the player's experience gain rate for all stats by 10%.", + hacking_mult: 1.05, + strength_mult: 1.05, + defense_mult: 1.05, + dexterity_mult: 1.05, + agility_mult: 1.05, + charisma_mult: 1.05, + hacking_exp_mult: 1.1, + strength_exp_mult: 1.1, + defense_exp_mult: 1.1, + dexterity_exp_mult: 1.1, + agility_exp_mult: 1.1, + charisma_exp_mult: 1.1, + }); + PowerRecirculator.addToFactions(["Tetrads", "The Dark Army", "The Syndicate", "NWO"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PowerRecirculator)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PowerRecirculator]; + } + AddToAugmentations(PowerRecirculator); + + //Unique AUGS (Each Faction gets one unique augmentation) + //Factions that already have unique augs up to this point: + // Slum Snakes, CyberSec, Netburners, Fulcrum Secret Technologies, + // Silhouette + + //Illuminati + var QLink = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].QLink, repCost:750e3, moneyCost:1300e6, + info:"A brain implant that wirelessly connects you to the Illuminati's " + + "quantum supercomputer, allowing you to access and use its incredible " + + "computing power.

" + + "This augmentation:
" + + "Increases the player's hacking speed by 10%.
" + + "Increases the player's chance of successfully performing a hack by 30%.
" + + "Increases the amount of money the player gains from hacking by 100%.", + hacking_speed_mult: 1.1, + hacking_chance_mult: 1.3, + hacking_money_mult: 2, + }); + QLink.addToFactions(["Illuminati"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].QLink)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].QLink]; + } + AddToAugmentations(QLink); + + //Daedalus + var RedPill = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TheRedPill, repCost:1e6, moneyCost:0, + info:"It's time to leave the cave." + }); + RedPill.addToFactions(["Daedalus"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TheRedPill)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TheRedPill]; + } + AddToAugmentations(RedPill); + + //Covenant + var SPTN97 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SPTN97, repCost:500e3, moneyCost:975e6, + info:"The SPTN-97 gene is injected into the genome. The SPTN-97 gene is an " + + "artificially-synthesized gene that was developed by DARPA to create " + + "super-soldiers through genetic modification. The gene was outlawed in " + + "2056.

" + + "This augmentation:
" + + "Increases all of the player's combat stats by 75%.
" + + "Increases the player's hacking skill by 15%.", + strength_mult: 1.75, + defense_mult: 1.75, + dexterity_mult: 1.75, + agility_mult: 1.75, + hacking_mult: 1.15, + }); + SPTN97.addToFactions(["The Covenant"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SPTN97)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SPTN97]; + } + AddToAugmentations(SPTN97); + + //ECorp + var HiveMind = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HiveMind, repCost:600e3, moneyCost:1100e6, + info:"A brain implant developed by ECorp. They do not reveal what " + + "exactly the implant does, but they promise that it will greatly " + + "enhance your abilities.", + hacking_grow_mult: 3, + }); + HiveMind.addToFactions(["ECorp"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HiveMind)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HiveMind]; + } + AddToAugmentations(HiveMind); + + //MegaCorp + var CordiARCReactor = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CordiARCReactor, repCost:450e3, moneyCost:1000e6, + info:"The thoracic cavity is equipped with a small chamber designed " + + "to hold and sustain hydrogen plasma. The plasma is used to generate " + + "fusion power through nuclear fusion, providing limitless amount of clean " + + "energy for the body.

" + + "This augmentation:
" + + "Increases all of the player's combat stats by 35%.
" + + "Increases all of the player's combat stat experience gain rate by 35%.", + strength_mult: 1.35, + defense_mult: 1.35, + dexterity_mult: 1.35, + agility_mult: 1.35, + strength_exp_mult: 1.35, + defense_exp_mult: 1.35, + dexterity_exp_mult: 1.35, + agility_exp_mult: 1.35, + }); + CordiARCReactor.addToFactions(["MegaCorp"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CordiARCReactor)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CordiARCReactor]; + } + AddToAugmentations(CordiARCReactor); + + //BachmanAndAssociates + var SmartJaw = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SmartJaw, repCost:150e3, moneyCost:550e6, + info:"A bionic jaw that contains advanced hardware and software " + + "capable of psychoanalyzing and profiling the personality of " + + "others using optical imaging software.

" + + "This augmentation:
" + + "Increases the player's charisma by 50%.
" + + "Increases the player's charisma experience gain rate by 50%.
" + + "Increases the amount of reputation the player gains for a company by 25%.
" + + "Increases the amount of reputation the player gains for a faction by 25%.", + charisma_mult: 1.5, + charisma_exp_mult: 1.5, + company_rep_mult: 1.25, + faction_rep_mult: 1.25, + }); + SmartJaw.addToFactions(["Bachman & Associates"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SmartJaw)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SmartJaw]; + } + AddToAugmentations(SmartJaw); + + //BladeIndustries + var Neotra = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neotra, repCost:225e3, moneyCost:575e6, + info:"A highly-advanced techno-organic drug that is injected into the skeletal " + + "and integumentary system. The drug permanently modifies the DNA of the " + + "body's skin and bone cells, granting them the ability to repair " + + "and restructure themselves.

" + + "This augmentation increases the player's strength and defense by 55%.", + strength_mult: 1.55, + defense_mult: 1.55, + }); + Neotra.addToFactions(["Blade Industries"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neotra)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neotra]; + } + AddToAugmentations(Neotra); + + //NWO + var Xanipher = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Xanipher, repCost:350e3, moneyCost:850e6, + info:"A concoction of advanced nanobots that is orally ingested into the " + + "body. These nanobots induce physiological change and significantly " + + "improve the body's functionining in all aspects.

" + + "This augmentation:
" + + "Increases all of the player's stats by 20%.
" + + "Increases the player's experience gain rate for all stats by 15%.", + hacking_mult: 1.2, + strength_mult: 1.2, + defense_mult: 1.2, + dexterity_mult: 1.2, + agility_mult: 1.2, + charisma_mult: 1.2, + hacking_exp_mult: 1.15, + strength_exp_mult: 1.15, + defense_exp_mult: 1.15, + dexterity_exp_mult: 1.15, + agility_exp_mult: 1.15, + charisma_exp_mult: 1.15, + }); + Xanipher.addToFactions(["NWO"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Xanipher)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Xanipher]; + } + AddToAugmentations(Xanipher); + + //ClarkeIncorporated + var nextSENS = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].nextSENS, repCost:175e3, moneyCost:385e6, + info:"The body is genetically re-engineered to maintain a state " + + "of negligible senescence, preventing the body from " + + "deteriorating with age.

" + + "This augmentation increases all of the player's stats by 20%.", + hacking_mult: 1.2, + strength_mult: 1.2, + defense_mult: 1.2, + dexterity_mult: 1.2, + agility_mult: 1.2, + charisma_mult: 1.2, + }); + nextSENS.addToFactions(["Clarke Incorporated"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].nextSENS)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].nextSENS]; + } + AddToAugmentations(nextSENS); + + //OmniTekIncorporated + var OmniTekInfoLoad = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].OmniTekInfoLoad, repCost:250e3, moneyCost:575e6, + info:"OmniTek's data and information repository is uploaded " + + "into your brain, enhancing your programming and " + + "hacking abilities.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 20%.
" + + "Increases the player's hacking experience gain rate by 25%.", + hacking_mult: 1.2, + hacking_exp_mult: 1.25, + }); + OmniTekInfoLoad.addToFactions(["OmniTek Incorporated"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].OmniTekInfoLoad)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].OmniTekInfoLoad]; + } + AddToAugmentations(OmniTekInfoLoad); + + //FourSigma + //TODO Later when Intelligence is added in . Some aug that greatly increases int + + //KuaiGongInternational + var PhotosyntheticCells = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PhotosyntheticCells, repCost:225e3, moneyCost:550e6, + info:"Chloroplasts are added to epidermal stem cells and are applied " + + "to the body using a skin graft. The result is photosynthetic " + + "skin cells, allowing users to generate their own energy " + + "and nutrition using solar power.

" + + "This augmentation increases the player's strength, defense, and agility by 40%.", + strength_mult: 1.4, + defense_mult: 1.4, + agility_mult: 1.4, + }); + PhotosyntheticCells.addToFactions(["KuaiGong International"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PhotosyntheticCells)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].PhotosyntheticCells]; + } + AddToAugmentations(PhotosyntheticCells); + + //BitRunners + var Neurolink = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurolink, repCost:350e3, moneyCost:875e6, + info:"A brain implant that provides a high-bandwidth, direct neural link between your " + + "mind and BitRunners' data servers, which reportedly contain " + + "the largest database of hacking tools and information in the world.

" + + "This augmentation:
" + + "Increases the player's hacking skill by 15%.
" + + "Increases the player's hacking experience gain rate by 20%.
" + + "Increases the player's chance of successfully performing a hack by 10%.
" + + "Increases the player's hacking speed by 5%.
" + + "Lets the player start with the FTPCrack.exe and relaySMTP.exe programs after a reset.", + hacking_mult: 1.15, + hacking_exp_mult: 1.2, + hacking_chance_mult: 1.1, + hacking_speed_mult: 1.05, + }); + Neurolink.addToFactions(["BitRunners"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurolink)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neurolink]; + } + AddToAugmentations(Neurolink); + + //BlackHand + var TheBlackHand = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TheBlackHand, repCost:40e3, moneyCost:110e6, + info:"A highly advanced bionic hand. This prosthetic not only " + + "enhances strength and dexterity but it is also embedded " + + "with hardware and firmware that lets the user connect to, access and hack " + + "devices and machines just by touching them.

" + + "This augmentation:
" + + "Increases the player's strength and dexterity by 15%.
" + + "Increases the player's hacking skill by 10%.
" + + "Increases the player's hacking speed by 2%.
" + + "Increases the amount of money the player gains from hacking by 10%.", + strength_mult: 1.15, + dexterity_mult: 1.15, + hacking_mult: 1.1, + hacking_speed_mult: 1.02, + hacking_money_mult: 1.1, + }); + TheBlackHand.addToFactions(["The Black Hand"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TheBlackHand)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].TheBlackHand]; + } + AddToAugmentations(TheBlackHand); + + //NiteSec + var CRTX42AA = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CRTX42AA, repCost:18e3, moneyCost:45e6, + info:"The CRTX42-AA gene is injected into the genome. " + + "The CRTX42-AA is an artificially-synthesized gene that targets the visual and prefrontal " + + "cortex and improves cognitive abilities.

" + + "This augmentation:
" + + "Improves the player's hacking skill by 8%.
" + + "Improves the player's hacking experience gain rate by 15%.", + hacking_mult: 1.08, + hacking_exp_mult: 1.15, + }); + CRTX42AA.addToFactions(["NiteSec"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CRTX42AA)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CRTX42AA]; + } + AddToAugmentations(CRTX42AA); + + //Chongqing + var Neuregen = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neuregen, repCost:15e3, moneyCost:75e6, + info:"A drug that genetically modifies the neurons in the brain. " + + "The result is that these neurons never die and continuously " + + "regenerate and strengthen themselves.

" + + "This augmentation increases the player's hacking experience gain rate by 40%.", + hacking_exp_mult: 1.4, + }); + Neuregen.addToFactions(["Chongqing"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neuregen)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].Neuregen]; + } + AddToAugmentations(Neuregen); + + //Sector12 + var CashRoot = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CashRoot, repCost:5e3, moneyCost:25e6, + info:"A collection of digital assets saved on a small chip. The chip is implanted " + + "into your wrist. A small jack in the chip allows you to connect it to a computer " + + "and upload the assets.

" + + "This augmentation:
" + + "Lets the player start with $1,000,000 after a reset.
" + + "Lets the player start with the BruteSSH.exe program after a reset." + }); + CashRoot.addToFactions(["Sector-12"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CashRoot)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].CashRoot]; + } + AddToAugmentations(CashRoot); + + //NewTokyo + var NutriGen = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NutriGen, repCost:2500, moneyCost:500e3, + info:"A thermo-powered artificial nutrition generator. Endogenously " + + "synthesizes glucose, amino acids, and vitamins and redistributes them " + + "across the body. The device is powered by the body's naturally wasted " + + "energy in the form of heat.

" + + "This augmentation:
" + + "Increases the player's experience gain rate for all combat stats by 20%.", + strength_exp_mult: 1.2, + defense_exp_mult: 1.2, + dexterity_exp_mult: 1.2, + agility_exp_mult: 1.2, + }); + NutriGen.addToFactions(["New Tokyo"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NutriGen)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NutriGen]; + } + AddToAugmentations(NutriGen); + + //Aevum + //TODO Later Something that lets you learn advanced math...this increases int + //and profits as a trader/from trading + + //Ishima + var INFRARet = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].INFRARet, repCost:3e3, moneyCost:6e6, + info:"A retina implant consisting of a tiny chip that sits behind the " + + "retina. This implant lets people visually detect infrared radiation.

" + + "This augmentation:
" + + "Increases the player's crime success rate by 25%.
" + + "Increases the amount of money the player gains from crimes by 10%.
" + + "Increases the player's dexterity by 10%.", + crime_success_mult: 1.25, + crime_money_mult: 1.1, + dexterity_mult: 1.1, + }); + INFRARet.addToFactions(["Ishima"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].INFRARet)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].INFRARet]; + } + AddToAugmentations(INFRARet); + + //Volhaven + var DermaForce = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].DermaForce, repCost:6e3, moneyCost:10e6, + info:"A synthetic skin is grafted onto the body. The skin consists of " + + "millions of nanobots capable of projecting high-density muon beams, " + + "creating an energy barrier around the user.

" + + "This augmentation increases the player's defense by 40%.", + defense_mult: 1.4, + }); + DermaForce.addToFactions(["Volhaven"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].DermaForce)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].DermaForce]; + } + AddToAugmentations(DermaForce); + + //SpeakersForTheDead + var GrapheneBrachiBlades = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBrachiBlades, repCost:90e3, moneyCost:500e6, + info:"An upgrade to the BrachiBlades augmentation. It infuses " + + "the retractable blades with an advanced graphene material " + + "to make them much stronger and lighter.

" + + "This augmentation:
" + + "Increases the player's strength and defense by 40%.
" + + "Increases the player's crime success rate by 10%.
" + + "Increases the amount of money the player gains from crimes by 30%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BrachiBlades], + strength_mult: 1.4, + defense_mult: 1.4, + crime_success_mult: 1.1, + crime_money_mult: 1.3, + }); + GrapheneBrachiBlades.addToFactions(["Speakers for the Dead"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBrachiBlades)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBrachiBlades]; + } + AddToAugmentations(GrapheneBrachiBlades); + + //DarkArmy + var GrapheneBionicArms = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBionicArms, repCost:200e3, moneyCost:750e6, + info:"An upgrade to the Bionic Arms augmentation. It infuses the " + + "prosthetic arms with an advanced graphene material " + + "to make them much stronger and lighter.

" + + "This augmentation increases the player's strength and dexterity by 85%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicArms], + strength_mult: 1.85, + dexterity_mult: 1.85, + }); + GrapheneBionicArms.addToFactions(["The Dark Army"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBionicArms)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GrapheneBionicArms]; + } + AddToAugmentations(GrapheneBionicArms); + + //TheSyndicate + var BrachiBlades = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BrachiBlades, repCost:5e3, moneyCost:18e6, + info:"A set of retractable plasteel blades are implanted in the arm, underneath the skin.

" + + "This augmentation:
" + + "Increases the player's strength and defense by 15%.
" + + "Increases the player's crime success rate by 10%.
" + + "Increases the amount of money the player gains from crimes by 15%.", + strength_mult: 1.15, + defense_mult: 1.15, + crime_success_mult: 1.1, + crime_money_mult: 1.15, + }); + BrachiBlades.addToFactions(["The Syndicate"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BrachiBlades)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BrachiBlades]; + } + AddToAugmentations(BrachiBlades); + + //Tetrads + var BionicArms = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicArms, repCost:25e3, moneyCost:55e6, + info:"Cybernetic arms created from plasteel and carbon fibers that completely replace " + + "the user's organic arms.

" + + "This augmentation increases the user's strength and dexterity by 30%.", + strength_mult: 1.3, + dexterity_mult: 1.3, + }); + BionicArms.addToFactions(["Tetrads"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicArms)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BionicArms]; + } + AddToAugmentations(BionicArms); + + //TianDiHui + var SNA = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SNA, repCost:2500, moneyCost:6e6, + info:"A cranial implant that affects the user's personality, making them better " + + "at negotiation in social situations.

" + + "This augmentation:
" + + "Increases the amount of money the player earns at a company by 10%.
" + + "Increases the amount of reputation the player gains when working for a " + + "company or faction by 15%.", + work_money_mult: 1.1, + company_rep_mult: 1.15, + faction_rep_mult: 1.15, + }); + SNA.addToFactions(["Tian Di Hui"]); + if (augmentationExists(_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SNA)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].SNA]; + } + AddToAugmentations(SNA); + + //For BitNode-2, add all Augmentations to crime/evil factions. + //Do this before adding special Augmentations that become available in later BitNodes + if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bitNodeN === 2) { + console.log("Adding all augmentations to crime factions for Bit node 2"); + _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]["Slum Snakes"].addAllAugmentations(_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]); + _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]["Tetrads"].addAllAugmentations(_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]); + _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]["The Syndicate"].addAllAugmentations(_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]); + _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]["The Dark Army"].addAllAugmentations(_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]); + _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]["Speakers for the Dead"].addAllAugmentations(_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]); + _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]["NiteSec"].addAllAugmentations(_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]); + _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["Factions"]["The Black Hand"].addAllAugmentations(_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]); + } + + //Special Bladeburner Augmentations + var BladeburnersFactionName = "Bladeburners"; + if (Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_5__["factionExists"])(BladeburnersFactionName)) { + var EsperEyewear = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].EsperEyewear, repCost:500, moneyCost:33e6, + info:"Ballistic-grade protective and retractable eyewear that was designed specially " + + "for Bladeburner units. This " + + "is implanted by installing a mechanical frame in the skull's orbit. " + + "This frame interfaces with the brain and allows the user to " + + "automatically extrude and extract the eyewear. The eyewear protects " + + "against debris, shrapnel, laser, flash, and gas. It is also " + + "embedded with a data processing chip that can be programmed to display an " + + "AR HUD and assist the user in field missions.

" + + "This augmentation:
" + + "Increases the player's success chance in Bladeburner contracts/operations by 3%.
" + + "Increases the player's dexterity by 5%.", + bladeburner_success_chance_mult: 1.03, + dexterity_mult: 1.05, + }); + EsperEyewear.addToFactions([BladeburnersFactionName]); + resetAugmentation(EsperEyewear); + + var EMS4Recombination = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].EMS4Recombination, repCost: 1e3, moneyCost:55e6, + info:"A DNA recombination of the EMS-4 Gene. This genetic engineering " + + "technique was originally used on Bladeburners during the Synthoid uprising " + + "to induce wakefulness and concentration, suppress fear, reduce empathy, and " + + "improve reflexes and memory-recall among other things.

" + + "This augmentation:
" + + "Increases the player's sucess chance in Bladeburner contracts/operations by 3%.
" + + "Increases the player's effectiveness in Bladeburner Field Analysis by 5%.
" + + "Increases the player's Bladeburner stamina gain rate by 2%.", + bladeburner_success_chance_mult: 1.03, + bladeburner_analysis_mult: 1.05, + bladeburner_stamina_gain_mult: 1.02, + }); + EMS4Recombination.addToFactions([BladeburnersFactionName]); + resetAugmentation(EMS4Recombination); + + var OrionShoulder = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].OrionShoulder, repCost:2.5e3, moneyCost:110e6, + info:"A bionic shoulder augmentation for the right shoulder. Using cybernetics, " + + "the ORION-MKIV shoulder enhances the strength and dexterity " + + "of the user's right arm. It also provides protection due to its " + + "crystallized graphene plating.

" + + "This augmentation:
" + + "Increases the player's defense by 5%.
" + + "Increases the player's strength and dexterity by 5%.
" + + "Increases the player's success chance in Bladeburner contracts/operations by 4%.", + defense_mult: 1.05, + strength_mult: 1.05, + dexterity_mult: 1.05, + bladeburner_success_chance_mult: 1.04, + }); + OrionShoulder.addToFactions([BladeburnersFactionName]); + resetAugmentation(OrionShoulder); + + var HyperionV1 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HyperionV1, repCost: 5e3, moneyCost:550e6, + info:"A pair of mini plasma cannons embedded into the hands. The Hyperion is capable " + + "of rapidly firing bolts of high-density plasma. The weapon is meant to " + + "be used against augmented enemies as the ionized " + + "nature of the plasma disrupts the electrical systems of Augmentations. However, " + + "it can also be effective against non-augmented enemies due to its high temperature " + + "and concussive force.

" + + "This augmentation:
" + + "Increases the player's success chance in Bladeburner contracts/operations by 6%.", + bladeburner_success_chance_mult: 1.06, + }); + HyperionV1.addToFactions([BladeburnersFactionName]); + resetAugmentation(HyperionV1); + + var HyperionV2 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HyperionV2, repCost:10e3, moneyCost:1.1e9, + info:"A pair of mini plasma cannons embedded into the hands. This augmentation " + + "is more advanced and powerful than the original V1 model. This V2 model is " + + "more power-efficiency, more accurate, and can fire plasma bolts at a much " + + "higher velocity than the V1 model.

" + + "This augmentation:
" + + "Increases the player's success chance in Bladeburner contracts/operations by 8%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].HyperionV1], + bladeburner_success_chance_mult: 1.08, + }); + HyperionV2.addToFactions([BladeburnersFactionName]); + resetAugmentation(HyperionV2); + + var GolemSerum = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].GolemSerum, repCost:12.5e3, moneyCost:2.2e9, + info:"A serum that permanently enhances many aspects of a human's capabilities, " + + "including strength, speed, immune system performance, and mitochondrial efficiency. The " + + "serum was originally developed by the Chinese military in an attempt to " + + "create super soldiers.

" + + "This augmentation:
" + + "Increases all of the player's combat stats by 7%.
" + + "Increases the player's Bladeburner stamina gain rate by 5%.
", + strength_mult: 1.07, + defense_mult: 1.07, + dexterity_mult: 1.07, + agility_mult: 1.07, + bladeburner_stamina_gain_mult: 1.05, + }); + GolemSerum.addToFactions([BladeburnersFactionName]); + resetAugmentation(GolemSerum); + + var VangelisVirus = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].VangelisVirus, repCost:7.5e3, moneyCost:550e6, + info:"A synthetic symbiotic virus that is injected into the human brain tissue. The Vangelis virus " + + "heightens the senses and focus of its host, and also enhances its intuition.

" + + "This augmentation:
" + + "Increases the player's effectiveness in Bladeburner Field Analysis by 10%.
" + + "Increases the player's success chance in Bladeburner contracts/operations by 4%.
" + + "Increases the player's dexterity experience gain rate by 10%.", + dexterity_exp_mult: 1.1, + bladeburner_analysis_mult: 1.1, + bladeburner_success_chance_mult: 1.04, + }); + VangelisVirus.addToFactions([BladeburnersFactionName]); + resetAugmentation(VangelisVirus); + + var VangelisVirus3 = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].VangelisVirus3, repCost:15e3, moneyCost:2.2e9, + info:"An improved version of Vangelis, a synthetic symbiotic virus that is " + + "injected into the human brain tissue. On top of the benefits of the original " + + "virus, this also grants an accelerated healing factor and enhanced " + + "agility/reflexes.

" + + "This augmentation:
" + + "Increases the player's effectiveness in Bladeburner Field Analysis by 15%.
" + + "Increases the player's defense and dexterity experience gain rate by 10%.
" + + "Increases the player's success chance in Bladeburner contracts/operations by 5%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].VangelisVirus], + defense_exp_mult: 1.1, + dexterity_exp_mult: 1.1, + bladeburner_analysis_mult: 1.15, + bladeburner_success_chance_mult: 1.05, + }); + VangelisVirus3.addToFactions([BladeburnersFactionName]); + resetAugmentation(VangelisVirus3); + + var INTERLINKED = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].INTERLINKED, repCost:10e3, moneyCost:1.1e9, + info:"The DNA is genetically modified to enhance the human's body " + + "extracellular matrix (ECM). This improves the ECM's ability to " + + "structurally support the body and grants heightened strength and " + + "durability.

" + + "This augmentation:
" + + "Increases the player's experience gain rate for all combat stats by 5%.
" + + "Increases the player's Bladeburner max stamina by 10%.", + strength_exp_mult: 1.05, + defense_exp_mult: 1.05, + dexterity_exp_mult: 1.05, + agility_exp_mult: 1.05, + bladeburner_max_stamina_mult: 1.1, + }); + INTERLINKED.addToFactions([BladeburnersFactionName]); + resetAugmentation(INTERLINKED); + + var BladeRunner = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeRunner, repCost:8e3, moneyCost:1.65e9, + info:"A cybernetic foot augmentation that was specially created for Bladeburners " + + "during the Synthoid Uprising. The organic musculature of the human foot " + + "is enhanced with flexible carbon nanotube matrices that are controlled by " + + "intelligent servo-motors.

" + + "This augmentation:
" + + "Increases the player's agility by 5%.
" + + "Increases the player's Bladeburner max stamina by 5%.
" + + "Increases the player's Bladeburner stamina gain rate by 5%.
", + agility_mult: 1.05, + bladeburner_max_stamina_mult: 1.05, + bladeburner_stamina_gain_mult: 1.05, + }); + BladeRunner.addToFactions([BladeburnersFactionName]); + resetAugmentation(BladeRunner); + + var BladeArmor = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmor, repCost:5e3, moneyCost:275e6, + info:"A powered exoskeleton suit (exosuit) designed as armor for Bladeburner units. This " + + "exoskeleton is incredibly adaptable and can protect the wearer from blunt, piercing, " + + "concussive, thermal, chemical, and electric trauma. It also enhances the user's " + + "strength and agility.

" + + "This augmentation:
" + + "Increases all of the player's combat stats by 4%.
" + + "Increases the player's Bladeburner stamina gain rate by 2%.
" + + "Increases the player's success chance in Bladeburner contracts/operations by 3%.", + strength_mult: 1.04, + defense_mult: 1.04, + dexterity_mult: 1.04, + agility_mult: 1.04, + bladeburner_stamina_gain_mult: 1.02, + bladeburner_success_chance_mult: 1.03, + }); + BladeArmor.addToFactions([BladeburnersFactionName]); + resetAugmentation(BladeArmor); + + var BladeArmorPowerCells = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmorPowerCells, repCost:7.5e3, moneyCost:550e6, + info:"Upgrades the BLADE-51b Tesla Armor with Ion Power Cells, which are capable of " + + "more efficiently storing and using power.

" + + "This augmentation:
" + + "Increases the player's success chance in Bladeburner contracts/operations by 5%.
" + + "Increases the player's Bladeburner stamina gain rate by 2%.
" + + "Increases the player's Bladeburner max stamina by 5%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmor], + bladeburner_success_chance_mult: 1.05, + bladeburner_stamina_gain_mult: 1.02, + bladeburner_max_stamina_mult: 1.05, + }); + BladeArmorPowerCells.addToFactions([BladeburnersFactionName]); + resetAugmentation(BladeArmorPowerCells); + + var BladeArmorEnergyShielding = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmorEnergyShielding, repCost:8.5e3, moneyCost:1.1e9, + info:"Upgrades the BLADE-51b Tesla Armor with a plasma energy propulsion system " + + "that is capable of projecting an energy shielding force field.

" + + "This augmentation:
" + + "Increases the player's defense by 5%.
" + + "Increases the player's success chance in Bladeburner contracts/operations by 6%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmor], + defense_mult: 1.05, + bladeburner_success_chance_mult: 1.06, + }); + BladeArmorEnergyShielding.addToFactions([BladeburnersFactionName]); + resetAugmentation(BladeArmorEnergyShielding); + + var BladeArmorUnibeam = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmorUnibeam, repCost:12.5e3, moneyCost:3.3e9, + info:"Upgrades the BLADE-51b Tesla Armor with a concentrated deuterium-fluoride laser " + + "weapon. It's precision an accuracy makes it useful for quickly neutralizing " + + "threats while keeping casualties to a minimum.

" + + "This augmentation:
" + + "Increases the player's success chance in Bladeburner contracts/operations by 8%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmor], + bladeburner_success_chance_mult: 1.08, + }); + BladeArmorUnibeam.addToFactions([BladeburnersFactionName]); + resetAugmentation(BladeArmorUnibeam); + + var BladeArmorOmnibeam = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmorOmnibeam, repCost:25e3, moneyCost:5.5e9, + info:"Upgrades the BLADE-51b Tesla Armor Unibeam augmentation to use " + + "multiple-fiber system. The upgraded weapon uses multiple fiber laser " + + "modules that combine together to form a single, more powerful beam of up to " + + "2000MW.

" + + "This augmentation:
" + + "Increases the player's success chance in Bladeburner contracts/operations by 10%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmorUnibeam], + bladeburner_success_chance_mult: 1.1, + }); + BladeArmorOmnibeam.addToFactions([BladeburnersFactionName]); + resetAugmentation(BladeArmorOmnibeam); + + var BladeArmorIPU = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmorIPU, repCost: 6e3, moneyCost:220e6, + info:"Upgrades the BLADE-51b Tesla Armor with an AI Information Processing " + + "Unit that was specially designed to analyze Synthoid related data and " + + "information.

" + + "This augmentation:
" + + "Increases the player's effectiveness in Bladeburner Field Analysis by 15%.
" + + "Increases the player's success chance in Bladeburner contracts/operations by 2%.", + prereqs:[_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladeArmor], + bladeburner_analysis_mult: 1.15, + bladeburner_success_chance_mult: 1.02, + }); + BladeArmorIPU.addToFactions([BladeburnersFactionName]); + resetAugmentation(BladeArmorIPU); + + var BladesSimulacrum = new _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"]({ + name:_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].BladesSimulacrum, repCost:3e3, moneyCost:80e9, + info:"A highly-advanced matter phase-shifter module that is embedded " + + "in the brainstem and cerebellum. This augmentation allows " + + "the user to project and control a holographic simulacrum within an " + + "extremely large radius. These specially-modified holograms were specially " + + "weaponized by Bladeburner units to be used against Synthoids.

" + + "This augmentation allows you to perform Bladeburner actions and other " + + "actions (such as working, commiting crimes, etc.) at the same time." + }); + BladesSimulacrum.addToFactions([BladeburnersFactionName]); + resetAugmentation(BladesSimulacrum); + } + + //Update costs based on how many have been purchased + var mult = Math.pow(_Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].MultipleAugMultiplier, _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations.length); + for (var name in _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]) { + if (_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"].hasOwnProperty(name)) { + _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][name].baseCost *= mult; + } + } + + _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].reapplyAllAugmentations(); +} + +//Resets an Augmentation during (re-initizliation) +function resetAugmentation(newAugObject) { + if (!(newAugObject instanceof _Augmentation__WEBPACK_IMPORTED_MODULE_0__["Augmentation"])) { + throw new Error("Invalid argument 'newAugObject' passed into resetAugmentation"); + } + var name = newAugObject.name; + if (augmentationExists(name)) { + delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][name]; + } + AddToAugmentations(newAugObject); +} + +function applyAugmentation(aug, reapply=false) { + _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][aug.name].owned = true; + + const augObj = _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][aug.name]; + + // Apply multipliers + for (const mult in augObj.mults) { + if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"][mult] == null) { + console.warn(`Augmentation has unrecognized multiplier property: ${mult}`); + } else { + _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"][mult] *= augObj.mults[mult]; + } + } + + // Special logic for NeuroFlux Governor + if (aug.name === _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { + if (!reapply) { + _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][aug.name].level = aug.level; + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations[i].name == _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { + _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations[i].level = aug.level; + break; + } } } } - /** - * Serialize the current object to a JSON save state. - */ - toJSON() { - return JSONReviver_1.Generic_toJSON("Faction", this); + + if (aug.name === _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations[i].name == _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { + //Already have this aug, just upgrade the level + return; + } + } + } + + // Push onto Player's Augmentation list + if (!reapply) { + var ownedAug = new PlayerOwnedAugmentation(aug.name); + _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations.push(ownedAug); } } -exports.Faction = Faction; -JSONReviver_1.Reviver.constructors.Faction = Faction; + +function installAugmentations(cbScript=null) { + if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations.length == 0) { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])("You have not purchased any Augmentations to install!"); + return false; + } + var augmentationList = ""; + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations.length; ++i) { + var aug = _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations[i].name]; + if (aug == null) { + console.log("ERROR. Invalid augmentation"); + continue; + } + applyAugmentation(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations[i]); + augmentationList += (aug.name + "
"); + } + _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations = []; + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_16__["dialogBoxCreate"])("You slowly drift to sleep as scientists put you under in order " + + "to install the following Augmentations:
" + augmentationList + + "
You wake up in your home...you feel different..."); + Object(_Prestige__WEBPACK_IMPORTED_MODULE_9__[/* prestigeAugmentation */ "a"])(); + + //Run a script after prestiging + if (cbScript && Object(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_22__["isString"])(cbScript)) { + var home = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].getHomeComputer(); + for (var i = 0; i < home.scripts.length; ++i) { + if (home.scripts[i].filename === cbScript) { + var script = home.scripts[i]; + var ramUsage = script.ramUsage; + var ramAvailable = home.maxRam - home.ramUsed; + if (ramUsage > ramAvailable) { + return; //Not enough RAM + } + var runningScriptObj = new _Script__WEBPACK_IMPORTED_MODULE_11__[/* RunningScript */ "b"](script, []); //No args + runningScriptObj.threads = 1; //Only 1 thread + home.runningScripts.push(runningScriptObj); + Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_7__[/* addWorkerScript */ "c"])(runningScriptObj, home); + } + } + } +} + +function augmentationExists(name) { + return _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"].hasOwnProperty(name); +} + +//Used for testing balance +function giveAllAugmentations() { + for (var name in _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]) { + var aug = _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][name]; + if (aug == null) {continue;} + var ownedAug = new PlayerOwnedAugmentation(name); + _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations.push(ownedAug); + } + _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].reapplyAllAugmentations(); +} + +function displayAugmentationsContent(contentEl) { + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_23__["removeChildrenFromElement"])(contentEl); + contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("h1", { + innerText:"Purchased Augmentations", + })); + + //Bladeburner text, once mechanic is unlocked + var bladeburnerText = "\n"; + if (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].bitNodeN === 6 || _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_6__[/* hasBladeburnerSF */ "c"]) { + bladeburnerText = "Bladeburner Progress\n\n"; + } + + contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("pre", { + width:"70%", whiteSpace:"pre-wrap", display:"block", + innerText:"Below is a list of all Augmentations you have purchased but not yet installed. Click the button below to install them.\n" + + "WARNING: Installing your Augmentations resets most of your progress, including:\n\n" + + "Stats/Skill levels and Experience\n" + + "Money\n" + + "Scripts on every computer but your home computer\n" + + "Purchased servers\n" + + "Hacknet Nodes\n" + + "Faction/Company reputation\n" + + "Stocks\n" + + bladeburnerText + + "Installing Augmentations lets you start over with the perks and benefits granted by all " + + "of the Augmentations you have ever installed. Also, you will keep any scripts and RAM/Core upgrades " + + "on your home computer (but you will lose all programs besides NUKE.exe)." + })); + + //Install Augmentations button + contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("a", { + class:"a-link-button", innerText:"Install Augmentations", + tooltip:"'I never asked for this'", + clickListener:()=>{ + installAugmentations(); + return false; + } + })); + + //Backup button + contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("a", { + class:"a-link-button flashing-button", innerText:"Backup Save (Export)", + tooltip:"It's always a good idea to backup/export your save!", + clickListener:()=>{ + _SaveObject__WEBPACK_IMPORTED_MODULE_10__[/* saveObject */ "b"].exportGame(); + return false; + } + })); + + //Purchased/queued augmentations list + var queuedAugmentationsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("ul", {class:"augmentations-list"}); + + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations.length; ++i) { + var augName = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations[i].name; + var aug = _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][augName]; + + var displayName = augName; + if (augName === _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { + displayName += " - Level " + (_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].queuedAugmentations[i].level); + } + + var accordion = Object(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_17__["createAccordionElement"])({hdrText:displayName, panelText:aug.info}); + queuedAugmentationsList.appendChild(accordion[0]); + } + contentEl.appendChild(queuedAugmentationsList); + + //Installed augmentations list + contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("h1", { + innerText:"Installed Augmentations", marginTop:"8px", + })); + contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("p", { + width:"70%", whiteSpace:"pre-wrap", + innerText:"List of all Augmentations (including Source Files) that have been " + + "installed. You have gained the effects of these Augmentations." + })); + + var augmentationsList = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("ul", {class:"augmentations-list"}); + + //Expand/Collapse All buttons + contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("a", { + class:"a-link-button", fontSize:"14px", innerText:"Expand All", display:"inline-block", + clickListener:()=>{ + var allHeaders = augmentationsList.getElementsByClassName("accordion-header"); + for (var i = 0; i < allHeaders.length; ++i) { + if (!allHeaders[i].classList.contains("active")) {allHeaders[i].click();} + } + } + })); + contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("a", { + class:"a-link-button", fontSize:"14px", innerText:"Collapse All", display:"inline-block", + clickListener:()=>{ + var allHeaders = augmentationsList.getElementsByClassName("accordion-header"); + for (var i = 0; i < allHeaders.length; ++i) { + if (allHeaders[i].classList.contains("active")) {allHeaders[i].click();} + } + } + })); + + //Sort Buttons + const sortInOrderButton = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("a", { + class:"a-link-button", fontSize:"14px", innerText:"Sort in Order", + tooltip:"Sorts the Augmentations alphabetically and Source Files in numerical order (1, 2, 3,...)", + clickListener:()=>{ + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_23__["removeChildrenFromElement"])(augmentationsList); + + //Create a copy of Player's Source Files and augs array and sort them + var sourceFiles = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].sourceFiles.slice(); + var augs = _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations.slice(); + sourceFiles.sort((sf1, sf2)=>{ + return sf1.n - sf2.n; + }); + augs.sort((aug1, aug2)=>{ + return aug1.name <= aug2.name ? -1 : 1; + }); + displaySourceFiles(augmentationsList, sourceFiles); + displayAugmentations(augmentationsList, augs); + + _Settings__WEBPACK_IMPORTED_MODULE_14__["Settings"].OwnedAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_13__["OwnedAugmentationsOrderSetting"].Alphabetically; + } + }); + contentEl.appendChild(sortInOrderButton); + + const sortByAcquirementTimeButton = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("a", { + class:"a-link-button", fontSize:"14px", innerText:"Sort by Acquirement Time", + tooltip:"Sorts the Augmentations and Source Files based on when you acquired them (same as default)", + clickListener:()=>{ + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_23__["removeChildrenFromElement"])(augmentationsList); + displaySourceFiles(augmentationsList, _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].sourceFiles); + displayAugmentations(augmentationsList, _Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].augmentations); + + _Settings__WEBPACK_IMPORTED_MODULE_14__["Settings"].OwnedAugmentationsOrder = _SettingEnums__WEBPACK_IMPORTED_MODULE_13__["OwnedAugmentationsOrderSetting"].AcquirementTime; + } + }); + contentEl.appendChild(sortByAcquirementTimeButton); + + if (_Settings__WEBPACK_IMPORTED_MODULE_14__["Settings"].OwnedAugmentationsOrder === _SettingEnums__WEBPACK_IMPORTED_MODULE_13__["OwnedAugmentationsOrderSetting"].Alphabetically) { + sortInOrderButton.click(); + } else { + sortByAcquirementTimeButton.click(); + } + contentEl.appendChild(augmentationsList); + + // Display multiplier information at the bottom + contentEl.appendChild(Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__["createElement"])("p", { + display: "block", + innerHTML: + `

Total Multipliers:
` + + 'Hacking Chance multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].hacking_chance_mult * 100, 2) + '%
' + + 'Hacking Speed multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].hacking_speed_mult * 100, 2) + '%
' + + 'Hacking Money multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].hacking_money_mult * 100, 2) + '%
' + + 'Hacking Growth multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].hacking_grow_mult * 100, 2) + '%

' + + 'Hacking Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].hacking_mult * 100, 2) + '%
' + + 'Hacking Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].hacking_exp_mult * 100, 2) + '%

' + + 'Strength Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].strength_mult * 100, 2) + '%
' + + 'Strength Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].strength_exp_mult * 100, 2) + '%

' + + 'Defense Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].defense_mult * 100, 2) + '%
' + + 'Defense Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].defense_exp_mult * 100, 2) + '%

' + + 'Dexterity Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].dexterity_mult * 100, 2) + '%
' + + 'Dexterity Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].dexterity_exp_mult * 100, 2) + '%

' + + 'Agility Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].agility_mult * 100, 2) + '%
' + + 'Agility Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].agility_exp_mult * 100, 2) + '%

' + + 'Charisma Level multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].charisma_mult * 100, 2) + '%
' + + 'Charisma Experience multiplier: ' + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_19__["formatNumber"])(_Player__WEBPACK_IMPORTED_MODULE_8__[/* Player */ "a"].charisma_exp_mult * 100, 2) + '%

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

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


', + })) +} + +//Creates the accordion elements to display Augmentations +// @listElement - List DOM element to append accordion elements to +// @augs - Array of Augmentation objects +function displayAugmentations(listElement, augs) { + for (var i = 0; i < augs.length; ++i) { + var augName = augs[i].name; + var aug = _Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][augName]; + + var displayName = augName; + if (augName === _data_AugmentationNames__WEBPACK_IMPORTED_MODULE_2__["AugmentationNames"].NeuroFluxGovernor) { + displayName += " - Level " + (augs[i].level); + } + var accordion = Object(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_17__["createAccordionElement"])({hdrText:displayName, panelText:aug.info}); + listElement.appendChild(accordion[0]); + } +} + +//Creates the accordion elements to display Source Files +// @listElement - List DOM element to append accordion elements to +// @sourceFiles - Array of Source File objects +function displaySourceFiles(listElement, sourceFiles) { + for (var i = 0; i < sourceFiles.length; ++i) { + var srcFileKey = "SourceFile" + sourceFiles[i].n; + var sourceFileObject = _SourceFile__WEBPACK_IMPORTED_MODULE_15__[/* SourceFiles */ "a"][srcFileKey]; + if (sourceFileObject == null) { + console.log("ERROR: Invalid source file number: " + sourceFiles[i].n); + continue; + } + const maxLevel = sourceFiles[i].n == 12 ? "∞" : "3"; + var accordion = Object(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_17__["createAccordionElement"])({ + hdrText:sourceFileObject.name + "
" + "Level " + (sourceFiles[i].lvl) + " / "+maxLevel, + panelText:sourceFileObject.info + }); + + listElement.appendChild(accordion[0]); + } +} + + + /***/ }), -/* 58 */ +/* 62 */ /*!****************************************!*\ !*** ./src/Corporation/Corporation.js ***! \****************************************/ @@ -35855,69 +35698,69 @@ JSONReviver_1.Reviver.constructors.Faction = Faction; /* unused harmony export CyclesPerEmployeeRaise */ /* unused harmony export EmployeeRaiseAmount */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Corporation; }); -/* harmony import */ var _CorporationState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CorporationState */ 121); +/* harmony import */ var _CorporationState__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CorporationState */ 130); /* harmony import */ var _CorporationState__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_CorporationState__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _data_CorporationUnlockUpgrades__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./data/CorporationUnlockUpgrades */ 107); +/* harmony import */ var _data_CorporationUnlockUpgrades__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./data/CorporationUnlockUpgrades */ 114); /* harmony import */ var _data_CorporationUnlockUpgrades__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_data_CorporationUnlockUpgrades__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _data_CorporationUpgrades__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./data/CorporationUpgrades */ 106); +/* harmony import */ var _data_CorporationUpgrades__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./data/CorporationUpgrades */ 113); /* harmony import */ var _data_CorporationUpgrades__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_data_CorporationUpgrades__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _EmployeePositions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmployeePositions */ 27); +/* harmony import */ var _EmployeePositions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./EmployeePositions */ 30); /* harmony import */ var _EmployeePositions__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_EmployeePositions__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _IndustryData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./IndustryData */ 23); +/* harmony import */ var _IndustryData__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./IndustryData */ 25); /* harmony import */ var _IndustryData__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_IndustryData__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _IndustryUpgrades__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./IndustryUpgrades */ 105); +/* harmony import */ var _IndustryUpgrades__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./IndustryUpgrades */ 112); /* harmony import */ var _IndustryUpgrades__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_IndustryUpgrades__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _Material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Material */ 63); +/* harmony import */ var _Material__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Material */ 67); /* harmony import */ var _Material__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Material__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _MaterialSizes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MaterialSizes */ 77); +/* harmony import */ var _MaterialSizes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./MaterialSizes */ 82); /* harmony import */ var _MaterialSizes__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_MaterialSizes__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _Product__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Product */ 104); +/* harmony import */ var _Product__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Product */ 111); /* harmony import */ var _Product__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Product__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _ResearchMap__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ResearchMap */ 99); +/* harmony import */ var _ResearchMap__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ResearchMap */ 106); /* harmony import */ var _ResearchMap__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_ResearchMap__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_10__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_10__); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_11__); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Faction/Factions */ 14); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../Faction/Factions */ 16); /* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _Literature__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../Literature */ 84); +/* harmony import */ var _Literature__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../Literature */ 89); /* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../Locations */ 5); /* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_14__); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../Player */ 0); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../ui/numeralFormat */ 4); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_16__); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../ui/navigationTracking */ 12); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../ui/navigationTracking */ 14); /* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_clearSelector__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../utils/uiHelpers/clearSelector */ 140); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_clearSelector__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../../utils/uiHelpers/clearSelector */ 153); /* harmony import */ var _utils_uiHelpers_clearSelector__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearSelector__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../utils/JSONReviver */ 13); -/* harmony import */ var _utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../utils/uiHelpers/appendLineBreaks */ 52); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../../utils/JSONReviver */ 15); +/* harmony import */ var _utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../../utils/uiHelpers/appendLineBreaks */ 55); /* harmony import */ var _utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_appendLineBreaks__WEBPACK_IMPORTED_MODULE_21__); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_22__); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../utils/uiHelpers/createPopup */ 36); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../../utils/uiHelpers/createPopup */ 40); /* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_23__); -/* harmony import */ var _utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../utils/uiHelpers/createPopupCloseButton */ 75); +/* harmony import */ var _utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../../utils/uiHelpers/createPopupCloseButton */ 79); /* harmony import */ var _utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_24__); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../../utils/StringHelperFunctions */ 3); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 15); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 17); /* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_26__); -/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../utils/helpers/isString */ 40); +/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../../utils/helpers/isString */ 43); /* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_27__); -/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../utils/helpers/keyCodes */ 25); +/* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../../utils/helpers/keyCodes */ 27); /* harmony import */ var _utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_keyCodes__WEBPACK_IMPORTED_MODULE_28__); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../utils/uiHelpers/removeChildrenFromElement */ 30); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../../utils/uiHelpers/removeChildrenFromElement */ 32); /* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_29__); -/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../utils/uiHelpers/removeElement */ 61); +/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../../utils/uiHelpers/removeElement */ 63); /* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_30__); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../utils/uiHelpers/removeElementById */ 20); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ../../utils/uiHelpers/removeElementById */ 23); /* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_31___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_31__); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../utils/YesNoBox */ 19); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ../../utils/YesNoBox */ 21); /* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_32___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_32__); -/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! decimal.js */ 35); +/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! decimal.js */ 39); @@ -38810,7 +38653,7 @@ Corporation.prototype.determineValuation = function() { } val -= (val % 1e6); //Round down to nearest millionth } - return val * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_10__["BitNodeMultipliers"].CorporationValuation; + return val * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_10__["BitNodeMultipliers"].CorporationValuation; } Corporation.prototype.getInvestment = function() { @@ -40984,10 +40827,47 @@ _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_20__["Reviver"].constructors.Corpora -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 59 */ +/* 63 */ +/*!******************************************!*\ + !*** ./utils/uiHelpers/removeElement.ts ***! + \******************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * For a given element, this function removes it AND its children + * @param elem The element to remove. + */ +function removeElement(elem) { + if (elem === null) { + // tslint:disable-next-line:no-console + console.debug("The element passed into 'removeElement' was null."); + return; + } + if (!(elem instanceof Element)) { + // tslint:disable-next-line:no-console + console.debug("The element passed into 'removeElement' was not an instance of an Element."); + return; + } + while (elem.firstChild !== null) { + elem.removeChild(elem.firstChild); + } + if (elem.parentNode !== null) { + elem.parentNode.removeChild(elem); + } +} +exports.removeElement = removeElement; + + +/***/ }), +/* 64 */ /*!************************!*\ !*** ./src/RedPill.js ***! \************************/ @@ -40998,19 +40878,22 @@ _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_20__["Reviver"].constructors.Corpora "use strict"; /* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return redPillFlag; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return hackWorldDaemon; }); -/* harmony import */ var _BitNode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode */ 60); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./engine */ 9); +/* harmony import */ var _BitNode_BitNode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode/BitNode */ 65); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./engine */ 11); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Prestige__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Prestige */ 88); -/* harmony import */ var _SourceFile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SourceFile */ 70); -/* harmony import */ var _Terminal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Terminal */ 51); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 16); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 30); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/YesNoBox */ 19); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _Prestige__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Prestige */ 92); +/* harmony import */ var _SourceFile__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./SourceFile */ 80); +/* harmony import */ var _SourceFile_PlayerOwnedSourceFile__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./SourceFile/PlayerOwnedSourceFile */ 146); +/* harmony import */ var _SourceFile_PlayerOwnedSourceFile__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_SourceFile_PlayerOwnedSourceFile__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _Terminal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Terminal */ 54); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 22); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 32); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/YesNoBox */ 21); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_10__); + @@ -41066,8 +40949,8 @@ let redPillFlag = false; function hackWorldDaemon(currentNodeNumber, flume=false) { // Clear Red Pill screen first var container = document.getElementById("red-pill-content"); - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_8__["removeChildrenFromElement"])(container); - + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_9__["removeChildrenFromElement"])(container); + redPillFlag = true; _engine__WEBPACK_IMPORTED_MODULE_1__["Engine"].loadRedPillContent(); return writeRedPillLine("[ERROR] SEMPOOL INVALID").then(function() { @@ -41109,7 +40992,7 @@ function hackWorldDaemon(currentNodeNumber, flume=false) { //This needs to be removed function giveSourceFile(bitNodeNumber) { var sourceFileKey = "SourceFile"+ bitNodeNumber.toString(); - var sourceFile = _SourceFile__WEBPACK_IMPORTED_MODULE_4__[/* SourceFiles */ "b"][sourceFileKey]; + var sourceFile = _SourceFile__WEBPACK_IMPORTED_MODULE_4__[/* SourceFiles */ "a"][sourceFileKey]; if (sourceFile == null) { console.log("ERROR: could not find source file for Bit node: " + bitNodeNumber); return; @@ -41128,20 +41011,20 @@ function giveSourceFile(bitNodeNumber) { if (alreadyOwned && ownedSourceFile) { if (ownedSourceFile.lvl >= 3 && ownedSourceFile.n !== 12) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__["dialogBoxCreate"])("The Source-File for the BitNode you just destroyed, " + sourceFile.name + ", " + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_8__["dialogBoxCreate"])("The Source-File for the BitNode you just destroyed, " + sourceFile.name + ", " + "is already at max level!"); } else { ++ownedSourceFile.lvl; - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__["dialogBoxCreate"])(sourceFile.name + " was upgraded to level " + ownedSourceFile.lvl + " for " + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_8__["dialogBoxCreate"])(sourceFile.name + " was upgraded to level " + ownedSourceFile.lvl + " for " + "destroying its corresponding BitNode!"); } } else { - var playerSrcFile = new _SourceFile__WEBPACK_IMPORTED_MODULE_4__[/* PlayerOwnedSourceFile */ "a"](bitNodeNumber, 1); + var playerSrcFile = new _SourceFile_PlayerOwnedSourceFile__WEBPACK_IMPORTED_MODULE_5__["PlayerOwnedSourceFile"](bitNodeNumber, 1); _Player__WEBPACK_IMPORTED_MODULE_2__[/* Player */ "a"].sourceFiles.push(playerSrcFile); if (bitNodeNumber === 5) { //Artificial Intelligence _Player__WEBPACK_IMPORTED_MODULE_2__[/* Player */ "a"].intelligence = 1; } - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__["dialogBoxCreate"])("You received a Source-File for destroying a Bit Node!

" + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_8__["dialogBoxCreate"])("You received a Source-File for destroying a Bit Node!

" + sourceFile.name + "

" + sourceFile.info); } } @@ -41149,7 +41032,7 @@ function giveSourceFile(bitNodeNumber) { function loadBitVerse(destroyedBitNodeNum, flume=false) { //Clear the screen var container = document.getElementById("red-pill-content"); - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_8__["removeChildrenFromElement"])(container); + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_9__["removeChildrenFromElement"])(container); //Create the Bit Verse var bitVerseImage = document.createElement("pre"); @@ -41220,23 +41103,24 @@ function loadBitVerse(destroyedBitNodeNum, flume=false) { for (var i = 1; i <= 12; ++i) { (function(i) { var elemId = "bitnode-" + i.toString(); - var elem = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__["clearEventListeners"])(elemId); + var elem = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_7__["clearEventListeners"])(elemId); if (elem == null) {return;} if (i === 1 || i === 2 || i === 3 || i === 4 || i === 5 || - i === 6 || i === 7 || i === 8 || i === 11 || i === 12) { + i === 6 || i === 7 || i === 8 || i === 10 || i === 11 || + i === 12) { elem.addEventListener("click", function() { var bitNodeKey = "BitNode" + i; - var bitNode = _BitNode__WEBPACK_IMPORTED_MODULE_0__[/* BitNodes */ "a"][bitNodeKey]; + var bitNode = _BitNode_BitNode__WEBPACK_IMPORTED_MODULE_0__[/* BitNodes */ "a"][bitNodeKey]; if (bitNode == null) { console.log("ERROR: Could not find BitNode object for number: " + i); return; } - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_9__["yesNoBoxCreate"])("BitNode-" + i + ": " + bitNode.name + "

" + bitNode.info); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_10__["yesNoBoxCreate"])("BitNode-" + i + ": " + bitNode.name + "

" + bitNode.info); createBitNodeYesNoEventListeners(i, destroyedBitNodeNum, flume); }); } else { elem.addEventListener("click", function() { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_7__["dialogBoxCreate"])("Not yet implemented! Coming soon!") + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_8__["dialogBoxCreate"])("Not yet implemented! Coming soon!") }); } }(i)); //Immediate invocation closure @@ -41294,7 +41178,7 @@ function loadBitVerse(destroyedBitNodeNum, flume=false) { //Returns string with DOM element for Bit Node function createBitNode(n) { var bitNodeStr = "BitNode" + n.toString(); - var bitNode = _BitNode__WEBPACK_IMPORTED_MODULE_0__[/* BitNodes */ "a"][bitNodeStr]; + var bitNode = _BitNode_BitNode__WEBPACK_IMPORTED_MODULE_0__[/* BitNodes */ "a"][bitNodeStr]; if (bitNode == null) {return "O";} return "O" + "" + @@ -41304,7 +41188,7 @@ function createBitNode(n) { } function createBitNodeYesNoEventListeners(newBitNode, destroyedBitNode, flume=false) { - var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_9__["yesNoBoxGetYesButton"])(); + var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_10__["yesNoBoxGetYesButton"])(); yesBtn.innerHTML = "Enter BitNode-" + newBitNode; yesBtn.addEventListener("click", function() { if (!flume) { @@ -41316,7 +41200,7 @@ function createBitNodeYesNoEventListeners(newBitNode, destroyedBitNode, flume=fa } redPillFlag = false; var container = document.getElementById("red-pill-content"); - Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_8__["removeChildrenFromElement"])(container); + Object(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_9__["removeChildrenFromElement"])(container); //Set new Bit Node _Player__WEBPACK_IMPORTED_MODULE_2__[/* Player */ "a"].bitNodeN = newBitNode; @@ -41328,28 +41212,28 @@ function createBitNodeYesNoEventListeners(newBitNode, destroyedBitNode, flume=fa document.getElementById("terminal-input-td").innerHTML = '$ '; $('input[class=terminal-input]').prop('disabled', false); - _Terminal__WEBPACK_IMPORTED_MODULE_5__[/* Terminal */ "a"].hackFlag = false; + _Terminal__WEBPACK_IMPORTED_MODULE_6__[/* Terminal */ "a"].hackFlag = false; Object(_Prestige__WEBPACK_IMPORTED_MODULE_3__[/* prestigeSourceFile */ "b"])(); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_9__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_10__["yesNoBoxClose"])(); }); - var noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_9__["yesNoBoxGetNoButton"])(); + var noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_10__["yesNoBoxGetNoButton"])(); noBtn.innerHTML = "Back"; noBtn.addEventListener("click", function() { - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_9__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_10__["yesNoBoxClose"])(); }); } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 60 */ -/*!************************!*\ - !*** ./src/BitNode.js ***! - \************************/ +/* 65 */ +/*!********************************!*\ + !*** ./src/BitNode/BitNode.js ***! + \********************************/ /*! exports provided: initBitNodes, BitNodes, initBitNodeMultipliers */ /*! exports used: BitNodes, initBitNodeMultipliers, initBitNodes */ /***/ (function(module, __webpack_exports__, __webpack_require__) { @@ -41360,7 +41244,7 @@ function createBitNodeYesNoEventListeners(newBitNode, destroyedBitNode, flume=fa /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return initBitNodeMultipliers; }); /* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); /* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Player */ 0); +/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Player */ 0); @@ -41520,7 +41404,20 @@ function initBitNodes() { "This Source-File also increases your hacking growth multipliers by: " + "
Level 1: 12%
Level 2: 18%
Level 3: 21%"); BitNodes["BitNode9"] = new BitNode(9, "Do Androids Dream?", "COMING SOON"); - BitNodes["BitNode10"] = new BitNode(10, "MegaCorp", "COMING SOON"); //Not sure yet + BitNodes["BitNode10"] = new BitNode(10, "Digital Carbon", "Your body is not who you are", + "In 2084, VitaLife unveiled to the world the Persona Core, an Augmentation that allowed people " + + "to digitize their consciousness. Their consciousness could then be transferred into Synthoids " + + "or other bodies by trasmitting the digitized data. Human bodies became nothing more than 'sleeves' for the " + + "human consciousness. Mankind had finally achieved immortality - at least for those that could afford it.

" + + "This BitNode unlocks Sleeve technology. Sleeve technology allows you to:

" + + "1. Re-sleeve: Purchase and transfer your consciousness into a new body
" + + "2. Duplicate Sleeves: Duplicate your consciousness into Synthoids, allowing you to perform different tasks synchronously

" + + "In this BitNode:

" + + "Your stats are significantly decreased.
" + + "All methods of gaining money are half as profitable (except Stock Market)
" + + "Augmentations are 5x as expensive and require twice as much reputation

" + + "Destroying this BitNode will give you Source-File 10, or if you already have this Source-File it will " + + "upgrade its level up to a maximum of 3. Each level of this Source-File grants you a Duplicate Sleeve."); BitNodes["BitNode11"] = new BitNode(11, "The Big Crash", "Okay. Sell it all.", "The 2050s was defined by the massive amounts of violent civil unrest and anarchic rebellion that rose all around the world. It was this period " + "of disorder that eventually lead to the governmental reformation of many global superpowers, most notably " + @@ -41669,6 +41566,23 @@ function initBitNodeMultipliers() { _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].CorporationValuation = 0; _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].CodingContractMoney = 0; break; + case 10: // Digital Carbon + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].HackingLevelMultiplier = 0.2; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].StrengthLevelMultiplier = 0.4; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].DefenseLevelMultiplier = 0.4; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].DexterityLevelMultiplier = 0.4; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].AgilityLevelMultiplier = 0.4; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].CharismaLevelMultiplier = 0.4; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].CompanyWorkMoney = 0.5; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].CrimeMoney = 0.5; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].HacknetNodeMoney = 0.5; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ManualHackMoney = 0.5; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ScriptHackMoney = 0.5; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].CodingContractMoney = 0.5; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationMoney = 0.5; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].CorporationValuation = 0.5; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].AugmentationMoneyCost = 5; + _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].AugmentationRepCost = 2; case 11: //The Big Crash _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerMaxMoney = 0.1; _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].ServerStartingMoney = 0.1; @@ -41738,44 +41652,7 @@ function initBitNodeMultipliers() { /***/ }), -/* 61 */ -/*!******************************************!*\ - !*** ./utils/uiHelpers/removeElement.ts ***! - \******************************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * For a given element, this function removes it AND its children - * @param elem The element to remove. - */ -function removeElement(elem) { - if (elem === null) { - // tslint:disable-next-line:no-console - console.debug("The element passed into 'removeElement' was null."); - return; - } - if (!(elem instanceof Element)) { - // tslint:disable-next-line:no-console - console.debug("The element passed into 'removeElement' was not an instance of an Element."); - return; - } - while (elem.firstChild !== null) { - elem.removeChild(elem.firstChild); - } - if (elem.parentNode !== null) { - elem.parentNode.removeChild(elem); - } -} -exports.removeElement = removeElement; - - -/***/ }), -/* 62 */ +/* 66 */ /*!****************************!*\ !*** ./utils/IPAddress.js ***! \****************************/ @@ -41786,8 +41663,8 @@ exports.removeElement = removeElement; "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return createRandomIp; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ipExists; }); -/* harmony import */ var _src_Server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/Server */ 11); -/* harmony import */ var _helpers_getRandomByte__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers/getRandomByte */ 96); +/* harmony import */ var _src_Server__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/Server */ 12); +/* harmony import */ var _helpers_getRandomByte__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./helpers/getRandomByte */ 103); /* harmony import */ var _helpers_getRandomByte__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_helpers_getRandomByte__WEBPACK_IMPORTED_MODULE_1__); @@ -41825,7 +41702,7 @@ function ipExists(ip) { /***/ }), -/* 63 */ +/* 67 */ /*!*************************************!*\ !*** ./src/Corporation/Material.ts ***! \*************************************/ @@ -41836,7 +41713,7 @@ function ipExists(ip) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 13); +const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 15); class Material { constructor(params = {}) { // Name of material @@ -42050,8 +41927,8 @@ JSONReviver_1.Reviver.constructors.Material = Material; /***/ }), -/* 64 */, -/* 65 */ +/* 68 */, +/* 69 */ /*!*************************!*\ !*** ./src/TextFile.ts ***! \*************************/ @@ -42062,8 +41939,8 @@ JSONReviver_1.Reviver.constructors.Material = Material; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const DialogBox_1 = __webpack_require__(/*! ../utils/DialogBox */ 8); -const JSONReviver_1 = __webpack_require__(/*! ../utils/JSONReviver */ 13); +const DialogBox_1 = __webpack_require__(/*! ../utils/DialogBox */ 9); +const JSONReviver_1 = __webpack_require__(/*! ../utils/JSONReviver */ 15); /** * Represents a plain text file that is typically stored on a server. */ @@ -42186,7 +42063,7 @@ function deleteTextFile(fn, server) { /***/ }), -/* 66 */ +/* 70 */ /*!************************************!*\ !*** ./utils/helpers/addOffset.ts ***! \************************************/ @@ -42222,7 +42099,7 @@ exports.addOffset = addOffset; /***/ }), -/* 67 */ +/* 71 */ /*!****************************!*\ !*** ./src/HacknetNode.js ***! \****************************/ @@ -42242,24 +42119,24 @@ exports.addOffset = addOffset; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "f", function() { return updateHacknetNodesContent; }); /* unused harmony export updateHacknetNodesMultiplierButtons */ /* unused harmony export updateTotalHacknetProduction */ -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _InteractiveTutorial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractiveTutorial */ 34); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _InteractiveTutorial__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./InteractiveTutorial */ 38); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 16); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 22); /* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/JSONReviver */ 15); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ui/navigationTracking */ 12); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./ui/navigationTracking */ 14); /* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_9__); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _utils_uiHelpers_getElementById__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/uiHelpers/getElementById */ 54); +/* harmony import */ var _utils_uiHelpers_getElementById__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/uiHelpers/getElementById */ 57); /* harmony import */ var _utils_uiHelpers_getElementById__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_getElementById__WEBPACK_IMPORTED_MODULE_11__); @@ -42333,7 +42210,7 @@ HacknetNode.prototype.updateMoneyGainRate = function() { Math.pow(1.035, this.ram-1) * ((this.cores + 5) / 6) * _Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].hacknet_node_money_mult * - _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].HacknetNodeMoney; + _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].HacknetNodeMoney; if (isNaN(this.moneyGainRatePerSecond)) { this.moneyGainRatePerSecond = 0; Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_5__["dialogBoxCreate"])("Error in calculating Hacknet Node production. Please report to game developer"); @@ -42938,7 +42815,105 @@ function getHacknetNode(name) { /***/ }), -/* 68 */ +/* 72 */ +/*!********************************!*\ + !*** ./src/Company/Company.ts ***! + \********************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 15); +const CompanyPosition_1 = __webpack_require__(/*! ./CompanyPosition */ 96); +const Constants_1 = __webpack_require__(/*! ../Constants */ 1); +const DefaultConstructorParams = { + name: "", + info: "", + companyPositions: {}, + expMultiplier: 1, + salaryMultiplier: 1, + jobStatReqOffset: 0, +}; +class Company { + /** + * Initiatizes a Company from a JSON save state. + */ + static fromJSON(value) { + return JSONReviver_1.Generic_fromJSON(Company, value.data); + } + constructor(p = DefaultConstructorParams) { + this.name = p.name; + this.info = p.info; + this.companyPositions = p.companyPositions; + this.expMultiplier = p.expMultiplier; + this.salaryMultiplier = p.salaryMultiplier; + this.jobStatReqOffset = p.jobStatReqOffset; + this.isPlayerEmployed = false; + this.playerReputation = 1; + this.favor = 0; + this.rolloverRep = 0; + } + hasPosition(pos) { + if (pos instanceof CompanyPosition_1.CompanyPosition) { + return (this.companyPositions[pos.name] != null); + } + else { + return (this.companyPositions[pos] != null); + } + } + gainFavor() { + if (this.favor == null) { + this.favor = 0; + } + if (this.rolloverRep == null) { + this.rolloverRep = 0; + } + var res = this.getFavorGain(); + if (res.length != 2) { + console.error("Invalid result from getFavorGain() function"); + return; + } + this.favor += res[0]; + this.rolloverRep = res[1]; + } + getFavorGain() { + if (this.favor == null) { + this.favor = 0; + } + if (this.rolloverRep == null) { + this.rolloverRep = 0; + } + let favorGain = 0, rep = this.playerReputation + this.rolloverRep; + let reqdRep = Constants_1.CONSTANTS.CompanyReputationToFavorBase * + Math.pow(Constants_1.CONSTANTS.CompanyReputationToFavorMult, this.favor); + while (rep > 0) { + if (rep >= reqdRep) { + ++favorGain; + rep -= reqdRep; + } + else { + break; + } + reqdRep *= Constants_1.CONSTANTS.FactionReputationToFavorMult; + } + return [favorGain, rep]; + } + /** + * Serialize the current object to a JSON save state. + */ + toJSON() { + return JSONReviver_1.Generic_toJSON("Company", this); + } +} +exports.Company = Company; +JSONReviver_1.Reviver.constructors.Company = Company; + + +/***/ }), +/* 73 */ /*!********************************!*\ !*** ./src/ActiveScriptsUI.js ***! \********************************/ @@ -42950,33 +42925,34 @@ function getHacknetNode(name) { /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return addActiveScriptsItem; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return deleteActiveScriptsItem; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return updateActiveScriptsItems; }); -/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NetscriptWorker */ 26); +/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NetscriptWorker */ 29); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Server */ 11); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Server */ 12); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/uiHelpers/createAccordionElement */ 79); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/uiHelpers/createAccordionElement */ 84); /* harmony import */ var _utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createAccordionElement__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 55); +/* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/helpers/arrayToString */ 59); /* harmony import */ var _utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_6__); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/helpers/createProgressBarText */ 85); +/* harmony import */ var _utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/helpers/createProgressBarText */ 91); /* harmony import */ var _utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_createProgressBarText__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 44); -/* harmony import */ var _utils_uiHelpers_getElementById__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/uiHelpers/getElementById */ 54); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 45); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _utils_uiHelpers_getElementById__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils/uiHelpers/getElementById */ 57); /* harmony import */ var _utils_uiHelpers_getElementById__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_getElementById__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _utils_LogBox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/LogBox */ 81); +/* harmony import */ var _utils_LogBox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/LogBox */ 86); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_12__); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 30); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 32); /* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/uiHelpers/removeElement */ 61); +/* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/uiHelpers/removeElement */ 63); /* harmony import */ var _utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElement__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/helpers/roundToTwo */ 83); +/* harmony import */ var _utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../utils/helpers/roundToTwo */ 88); /* harmony import */ var _utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_roundToTwo__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ui/navigationTracking */ 12); +/* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ui/navigationTracking */ 14); /* harmony import */ var _ui_navigationTracking__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_16__); @@ -43206,7 +43182,7 @@ function updateActiveScriptsItems(maxTasks=150) { try { task(); } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_9__[/* exceptionAlert */ "a"])(e); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_9__["exceptionAlert"])(e); console.log(task); } } @@ -43217,7 +43193,7 @@ function updateActiveScriptsItems(maxTasks=150) { try { total += updateActiveScriptsItemContent(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_0__[/* workerScripts */ "h"][i]); } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_9__[/* exceptionAlert */ "a"])(e); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_9__["exceptionAlert"])(e); } } @@ -43304,275 +43280,8 @@ function updateActiveScriptsText(workerscript, item, itemName) { /***/ }), -/* 69 */, -/* 70 */ -/*!***************************!*\ - !*** ./src/SourceFile.js ***! - \***************************/ -/*! exports provided: SourceFiles, PlayerOwnedSourceFile, applySourceFile, initSourceFiles */ -/*! exports used: PlayerOwnedSourceFile, SourceFiles, applySourceFile, initSourceFiles */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return SourceFiles; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return PlayerOwnedSourceFile; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return applySourceFile; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "d", function() { return initSourceFiles; }); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _BitNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BitNode */ 60); - - - -/* SourceFile.js */ -//Each SourceFile corresponds to a BitNode with the same number -function SourceFile(number, info="") { - var bitnodeKey = "BitNode" + number; - var bitnode = _BitNode__WEBPACK_IMPORTED_MODULE_1__[/* BitNodes */ "a"][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: 24%
" + - "Level 2: 36%
" + - "Level 3: 42%"); - 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: 8%
" + - "Level 2: 12%
" + - "Level 3: 14%"); - 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 both the level and experience gain rate of all your combat stats by:

" + - "Level 1: 8%
" + - "Level 2: 12%
" + - "Level 3: 14%"); - SourceFiles["SourceFile7"] = new SourceFile(7, "This Source-File allows you to access the Bladeburner Netscript API in other " + - "BitNodes. In addition, this Source-File will increase all of your Bladeburner multipliers by:

" + - "Level 1: 8%
" + - "Level 2: 12%
" + - "Level 3: 14%"); - 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: 12%
Level 2: 18%
Level 3: 21%"); - 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. This effect is multiplicative with itself. " + - "In other words, level N of this Source-File will result in a multiplier of 1.01^N (or 0.99^N for multipliers that decrease)"); -} - -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__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_chance_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_speed_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_money_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_grow_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].company_rep_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].faction_rep_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_money_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_success_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_money_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_purchase_cost_mult *= decMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_ram_cost_mult *= decMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_core_cost_mult *= decMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_level_cost_mult *= decMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].work_money_mult *= incMult; - break; - case 2: //Rise of the Underworld - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (24 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_money_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_success_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].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__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].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 += (8 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_chance_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_speed_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_money_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_grow_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].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__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_exp_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_mult *= incMult; - break; - case 7: //Bladeburner 2079 - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (8 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].bladeburner_max_stamina_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].bladeburner_stamina_gain_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].bladeburner_analysis_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].bladeburner_success_chance_mult *= incMult; - break; - case 8: //Ghost of Wall Street - var mult = 0; - for (var i = 0; i < srcFile.lvl; ++i) { - mult += (12 / (Math.pow(2, i))); - } - var incMult = 1 + (mult / 100); - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].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__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].work_money_mult *= incMult; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].company_rep_mult *= incMult; - break; - case 12: //The Recursion - var inc = Math.pow(1.01, srcFile.lvl); - var dec = Math.pow(0.99, srcFile.lvl); - - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_chance_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_speed_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_money_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_grow_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_mult *= inc; - - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_mult *= inc; - - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_exp_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_exp_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_exp_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_exp_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_exp_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_exp_mult *= inc; - - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].company_rep_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].faction_rep_mult *= inc; - - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_money_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_success_mult *= inc; - - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_money_mult *= inc; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_purchase_cost_mult *= dec; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_ram_cost_mult *= dec; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_core_cost_mult *= dec; - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_level_cost_mult *= dec; - - _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].work_money_mult *= inc; - break; - default: - console.log("ERROR: Invalid source file number: " + srcFile.n); - break; - } - - sourceFileObject.owned = true; -} - - - - -/***/ }), -/* 71 */ +/* 74 */, +/* 75 */ /*!*************************************!*\ !*** ./src/DarkWeb/DarkWebItems.ts ***! \*************************************/ @@ -43583,8 +43292,8 @@ function applySourceFile(srcFile) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const DarkWebItem_1 = __webpack_require__(/*! ./DarkWebItem */ 199); -const Programs_1 = __webpack_require__(/*! ../Programs/Programs */ 24); +const DarkWebItem_1 = __webpack_require__(/*! ./DarkWebItem */ 218); +const Programs_1 = __webpack_require__(/*! ../Programs/Programs */ 26); exports.DarkWebItems = { BruteSSHProgram: new DarkWebItem_1.DarkWebItem(Programs_1.Programs.BruteSSHProgram.name, 500e3, "Opens up SSH Ports"), FTPCrackProgram: new DarkWebItem_1.DarkWebItem(Programs_1.Programs.FTPCrackProgram.name, 1500e3, "Opens up FTP Ports"), @@ -43599,7 +43308,7 @@ exports.DarkWebItems = { /***/ }), -/* 72 */ +/* 76 */ /*!******************************!*\ !*** ./src/NetscriptPort.js ***! \******************************/ @@ -43609,7 +43318,7 @@ exports.DarkWebItems = { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return NetscriptPort; }); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Settings */ 18); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Settings */ 20); /* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_0__); @@ -43665,7 +43374,7 @@ NetscriptPort.prototype.clear = function() { /***/ }), -/* 73 */ +/* 77 */ /*!*****************************!*\ !*** ./src/SettingEnums.ts ***! \*****************************/ @@ -43696,7 +43405,7 @@ var PurchaseAugmentationsOrderSetting; /***/ }), -/* 74 */ +/* 78 */ /*!***************************!*\ !*** ./src/SaveObject.js ***! \***************************/ @@ -43707,44 +43416,44 @@ var PurchaseAugmentationsOrderSetting; "use strict"; /* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return saveObject; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return loadGame; }); -/* harmony import */ var _Alias__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Alias */ 45); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Company/Companies */ 17); +/* harmony import */ var _Alias__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Alias */ 48); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Company/Companies */ 19); /* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Company/CompanyPosition */ 87); +/* harmony import */ var _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Company/CompanyPosition */ 96); /* harmony import */ var _Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPosition__WEBPACK_IMPORTED_MODULE_2__); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Faction/Factions */ 14); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Faction/Factions */ 16); /* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 46); -/* harmony import */ var _Fconf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Fconf */ 47); -/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Gang */ 50); -/* harmony import */ var _HacknetNode__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./HacknetNode */ 67); -/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Message */ 41); +/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 49); +/* harmony import */ var _Fconf__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Fconf */ 50); +/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Gang */ 53); +/* harmony import */ var _HacknetNode__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./HacknetNode */ 71); +/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Message */ 44); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Script */ 31); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Settings */ 18); +/* harmony import */ var _Script__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Script */ 35); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Settings */ 20); /* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_14__); -/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./SpecialServerIps */ 33); -/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 22); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_GameOptions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/GameOptions */ 86); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 16); +/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./SpecialServerIps */ 36); +/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 24); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_GameOptions__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/GameOptions */ 90); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 22); /* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/JSONReviver */ 13); +/* harmony import */ var _utils_JSONReviver__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/JSONReviver */ 15); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 36); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 40); /* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_22__); -/* harmony import */ var _ui_createStatusText__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ui/createStatusText */ 78); +/* harmony import */ var _ui_createStatusText__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./ui/createStatusText */ 81); /* harmony import */ var _ui_createStatusText__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_ui_createStatusText__WEBPACK_IMPORTED_MODULE_23__); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 20); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 23); /* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! decimal.js */ 35); +/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! decimal.js */ 39); @@ -43895,6 +43604,16 @@ function evaluateVersionCompatibility(ver) { } } } + + // This version allowed players to hold multiple jobs + if (ver < "0.43.0") { + if (_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].companyName !== "" && _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].companyPosition != null && _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].companyPosition !== "") { + console.log("Copied player's companyName and companyPosition properties to the Player.jobs map for v0.43.0"); + _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].jobs[_Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].companyName] = _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].companyPosition; + } + + delete _Player__WEBPACK_IMPORTED_MODULE_11__[/* Player */ "a"].companyPosition; + } } function loadGame(saveString) { @@ -44357,10 +44076,10 @@ function openImportFileHandler(evt) { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 75 */ +/* 79 */ /*!***************************************************!*\ !*** ./utils/uiHelpers/createPopupCloseButton.ts ***! \***************************************************/ @@ -44373,7 +44092,7 @@ function openImportFileHandler(evt) { /* Creates a Close/Cancel button that is used for removing popups */ Object.defineProperty(exports, "__esModule", { value: true }); const createElement_1 = __webpack_require__(/*! ./createElement */ 2); -const removeElement_1 = __webpack_require__(/*! ./removeElement */ 61); +const removeElement_1 = __webpack_require__(/*! ./removeElement */ 63); function createPopupCloseButton(popup, options) { let button; // TODO event listener works with escape. Add and remove event listener @@ -44413,105 +44132,305 @@ exports.createPopupCloseButton = createPopupCloseButton; /***/ }), -/* 76 */ -/*!********************************!*\ - !*** ./src/Company/Company.ts ***! - \********************************/ +/* 80 */ +/*!***************************!*\ + !*** ./src/SourceFile.js ***! + \***************************/ +/*! exports provided: SourceFiles, applySourceFile, initSourceFiles */ +/*! exports used: SourceFiles, applySourceFile, initSourceFiles */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return SourceFiles; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return applySourceFile; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return initSourceFiles; }); +/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Player */ 0); +/* harmony import */ var _BitNode_BitNode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./BitNode/BitNode */ 65); + + + +/* SourceFile.js */ +//Each SourceFile corresponds to a BitNode with the same number +function SourceFile(number, info="") { + var bitnodeKey = "BitNode" + number; + var bitnode = _BitNode_BitNode__WEBPACK_IMPORTED_MODULE_1__[/* BitNodes */ "a"][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: 24%
" + + "Level 2: 36%
" + + "Level 3: 42%"); + 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: 8%
" + + "Level 2: 12%
" + + "Level 3: 14%"); + 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 both the level and experience gain rate of all your combat stats by:

" + + "Level 1: 8%
" + + "Level 2: 12%
" + + "Level 3: 14%"); + SourceFiles["SourceFile7"] = new SourceFile(7, "This Source-File allows you to access the Bladeburner Netscript API in other " + + "BitNodes. In addition, this Source-File will increase all of your Bladeburner multipliers by:

" + + "Level 1: 8%
" + + "Level 2: 12%
" + + "Level 3: 14%"); + 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: 12%
Level 2: 18%
Level 3: 21%"); + 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. This effect is multiplicative with itself. " + + "In other words, level N of this Source-File will result in a multiplier of 1.01^N (or 0.99^N for multipliers that decrease)"); +} + +//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__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_chance_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_speed_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_money_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_grow_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].company_rep_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].faction_rep_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_money_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_success_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_money_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_purchase_cost_mult *= decMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_ram_cost_mult *= decMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_core_cost_mult *= decMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_level_cost_mult *= decMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].work_money_mult *= incMult; + break; + case 2: //Rise of the Underworld + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (24 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_money_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_success_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].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__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].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 += (8 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_chance_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_speed_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_money_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_grow_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].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__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_exp_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_mult *= incMult; + break; + case 7: //Bladeburner 2079 + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (8 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].bladeburner_max_stamina_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].bladeburner_stamina_gain_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].bladeburner_analysis_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].bladeburner_success_chance_mult *= incMult; + break; + case 8: //Ghost of Wall Street + var mult = 0; + for (var i = 0; i < srcFile.lvl; ++i) { + mult += (12 / (Math.pow(2, i))); + } + var incMult = 1 + (mult / 100); + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].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__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].work_money_mult *= incMult; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].company_rep_mult *= incMult; + break; + case 12: //The Recursion + var inc = Math.pow(1.01, srcFile.lvl); + var dec = Math.pow(0.99, srcFile.lvl); + + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_chance_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_speed_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_money_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_grow_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_mult *= inc; + + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_mult *= inc; + + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacking_exp_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].strength_exp_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].defense_exp_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].dexterity_exp_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].agility_exp_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].charisma_exp_mult *= inc; + + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].company_rep_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].faction_rep_mult *= inc; + + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_money_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].crime_success_mult *= inc; + + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_money_mult *= inc; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_purchase_cost_mult *= dec; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_ram_cost_mult *= dec; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_core_cost_mult *= dec; + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].hacknet_node_level_cost_mult *= dec; + + _Player__WEBPACK_IMPORTED_MODULE_0__[/* Player */ "a"].work_money_mult *= inc; + break; + default: + console.log("ERROR: Invalid source file number: " + srcFile.n); + break; + } + + sourceFileObject.owned = true; +} + + + + +/***/ }), +/* 81 */ +/*!************************************!*\ + !*** ./src/ui/createStatusText.ts ***! + \************************************/ /*! no static exports found */ -/*! all exports used */ +/*! exports used: createStatusText */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 13); -const CompanyPosition_1 = __webpack_require__(/*! ./CompanyPosition */ 87); -const Constants_1 = __webpack_require__(/*! ../Constants */ 1); -const DefaultConstructorParams = { - name: "", - info: "", - companyPositions: {}, - expMultiplier: 1, - salaryMultiplier: 1, - jobStatReqOffset: 0, -}; -class Company { - /** - * Initiatizes a Company from a JSON save state. - */ - static fromJSON(value) { - return JSONReviver_1.Generic_fromJSON(Company, value.data); - } - constructor(p = DefaultConstructorParams) { - this.name = p.name; - this.info = p.info; - this.companyPositions = p.companyPositions; - this.expMultiplier = p.expMultiplier; - this.salaryMultiplier = p.salaryMultiplier; - this.jobStatReqOffset = p.jobStatReqOffset; - this.isPlayerEmployed = false; - this.playerReputation = 1; - this.favor = 0; - this.rolloverRep = 0; - } - hasPosition(pos) { - if (pos instanceof CompanyPosition_1.CompanyPosition) { - return (this.companyPositions[pos.name] != null); - } - else { - return (this.companyPositions[pos] != null); - } - } - gainFavor() { - if (this.favor == null) { - this.favor = 0; - } - if (this.rolloverRep == null) { - this.rolloverRep = 0; - } - var res = this.getFavorGain(); - if (res.length != 2) { - console.error("Invalid result from getFavorGain() function"); - return; - } - this.favor += res[0]; - this.rolloverRep = res[1]; - } - getFavorGain() { - if (this.favor == null) { - this.favor = 0; - } - if (this.rolloverRep == null) { - this.rolloverRep = 0; - } - let favorGain = 0, rep = this.playerReputation + this.rolloverRep; - let reqdRep = Constants_1.CONSTANTS.CompanyReputationToFavorBase * - Math.pow(Constants_1.CONSTANTS.CompanyReputationToFavorMult, this.favor); - while (rep > 0) { - if (rep >= reqdRep) { - ++favorGain; - rep -= reqdRep; - } - else { - break; - } - reqdRep *= Constants_1.CONSTANTS.FactionReputationToFavorMult; - } - return [favorGain, rep]; - } - /** - * Serialize the current object to a JSON save state. - */ - toJSON() { - return JSONReviver_1.Generic_toJSON("Company", this); +const getElementById_1 = __webpack_require__(/*! ../../utils/uiHelpers/getElementById */ 57); +const threeSeconds = 3000; +let x; +/** + * Displays a status message to the player for approximately 3 seconds. + * @param text The status text to display + */ +function createStatusText(text) { + if (x !== undefined) { + clearTimeout(x); + // Likely not needed due to clearTimeout, but just in case... + x = undefined; } + const statusElement = getElementById_1.getElementById("status-text"); + statusElement.classList.add("status-text"); + statusElement.innerText = text; + const handler = () => { + statusElement.classList.remove("status-text"); + statusElement.innerText = ""; + }; + x = setTimeout(handler, threeSeconds); } -exports.Company = Company; -JSONReviver_1.Reviver.constructors.Company = Company; +exports.createStatusText = createStatusText; /***/ }), -/* 77 */ +/* 82 */ /*!******************************************!*\ !*** ./src/Corporation/MaterialSizes.ts ***! \******************************************/ @@ -44539,44 +44458,35 @@ exports.MaterialSizes = { /***/ }), -/* 78 */ -/*!************************************!*\ - !*** ./src/ui/createStatusText.ts ***! - \************************************/ +/* 83 */ +/*!*******************************************!*\ + !*** ./src/SourceFile/SourceFileFlags.ts ***! + \*******************************************/ /*! no static exports found */ -/*! exports used: createStatusText */ +/*! exports used: SourceFileFlags, updateSourceFileFlags */ /***/ (function(module, exports, __webpack_require__) { "use strict"; +// Contains an array containing information about the player's source files +// Array[n] returns what level the player has of Source-File N. Object.defineProperty(exports, "__esModule", { value: true }); -const getElementById_1 = __webpack_require__(/*! ../../utils/uiHelpers/getElementById */ 54); -const threeSeconds = 3000; -let x; -/** - * Displays a status message to the player for approximately 3 seconds. - * @param text The status text to display - */ -function createStatusText(text) { - if (x !== undefined) { - clearTimeout(x); - // Likely not needed due to clearTimeout, but just in case... - x = undefined; +const Constants_1 = __webpack_require__(/*! ../Constants */ 1); +exports.SourceFileFlags = Array(Constants_1.CONSTANTS.TotalNumBitNodes + 1); // Skip 0 +function updateSourceFileFlags(p) { + for (let i = 0; i < exports.SourceFileFlags.length; ++i) { + exports.SourceFileFlags[i] = 0; + } + for (let i = 0; i < p.sourceFiles.length; ++i) { + const sf = p.sourceFiles[i]; + exports.SourceFileFlags[sf.n] = sf.lvl; } - const statusElement = getElementById_1.getElementById("status-text"); - statusElement.classList.add("status-text"); - statusElement.innerText = text; - const handler = () => { - statusElement.classList.remove("status-text"); - statusElement.innerText = ""; - }; - x = setTimeout(handler, threeSeconds); } -exports.createStatusText = createStatusText; +exports.updateSourceFileFlags = updateSourceFileFlags; /***/ }), -/* 79 */ +/* 84 */ /*!***************************************************!*\ !*** ./utils/uiHelpers/createAccordionElement.ts ***! \***************************************************/ @@ -44621,7 +44531,7 @@ exports.createAccordionElement = createAccordionElement; /***/ }), -/* 80 */ +/* 85 */ /*!**************************************!*\ !*** ./utils/helpers/clearObject.ts ***! \**************************************/ @@ -44650,7 +44560,7 @@ exports.clearObject = clearObject; /***/ }), -/* 81 */ +/* 86 */ /*!*************************!*\ !*** ./utils/LogBox.js ***! \*************************/ @@ -44663,10 +44573,10 @@ exports.clearObject = clearObject; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return logBoxUpdateText; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return logBoxOpened; }); /* unused harmony export logBoxCurrentScript */ -/* harmony import */ var _src_NetscriptWorker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/NetscriptWorker */ 26); -/* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uiHelpers/clearEventListeners */ 16); +/* harmony import */ var _src_NetscriptWorker__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/NetscriptWorker */ 29); +/* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uiHelpers/clearEventListeners */ 22); /* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _helpers_arrayToString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers/arrayToString */ 55); +/* harmony import */ var _helpers_arrayToString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./helpers/arrayToString */ 59); /* harmony import */ var _helpers_arrayToString__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_helpers_arrayToString__WEBPACK_IMPORTED_MODULE_2__); @@ -44737,11 +44647,11 @@ function logBoxUpdateText() { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 82 */, -/* 83 */ +/* 87 */, +/* 88 */ /*!*************************************!*\ !*** ./utils/helpers/roundToTwo.ts ***! \*************************************/ @@ -44764,7 +44674,7 @@ exports.roundToTwo = roundToTwo; /***/ }), -/* 84 */ +/* 89 */ /*!***************************!*\ !*** ./src/Literature.js ***! \***************************/ @@ -44776,7 +44686,7 @@ exports.roundToTwo = roundToTwo; /* unused harmony export Literatures */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return initLiterature; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return showLiterature; }); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/DialogBox */ 8); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/DialogBox */ 9); /* Literature.js @@ -45216,43 +45126,7 @@ function initLiterature() { /***/ }), -/* 85 */ -/*!************************************************!*\ - !*** ./utils/helpers/createProgressBarText.ts ***! - \************************************************/ -/*! no static exports found */ -/*! exports used: createProgressBarText */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Creates a graphical "progress bar" - * e.g.: [||||---------------] - * @param params The configuration parameters for the progress bar - */ -function createProgressBarText(params) { - // Default values - const defaultParams = { - progress: 0, - totalTicks: 20, - }; - // tslint:disable-next-line:prefer-object-spread - const derived = Object.assign({}, defaultParams, params); - // Ensure it is 0..1 - derived.progress = Math.max(Math.min(derived.progress, 1), 0); - // This way there is always at least one bar filled in... - const bars = Math.max(Math.floor(derived.progress / (1 / derived.totalTicks)), 1); - const dashes = Math.max(derived.totalTicks - bars, 0); - // String.prototype.repeat isn't completley supported, but good enough for our purposes - return `[${"|".repeat(bars)}${"-".repeat(dashes)}]`; -} -exports.createProgressBarText = createProgressBarText; - - -/***/ }), -/* 86 */ +/* 90 */ /*!******************************!*\ !*** ./utils/GameOptions.js ***! \******************************/ @@ -45309,10 +45183,490 @@ function gameOptionsBoxOpen() { -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) /***/ }), -/* 87 */ +/* 91 */ +/*!************************************************!*\ + !*** ./utils/helpers/createProgressBarText.ts ***! + \************************************************/ +/*! no static exports found */ +/*! exports used: createProgressBarText */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Creates a graphical "progress bar" + * e.g.: [||||---------------] + * @param params The configuration parameters for the progress bar + */ +function createProgressBarText(params) { + // Default values + const defaultParams = { + progress: 0, + totalTicks: 20, + }; + // tslint:disable-next-line:prefer-object-spread + const derived = Object.assign({}, defaultParams, params); + // Ensure it is 0..1 + derived.progress = Math.max(Math.min(derived.progress, 1), 0); + // This way there is always at least one bar filled in... + const bars = Math.max(Math.floor(derived.progress / (1 / derived.totalTicks)), 1); + const dashes = Math.max(derived.totalTicks - bars, 0); + // String.prototype.repeat isn't completley supported, but good enough for our purposes + return `[${"|".repeat(bars)}${"-".repeat(dashes)}]`; +} +exports.createProgressBarText = createProgressBarText; + + +/***/ }), +/* 92 */ +/*!*************************!*\ + !*** ./src/Prestige.js ***! + \*************************/ +/*! exports provided: prestigeAugmentation, prestigeSourceFile */ +/*! exports used: prestigeAugmentation, prestigeSourceFile */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return prestigeAugmentation; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return prestigeSourceFile; }); +/* harmony import */ var _ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI */ 73); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentation/Augmentations */ 13); +/* harmony import */ var _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Augmentation/AugmentationHelpers */ 61); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Augmentation/data/AugmentationNames */ 6); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _BitNode_BitNode__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./BitNode/BitNode */ 65); +/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Bladeburner */ 34); +/* harmony import */ var _CinematicText__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./CinematicText */ 108); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Company/Companies */ 19); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _Corporation_IndustryData__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./Corporation/IndustryData */ 25); +/* harmony import */ var _Corporation_IndustryData__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_Corporation_IndustryData__WEBPACK_IMPORTED_MODULE_8__); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Programs/Programs */ 26); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_9__); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Faction/Faction */ 58); +/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_Faction_Faction__WEBPACK_IMPORTED_MODULE_11__); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Faction/Factions */ 16); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_12__); +/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 49); +/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Gang */ 53); +/* harmony import */ var _Location__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Location */ 97); +/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./Message */ 44); +/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./NetscriptFunctions */ 47); +/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./NetscriptWorker */ 29); +/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./Player */ 0); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./SourceFile/SourceFileFlags */ 83); +/* harmony import */ var _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_21__); +/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./SpecialServerIps */ 36); +/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 24); +/* harmony import */ var _Terminal__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./Terminal */ 54); +/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! decimal.js */ 39); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 23); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_28___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_28__); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 40); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_29___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_29__); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 45); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_30___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_30__); + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +let BitNode8StartingMoney = 250e6; + +//Prestige by purchasing augmentation +function prestigeAugmentation() { + Object(_BitNode_BitNode__WEBPACK_IMPORTED_MODULE_4__[/* initBitNodeMultipliers */ "b"])(); + + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].prestigeAugmentation(); + + //Delete all Worker Scripts objects + Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_18__[/* prestigeWorkerScripts */ "e"])(); + + var homeComp = _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].getHomeComputer(); + //Delete all servers except home computer + Object(_Server__WEBPACK_IMPORTED_MODULE_20__[/* prestigeAllServers */ "i"])(); + + //Delete Special Server IPs + Object(_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* prestigeSpecialServerIps */ "e"])(); //Must be done before initForeignServers() + + //Reset home computer (only the programs) and add to AllServers + Object(_Server__WEBPACK_IMPORTED_MODULE_20__[/* AddToAllServers */ "a"])(homeComp); + Object(_Server__WEBPACK_IMPORTED_MODULE_20__[/* prestigeHomeComputer */ "j"])(homeComp); + + if (Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_2__[/* augmentationExists */ "b"])(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__["AugmentationNames"].Neurolink) && + _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__["AugmentationNames"].Neurolink].owned) { + homeComp.programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_9__["Programs"].FTPCrackProgram.name); + homeComp.programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_9__["Programs"].RelaySMTPProgram.name); + } + if (Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_2__[/* augmentationExists */ "b"])(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__["AugmentationNames"].CashRoot) && + _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__["AugmentationNames"].CashRoot].owned) { + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].setMoney(new decimal_js__WEBPACK_IMPORTED_MODULE_25__[/* default */ "a"](1000000)); + homeComp.programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_9__["Programs"].BruteSSHProgram.name); + } + + //Re-create foreign servers + Object(_Server__WEBPACK_IMPORTED_MODULE_20__[/* initForeignServers */ "f"])(); + + //Darkweb is purchase-able + document.getElementById("location-purchase-tor").setAttribute("class", "a-link-button"); + + //Gain favor for Companies + for (var member in _Company_Companies__WEBPACK_IMPORTED_MODULE_7__["Companies"]) { + if (_Company_Companies__WEBPACK_IMPORTED_MODULE_7__["Companies"].hasOwnProperty(member)) { + _Company_Companies__WEBPACK_IMPORTED_MODULE_7__["Companies"][member].gainFavor(); + } + } + + //Gain favor for factions + for (var member in _Faction_Factions__WEBPACK_IMPORTED_MODULE_12__["Factions"]) { + if (_Faction_Factions__WEBPACK_IMPORTED_MODULE_12__["Factions"].hasOwnProperty(member)) { + _Faction_Factions__WEBPACK_IMPORTED_MODULE_12__["Factions"][member].gainFavor(); + } + } + + //Stop a Terminal action if there is onerror + if (_engine__WEBPACK_IMPORTED_MODULE_10__["Engine"]._actionInProgress) { + _engine__WEBPACK_IMPORTED_MODULE_10__["Engine"]._actionInProgress = false; + _Terminal__WEBPACK_IMPORTED_MODULE_24__[/* Terminal */ "a"].finishAction(true); + } + + //Re-initialize things - This will update any changes + Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_12__["initFactions"])(); //Factions must be initialized before augmentations + Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_2__[/* initAugmentations */ "d"])(); //Calls reapplyAllAugmentations() and resets Player multipliers + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].reapplyAllSourceFiles(); + Object(_Company_Companies__WEBPACK_IMPORTED_MODULE_7__["initCompanies"])(); + + //Clear terminal + $("#terminal tr:not(:last)").remove(); + Object(_Terminal__WEBPACK_IMPORTED_MODULE_24__[/* postNetburnerText */ "b"])(); + + //Messages + Object(_Message__WEBPACK_IMPORTED_MODULE_16__[/* initMessages */ "d"])(); + + //Gang, in BitNode 2 + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bitNodeN == 2 && _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].inGang()) { + var faction = _Faction_Factions__WEBPACK_IMPORTED_MODULE_12__["Factions"][_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].gang.facName]; + if (faction instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_11__["Faction"]) { + Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_13__[/* joinFaction */ "c"])(faction); + } + } + + //Cancel Bladeburner action + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_5__[/* Bladeburner */ "a"]) { + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bladeburner.prestige(); + } + + //BitNode 8: Ghost of Wall Street + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bitNodeN === 8) {_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_25__[/* default */ "a"](BitNode8StartingMoney);} + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bitNodeN === 8 || _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_17__[/* hasWallStreetSF */ "f"]) { + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].hasWseAccount = true; + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].hasTixApiAccess = true; + } + + //Reset Stock market + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].hasWseAccount) { + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_23__[/* initStockMarket */ "h"])(); + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_23__[/* initSymbolToStockMap */ "j"])(); + } + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_23__[/* setStockMarketContentCreated */ "o"])(false); + var stockMarketList = document.getElementById("stock-market-list"); + while(stockMarketList.firstChild) { + stockMarketList.removeChild(stockMarketList.firstChild); + } + var watchlist = document.getElementById("stock-market-watchlist-filter"); + watchlist.value = ""; //Reset watchlist filter + + //Load Terminal Screen + var mainMenu = document.getElementById("mainmenu-container"); + mainMenu.style.visibility = "visible"; + _Terminal__WEBPACK_IMPORTED_MODULE_24__[/* Terminal */ "a"].resetTerminalInput(); + _engine__WEBPACK_IMPORTED_MODULE_10__["Engine"].loadTerminalContent(); + + // Refresh Main Menu (the 'World' menu, specifically) + document.getElementById("world-menu-header").click(); + document.getElementById("world-menu-header").click(); + + //Red Pill + if (Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_2__[/* augmentationExists */ "b"])(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__["AugmentationNames"].TheRedPill) && + _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_3__["AugmentationNames"].TheRedPill].owned) { + var WorldDaemon = _Server__WEBPACK_IMPORTED_MODULE_20__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerNames */ "b"].WorldDaemon]]; + var DaedalusServer = _Server__WEBPACK_IMPORTED_MODULE_20__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* SpecialServerNames */ "b"].DaedalusServer]]; + if (WorldDaemon && DaedalusServer) { + WorldDaemon.serversOnNetwork.push(DaedalusServer.ip); + DaedalusServer.serversOnNetwork.push(WorldDaemon.ip); + } + } +} + + +//Prestige by destroying Bit Node and gaining a Source File +function prestigeSourceFile() { + Object(_BitNode_BitNode__WEBPACK_IMPORTED_MODULE_4__[/* initBitNodeMultipliers */ "b"])(); + Object(_SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_21__["updateSourceFileFlags"])(_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"]); + + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].prestigeSourceFile(); + Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_18__[/* prestigeWorkerScripts */ "e"])(); //Delete all Worker Scripts objects + + var homeComp = _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].getHomeComputer(); + + //Delete all servers except home computer + Object(_Server__WEBPACK_IMPORTED_MODULE_20__[/* prestigeAllServers */ "i"])(); //Must be done before initForeignServers() + + //Delete Special Server IPs + Object(_SpecialServerIps__WEBPACK_IMPORTED_MODULE_22__[/* prestigeSpecialServerIps */ "e"])(); + + //Reset home computer (only the programs) and add to AllServers + Object(_Server__WEBPACK_IMPORTED_MODULE_20__[/* AddToAllServers */ "a"])(homeComp); + Object(_Server__WEBPACK_IMPORTED_MODULE_20__[/* prestigeHomeComputer */ "j"])(homeComp); + + //Re-create foreign servers + Object(_Server__WEBPACK_IMPORTED_MODULE_20__[/* initForeignServers */ "f"])(); + + var srcFile1Owned = false; + for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].sourceFiles.length; ++i) { + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].sourceFiles[i].n == 1) { + srcFile1Owned = true; + } + } + if (srcFile1Owned) { + homeComp.setMaxRam(32); + } else { + homeComp.setMaxRam(8); + } + homeComp.cpuCores = 1; + + //Reset favor for Companies + for (var member in _Company_Companies__WEBPACK_IMPORTED_MODULE_7__["Companies"]) { + if (_Company_Companies__WEBPACK_IMPORTED_MODULE_7__["Companies"].hasOwnProperty(member)) { + _Company_Companies__WEBPACK_IMPORTED_MODULE_7__["Companies"][member].favor = 0; + } + } + + //Reset favor for factions + for (var member in _Faction_Factions__WEBPACK_IMPORTED_MODULE_12__["Factions"]) { + if (_Faction_Factions__WEBPACK_IMPORTED_MODULE_12__["Factions"].hasOwnProperty(member)) { + _Faction_Factions__WEBPACK_IMPORTED_MODULE_12__["Factions"][member].favor = 0; + } + } + + //Stop a Terminal action if there is one + if (_engine__WEBPACK_IMPORTED_MODULE_10__["Engine"]._actionInProgress) { + _engine__WEBPACK_IMPORTED_MODULE_10__["Engine"]._actionInProgress = false; + _Terminal__WEBPACK_IMPORTED_MODULE_24__[/* Terminal */ "a"].finishAction(true); + } + + //Delete all Augmentations + for (var name in _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"]) { + if (_Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"].hasOwnProperty(name)) { + delete _Augmentation_Augmentations__WEBPACK_IMPORTED_MODULE_1__["Augmentations"][name]; + } + } + + //Re-initialize things - This will update any changes + Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_12__["initFactions"])(); //Factions must be initialized before augmentations + Object(_Augmentation_AugmentationHelpers__WEBPACK_IMPORTED_MODULE_2__[/* initAugmentations */ "d"])(); //Calls reapplyAllAugmentations() and resets Player multipliers + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].reapplyAllSourceFiles(); + Object(_Company_Companies__WEBPACK_IMPORTED_MODULE_7__["initCompanies"])(); + + //Clear terminal + $("#terminal tr:not(:last)").remove(); + Object(_Terminal__WEBPACK_IMPORTED_MODULE_24__[/* postNetburnerText */ "b"])(); + + //Messages + Object(_Message__WEBPACK_IMPORTED_MODULE_16__[/* initMessages */ "d"])(); + + var mainMenu = document.getElementById("mainmenu-container"); + mainMenu.style.visibility = "visible"; + _Terminal__WEBPACK_IMPORTED_MODULE_24__[/* Terminal */ "a"].resetTerminalInput(); + _engine__WEBPACK_IMPORTED_MODULE_10__["Engine"].loadTerminalContent(); + + //Reinitialize Bit Node flags + Object(_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_17__[/* initSingularitySFFlags */ "g"])(); + + //BitNode 3: Corporatocracy + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bitNodeN === 3) { + homeComp.messages.push("corporation-management-handbook.lit"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("You received a copy of the Corporation Management Handbook on your home computer. " + + "Read it if you need help getting started with Corporations!"); + } + + //BitNode 6: Bladeburner + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bitNodeN === 6) { + var cinematicText = ["In the middle of the 21st century, OmniTek Incorporated advanced robot evolution " + + "with their Synthoids (synthetic androids), a being virtually identical to a human.", + "------", + "Their sixth-generation Synthoids, called MK-VI, were stronger, faster, and more " + + "intelligent than humans. Many argued that the MK-VI Synthoids were the first " + + "example of sentient AI.", + "------", + "Unfortunately, in 2070 a terrorist group called Ascendis Totalis hacked into OmniTek and " + + "uploaded a rogue AI into their Synthoid manufacturing facilities.", + "------", + "The MK-VI Synthoids infected by the rogue AI turned hostile toward humanity, initiating " + + "the deadliest conflict in human history. This dark chapter is now known as the Synthoid Uprising.", + "------", + "In the aftermath of the Uprising, further manufacturing of Synthoids with advanced AI " + + "was banned. MK-VI Synthoids that did not have the rogue Ascendis Totalis AI were " + + "allowed to continue their existence.", + "------", + "The intelligence community believes that not all of the rogue MK-VI Synthoids from the Uprising were " + + "found and destroyed, and that many of them are blending in as normal humans in society today. " + + "As a result, many nations have created Bladeburner divisions, special units that are tasked with " + + "investigating and dealing with Synthoid threats."]; + Object(_CinematicText__WEBPACK_IMPORTED_MODULE_6__[/* writeCinematicText */ "b"])(cinematicText).then(function() { + var popupId = "bladeburner-bitnode-start-nsa-notification"; + var txt = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_28__["createElement"])("p", { + innerText:"Visit the National Security Agency (NSA) to apply for their Bladeburner " + + "division! You will need 100 of each combat stat before doing this." + }) + var brEl = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_28__["createElement"])("br"); + var okBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_28__["createElement"])("a", { + class:"a-link-button", innerText:"Got it!", padding:"8px", + clickListener:()=>{ + Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__["removeElementById"])(popupId); + return false; + } + }); + Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_29__["createPopup"])(popupId, [txt, brEl, okBtn]); + }).catch(function(e) { + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_30__["exceptionAlert"])(e); + }) + + } + + //BitNode 8: Ghost of Wall Street + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bitNodeN === 8) {_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_25__[/* default */ "a"](BitNode8StartingMoney);} + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bitNodeN === 8 || _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_17__[/* hasWallStreetSF */ "f"]) { + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].hasWseAccount = true; + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].hasTixApiAccess = true; + } + + // Bit Node 10: Digital Carbon + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bitNodeN === 10) { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_26__["dialogBoxCreate"])("Visit VitaLife in New Tokyo if you'd like to purchase a new sleeve!"); + } + + //Reset Stock market, gang, and corporation + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].hasWseAccount) { + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_23__[/* initStockMarket */ "h"])(); + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_23__[/* initSymbolToStockMap */ "j"])(); + } + Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_23__[/* setStockMarketContentCreated */ "o"])(false); + var stockMarketList = document.getElementById("stock-market-list"); + while(stockMarketList.firstChild) { + stockMarketList.removeChild(stockMarketList.firstChild); + } + + if (_Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].inGang()) { _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].gang.clearUI(); } + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].gang = null; + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].corporation = null; Object(_Corporation_IndustryData__WEBPACK_IMPORTED_MODULE_8__["resetIndustryResearchTrees"])(); + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].bladeburner = null; + + + // Refresh Main Menu (the 'World' menu, specifically) + document.getElementById("world-menu-header").click(); + document.getElementById("world-menu-header").click(); + + //Gain int exp + _Player__WEBPACK_IMPORTED_MODULE_19__[/* Player */ "a"].gainIntelligenceExp(5); +} + + + +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 68))) + +/***/ }), +/* 93 */ +/*!***************************************!*\ + !*** ./utils/helpers/getTimestamp.ts ***! + \***************************************/ +/*! no static exports found */ +/*! exports used: getTimestamp */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Returns a MM/DD HH:MM timestamp for the current time + */ +function getTimestamp() { + const d = new Date(); + // A negative slice value takes from the end of the string rather than the beginning. + const stringWidth = -2; + const formattedHours = `0${d.getHours()}`.slice(stringWidth); + const formattedMinutes = `0${d.getMinutes()}`.slice(stringWidth); + return `${d.getMonth() + 1}/${d.getDate()} ${formattedHours}:${formattedMinutes}`; +} +exports.getTimestamp = getTimestamp; + + +/***/ }), +/* 94 */ +/*!*******************************************!*\ + !*** ./utils/helpers/isValidIPAddress.ts ***! + \*******************************************/ +/*! no static exports found */ +/*! exports used: isValidIPAddress */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Checks whether a IP Address string is valid. + * @param ipaddress A string representing a potential IP Address + */ +function isValidIPAddress(ipaddress) { + const byteRange = "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"; + const regexStr = `^${byteRange}\.${byteRange}\.${byteRange}\.${byteRange}$`; + const ipAddressRegex = new RegExp(regexStr); + return ipAddressRegex.test(ipaddress); +} +exports.isValidIPAddress = isValidIPAddress; + + +/***/ }), +/* 95 */, +/* 96 */ /*!****************************************!*\ !*** ./src/Company/CompanyPosition.ts ***! \****************************************/ @@ -45324,7 +45678,7 @@ function gameOptionsBoxOpen() { Object.defineProperty(exports, "__esModule", { value: true }); const Constants_1 = __webpack_require__(/*! ../Constants */ 1); -const names = __webpack_require__(/*! ./data/CompanyPositionNames */ 37); +const names = __webpack_require__(/*! ./data/CompanyPositionNames */ 41); class CompanyPosition { constructor(p) { this.name = p.name; @@ -45404,435 +45758,7 @@ exports.CompanyPosition = CompanyPosition; /***/ }), -/* 88 */ -/*!*************************!*\ - !*** ./src/Prestige.js ***! - \*************************/ -/*! exports provided: prestigeAugmentation, prestigeSourceFile */ -/*! exports used: prestigeAugmentation, prestigeSourceFile */ -/***/ (function(module, __webpack_exports__, __webpack_require__) { - -"use strict"; -/* WEBPACK VAR INJECTION */(function($) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return prestigeAugmentation; }); -/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return prestigeSourceFile; }); -/* harmony import */ var _ActiveScriptsUI__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./ActiveScriptsUI */ 68); -/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Augmentations */ 21); -/* harmony import */ var _BitNode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./BitNode */ 60); -/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Bladeburner */ 32); -/* harmony import */ var _CinematicText__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./CinematicText */ 101); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Company/Companies */ 17); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _Corporation_IndustryData__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Corporation/IndustryData */ 23); -/* harmony import */ var _Corporation_IndustryData__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Corporation_IndustryData__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Programs/Programs */ 24); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_7__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Faction/Faction */ 57); -/* harmony import */ var _Faction_Faction__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_Faction_Faction__WEBPACK_IMPORTED_MODULE_9__); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Faction/Factions */ 14); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Faction/FactionHelpers */ 46); -/* harmony import */ var _Gang__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Gang */ 50); -/* harmony import */ var _Location__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Location */ 92); -/* harmony import */ var _Message__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./Message */ 41); -/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./NetscriptFunctions */ 43); -/* harmony import */ var _NetscriptWorker__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./NetscriptWorker */ 26); -/* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./SpecialServerIps */ 33); -/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 22); -/* harmony import */ var _Terminal__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./Terminal */ 51); -/* harmony import */ var decimal_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! decimal.js */ 35); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 20); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 36); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_26__); -/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 44); - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -let BitNode8StartingMoney = 250e6; - -//Prestige by purchasing augmentation -function prestigeAugmentation() { - Object(_BitNode__WEBPACK_IMPORTED_MODULE_2__[/* initBitNodeMultipliers */ "b"])(); - - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].prestigeAugmentation(); - - //Delete all Worker Scripts objects - Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_16__[/* prestigeWorkerScripts */ "e"])(); - - var homeComp = _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].getHomeComputer(); - //Delete all servers except home computer - Object(_Server__WEBPACK_IMPORTED_MODULE_18__[/* prestigeAllServers */ "i"])(); - - //Delete Special Server IPs - Object(_SpecialServerIps__WEBPACK_IMPORTED_MODULE_19__[/* prestigeSpecialServerIps */ "e"])(); //Must be done before initForeignServers() - - //Reset home computer (only the programs) and add to AllServers - Object(_Server__WEBPACK_IMPORTED_MODULE_18__[/* AddToAllServers */ "a"])(homeComp); - Object(_Server__WEBPACK_IMPORTED_MODULE_18__[/* prestigeHomeComputer */ "j"])(homeComp); - - if (Object(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* augmentationExists */ "f"])(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* AugmentationNames */ "b"].Neurolink) && - _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentations */ "c"][_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* AugmentationNames */ "b"].Neurolink].owned) { - homeComp.programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_7__["Programs"].FTPCrackProgram.name); - homeComp.programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_7__["Programs"].RelaySMTPProgram.name); - } - if (Object(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* augmentationExists */ "f"])(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* AugmentationNames */ "b"].CashRoot) && - _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentations */ "c"][_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* AugmentationNames */ "b"].CashRoot].owned) { - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].setMoney(new decimal_js__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"](1000000)); - homeComp.programs.push(_Programs_Programs__WEBPACK_IMPORTED_MODULE_7__["Programs"].BruteSSHProgram.name); - } - - //Re-create foreign servers - Object(_Server__WEBPACK_IMPORTED_MODULE_18__[/* initForeignServers */ "f"])(); - - //Darkweb is purchase-able - document.getElementById("location-purchase-tor").setAttribute("class", "a-link-button"); - - //Gain favor for Companies - for (var member in _Company_Companies__WEBPACK_IMPORTED_MODULE_5__["Companies"]) { - if (_Company_Companies__WEBPACK_IMPORTED_MODULE_5__["Companies"].hasOwnProperty(member)) { - _Company_Companies__WEBPACK_IMPORTED_MODULE_5__["Companies"][member].gainFavor(); - } - } - - //Gain favor for factions - for (var member in _Faction_Factions__WEBPACK_IMPORTED_MODULE_10__["Factions"]) { - if (_Faction_Factions__WEBPACK_IMPORTED_MODULE_10__["Factions"].hasOwnProperty(member)) { - _Faction_Factions__WEBPACK_IMPORTED_MODULE_10__["Factions"][member].gainFavor(); - } - } - - //Stop a Terminal action if there is onerror - if (_engine__WEBPACK_IMPORTED_MODULE_8__["Engine"]._actionInProgress) { - _engine__WEBPACK_IMPORTED_MODULE_8__["Engine"]._actionInProgress = false; - _Terminal__WEBPACK_IMPORTED_MODULE_21__[/* Terminal */ "a"].finishAction(true); - } - - //Re-initialize things - This will update any changes - Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_10__["initFactions"])(); //Factions must be initialized before augmentations - Object(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* initAugmentations */ "h"])(); //Calls reapplyAllAugmentations() and resets Player multipliers - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].reapplyAllSourceFiles(); - Object(_Company_Companies__WEBPACK_IMPORTED_MODULE_5__["initCompanies"])(); - - //Clear terminal - $("#terminal tr:not(:last)").remove(); - Object(_Terminal__WEBPACK_IMPORTED_MODULE_21__[/* postNetburnerText */ "b"])(); - - //Messages - Object(_Message__WEBPACK_IMPORTED_MODULE_14__[/* initMessages */ "d"])(); - - //Gang, in BitNode 2 - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bitNodeN == 2 && _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].inGang()) { - var faction = _Faction_Factions__WEBPACK_IMPORTED_MODULE_10__["Factions"][_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].gang.facName]; - if (faction instanceof _Faction_Faction__WEBPACK_IMPORTED_MODULE_9__["Faction"]) { - Object(_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_11__[/* joinFaction */ "c"])(faction); - } - } - - //Cancel Bladeburner action - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bladeburner instanceof _Bladeburner__WEBPACK_IMPORTED_MODULE_3__[/* Bladeburner */ "a"]) { - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bladeburner.prestige(); - } - - //BitNode 8: Ghost of Wall Street - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bitNodeN === 8) {_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"](BitNode8StartingMoney);} - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bitNodeN === 8 || _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_15__[/* hasWallStreetSF */ "f"]) { - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].hasWseAccount = true; - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].hasTixApiAccess = true; - } - - //Reset Stock market - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].hasWseAccount) { - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_20__[/* initStockMarket */ "h"])(); - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_20__[/* initSymbolToStockMap */ "j"])(); - } - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_20__[/* setStockMarketContentCreated */ "o"])(false); - var stockMarketList = document.getElementById("stock-market-list"); - while(stockMarketList.firstChild) { - stockMarketList.removeChild(stockMarketList.firstChild); - } - var watchlist = document.getElementById("stock-market-watchlist-filter"); - watchlist.value = ""; //Reset watchlist filter - - //Load Terminal Screen - var mainMenu = document.getElementById("mainmenu-container"); - mainMenu.style.visibility = "visible"; - _Terminal__WEBPACK_IMPORTED_MODULE_21__[/* Terminal */ "a"].resetTerminalInput(); - _engine__WEBPACK_IMPORTED_MODULE_8__["Engine"].loadTerminalContent(); - - // Refresh Main Menu (the 'World' menu, specifically) - document.getElementById("world-menu-header").click(); - document.getElementById("world-menu-header").click(); - - //Red Pill - if (Object(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* augmentationExists */ "f"])(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* AugmentationNames */ "b"].TheRedPill) && - _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentations */ "c"][_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* AugmentationNames */ "b"].TheRedPill].owned) { - var WorldDaemon = _Server__WEBPACK_IMPORTED_MODULE_18__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_19__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_19__[/* SpecialServerNames */ "b"].WorldDaemon]]; - var DaedalusServer = _Server__WEBPACK_IMPORTED_MODULE_18__[/* AllServers */ "b"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_19__[/* SpecialServerIps */ "a"][_SpecialServerIps__WEBPACK_IMPORTED_MODULE_19__[/* SpecialServerNames */ "b"].DaedalusServer]]; - if (WorldDaemon && DaedalusServer) { - WorldDaemon.serversOnNetwork.push(DaedalusServer.ip); - DaedalusServer.serversOnNetwork.push(WorldDaemon.ip); - } - } -} - - -//Prestige by destroying Bit Node and gaining a Source File -function prestigeSourceFile() { - Object(_BitNode__WEBPACK_IMPORTED_MODULE_2__[/* initBitNodeMultipliers */ "b"])(); - - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].prestigeSourceFile(); - Object(_NetscriptWorker__WEBPACK_IMPORTED_MODULE_16__[/* prestigeWorkerScripts */ "e"])(); //Delete all Worker Scripts objects - - var homeComp = _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].getHomeComputer(); - - //Delete all servers except home computer - Object(_Server__WEBPACK_IMPORTED_MODULE_18__[/* prestigeAllServers */ "i"])(); //Must be done before initForeignServers() - - //Delete Special Server IPs - Object(_SpecialServerIps__WEBPACK_IMPORTED_MODULE_19__[/* prestigeSpecialServerIps */ "e"])(); - - //Reset home computer (only the programs) and add to AllServers - Object(_Server__WEBPACK_IMPORTED_MODULE_18__[/* AddToAllServers */ "a"])(homeComp); - Object(_Server__WEBPACK_IMPORTED_MODULE_18__[/* prestigeHomeComputer */ "j"])(homeComp); - - //Re-create foreign servers - Object(_Server__WEBPACK_IMPORTED_MODULE_18__[/* initForeignServers */ "f"])(); - - var srcFile1Owned = false; - for (var i = 0; i < _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].sourceFiles.length; ++i) { - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].sourceFiles[i].n == 1) { - srcFile1Owned = true; - } - } - if (srcFile1Owned) { - homeComp.setMaxRam(32); - } else { - homeComp.setMaxRam(8); - } - homeComp.cpuCores = 1; - - //Reset favor for Companies - for (var member in _Company_Companies__WEBPACK_IMPORTED_MODULE_5__["Companies"]) { - if (_Company_Companies__WEBPACK_IMPORTED_MODULE_5__["Companies"].hasOwnProperty(member)) { - _Company_Companies__WEBPACK_IMPORTED_MODULE_5__["Companies"][member].favor = 0; - } - } - - //Reset favor for factions - for (var member in _Faction_Factions__WEBPACK_IMPORTED_MODULE_10__["Factions"]) { - if (_Faction_Factions__WEBPACK_IMPORTED_MODULE_10__["Factions"].hasOwnProperty(member)) { - _Faction_Factions__WEBPACK_IMPORTED_MODULE_10__["Factions"][member].favor = 0; - } - } - - //Stop a Terminal action if there is one - if (_engine__WEBPACK_IMPORTED_MODULE_8__["Engine"]._actionInProgress) { - _engine__WEBPACK_IMPORTED_MODULE_8__["Engine"]._actionInProgress = false; - _Terminal__WEBPACK_IMPORTED_MODULE_21__[/* Terminal */ "a"].finishAction(true); - } - - //Delete all Augmentations - for (var name in _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentations */ "c"]) { - if (_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentations */ "c"].hasOwnProperty(name)) { - delete _Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* Augmentations */ "c"][name]; - } - } - - //Re-initialize things - This will update any changes - Object(_Faction_Factions__WEBPACK_IMPORTED_MODULE_10__["initFactions"])(); //Factions must be initialized before augmentations - Object(_Augmentations__WEBPACK_IMPORTED_MODULE_1__[/* initAugmentations */ "h"])(); //Calls reapplyAllAugmentations() and resets Player multipliers - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].reapplyAllSourceFiles(); - Object(_Company_Companies__WEBPACK_IMPORTED_MODULE_5__["initCompanies"])(); - - //Clear terminal - $("#terminal tr:not(:last)").remove(); - Object(_Terminal__WEBPACK_IMPORTED_MODULE_21__[/* postNetburnerText */ "b"])(); - - //Messages - Object(_Message__WEBPACK_IMPORTED_MODULE_14__[/* initMessages */ "d"])(); - - var mainMenu = document.getElementById("mainmenu-container"); - mainMenu.style.visibility = "visible"; - _Terminal__WEBPACK_IMPORTED_MODULE_21__[/* Terminal */ "a"].resetTerminalInput(); - _engine__WEBPACK_IMPORTED_MODULE_8__["Engine"].loadTerminalContent(); - - //Reinitialize Bit Node flags - Object(_NetscriptFunctions__WEBPACK_IMPORTED_MODULE_15__[/* initSingularitySFFlags */ "g"])(); - - //BitNode 3: Corporatocracy - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bitNodeN === 3) { - homeComp.messages.push("corporation-management-handbook.lit"); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_23__["dialogBoxCreate"])("You received a copy of the Corporation Management Handbook on your home computer. " + - "Read it if you need help getting started with Corporations!"); - } - - //BitNode 6: Bladeburner - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bitNodeN === 6) { - var cinematicText = ["In the middle of the 21st century, OmniTek Incorporated advanced robot evolution " + - "with their Synthoids (synthetic androids), a being virtually identical to a human.", - "------", - "Their sixth-generation Synthoids, called MK-VI, were stronger, faster, and more " + - "intelligent than humans. Many argued that the MK-VI Synthoids were the first " + - "example of sentient AI.", - "------", - "Unfortunately, in 2070 a terrorist group called Ascendis Totalis hacked into OmniTek and " + - "uploaded a rogue AI into their Synthoid manufacturing facilities.", - "------", - "The MK-VI Synthoids infected by the rogue AI turned hostile toward humanity, initiating " + - "the deadliest conflict in human history. This dark chapter is now known as the Synthoid Uprising.", - "------", - "In the aftermath of the Uprising, further manufacturing of Synthoids with advanced AI " + - "was banned. MK-VI Synthoids that did not have the rogue Ascendis Totalis AI were " + - "allowed to continue their existence.", - "------", - "The intelligence community believes that not all of the rogue MK-VI Synthoids from the Uprising were " + - "found and destroyed, and that many of them are blending in as normal humans in society today. " + - "As a result, many nations have created Bladeburner divisions, special units that are tasked with " + - "investigating and dealing with Synthoid threats."]; - Object(_CinematicText__WEBPACK_IMPORTED_MODULE_4__[/* writeCinematicText */ "b"])(cinematicText).then(function() { - var popupId = "bladeburner-bitnode-start-nsa-notification"; - var txt = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_25__["createElement"])("p", { - innerText:"Visit the National Security Agency (NSA) to apply for their Bladeburner " + - "division! You will need 100 of each combat stat before doing this." - }) - var brEl = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_25__["createElement"])("br"); - var okBtn = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_25__["createElement"])("a", { - class:"a-link-button", innerText:"Got it!", padding:"8px", - clickListener:()=>{ - Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_24__["removeElementById"])(popupId); - return false; - } - }); - Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_26__["createPopup"])(popupId, [txt, brEl, okBtn]); - }).catch(function(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_27__[/* exceptionAlert */ "a"])(e); - }) - - } - - //BitNode 8: Ghost of Wall Street - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bitNodeN === 8) {_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].money = new decimal_js__WEBPACK_IMPORTED_MODULE_22__[/* default */ "a"](BitNode8StartingMoney);} - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bitNodeN === 8 || _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_15__[/* hasWallStreetSF */ "f"]) { - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].hasWseAccount = true; - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].hasTixApiAccess = true; - } - - //Reset Stock market, gang, and corporation - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].hasWseAccount) { - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_20__[/* initStockMarket */ "h"])(); - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_20__[/* initSymbolToStockMap */ "j"])(); - } - Object(_StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_20__[/* setStockMarketContentCreated */ "o"])(false); - var stockMarketList = document.getElementById("stock-market-list"); - while(stockMarketList.firstChild) { - stockMarketList.removeChild(stockMarketList.firstChild); - } - - if (_Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].inGang()) { _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].gang.clearUI(); } - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].gang = null; - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].corporation = null; Object(_Corporation_IndustryData__WEBPACK_IMPORTED_MODULE_6__["resetIndustryResearchTrees"])(); - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].bladeburner = null; - - - // Refresh Main Menu (the 'World' menu, specifically) - document.getElementById("world-menu-header").click(); - document.getElementById("world-menu-header").click(); - - //Gain int exp - _Player__WEBPACK_IMPORTED_MODULE_17__[/* Player */ "a"].gainIntelligenceExp(5); -} - - - -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! jquery */ 64))) - -/***/ }), -/* 89 */ -/*!***************************************!*\ - !*** ./utils/helpers/getTimestamp.ts ***! - \***************************************/ -/*! no static exports found */ -/*! exports used: getTimestamp */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Returns a MM/DD HH:MM timestamp for the current time - */ -function getTimestamp() { - const d = new Date(); - // A negative slice value takes from the end of the string rather than the beginning. - const stringWidth = -2; - const formattedHours = `0${d.getHours()}`.slice(stringWidth); - const formattedMinutes = `0${d.getMinutes()}`.slice(stringWidth); - return `${d.getMonth() + 1}/${d.getDate()} ${formattedHours}:${formattedMinutes}`; -} -exports.getTimestamp = getTimestamp; - - -/***/ }), -/* 90 */ -/*!*******************************************!*\ - !*** ./utils/helpers/isValidIPAddress.ts ***! - \*******************************************/ -/*! no static exports found */ -/*! exports used: isValidIPAddress */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Checks whether a IP Address string is valid. - * @param ipaddress A string representing a potential IP Address - */ -function isValidIPAddress(ipaddress) { - const byteRange = "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"; - const regexStr = `^${byteRange}\.${byteRange}\.${byteRange}\.${byteRange}$`; - const ipAddressRegex = new RegExp(regexStr); - return ipAddressRegex.test(ipaddress); -} -exports.isValidIPAddress = isValidIPAddress; - - -/***/ }), -/* 91 */, -/* 92 */ +/* 97 */ /*!*************************!*\ !*** ./src/Location.js ***! \*************************/ @@ -45843,48 +45769,52 @@ exports.isValidIPAddress = isValidIPAddress; "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return displayLocationContent; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return initLocationButtons; }); -/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Bladeburner */ 32); -/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Company/CompanyPositions */ 29); +/* harmony import */ var _Bladeburner__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Bladeburner */ 34); +/* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Company/CompanyPositions */ 33); /* harmony import */ var _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Company/Companies */ 17); +/* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Company/Companies */ 19); /* harmony import */ var _Company_Companies__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Company_Companies__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Company/GetJobRequirementText */ 94); +/* harmony import */ var _Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Company/GetJobRequirementText */ 100); /* harmony import */ var _Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Company_GetJobRequirementText__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Company/data/CompanyPositionNames */ 37); +/* harmony import */ var _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Company/data/CompanyPositionNames */ 41); /* harmony import */ var _Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_Company_data_CompanyPositionNames__WEBPACK_IMPORTED_MODULE_4__); -/* harmony import */ var _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Corporation/Corporation */ 58); +/* harmony import */ var _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Corporation/Corporation */ 62); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _Crimes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Crimes */ 38); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _Infiltration__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Infiltration */ 139); -/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./NetscriptFunctions */ 43); +/* harmony import */ var _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./Crime/Crimes */ 37); +/* harmony import */ var _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _Infiltration__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Infiltration */ 152); +/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./NetscriptFunctions */ 47); /* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./Locations */ 5); /* harmony import */ var _Locations__WEBPACK_IMPORTED_MODULE_11___default = /*#__PURE__*/__webpack_require__.n(_Locations__WEBPACK_IMPORTED_MODULE_11__); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _ServerPurchases__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ServerPurchases */ 120); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Settings */ 18); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _ServerPurchases__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./ServerPurchases */ 129); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./Settings */ 20); /* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_15__); -/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./SpecialServerIps */ 33); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); -/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_17___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_17__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 16); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__); -/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/IPAddress */ 62); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); -/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils/YesNoBox */ 19); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); -/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_23__); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 36); -/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_24__); -/* harmony import */ var _utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/uiHelpers/createPopupCloseButton */ 75); -/* harmony import */ var _utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_25__); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 20); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_26__); +/* harmony import */ var _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./SourceFile/SourceFileFlags */ 83); +/* harmony import */ var _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_16___default = /*#__PURE__*/__webpack_require__.n(_SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_16__); +/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./SpecialServerIps */ 36); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); +/* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_18___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_18__); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 22); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__); +/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../utils/IPAddress */ 66); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); +/* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ../utils/YesNoBox */ 21); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); +/* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_24___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_24__); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ../utils/uiHelpers/createPopup */ 40); +/* harmony import */ var _utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_25___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_25__); +/* harmony import */ var _utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ../utils/uiHelpers/createPopupCloseButton */ 79); +/* harmony import */ var _utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_26___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_26__); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 23); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__); + @@ -45918,7 +45848,7 @@ exports.isValidIPAddress = isValidIPAddress; function displayLocationContent() { - var returnToWorld = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-return-to-world-button"); + var returnToWorld = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-return-to-world-button"); var locationName = document.getElementById("location-name"); @@ -45938,7 +45868,7 @@ function displayLocationContent() { var waiterJob = document.getElementById("location-waiter-job"); var waiterPartTimeJob = document.getElementById("location-parttime-waiter-job"); - var work = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-work"); + var work = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-work"); var jobTitle = document.getElementById("location-job-title"); var jobReputation = document.getElementById("location-job-reputation"); @@ -45981,7 +45911,7 @@ function displayLocationContent() { var travelToIshima = document.getElementById("location-travel-to-ishima"); var travelToVolhaven = document.getElementById("location-travel-to-volhaven"); - var infiltrate = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-infiltrate"); + var infiltrate = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-infiltrate"); var hospitalTreatment = document.getElementById("location-hospital-treatment"); @@ -46003,6 +45933,8 @@ function displayLocationContent() { var nsaBladeburner = document.getElementById("location-nsa-bladeburner"); + const vitalifeResleeve = document.getElementById("location-vitalife-resleeve"); + var loc = _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].location; returnToWorld.addEventListener("click", function() { @@ -46070,20 +46002,20 @@ function displayLocationContent() { purchaseHomeRam.style.display = "none"; purchaseHomeCores.style.display = "none"; - purchase2gb.innerHTML = "Purchase 2GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(2*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - purchase4gb.innerHTML = "Purchase 4GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(4*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - purchase8gb.innerHTML = "Purchase 8GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(8*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - purchase16gb.innerHTML = "Purchase 16GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(16*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - purchase32gb.innerHTML = "Purchase 32GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(32*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - purchase64gb.innerHTML = "Purchase 64GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(64*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - purchase128gb.innerHTML = "Purchase 128GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(128*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - purchase256gb.innerHTML = "Purchase 256GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(256*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - purchase512gb.innerHTML = "Purchase 512GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(512*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - purchase1tb.innerHTML = "Purchase 1TB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(1024*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); - if (!_SpecialServerIps__WEBPACK_IMPORTED_MODULE_16__[/* SpecialServerIps */ "a"].hasOwnProperty("Darkweb Server")) { + purchase2gb.innerHTML = "Purchase 2GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(2*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + purchase4gb.innerHTML = "Purchase 4GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(4*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + purchase8gb.innerHTML = "Purchase 8GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(8*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + purchase16gb.innerHTML = "Purchase 16GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(16*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + purchase32gb.innerHTML = "Purchase 32GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(32*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + purchase64gb.innerHTML = "Purchase 64GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(64*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + purchase128gb.innerHTML = "Purchase 128GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(128*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + purchase256gb.innerHTML = "Purchase 256GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(256*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + purchase512gb.innerHTML = "Purchase 512GB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(512*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + purchase1tb.innerHTML = "Purchase 1TB Server - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(1024*_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].BaseCostFor1GBOfRamServer, 2); + if (!_SpecialServerIps__WEBPACK_IMPORTED_MODULE_17__[/* SpecialServerIps */ "a"].hasOwnProperty("Darkweb Server")) { purchaseTor.classList.add("a-link-button"); purchaseTor.classList.remove("a-link-button-bought"); - purchaseTor.innerHTML = "Purchase TOR Router - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].TorRouterCost, 2); + purchaseTor.innerHTML = "Purchase TOR Router - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].TorRouterCost, 2); } else { purchaseTor.classList.remove("a-link-button"); purchaseTor.classList.add("a-link-button-bought"); @@ -46119,10 +46051,11 @@ function displayLocationContent() { cityHallCreateCorporation.style.display = "none"; nsaBladeburner.style.display = "none"; + vitalifeResleeve.style.display = "none"; //Check if the player is employed at this Location. If he is, display the "Work" button, //update the job title, etc. - if (loc != "" && loc === _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].companyName) { + if (loc != "" && Object.keys(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].jobs).includes(loc)) { let company = _Company_Companies__WEBPACK_IMPORTED_MODULE_2__["Companies"][loc]; jobTitle.style.display = "block"; @@ -46131,31 +46064,31 @@ function displayLocationContent() { locationTxtDiv1.style.display = "block"; locationTxtDiv2.style.display = "block"; locationTxtDiv3.style.display = "block"; - jobTitle.innerHTML = "Job Title: " + _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].companyPosition; + jobTitle.innerHTML = `Job Title: ${_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].jobs[loc]}`; let repGain = company.getFavorGain(); if (repGain.length != 2) {repGain = 0;} repGain = repGain[0]; - jobReputation.innerHTML = "Company reputation: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(company.playerReputation, 4) + + jobReputation.innerHTML = "Company reputation: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(company.playerReputation, 4) + "You will earn " + - Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(repGain, 0) + + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(repGain, 0) + " faction favor upon resetting after installing an Augmentation"; - companyFavor.innerHTML = "Company Favor: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(company.favor, 0) + + companyFavor.innerHTML = "Company Favor: " + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(company.favor, 0) + "Company favor increases the rate at which " + "you earn reputation for this company by 1% per favor. Company favor " + "is gained whenever you reset after installing an Augmentation. The amount of " + "favor you gain depends on how much reputation you have with the company"; work.style.display = "block"; - let currPos = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_1__["CompanyPositions"][_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].companyPosition]; + let currPos = _Company_CompanyPositions__WEBPACK_IMPORTED_MODULE_1__["CompanyPositions"][_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].jobs[loc]]; if (currPos == null) { throw new Error("Player's companyPosition property has an invalid value"); } work.addEventListener("click", function() { if (currPos.isPartTimeJob() || currPos.isSoftwareConsultantJob() || currPos.isBusinessConsultantJob()) { - _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startWorkPartTime(); + _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startWorkPartTime(loc); } else { - _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startWork(); + _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startWork(loc); } return false; }); @@ -46643,6 +46576,10 @@ function displayLocationContent() { businessJob.style.display = "block"; setInfiltrateButton(infiltrate, _Locations__WEBPACK_IMPORTED_MODULE_11__["Locations"].NewTokyoVitaLife, 605, 22, 100, 3.5); + if (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].bitNodeN === 10 || _SourceFile_SourceFileFlags__WEBPACK_IMPORTED_MODULE_16__["SourceFileFlags"][10]) { + vitalifeResleeve.style.display = "block"; + } + break; case _Locations__WEBPACK_IMPORTED_MODULE_11__["Locations"].NewTokyoGlobalPharmaceuticals: @@ -46861,18 +46798,18 @@ function displayLocationContent() { case _Locations__WEBPACK_IMPORTED_MODULE_11__["Locations"].NewTokyoSlums: case _Locations__WEBPACK_IMPORTED_MODULE_11__["Locations"].IshimaSlums: case _Locations__WEBPACK_IMPORTED_MODULE_11__["Locations"].VolhavenSlums: - var shopliftChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Shoplift.successRate(); - var robStoreChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].RobStore.successRate(); - var mugChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Mug.successRate(); - var larcenyChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Larceny.successRate(); - var drugsChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].DealDrugs.successRate(); - var bondChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].BondForgery.successRate(); - var armsChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].TraffickArms.successRate(); - var homicideChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Homicide.successRate(); - var gtaChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].GrandTheftAuto.successRate(); - var kidnapChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Kidnap.successRate(); - var assassinateChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Assassination.successRate(); - var heistChance = _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Heist.successRate(); + var shopliftChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Shoplift.successRate(); + var robStoreChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].RobStore.successRate(); + var mugChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Mug.successRate(); + var larcenyChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Larceny.successRate(); + var drugsChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].DealDrugs.successRate(); + var bondChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].BondForgery.successRate(); + var armsChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].TraffickArms.successRate(); + var homicideChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Homicide.successRate(); + var gtaChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].GrandTheftAuto.successRate(); + var kidnapChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Kidnap.successRate(); + var assassinateChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Assassination.successRate(); + var heistChance = _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Heist.successRate(); slumsDescText.style.display = "block"; slumsShoplift.style.display = "block"; @@ -46915,7 +46852,7 @@ function displayLocationContent() { //Hospital case _Locations__WEBPACK_IMPORTED_MODULE_11__["Locations"].Hospital: - hospitalTreatment.innerText = "Get treatment for wounds - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(hospitalTreatmentCost, 2).toString(); + hospitalTreatment.innerText = "Get treatment for wounds - $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(hospitalTreatmentCost, 2).toString(); hospitalTreatment.style.display = "block"; break; @@ -46925,8 +46862,8 @@ function displayLocationContent() { // Make the "Apply to be Employee and Waiter" texts disappear if you already hold the job // Includes part-time stuff - if (loc == _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].companyName) { - var currPos = _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].companyPosition; + if (Object.keys(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].jobs).includes(loc)) { + var currPos = _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].jobs[loc]; if (currPos == "Employee") { employeeJob.style.display = "none"; @@ -47516,6 +47453,8 @@ function initLocationButtons() { var nsaBladeburner = document.getElementById("location-nsa-bladeburner"); + const vitalifeResleeve = document.getElementById("location-vitalife-resleeve"); + var hospitalTreatment = document.getElementById("location-hospital-treatment"); softwareJob.addEventListener("click", function(e) { @@ -47667,18 +47606,18 @@ function initLocationButtons() { const cost = _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].getUpgradeHomeRamCost(); const ram = _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].getHomeComputer().maxRam; - var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetNoButton"])(); + var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxGetNoButton"])(); yesBtn.innerHTML = "Purchase"; noBtn.innerHTML = "Cancel"; yesBtn.addEventListener("click", ()=>{ Object(_ServerPurchases__WEBPACK_IMPORTED_MODULE_14__[/* purchaseRamForHomeComputer */ "a"])(cost); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxClose"])(); }); noBtn.addEventListener("click", ()=>{ - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxClose"])(); }); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxCreate"])("Would you like to purchase additional RAM for your home computer?

" + + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxCreate"])("Would you like to purchase additional RAM for your home computer?

" + "This will upgrade your RAM from " + ram + "GB to " + ram*2 + "GB.

" + - "This will cost " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_17__["numeralWrapper"].format(cost, '$0.000a')); + "This will cost " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_18__["numeralWrapper"].format(cost, '$0.000a')); }); purchaseHomeCores.addEventListener("click", function(e) { @@ -47696,26 +47635,26 @@ function initLocationButtons() { 20000000000000000, //6->7 Cores - 20 quadrillion 200000000000000000]; //7->8 Cores - 200 quadrillion cost = cost[currentCores]; - var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetNoButton"])(); + var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxGetNoButton"])(); yesBtn.innerHTML = "Purchase"; noBtn.innerHTML = "Cancel"; yesBtn.addEventListener("click", ()=>{ if (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].money.lt(cost)) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("You do not have enough money to purchase an additional CPU Core for your home computer!"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("You do not have enough money to purchase an additional CPU Core for your home computer!"); } else { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].loseMoney(cost); _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].getHomeComputer().cpuCores++; - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("You purchased an additional CPU Core for your home computer! It now has " + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("You purchased an additional CPU Core for your home computer! It now has " + _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].getHomeComputer().cpuCores + " cores."); } - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxClose"])(); }); noBtn.addEventListener("click", ()=>{ - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxClose"])(); }); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxCreate"])("Would you like to purchase an additional CPU Core for your home computer? Each CPU Core " + + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxCreate"])("Would you like to purchase an additional CPU Core for your home computer? Each CPU Core " + "lets you start with an additional Core Node in Hacking Missions.

" + "Purchasing an additional core (for a total of " + (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].getHomeComputer().cpuCores + 1) + ") will " + - "cost " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_17__["numeralWrapper"].format(cost, '$0.000a')); + "cost " + _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_18__["numeralWrapper"].format(cost, '$0.000a')); }); travelToAevum.addEventListener("click", function(e) { @@ -47756,102 +47695,102 @@ function initLocationButtons() { slumsShoplift.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Shoplift.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Shoplift.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsRobStore.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].RobStore.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].RobStore.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsMug.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Mug.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Mug.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsLarceny.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Larceny.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Larceny.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsDealDrugs.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].DealDrugs.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].DealDrugs.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsBondForgery.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].BondForgery.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].BondForgery.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsTrafficArms.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].TraffickArms.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].TraffickArms.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsHomicide.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Homicide.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Homicide.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsGta.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].GrandTheftAuto.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].GrandTheftAuto.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsKidnap.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Kidnap.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Kidnap.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsAssassinate.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Assassination.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Assassination.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); slumsHeist.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _Crimes__WEBPACK_IMPORTED_MODULE_7__[/* Crimes */ "a"].Heist.commit(); + _Crime_Crimes__WEBPACK_IMPORTED_MODULE_7__["Crimes"].Heist.commit(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"]); return false; }); cityHallCreateCorporation.addEventListener("click", function() { const popupId = "create-corporation-popup"; - const txt = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_23__["createElement"])("p", { + const txt = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_24__["createElement"])("p", { innerHTML: "Would you like to start a corporation? This will require $150b for registration " + "and initial funding. This $150b can either be self-funded, or you can obtain " + "the seed money from the government in exchange for 500 million shares

" + "If you would like to start one, please enter a name for your corporation below:", }); - const nameInput = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_23__["createElement"])("input", { + const nameInput = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_24__["createElement"])("input", { placeholder: "Corporation Name", }); - const selfFundedButton = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_23__["createElement"])("button", { + const selfFundedButton = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_24__["createElement"])("button", { class: "popup-box-button", innerText: "Self-Fund", clickListener: () => { if (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].money.lt(150e9)) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("You don't have enough money to create a corporation! You need $150b"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("You don't have enough money to create a corporation! You need $150b"); return false; } _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].loseMoney(150e9); const companyName = nameInput.value; if (companyName == null || companyName == "") { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("Invalid company name!"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("Invalid company name!"); return false; } @@ -47862,20 +47801,20 @@ function initLocationButtons() { displayLocationContent(); document.getElementById("world-menu-header").click(); document.getElementById("world-menu-header").click(); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("Congratulations! You just self-funded your own corporation. You can visit " + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("Congratulations! You just self-funded your own corporation. You can visit " + "and manage your company in the City"); - Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_26__["removeElementById"])(popupId); + Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__["removeElementById"])(popupId); return false; } }); - const seedMoneyButton = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_23__["createElement"])("button", { + const seedMoneyButton = Object(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_24__["createElement"])("button", { class: "popup-box-button", innerText: "Use Seed Money", clickListener: () => { const companyName = nameInput.value; if (companyName == null || companyName == "") { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("Invalid company name!"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("Invalid company name!"); return false; } @@ -47887,19 +47826,19 @@ function initLocationButtons() { displayLocationContent(); document.getElementById("world-menu-header").click(); document.getElementById("world-menu-header").click(); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("Congratulations! You just started your own corporation with government seed money. " + + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("Congratulations! You just started your own corporation with government seed money. " + "You can visit and manage your company in the City"); - Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_26__["removeElementById"])(popupId); + Object(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_27__["removeElementById"])(popupId); return false; } }) - const cancelBtn = Object(_utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_25__["createPopupCloseButton"])(popupId, { class: "popup-box-button" }); + const cancelBtn = Object(_utils_uiHelpers_createPopupCloseButton__WEBPACK_IMPORTED_MODULE_26__["createPopupCloseButton"])(popupId, { class: "popup-box-button" }); if (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].corporation instanceof _Corporation_Corporation__WEBPACK_IMPORTED_MODULE_5__[/* Corporation */ "a"]) { return; } else { - Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_24__["createPopup"])(popupId, [txt, nameInput, cancelBtn, selfFundedButton, seedMoneyButton]); + Object(_utils_uiHelpers_createPopup__WEBPACK_IMPORTED_MODULE_25__["createPopup"])(popupId, [txt, nameInput, cancelBtn, selfFundedButton, seedMoneyButton]); nameInput.focus(); } }); @@ -47913,23 +47852,27 @@ function initLocationButtons() { if (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].strength >= 100 && _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].defense >= 100 && _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].dexterity >= 100 && _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].agility >= 100) { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].bladeburner = new _Bladeburner__WEBPACK_IMPORTED_MODULE_0__[/* Bladeburner */ "a"]({new:true}); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("You have been accepted into the Bladeburner division!"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("You have been accepted into the Bladeburner division!"); displayLocationContent(); document.getElementById("world-menu-header").click(); document.getElementById("world-menu-header").click(); } else { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("Rejected! Please apply again when you have 100 of each combat stat (str, def, dex, agi)"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("Rejected! Please apply again when you have 100 of each combat stat (str, def, dex, agi)"); } } }); + vitalifeResleeve.addEventListener("click", function() { + _engine__WEBPACK_IMPORTED_MODULE_8__["Engine"].loadResleevingContent(); + }); + hospitalTreatment.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} if (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].hp < 0) {_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].hp = 0;} var price = (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].max_hp - _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].hp) * _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].HospitalCostPerHp; _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].loseMoney(price); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("You were healed to full health! The hospital billed " + - "you for $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(price, 2).toString()); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("You were healed to full health! The hospital billed " + + "you for $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(price, 2).toString()); _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].hp = _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].max_hp; displayLocationContent(); return false; @@ -47945,29 +47888,29 @@ function travelToCity(destCityName, cost) { } if (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].money.lt(cost)) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("You cannot afford to travel to " + destCityName); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("You cannot afford to travel to " + destCityName); return; } _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].loseMoney(cost); _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].city = destCityName; - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("You are now in " + destCityName + "!"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("You are now in " + destCityName + "!"); _engine__WEBPACK_IMPORTED_MODULE_8__["Engine"].loadWorldContent(); } function purchaseTorRouter() { if (_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].money.lt(_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].TorRouterCost)) { - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("You cannot afford to purchase the Tor router"); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("You cannot afford to purchase the Tor router"); return; } _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].loseMoney(_Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].TorRouterCost); var darkweb = new _Server__WEBPACK_IMPORTED_MODULE_13__[/* Server */ "d"]({ - ip:Object(_utils_IPAddress__WEBPACK_IMPORTED_MODULE_20__[/* createRandomIp */ "a"])(), hostname:"darkweb", organizationName:"", + ip:Object(_utils_IPAddress__WEBPACK_IMPORTED_MODULE_21__[/* createRandomIp */ "a"])(), hostname:"darkweb", organizationName:"", isConnectedTo:false, adminRights:false, purchasedByPlayer:false, maxRam:1 }); Object(_Server__WEBPACK_IMPORTED_MODULE_13__[/* AddToAllServers */ "a"])(darkweb); - _SpecialServerIps__WEBPACK_IMPORTED_MODULE_16__[/* SpecialServerIps */ "a"].addIp("Darkweb Server", darkweb.ip); + _SpecialServerIps__WEBPACK_IMPORTED_MODULE_17__[/* SpecialServerIps */ "a"].addIp("Darkweb Server", darkweb.ip); const purchaseTor = document.getElementById("location-purchase-tor"); purchaseTor.setAttribute("class", "a-link-button-bought"); @@ -47975,7 +47918,7 @@ function purchaseTorRouter() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].getHomeComputer().serversOnNetwork.push(darkweb.ip); darkweb.serversOnNetwork.push(_Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].getHomeComputer().ip); - Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_18__["dialogBoxCreate"])("You have purchased a Tor router!
You now have access to the dark web from your home computer
Use the scan/scan-analyze commands to search for the dark web connection."); + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_19__["dialogBoxCreate"])("You have purchased a Tor router!
You now have access to the dark web from your home computer
Use the scan/scan-analyze commands to search for the dark web connection."); } function displayUniversityLocationContent(costMult) { @@ -48008,37 +47951,37 @@ function displayUniversityLocationContent(costMult) { } function setUniversityLocationButtons(costMult, expMult) { - var newStudyCS = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-study-computer-science"); + var newStudyCS = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-study-computer-science"); newStudyCS.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassStudyComputerScience); return false; }); - var newClassDataStructures = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-data-structures-class"); + var newClassDataStructures = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-data-structures-class"); newClassDataStructures.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassDataStructures); return false; }); - var newClassNetworks = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-networks-class"); + var newClassNetworks = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-networks-class"); newClassNetworks.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassNetworks); return false; }); - var newClassAlgorithms = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-algorithms-class"); + var newClassAlgorithms = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-algorithms-class"); newClassAlgorithms.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassAlgorithms); return false; }); - var newClassManagement = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-management-class"); + var newClassManagement = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-management-class"); newClassManagement.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassManagement); return false; }); - var newClassLeadership = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-leadership-class"); + var newClassLeadership = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-leadership-class"); newClassLeadership.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassLeadership); return false; @@ -48066,25 +48009,25 @@ function displayGymLocationContent(costMult) { } function setGymLocationButtons(costMult, expMult) { - var gymStr = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-gym-train-str"); + var gymStr = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-gym-train-str"); gymStr.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassGymStrength); return false; }); - var gymDef = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-gym-train-def"); + var gymDef = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-gym-train-def"); gymDef.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassGymDefense); return false; }); - var gymDex = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-gym-train-dex"); + var gymDex = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-gym-train-dex"); gymDex.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassGymDexterity); return false; }); - var gymAgi = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_19__["clearEventListeners"])("location-gym-train-agi"); + var gymAgi = Object(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_20__["clearEventListeners"])("location-gym-train-agi"); gymAgi.addEventListener("click", function() { _Player__WEBPACK_IMPORTED_MODULE_12__[/* Player */ "a"].startClass(costMult, expMult, _Constants__WEBPACK_IMPORTED_MODULE_6__["CONSTANTS"].ClassGymAgility); return false; @@ -48117,36 +48060,36 @@ function travelBoxCreate(destCityName, cost) { travelToCity(destCityName, cost); return; } - var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxGetNoButton"])(); + var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxGetYesButton"])(), noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxGetNoButton"])(); yesBtn.innerHTML = "Yes"; noBtn.innerHTML = "No"; noBtn.addEventListener("click", () => { - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxClose"])(); return false; }); yesBtn.addEventListener("click", () => { - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxClose"])(); travelToCity(destCityName, cost); return false; }); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoBoxCreate"])("Would you like to travel to " + destCityName + "? The trip will cost $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(cost, 2) + "."); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoBoxCreate"])("Would you like to travel to " + destCityName + "? The trip will cost $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(cost, 2) + "."); } function purchaseServerBoxCreate(ram, cost) { - var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoTxtInpBoxGetYesButton"])(); - var noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoTxtInpBoxGetNoButton"])(); + var yesBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoTxtInpBoxGetYesButton"])(); + var noBtn = Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoTxtInpBoxGetNoButton"])(); yesBtn.innerHTML = "Purchase Server"; noBtn.innerHTML = "Cancel"; yesBtn.addEventListener("click", function() { Object(_ServerPurchases__WEBPACK_IMPORTED_MODULE_14__[/* purchaseServer */ "b"])(ram, cost); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoTxtInpBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoTxtInpBoxClose"])(); }); noBtn.addEventListener("click", function() { - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoTxtInpBoxClose"])(); + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoTxtInpBoxClose"])(); }); - Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_22__["yesNoTxtInpBoxCreate"])("Would you like to purchase a new server with " + ram + - "GB of RAM for $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_21__["formatNumber"])(cost, 2) + "?

" + + Object(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_23__["yesNoTxtInpBoxCreate"])("Would you like to purchase a new server with " + ram + + "GB of RAM for $" + Object(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_22__["formatNumber"])(cost, 2) + "?

" + "Please enter the server hostname below:
"); } @@ -48154,7 +48097,29 @@ function purchaseServerBoxCreate(ram, cost) { /***/ }), -/* 93 */ +/* 98 */ +/*!*****************************************************!*\ + !*** ./src/Augmentation/PlayerOwnedAugmentation.ts ***! + \*****************************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +class PlayerOwnedAugmentation { + constructor(name = "") { + this.level = 1; + this.name = ""; + this.name = name; + } +} +exports.PlayerOwnedAugmentation = PlayerOwnedAugmentation; + + +/***/ }), +/* 99 */ /*!****************************************!*\ !*** ./utils/helpers/compareArrays.ts ***! \****************************************/ @@ -48185,7 +48150,7 @@ exports.compareArrays = compareArrays; /***/ }), -/* 94 */ +/* 100 */ /*!**********************************************!*\ !*** ./src/Company/GetJobRequirementText.ts ***! \**********************************************/ @@ -48251,7 +48216,82 @@ exports.getJobRequirementText = getJobRequirementText; /***/ }), -/* 95 */ +/* 101 */ +/*!***********************************!*\ + !*** ./src/Crime/CrimeHelpers.js ***! + \***********************************/ +/*! exports provided: determineCrimeSuccess, findCrime */ +/*! exports used: determineCrimeSuccess, findCrime */ +/***/ (function(module, __webpack_exports__, __webpack_require__) { + +"use strict"; +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return determineCrimeSuccess; }); +/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return findCrime; }); +/* harmony import */ var _Crimes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Crimes */ 37); +/* harmony import */ var _Crimes__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Crimes__WEBPACK_IMPORTED_MODULE_0__); + + +function determineCrimeSuccess(type, moneyGained) { + var chance = 0; + var found = false; + for(const i in _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"]) { + const crime = _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"][i]; + if(crime.type == type) { + chance = crime.successRate(Player); + found = true; + break; + } + } + + if(!found) { + console.log(crime); + dialogBoxCreate("ERR: Unrecognized crime type. This is probably a bug please contact the developer"); + return; + } + + if (Math.random() <= chance) { + //Success + Player.gainMoney(moneyGained); + return true; + } else { + //Failure + return false; + } +} + +function findCrime(roughName) { + if (roughName.includes("shoplift")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].Shoplift; + } else if (roughName.includes("rob") && roughName.includes("store")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].RobStore; + } else if (roughName.includes("mug")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].Mug; + } else if (roughName.includes("larceny")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].Larceny; + } else if (roughName.includes("drugs")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].DealDrugs; + } else if (roughName.includes("bond") && roughName.includes("forge")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].BondForgery; + } else if (roughName.includes("traffick") && roughName.includes("arms")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].TraffickArms; + } else if (roughName.includes("homicide")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].Homicide; + } else if (roughName.includes("grand") && roughName.includes("auto")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].GrandTheftAuto; + } else if (roughName.includes("kidnap")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].Kidnap; + } else if (roughName.includes("assassinate")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].Assassination; + } else if (roughName.includes("heist")) { + return _Crimes__WEBPACK_IMPORTED_MODULE_0__["Crimes"].Heist; + } + + return null; +} + + +/***/ }), +/* 102 */ /*!****************************************!*\ !*** ./src/Programs/ProgramHelpers.js ***! \****************************************/ @@ -48263,7 +48303,7 @@ exports.getJobRequirementText = getJobRequirementText; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return displayCreateProgramContent; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return getNumAvailableCreateProgram; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "c", function() { return initCreateProgramButtons; }); -/* harmony import */ var _Programs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Programs */ 24); +/* harmony import */ var _Programs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Programs */ 26); /* harmony import */ var _Programs__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Programs__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_1__); @@ -48347,7 +48387,7 @@ function initCreateProgramButtons() { /***/ }), -/* 96 */ +/* 103 */ /*!****************************************!*\ !*** ./utils/helpers/getRandomByte.ts ***! \****************************************/ @@ -48358,7 +48398,7 @@ function initCreateProgramButtons() { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const getRandomInt_1 = __webpack_require__(/*! ./getRandomInt */ 15); +const getRandomInt_1 = __webpack_require__(/*! ./getRandomInt */ 17); /** * Gets a random value in the range of a byte (0 - 255), or up to the maximum. * @param max The maximum value (up to 255). @@ -48373,9 +48413,9 @@ exports.getRandomByte = getRandomByte; /***/ }), -/* 97 */, -/* 98 */, -/* 99 */ +/* 104 */, +/* 105 */, +/* 106 */ /*!****************************************!*\ !*** ./src/Corporation/ResearchMap.ts ***! \****************************************/ @@ -48388,8 +48428,8 @@ exports.getRandomByte = getRandomByte; Object.defineProperty(exports, "__esModule", { value: true }); // The Research Map is an object that holds all Corporation Research objects // as values. They are identified by their names -const Research_1 = __webpack_require__(/*! ./Research */ 212); -const ResearchMetadata_1 = __webpack_require__(/*! ./data/ResearchMetadata */ 211); +const Research_1 = __webpack_require__(/*! ./Research */ 230); +const ResearchMetadata_1 = __webpack_require__(/*! ./data/ResearchMetadata */ 229); exports.ResearchMap = {}; function addResearch(p) { if (exports.ResearchMap[p.name] != null) { @@ -48403,7 +48443,7 @@ for (const metadata of ResearchMetadata_1.researchMetadata) { /***/ }), -/* 100 */ +/* 107 */ /*!****************************************!*\ !*** ./src/CodingContractGenerator.js ***! \****************************************/ @@ -48414,13 +48454,13 @@ for (const metadata of ResearchMetadata_1.researchMetadata) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return generateRandomContract; }); /* unused harmony export generateContract */ -/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodingContracts */ 42); +/* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CodingContracts */ 46); /* harmony import */ var _CodingContracts__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_CodingContracts__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Faction/Factions */ 14); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Faction/Factions */ 16); /* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 15); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 17); /* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_4__); @@ -48505,7 +48545,7 @@ function sanitizeRewardType(rewardType) { if (type === _CodingContracts__WEBPACK_IMPORTED_MODULE_0__["CodingContractRewardType"].FactionReputationAll && factionsThatAllowHacking.length === 0) { type = _CodingContracts__WEBPACK_IMPORTED_MODULE_0__["CodingContractRewardType"].CompanyReputation; } - if (type === _CodingContracts__WEBPACK_IMPORTED_MODULE_0__["CodingContractRewardType"].CompanyReputation && _Player__WEBPACK_IMPORTED_MODULE_2__[/* Player */ "a"].companyName === "") { + if (type === _CodingContracts__WEBPACK_IMPORTED_MODULE_0__["CodingContractRewardType"].CompanyReputation && Object.keys(_Player__WEBPACK_IMPORTED_MODULE_2__[/* Player */ "a"].jobs).length === 0) { type = _CodingContracts__WEBPACK_IMPORTED_MODULE_0__["CodingContractRewardType"].Money; } @@ -48536,8 +48576,9 @@ function getRandomReward() { reward.name = randFaction; break; case _CodingContracts__WEBPACK_IMPORTED_MODULE_0__["CodingContractRewardType"].CompanyReputation: - if (_Player__WEBPACK_IMPORTED_MODULE_2__[/* Player */ "a"].companyName !== "") { - reward.name = _Player__WEBPACK_IMPORTED_MODULE_2__[/* Player */ "a"].companyName; + const allJobs = Object.keys(_Player__WEBPACK_IMPORTED_MODULE_2__[/* Player */ "a"].jobs); + if (allJobs.length > 0) { + reward.name = allJobs[Object(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_4__["getRandomInt"])(0, allJobs.length - 1)]; } else { reward.type = _CodingContracts__WEBPACK_IMPORTED_MODULE_0__["CodingContractRewardType"].Money; } @@ -48580,7 +48621,7 @@ function getRandomFilename(server, reward) { /***/ }), -/* 101 */ +/* 108 */ /*!******************************!*\ !*** ./src/CinematicText.js ***! \******************************/ @@ -48591,13 +48632,14 @@ function getRandomFilename(server, reward) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return cinematicTextFlag; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return writeCinematicText; }); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./engine */ 9); -/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 30); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./engine */ 11); +/* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/uiHelpers/removeChildrenFromElement */ 32); /* harmony import */ var _utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeChildrenFromElement__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 44); -/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/helpers/isString */ 40); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 45); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/helpers/isString */ 43); /* harmony import */ var _utils_helpers_isString__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isString__WEBPACK_IMPORTED_MODULE_4__); @@ -48632,7 +48674,7 @@ function writeCinematicText(lines) { return writeCinematicTextRecurse(lines).then(function() { return cinematicTextEnd(); //Puts the continue button }).catch(function(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_3__[/* exceptionAlert */ "a"])(e); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_3__["exceptionAlert"])(e); }); } @@ -48701,7 +48743,7 @@ function cinematicTextEnd() { /***/ }), -/* 102 */ +/* 109 */ /*!***********************************************!*\ !*** ./src/Company/GetNextCompanyPosition.ts ***! \***********************************************/ @@ -48712,7 +48754,7 @@ function cinematicTextEnd() { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const CompanyPositions_1 = __webpack_require__(/*! ./CompanyPositions */ 29); +const CompanyPositions_1 = __webpack_require__(/*! ./CompanyPositions */ 33); function getNextCompanyPosition(currPos) { if (currPos == null) { return null; @@ -48727,7 +48769,7 @@ exports.getNextCompanyPosition = getNextCompanyPosition; /***/ }), -/* 103 */ +/* 110 */ /*!*************************!*\ !*** ./src/HelpText.ts ***! \*************************/ @@ -48968,7 +49010,7 @@ exports.HelpTexts = { /***/ }), -/* 104 */ +/* 111 */ /*!************************************!*\ !*** ./src/Corporation/Product.ts ***! \************************************/ @@ -48979,12 +49021,12 @@ exports.HelpTexts = { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const EmployeePositions_1 = __webpack_require__(/*! ./EmployeePositions */ 27); -const MaterialSizes_1 = __webpack_require__(/*! ./MaterialSizes */ 77); -const ProductRatingWeights_1 = __webpack_require__(/*! ./ProductRatingWeights */ 209); -const Cities_1 = __webpack_require__(/*! ../Locations/Cities */ 208); -const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 13); -const getRandomInt_1 = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 15); +const EmployeePositions_1 = __webpack_require__(/*! ./EmployeePositions */ 30); +const MaterialSizes_1 = __webpack_require__(/*! ./MaterialSizes */ 82); +const ProductRatingWeights_1 = __webpack_require__(/*! ./ProductRatingWeights */ 227); +const Cities_1 = __webpack_require__(/*! ../Locations/Cities */ 122); +const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 15); +const getRandomInt_1 = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 17); class Product { constructor(params = {}) { // Product name @@ -49175,7 +49217,7 @@ JSONReviver_1.Reviver.constructors.Product = Product; /***/ }), -/* 105 */ +/* 112 */ /*!*********************************************!*\ !*** ./src/Corporation/IndustryUpgrades.ts ***! \*********************************************/ @@ -49202,7 +49244,7 @@ exports.IndustryUpgrades = { /***/ }), -/* 106 */ +/* 113 */ /*!*****************************************************!*\ !*** ./src/Corporation/data/CorporationUpgrades.ts ***! \*****************************************************/ @@ -49270,7 +49312,7 @@ exports.CorporationUpgrades = { /***/ }), -/* 107 */ +/* 114 */ /*!***********************************************************!*\ !*** ./src/Corporation/data/CorporationUnlockUpgrades.ts ***! \***********************************************************/ @@ -49316,14 +49358,40 @@ exports.CorporationUnlockUpgrades = { /***/ }), -/* 108 */, -/* 109 */, -/* 110 */, -/* 111 */, -/* 112 */, -/* 113 */, -/* 114 */, -/* 115 */ +/* 115 */, +/* 116 */, +/* 117 */, +/* 118 */, +/* 119 */, +/* 120 */, +/* 121 */, +/* 122 */ +/*!*********************************!*\ + !*** ./src/Locations/Cities.ts ***! + \*********************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Display Location Content when visiting somewhere in the World + */ +// tslint:disable-next-line:variable-name +exports.Cities = { + Aevum: "Aevum", + Chongqing: "Chongqing", + Ishima: "Ishima", + NewTokyo: "New Tokyo", + Sector12: "Sector-12", + Volhaven: "Volhaven", +}; + + +/***/ }), +/* 123 */ /*!************************************!*\ !*** ./src/Faction/FactionInfo.ts ***! \************************************/ @@ -49498,7 +49566,7 @@ exports.FactionInfos = { /***/ }), -/* 116 */ +/* 124 */ /*!*************************************!*\ !*** ./src/NetscriptEnvironment.js ***! \*************************************/ @@ -49508,9 +49576,9 @@ exports.FactionInfos = { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Environment; }); -/* harmony import */ var _HacknetNode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HacknetNode */ 67); -/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NetscriptFunctions */ 43); -/* harmony import */ var _NetscriptPort__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./NetscriptPort */ 72); +/* harmony import */ var _HacknetNode__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./HacknetNode */ 71); +/* harmony import */ var _NetscriptFunctions__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./NetscriptFunctions */ 47); +/* harmony import */ var _NetscriptPort__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./NetscriptPort */ 76); @@ -49610,7 +49678,7 @@ Environment.prototype = { /***/ }), -/* 117 */ +/* 125 */ /*!*************************************!*\ !*** ./src/NetscriptJSEvaluator.js ***! \*************************************/ @@ -49622,7 +49690,7 @@ Environment.prototype = { /* unused harmony export makeScriptBlob */ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return executeJSScript; }); /* unused harmony export _getScriptUrls */ -/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NetscriptEvaluator */ 6); +/* harmony import */ var _NetscriptEvaluator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./NetscriptEvaluator */ 7); // Makes a blob that contains the code of a given script. @@ -49734,7 +49802,32 @@ function _getScriptUrls(script, scripts, seen) { /***/ }), -/* 118 */ +/* 126 */ +/*!************************************************!*\ + !*** ./utils/uiHelpers/removeLoadingScreen.ts ***! + \************************************************/ +/*! no static exports found */ +/*! exports used: removeLoadingScreen */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const getElementById_1 = __webpack_require__(/*! ./getElementById */ 57); +const removeElementById_1 = __webpack_require__(/*! ./removeElementById */ 23); +/** + * Routes the player from the Loading screen to the main game content. + */ +function removeLoadingScreen() { + // TODO: Have this manipulate CSS classes instead of direct styles + removeElementById_1.removeElementById("loader"); + getElementById_1.getElementById("entire-game-container").style.visibility = "visible"; +} +exports.removeLoadingScreen = removeLoadingScreen; + + +/***/ }), +/* 127 */ /*!************************!*\ !*** ./src/DevMenu.js ***! \************************/ @@ -49745,26 +49838,28 @@ function _getScriptUrls(script, scripts, seen) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return createDevMenu; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return closeDevMenu; }); -/* harmony import */ var _Augmentations__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentations */ 21); -/* harmony import */ var _CodingContractGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CodingContractGenerator */ 100); -/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Programs/Programs */ 24); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Augmentation/data/AugmentationNames */ 6); +/* harmony import */ var _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _CodingContractGenerator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CodingContractGenerator */ 107); +/* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Programs/Programs */ 26); /* harmony import */ var _Programs_Programs__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_Programs_Programs__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Faction/Factions */ 14); +/* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Faction/Factions */ 16); /* harmony import */ var _Faction_Factions__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_Faction_Factions__WEBPACK_IMPORTED_MODULE_3__); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RedPill */ 59); -/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 22); -/* harmony import */ var _StockMarket_Stock__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./StockMarket/Stock */ 28); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _RedPill__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./RedPill */ 64); +/* harmony import */ var _StockMarket_StockMarket__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./StockMarket/StockMarket */ 24); +/* harmony import */ var _StockMarket_Stock__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./StockMarket/Stock */ 31); /* harmony import */ var _StockMarket_Stock__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_StockMarket_Stock__WEBPACK_IMPORTED_MODULE_8__); -/* harmony import */ var _Terminal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Terminal */ 51); +/* harmony import */ var _Terminal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./Terminal */ 54); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ui/numeralFormat */ 4); /* harmony import */ var _ui_numeralFormat__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_ui_numeralFormat__WEBPACK_IMPORTED_MODULE_10__); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 44); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils/helpers/exceptionAlert */ 45); +/* harmony import */ var _utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12__); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/uiHelpers/createElement */ 2); /* harmony import */ var _utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_createElement__WEBPACK_IMPORTED_MODULE_13__); -/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 20); +/* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/uiHelpers/removeElementById */ 23); /* harmony import */ var _utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_14___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_removeElementById__WEBPACK_IMPORTED_MODULE_14__); @@ -49994,8 +50089,8 @@ function createDevMenu() { class: "dropdown", margin: "5px", }); - for (const i in _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"]) { - const augName = _Augmentations__WEBPACK_IMPORTED_MODULE_0__[/* AugmentationNames */ "b"][i]; + for (const i in _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_0__["AugmentationNames"]) { + const augName = _Augmentation_data_AugmentationNames__WEBPACK_IMPORTED_MODULE_0__["AugmentationNames"][i]; augmentationsDropdown.options[augmentationsDropdown.options.length] = new Option(augName, augName); } @@ -50104,7 +50199,7 @@ function createDevMenu() { const rank = parseInt(bladeburnerGainRankInput.value); _Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].bladeburner.changeRank(rank); } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12__[/* exceptionAlert */ "a"])(`Failed to change Bladeburner Rank in dev menu: ${e}`); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12__["exceptionAlert"])(`Failed to change Bladeburner Rank in dev menu: ${e}`); } }, innerText: "Gain Bladeburner Rank", @@ -50124,7 +50219,7 @@ function createDevMenu() { const cycles = parseInt(bladeburnerStoredCyclesInput.value); _Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].bladeburner.storedCycles += cycles; } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12__[/* exceptionAlert */ "a"])(`Failed to add cycles to Bladeburner in dev menu: ${e}`); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12__["exceptionAlert"])(`Failed to add cycles to Bladeburner in dev menu: ${e}`); } }, innerText: "Add Cycles to Bladeburner mechanic", @@ -50147,7 +50242,7 @@ function createDevMenu() { const cycles = parseInt(gangStoredCyclesInput.value); _Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gang.storedCycles += cycles; } catch(e) { - Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12__[/* exceptionAlert */ "a"])(`Failed to add stored cycles to gang mechanic: ${e}`); + Object(_utils_helpers_exceptionAlert__WEBPACK_IMPORTED_MODULE_12__["exceptionAlert"])(`Failed to add stored cycles to gang mechanic: ${e}`); } }, innerText: "Add cycles to Gang mechanic", @@ -50315,7 +50410,7 @@ function closeDevMenu() { /***/ }), -/* 119 */ +/* 128 */ /*!********************************!*\ !*** ./src/DarkWeb/DarkWeb.js ***! \********************************/ @@ -50326,13 +50421,13 @@ function closeDevMenu() { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return checkIfConnectedToDarkweb; }); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return executeDarkwebTerminalCommand; }); -/* harmony import */ var _DarkWebItems__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DarkWebItems */ 71); +/* harmony import */ var _DarkWebItems__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DarkWebItems */ 75); /* harmony import */ var _DarkWebItems__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_DarkWebItems__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Player */ 0); -/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../SpecialServerIps */ 33); -/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui/postToTerminal */ 7); +/* harmony import */ var _SpecialServerIps__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../SpecialServerIps */ 36); +/* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../ui/postToTerminal */ 8); /* harmony import */ var _ui_postToTerminal__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_ui_postToTerminal__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/helpers/isValidIPAddress */ 90); +/* harmony import */ var _utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils/helpers/isValidIPAddress */ 94); /* harmony import */ var _utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_isValidIPAddress__WEBPACK_IMPORTED_MODULE_4__); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils/StringHelperFunctions */ 3); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_5__); @@ -50429,7 +50524,7 @@ function buyDarkwebItem(itemName) { /***/ }), -/* 120 */ +/* 129 */ /*!********************************!*\ !*** ./src/ServerPurchases.js ***! \********************************/ @@ -50443,10 +50538,10 @@ function buyDarkwebItem(itemName) { /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Server */ 11); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/IPAddress */ 62); -/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/YesNoBox */ 19); +/* harmony import */ var _Server__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Server */ 12); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_IPAddress__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/IPAddress */ 66); +/* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/YesNoBox */ 21); /* harmony import */ var _utils_YesNoBox__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_utils_YesNoBox__WEBPACK_IMPORTED_MODULE_5__); @@ -50508,9 +50603,14 @@ function purchaseRamForHomeComputer(cost) { return; } - var homeComputer = _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].getHomeComputer(); - homeComputer.maxRam *= 2; + const homeComputer = _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].getHomeComputer(); + if (homeComputer.maxRam >= _Constants__WEBPACK_IMPORTED_MODULE_0__["CONSTANTS"].HomeComputerMaxRam) { + Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_3__["dialogBoxCreate"])(`You cannot upgrade your home computer RAM because it is at its maximum possible value`); + return; + } + + homeComputer.maxRam *= 2; _Player__WEBPACK_IMPORTED_MODULE_1__[/* Player */ "a"].loseMoney(cost); Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_3__["dialogBoxCreate"])("Purchased additional RAM for home computer! It now has " + homeComputer.maxRam + "GB of RAM."); @@ -50520,7 +50620,7 @@ function purchaseRamForHomeComputer(cost) { /***/ }), -/* 121 */ +/* 130 */ /*!*********************************************!*\ !*** ./src/Corporation/CorporationState.ts ***! \*********************************************/ @@ -50531,7 +50631,7 @@ function purchaseRamForHomeComputer(cost) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 13); +const JSONReviver_1 = __webpack_require__(/*! ../../utils/JSONReviver */ 15); // Array of all valid states exports.AllCorporationStates = ["START", "PURCHASE", "PRODUCTION", "SALE", "EXPORT"]; class CorporationState { @@ -50570,39 +50670,334 @@ JSONReviver_1.Reviver.constructors.CorporationState = CorporationState; /***/ }), -/* 122 */ -/*!************************************************!*\ - !*** ./utils/uiHelpers/removeLoadingScreen.ts ***! - \************************************************/ +/* 131 */, +/* 132 */, +/* 133 */, +/* 134 */ +/*!*************************************!*\ + !*** ./src/PersonObjects/Person.ts ***! + \*************************************/ /*! no static exports found */ -/*! exports used: removeLoadingScreen */ +/*! all exports used */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const getElementById_1 = __webpack_require__(/*! ./getElementById */ 54); -const removeElementById_1 = __webpack_require__(/*! ./removeElementById */ 20); -/** - * Routes the player from the Loading screen to the main game content. - */ -function removeLoadingScreen() { - // TODO: Have this manipulate CSS classes instead of direct styles - removeElementById_1.removeElementById("loader"); - getElementById_1.getElementById("entire-game-container").style.visibility = "visible"; +const BitNodeMultipliers_1 = __webpack_require__(/*! ../BitNode/BitNodeMultipliers */ 10); +const Cities_1 = __webpack_require__(/*! ../Locations/Cities */ 122); +const Constants_1 = __webpack_require__(/*! ../Constants */ 1); +function createTaskTracker() { + return { + hack: 0, + str: 0, + def: 0, + dex: 0, + agi: 0, + cha: 0, + money: 0, + }; } -exports.removeLoadingScreen = removeLoadingScreen; +exports.createTaskTracker = createTaskTracker; +class Person { + constructor() { + /** + * Stats + */ + this.hacking_skill = 1; + this.strength = 1; + this.defense = 1; + this.dexterity = 1; + this.agility = 1; + this.charisma = 1; + this.hp = 10; + this.max_hp = 10; + /** + * Experience + */ + this.hacking_exp = 0; + this.strength_exp = 0; + this.defense_exp = 0; + this.dexterity_exp = 0; + this.agility_exp = 0; + this.charisma_exp = 0; + this.intelligence_exp = 0; + /** + * Multipliers + */ + this.hacking_mult = 1; + this.strength_mult = 1; + this.defense_mult = 1; + this.dexterity_mult = 1; + this.agility_mult = 1; + this.charisma_mult = 1; + this.hacking_exp_mult = 1; + this.strength_exp_mult = 1; + this.defense_exp_mult = 1; + this.dexterity_exp_mult = 1; + this.agility_exp_mult = 1; + this.charisma_exp_mult = 1; + this.hacking_chance_mult = 1; + this.hacking_speed_mult = 1; + this.hacking_money_mult = 1; + this.hacking_grow_mult = 1; + this.company_rep_mult = 1; + this.faction_rep_mult = 1; + this.crime_money_mult = 1; + this.crime_success_mult = 1; + this.work_money_mult = 1; + /** + * Augmentations + */ + this.augmentations = []; + this.queuedAugmentations = []; + /** + * City that the person is in + */ + this.city = Cities_1.Cities.Sector12; + } + /** + * Updates this object's multipliers for the given augmentation + */ + applyAugmentation(aug, reapply = false) { + for (const mult in aug.mults) { + if (this[mult] == null) { + console.warn(`Augmentation has unrecognized multiplier property: ${mult}`); + } + else { + this[mult] *= aug.mults[mult]; + } + } + } + /** + * Given an experience amount and stat multiplier, calculates the + * stat level. Stat-agnostic (same formula for every stat) + */ + calculateStat(exp, mult = 1) { + return Math.max(Math.floor(mult * (32 * Math.log(exp + 534.5) - 200)), 1); + } + /** + * Calculate and return the amount of faction reputation earned per cycle + * when doing Field Work for a faction + */ + getFactionFieldWorkRepGain() { + const t = 0.9 * (this.hacking_skill / Constants_1.CONSTANTS.MaxSkillLevel + + this.strength / Constants_1.CONSTANTS.MaxSkillLevel + + this.defense / Constants_1.CONSTANTS.MaxSkillLevel + + this.dexterity / Constants_1.CONSTANTS.MaxSkillLevel + + this.agility / Constants_1.CONSTANTS.MaxSkillLevel + + this.charisma / Constants_1.CONSTANTS.MaxSkillLevel) / 5.5; + return t * this.faction_rep_mult; + } + /** + * Calculate and return the amount of faction reputation earned per cycle + * when doing Hacking Work for a faction + */ + getFactionHackingWorkRepGain() { + return this.hacking_skill / Constants_1.CONSTANTS.MaxSkillLevel * this.faction_rep_mult; + } + /** + * Calculate and return the amount of faction reputation earned per cycle + * when doing Security Work for a faction + */ + getFactionSecurityWorkRepGain() { + const t = 0.9 * (this.hacking_skill / Constants_1.CONSTANTS.MaxSkillLevel + + this.strength / Constants_1.CONSTANTS.MaxSkillLevel + + this.defense / Constants_1.CONSTANTS.MaxSkillLevel + + this.dexterity / Constants_1.CONSTANTS.MaxSkillLevel + + this.agility / Constants_1.CONSTANTS.MaxSkillLevel) / 4.5; + return t * this.faction_rep_mult; + } + /** + * Reset all multipliers to 1 + */ + resetMultipliers() { + this.hacking_mult = 1; + this.strength_mult = 1; + this.defense_mult = 1; + this.dexterity_mult = 1; + this.agility_mult = 1; + this.charisma_mult = 1; + this.hacking_exp_mult = 1; + this.strength_exp_mult = 1; + this.defense_exp_mult = 1; + this.dexterity_exp_mult = 1; + this.agility_exp_mult = 1; + this.charisma_exp_mult = 1; + this.company_rep_mult = 1; + this.faction_rep_mult = 1; + this.crime_money_mult = 1; + this.crime_success_mult = 1; + this.work_money_mult = 1; + } + /** + * Update all stat levels + */ + updateStatLevels() { + this.hacking_skill = Math.max(1, Math.floor(this.calculateStat(this.hacking_exp, this.hacking_mult * BitNodeMultipliers_1.BitNodeMultipliers.HackingLevelMultiplier))); + this.strength = Math.max(1, Math.floor(this.calculateStat(this.strength_exp, this.strength_mult))); + this.defense = Math.max(1, Math.floor(this.calculateStat(this.defense_exp, this.defense_mult))); + this.dexterity = Math.max(1, Math.floor(this.calculateStat(this.dexterity_exp, this.dexterity_mult))); + this.agility = Math.max(1, Math.floor(this.calculateStat(this.agility_exp, this.agility_mult))); + this.charisma = Math.max(1, Math.floor(this.calculateStat(this.charisma_exp, this.charisma_mult))); + const ratio = this.hp / this.max_hp; + this.max_hp = Math.floor(10 + this.defense / 10); + this.hp = Math.round(this.max_hp * ratio); + } +} +exports.Person = Person; /***/ }), -/* 123 */, -/* 124 */, -/* 125 */, -/* 126 */, -/* 127 */, -/* 128 */, -/* 129 */, -/* 130 */ +/* 135 */, +/* 136 */, +/* 137 */, +/* 138 */, +/* 139 */ +/*!************************************!*\ + !*** ./src/ui/MainMenu/Headers.ts ***! + \************************************/ +/*! no static exports found */ +/*! exports used: initializeMainMenuHeaders */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +// Implement the collapsible main menu headers +const Links_1 = __webpack_require__(/*! ./Links */ 28); +exports.MainMenuHeaders = { + Hacking: null, + Character: null, + World: null, + Help: null, +}; +// Implements collapsible toggle feature when a header is clicked +function toggleHeader(open, elems, links) { + for (var i = 0; i < elems.length; ++i) { + if (open) { + elems[i].style.opacity = "1"; + elems[i].style.maxHeight = elems[i].scrollHeight + "px"; + } + else { + elems[i].style.opacity = "0"; + elems[i].style.maxHeight = null; + } + } + for (var i = 0; i < links.length; ++i) { + if (open) { + links[i].style.opacity = "1"; + links[i].style.maxHeight = links[i].scrollHeight + "px"; + links[i].style.pointerEvents = "auto"; + } + else { + links[i].style.opacity = "0"; + links[i].style.maxHeight = null; + links[i].style.pointerEvents = "none"; + } + } +} +function initializeMainMenuHeaders(p, dev = false) { + function safeGetElement(id) { + const elem = document.getElementById(id); + if (elem == null) { + throw new Error(`Failed to find element with id ${id} in initializeMainMenuHeaders()`); + } + return elem; + } + try { + // Get references to the DOM elements + exports.MainMenuHeaders.Hacking = safeGetElement("hacking-menu-header"); + exports.MainMenuHeaders.Character = safeGetElement("character-menu-header"); + exports.MainMenuHeaders.World = safeGetElement("world-menu-header"); + exports.MainMenuHeaders.Help = safeGetElement("help-menu-header"); + // Set click handlers to turn the headers into collapsibles + exports.MainMenuHeaders.Hacking.onclick = function () { + const terminal = safeGetElement("terminal-tab"); + const createScript = safeGetElement("create-script-tab"); + const activeScripts = safeGetElement("active-scripts-tab"); + const createProgram = safeGetElement("create-program-tab"); + const createProgramNot = safeGetElement("create-program-notification"); + this.classList.toggle("opened"); + const elems = [terminal, createScript, activeScripts, createProgram]; + const links = [Links_1.MainMenuLinks.Terminal, Links_1.MainMenuLinks.ScriptEditor, Links_1.MainMenuLinks.ActiveScripts, Links_1.MainMenuLinks.CreateProgram]; + if (terminal.style.maxHeight) { + toggleHeader(false, elems, links); + createProgramNot.style.display = "none"; + } + else { + toggleHeader(true, elems, links); + createProgramNot.style.display = "block"; + } + }; + exports.MainMenuHeaders.Character.onclick = function () { + const stats = safeGetElement("stats-tab"); + const factions = safeGetElement("factions-tab"); + const augmentations = safeGetElement("augmentations-tab"); + const hacknetnodes = safeGetElement("hacknet-nodes-tab"); + this.classList.toggle("opened"); + const elems = [stats, factions, augmentations, hacknetnodes]; + const links = [Links_1.MainMenuLinks.Stats, Links_1.MainMenuLinks.Factions, Links_1.MainMenuLinks.Augmentations, Links_1.MainMenuLinks.HacknetNodes]; + if (stats.style.maxHeight) { + toggleHeader(false, elems, links); + } + else { + toggleHeader(true, elems, links); + } + }; + exports.MainMenuHeaders.World.onclick = function () { + const city = safeGetElement("city-tab"); + const travel = safeGetElement("travel-tab"); + const job = safeGetElement("job-tab"); + const stockmarket = safeGetElement("stock-market-tab"); + const bladeburner = safeGetElement("bladeburner-tab"); + const corporation = safeGetElement("corporation-tab"); + const gang = safeGetElement("gang-tab"); + // Determine whether certain links should show up + job.style.display = p.companyName !== "" ? "list-item" : "none"; + stockmarket.style.display = p.hasWseAccount ? "list-item" : "none"; + bladeburner.style.display = p.inBladeburner() ? "list-item" : "none"; + corporation.style.display = p.hasCorporation() ? "list-item" : "none"; + gang.style.display = p.inGang() ? "list-item" : "none"; + this.classList.toggle("opened"); + const elems = [city, travel, job, stockmarket, bladeburner, corporation, gang]; + const links = [Links_1.MainMenuLinks.City, Links_1.MainMenuLinks.Travel, Links_1.MainMenuLinks.Job, Links_1.MainMenuLinks.StockMarket, Links_1.MainMenuLinks.Bladeburner, Links_1.MainMenuLinks.Corporation, Links_1.MainMenuLinks.Gang]; + if (city.style.maxHeight) { + toggleHeader(false, elems, links); + } + else { + toggleHeader(true, elems, links); + } + }; + exports.MainMenuHeaders.Help.onclick = function () { + const tutorial = safeGetElement("tutorial-tab"); + const options = safeGetElement("options-tab"); + this.classList.toggle("opened"); + const elems = [tutorial, options]; + const links = [Links_1.MainMenuLinks.Tutorial, Links_1.MainMenuLinks.Options]; + if (dev) { + elems.push(safeGetElement("dev-tab")); + links.push(safeGetElement("dev-menu-link")); + } + if (tutorial.style.maxHeight) { + toggleHeader(false, elems, links); + } + else { + toggleHeader(true, elems, links); + } + }; + return true; + } + catch (e) { + console.error(`Failed to initialize Main Menu Headers: ${e}`); + return false; + } +} +exports.initializeMainMenuHeaders = initializeMainMenuHeaders; + + +/***/ }), +/* 140 */ /*!*************************************!*\ !*** ./src/ui/setSettingsLabels.js ***! \*************************************/ @@ -50612,8 +51007,8 @@ exports.removeLoadingScreen = removeLoadingScreen; "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return setSettingsLabels; }); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../engine */ 9); -/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Settings */ 18); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../engine */ 11); +/* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../Settings */ 20); /* harmony import */ var _Settings__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Settings__WEBPACK_IMPORTED_MODULE_1__); /* harmony import */ var _numeralFormat__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./numeralFormat */ 4); /* harmony import */ var _numeralFormat__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_numeralFormat__WEBPACK_IMPORTED_MODULE_2__); @@ -50728,7 +51123,165 @@ function setSettingsLabels() { /***/ }), -/* 131 */ +/* 141 */ +/*!******************************************************!*\ + !*** ./src/PersonObjects/Resleeving/ResleevingUI.ts ***! + \******************************************************/ +/*! no static exports found */ +/*! exports used: createResleevesPage */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const Resleeving_1 = __webpack_require__(/*! ./Resleeving */ 207); +const Augmentations_1 = __webpack_require__(/*! ../../Augmentation/Augmentations */ 13); +const numeralFormat_1 = __webpack_require__(/*! ../../ui/numeralFormat */ 4); +const navigationTracking_1 = __webpack_require__(/*! ../../ui/navigationTracking */ 14); +const DialogBox_1 = __webpack_require__(/*! ../../../utils/DialogBox */ 9); +const exceptionAlert_1 = __webpack_require__(/*! ../../../utils/helpers/exceptionAlert */ 45); +const createElement_1 = __webpack_require__(/*! ../../../utils/uiHelpers/createElement */ 2); +const createOptionElement_1 = __webpack_require__(/*! ../../../utils/uiHelpers/createOptionElement */ 205); +const getSelectData_1 = __webpack_require__(/*! ../../../utils/uiHelpers/getSelectData */ 204); +const removeElement_1 = __webpack_require__(/*! ../../../utils/uiHelpers/removeElement */ 63); +const UIElems = { + container: null, + info: null, + resleeveList: null, + resleeves: null, +}; +let playerRef; +function createResleevesPage(p) { + if (!navigationTracking_1.routing.isOn(navigationTracking_1.Page.Resleeves)) { + return; + } + try { + playerRef = p; + UIElems.container = createElement_1.createElement("div", { + class: "generic-menupage-container", + id: "resleeves-container", + position: "fixed", + }); + UIElems.info = createElement_1.createElement("p", { + display: "inline-block", + innerText: "TOODOOO", + }); + UIElems.resleeveList = createElement_1.createElement("ul"); + UIElems.resleeves = []; + if (p.resleeves.length === 0) { + p.resleeves = Resleeving_1.generateResleeves(); + } + for (const resleeve of p.resleeves) { + const resleeveUi = createResleeveUi(resleeve); + UIElems.resleeveList.appendChild(resleeveUi.container); + UIElems.resleeves.push(resleeveUi); + } + UIElems.container.appendChild(UIElems.info); + UIElems.container.appendChild(UIElems.resleeveList); + document.getElementById("entire-game-container").appendChild(UIElems.container); + } + catch (e) { + exceptionAlert_1.exceptionAlert(e); + } +} +exports.createResleevesPage = createResleevesPage; +function clearResleevesPage() { + removeElement_1.removeElement(UIElems.container); + for (const prop in UIElems) { + UIElems[prop] = null; + } + playerRef = null; +} +exports.clearResleevesPage = clearResleevesPage; +function createResleeveUi(resleeve) { + const elems = { + container: null, + statsPanel: null, + stats: null, + multipliersButton: null, + augPanel: null, + augSelector: null, + augDescription: null, + costPanel: null, + costText: null, + buyButton: null, + }; + if (!navigationTracking_1.routing.isOn(navigationTracking_1.Page.Resleeves)) { + return elems; + } + elems.container = createElement_1.createElement("div", { + class: "resleeve-container", + display: "block", + }); + elems.statsPanel = createElement_1.createElement("div", { class: "resleeve-panel" }); + elems.stats = createElement_1.createElement("p", { class: "resleeve-stats-text" }); + elems.multipliersButton = createElement_1.createElement("button", { + class: "std-button", + innerText: "Multipliers", + clickListener: () => { + DialogBox_1.dialogBoxCreate([ + "

Total Multipliers:

", + `Hacking Level multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.hacking_mult)}`, + `Hacking Experience multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.hacking_exp_mult)}`, + `Strength Level multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.strength_mult)}`, + `Strength Experience multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.strength_exp_mult)}`, + `Defense Level multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.defense_mult)}`, + `Defense Experience multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.defense_exp_mult)}`, + `Dexterity Level multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.dexterity_mult)}`, + `Dexterity Experience multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.dexterity_exp_mult)}`, + `Agility Level multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.agility_mult)}`, + `Agility Experience multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.agility_exp_mult)}`, + `Charisma Level multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.charisma_mult)}`, + `Charisma Experience multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.charisma_exp_mult)}`, + `Hacking Chance multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.hacking_chance_mult)}`, + `Hacking Speed multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.hacking_speed_mult)}`, + `Hacking Money multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.hacking_money_mult)}`, + `Hacking Growth multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.hacking_grow_mult)}`, + `Salary multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.work_money_mult)}`, + `Company Reputation Gain multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.company_rep_mult)}`, + `Faction Reputation Gain multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.faction_rep_mult)}`, + `Crime Money multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.crime_money_mult)}`, + `Crime Success multiplier: ${numeralFormat_1.numeralWrapper.formatPercentage(resleeve.crime_success_mult)}`, + ].join("
"), false); + } + }); + elems.augPanel = createElement_1.createElement("div", { class: "resleeve-panel" }); + elems.augSelector = createElement_1.createElement("select"); + for (let i = 0; i < resleeve.augmentations.length; ++i) { + elems.augSelector.add(createOptionElement_1.createOptionElement(resleeve.augmentations[i].name)); + } + ; + elems.augSelector.addEventListener("change", () => { + updateAugDescription(elems); + }); + elems.augDescription = createElement_1.createElement("p"); + elems.costPanel = createElement_1.createElement("div", { class: "resleeve-panel" }); + elems.costText = createElement_1.createElement("p", { + innerText: `It costs ${numeralFormat_1.numeralWrapper.formatMoney(resleeve.getCost())} ` + + `to purchase this Sleeve.`, + }); + elems.buyButton = createElement_1.createElement("button", { + class: "std-button", + innerText: "Purchase", + clickListener: () => { + Resleeving_1.purchaseResleeve(resleeve, playerRef); + } + }); + return elems; +} +function updateAugDescription(elems) { + const augName = getSelectData_1.getSelectValue(elems.augSelector); + const aug = Augmentations_1.Augmentations[augName]; + if (aug == null) { + console.warn(`Could not find Augmentation with name ${augName}`); + return; + } + elems.augDescription.innerHTML = aug.info; +} + + +/***/ }), +/* 142 */ /*!**********************************!*\ !*** ./src/CharacterOverview.js ***! \**********************************/ @@ -50803,7 +51356,7 @@ CharacterOverview.prototype.update = function() { /***/ }), -/* 132 */ +/* 143 */ /*!******************************!*\ !*** ./src/JSInterpreter.js ***! \******************************/ @@ -50813,7 +51366,7 @@ CharacterOverview.prototype.update = function() { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return Interpreter; }); -/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/acorn */ 49); +/* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/acorn */ 52); /* harmony import */ var _utils_acorn__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_utils_acorn__WEBPACK_IMPORTED_MODULE_0__); /** @@ -54606,7 +55159,640 @@ Interpreter.prototype['createPrimitive'] = function(x) {return x;}; /***/ }), -/* 133 */ +/* 144 */ +/*!********************************************!*\ + !*** ./src/PersonObjects/Sleeve/Sleeve.ts ***! + \********************************************/ +/*! no static exports found */ +/*! exports used: Sleeve */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Sleeves are bodies that contain the player's cloned consciousness. + * The player can use these bodies to perform different tasks synchronously. + * + * Each sleeve is its own individual, meaning it has its own stats/exp + * + * Sleeves are unlocked in BitNode-10. + */ +const SleeveTaskTypesEnum_1 = __webpack_require__(/*! ./SleeveTaskTypesEnum */ 209); +const Person_1 = __webpack_require__(/*! ../Person */ 134); +const BitNodeMultipliers_1 = __webpack_require__(/*! ../../BitNode/BitNodeMultipliers */ 10); +const Cities_1 = __webpack_require__(/*! ../../Locations/Cities */ 122); +const Companies_1 = __webpack_require__(/*! ../../Company/Companies */ 19); +const Company_1 = __webpack_require__(/*! ../../Company/Company */ 72); +const CompanyPositions_1 = __webpack_require__(/*! ../../Company/CompanyPositions */ 33); +const Constants_1 = __webpack_require__(/*! ../../Constants */ 1); +const Faction_1 = __webpack_require__(/*! ../../Faction/Faction */ 58); +const Factions_1 = __webpack_require__(/*! ../../Faction/Factions */ 16); +const FactionWorkTypeEnum_1 = __webpack_require__(/*! ../../Faction/FactionWorkTypeEnum */ 208); +const Locations_1 = __webpack_require__(/*! ../../Locations */ 5); +const JSONReviver_1 = __webpack_require__(/*! ../../../utils/JSONReviver */ 15); +class Sleeve extends Person_1.Person { + constructor() { + super(); + /** + * Enum value for current task + */ + this.currentTask = SleeveTaskTypesEnum_1.SleeveTaskType.Idle; + /** + * Description of current task. Used only for logging purposes + */ + this.currentTaskDescription = ""; + /** + * Contains details about the sleeve's current task. The info stored + * in this depends on the task type + * + * Faction/Company Work: Name of Faction/Company + * Crime: Success rate of current crime, in decimal form + */ + this.currentTaskLocation = ""; + /** + * Maximum amount of time (in milliseconds) that can be spent on current task. + */ + this.currentTaskMaxTime = 0; + /** + * Milliseconds spent on current task + */ + this.currentTaskTime = 0; + /** + * Keeps track of experience earned for other sleeves + */ + this.earningsForSleeves = Person_1.createTaskTracker(); + /** + * Keeps track of experience + money earned for player + */ + this.earningsForPlayer = Person_1.createTaskTracker(); + /** + * Keeps track of experienced earned in the current task/action + */ + this.earningsForTask = Person_1.createTaskTracker(); + /** + * Keeps track of what type of work sleeve is doing for faction, if applicable + */ + this.factionWorkType = FactionWorkTypeEnum_1.FactionWorkType.None; + /** + * Records experience gain rate for the current task + */ + this.gainRatesForTask = Person_1.createTaskTracker(); + /** + * Keeps track of events/notifications for this sleeve + */ + this.logs = []; + /** + * Clone retains memory% of exp upon prestige. If exp would be lower than previously + * kept exp, nothing happens + */ + this.memory = 0; + /** + * Sleeve shock. Number between 1 and 100 + * Trauma/shock that comes with being in a sleeve. Experience earned + * is multipled by shock%. This gets applied before synchronization + * + * Reputation earned is also multiplied by shock% + */ + this.shock = 1; + /** + * Stored number of game "loop" cycles + */ + this.storedCycles = 0; + /** + * Synchronization. Number between 0 and 100 + * When experience is earned by sleeve, both the player and the sleeve get + * sync% of the experience earned. Other sleeves get sync^2% of exp + */ + this.sync = 1; + } + /** + * Initiatizes a Sleeve object from a JSON save state. + */ + static fromJSON(value) { + return JSONReviver_1.Generic_fromJSON(Sleeve, value.data); + } + /** + * Commit crimes + */ + commitCrime(p, crime) { + if (this.currentTask !== SleeveTaskTypesEnum_1.SleeveTaskType.Idle) { + this.finishTask(p); + } + else { + this.resetTaskStatus(); + } + this.gainRatesForTask.hack = crime.hacking_exp * this.hacking_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.CrimeExpGain; + this.gainRatesForTask.str = crime.strength_exp * this.strength_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.CrimeExpGain; + this.gainRatesForTask.def = crime.defense_exp * this.defense_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.CrimeExpGain; + this.gainRatesForTask.dex = crime.dexterity_exp * this.dexterity_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.CrimeExpGain; + this.gainRatesForTask.agi = crime.agility_exp * this.agility_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.CrimeExpGain; + this.gainRatesForTask.cha = crime.charisma_exp * this.charisma_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.CrimeExpGain; + this.gainRatesForTask.money = crime.money * this.crime_money_mult * BitNodeMultipliers_1.BitNodeMultipliers.CrimeMoney; + // We'll determine success now and adjust the earnings accordingly + if (Math.random() < crime.successRate(p)) { + this.gainRatesForTask.hack *= 2; + this.gainRatesForTask.str *= 2; + this.gainRatesForTask.def *= 2; + this.gainRatesForTask.dex *= 2; + this.gainRatesForTask.agi *= 2; + this.gainRatesForTask.cha *= 2; + } + else { + this.gainRatesForTask.money = 0; + } + this.currentTaskMaxTime = crime.time; + this.currentTask = SleeveTaskTypesEnum_1.SleeveTaskType.Crime; + } + /** + * Called to stop the current task + */ + finishTask(p) { + if (this.currentTask === SleeveTaskTypesEnum_1.SleeveTaskType.Crime) { + // For crimes, all experience and money is gained at the end + if (this.currentTaskTime >= this.currentTaskMaxTime) { + let retValue = Person_1.createTaskTracker(); // Amount of exp to be gained by other sleeves + retValue = this.gainExperience(p, this.gainRatesForTask); + this.gainMoney(p, this.gainRatesForTask); + } + } + else { + // For other crimes... I dont think anything else needs to be done + } + this.resetTaskStatus(); + } + /** + * Earn experience for any stats (supports multiple) + * This function also handles experience propogating to Player and other sleeves + */ + gainExperience(p, exp, numCycles = 1) { + // Experience is first multiplied by shock. Then 'synchronization' + // is accounted for + const multFac = (this.shock / 100) * (this.sync / 100) * numCycles; + const pHackExp = exp.hack * multFac; + const pStrExp = exp.str * multFac; + const pDefExp = exp.def * multFac; + const pDexExp = exp.dex * multFac; + const pAgiExp = exp.agi * multFac; + const pChaExp = exp.cha * multFac; + // Experience is gained by both this sleeve and player + if (pHackExp > 0) { + this.hacking_exp += pHackExp; + p.gainHackingExp(pHackExp); + this.earningsForPlayer.hack += pHackExp; + this.earningsForTask.hack += pHackExp; + } + if (pStrExp > 0) { + this.strength_exp += pStrExp; + p.gainStrengthExp(pStrExp); + this.earningsForPlayer.str += pStrExp; + this.earningsForTask.str += pStrExp; + } + if (pDefExp > 0) { + this.defense_exp += pDefExp; + p.gainDefenseExp(pDefExp); + this.earningsForPlayer.def += pDefExp; + this.earningsForTask.dex += pDefExp; + } + if (pDexExp > 0) { + this.dexterity_exp += pDexExp; + p.gainDexterityExp(pDexExp); + this.earningsForPlayer.dex += pDexExp; + this.earningsForTask.dex += pDexExp; + } + if (pAgiExp > 0) { + this.agility_exp += pAgiExp; + p.gainAgilityExp(pAgiExp); + this.earningsForPlayer.agi += pAgiExp; + this.earningsForTask.agi += pAgiExp; + } + if (pChaExp > 0) { + this.charisma_exp += pChaExp; + p.gainCharismaExp(pChaExp); + this.earningsForPlayer.cha += pChaExp; + this.earningsForTask.cha += pChaExp; + } + // Record earnings for other sleeves + this.earningsForSleeves.hack += (pHackExp * (this.sync / 100)); + this.earningsForSleeves.str += (pStrExp * (this.sync / 100)); + this.earningsForSleeves.def += (pDefExp * (this.sync / 100)); + this.earningsForSleeves.dex += (pDexExp * (this.sync / 100)); + this.earningsForSleeves.agi += (pAgiExp * (this.sync / 100)); + this.earningsForSleeves.cha += (pChaExp * (this.sync / 100)); + // Return the experience to be gained by other sleeves + return { + hack: pHackExp * (this.sync / 100), + str: pStrExp * (this.sync / 100), + def: pDefExp * (this.sync / 100), + dex: pDexExp * (this.sync / 100), + agi: pAgiExp * (this.sync / 100), + cha: pChaExp * (this.sync / 100), + money: 0, + }; + } + /** + * Earn money for player + */ + gainMoney(p, task, numCycles = 1) { + this.earningsForPlayer.money += (task.money * numCycles); + p.gainMoney(task.money * numCycles); + } + /** + * Gets reputation gain for the current task + * Only applicable when working for company or faction + */ + getRepGain() { + if (this.currentTask === SleeveTaskTypesEnum_1.SleeveTaskType.Faction) { + switch (this.factionWorkType) { + case FactionWorkTypeEnum_1.FactionWorkType.Hacking: + return this.getFactionHackingWorkRepGain() * (this.shock / 100); + case FactionWorkTypeEnum_1.FactionWorkType.Field: + return this.getFactionFieldWorkRepGain() * (this.shock / 100); + case FactionWorkTypeEnum_1.FactionWorkType.Security: + return this.getFactionSecurityWorkRepGain() * (this.shock / 100); + default: + console.warn(`Invalid Sleeve.factionWorkType property in Sleeve.getRepGain(): ${this.factionWorkType}`); + return 0; + } + } + else if (this.currentTask === SleeveTaskTypesEnum_1.SleeveTaskType.Company) { + return 0; // TODO + } + else { + console.warn(`Sleeve.getRepGain() called for invalid task type: ${this.currentTask}`); + return 0; + } + } + log(entry) { + const MaxLogSize = 50; + this.logs.push(entry); + if (this.logs.length > MaxLogSize) { + this.logs.shift(); + } + } + /** + * Process loop + * Returns an object containing the amount of experience that should be + * transferred to all other sleeves + */ + process(p, numCycles = 1) { + // Only process once every second (5 cycles) + const CyclesPerSecond = 1000 / Constants_1.CONSTANTS.MilliPerCycle; + this.storedCycles += numCycles; + if (this.storedCycles < CyclesPerSecond) { + return null; + } + // Shock gradually goes towards 100 + this.shock = Math.max(100, this.shock + (0.0001 * this.storedCycles)); + if (this.currentTask === SleeveTaskTypesEnum_1.SleeveTaskType.Idle) { + return null; + } + let time = this.storedCycles * Constants_1.CONSTANTS.MilliPerCycle; + let cyclesUsed = this.storedCycles; + if (this.currentTaskTime + time > this.currentTaskMaxTime) { + time = this.currentTaskMaxTime - this.currentTaskTime; + cyclesUsed = Math.floor(time / Constants_1.CONSTANTS.MilliPerCycle); + if (time < 0 || cyclesUsed < 0) { + console.warn(`Sleeve.process() calculated negative cycle usage`); + time = 0; + cyclesUsed = 0; + } + } + this.currentTaskTime += time; + let retValue = Person_1.createTaskTracker(); + switch (this.currentTask) { + case SleeveTaskTypesEnum_1.SleeveTaskType.Class: + retValue = this.gainExperience(p, this.gainRatesForTask, cyclesUsed); + this.gainMoney(p, this.gainRatesForTask, cyclesUsed); + break; + case SleeveTaskTypesEnum_1.SleeveTaskType.Faction: + retValue = this.gainExperience(p, this.gainRatesForTask, cyclesUsed); + this.gainMoney(p, this.gainRatesForTask, cyclesUsed); + // Gain faction reputation + const fac = Factions_1.Factions[this.currentTaskLocation]; + if (!(fac instanceof Faction_1.Faction)) { + console.error(`Invalid faction for Sleeve task: ${this.currentTaskLocation}`); + break; + } + fac.playerReputation += (this.getRepGain() * cyclesUsed); + break; + case SleeveTaskTypesEnum_1.SleeveTaskType.Company: + retValue = this.gainExperience(p, this.gainRatesForTask, cyclesUsed); + this.gainMoney(p, this.gainRatesForTask, cyclesUsed); + const company = Companies_1.Companies[this.currentTaskLocation]; + if (!(company instanceof Company_1.Company)) { + console.error(`Invalid company for Sleeve task: ${this.currentTaskLocation}`); + break; + } + company.playerReputation *= (this.getRepGain() * cyclesUsed); + break; + case SleeveTaskTypesEnum_1.SleeveTaskType.Recovery: + this.shock = Math.max(100, this.shock + (0.001 * this.storedCycles)); + break; + case SleeveTaskTypesEnum_1.SleeveTaskType.Sync: + this.sync = Math.max(100, this.sync + (0.001 * this.storedCycles)); + break; + default: + break; + } + if (this.currentTaskMaxTime !== 0 && this.currentTaskTime >= this.currentTaskMaxTime) { + this.finishTask(p); + } + this.updateStatLevels(); + this.storedCycles -= cyclesUsed; + // TODO Finish this + return retValue; + } + /** + * Resets all parameters used to keep information about the current task + */ + resetTaskStatus() { + this.earningsForTask = Person_1.createTaskTracker(); + this.gainRatesForTask = Person_1.createTaskTracker(); + this.currentTask = SleeveTaskTypesEnum_1.SleeveTaskType.Idle; + this.currentTaskTime = 0; + this.currentTaskMaxTime = 0; + this.factionWorkType = FactionWorkTypeEnum_1.FactionWorkType.None; + } + /** + * Take a course at a university + */ + takeUniversityCourse(p, universityName, className) { + if (this.currentTask !== SleeveTaskTypesEnum_1.SleeveTaskType.Idle) { + this.finishTask(p); + } + else { + this.resetTaskStatus(); + } + // Set exp/money multipliers based on which university. + // Also check that the sleeve is in the right city + let costMult = 1; + let expMult = 1; + switch (universityName.toLowerCase()) { + case Locations_1.Locations.AevumSummitUniversity.toLowerCase(): + if (this.city !== Cities_1.Cities.Aevum) { + return false; + } + costMult = 4; + expMult = 3; + break; + case Locations_1.Locations.Sector12RothmanUniversity.toLowerCase(): + if (this.city !== Cities_1.Cities.Sector12) { + return false; + } + costMult = 3; + expMult = 2; + break; + case Locations_1.Locations.VolhavenZBInstituteOfTechnology.toLowerCase(): + if (this.city !== Cities_1.Cities.Volhaven) { + return false; + } + costMult = 5; + expMult = 4; + break; + default: + return false; + } + // Number of game cycles in a second + const cps = 1000 / Constants_1.CONSTANTS.MilliPerCycle; + // Set experience/money gains based on class + // TODO Refactor University Courses into its own class or something + const baseStudyComputerScienceExp = 0.5; + const baseDataStructuresExp = 1; + const baseNetworksExp = 2; + const baseAlgorithmsExp = 4; + const baseManagementExp = 2; + const baseLeadershipExp = 4; + switch (className.toLowerCase()) { + case "study computer science": + this.gainRatesForTask.hack = (baseStudyComputerScienceExp * expMult * this.hacking_exp_mult); + break; + case "data structures": + this.gainRatesForTask.hack = (baseDataStructuresExp * expMult * this.hacking_exp_mult); + this.gainRatesForTask.money = -1 * (Constants_1.CONSTANTS.ClassDataStructuresBaseCost * costMult); + break; + case "networks": + this.gainRatesForTask.hack = (baseNetworksExp * expMult * this.hacking_exp_mult); + this.gainRatesForTask.money = -1 * (Constants_1.CONSTANTS.ClassNetworksBaseCost * costMult); + break; + case "algorithms": + this.gainRatesForTask.hack = (baseAlgorithmsExp * expMult * this.hacking_exp_mult); + this.gainRatesForTask.money = -1 * (Constants_1.CONSTANTS.ClassAlgorithmsBaseCost * costMult); + break; + case "management": + this.gainRatesForTask.cha = (baseManagementExp * expMult * this.charisma_exp_mult); + this.gainRatesForTask.money = -1 * (Constants_1.CONSTANTS.ClassManagementBaseCost * costMult); + break; + case "leadership": + this.gainRatesForTask.cha = (baseLeadershipExp * expMult * this.charisma_exp_mult); + this.gainRatesForTask.money = -1 * (Constants_1.CONSTANTS.ClassLeadershipBaseCost * costMult); + break; + default: + return false; + } + this.currentTask = SleeveTaskTypesEnum_1.SleeveTaskType.Class; + return true; + } + /** + * Travel to another City. Costs money from player + */ + travel(p, newCity) { + if (Cities_1.Cities[newCity] == null) { + console.error(`Invalid city ${newCity} passed into Sleeve.travel()`); + return false; + } + p.loseMoney(Constants_1.CONSTANTS.TravelCost); + this.city = newCity; + return true; + } + /** + * Start work for one of the player's companies + * Returns boolean indicating success + */ + workForCompany(p, companyName) { + if (!(Companies_1.Companies[companyName] instanceof Company_1.Company) || p.jobs[companyName] == null) { + return false; + } + if (this.currentTask !== SleeveTaskTypesEnum_1.SleeveTaskType.Idle) { + this.finishTask(p); + } + else { + this.resetTaskStatus(); + } + const company = Companies_1.Companies[companyName]; + const companyPosition = CompanyPositions_1.CompanyPositions[p.jobs[companyName]]; + if (company == null) { + throw new Error(`Invalid company name specified in Sleeve.workForCompany(): ${companyName}`); + } + if (companyPosition == null) { + throw new Error(`Invalid CompanyPosition data in Sleeve.workForCompany(): ${companyName}`); + } + this.gainRatesForTask.hack = companyPosition.hackingExpGain * + company.expMultiplier * + this.hacking_exp_mult * + BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.str = companyPosition.strengthExpGain * + company.expMultiplier * + this.strength_exp_mult * + BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.def = companyPosition.defenseExpGain * + company.expMultiplier * + this.defense_exp_mult * + BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.dex = companyPosition.dexterityExpGain * + company.expMultiplier * + this.dexterity_exp_mult * + BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.agi = companyPosition.agilityExpGain * + company.expMultiplier * + this.agility_exp_mult * + BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.cha = companyPosition.charismaExpGain * + company.expMultiplier * + this.charisma_exp_mult * + BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.currentTaskLocation = companyName; + this.currentTask = SleeveTaskTypesEnum_1.SleeveTaskType.Company; + return true; + } + /** + * Start work for one of the player's factions + * Returns boolean indicating success + */ + workForFaction(p, factionName, workType) { + if (!(Factions_1.Factions[factionName] instanceof Faction_1.Faction) || !p.factions.includes(factionName)) { + throw new Error(`Invalid Faction specified for Sleeve.workForFaction(): ${factionName}`); + return false; + } + if (this.currentTask !== SleeveTaskTypesEnum_1.SleeveTaskType.Idle) { + this.finishTask(p); + } + else { + this.resetTaskStatus(); + } + // Set type of work (hacking/field/security), and the experience gains + const sanitizedWorkType = workType.toLowerCase(); + if (sanitizedWorkType.includes("hack")) { + this.factionWorkType = FactionWorkTypeEnum_1.FactionWorkType.Hacking; + this.gainRatesForTask.hack = .15 * this.hacking_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + } + else if (sanitizedWorkType.includes("field")) { + this.factionWorkType = FactionWorkTypeEnum_1.FactionWorkType.Field; + this.gainRatesForTask.hack = .1 * this.hacking_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.str = .1 * this.strength_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.def = .1 * this.defense_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.dex = .1 * this.dexterity_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.agi = .1 * this.agility_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.cha = .1 * this.charisma_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + } + else if (sanitizedWorkType.includes("security")) { + this.factionWorkType = FactionWorkTypeEnum_1.FactionWorkType.Security; + this.gainRatesForTask.hack = .1 * this.hacking_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.str = .15 * this.strength_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.def = .15 * this.defense_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.dex = .15 * this.dexterity_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + this.gainRatesForTask.agi = .15 * this.agility_exp_mult * BitNodeMultipliers_1.BitNodeMultipliers.FactionWorkExpGain; + } + else { + return false; + } + this.currentTaskLocation = factionName; + this.currentTask = SleeveTaskTypesEnum_1.SleeveTaskType.Faction; + return true; + } + /** + * Begin a gym workout task + */ + workoutAtGym(p, gymName, stat) { + if (this.currentTask !== SleeveTaskTypesEnum_1.SleeveTaskType.Idle) { + this.finishTask(p); + } + else { + this.resetTaskStatus(); + } + // Set exp/money multipliers based on which university. + // Also check that the sleeve is in the right city + let costMult = 1; + let expMult = 1; + switch (gymName.toLowerCase()) { + case Locations_1.Locations.AevumCrushFitnessGym.toLowerCase(): + if (this.city != Cities_1.Cities.Aevum) { + return false; + } + costMult = 3; + expMult = 2; + break; + case Locations_1.Locations.AevumSnapFitnessGym.toLowerCase(): + if (this.city != Cities_1.Cities.Aevum) { + return false; + } + costMult = 10; + expMult = 5; + break; + case Locations_1.Locations.Sector12IronGym.toLowerCase(): + if (this.city != Cities_1.Cities.Sector12) { + return false; + } + costMult = 1; + expMult = 1; + break; + case Locations_1.Locations.Sector12PowerhouseGym.toLowerCase(): + if (this.city != Cities_1.Cities.Sector12) { + return false; + } + costMult = 20; + expMult = 10; + break; + case Locations_1.Locations.VolhavenMilleniumFitnessGym: + if (this.city != Cities_1.Cities.Volhaven) { + return false; + } + costMult = 7; + expMult = 4; + break; + default: + return false; + } + // Number of game cycles in a second + const cps = 1000 / Constants_1.CONSTANTS.MilliPerCycle; + // Set experience/money gains based on class + // TODO Refactor University Courses into its own class or something + const baseGymExp = 1; + const sanitizedStat = stat.toLowerCase(); + // Set cost + this.gainRatesForTask.money = -1 * (Constants_1.CONSTANTS.ClassGymBaseCost * costMult); + // Set stat gain rate + if (sanitizedStat.includes("str")) { + this.gainRatesForTask.str = (baseGymExp * expMult); + } + else if (sanitizedStat.includes("def")) { + this.gainRatesForTask.def = (baseGymExp * expMult); + } + else if (sanitizedStat.includes("dex")) { + this.gainRatesForTask.dex = (baseGymExp * expMult); + } + else if (sanitizedStat.includes("agi")) { + this.gainRatesForTask.agi = (baseGymExp * expMult); + } + else { + return false; + } + this.currentTask = SleeveTaskTypesEnum_1.SleeveTaskType.Class; + return true; + } + /** + * Serialize the current object to a JSON save state. + */ + toJSON() { + return JSONReviver_1.Generic_toJSON("Sleeve", this); + } +} +exports.Sleeve = Sleeve; +JSONReviver_1.Reviver.constructors.Sleeve = Sleeve; + + +/***/ }), +/* 145 */ /*!***************************************!*\ !*** ./utils/helpers/isPowerOfTwo.ts ***! \***************************************/ @@ -54636,7 +55822,32 @@ exports.isPowerOfTwo = isPowerOfTwo; /***/ }), -/* 134 */ +/* 146 */ +/*!*************************************************!*\ + !*** ./src/SourceFile/PlayerOwnedSourceFile.ts ***! + \*************************************************/ +/*! no static exports found */ +/*! exports used: PlayerOwnedSourceFile */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +class PlayerOwnedSourceFile { + constructor(n, level) { + // Source-File level + this.lvl = 1; + // Source-File number + this.n = 1; + this.n = n; + this.lvl = level; + } +} +exports.PlayerOwnedSourceFile = PlayerOwnedSourceFile; + + +/***/ }), +/* 147 */ /*!****************************************!*\ !*** ./src/data/gangmemberupgrades.ts ***! \****************************************/ @@ -54848,7 +56059,7 @@ exports.gangMemberUpgradesMetadata = [ /***/ }), -/* 135 */ +/* 148 */ /*!*************************************!*\ !*** ./src/data/gangmembertasks.ts ***! \*************************************/ @@ -55113,7 +56324,7 @@ exports.gangMemberTasksMetadata = [ /***/ }), -/* 136 */ +/* 149 */ /*!***************************************!*\ !*** ./utils/FactionInvitationBox.js ***! \***************************************/ @@ -55123,12 +56334,12 @@ exports.gangMemberTasksMetadata = [ "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return factionInvitationBoxCreate; }); -/* harmony import */ var _src_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/Faction/FactionHelpers */ 46); -/* harmony import */ var _src_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../src/engine */ 9); +/* harmony import */ var _src_Faction_FactionHelpers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/Faction/FactionHelpers */ 49); +/* harmony import */ var _src_engine__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../src/engine */ 11); /* harmony import */ var _src_Player__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../src/Player */ 0); -/* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./uiHelpers/clearEventListeners */ 16); +/* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./uiHelpers/clearEventListeners */ 22); /* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _src_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../src/ui/navigationTracking */ 12); +/* harmony import */ var _src_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../src/ui/navigationTracking */ 14); /* harmony import */ var _src_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_src_ui_navigationTracking__WEBPACK_IMPORTED_MODULE_4__); @@ -55197,7 +56408,7 @@ function factionInvitationBoxCreate(faction) { /***/ }), -/* 137 */ +/* 150 */ /*!*****************************!*\ !*** ./src/data/servers.ts ***! \*****************************/ @@ -56670,7 +57881,7 @@ exports.serverMetadata = [ /***/ }), -/* 138 */ +/* 151 */ /*!**********************************!*\ !*** ./utils/InfiltrationBox.js ***! \**********************************/ @@ -56680,20 +57891,21 @@ exports.serverMetadata = [ "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return infiltrationBoxCreate; }); -/* harmony import */ var _src_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../src/BitNodeMultipliers */ 10); -/* harmony import */ var _src_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_src_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _src_Constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../src/Constants */ 1); -/* harmony import */ var _src_Constants__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_src_Constants__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _src_Faction_Faction__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../src/Faction/Faction */ 57); -/* harmony import */ var _src_Faction_Faction__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_src_Faction_Faction__WEBPACK_IMPORTED_MODULE_2__); -/* harmony import */ var _src_Faction_Factions__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../src/Faction/Factions */ 14); -/* harmony import */ var _src_Faction_Factions__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_src_Faction_Factions__WEBPACK_IMPORTED_MODULE_3__); -/* harmony import */ var _src_Player__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../src/Player */ 0); -/* harmony import */ var _DialogBox__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./DialogBox */ 8); -/* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./uiHelpers/clearEventListeners */ 16); -/* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./StringHelperFunctions */ 3); -/* harmony import */ var _StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__); +/* harmony import */ var _DialogBox__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./DialogBox */ 9); +/* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./uiHelpers/clearEventListeners */ 22); +/* harmony import */ var _uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_1__); +/* harmony import */ var _StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./StringHelperFunctions */ 3); +/* harmony import */ var _StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__); +/* harmony import */ var _src_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../src/BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _src_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_src_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__); +/* harmony import */ var _src_Constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../src/Constants */ 1); +/* harmony import */ var _src_Constants__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_src_Constants__WEBPACK_IMPORTED_MODULE_4__); +/* harmony import */ var _src_Faction_Faction__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../src/Faction/Faction */ 58); +/* harmony import */ var _src_Faction_Faction__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_src_Faction_Faction__WEBPACK_IMPORTED_MODULE_5__); +/* harmony import */ var _src_Faction_Factions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../src/Faction/Factions */ 16); +/* harmony import */ var _src_Faction_Factions__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_src_Faction_Factions__WEBPACK_IMPORTED_MODULE_6__); +/* harmony import */ var _src_Player__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../src/Player */ 0); + @@ -56726,46 +57938,46 @@ function infiltrationSetText(txt) { function infiltrationBoxCreate(inst) { //Gain exp var expMultiplier = 2 * inst.clearanceLevel / inst.maxClearanceLevel; - _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gainHackingExp(inst.hackingExpGained * expMultiplier); - _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gainStrengthExp(inst.strExpGained * expMultiplier); - _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gainDefenseExp(inst.defExpGained * expMultiplier); - _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gainDexterityExp(inst.dexExpGained * expMultiplier); - _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gainAgilityExp(inst.agiExpGained * expMultiplier); - _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gainCharismaExp(inst.chaExpGained * expMultiplier); - _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gainIntelligenceExp(inst.intExpGained * expMultiplier); + _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].gainHackingExp(inst.hackingExpGained * expMultiplier); + _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].gainStrengthExp(inst.strExpGained * expMultiplier); + _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].gainDefenseExp(inst.defExpGained * expMultiplier); + _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].gainDexterityExp(inst.dexExpGained * expMultiplier); + _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].gainAgilityExp(inst.agiExpGained * expMultiplier); + _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].gainCharismaExp(inst.chaExpGained * expMultiplier); + _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].gainIntelligenceExp(inst.intExpGained * expMultiplier); const expGainText = ["You gained:", - `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(inst.hackingExpGained * expMultiplier, 3)} hacking exp`, - `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(inst.strExpGained * expMultiplier, 3)} str exp`, - `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(inst.defExpGained * expMultiplier, 3)} def exp`, - `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(inst.dexExpGained * expMultiplier, 3)} dex exp`, - `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(inst.agiExpGained * expMultiplier, 3)} agi exp`, - `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(inst.chaExpGained * expMultiplier, 3)} cha exp`].join("\n"); + `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(inst.hackingExpGained * expMultiplier, 3)} hacking exp`, + `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(inst.strExpGained * expMultiplier, 3)} str exp`, + `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(inst.defExpGained * expMultiplier, 3)} def exp`, + `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(inst.dexExpGained * expMultiplier, 3)} dex exp`, + `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(inst.agiExpGained * expMultiplier, 3)} agi exp`, + `${Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(inst.chaExpGained * expMultiplier, 3)} cha exp`].join("\n"); var totalValue = 0; for (var i = 0; i < inst.secretsStolen.length; ++i) { totalValue += inst.secretsStolen[i]; } if (totalValue == 0) { - Object(_DialogBox__WEBPACK_IMPORTED_MODULE_5__["dialogBoxCreate"])("You successfully escaped the facility but you did not steal " + + Object(_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("You successfully escaped the facility but you did not steal " + "anything of worth when infiltrating.

" + expGainText); return; } - var facValue = totalValue * _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].faction_rep_mult * - _src_Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].InfiltrationRepValue * _src_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationRep; - var moneyValue = totalValue * _src_Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].InfiltrationMoneyValue * _src_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationMoney; + var facValue = totalValue * _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].faction_rep_mult * + _src_Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].InfiltrationRepValue * _src_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__["BitNodeMultipliers"].InfiltrationRep; + var moneyValue = totalValue * _src_Constants__WEBPACK_IMPORTED_MODULE_4__["CONSTANTS"].InfiltrationMoneyValue * _src_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_3__["BitNodeMultipliers"].InfiltrationMoney; infiltrationSetText("You can sell the classified documents and secrets " + "you stole from " + inst.companyName + " for $" + - Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(moneyValue, 2) + " on the black market or you can give it " + - "to a faction to gain " + Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(facValue, 3) + " reputation with " + + Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(moneyValue, 2) + "
on the black market or you can give it " + + "to a faction to gain " + Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(facValue, 3) + " reputation with " + "that faction."); var selector = document.getElementById("infiltration-faction-select"); selector.innerHTML = ""; - for (let i = 0; i < _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].factions.length; ++i) { - if (_src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].factions[i] === "Bladeburners") { continue; } - if (_src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].inGang() && _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gang.facName === _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].factions[i]) { continue; } - selector.innerHTML += ""; + for (let i = 0; i < _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].factions.length; ++i) { + if (_src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].factions[i] === "Bladeburners") { continue; } + if (_src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].inGang() && _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].gang.facName === _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].factions[i]) { continue; } + selector.innerHTML += ""; } //Set initial value, if applicable @@ -56778,33 +57990,33 @@ function infiltrationBoxCreate(inst) { } } - var sellButton = Object(_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__["clearEventListeners"])("infiltration-box-sell"); + var sellButton = Object(_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_1__["clearEventListeners"])("infiltration-box-sell"); setTimeout(function() { sellButton.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} - _src_Player__WEBPACK_IMPORTED_MODULE_4__[/* Player */ "a"].gainMoney(moneyValue); - Object(_DialogBox__WEBPACK_IMPORTED_MODULE_5__["dialogBoxCreate"])("You sold the classified information you stole from " + inst.companyName + - " for $" + Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(moneyValue, 2) + " on the black market!

" + + _src_Player__WEBPACK_IMPORTED_MODULE_7__[/* Player */ "a"].gainMoney(moneyValue); + Object(_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("You sold the classified information you stole from " + inst.companyName + + " for $" + Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(moneyValue, 2) + " on the black market!

" + expGainText); infiltrationBoxClose(); return false; }); }, 750); - var factionButton = Object(_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_6__["clearEventListeners"])("infiltration-box-faction"); + var factionButton = Object(_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_1__["clearEventListeners"])("infiltration-box-faction"); setTimeout(function() { factionButton.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} var facName = selector.options[selector.selectedIndex].value; lastFac = facName; - var faction = _src_Faction_Factions__WEBPACK_IMPORTED_MODULE_3__["Factions"][facName]; + var faction = _src_Faction_Factions__WEBPACK_IMPORTED_MODULE_6__["Factions"][facName]; if (faction == null) { - Object(_DialogBox__WEBPACK_IMPORTED_MODULE_5__["dialogBoxCreate"])("Error finding faction. This is a bug please report to developer"); + Object(_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("Error finding faction. This is a bug please report to developer"); return false; } faction.playerReputation += facValue; - Object(_DialogBox__WEBPACK_IMPORTED_MODULE_5__["dialogBoxCreate"])("You gave the classified information you stole from " + inst.companyName + - " to " + facName + " and gained " + Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_7__["formatNumber"])(facValue, 3) + " reputation with the faction.

" + + Object(_DialogBox__WEBPACK_IMPORTED_MODULE_0__["dialogBoxCreate"])("You gave the classified information you stole from " + inst.companyName + + " to " + facName + " and gained " + Object(_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_2__["formatNumber"])(facValue, 3) + " reputation with the faction.

" + expGainText); infiltrationBoxClose(); return false; @@ -56817,7 +58029,7 @@ function infiltrationBoxCreate(inst) { /***/ }), -/* 139 */ +/* 152 */ /*!*****************************!*\ !*** ./src/Infiltration.js ***! \*****************************/ @@ -56827,18 +58039,18 @@ function infiltrationBoxCreate(inst) { "use strict"; /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "a", function() { return beginInfiltration; }); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNodeMultipliers */ 10); -/* harmony import */ var _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./BitNode/BitNodeMultipliers */ 10); +/* harmony import */ var _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Constants */ 1); /* harmony import */ var _Constants__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_Constants__WEBPACK_IMPORTED_MODULE_1__); -/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine */ 9); +/* harmony import */ var _engine__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./engine */ 11); /* harmony import */ var _Player__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./Player */ 0); -/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/DialogBox */ 8); -/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 16); +/* harmony import */ var _utils_DialogBox__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/DialogBox */ 9); +/* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/uiHelpers/clearEventListeners */ 22); /* harmony import */ var _utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_utils_uiHelpers_clearEventListeners__WEBPACK_IMPORTED_MODULE_5__); -/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 15); +/* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/helpers/getRandomInt */ 17); /* harmony import */ var _utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_utils_helpers_getRandomInt__WEBPACK_IMPORTED_MODULE_6__); -/* harmony import */ var _utils_InfiltrationBox__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/InfiltrationBox */ 138); +/* harmony import */ var _utils_InfiltrationBox__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/InfiltrationBox */ 151); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/StringHelperFunctions */ 3); /* harmony import */ var _utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_utils_StringHelperFunctions__WEBPACK_IMPORTED_MODULE_8__); @@ -57267,9 +58479,9 @@ function endInfiltrationLevel(inst) { if (inst.clearanceLevel % 5 == 0) { var baseSecretValue = inst.baseValue * inst.clearanceLevel / 2; var secretValue = baseSecretValue * _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].faction_rep_mult * - _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].InfiltrationRepValue * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationRep; + _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].InfiltrationRepValue * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationRep; var secretMoneyValue = baseSecretValue * _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].InfiltrationMoneyValue * - _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationMoney; + _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationMoney; inst.secretsStolen.push(baseSecretValue); Object(_utils_DialogBox__WEBPACK_IMPORTED_MODULE_4__["dialogBoxCreate"])("You found and stole a set of classified documents from the company. " + "These classified secrets could probably be sold for money ($" + @@ -57305,9 +58517,9 @@ function updateInfiltrationLevelText(inst) { var totalMoneyValue = 0; for (var i = 0; i < inst.secretsStolen.length; ++i) { totalValue += (inst.secretsStolen[i] * _Player__WEBPACK_IMPORTED_MODULE_3__[/* Player */ "a"].faction_rep_mult * - _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].InfiltrationRepValue * _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationRep); + _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].InfiltrationRepValue * _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationRep); totalMoneyValue += inst.secretsStolen[i] * _Constants__WEBPACK_IMPORTED_MODULE_1__["CONSTANTS"].InfiltrationMoneyValue * - _BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationMoney; + _BitNode_BitNodeMultipliers__WEBPACK_IMPORTED_MODULE_0__["BitNodeMultipliers"].InfiltrationMoney; } var expMultiplier = 2 * inst.clearanceLevel / inst.maxClearanceLevel; @@ -57686,7 +58898,7 @@ function getInfiltrationEscapeChance(inst) { /***/ }), -/* 140 */ +/* 153 */ /*!******************************************!*\ !*** ./utils/uiHelpers/clearSelector.ts ***! \******************************************/ @@ -57710,22 +58922,22 @@ exports.clearSelector = clearSelector; /***/ }), -/* 141 */, -/* 142 */, -/* 143 */, -/* 144 */, -/* 145 */, -/* 146 */, -/* 147 */, -/* 148 */, -/* 149 */, -/* 150 */, -/* 151 */, -/* 152 */, -/* 153 */, /* 154 */, /* 155 */, -/* 156 */ +/* 156 */, +/* 157 */, +/* 158 */, +/* 159 */, +/* 160 */, +/* 161 */, +/* 162 */, +/* 163 */, +/* 164 */, +/* 165 */, +/* 166 */, +/* 167 */, +/* 168 */, +/* 169 */ /*!************************!*\ !*** ./css/treant.css ***! \************************/ @@ -57735,8 +58947,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 157 */, -/* 158 */ +/* 170 */, +/* 171 */ /*!***********************!*\ !*** ./css/gang.scss ***! \***********************/ @@ -57746,8 +58958,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 159 */, -/* 160 */ +/* 172 */, +/* 173 */ /*!******************************!*\ !*** ./css/bladeburner.scss ***! \******************************/ @@ -57757,8 +58969,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 161 */, -/* 162 */ +/* 174 */, +/* 175 */ /*!************************************!*\ !*** ./css/companymanagement.scss ***! \************************************/ @@ -57768,8 +58980,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 163 */, -/* 164 */ +/* 176 */, +/* 177 */ /*!***************************!*\ !*** ./css/missions.scss ***! \***************************/ @@ -57779,8 +58991,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 165 */, -/* 166 */ +/* 178 */, +/* 179 */ /*!*************************!*\ !*** ./css/loader.scss ***! \*************************/ @@ -57790,8 +59002,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 167 */, -/* 168 */ +/* 180 */, +/* 181 */ /*!**************************************!*\ !*** ./css/interactivetutorial.scss ***! \**************************************/ @@ -57801,8 +59013,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 169 */, -/* 170 */ +/* 182 */, +/* 183 */ /*!******************************!*\ !*** ./css/gameoptions.scss ***! \******************************/ @@ -57812,8 +59024,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 171 */, -/* 172 */ +/* 184 */, +/* 185 */ /*!*****************************!*\ !*** ./css/popupboxes.scss ***! \*****************************/ @@ -57823,8 +59035,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 173 */, -/* 174 */ +/* 186 */, +/* 187 */ /*!*********************************!*\ !*** ./css/workinprogress.scss ***! \*********************************/ @@ -57834,8 +59046,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 175 */, -/* 176 */ +/* 188 */, +/* 189 */ /*!******************************!*\ !*** ./css/stockmarket.scss ***! \******************************/ @@ -57845,8 +59057,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 177 */, -/* 178 */ +/* 190 */, +/* 191 */ /*!****************************!*\ !*** ./css/menupages.scss ***! \****************************/ @@ -57856,8 +59068,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 179 */, -/* 180 */ +/* 192 */, +/* 193 */ /*!***************************!*\ !*** ./css/terminal.scss ***! \***************************/ @@ -57867,8 +59079,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 181 */, -/* 182 */ +/* 194 */, +/* 195 */ /*!************************************!*\ !*** ./css/characteroverview.scss ***! \************************************/ @@ -57878,8 +59090,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 183 */, -/* 184 */ +/* 196 */, +/* 197 */ /*!***************************!*\ !*** ./css/mainmenu.scss ***! \***************************/ @@ -57889,8 +59101,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 185 */, -/* 186 */ +/* 198 */, +/* 199 */ /*!**************************!*\ !*** ./css/buttons.scss ***! \**************************/ @@ -57900,8 +59112,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 187 */, -/* 188 */ +/* 200 */, +/* 201 */ /*!***************************!*\ !*** ./css/tooltips.scss ***! \***************************/ @@ -57911,8 +59123,8 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 189 */, -/* 190 */ +/* 202 */, +/* 203 */ /*!*************************!*\ !*** ./css/styles.scss ***! \*************************/ @@ -57922,15 +59134,272 @@ exports.clearSelector = clearSelector; // extracted by mini-css-extract-plugin /***/ }), -/* 191 */, -/* 192 */, -/* 193 */, -/* 194 */, -/* 195 */, -/* 196 */, -/* 197 */, -/* 198 */, -/* 199 */ +/* 204 */ +/*!******************************************!*\ + !*** ./utils/uiHelpers/getSelectData.ts ***! + \******************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +function getSelectValue(selector) { + if (selector == null) { + return ""; + } + return selector[selector.selectedIndex].value; +} +exports.getSelectValue = getSelectValue; +function getSelectText(selector) { + if (selector == null) { + return ""; + } + return selector[selector.selectedIndex].text; +} +exports.getSelectText = getSelectText; + + +/***/ }), +/* 205 */ +/*!************************************************!*\ + !*** ./utils/uiHelpers/createOptionElement.ts ***! + \************************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const createElement_1 = __webpack_require__(/*! ./createElement */ 2); +function createOptionElement(text, value = "") { + let sanitizedValue = value; + if (sanitizedValue === "") { + sanitizedValue = text; + } + return createElement_1.createElement("option", { + text: text, + value: sanitizedValue, + }); +} +exports.createOptionElement = createOptionElement; + + +/***/ }), +/* 206 */ +/*!**************************************************!*\ + !*** ./src/PersonObjects/Resleeving/Resleeve.ts ***! + \**************************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Implements the Resleeve class, which defines a new body + * that the player can "re-sleeve" into. + */ +const Person_1 = __webpack_require__(/*! ../Person */ 134); +const Augmentations_1 = __webpack_require__(/*! ../../Augmentation/Augmentations */ 13); +const JSONReviver_1 = __webpack_require__(/*! ../../../utils/JSONReviver */ 15); +class Resleeve extends Person_1.Person { + /** + * Initiatizes a Resleeve object from a JSON save state. + */ + static fromJSON(value) { + return JSONReviver_1.Generic_fromJSON(Resleeve, value.data); + } + constructor() { + super(); + } + getCost() { + // Each experience point adds this to the cost + const CostPerExp = 5; + // Final cost is multiplied by # Augs ^ this constant + const NumAugsExponent = 1.05; + // Get total exp in this re-sleeve + let totalExp = this.hacking_exp + + this.strength_exp + + this.defense_exp + + this.dexterity_exp + + this.agility_exp + + this.charisma_exp; + // Get total base Augmentation cost for this re-sleeve + let totalAugmentationCost = 0; + for (let i = 0; i < this.augmentations.length; ++i) { + const aug = Augmentations_1.Augmentations[this.augmentations[i].name]; + if (aug == null) { + console.error(`Could not find Augmentation ${this.augmentations[i].name}`); + continue; + } + totalAugmentationCost += aug.baseCost; + } + return (totalExp * CostPerExp) + (totalAugmentationCost * Math.pow(this.augmentations.length, NumAugsExponent)); + } + /** + * Serialize the current object to a JSON save state. + */ + toJSON() { + return JSONReviver_1.Generic_toJSON("Resleeve", this); + } +} +exports.Resleeve = Resleeve; +JSONReviver_1.Reviver.constructors.Resleeve = Resleeve; + + +/***/ }), +/* 207 */ +/*!****************************************************!*\ + !*** ./src/PersonObjects/Resleeving/Resleeving.ts ***! + \****************************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Implements the Re-sleeving mechanic for BitNode-10. + * This allows the player to purchase and "use" new sleeves at VitaLife. + * These new sleeves come with different starting experience and Augmentations + * The cost of these new sleeves scales based on the exp and Augs. + * + * Note that this is different from the "Sleeve mechanic". The "Sleeve" mechanic + * provides new sleeves, essentially clones. This Re-sleeving mechanic lets + * the player purchase a new body with pre-existing Augmentations and experience + * + * As of right now, this feature is only available in BitNode 10 + */ +const Resleeve_1 = __webpack_require__(/*! ./Resleeve */ 206); +const Augmentations_1 = __webpack_require__(/*! ../../Augmentation/Augmentations */ 13); +const PlayerOwnedAugmentation_1 = __webpack_require__(/*! ../../Augmentation/PlayerOwnedAugmentation */ 98); +const AugmentationNames_1 = __webpack_require__(/*! ../../Augmentation/data/AugmentationNames */ 6); +const getRandomInt_1 = __webpack_require__(/*! ../../../utils/helpers/getRandomInt */ 17); +// Executes the actual re-sleeve when one is purchased +function purchaseResleeve(r, p) { + // Set the player's exp + p.hacking_exp = r.hacking_exp; + p.strength_exp = r.strength_exp; + p.defense_exp = r.defense_exp; + p.dexterity_exp = r.dexterity_exp; + p.agility_exp = r.agility_exp; + p.charisma_exp = r.charisma_exp; + // Clear all of the player's augmentations, except the NeuroFlux Governor + // which is kept + for (let i = p.augmentations.length - 1; i >= 0; --i) { + if (p.augmentations[i].name !== AugmentationNames_1.AugmentationNames.NeuroFluxGovernor) { + p.augmentations.splice(i, 1); + } + } + for (let i = 0; i < r.augmentations.length; ++i) { + p.augmentations.push(new PlayerOwnedAugmentation_1.PlayerOwnedAugmentation(r.augmentations[i].name)); + } + // The player's purchased Augmentations should remain the same, but any purchased + // Augmentations that are given by the resleeve should be removed so there are no duplicates + for (let i = p.queuedAugmentations.length - 1; i >= 0; --i) { + const name = p.queuedAugmentations[i].name; + if (p.augmentations.filter((e) => { e.name !== AugmentationNames_1.AugmentationNames.NeuroFluxGovernor && e.name === name; }).length >= 1) { + p.queuedAugmentations.splice(i, 1); + } + } + p.reapplyAllAugmentations(true); +} +exports.purchaseResleeve = purchaseResleeve; +// Creates all of the Re-sleeves that will be available for purchase at VitaLife +function generateResleeves() { + const NumResleeves = 40; // Total number of Resleeves to generate + let ret = []; + for (let i = 0; i < NumResleeves; ++i) { + // i will be a number indicating how "powerful" the Re-sleeve should be + let r = new Resleeve_1.Resleeve(); + // Generate experience + const expMult = i + 1; + r.hacking_exp = expMult * getRandomInt_1.getRandomInt(500, 1500); + r.strength_exp = expMult * getRandomInt_1.getRandomInt(500, 1500); + r.defense_exp = expMult * getRandomInt_1.getRandomInt(500, 1500); + r.dexterity_exp = expMult * getRandomInt_1.getRandomInt(500, 1500); + r.agility_exp = expMult * getRandomInt_1.getRandomInt(500, 1500); + r.charisma_exp = expMult * getRandomInt_1.getRandomInt(500, 1500); + // Generate Augs + const baseNumAugs = Math.ceil((i + 1) / 2); + const numAugs = getRandomInt_1.getRandomInt(baseNumAugs, baseNumAugs + 2); + for (let a = 0; a < numAugs; ++a) { + // We'll ignore Aug prerequisites for this + const augKeys = Object.keys(Augmentations_1.Augmentations); + const randKey = augKeys[getRandomInt_1.getRandomInt(0, augKeys.length - 1)]; + const randAug = Augmentations_1.Augmentations[randKey]; + r.augmentations.push({ name: randAug.name, level: 1 }); + } + ret.push(r); + } + return ret; +} +exports.generateResleeves = generateResleeves; + + +/***/ }), +/* 208 */ +/*!********************************************!*\ + !*** ./src/Faction/FactionWorkTypeEnum.ts ***! + \********************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var FactionWorkType; +(function (FactionWorkType) { + FactionWorkType[FactionWorkType["Field"] = 0] = "Field"; + FactionWorkType[FactionWorkType["Hacking"] = 1] = "Hacking"; + FactionWorkType[FactionWorkType["None"] = 2] = "None"; + FactionWorkType[FactionWorkType["Security"] = 3] = "Security"; +})(FactionWorkType = exports.FactionWorkType || (exports.FactionWorkType = {})); + + +/***/ }), +/* 209 */ +/*!*********************************************************!*\ + !*** ./src/PersonObjects/Sleeve/SleeveTaskTypesEnum.ts ***! + \*********************************************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Enum for different types of tasks that a Sleeve can perform + */ +var SleeveTaskType; +(function (SleeveTaskType) { + SleeveTaskType[SleeveTaskType["Class"] = 0] = "Class"; + SleeveTaskType[SleeveTaskType["Company"] = 1] = "Company"; + SleeveTaskType[SleeveTaskType["Crime"] = 2] = "Crime"; + SleeveTaskType[SleeveTaskType["Faction"] = 3] = "Faction"; + SleeveTaskType[SleeveTaskType["Idle"] = 4] = "Idle"; + SleeveTaskType[SleeveTaskType["Recovery"] = 5] = "Recovery"; + SleeveTaskType[SleeveTaskType["Sync"] = 6] = "Sync"; +})(SleeveTaskType = exports.SleeveTaskType || (exports.SleeveTaskType = {})); + + +/***/ }), +/* 210 */, +/* 211 */, +/* 212 */, +/* 213 */, +/* 214 */, +/* 215 */, +/* 216 */, +/* 217 */, +/* 218 */ /*!************************************!*\ !*** ./src/DarkWeb/DarkWebItem.ts ***! \************************************/ @@ -57957,7 +59426,7 @@ exports.DarkWebItem = DarkWebItem; /***/ }), -/* 200 */ +/* 219 */ /*!***********************************************!*\ !*** ./src/Programs/data/programsMetadata.ts ***! \***********************************************/ @@ -58099,7 +59568,7 @@ exports.programsMetadata = [ /***/ }), -/* 201 */ +/* 220 */ /*!*********************************!*\ !*** ./src/Programs/Program.ts ***! \*********************************/ @@ -58125,7 +59594,7 @@ exports.Program = Program; /***/ }), -/* 202 */ +/* 221 */ /*!**********************!*\ !*** ./netscript.js ***! \**********************/ @@ -58971,7 +60440,7 @@ oop.inherits(Mode, TextMode); }; this.createWorker = function(session) { - var worker = new WorkerClient(["ace"], __webpack_require__(/*! brace/worker/javascript */ 203), "JavaScriptWorker"); + var worker = new WorkerClient(["ace"], __webpack_require__(/*! brace/worker/javascript */ 222), "JavaScriptWorker"); worker.attachToDocument(session.getDocument()); worker.on("annotate", function(results) { @@ -58993,11 +60462,11 @@ exports.Mode = Mode; /***/ }), -/* 203 */, -/* 204 */, -/* 205 */, -/* 206 */, -/* 207 */ +/* 222 */, +/* 223 */, +/* 224 */, +/* 225 */, +/* 226 */ /*!*****************************************!*\ !*** ./src/data/codingcontracttypes.ts ***! \*****************************************/ @@ -59008,7 +60477,7 @@ exports.Mode = Mode; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const getRandomInt_1 = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 15); +const getRandomInt_1 = __webpack_require__(/*! ../../utils/helpers/getRandomInt */ 17); /* Helper functions for Coding Contract implementations */ function removeBracketsFromArrayString(str) { let strCpy = str; @@ -59478,33 +60947,7 @@ exports.codingContractTypesMetadata = [ /***/ }), -/* 208 */ -/*!*********************************!*\ - !*** ./src/Locations/Cities.ts ***! - \*********************************/ -/*! no static exports found */ -/*! all exports used */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Display Location Content when visiting somewhere in the World - */ -// tslint:disable-next-line:variable-name -exports.Cities = { - Aevum: "Aevum", - Chongqing: "Chongqing", - Ishima: "Ishima", - NewTokyo: "New Tokyo", - Sector12: "Sector-12", - Volhaven: "Volhaven", -}; - - -/***/ }), -/* 209 */ +/* 227 */ /*!*************************************************!*\ !*** ./src/Corporation/ProductRatingWeights.ts ***! \*************************************************/ @@ -59515,7 +60958,7 @@ exports.Cities = { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const IndustryData_1 = __webpack_require__(/*! ./IndustryData */ 23); +const IndustryData_1 = __webpack_require__(/*! ./IndustryData */ 25); exports.ProductRatingWeights = { [IndustryData_1.Industries.Food]: { Quality: 0.7, @@ -59584,7 +61027,7 @@ exports.ProductRatingWeights = { /***/ }), -/* 210 */ +/* 228 */ /*!*****************************************!*\ !*** ./src/Corporation/ResearchTree.ts ***! \*****************************************/ @@ -59595,7 +61038,7 @@ exports.ProductRatingWeights = { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const ResearchMap_1 = __webpack_require__(/*! ./ResearchMap */ 99); +const ResearchMap_1 = __webpack_require__(/*! ./ResearchMap */ 106); class Node { constructor(p = { cost: 0, text: "" }) { // All child Nodes in the tree @@ -59826,7 +61269,7 @@ exports.ResearchTree = ResearchTree; /***/ }), -/* 211 */ +/* 229 */ /*!**************************************************!*\ !*** ./src/Corporation/data/ResearchMetadata.ts ***! \**************************************************/ @@ -59959,7 +61402,7 @@ exports.researchMetadata = [ /***/ }), -/* 212 */ +/* 230 */ /*!*************************************!*\ !*** ./src/Corporation/Research.ts ***! \*************************************/ @@ -60024,7 +61467,7 @@ exports.Research = Research; /***/ }), -/* 213 */ +/* 231 */ /*!**************************************************!*\ !*** ./src/Corporation/data/BaseResearchTree.ts ***! \**************************************************/ @@ -60035,8 +61478,8 @@ exports.Research = Research; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const ResearchMap_1 = __webpack_require__(/*! ../ResearchMap */ 99); -const ResearchTree_1 = __webpack_require__(/*! ../ResearchTree */ 210); +const ResearchMap_1 = __webpack_require__(/*! ../ResearchMap */ 106); +const ResearchTree_1 = __webpack_require__(/*! ../ResearchTree */ 228); function makeNode(name) { const research = ResearchMap_1.ResearchMap[name]; if (research == null) { @@ -60082,7 +61525,7 @@ exports.getBaseResearchTreeCopy = getBaseResearchTreeCopy; /***/ }), -/* 214 */ +/* 232 */ /*!***********************************************!*\ !*** ./src/Company/data/CompaniesMetadata.ts ***! \***********************************************/ @@ -60094,7 +61537,7 @@ exports.getBaseResearchTreeCopy = getBaseResearchTreeCopy; Object.defineProperty(exports, "__esModule", { value: true }); const Locations_1 = __webpack_require__(/*! ../../Locations */ 5); -const posNames = __webpack_require__(/*! ./CompanyPositionNames */ 37); +const posNames = __webpack_require__(/*! ./CompanyPositionNames */ 41); // Create Objects containing Company Positions by category // Will help in metadata construction later const AllSoftwarePositions = {}; @@ -60474,7 +61917,7 @@ exports.companiesMetadata = [ /***/ }), -/* 215 */ +/* 233 */ /*!******************************************************!*\ !*** ./src/Company/data/CompanyPositionsMetadata.ts ***! \******************************************************/ @@ -60485,7 +61928,7 @@ exports.companiesMetadata = [ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -const posNames = __webpack_require__(/*! ./CompanyPositionNames */ 37); +const posNames = __webpack_require__(/*! ./CompanyPositionNames */ 41); exports.companyPositionMetadata = [ { name: posNames.SoftwareCompanyPositions[0], @@ -61087,25 +62530,95 @@ exports.companyPositionMetadata = [ /***/ }), -/* 216 */, -/* 217 */, -/* 218 */, -/* 219 */, -/* 220 */, -/* 221 */, -/* 222 */, -/* 223 */, -/* 224 */, -/* 225 */, -/* 226 */, -/* 227 */, -/* 228 */, -/* 229 */, -/* 230 */, -/* 231 */, -/* 232 */, -/* 233 */, -/* 234 */, +/* 234 */ +/*!****************************!*\ + !*** ./src/Crime/Crime.ts ***! + \****************************/ +/*! no static exports found */ +/*! all exports used */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +const Constants_1 = __webpack_require__(/*! ../Constants */ 1); +class Crime { + constructor(name = "", type = "", time = 0, money = 0, difficulty = 0, karma = 0, params = {}) { + // Number representing the difficulty of the crime. Used for success chance calculations + this.difficulty = 0; + // Amount of karma lost for SUCCESSFULLY committing this crime + this.karma = 0; + // How many people die as a result of this crime + this.kills = 0; + // How much money is given by the + this.money = 0; + // Name of crime + this.name = ""; + // Milliseconds it takes to attempt the crime + this.time = 0; + // Corresponding type in CONSTANTS. Contains a description for the crime activity + this.type = ""; + // Weighting factors that determine how stats affect the success rate of this crime + this.hacking_success_weight = 0; + this.strength_success_weight = 0; + this.defense_success_weight = 0; + this.dexterity_success_weight = 0; + this.agility_success_weight = 0; + this.charisma_success_weight = 0; + // How much stat experience is granted by this crime + this.hacking_exp = 0; + this.strength_exp = 0; + this.defense_exp = 0; + this.dexterity_exp = 0; + this.agility_exp = 0; + this.charisma_exp = 0; + this.intelligence_exp = 0; + this.name = name; + this.type = type; + this.time = time; + this.money = money; + this.difficulty = difficulty; + this.karma = karma; + this.hacking_success_weight = params.hacking_success_weight ? params.hacking_success_weight : 0; + this.strength_success_weight = params.strength_success_weight ? params.strength_success_weight : 0; + this.defense_success_weight = params.defense_success_weight ? params.defense_success_weight : 0; + this.dexterity_success_weight = params.dexterity_success_weight ? params.dexterity_success_weight : 0; + this.agility_success_weight = params.agility_success_weight ? params.agility_success_weight : 0; + this.charisma_success_weight = params.charisma_success_weight ? params.charisma_success_weight : 0; + this.hacking_exp = params.hacking_exp ? params.hacking_exp : 0; + this.strength_exp = params.strength_exp ? params.strength_exp : 0; + this.defense_exp = params.defense_exp ? params.defense_exp : 0; + this.dexterity_exp = params.dexterity_exp ? params.dexterity_exp : 0; + this.agility_exp = params.agility_exp ? params.agility_exp : 0; + this.charisma_exp = params.charisma_exp ? params.charisma_exp : 0; + this.intelligence_exp = params.intelligence_exp ? params.intelligence_exp : 0; + this.kills = params.kills ? params.kills : 0; + } + commit(p, div = 1, singParams = null) { + if (div <= 0) { + div = 1; + } + p.startCrime(this.type, this.hacking_exp / div, this.strength_exp / div, this.defense_exp / div, this.dexterity_exp / div, this.agility_exp / div, this.charisma_exp / div, this.money / div, this.time, singParams); + return this.time; + } + successRate(p) { + let chance = (this.hacking_success_weight * p.hacking_skill + + this.strength_success_weight * p.strength + + this.defense_success_weight * p.defense + + this.dexterity_success_weight * p.dexterity + + this.agility_success_weight * p.agility + + this.charisma_success_weight * p.charisma + + Constants_1.CONSTANTS.IntelligenceCrimeWeight * p.intelligence); + chance /= Constants_1.CONSTANTS.MaxSkillLevel; + chance /= this.difficulty; + chance *= p.crime_success_mult; + return Math.min(chance, 1); + } +} +exports.Crime = Crime; + + +/***/ }), /* 235 */, /* 236 */, /* 237 */, @@ -61123,7 +62636,26 @@ exports.companyPositionMetadata = [ /* 249 */, /* 250 */, /* 251 */, -/* 252 */ +/* 252 */, +/* 253 */, +/* 254 */, +/* 255 */, +/* 256 */, +/* 257 */, +/* 258 */, +/* 259 */, +/* 260 */, +/* 261 */, +/* 262 */, +/* 263 */, +/* 264 */, +/* 265 */, +/* 266 */, +/* 267 */, +/* 268 */, +/* 269 */, +/* 270 */, +/* 271 */ /*!**********************!*\ !*** util (ignored) ***! \**********************/ @@ -61134,7 +62666,7 @@ exports.companyPositionMetadata = [ /* (ignored) */ /***/ }), -/* 253 */ +/* 272 */ /*!**********************!*\ !*** util (ignored) ***! \**********************/ diff --git a/dist/vendor.bundle.js b/dist/vendor.bundle.js index 313dcff8a..0fd6123c1 100644 --- a/dist/vendor.bundle.js +++ b/dist/vendor.bundle.js @@ -1,5 +1,5 @@ -(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[0],Array(35).concat([ -/* 35 */ +(window["webpackJsonp"] = window["webpackJsonp"] || []).push([[0],Array(39).concat([ +/* 39 */ /*!************************************************!*\ !*** ./node_modules/decimal.js/decimal.es6.js ***! \************************************************/ @@ -4793,10 +4793,6 @@ PI = new Decimal(pi); /***/ }), -/* 36 */, -/* 37 */, -/* 38 */, -/* 39 */, /* 40 */, /* 41 */, /* 42 */, @@ -4821,7 +4817,11 @@ PI = new Decimal(pi); /* 61 */, /* 62 */, /* 63 */, -/* 64 */ +/* 64 */, +/* 65 */, +/* 66 */, +/* 67 */, +/* 68 */ /*!********************************************!*\ !*** ./node_modules/jquery/dist/jquery.js ***! \********************************************/ @@ -15197,11 +15197,12 @@ return jQuery; /***/ }), -/* 65 */, -/* 66 */, -/* 67 */, -/* 68 */, -/* 69 */ +/* 69 */, +/* 70 */, +/* 71 */, +/* 72 */, +/* 73 */, +/* 74 */ /*!*****************************************!*\ !*** ./node_modules/jszip/lib/utils.js ***! \*****************************************/ @@ -15212,11 +15213,11 @@ return jQuery; "use strict"; -var support = __webpack_require__(/*! ./support */ 109); -var base64 = __webpack_require__(/*! ./base64 */ 248); -var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 146); -var setImmediate = __webpack_require__(/*! core-js/library/fn/set-immediate */ 365); -var external = __webpack_require__(/*! ./external */ 126); +var support = __webpack_require__(/*! ./support */ 116); +var base64 = __webpack_require__(/*! ./base64 */ 267); +var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 159); +var setImmediate = __webpack_require__(/*! core-js/library/fn/set-immediate */ 384); +var external = __webpack_require__(/*! ./external */ 135); /** @@ -15689,11 +15690,6 @@ exports.prepareContent = function(name, inputData, isBinary, isOptimizedBinarySt /***/ }), -/* 70 */, -/* 71 */, -/* 72 */, -/* 73 */, -/* 74 */, /* 75 */, /* 76 */, /* 77 */, @@ -15701,7 +15697,12 @@ exports.prepareContent = function(name, inputData, isBinary, isOptimizedBinarySt /* 79 */, /* 80 */, /* 81 */, -/* 82 */ +/* 82 */, +/* 83 */, +/* 84 */, +/* 85 */, +/* 86 */, +/* 87 */ /*!*****************************************!*\ !*** ./node_modules/numeral/numeral.js ***! \*****************************************/ @@ -16725,15 +16726,14 @@ return numeral; /***/ }), -/* 83 */, -/* 84 */, -/* 85 */, -/* 86 */, -/* 87 */, /* 88 */, /* 89 */, /* 90 */, -/* 91 */ +/* 91 */, +/* 92 */, +/* 93 */, +/* 94 */, +/* 95 */ /*!********************************************************!*\ !*** ./node_modules/jszip/lib/stream/GenericWorker.js ***! \********************************************************/ @@ -17008,12 +17008,15 @@ module.exports = GenericWorker; /***/ }), -/* 92 */, -/* 93 */, -/* 94 */, -/* 95 */, /* 96 */, -/* 97 */ +/* 97 */, +/* 98 */, +/* 99 */, +/* 100 */, +/* 101 */, +/* 102 */, +/* 103 */, +/* 104 */ /*!**************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/flag.js ***! \**************************************************/ @@ -17057,7 +17060,7 @@ module.exports = function flag(obj, key, value) { /***/ }), -/* 98 */ +/* 105 */ /*!***********************************!*\ !*** (webpack)/buildin/global.js ***! \***********************************/ @@ -17088,16 +17091,16 @@ module.exports = g; /***/ }), -/* 99 */, -/* 100 */, -/* 101 */, -/* 102 */, -/* 103 */, -/* 104 */, -/* 105 */, /* 106 */, /* 107 */, -/* 108 */ +/* 108 */, +/* 109 */, +/* 110 */, +/* 111 */, +/* 112 */, +/* 113 */, +/* 114 */, +/* 115 */ /*!***********************************************!*\ !*** ./node_modules/pako/lib/utils/common.js ***! \***********************************************/ @@ -17214,7 +17217,7 @@ exports.setTyped(TYPED_OK); /***/ }), -/* 109 */ +/* 116 */ /*!*******************************************!*\ !*** ./node_modules/jszip/lib/support.js ***! \*******************************************/ @@ -17257,15 +17260,15 @@ else { } try { - exports.nodestream = !!__webpack_require__(/*! readable-stream */ 256).Readable; + exports.nodestream = !!__webpack_require__(/*! readable-stream */ 275).Readable; } catch(e) { exports.nodestream = false; } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ 128).Buffer)) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ 137).Buffer)) /***/ }), -/* 110 */ +/* 117 */ /*!*********************************************!*\ !*** ./node_modules/escodegen/escodegen.js ***! \*********************************************/ @@ -17339,8 +17342,8 @@ try { FORMAT_MINIFY, FORMAT_DEFAULTS; - estraverse = __webpack_require__(/*! estraverse */ 327); - esutils = __webpack_require__(/*! esutils */ 325); + estraverse = __webpack_require__(/*! estraverse */ 346); + esutils = __webpack_require__(/*! esutils */ 344); Syntax = estraverse.Syntax; @@ -19820,7 +19823,7 @@ try { if (!exports.browser) { // We assume environment is node.js // And prevent from including source-map by browserify - SourceNode = __webpack_require__(/*! source-map */ 322).SourceNode; + SourceNode = __webpack_require__(/*! source-map */ 341).SourceNode; } else { SourceNode = global.sourceMap.SourceNode; } @@ -19867,7 +19870,7 @@ try { FORMAT_DEFAULTS = getDefaultOptions().format; - exports.version = __webpack_require__(/*! ./package.json */ 315).version; + exports.version = __webpack_require__(/*! ./package.json */ 334).version; exports.generate = generate; exports.attachComments = estraverse.attachComments; exports.Precedence = updateDeeply({}, Precedence); @@ -19877,10 +19880,10 @@ try { }()); /* vim: set sw=4 ts=4 et tw=80 : */ -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 98))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 105))) /***/ }), -/* 111 */ +/* 118 */ /*!***********************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/transferFlags.js ***! \***********************************************************/ @@ -19936,7 +19939,7 @@ module.exports = function transferFlags(assertion, object, includeAll) { /***/ }), -/* 112 */ +/* 119 */ /*!**********************************************!*\ !*** ./node_modules/chai/lib/chai/config.js ***! \**********************************************/ @@ -20041,7 +20044,7 @@ module.exports = { /***/ }), -/* 113 */ +/* 120 */ /*!***************************************!*\ !*** ./node_modules/chai/lib/chai.js ***! \***************************************/ @@ -20067,13 +20070,13 @@ exports.version = '4.1.2'; * Assertion Error */ -exports.AssertionError = __webpack_require__(/*! assertion-error */ 222); +exports.AssertionError = __webpack_require__(/*! assertion-error */ 241); /*! * Utils for plugins (not exported) */ -var util = __webpack_require__(/*! ./chai/utils */ 310); +var util = __webpack_require__(/*! ./chai/utils */ 329); /** * # .use(function) @@ -20104,47 +20107,47 @@ exports.util = util; * Configuration */ -var config = __webpack_require__(/*! ./chai/config */ 112); +var config = __webpack_require__(/*! ./chai/config */ 119); exports.config = config; /*! * Primary `Assertion` prototype */ -var assertion = __webpack_require__(/*! ./chai/assertion */ 294); +var assertion = __webpack_require__(/*! ./chai/assertion */ 313); exports.use(assertion); /*! * Core Assertions */ -var core = __webpack_require__(/*! ./chai/core/assertions */ 293); +var core = __webpack_require__(/*! ./chai/core/assertions */ 312); exports.use(core); /*! * Expect interface */ -var expect = __webpack_require__(/*! ./chai/interface/expect */ 292); +var expect = __webpack_require__(/*! ./chai/interface/expect */ 311); exports.use(expect); /*! * Should interface */ -var should = __webpack_require__(/*! ./chai/interface/should */ 291); +var should = __webpack_require__(/*! ./chai/interface/should */ 310); exports.use(should); /*! * Assert interface */ -var assert = __webpack_require__(/*! ./chai/interface/assert */ 290); +var assert = __webpack_require__(/*! ./chai/interface/assert */ 309); exports.use(assert); /***/ }), -/* 114 */ +/* 121 */ /*!************************************************************!*\ !*** ./node_modules/readable-stream/lib/_stream_duplex.js ***! \************************************************************/ @@ -20183,7 +20186,7 @@ exports.use(assert); /**/ -var processNextTick = __webpack_require__(/*! process-nextick-args */ 148).nextTick; +var processNextTick = __webpack_require__(/*! process-nextick-args */ 161).nextTick; /**/ /**/ @@ -20198,12 +20201,12 @@ var objectKeys = Object.keys || function (obj) { module.exports = Duplex; /**/ -var util = __webpack_require__(/*! core-util-is */ 127); -util.inherits = __webpack_require__(/*! inherits */ 123); +var util = __webpack_require__(/*! core-util-is */ 136); +util.inherits = __webpack_require__(/*! inherits */ 131); /**/ -var Readable = __webpack_require__(/*! ./_stream_readable */ 255); -var Writable = __webpack_require__(/*! ./_stream_writable */ 196); +var Readable = __webpack_require__(/*! ./_stream_readable */ 274); +var Writable = __webpack_require__(/*! ./_stream_writable */ 215); util.inherits(Duplex, Readable); @@ -20279,15 +20282,16 @@ function forEach(xs, f) { } /***/ }), -/* 115 */, -/* 116 */, -/* 117 */, -/* 118 */, -/* 119 */, -/* 120 */, -/* 121 */, /* 122 */, -/* 123 */ +/* 123 */, +/* 124 */, +/* 125 */, +/* 126 */, +/* 127 */, +/* 128 */, +/* 129 */, +/* 130 */, +/* 131 */ /*!***************************************************!*\ !*** ./node_modules/inherits/inherits_browser.js ***! \***************************************************/ @@ -20321,7 +20325,7 @@ if (typeof Object.create === 'function') { /***/ }), -/* 124 */ +/* 132 */ /*!****************************************!*\ !*** ./node_modules/jszip/lib/utf8.js ***! \****************************************/ @@ -20332,10 +20336,10 @@ if (typeof Object.create === 'function') { "use strict"; -var utils = __webpack_require__(/*! ./utils */ 69); -var support = __webpack_require__(/*! ./support */ 109); -var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 146); -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 91); +var utils = __webpack_require__(/*! ./utils */ 74); +var support = __webpack_require__(/*! ./support */ 116); +var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 159); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 95); /** * The following functions come from pako, from pako/lib/utils/strings @@ -20608,7 +20612,7 @@ exports.Utf8EncodeWorker = Utf8EncodeWorker; /***/ }), -/* 125 */ +/* 133 */ /*!********************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/util.js ***! \********************************************************************/ @@ -21107,7 +21111,8 @@ exports.computeSourceURL = computeSourceURL; /***/ }), -/* 126 */ +/* 134 */, +/* 135 */ /*!********************************************!*\ !*** ./node_modules/jszip/lib/external.js ***! \********************************************/ @@ -21126,7 +21131,7 @@ var ES6Promise = null; if (typeof Promise !== "undefined") { ES6Promise = Promise; } else { - ES6Promise = __webpack_require__(/*! lie */ 351); + ES6Promise = __webpack_require__(/*! lie */ 370); } /** @@ -21138,7 +21143,7 @@ module.exports = { /***/ }), -/* 127 */ +/* 136 */ /*!***********************************************!*\ !*** ./node_modules/core-util-is/lib/util.js ***! \***********************************************/ @@ -21254,10 +21259,10 @@ function objectToString(o) { return Object.prototype.toString.call(o); } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ 128).Buffer)) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ 137).Buffer)) /***/ }), -/* 128 */ +/* 137 */ /*!**************************************!*\ !*** ./node_modules/buffer/index.js ***! \**************************************/ @@ -21276,9 +21281,9 @@ function objectToString(o) { -var base64 = __webpack_require__(/*! base64-js */ 375) -var ieee754 = __webpack_require__(/*! ieee754 */ 374) -var isArray = __webpack_require__(/*! isarray */ 257) +var base64 = __webpack_require__(/*! base64-js */ 394) +var ieee754 = __webpack_require__(/*! ieee754 */ 393) +var isArray = __webpack_require__(/*! isarray */ 276) exports.Buffer = Buffer exports.SlowBuffer = SlowBuffer @@ -23056,10 +23061,10 @@ function isnan (val) { return val !== val // eslint-disable-line no-self-compare } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 98))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 105))) /***/ }), -/* 129 */ +/* 138 */ /*!*****************************************!*\ !*** ./node_modules/process/browser.js ***! \*****************************************/ @@ -23254,18 +23259,22 @@ process.umask = function() { return 0; }; /***/ }), -/* 130 */, -/* 131 */, -/* 132 */, -/* 133 */, -/* 134 */, -/* 135 */, -/* 136 */, -/* 137 */, -/* 138 */, /* 139 */, /* 140 */, -/* 141 */ +/* 141 */, +/* 142 */, +/* 143 */, +/* 144 */, +/* 145 */, +/* 146 */, +/* 147 */, +/* 148 */, +/* 149 */, +/* 150 */, +/* 151 */, +/* 152 */, +/* 153 */, +/* 154 */ /*!*****************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/proxify.js ***! \*****************************************************/ @@ -23273,10 +23282,10 @@ process.umask = function() { return 0; }; /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var config = __webpack_require__(/*! ../config */ 112); -var flag = __webpack_require__(/*! ./flag */ 97); -var getProperties = __webpack_require__(/*! ./getProperties */ 219); -var isProxyEnabled = __webpack_require__(/*! ./isProxyEnabled */ 143); +var config = __webpack_require__(/*! ../config */ 119); +var flag = __webpack_require__(/*! ./flag */ 104); +var getProperties = __webpack_require__(/*! ./getProperties */ 238); +var isProxyEnabled = __webpack_require__(/*! ./isProxyEnabled */ 156); /*! * Chai - proxify utility @@ -23401,7 +23410,7 @@ function stringDistance(strA, strB, memo) { /***/ }), -/* 142 */ +/* 155 */ /*!************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/addLengthGuard.js ***! \************************************************************/ @@ -23409,7 +23418,7 @@ function stringDistance(strA, strB, memo) { /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var config = __webpack_require__(/*! ../config */ 112); +var config = __webpack_require__(/*! ../config */ 119); var fnLengthDesc = Object.getOwnPropertyDescriptor(function () {}, 'length'); @@ -23474,7 +23483,7 @@ module.exports = function addLengthGuard (fn, assertionName, isChainable) { /***/ }), -/* 143 */ +/* 156 */ /*!************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/isProxyEnabled.js ***! \************************************************************/ @@ -23482,7 +23491,7 @@ module.exports = function addLengthGuard (fn, assertionName, isChainable) { /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var config = __webpack_require__(/*! ../config */ 112); +var config = __webpack_require__(/*! ../config */ 119); /*! * Chai - isProxyEnabled helper @@ -23509,7 +23518,7 @@ module.exports = function isProxyEnabled() { /***/ }), -/* 144 */ +/* 157 */ /*!*****************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/inspect.js ***! \*****************************************************/ @@ -23520,10 +23529,10 @@ module.exports = function isProxyEnabled() { // This is (almost) directly from Node.js utils // https://github.com/joyent/node/blob/f8c335d0caf47f16d31413f89aa28eda3878e3aa/lib/util.js -var getName = __webpack_require__(/*! get-func-name */ 220); -var getProperties = __webpack_require__(/*! ./getProperties */ 219); -var getEnumerableProperties = __webpack_require__(/*! ./getEnumerableProperties */ 305); -var config = __webpack_require__(/*! ../config */ 112); +var getName = __webpack_require__(/*! get-func-name */ 239); +var getProperties = __webpack_require__(/*! ./getProperties */ 238); +var getEnumerableProperties = __webpack_require__(/*! ./getEnumerableProperties */ 324); +var config = __webpack_require__(/*! ../config */ 119); module.exports = inspect; @@ -23903,7 +23912,7 @@ function objectToString(o) { /***/ }), -/* 145 */ +/* 158 */ /*!****************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_global.js ***! \****************************************************************************/ @@ -23917,7 +23926,7 @@ var global = module.exports = typeof window != 'undefined' && window.Math == Mat if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef /***/ }), -/* 146 */ +/* 159 */ /*!***********************************************!*\ !*** ./node_modules/jszip/lib/nodejsUtils.js ***! \***********************************************/ @@ -23979,10 +23988,10 @@ module.exports = { } }; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ 128).Buffer)) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../buffer/index.js */ 137).Buffer)) /***/ }), -/* 147 */ +/* 160 */ /*!*******************************************!*\ !*** ./node_modules/safe-buffer/index.js ***! \*******************************************/ @@ -23991,7 +24000,7 @@ module.exports = { /***/ (function(module, exports, __webpack_require__) { /* eslint-disable node/no-deprecated-api */ -var buffer = __webpack_require__(/*! buffer */ 128) +var buffer = __webpack_require__(/*! buffer */ 137) var Buffer = buffer.Buffer // alternative to using Object.keys for old browsers @@ -24055,7 +24064,7 @@ SafeBuffer.allocUnsafeSlow = function (size) { /***/ }), -/* 148 */ +/* 161 */ /*!****************************************************!*\ !*** ./node_modules/process-nextick-args/index.js ***! \****************************************************/ @@ -24109,10 +24118,10 @@ function nextTick(fn, arg1, arg2, arg3) { } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ 129))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../process/browser.js */ 138))) /***/ }), -/* 149 */ +/* 162 */ /*!*****************************************!*\ !*** ./node_modules/acorn/dist/walk.js ***! \*****************************************/ @@ -24558,7 +24567,7 @@ Object.defineProperty(exports, '__esModule', { value: true }); /***/ }), -/* 150 */ +/* 163 */ /*!************************************************!*\ !*** ./node_modules/sprintf-js/src/sprintf.js ***! \************************************************/ @@ -24788,7 +24797,7 @@ var __WEBPACK_AMD_DEFINE_RESULT__;/* global window, exports, define */ /***/ }), -/* 151 */ +/* 164 */ /*!**********************************************!*\ !*** ./node_modules/file-saver/FileSaver.js ***! \**********************************************/ @@ -24979,7 +24988,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 */ 206) !== null) && (__webpack_require__(/*! !webpack amd options */ 328) !== null)) { +} else if (("function" !== "undefined" && __webpack_require__(/*! !webpack amd define */ 225) !== null) && (__webpack_require__(/*! !webpack amd options */ 347) !== null)) { !(__WEBPACK_AMD_DEFINE_RESULT__ = (function() { return saveAs; }).call(exports, __webpack_require__, exports, module), @@ -24988,7 +24997,7 @@ if (typeof module !== "undefined" && module.exports) { /***/ }), -/* 152 */ +/* 165 */ /*!*****************************************!*\ !*** ./node_modules/jszip/lib/index.js ***! \*****************************************/ @@ -25034,10 +25043,10 @@ function JSZip() { return newObj; }; } -JSZip.prototype = __webpack_require__(/*! ./object */ 376); -JSZip.prototype.loadAsync = __webpack_require__(/*! ./load */ 333); -JSZip.support = __webpack_require__(/*! ./support */ 109); -JSZip.defaults = __webpack_require__(/*! ./defaults */ 242); +JSZip.prototype = __webpack_require__(/*! ./object */ 395); +JSZip.prototype.loadAsync = __webpack_require__(/*! ./load */ 352); +JSZip.support = __webpack_require__(/*! ./support */ 116); +JSZip.defaults = __webpack_require__(/*! ./defaults */ 261); // TODO find a better way to handle this version, // a require('package.json').version doesn't work with webpack, see #327 @@ -25047,12 +25056,12 @@ JSZip.loadAsync = function (content, options) { return new JSZip().loadAsync(content, options); }; -JSZip.external = __webpack_require__(/*! ./external */ 126); +JSZip.external = __webpack_require__(/*! ./external */ 135); module.exports = JSZip; /***/ }), -/* 153 */ +/* 166 */ /*!************************************************!*\ !*** ./node_modules/autosize/dist/autosize.js ***! \************************************************/ @@ -25345,7 +25354,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ }); /***/ }), -/* 154 */ +/* 167 */ /*!*************************************************!*\ !*** ./node_modules/type-detect/type-detect.js ***! \*************************************************/ @@ -25741,22 +25750,9 @@ return typeDetect; }))); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 98))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 105))) /***/ }), -/* 155 */, -/* 156 */, -/* 157 */, -/* 158 */, -/* 159 */, -/* 160 */, -/* 161 */, -/* 162 */, -/* 163 */, -/* 164 */, -/* 165 */, -/* 166 */, -/* 167 */, /* 168 */, /* 169 */, /* 170 */, @@ -25780,7 +25776,26 @@ return typeDetect; /* 188 */, /* 189 */, /* 190 */, -/* 191 */ +/* 191 */, +/* 192 */, +/* 193 */, +/* 194 */, +/* 195 */, +/* 196 */, +/* 197 */, +/* 198 */, +/* 199 */, +/* 200 */, +/* 201 */, +/* 202 */, +/* 203 */, +/* 204 */, +/* 205 */, +/* 206 */, +/* 207 */, +/* 208 */, +/* 209 */, +/* 210 */ /*!************************************************!*\ !*** ./node_modules/pako/lib/zlib/messages.js ***! \************************************************/ @@ -25824,7 +25839,7 @@ module.exports = { /***/ }), -/* 192 */ +/* 211 */ /*!*****************************************!*\ !*** ./node_modules/jszip/lib/crc32.js ***! \*****************************************/ @@ -25835,7 +25850,7 @@ module.exports = { "use strict"; -var utils = __webpack_require__(/*! ./utils */ 69); +var utils = __webpack_require__(/*! ./utils */ 74); /** * The following functions come from pako, from pako/lib/zlib/crc32.js @@ -25913,7 +25928,7 @@ module.exports = function crc32wrapper(input, crc) { /***/ }), -/* 193 */ +/* 212 */ /*!****************************************************!*\ !*** ./node_modules/jszip/lib/compressedObject.js ***! \****************************************************/ @@ -25924,11 +25939,11 @@ module.exports = function crc32wrapper(input, crc) { "use strict"; -var external = __webpack_require__(/*! ./external */ 126); -var DataWorker = __webpack_require__(/*! ./stream/DataWorker */ 241); -var DataLengthProbe = __webpack_require__(/*! ./stream/DataLengthProbe */ 240); -var Crc32Probe = __webpack_require__(/*! ./stream/Crc32Probe */ 239); -var DataLengthProbe = __webpack_require__(/*! ./stream/DataLengthProbe */ 240); +var external = __webpack_require__(/*! ./external */ 135); +var DataWorker = __webpack_require__(/*! ./stream/DataWorker */ 260); +var DataLengthProbe = __webpack_require__(/*! ./stream/DataLengthProbe */ 259); +var Crc32Probe = __webpack_require__(/*! ./stream/Crc32Probe */ 258); +var DataLengthProbe = __webpack_require__(/*! ./stream/DataLengthProbe */ 259); /** * Represent a compressed object, with everything needed to decompress it. @@ -26000,7 +26015,7 @@ module.exports = CompressedObject; /***/ }), -/* 194 */ +/* 213 */ /*!*********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_descriptors.js ***! \*********************************************************************************/ @@ -26009,12 +26024,12 @@ module.exports = CompressedObject; /***/ (function(module, exports, __webpack_require__) { // Thank's IE8 for his funny defineProperty -module.exports = !__webpack_require__(/*! ./_fails */ 245)(function(){ +module.exports = !__webpack_require__(/*! ./_fails */ 264)(function(){ return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7; }); /***/ }), -/* 195 */ +/* 214 */ /*!*******************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_is-object.js ***! \*******************************************************************************/ @@ -26027,7 +26042,7 @@ module.exports = function(it){ }; /***/ }), -/* 196 */ +/* 215 */ /*!**************************************************************!*\ !*** ./node_modules/readable-stream/lib/_stream_writable.js ***! \**************************************************************/ @@ -26065,7 +26080,7 @@ module.exports = function(it){ /**/ -var processNextTick = __webpack_require__(/*! process-nextick-args */ 148).nextTick; +var processNextTick = __webpack_require__(/*! process-nextick-args */ 161).nextTick; /**/ module.exports = Writable; @@ -26102,23 +26117,23 @@ var Duplex; Writable.WritableState = WritableState; /**/ -var util = __webpack_require__(/*! core-util-is */ 127); -util.inherits = __webpack_require__(/*! inherits */ 123); +var util = __webpack_require__(/*! core-util-is */ 136); +util.inherits = __webpack_require__(/*! inherits */ 131); /**/ /**/ var internalUtil = { - deprecate: __webpack_require__(/*! util-deprecate */ 371) + deprecate: __webpack_require__(/*! util-deprecate */ 390) }; /**/ /**/ -var Stream = __webpack_require__(/*! ./internal/streams/stream */ 254); +var Stream = __webpack_require__(/*! ./internal/streams/stream */ 273); /**/ /**/ -var Buffer = __webpack_require__(/*! safe-buffer */ 147).Buffer; +var Buffer = __webpack_require__(/*! safe-buffer */ 160).Buffer; var OurUint8Array = global.Uint8Array || function () {}; function _uint8ArrayToBuffer(chunk) { return Buffer.from(chunk); @@ -26129,14 +26144,14 @@ function _isUint8Array(obj) { /**/ -var destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ 251); +var destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ 270); util.inherits(Writable, Stream); function nop() {} function WritableState(options, stream) { - Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 114); + Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 121); options = options || {}; @@ -26286,7 +26301,7 @@ if (typeof Symbol === 'function' && Symbol.hasInstance && typeof Function.protot } function Writable(options) { - Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 114); + Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 121); // Writable ctor is applied to Duplexes, too. // `realHasInstance` is necessary because using plain `instanceof` @@ -26713,10 +26728,10 @@ Writable.prototype._destroy = function (err, cb) { this.end(); cb(err); }; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ 129), __webpack_require__(/*! ./../../timers-browserify/main.js */ 259).setImmediate, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 98))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../process/browser.js */ 138), __webpack_require__(/*! ./../../timers-browserify/main.js */ 278).setImmediate, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 105))) /***/ }), -/* 197 */ +/* 216 */ /*!**********************************************************!*\ !*** ./node_modules/readable-stream/readable-browser.js ***! \**********************************************************/ @@ -26724,17 +26739,17 @@ Writable.prototype._destroy = function (err, cb) { /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -exports = module.exports = __webpack_require__(/*! ./lib/_stream_readable.js */ 255); +exports = module.exports = __webpack_require__(/*! ./lib/_stream_readable.js */ 274); exports.Stream = exports; exports.Readable = exports; -exports.Writable = __webpack_require__(/*! ./lib/_stream_writable.js */ 196); -exports.Duplex = __webpack_require__(/*! ./lib/_stream_duplex.js */ 114); -exports.Transform = __webpack_require__(/*! ./lib/_stream_transform.js */ 249); -exports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ 370); +exports.Writable = __webpack_require__(/*! ./lib/_stream_writable.js */ 215); +exports.Duplex = __webpack_require__(/*! ./lib/_stream_duplex.js */ 121); +exports.Transform = __webpack_require__(/*! ./lib/_stream_transform.js */ 268); +exports.PassThrough = __webpack_require__(/*! ./lib/_stream_passthrough.js */ 389); /***/ }), -/* 198 */ +/* 217 */ /*!***************************************!*\ !*** ./node_modules/events/events.js ***! \***************************************/ @@ -27047,11 +27062,11 @@ function isUndefined(arg) { /***/ }), -/* 199 */, -/* 200 */, -/* 201 */, -/* 202 */, -/* 203 */ +/* 218 */, +/* 219 */, +/* 220 */, +/* 221 */, +/* 222 */ /*!*************************************************!*\ !*** ./node_modules/brace/worker/javascript.js ***! \*************************************************/ @@ -27063,7 +27078,7 @@ module.exports.id = 'ace/mode/javascript_worker'; module.exports.src = "\"no use strict\";!function(window){function resolveModuleId(id,paths){for(var testPath=id,tail=\"\";testPath;){var alias=paths[testPath];if(\"string\"==typeof alias)return alias+tail;if(alias)return alias.location.replace(/\\/*$/,\"/\")+(tail||alias.main||alias.name);if(alias===!1)return\"\";var i=testPath.lastIndexOf(\"/\");if(-1===i)break;tail=testPath.substr(i)+tail,testPath=testPath.slice(0,i)}return id}if(!(void 0!==window.window&&window.document||window.acequire&&window.define)){window.console||(window.console=function(){var msgs=Array.prototype.slice.call(arguments,0);postMessage({type:\"log\",data:msgs})},window.console.error=window.console.warn=window.console.log=window.console.trace=window.console),window.window=window,window.ace=window,window.onerror=function(message,file,line,col,err){postMessage({type:\"error\",data:{message:message,data:err.data,file:file,line:line,col:col,stack:err.stack}})},window.normalizeModule=function(parentId,moduleName){if(-1!==moduleName.indexOf(\"!\")){var chunks=moduleName.split(\"!\");return window.normalizeModule(parentId,chunks[0])+\"!\"+window.normalizeModule(parentId,chunks[1])}if(\".\"==moduleName.charAt(0)){var base=parentId.split(\"/\").slice(0,-1).join(\"/\");for(moduleName=(base?base+\"/\":\"\")+moduleName;-1!==moduleName.indexOf(\".\")&&previous!=moduleName;){var previous=moduleName;moduleName=moduleName.replace(/^\\.\\//,\"\").replace(/\\/\\.\\//,\"/\").replace(/[^\\/]+\\/\\.\\.\\//,\"\")}}return moduleName},window.acequire=function acequire(parentId,id){if(id||(id=parentId,parentId=null),!id.charAt)throw Error(\"worker.js acequire() accepts only (parentId, id) as arguments\");id=window.normalizeModule(parentId,id);var module=window.acequire.modules[id];if(module)return module.initialized||(module.initialized=!0,module.exports=module.factory().exports),module.exports;if(!window.acequire.tlns)return console.log(\"unable to load \"+id);var path=resolveModuleId(id,window.acequire.tlns);return\".js\"!=path.slice(-3)&&(path+=\".js\"),window.acequire.id=id,window.acequire.modules[id]={},importScripts(path),window.acequire(parentId,id)},window.acequire.modules={},window.acequire.tlns={},window.define=function(id,deps,factory){if(2==arguments.length?(factory=deps,\"string\"!=typeof id&&(deps=id,id=window.acequire.id)):1==arguments.length&&(factory=id,deps=[],id=window.acequire.id),\"function\"!=typeof factory)return window.acequire.modules[id]={exports:factory,initialized:!0},void 0;deps.length||(deps=[\"require\",\"exports\",\"module\"]);var req=function(childId){return window.acequire(id,childId)};window.acequire.modules[id]={exports:{},factory:function(){var module=this,returnExports=factory.apply(this,deps.map(function(dep){switch(dep){case\"require\":return req;case\"exports\":return module.exports;case\"module\":return module;default:return req(dep)}}));return returnExports&&(module.exports=returnExports),module}}},window.define.amd={},acequire.tlns={},window.initBaseUrls=function(topLevelNamespaces){for(var i in topLevelNamespaces)acequire.tlns[i]=topLevelNamespaces[i]},window.initSender=function(){var EventEmitter=window.acequire(\"ace/lib/event_emitter\").EventEmitter,oop=window.acequire(\"ace/lib/oop\"),Sender=function(){};return function(){oop.implement(this,EventEmitter),this.callback=function(data,callbackId){postMessage({type:\"call\",id:callbackId,data:data})},this.emit=function(name,data){postMessage({type:\"event\",name:name,data:data})}}.call(Sender.prototype),new Sender};var main=window.main=null,sender=window.sender=null;window.onmessage=function(e){var msg=e.data;if(msg.event&&sender)sender._signal(msg.event,msg.data);else if(msg.command)if(main[msg.command])main[msg.command].apply(main,msg.args);else{if(!window[msg.command])throw Error(\"Unknown command:\"+msg.command);window[msg.command].apply(window,msg.args)}else if(msg.init){window.initBaseUrls(msg.tlns),acequire(\"ace/lib/es5-shim\"),sender=window.sender=window.initSender();var clazz=acequire(msg.module)[msg.classname];main=window.main=new clazz(sender)}}}}(this),ace.define(\"ace/lib/oop\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.inherits=function(ctor,superCtor){ctor.super_=superCtor,ctor.prototype=Object.create(superCtor.prototype,{constructor:{value:ctor,enumerable:!1,writable:!0,configurable:!0}})},exports.mixin=function(obj,mixin){for(var key in mixin)obj[key]=mixin[key];return obj},exports.implement=function(proto,mixin){exports.mixin(proto,mixin)}}),ace.define(\"ace/range\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},Range=function(startRow,startColumn,endRow,endColumn){this.start={row:startRow,column:startColumn},this.end={row:endRow,column:endColumn}};(function(){this.isEqual=function(range){return this.start.row===range.start.row&&this.end.row===range.end.row&&this.start.column===range.start.column&&this.end.column===range.end.column},this.toString=function(){return\"Range: [\"+this.start.row+\"/\"+this.start.column+\"] -> [\"+this.end.row+\"/\"+this.end.column+\"]\"},this.contains=function(row,column){return 0==this.compare(row,column)},this.compareRange=function(range){var cmp,end=range.end,start=range.start;return cmp=this.compare(end.row,end.column),1==cmp?(cmp=this.compare(start.row,start.column),1==cmp?2:0==cmp?1:0):-1==cmp?-2:(cmp=this.compare(start.row,start.column),-1==cmp?-1:1==cmp?42:0)},this.comparePoint=function(p){return this.compare(p.row,p.column)},this.containsRange=function(range){return 0==this.comparePoint(range.start)&&0==this.comparePoint(range.end)},this.intersects=function(range){var cmp=this.compareRange(range);return-1==cmp||0==cmp||1==cmp},this.isEnd=function(row,column){return this.end.row==row&&this.end.column==column},this.isStart=function(row,column){return this.start.row==row&&this.start.column==column},this.setStart=function(row,column){\"object\"==typeof row?(this.start.column=row.column,this.start.row=row.row):(this.start.row=row,this.start.column=column)},this.setEnd=function(row,column){\"object\"==typeof row?(this.end.column=row.column,this.end.row=row.row):(this.end.row=row,this.end.column=column)},this.inside=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)||this.isStart(row,column)?!1:!0:!1},this.insideStart=function(row,column){return 0==this.compare(row,column)?this.isEnd(row,column)?!1:!0:!1},this.insideEnd=function(row,column){return 0==this.compare(row,column)?this.isStart(row,column)?!1:!0:!1},this.compare=function(row,column){return this.isMultiLine()||row!==this.start.row?this.start.row>row?-1:row>this.end.row?1:this.start.row===row?column>=this.start.column?0:-1:this.end.row===row?this.end.column>=column?0:1:0:this.start.column>column?-1:column>this.end.column?1:0},this.compareStart=function(row,column){return this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.compareEnd=function(row,column){return this.end.row==row&&this.end.column==column?1:this.compare(row,column)},this.compareInside=function(row,column){return this.end.row==row&&this.end.column==column?1:this.start.row==row&&this.start.column==column?-1:this.compare(row,column)},this.clipRows=function(firstRow,lastRow){if(this.end.row>lastRow)var end={row:lastRow+1,column:0};else if(firstRow>this.end.row)var end={row:firstRow,column:0};if(this.start.row>lastRow)var start={row:lastRow+1,column:0};else if(firstRow>this.start.row)var start={row:firstRow,column:0};return Range.fromPoints(start||this.start,end||this.end)},this.extend=function(row,column){var cmp=this.compare(row,column);if(0==cmp)return this;if(-1==cmp)var start={row:row,column:column};else var end={row:row,column:column};return Range.fromPoints(start||this.start,end||this.end)},this.isEmpty=function(){return this.start.row===this.end.row&&this.start.column===this.end.column},this.isMultiLine=function(){return this.start.row!==this.end.row},this.clone=function(){return Range.fromPoints(this.start,this.end)},this.collapseRows=function(){return 0==this.end.column?new Range(this.start.row,0,Math.max(this.start.row,this.end.row-1),0):new Range(this.start.row,0,this.end.row,0)},this.toScreenRange=function(session){var screenPosStart=session.documentToScreenPosition(this.start),screenPosEnd=session.documentToScreenPosition(this.end);return new Range(screenPosStart.row,screenPosStart.column,screenPosEnd.row,screenPosEnd.column)},this.moveBy=function(row,column){this.start.row+=row,this.start.column+=column,this.end.row+=row,this.end.column+=column}}).call(Range.prototype),Range.fromPoints=function(start,end){return new Range(start.row,start.column,end.row,end.column)},Range.comparePoints=comparePoints,Range.comparePoints=function(p1,p2){return p1.row-p2.row||p1.column-p2.column},exports.Range=Range}),ace.define(\"ace/apply_delta\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.applyDelta=function(docLines,delta){var row=delta.start.row,startColumn=delta.start.column,line=docLines[row]||\"\";switch(delta.action){case\"insert\":var lines=delta.lines;if(1===lines.length)docLines[row]=line.substring(0,startColumn)+delta.lines[0]+line.substring(startColumn);else{var args=[row,1].concat(delta.lines);docLines.splice.apply(docLines,args),docLines[row]=line.substring(0,startColumn)+docLines[row],docLines[row+delta.lines.length-1]+=line.substring(startColumn)}break;case\"remove\":var endColumn=delta.end.column,endRow=delta.end.row;row===endRow?docLines[row]=line.substring(0,startColumn)+line.substring(endColumn):docLines.splice(row,endRow-row+1,line.substring(0,startColumn)+docLines[endRow].substring(endColumn))}}}),ace.define(\"ace/lib/event_emitter\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";var EventEmitter={},stopPropagation=function(){this.propagationStopped=!0},preventDefault=function(){this.defaultPrevented=!0};EventEmitter._emit=EventEmitter._dispatchEvent=function(eventName,e){this._eventRegistry||(this._eventRegistry={}),this._defaultHandlers||(this._defaultHandlers={});var listeners=this._eventRegistry[eventName]||[],defaultHandler=this._defaultHandlers[eventName];if(listeners.length||defaultHandler){\"object\"==typeof e&&e||(e={}),e.type||(e.type=eventName),e.stopPropagation||(e.stopPropagation=stopPropagation),e.preventDefault||(e.preventDefault=preventDefault),listeners=listeners.slice();for(var i=0;listeners.length>i&&(listeners[i](e,this),!e.propagationStopped);i++);return defaultHandler&&!e.defaultPrevented?defaultHandler(e,this):void 0}},EventEmitter._signal=function(eventName,e){var listeners=(this._eventRegistry||{})[eventName];if(listeners){listeners=listeners.slice();for(var i=0;listeners.length>i;i++)listeners[i](e,this)}},EventEmitter.once=function(eventName,callback){var _self=this;callback&&this.addEventListener(eventName,function newCallback(){_self.removeEventListener(eventName,newCallback),callback.apply(null,arguments)})},EventEmitter.setDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers||(handlers=this._defaultHandlers={_disabled_:{}}),handlers[eventName]){var old=handlers[eventName],disabled=handlers._disabled_[eventName];disabled||(handlers._disabled_[eventName]=disabled=[]),disabled.push(old);var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}handlers[eventName]=callback},EventEmitter.removeDefaultHandler=function(eventName,callback){var handlers=this._defaultHandlers;if(handlers){var disabled=handlers._disabled_[eventName];if(handlers[eventName]==callback)handlers[eventName],disabled&&this.setDefaultHandler(eventName,disabled.pop());else if(disabled){var i=disabled.indexOf(callback);-1!=i&&disabled.splice(i,1)}}},EventEmitter.on=EventEmitter.addEventListener=function(eventName,callback,capturing){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];return listeners||(listeners=this._eventRegistry[eventName]=[]),-1==listeners.indexOf(callback)&&listeners[capturing?\"unshift\":\"push\"](callback),callback},EventEmitter.off=EventEmitter.removeListener=EventEmitter.removeEventListener=function(eventName,callback){this._eventRegistry=this._eventRegistry||{};var listeners=this._eventRegistry[eventName];if(listeners){var index=listeners.indexOf(callback);-1!==index&&listeners.splice(index,1)}},EventEmitter.removeAllListeners=function(eventName){this._eventRegistry&&(this._eventRegistry[eventName]=[])},exports.EventEmitter=EventEmitter}),ace.define(\"ace/anchor\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/lib/event_emitter\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Anchor=exports.Anchor=function(doc,row,column){this.$onChange=this.onChange.bind(this),this.attach(doc),column===void 0?this.setPosition(row.row,row.column):this.setPosition(row,column)};(function(){function $pointsInOrder(point1,point2,equalPointsInOrder){var bColIsAfter=equalPointsInOrder?point1.column<=point2.column:point1.columnthis.row)){var point=$getTransformedPoint(delta,{row:this.row,column:this.column},this.$insertRight);this.setPosition(point.row,point.column,!0)}},this.setPosition=function(row,column,noClip){var pos;if(pos=noClip?{row:row,column:column}:this.$clipPositionToDocument(row,column),this.row!=pos.row||this.column!=pos.column){var old={row:this.row,column:this.column};this.row=pos.row,this.column=pos.column,this._signal(\"change\",{old:old,value:pos})}},this.detach=function(){this.document.removeEventListener(\"change\",this.$onChange)},this.attach=function(doc){this.document=doc||this.document,this.document.on(\"change\",this.$onChange)},this.$clipPositionToDocument=function(row,column){var pos={};return row>=this.document.getLength()?(pos.row=Math.max(0,this.document.getLength()-1),pos.column=this.document.getLine(pos.row).length):0>row?(pos.row=0,pos.column=0):(pos.row=row,pos.column=Math.min(this.document.getLine(pos.row).length,Math.max(0,column))),0>column&&(pos.column=0),pos}}).call(Anchor.prototype)}),ace.define(\"ace/document\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/apply_delta\",\"ace/lib/event_emitter\",\"ace/range\",\"ace/anchor\"],function(acequire,exports){\"use strict\";var oop=acequire(\"./lib/oop\"),applyDelta=acequire(\"./apply_delta\").applyDelta,EventEmitter=acequire(\"./lib/event_emitter\").EventEmitter,Range=acequire(\"./range\").Range,Anchor=acequire(\"./anchor\").Anchor,Document=function(textOrLines){this.$lines=[\"\"],0===textOrLines.length?this.$lines=[\"\"]:Array.isArray(textOrLines)?this.insertMergedLines({row:0,column:0},textOrLines):this.insert({row:0,column:0},textOrLines)};(function(){oop.implement(this,EventEmitter),this.setValue=function(text){var len=this.getLength()-1;this.remove(new Range(0,0,len,this.getLine(len).length)),this.insert({row:0,column:0},text)},this.getValue=function(){return this.getAllLines().join(this.getNewLineCharacter())},this.createAnchor=function(row,column){return new Anchor(this,row,column)},this.$split=0===\"aaa\".split(/a/).length?function(text){return text.replace(/\\r\\n|\\r/g,\"\\n\").split(\"\\n\")}:function(text){return text.split(/\\r\\n|\\r|\\n/)},this.$detectNewLine=function(text){var match=text.match(/^.*?(\\r\\n|\\r|\\n)/m);this.$autoNewLine=match?match[1]:\"\\n\",this._signal(\"changeNewLineMode\")},this.getNewLineCharacter=function(){switch(this.$newLineMode){case\"windows\":return\"\\r\\n\";case\"unix\":return\"\\n\";default:return this.$autoNewLine||\"\\n\"}},this.$autoNewLine=\"\",this.$newLineMode=\"auto\",this.setNewLineMode=function(newLineMode){this.$newLineMode!==newLineMode&&(this.$newLineMode=newLineMode,this._signal(\"changeNewLineMode\"))},this.getNewLineMode=function(){return this.$newLineMode},this.isNewLine=function(text){return\"\\r\\n\"==text||\"\\r\"==text||\"\\n\"==text},this.getLine=function(row){return this.$lines[row]||\"\"},this.getLines=function(firstRow,lastRow){return this.$lines.slice(firstRow,lastRow+1)},this.getAllLines=function(){return this.getLines(0,this.getLength())},this.getLength=function(){return this.$lines.length},this.getTextRange=function(range){return this.getLinesForRange(range).join(this.getNewLineCharacter())},this.getLinesForRange=function(range){var lines;if(range.start.row===range.end.row)lines=[this.getLine(range.start.row).substring(range.start.column,range.end.column)];else{lines=this.getLines(range.start.row,range.end.row),lines[0]=(lines[0]||\"\").substring(range.start.column);var l=lines.length-1;range.end.row-range.start.row==l&&(lines[l]=lines[l].substring(0,range.end.column))}return lines},this.insertLines=function(row,lines){return console.warn(\"Use of document.insertLines is deprecated. Use the insertFullLines method instead.\"),this.insertFullLines(row,lines)},this.removeLines=function(firstRow,lastRow){return console.warn(\"Use of document.removeLines is deprecated. Use the removeFullLines method instead.\"),this.removeFullLines(firstRow,lastRow)},this.insertNewLine=function(position){return console.warn(\"Use of document.insertNewLine is deprecated. Use insertMergedLines(position, ['', '']) instead.\"),this.insertMergedLines(position,[\"\",\"\"])},this.insert=function(position,text){return 1>=this.getLength()&&this.$detectNewLine(text),this.insertMergedLines(position,this.$split(text))},this.insertInLine=function(position,text){var start=this.clippedPos(position.row,position.column),end=this.pos(position.row,position.column+text.length);return this.applyDelta({start:start,end:end,action:\"insert\",lines:[text]},!0),this.clonePos(end)},this.clippedPos=function(row,column){var length=this.getLength();void 0===row?row=length:0>row?row=0:row>=length&&(row=length-1,column=void 0);var line=this.getLine(row);return void 0==column&&(column=line.length),column=Math.min(Math.max(column,0),line.length),{row:row,column:column}},this.clonePos=function(pos){return{row:pos.row,column:pos.column}},this.pos=function(row,column){return{row:row,column:column}},this.$clipPosition=function(position){var length=this.getLength();return position.row>=length?(position.row=Math.max(0,length-1),position.column=this.getLine(length-1).length):(position.row=Math.max(0,position.row),position.column=Math.min(Math.max(position.column,0),this.getLine(position.row).length)),position},this.insertFullLines=function(row,lines){row=Math.min(Math.max(row,0),this.getLength());var column=0;this.getLength()>row?(lines=lines.concat([\"\"]),column=0):(lines=[\"\"].concat(lines),row--,column=this.$lines[row].length),this.insertMergedLines({row:row,column:column},lines)},this.insertMergedLines=function(position,lines){var start=this.clippedPos(position.row,position.column),end={row:start.row+lines.length-1,column:(1==lines.length?start.column:0)+lines[lines.length-1].length};return this.applyDelta({start:start,end:end,action:\"insert\",lines:lines}),this.clonePos(end)},this.remove=function(range){var start=this.clippedPos(range.start.row,range.start.column),end=this.clippedPos(range.end.row,range.end.column);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})}),this.clonePos(start)},this.removeInLine=function(row,startColumn,endColumn){var start=this.clippedPos(row,startColumn),end=this.clippedPos(row,endColumn);return this.applyDelta({start:start,end:end,action:\"remove\",lines:this.getLinesForRange({start:start,end:end})},!0),this.clonePos(start)},this.removeFullLines=function(firstRow,lastRow){firstRow=Math.min(Math.max(0,firstRow),this.getLength()-1),lastRow=Math.min(Math.max(0,lastRow),this.getLength()-1);var deleteFirstNewLine=lastRow==this.getLength()-1&&firstRow>0,deleteLastNewLine=this.getLength()-1>lastRow,startRow=deleteFirstNewLine?firstRow-1:firstRow,startCol=deleteFirstNewLine?this.getLine(startRow).length:0,endRow=deleteLastNewLine?lastRow+1:lastRow,endCol=deleteLastNewLine?0:this.getLine(endRow).length,range=new Range(startRow,startCol,endRow,endCol),deletedLines=this.$lines.slice(firstRow,lastRow+1);return this.applyDelta({start:range.start,end:range.end,action:\"remove\",lines:this.getLinesForRange(range)}),deletedLines},this.removeNewLine=function(row){this.getLength()-1>row&&row>=0&&this.applyDelta({start:this.pos(row,this.getLine(row).length),end:this.pos(row+1,0),action:\"remove\",lines:[\"\",\"\"]})},this.replace=function(range,text){if(range instanceof Range||(range=Range.fromPoints(range.start,range.end)),0===text.length&&range.isEmpty())return range.start;if(text==this.getTextRange(range))return range.end;this.remove(range);var end;return end=text?this.insert(range.start,text):range.start},this.applyDeltas=function(deltas){for(var i=0;deltas.length>i;i++)this.applyDelta(deltas[i])},this.revertDeltas=function(deltas){for(var i=deltas.length-1;i>=0;i--)this.revertDelta(deltas[i])},this.applyDelta=function(delta,doNotValidate){var isInsert=\"insert\"==delta.action;(isInsert?1>=delta.lines.length&&!delta.lines[0]:!Range.comparePoints(delta.start,delta.end))||(isInsert&&delta.lines.length>2e4&&this.$splitAndapplyLargeDelta(delta,2e4),applyDelta(this.$lines,delta,doNotValidate),this._signal(\"change\",delta))},this.$splitAndapplyLargeDelta=function(delta,MAX){for(var lines=delta.lines,l=lines.length,row=delta.start.row,column=delta.start.column,from=0,to=0;;){from=to,to+=MAX-1;var chunk=lines.slice(from,to);if(to>l){delta.lines=chunk,delta.start.row=row+from,delta.start.column=column;break}chunk.push(\"\"),this.applyDelta({start:this.pos(row+from,column),end:this.pos(row+to,column=0),action:delta.action,lines:chunk},!0)}},this.revertDelta=function(delta){this.applyDelta({start:this.clonePos(delta.start),end:this.clonePos(delta.end),action:\"insert\"==delta.action?\"remove\":\"insert\",lines:delta.lines.slice()})},this.indexToPosition=function(index,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,i=startRow||0,l=lines.length;l>i;i++)if(index-=lines[i].length+newlineLength,0>index)return{row:i,column:index+lines[i].length+newlineLength};return{row:l-1,column:lines[l-1].length}},this.positionToIndex=function(pos,startRow){for(var lines=this.$lines||this.getAllLines(),newlineLength=this.getNewLineCharacter().length,index=0,row=Math.min(pos.row,lines.length),i=startRow||0;row>i;++i)index+=lines[i].length+newlineLength;return index+pos.column}}).call(Document.prototype),exports.Document=Document}),ace.define(\"ace/lib/lang\",[\"require\",\"exports\",\"module\"],function(acequire,exports){\"use strict\";exports.last=function(a){return a[a.length-1]},exports.stringReverse=function(string){return string.split(\"\").reverse().join(\"\")},exports.stringRepeat=function(string,count){for(var result=\"\";count>0;)1&count&&(result+=string),(count>>=1)&&(string+=string);return result};var trimBeginRegexp=/^\\s\\s*/,trimEndRegexp=/\\s\\s*$/;exports.stringTrimLeft=function(string){return string.replace(trimBeginRegexp,\"\")},exports.stringTrimRight=function(string){return string.replace(trimEndRegexp,\"\")},exports.copyObject=function(obj){var copy={};for(var key in obj)copy[key]=obj[key];return copy},exports.copyArray=function(array){for(var copy=[],i=0,l=array.length;l>i;i++)copy[i]=array[i]&&\"object\"==typeof array[i]?this.copyObject(array[i]):array[i];return copy},exports.deepCopy=function deepCopy(obj){if(\"object\"!=typeof obj||!obj)return obj;var copy;if(Array.isArray(obj)){copy=[];for(var key=0;obj.length>key;key++)copy[key]=deepCopy(obj[key]);return copy}if(\"[object Object]\"!==Object.prototype.toString.call(obj))return obj;copy={};for(var key in obj)copy[key]=deepCopy(obj[key]);return copy},exports.arrayToMap=function(arr){for(var map={},i=0;arr.length>i;i++)map[arr[i]]=1;return map},exports.createMap=function(props){var map=Object.create(null);for(var i in props)map[i]=props[i];return map},exports.arrayRemove=function(array,value){for(var i=0;array.length>=i;i++)value===array[i]&&array.splice(i,1)},exports.escapeRegExp=function(str){return str.replace(/([.*+?^${}()|[\\]\\/\\\\])/g,\"\\\\$1\")},exports.escapeHTML=function(str){return str.replace(/&/g,\"&\").replace(/\"/g,\""\").replace(/'/g,\"'\").replace(/i;i+=2){if(Array.isArray(data[i+1]))var d={action:\"insert\",start:data[i],lines:data[i+1]};else var d={action:\"remove\",start:data[i],end:data[i+1]};doc.applyDelta(d,!0)}return _self.$timeout?deferredUpdate.schedule(_self.$timeout):(_self.onUpdate(),void 0)})};(function(){this.$timeout=500,this.setTimeout=function(timeout){this.$timeout=timeout},this.setValue=function(value){this.doc.setValue(value),this.deferredUpdate.schedule(this.$timeout)},this.getValue=function(callbackId){this.sender.callback(this.doc.getValue(),callbackId)},this.onUpdate=function(){},this.isPending=function(){return this.deferredUpdate.isPending()}}).call(Mirror.prototype)}),ace.define(\"ace/mode/javascript/jshint\",[\"require\",\"exports\",\"module\"],function(acequire,exports,module){module.exports=function outer(modules,cache,entry){function newRequire(name,jumped){if(!cache[name]){if(!modules[name]){var currentRequire=\"function\"==typeof acequire&&acequire;if(!jumped&¤tRequire)return currentRequire(name,!0);if(previousRequire)return previousRequire(name,!0);var err=Error(\"Cannot find module '\"+name+\"'\");throw err.code=\"MODULE_NOT_FOUND\",err}var m=cache[name]={exports:{}};modules[name][0].call(m.exports,function(x){var id=modules[name][1][x];return newRequire(id?id:x)},m,m.exports,outer,modules,cache,entry)}return cache[name].exports}for(var previousRequire=\"function\"==typeof acequire&&acequire,i=0;entry.length>i;i++)newRequire(entry[i]);return newRequire(entry[0])}({\"/node_modules/browserify/node_modules/events/events.js\":[function(_dereq_,module){function EventEmitter(){this._events=this._events||{},this._maxListeners=this._maxListeners||void 0}function isFunction(arg){return\"function\"==typeof arg}function isNumber(arg){return\"number\"==typeof arg}function isObject(arg){return\"object\"==typeof arg&&null!==arg}function isUndefined(arg){return void 0===arg}module.exports=EventEmitter,EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._maxListeners=void 0,EventEmitter.defaultMaxListeners=10,EventEmitter.prototype.setMaxListeners=function(n){if(!isNumber(n)||0>n||isNaN(n))throw TypeError(\"n must be a positive number\");return this._maxListeners=n,this},EventEmitter.prototype.emit=function(type){var er,handler,len,args,i,listeners;if(this._events||(this._events={}),\"error\"===type&&(!this._events.error||isObject(this._events.error)&&!this._events.error.length)){if(er=arguments[1],er instanceof Error)throw er;throw TypeError('Uncaught, unspecified \"error\" event.')}if(handler=this._events[type],isUndefined(handler))return!1;if(isFunction(handler))switch(arguments.length){case 1:handler.call(this);break;case 2:handler.call(this,arguments[1]);break;case 3:handler.call(this,arguments[1],arguments[2]);break;default:for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];handler.apply(this,args)}else if(isObject(handler)){for(len=arguments.length,args=Array(len-1),i=1;len>i;i++)args[i-1]=arguments[i];for(listeners=handler.slice(),len=listeners.length,i=0;len>i;i++)listeners[i].apply(this,args)}return!0},EventEmitter.prototype.addListener=function(type,listener){var m;if(!isFunction(listener))throw TypeError(\"listener must be a function\");if(this._events||(this._events={}),this._events.newListener&&this.emit(\"newListener\",type,isFunction(listener.listener)?listener.listener:listener),this._events[type]?isObject(this._events[type])?this._events[type].push(listener):this._events[type]=[this._events[type],listener]:this._events[type]=listener,isObject(this._events[type])&&!this._events[type].warned){var m;m=isUndefined(this._maxListeners)?EventEmitter.defaultMaxListeners:this._maxListeners,m&&m>0&&this._events[type].length>m&&(this._events[type].warned=!0,console.error(\"(node) warning: possible EventEmitter memory leak detected. %d listeners added. Use emitter.setMaxListeners() to increase limit.\",this._events[type].length),\"function\"==typeof console.trace&&console.trace())}return this},EventEmitter.prototype.on=EventEmitter.prototype.addListener,EventEmitter.prototype.once=function(type,listener){function g(){this.removeListener(type,g),fired||(fired=!0,listener.apply(this,arguments))}if(!isFunction(listener))throw TypeError(\"listener must be a function\");var fired=!1;return g.listener=listener,this.on(type,g),this},EventEmitter.prototype.removeListener=function(type,listener){var list,position,length,i;if(!isFunction(listener))throw TypeError(\"listener must be a function\");if(!this._events||!this._events[type])return this;if(list=this._events[type],length=list.length,position=-1,list===listener||isFunction(list.listener)&&list.listener===listener)delete this._events[type],this._events.removeListener&&this.emit(\"removeListener\",type,listener);else if(isObject(list)){for(i=length;i-->0;)if(list[i]===listener||list[i].listener&&list[i].listener===listener){position=i;break}if(0>position)return this;1===list.length?(list.length=0,delete this._events[type]):list.splice(position,1),this._events.removeListener&&this.emit(\"removeListener\",type,listener)}return this},EventEmitter.prototype.removeAllListeners=function(type){var key,listeners;if(!this._events)return this;if(!this._events.removeListener)return 0===arguments.length?this._events={}:this._events[type]&&delete this._events[type],this;if(0===arguments.length){for(key in this._events)\"removeListener\"!==key&&this.removeAllListeners(key);return this.removeAllListeners(\"removeListener\"),this._events={},this\n}if(listeners=this._events[type],isFunction(listeners))this.removeListener(type,listeners);else for(;listeners.length;)this.removeListener(type,listeners[listeners.length-1]);return delete this._events[type],this},EventEmitter.prototype.listeners=function(type){var ret;return ret=this._events&&this._events[type]?isFunction(this._events[type])?[this._events[type]]:this._events[type].slice():[]},EventEmitter.listenerCount=function(emitter,type){var ret;return ret=emitter._events&&emitter._events[type]?isFunction(emitter._events[type])?1:emitter._events[type].length:0}},{}],\"/node_modules/jshint/data/ascii-identifier-data.js\":[function(_dereq_,module){for(var identifierStartTable=[],i=0;128>i;i++)identifierStartTable[i]=36===i||i>=65&&90>=i||95===i||i>=97&&122>=i;for(var identifierPartTable=[],i=0;128>i;i++)identifierPartTable[i]=identifierStartTable[i]||i>=48&&57>=i;module.exports={asciiIdentifierStartTable:identifierStartTable,asciiIdentifierPartTable:identifierPartTable}},{}],\"/node_modules/jshint/lodash.js\":[function(_dereq_,module,exports){(function(global){(function(){function baseFindIndex(array,predicate,fromRight){for(var length=array.length,index=fromRight?length:-1;fromRight?index--:length>++index;)if(predicate(array[index],index,array))return index;return-1}function baseIndexOf(array,value,fromIndex){if(value!==value)return indexOfNaN(array,fromIndex);for(var index=fromIndex-1,length=array.length;length>++index;)if(array[index]===value)return index;return-1}function baseIsFunction(value){return\"function\"==typeof value||!1}function baseToString(value){return\"string\"==typeof value?value:null==value?\"\":value+\"\"}function indexOfNaN(array,fromIndex,fromRight){for(var length=array.length,index=fromIndex+(fromRight?0:-1);fromRight?index--:length>++index;){var other=array[index];if(other!==other)return index}return-1}function isObjectLike(value){return!!value&&\"object\"==typeof value}function lodash(){}function arrayCopy(source,array){var index=-1,length=source.length;for(array||(array=Array(length));length>++index;)array[index]=source[index];return array}function arrayEach(array,iteratee){for(var index=-1,length=array.length;length>++index&&iteratee(array[index],index,array)!==!1;);return array}function arrayFilter(array,predicate){for(var index=-1,length=array.length,resIndex=-1,result=[];length>++index;){var value=array[index];predicate(value,index,array)&&(result[++resIndex]=value)}return result}function arrayMap(array,iteratee){for(var index=-1,length=array.length,result=Array(length);length>++index;)result[index]=iteratee(array[index],index,array);return result}function arrayMax(array){for(var index=-1,length=array.length,result=NEGATIVE_INFINITY;length>++index;){var value=array[index];value>result&&(result=value)}return result}function arraySome(array,predicate){for(var index=-1,length=array.length;length>++index;)if(predicate(array[index],index,array))return!0;return!1}function assignWith(object,source,customizer){var props=keys(source);push.apply(props,getSymbols(source));for(var index=-1,length=props.length;length>++index;){var key=props[index],value=object[key],result=customizer(value,source[key],key,object,source);(result===result?result===value:value!==value)&&(value!==undefined||key in object)||(object[key]=result)}return object}function baseCopy(source,props,object){object||(object={});for(var index=-1,length=props.length;length>++index;){var key=props[index];object[key]=source[key]}return object}function baseCallback(func,thisArg,argCount){var type=typeof func;return\"function\"==type?thisArg===undefined?func:bindCallback(func,thisArg,argCount):null==func?identity:\"object\"==type?baseMatches(func):thisArg===undefined?property(func):baseMatchesProperty(func,thisArg)}function baseClone(value,isDeep,customizer,key,object,stackA,stackB){var result;if(customizer&&(result=object?customizer(value,key,object):customizer(value)),result!==undefined)return result;if(!isObject(value))return value;var isArr=isArray(value);if(isArr){if(result=initCloneArray(value),!isDeep)return arrayCopy(value,result)}else{var tag=objToString.call(value),isFunc=tag==funcTag;if(tag!=objectTag&&tag!=argsTag&&(!isFunc||object))return cloneableTags[tag]?initCloneByTag(value,tag,isDeep):object?value:{};if(result=initCloneObject(isFunc?{}:value),!isDeep)return baseAssign(result,value)}stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==value)return stackB[length];return stackA.push(value),stackB.push(result),(isArr?arrayEach:baseForOwn)(value,function(subValue,key){result[key]=baseClone(subValue,isDeep,customizer,key,value,stackA,stackB)}),result}function baseFilter(collection,predicate){var result=[];return baseEach(collection,function(value,index,collection){predicate(value,index,collection)&&result.push(value)}),result}function baseForIn(object,iteratee){return baseFor(object,iteratee,keysIn)}function baseForOwn(object,iteratee){return baseFor(object,iteratee,keys)}function baseGet(object,path,pathKey){if(null!=object){pathKey!==undefined&&pathKey in toObject(object)&&(path=[pathKey]);for(var index=-1,length=path.length;null!=object&&length>++index;)var result=object=object[path[index]];return result}}function baseIsEqual(value,other,customizer,isLoose,stackA,stackB){if(value===other)return 0!==value||1/value==1/other;var valType=typeof value,othType=typeof other;return\"function\"!=valType&&\"object\"!=valType&&\"function\"!=othType&&\"object\"!=othType||null==value||null==other?value!==value&&other!==other:baseIsEqualDeep(value,other,baseIsEqual,customizer,isLoose,stackA,stackB)}function baseIsEqualDeep(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objIsArr=isArray(object),othIsArr=isArray(other),objTag=arrayTag,othTag=arrayTag;objIsArr||(objTag=objToString.call(object),objTag==argsTag?objTag=objectTag:objTag!=objectTag&&(objIsArr=isTypedArray(object))),othIsArr||(othTag=objToString.call(other),othTag==argsTag?othTag=objectTag:othTag!=objectTag&&(othIsArr=isTypedArray(other)));var objIsObj=objTag==objectTag,othIsObj=othTag==objectTag,isSameTag=objTag==othTag;if(isSameTag&&!objIsArr&&!objIsObj)return equalByTag(object,other,objTag);if(!isLoose){var valWrapped=objIsObj&&hasOwnProperty.call(object,\"__wrapped__\"),othWrapped=othIsObj&&hasOwnProperty.call(other,\"__wrapped__\");if(valWrapped||othWrapped)return equalFunc(valWrapped?object.value():object,othWrapped?other.value():other,customizer,isLoose,stackA,stackB)}if(!isSameTag)return!1;stackA||(stackA=[]),stackB||(stackB=[]);for(var length=stackA.length;length--;)if(stackA[length]==object)return stackB[length]==other;stackA.push(object),stackB.push(other);var result=(objIsArr?equalArrays:equalObjects)(object,other,equalFunc,customizer,isLoose,stackA,stackB);return stackA.pop(),stackB.pop(),result}function baseIsMatch(object,props,values,strictCompareFlags,customizer){for(var index=-1,length=props.length,noCustomizer=!customizer;length>++index;)if(noCustomizer&&strictCompareFlags[index]?values[index]!==object[props[index]]:!(props[index]in object))return!1;for(index=-1;length>++index;){var key=props[index],objValue=object[key],srcValue=values[index];if(noCustomizer&&strictCompareFlags[index])var result=objValue!==undefined||key in object;else result=customizer?customizer(objValue,srcValue,key):undefined,result===undefined&&(result=baseIsEqual(srcValue,objValue,customizer,!0));if(!result)return!1}return!0}function baseMatches(source){var props=keys(source),length=props.length;if(!length)return constant(!0);if(1==length){var key=props[0],value=source[key];if(isStrictComparable(value))return function(object){return null==object?!1:object[key]===value&&(value!==undefined||key in toObject(object))}}for(var values=Array(length),strictCompareFlags=Array(length);length--;)value=source[props[length]],values[length]=value,strictCompareFlags[length]=isStrictComparable(value);return function(object){return null!=object&&baseIsMatch(toObject(object),props,values,strictCompareFlags)}}function baseMatchesProperty(path,value){var isArr=isArray(path),isCommon=isKey(path)&&isStrictComparable(value),pathKey=path+\"\";return path=toPath(path),function(object){if(null==object)return!1;var key=pathKey;if(object=toObject(object),!(!isArr&&isCommon||key in object)){if(object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),null==object)return!1;key=last(path),object=toObject(object)}return object[key]===value?value!==undefined||key in object:baseIsEqual(value,object[key],null,!0)}}function baseMerge(object,source,customizer,stackA,stackB){if(!isObject(object))return object;var isSrcArr=isLength(source.length)&&(isArray(source)||isTypedArray(source));if(!isSrcArr){var props=keys(source);push.apply(props,getSymbols(source))}return arrayEach(props||source,function(srcValue,key){if(props&&(key=srcValue,srcValue=source[key]),isObjectLike(srcValue))stackA||(stackA=[]),stackB||(stackB=[]),baseMergeDeep(object,source,key,baseMerge,customizer,stackA,stackB);else{var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue),!isSrcArr&&result===undefined||!isCommon&&(result===result?result===value:value!==value)||(object[key]=result)}}),object}function baseMergeDeep(object,source,key,mergeFunc,customizer,stackA,stackB){for(var length=stackA.length,srcValue=source[key];length--;)if(stackA[length]==srcValue)return object[key]=stackB[length],undefined;var value=object[key],result=customizer?customizer(value,srcValue,key,object,source):undefined,isCommon=result===undefined;isCommon&&(result=srcValue,isLength(srcValue.length)&&(isArray(srcValue)||isTypedArray(srcValue))?result=isArray(value)?value:getLength(value)?arrayCopy(value):[]:isPlainObject(srcValue)||isArguments(srcValue)?result=isArguments(value)?toPlainObject(value):isPlainObject(value)?value:{}:isCommon=!1),stackA.push(srcValue),stackB.push(result),isCommon?object[key]=mergeFunc(result,srcValue,customizer,stackA,stackB):(result===result?result!==value:value===value)&&(object[key]=result)}function baseProperty(key){return function(object){return null==object?undefined:object[key]}}function basePropertyDeep(path){var pathKey=path+\"\";return path=toPath(path),function(object){return baseGet(object,path,pathKey)}}function baseSlice(array,start,end){var index=-1,length=array.length;start=null==start?0:+start||0,0>start&&(start=-start>length?0:length+start),end=end===undefined||end>length?length:+end||0,0>end&&(end+=length),length=start>end?0:end-start>>>0,start>>>=0;for(var result=Array(length);length>++index;)result[index]=array[index+start];return result}function baseSome(collection,predicate){var result;return baseEach(collection,function(value,index,collection){return result=predicate(value,index,collection),!result}),!!result}function baseValues(object,props){for(var index=-1,length=props.length,result=Array(length);length>++index;)result[index]=object[props[index]];return result}function binaryIndex(array,value,retHighest){var low=0,high=array?array.length:low;if(\"number\"==typeof value&&value===value&&HALF_MAX_ARRAY_LENGTH>=high){for(;high>low;){var mid=low+high>>>1,computed=array[mid];(retHighest?value>=computed:value>computed)?low=mid+1:high=mid}return high}return binaryIndexBy(array,value,identity,retHighest)}function binaryIndexBy(array,value,iteratee,retHighest){value=iteratee(value);for(var low=0,high=array?array.length:0,valIsNaN=value!==value,valIsUndef=value===undefined;high>low;){var mid=floor((low+high)/2),computed=iteratee(array[mid]),isReflexive=computed===computed;if(valIsNaN)var setLow=isReflexive||retHighest;else setLow=valIsUndef?isReflexive&&(retHighest||computed!==undefined):retHighest?value>=computed:value>computed;setLow?low=mid+1:high=mid}return nativeMin(high,MAX_ARRAY_INDEX)}function bindCallback(func,thisArg,argCount){if(\"function\"!=typeof func)return identity;if(thisArg===undefined)return func;switch(argCount){case 1:return function(value){return func.call(thisArg,value)};case 3:return function(value,index,collection){return func.call(thisArg,value,index,collection)};case 4:return function(accumulator,value,index,collection){return func.call(thisArg,accumulator,value,index,collection)};case 5:return function(value,other,key,object,source){return func.call(thisArg,value,other,key,object,source)}}return function(){return func.apply(thisArg,arguments)}}function bufferClone(buffer){return bufferSlice.call(buffer,0)}function createAssigner(assigner){return restParam(function(object,sources){var index=-1,length=null==object?0:sources.length,customizer=length>2&&sources[length-2],guard=length>2&&sources[2],thisArg=length>1&&sources[length-1];for(\"function\"==typeof customizer?(customizer=bindCallback(customizer,thisArg,5),length-=2):(customizer=\"function\"==typeof thisArg?thisArg:null,length-=customizer?1:0),guard&&isIterateeCall(sources[0],sources[1],guard)&&(customizer=3>length?null:customizer,length=1);length>++index;){var source=sources[index];source&&assigner(object,source,customizer)}return object})}function createBaseEach(eachFunc,fromRight){return function(collection,iteratee){var length=collection?getLength(collection):0;if(!isLength(length))return eachFunc(collection,iteratee);for(var index=fromRight?length:-1,iterable=toObject(collection);(fromRight?index--:length>++index)&&iteratee(iterable[index],index,iterable)!==!1;);return collection}}function createBaseFor(fromRight){return function(object,iteratee,keysFunc){for(var iterable=toObject(object),props=keysFunc(object),length=props.length,index=fromRight?length:-1;fromRight?index--:length>++index;){var key=props[index];if(iteratee(iterable[key],key,iterable)===!1)break}return object}}function createFindIndex(fromRight){return function(array,predicate,thisArg){return array&&array.length?(predicate=getCallback(predicate,thisArg,3),baseFindIndex(array,predicate,fromRight)):-1}}function createForEach(arrayFunc,eachFunc){return function(collection,iteratee,thisArg){return\"function\"==typeof iteratee&&thisArg===undefined&&isArray(collection)?arrayFunc(collection,iteratee):eachFunc(collection,bindCallback(iteratee,thisArg,3))}}function equalArrays(array,other,equalFunc,customizer,isLoose,stackA,stackB){var index=-1,arrLength=array.length,othLength=other.length,result=!0;if(arrLength!=othLength&&!(isLoose&&othLength>arrLength))return!1;for(;result&&arrLength>++index;){var arrValue=array[index],othValue=other[index];if(result=undefined,customizer&&(result=isLoose?customizer(othValue,arrValue,index):customizer(arrValue,othValue,index)),result===undefined)if(isLoose)for(var othIndex=othLength;othIndex--&&(othValue=other[othIndex],!(result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB))););else result=arrValue&&arrValue===othValue||equalFunc(arrValue,othValue,customizer,isLoose,stackA,stackB)}return!!result}function equalByTag(object,other,tag){switch(tag){case boolTag:case dateTag:return+object==+other;case errorTag:return object.name==other.name&&object.message==other.message;case numberTag:return object!=+object?other!=+other:0==object?1/object==1/other:object==+other;case regexpTag:case stringTag:return object==other+\"\"}return!1}function equalObjects(object,other,equalFunc,customizer,isLoose,stackA,stackB){var objProps=keys(object),objLength=objProps.length,othProps=keys(other),othLength=othProps.length;if(objLength!=othLength&&!isLoose)return!1;for(var skipCtor=isLoose,index=-1;objLength>++index;){var key=objProps[index],result=isLoose?key in other:hasOwnProperty.call(other,key);if(result){var objValue=object[key],othValue=other[key];result=undefined,customizer&&(result=isLoose?customizer(othValue,objValue,key):customizer(objValue,othValue,key)),result===undefined&&(result=objValue&&objValue===othValue||equalFunc(objValue,othValue,customizer,isLoose,stackA,stackB))}if(!result)return!1;skipCtor||(skipCtor=\"constructor\"==key)}if(!skipCtor){var objCtor=object.constructor,othCtor=other.constructor;if(objCtor!=othCtor&&\"constructor\"in object&&\"constructor\"in other&&!(\"function\"==typeof objCtor&&objCtor instanceof objCtor&&\"function\"==typeof othCtor&&othCtor instanceof othCtor))return!1}return!0}function getCallback(func,thisArg,argCount){var result=lodash.callback||callback;return result=result===callback?baseCallback:result,argCount?result(func,thisArg,argCount):result}function getIndexOf(collection,target,fromIndex){var result=lodash.indexOf||indexOf;return result=result===indexOf?baseIndexOf:result,collection?result(collection,target,fromIndex):result}function initCloneArray(array){var length=array.length,result=new array.constructor(length);return length&&\"string\"==typeof array[0]&&hasOwnProperty.call(array,\"index\")&&(result.index=array.index,result.input=array.input),result}function initCloneObject(object){var Ctor=object.constructor;return\"function\"==typeof Ctor&&Ctor instanceof Ctor||(Ctor=Object),new Ctor}function initCloneByTag(object,tag,isDeep){var Ctor=object.constructor;switch(tag){case arrayBufferTag:return bufferClone(object);case boolTag:case dateTag:return new Ctor(+object);case float32Tag:case float64Tag:case int8Tag:case int16Tag:case int32Tag:case uint8Tag:case uint8ClampedTag:case uint16Tag:case uint32Tag:var buffer=object.buffer;return new Ctor(isDeep?bufferClone(buffer):buffer,object.byteOffset,object.length);case numberTag:case stringTag:return new Ctor(object);case regexpTag:var result=new Ctor(object.source,reFlags.exec(object));result.lastIndex=object.lastIndex}return result}function isIndex(value,length){return value=+value,length=null==length?MAX_SAFE_INTEGER:length,value>-1&&0==value%1&&length>value}function isIterateeCall(value,index,object){if(!isObject(object))return!1;var type=typeof index;if(\"number\"==type)var length=getLength(object),prereq=isLength(length)&&isIndex(index,length);else prereq=\"string\"==type&&index in object;if(prereq){var other=object[index];return value===value?value===other:other!==other}return!1}function isKey(value,object){var type=typeof value;if(\"string\"==type&&reIsPlainProp.test(value)||\"number\"==type)return!0;if(isArray(value))return!1;var result=!reIsDeepProp.test(value);return result||null!=object&&value in toObject(object)}function isLength(value){return\"number\"==typeof value&&value>-1&&0==value%1&&MAX_SAFE_INTEGER>=value}function isStrictComparable(value){return value===value&&(0===value?1/value>0:!isObject(value))}function shimIsPlainObject(value){var Ctor;if(lodash.support,!isObjectLike(value)||objToString.call(value)!=objectTag||!hasOwnProperty.call(value,\"constructor\")&&(Ctor=value.constructor,\"function\"==typeof Ctor&&!(Ctor instanceof Ctor)))return!1;var result;return baseForIn(value,function(subValue,key){result=key}),result===undefined||hasOwnProperty.call(value,result)}function shimKeys(object){for(var props=keysIn(object),propsLength=props.length,length=propsLength&&object.length,support=lodash.support,allowIndexes=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object)),index=-1,result=[];propsLength>++index;){var key=props[index];(allowIndexes&&isIndex(key,length)||hasOwnProperty.call(object,key))&&result.push(key)}return result}function toObject(value){return isObject(value)?value:Object(value)}function toPath(value){if(isArray(value))return value;var result=[];return baseToString(value).replace(rePropName,function(match,number,quote,string){result.push(quote?string.replace(reEscapeChar,\"$1\"):number||match)}),result}function indexOf(array,value,fromIndex){var length=array?array.length:0;if(!length)return-1;if(\"number\"==typeof fromIndex)fromIndex=0>fromIndex?nativeMax(length+fromIndex,0):fromIndex;else if(fromIndex){var index=binaryIndex(array,value),other=array[index];return(value===value?value===other:other!==other)?index:-1}return baseIndexOf(array,value,fromIndex||0)}function last(array){var length=array?array.length:0;return length?array[length-1]:undefined}function slice(array,start,end){var length=array?array.length:0;return length?(end&&\"number\"!=typeof end&&isIterateeCall(array,start,end)&&(start=0,end=length),baseSlice(array,start,end)):[]}function unzip(array){for(var index=-1,length=(array&&array.length&&arrayMax(arrayMap(array,getLength)))>>>0,result=Array(length);length>++index;)result[index]=arrayMap(array,baseProperty(index));return result}function includes(collection,target,fromIndex,guard){var length=collection?getLength(collection):0;return isLength(length)||(collection=values(collection),length=collection.length),length?(fromIndex=\"number\"!=typeof fromIndex||guard&&isIterateeCall(target,fromIndex,guard)?0:0>fromIndex?nativeMax(length+fromIndex,0):fromIndex||0,\"string\"==typeof collection||!isArray(collection)&&isString(collection)?length>fromIndex&&collection.indexOf(target,fromIndex)>-1:getIndexOf(collection,target,fromIndex)>-1):!1}function reject(collection,predicate,thisArg){var func=isArray(collection)?arrayFilter:baseFilter;return predicate=getCallback(predicate,thisArg,3),func(collection,function(value,index,collection){return!predicate(value,index,collection)})}function some(collection,predicate,thisArg){var func=isArray(collection)?arraySome:baseSome;return thisArg&&isIterateeCall(collection,predicate,thisArg)&&(predicate=null),(\"function\"!=typeof predicate||thisArg!==undefined)&&(predicate=getCallback(predicate,thisArg,3)),func(collection,predicate)}function restParam(func,start){if(\"function\"!=typeof func)throw new TypeError(FUNC_ERROR_TEXT);return start=nativeMax(start===undefined?func.length-1:+start||0,0),function(){for(var args=arguments,index=-1,length=nativeMax(args.length-start,0),rest=Array(length);length>++index;)rest[index]=args[start+index];switch(start){case 0:return func.call(this,rest);case 1:return func.call(this,args[0],rest);case 2:return func.call(this,args[0],args[1],rest)}var otherArgs=Array(start+1);for(index=-1;start>++index;)otherArgs[index]=args[index];return otherArgs[start]=rest,func.apply(this,otherArgs)}}function clone(value,isDeep,customizer,thisArg){return isDeep&&\"boolean\"!=typeof isDeep&&isIterateeCall(value,isDeep,customizer)?isDeep=!1:\"function\"==typeof isDeep&&(thisArg=customizer,customizer=isDeep,isDeep=!1),customizer=\"function\"==typeof customizer&&bindCallback(customizer,thisArg,1),baseClone(value,isDeep,customizer)}function isArguments(value){var length=isObjectLike(value)?value.length:undefined;return isLength(length)&&objToString.call(value)==argsTag}function isEmpty(value){if(null==value)return!0;var length=getLength(value);return isLength(length)&&(isArray(value)||isString(value)||isArguments(value)||isObjectLike(value)&&isFunction(value.splice))?!length:!keys(value).length}function isObject(value){var type=typeof value;return\"function\"==type||!!value&&\"object\"==type}function isNative(value){return null==value?!1:objToString.call(value)==funcTag?reIsNative.test(fnToString.call(value)):isObjectLike(value)&&reIsHostCtor.test(value)}function isNumber(value){return\"number\"==typeof value||isObjectLike(value)&&objToString.call(value)==numberTag}function isString(value){return\"string\"==typeof value||isObjectLike(value)&&objToString.call(value)==stringTag}function isTypedArray(value){return isObjectLike(value)&&isLength(value.length)&&!!typedArrayTags[objToString.call(value)]}function toPlainObject(value){return baseCopy(value,keysIn(value))}function has(object,path){if(null==object)return!1;var result=hasOwnProperty.call(object,path);return result||isKey(path)||(path=toPath(path),object=1==path.length?object:baseGet(object,baseSlice(path,0,-1)),path=last(path),result=null!=object&&hasOwnProperty.call(object,path)),result}function keysIn(object){if(null==object)return[];isObject(object)||(object=Object(object));var length=object.length;length=length&&isLength(length)&&(isArray(object)||support.nonEnumArgs&&isArguments(object))&&length||0;for(var Ctor=object.constructor,index=-1,isProto=\"function\"==typeof Ctor&&Ctor.prototype===object,result=Array(length),skipIndexes=length>0;length>++index;)result[index]=index+\"\";for(var key in object)skipIndexes&&isIndex(key,length)||\"constructor\"==key&&(isProto||!hasOwnProperty.call(object,key))||result.push(key);return result}function values(object){return baseValues(object,keys(object))}function escapeRegExp(string){return string=baseToString(string),string&&reHasRegExpChars.test(string)?string.replace(reRegExpChars,\"\\\\$&\"):string}function callback(func,thisArg,guard){return guard&&isIterateeCall(func,thisArg,guard)&&(thisArg=null),baseCallback(func,thisArg)}function constant(value){return function(){return value}}function identity(value){return value}function property(path){return isKey(path)?baseProperty(path):basePropertyDeep(path)}var undefined,VERSION=\"3.7.0\",FUNC_ERROR_TEXT=\"Expected a function\",argsTag=\"[object Arguments]\",arrayTag=\"[object Array]\",boolTag=\"[object Boolean]\",dateTag=\"[object Date]\",errorTag=\"[object Error]\",funcTag=\"[object Function]\",mapTag=\"[object Map]\",numberTag=\"[object Number]\",objectTag=\"[object Object]\",regexpTag=\"[object RegExp]\",setTag=\"[object Set]\",stringTag=\"[object String]\",weakMapTag=\"[object WeakMap]\",arrayBufferTag=\"[object ArrayBuffer]\",float32Tag=\"[object Float32Array]\",float64Tag=\"[object Float64Array]\",int8Tag=\"[object Int8Array]\",int16Tag=\"[object Int16Array]\",int32Tag=\"[object Int32Array]\",uint8Tag=\"[object Uint8Array]\",uint8ClampedTag=\"[object Uint8ClampedArray]\",uint16Tag=\"[object Uint16Array]\",uint32Tag=\"[object Uint32Array]\",reIsDeepProp=/\\.|\\[(?:[^[\\]]+|([\"'])(?:(?!\\1)[^\\n\\\\]|\\\\.)*?)\\1\\]/,reIsPlainProp=/^\\w*$/,rePropName=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\n\\\\]|\\\\.)*?)\\2)\\]/g,reRegExpChars=/[.*+?^${}()|[\\]\\/\\\\]/g,reHasRegExpChars=RegExp(reRegExpChars.source),reEscapeChar=/\\\\(\\\\)?/g,reFlags=/\\w*$/,reIsHostCtor=/^\\[object .+?Constructor\\]$/,typedArrayTags={};typedArrayTags[float32Tag]=typedArrayTags[float64Tag]=typedArrayTags[int8Tag]=typedArrayTags[int16Tag]=typedArrayTags[int32Tag]=typedArrayTags[uint8Tag]=typedArrayTags[uint8ClampedTag]=typedArrayTags[uint16Tag]=typedArrayTags[uint32Tag]=!0,typedArrayTags[argsTag]=typedArrayTags[arrayTag]=typedArrayTags[arrayBufferTag]=typedArrayTags[boolTag]=typedArrayTags[dateTag]=typedArrayTags[errorTag]=typedArrayTags[funcTag]=typedArrayTags[mapTag]=typedArrayTags[numberTag]=typedArrayTags[objectTag]=typedArrayTags[regexpTag]=typedArrayTags[setTag]=typedArrayTags[stringTag]=typedArrayTags[weakMapTag]=!1;var cloneableTags={};cloneableTags[argsTag]=cloneableTags[arrayTag]=cloneableTags[arrayBufferTag]=cloneableTags[boolTag]=cloneableTags[dateTag]=cloneableTags[float32Tag]=cloneableTags[float64Tag]=cloneableTags[int8Tag]=cloneableTags[int16Tag]=cloneableTags[int32Tag]=cloneableTags[numberTag]=cloneableTags[objectTag]=cloneableTags[regexpTag]=cloneableTags[stringTag]=cloneableTags[uint8Tag]=cloneableTags[uint8ClampedTag]=cloneableTags[uint16Tag]=cloneableTags[uint32Tag]=!0,cloneableTags[errorTag]=cloneableTags[funcTag]=cloneableTags[mapTag]=cloneableTags[setTag]=cloneableTags[weakMapTag]=!1;var objectTypes={\"function\":!0,object:!0},freeExports=objectTypes[typeof exports]&&exports&&!exports.nodeType&&exports,freeModule=objectTypes[typeof module]&&module&&!module.nodeType&&module,freeGlobal=freeExports&&freeModule&&\"object\"==typeof global&&global&&global.Object&&global,freeSelf=objectTypes[typeof self]&&self&&self.Object&&self,freeWindow=objectTypes[typeof window]&&window&&window.Object&&window,moduleExports=freeModule&&freeModule.exports===freeExports&&freeExports,root=freeGlobal||freeWindow!==(this&&this.window)&&freeWindow||freeSelf||this,arrayProto=Array.prototype,objectProto=Object.prototype,fnToString=Function.prototype.toString,hasOwnProperty=objectProto.hasOwnProperty,objToString=objectProto.toString,reIsNative=RegExp(\"^\"+escapeRegExp(objToString).replace(/toString|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),ArrayBuffer=isNative(ArrayBuffer=root.ArrayBuffer)&&ArrayBuffer,bufferSlice=isNative(bufferSlice=ArrayBuffer&&new ArrayBuffer(0).slice)&&bufferSlice,floor=Math.floor,getOwnPropertySymbols=isNative(getOwnPropertySymbols=Object.getOwnPropertySymbols)&&getOwnPropertySymbols,getPrototypeOf=isNative(getPrototypeOf=Object.getPrototypeOf)&&getPrototypeOf,push=arrayProto.push,preventExtensions=isNative(Object.preventExtensions=Object.preventExtensions)&&preventExtensions,propertyIsEnumerable=objectProto.propertyIsEnumerable,Uint8Array=isNative(Uint8Array=root.Uint8Array)&&Uint8Array,Float64Array=function(){try{var func=isNative(func=root.Float64Array)&&func,result=new func(new ArrayBuffer(10),0,1)&&func}catch(e){}return result}(),nativeAssign=function(){var object={1:0},func=preventExtensions&&isNative(func=Object.assign)&&func;try{func(preventExtensions(object),\"xo\")}catch(e){}return!object[1]&&func}(),nativeIsArray=isNative(nativeIsArray=Array.isArray)&&nativeIsArray,nativeKeys=isNative(nativeKeys=Object.keys)&&nativeKeys,nativeMax=Math.max,nativeMin=Math.min,NEGATIVE_INFINITY=Number.NEGATIVE_INFINITY,MAX_ARRAY_LENGTH=Math.pow(2,32)-1,MAX_ARRAY_INDEX=MAX_ARRAY_LENGTH-1,HALF_MAX_ARRAY_LENGTH=MAX_ARRAY_LENGTH>>>1,FLOAT64_BYTES_PER_ELEMENT=Float64Array?Float64Array.BYTES_PER_ELEMENT:0,MAX_SAFE_INTEGER=Math.pow(2,53)-1,support=lodash.support={};(function(x){var Ctor=function(){this.x=x},props=[];Ctor.prototype={valueOf:x,y:x};for(var key in new Ctor)props.push(key);support.funcDecomp=/\\bthis\\b/.test(function(){return this}),support.funcNames=\"string\"==typeof Function.name;try{support.nonEnumArgs=!propertyIsEnumerable.call(arguments,1)}catch(e){support.nonEnumArgs=!0}})(1,0);var baseAssign=nativeAssign||function(object,source){return null==source?object:baseCopy(source,getSymbols(source),baseCopy(source,keys(source),object))},baseEach=createBaseEach(baseForOwn),baseFor=createBaseFor();bufferSlice||(bufferClone=ArrayBuffer&&Uint8Array?function(buffer){var byteLength=buffer.byteLength,floatLength=Float64Array?floor(byteLength/FLOAT64_BYTES_PER_ELEMENT):0,offset=floatLength*FLOAT64_BYTES_PER_ELEMENT,result=new ArrayBuffer(byteLength);if(floatLength){var view=new Float64Array(result,0,floatLength);view.set(new Float64Array(buffer,0,floatLength))}return byteLength!=offset&&(view=new Uint8Array(result,offset),view.set(new Uint8Array(buffer,offset))),result}:constant(null));var getLength=baseProperty(\"length\"),getSymbols=getOwnPropertySymbols?function(object){return getOwnPropertySymbols(toObject(object))}:constant([]),findLastIndex=createFindIndex(!0),zip=restParam(unzip),forEach=createForEach(arrayEach,baseEach),isArray=nativeIsArray||function(value){return isObjectLike(value)&&isLength(value.length)&&objToString.call(value)==arrayTag},isFunction=baseIsFunction(/x/)||Uint8Array&&!baseIsFunction(Uint8Array)?function(value){return objToString.call(value)==funcTag}:baseIsFunction,isPlainObject=getPrototypeOf?function(value){if(!value||objToString.call(value)!=objectTag)return!1;var valueOf=value.valueOf,objProto=isNative(valueOf)&&(objProto=getPrototypeOf(valueOf))&&getPrototypeOf(objProto);return objProto?value==objProto||getPrototypeOf(value)==objProto:shimIsPlainObject(value)}:shimIsPlainObject,assign=createAssigner(function(object,source,customizer){return customizer?assignWith(object,source,customizer):baseAssign(object,source)}),keys=nativeKeys?function(object){if(object)var Ctor=object.constructor,length=object.length;return\"function\"==typeof Ctor&&Ctor.prototype===object||\"function\"!=typeof object&&isLength(length)?shimKeys(object):isObject(object)?nativeKeys(object):[]}:shimKeys,merge=createAssigner(baseMerge);lodash.assign=assign,lodash.callback=callback,lodash.constant=constant,lodash.forEach=forEach,lodash.keys=keys,lodash.keysIn=keysIn,lodash.merge=merge,lodash.property=property,lodash.reject=reject,lodash.restParam=restParam,lodash.slice=slice,lodash.toPlainObject=toPlainObject,lodash.unzip=unzip,lodash.values=values,lodash.zip=zip,lodash.each=forEach,lodash.extend=assign,lodash.iteratee=callback,lodash.clone=clone,lodash.escapeRegExp=escapeRegExp,lodash.findLastIndex=findLastIndex,lodash.has=has,lodash.identity=identity,lodash.includes=includes,lodash.indexOf=indexOf,lodash.isArguments=isArguments,lodash.isArray=isArray,lodash.isEmpty=isEmpty,lodash.isFunction=isFunction,lodash.isNative=isNative,lodash.isNumber=isNumber,lodash.isObject=isObject,lodash.isPlainObject=isPlainObject,lodash.isString=isString,lodash.isTypedArray=isTypedArray,lodash.last=last,lodash.some=some,lodash.any=some,lodash.contains=includes,lodash.include=includes,lodash.VERSION=VERSION,freeExports&&freeModule?moduleExports?(freeModule.exports=lodash)._=lodash:freeExports._=lodash:root._=lodash\n}).call(this)}).call(this,\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:\"undefined\"!=typeof window?window:{})},{}],\"/node_modules/jshint/src/jshint.js\":[function(_dereq_,module,exports){var _=_dereq_(\"../lodash\"),events=_dereq_(\"events\"),vars=_dereq_(\"./vars.js\"),messages=_dereq_(\"./messages.js\"),Lexer=_dereq_(\"./lex.js\").Lexer,reg=_dereq_(\"./reg.js\"),state=_dereq_(\"./state.js\").state,style=_dereq_(\"./style.js\"),options=_dereq_(\"./options.js\"),scopeManager=_dereq_(\"./scope-manager.js\"),JSHINT=function(){\"use strict\";function checkOption(name,t){return name=name.trim(),/^[+-]W\\d{3}$/g.test(name)?!0:-1!==options.validNames.indexOf(name)||\"jslint\"===t.type||_.has(options.removed,name)?!0:(error(\"E001\",t,name),!1)}function isString(obj){return\"[object String]\"===Object.prototype.toString.call(obj)}function isIdentifier(tkn,value){return tkn?tkn.identifier&&tkn.value===value?!0:!1:!1}function isReserved(token){if(!token.reserved)return!1;var meta=token.meta;if(meta&&meta.isFutureReservedWord&&state.inES5()){if(!meta.es5)return!1;if(meta.strictOnly&&!state.option.strict&&!state.isStrict())return!1;if(token.isProperty)return!1}return!0}function supplant(str,data){return str.replace(/\\{([^{}]*)\\}/g,function(a,b){var r=data[b];return\"string\"==typeof r||\"number\"==typeof r?r:a})}function combine(dest,src){Object.keys(src).forEach(function(name){_.has(JSHINT.blacklist,name)||(dest[name]=src[name])})}function processenforceall(){if(state.option.enforceall){for(var enforceopt in options.bool.enforcing)void 0!==state.option[enforceopt]||options.noenforceall[enforceopt]||(state.option[enforceopt]=!0);for(var relaxopt in options.bool.relaxing)void 0===state.option[relaxopt]&&(state.option[relaxopt]=!1)}}function assume(){processenforceall(),state.option.esversion||state.option.moz||(state.option.esversion=state.option.es3?3:state.option.esnext?6:5),state.inES5()&&combine(predefined,vars.ecmaIdentifiers[5]),state.inES6()&&combine(predefined,vars.ecmaIdentifiers[6]),state.option.module&&(state.option.strict===!0&&(state.option.strict=\"global\"),state.inES6()||warning(\"W134\",state.tokens.next,\"module\",6)),state.option.couch&&combine(predefined,vars.couch),state.option.qunit&&combine(predefined,vars.qunit),state.option.rhino&&combine(predefined,vars.rhino),state.option.shelljs&&(combine(predefined,vars.shelljs),combine(predefined,vars.node)),state.option.typed&&combine(predefined,vars.typed),state.option.phantom&&(combine(predefined,vars.phantom),state.option.strict===!0&&(state.option.strict=\"global\")),state.option.prototypejs&&combine(predefined,vars.prototypejs),state.option.node&&(combine(predefined,vars.node),combine(predefined,vars.typed),state.option.strict===!0&&(state.option.strict=\"global\")),state.option.devel&&combine(predefined,vars.devel),state.option.dojo&&combine(predefined,vars.dojo),state.option.browser&&(combine(predefined,vars.browser),combine(predefined,vars.typed)),state.option.browserify&&(combine(predefined,vars.browser),combine(predefined,vars.typed),combine(predefined,vars.browserify),state.option.strict===!0&&(state.option.strict=\"global\")),state.option.nonstandard&&combine(predefined,vars.nonstandard),state.option.jasmine&&combine(predefined,vars.jasmine),state.option.jquery&&combine(predefined,vars.jquery),state.option.mootools&&combine(predefined,vars.mootools),state.option.worker&&combine(predefined,vars.worker),state.option.wsh&&combine(predefined,vars.wsh),state.option.globalstrict&&state.option.strict!==!1&&(state.option.strict=\"global\"),state.option.yui&&combine(predefined,vars.yui),state.option.mocha&&combine(predefined,vars.mocha)}function quit(code,line,chr){var percentage=Math.floor(100*(line/state.lines.length)),message=messages.errors[code].desc;throw{name:\"JSHintError\",line:line,character:chr,message:message+\" (\"+percentage+\"% scanned).\",raw:message,code:code}}function removeIgnoredMessages(){var ignored=state.ignoredLines;_.isEmpty(ignored)||(JSHINT.errors=_.reject(JSHINT.errors,function(err){return ignored[err.line]}))}function warning(code,t,a,b,c,d){var ch,l,w,msg;if(/^W\\d{3}$/.test(code)){if(state.ignored[code])return;msg=messages.warnings[code]}else/E\\d{3}/.test(code)?msg=messages.errors[code]:/I\\d{3}/.test(code)&&(msg=messages.info[code]);return t=t||state.tokens.next||{},\"(end)\"===t.id&&(t=state.tokens.curr),l=t.line||0,ch=t.from||0,w={id:\"(error)\",raw:msg.desc,code:msg.code,evidence:state.lines[l-1]||\"\",line:l,character:ch,scope:JSHINT.scope,a:a,b:b,c:c,d:d},w.reason=supplant(msg.desc,w),JSHINT.errors.push(w),removeIgnoredMessages(),JSHINT.errors.length>=state.option.maxerr&&quit(\"E043\",l,ch),w}function warningAt(m,l,ch,a,b,c,d){return warning(m,{line:l,from:ch},a,b,c,d)}function error(m,t,a,b,c,d){warning(m,t,a,b,c,d)}function errorAt(m,l,ch,a,b,c,d){return error(m,{line:l,from:ch},a,b,c,d)}function addInternalSrc(elem,src){var i;return i={id:\"(internal)\",elem:elem,value:src},JSHINT.internals.push(i),i}function doOption(){var nt=state.tokens.next,body=nt.body.match(/(-\\s+)?[^\\s,:]+(?:\\s*:\\s*(-\\s+)?[^\\s,]+)?/g)||[],predef={};if(\"globals\"===nt.type){body.forEach(function(g,idx){g=g.split(\":\");var key=(g[0]||\"\").trim(),val=(g[1]||\"\").trim();if(\"-\"===key||!key.length){if(idx>0&&idx===body.length-1)return;return error(\"E002\",nt),void 0}\"-\"===key.charAt(0)?(key=key.slice(1),val=!1,JSHINT.blacklist[key]=key,delete predefined[key]):predef[key]=\"true\"===val}),combine(predefined,predef);for(var key in predef)_.has(predef,key)&&(declared[key]=nt)}\"exported\"===nt.type&&body.forEach(function(e,idx){if(!e.length){if(idx>0&&idx===body.length-1)return;return error(\"E002\",nt),void 0}state.funct[\"(scope)\"].addExported(e)}),\"members\"===nt.type&&(membersOnly=membersOnly||{},body.forEach(function(m){var ch1=m.charAt(0),ch2=m.charAt(m.length-1);ch1!==ch2||'\"'!==ch1&&\"'\"!==ch1||(m=m.substr(1,m.length-2).replace('\\\\\"','\"')),membersOnly[m]=!1}));var numvals=[\"maxstatements\",\"maxparams\",\"maxdepth\",\"maxcomplexity\",\"maxerr\",\"maxlen\",\"indent\"];(\"jshint\"===nt.type||\"jslint\"===nt.type)&&(body.forEach(function(g){g=g.split(\":\");var key=(g[0]||\"\").trim(),val=(g[1]||\"\").trim();if(checkOption(key,nt))if(numvals.indexOf(key)>=0)if(\"false\"!==val){if(val=+val,\"number\"!=typeof val||!isFinite(val)||0>=val||Math.floor(val)!==val)return error(\"E032\",nt,g[1].trim()),void 0;state.option[key]=val}else state.option[key]=\"indent\"===key?4:!1;else{if(\"validthis\"===key)return state.funct[\"(global)\"]?void error(\"E009\"):\"true\"!==val&&\"false\"!==val?void error(\"E002\",nt):(state.option.validthis=\"true\"===val,void 0);if(\"quotmark\"!==key)if(\"shadow\"!==key)if(\"unused\"!==key)if(\"latedef\"!==key)if(\"ignore\"!==key)if(\"strict\"!==key){\"module\"===key&&(hasParsedCode(state.funct)||error(\"E055\",state.tokens.next,\"module\"));var esversions={es3:3,es5:5,esnext:6};if(!_.has(esversions,key)){if(\"esversion\"===key){switch(val){case\"5\":state.inES5(!0)&&warning(\"I003\");case\"3\":case\"6\":state.option.moz=!1,state.option.esversion=+val;break;case\"2015\":state.option.moz=!1,state.option.esversion=6;break;default:error(\"E002\",nt)}return hasParsedCode(state.funct)||error(\"E055\",state.tokens.next,\"esversion\"),void 0}var match=/^([+-])(W\\d{3})$/g.exec(key);if(match)return state.ignored[match[2]]=\"-\"===match[1],void 0;var tn;return\"true\"===val||\"false\"===val?(\"jslint\"===nt.type?(tn=options.renamed[key]||key,state.option[tn]=\"true\"===val,void 0!==options.inverted[tn]&&(state.option[tn]=!state.option[tn])):state.option[key]=\"true\"===val,\"newcap\"===key&&(state.option[\"(explicitNewcap)\"]=!0),void 0):(error(\"E002\",nt),void 0)}switch(val){case\"true\":state.option.moz=!1,state.option.esversion=esversions[key];break;case\"false\":state.option.moz||(state.option.esversion=5);break;default:error(\"E002\",nt)}}else switch(val){case\"true\":state.option.strict=!0;break;case\"false\":state.option.strict=!1;break;case\"func\":case\"global\":case\"implied\":state.option.strict=val;break;default:error(\"E002\",nt)}else switch(val){case\"line\":state.ignoredLines[nt.line]=!0,removeIgnoredMessages();break;default:error(\"E002\",nt)}else switch(val){case\"true\":state.option.latedef=!0;break;case\"false\":state.option.latedef=!1;break;case\"nofunc\":state.option.latedef=\"nofunc\";break;default:error(\"E002\",nt)}else switch(val){case\"true\":state.option.unused=!0;break;case\"false\":state.option.unused=!1;break;case\"vars\":case\"strict\":state.option.unused=val;break;default:error(\"E002\",nt)}else switch(val){case\"true\":state.option.shadow=!0;break;case\"outer\":state.option.shadow=\"outer\";break;case\"false\":case\"inner\":state.option.shadow=\"inner\";break;default:error(\"E002\",nt)}else switch(val){case\"true\":case\"false\":state.option.quotmark=\"true\"===val;break;case\"double\":case\"single\":state.option.quotmark=val;break;default:error(\"E002\",nt)}}}),assume())}function peek(p){var t,i=p||0,j=lookahead.length;if(j>i)return lookahead[i];for(;i>=j;)t=lookahead[j],t||(t=lookahead[j]=lex.token()),j+=1;return t||\"(end)\"!==state.tokens.next.id?t:state.tokens.next}function peekIgnoreEOL(){var t,i=0;do t=peek(i++);while(\"(endline)\"===t.id);return t}function advance(id,t){switch(state.tokens.curr.id){case\"(number)\":\".\"===state.tokens.next.id&&warning(\"W005\",state.tokens.curr);break;case\"-\":(\"-\"===state.tokens.next.id||\"--\"===state.tokens.next.id)&&warning(\"W006\");break;case\"+\":(\"+\"===state.tokens.next.id||\"++\"===state.tokens.next.id)&&warning(\"W007\")}for(id&&state.tokens.next.id!==id&&(t?\"(end)\"===state.tokens.next.id?error(\"E019\",t,t.id):error(\"E020\",state.tokens.next,id,t.id,t.line,state.tokens.next.value):(\"(identifier)\"!==state.tokens.next.type||state.tokens.next.value!==id)&&warning(\"W116\",state.tokens.next,id,state.tokens.next.value)),state.tokens.prev=state.tokens.curr,state.tokens.curr=state.tokens.next;;){if(state.tokens.next=lookahead.shift()||lex.token(),state.tokens.next||quit(\"E041\",state.tokens.curr.line),\"(end)\"===state.tokens.next.id||\"(error)\"===state.tokens.next.id)return;if(state.tokens.next.check&&state.tokens.next.check(),state.tokens.next.isSpecial)\"falls through\"===state.tokens.next.type?state.tokens.curr.caseFallsThrough=!0:doOption();else if(\"(endline)\"!==state.tokens.next.id)break}}function isInfix(token){return token.infix||!token.identifier&&!token.template&&!!token.led}function isEndOfExpr(){var curr=state.tokens.curr,next=state.tokens.next;return\";\"===next.id||\"}\"===next.id||\":\"===next.id?!0:isInfix(next)===isInfix(curr)||\"yield\"===curr.id&&state.inMoz()?curr.line!==startLine(next):!1}function isBeginOfExpr(prev){return!prev.left&&\"unary\"!==prev.arity}function expression(rbp,initial){var left,isArray=!1,isObject=!1,isLetExpr=!1;state.nameStack.push(),initial||\"let\"!==state.tokens.next.value||\"(\"!==peek(0).value||(state.inMoz()||warning(\"W118\",state.tokens.next,\"let expressions\"),isLetExpr=!0,state.funct[\"(scope)\"].stack(),advance(\"let\"),advance(\"(\"),state.tokens.prev.fud(),advance(\")\")),\"(end)\"===state.tokens.next.id&&error(\"E006\",state.tokens.curr);var isDangerous=state.option.asi&&state.tokens.prev.line!==startLine(state.tokens.curr)&&_.contains([\"]\",\")\"],state.tokens.prev.id)&&_.contains([\"[\",\"(\"],state.tokens.curr.id);if(isDangerous&&warning(\"W014\",state.tokens.curr,state.tokens.curr.id),advance(),initial&&(state.funct[\"(verb)\"]=state.tokens.curr.value,state.tokens.curr.beginsStmt=!0),initial===!0&&state.tokens.curr.fud)left=state.tokens.curr.fud();else for(state.tokens.curr.nud?left=state.tokens.curr.nud():error(\"E030\",state.tokens.curr,state.tokens.curr.id);(state.tokens.next.lbp>rbp||\"(template)\"===state.tokens.next.type)&&!isEndOfExpr();)isArray=\"Array\"===state.tokens.curr.value,isObject=\"Object\"===state.tokens.curr.value,left&&(left.value||left.first&&left.first.value)&&(\"new\"!==left.value||left.first&&left.first.value&&\".\"===left.first.value)&&(isArray=!1,left.value!==state.tokens.curr.value&&(isObject=!1)),advance(),isArray&&\"(\"===state.tokens.curr.id&&\")\"===state.tokens.next.id&&warning(\"W009\",state.tokens.curr),isObject&&\"(\"===state.tokens.curr.id&&\")\"===state.tokens.next.id&&warning(\"W010\",state.tokens.curr),left&&state.tokens.curr.led?left=state.tokens.curr.led(left):error(\"E033\",state.tokens.curr,state.tokens.curr.id);return isLetExpr&&state.funct[\"(scope)\"].unstack(),state.nameStack.pop(),left}function startLine(token){return token.startLine||token.line}function nobreaknonadjacent(left,right){left=left||state.tokens.curr,right=right||state.tokens.next,state.option.laxbreak||left.line===startLine(right)||warning(\"W014\",right,right.value)}function nolinebreak(t){t=t||state.tokens.curr,t.line!==startLine(state.tokens.next)&&warning(\"E022\",t,t.value)}function nobreakcomma(left,right){left.line!==startLine(right)&&(state.option.laxcomma||(comma.first&&(warning(\"I001\"),comma.first=!1),warning(\"W014\",left,right.value)))}function comma(opts){if(opts=opts||{},opts.peek?nobreakcomma(state.tokens.prev,state.tokens.curr):(nobreakcomma(state.tokens.curr,state.tokens.next),advance(\",\")),state.tokens.next.identifier&&(!opts.property||!state.inES5()))switch(state.tokens.next.value){case\"break\":case\"case\":case\"catch\":case\"continue\":case\"default\":case\"do\":case\"else\":case\"finally\":case\"for\":case\"if\":case\"in\":case\"instanceof\":case\"return\":case\"switch\":case\"throw\":case\"try\":case\"var\":case\"let\":case\"while\":case\"with\":return error(\"E024\",state.tokens.next,state.tokens.next.value),!1}if(\"(punctuator)\"===state.tokens.next.type)switch(state.tokens.next.value){case\"}\":case\"]\":case\",\":if(opts.allowTrailing)return!0;case\")\":return error(\"E024\",state.tokens.next,state.tokens.next.value),!1}return!0}function symbol(s,p){var x=state.syntax[s];return x&&\"object\"==typeof x||(state.syntax[s]=x={id:s,lbp:p,value:s}),x}function delim(s){var x=symbol(s,0);return x.delim=!0,x}function stmt(s,f){var x=delim(s);return x.identifier=x.reserved=!0,x.fud=f,x}function blockstmt(s,f){var x=stmt(s,f);return x.block=!0,x}function reserveName(x){var c=x.id.charAt(0);return(c>=\"a\"&&\"z\">=c||c>=\"A\"&&\"Z\">=c)&&(x.identifier=x.reserved=!0),x}function prefix(s,f){var x=symbol(s,150);return reserveName(x),x.nud=\"function\"==typeof f?f:function(){return this.arity=\"unary\",this.right=expression(150),(\"++\"===this.id||\"--\"===this.id)&&(state.option.plusplus?warning(\"W016\",this,this.id):!this.right||this.right.identifier&&!isReserved(this.right)||\".\"===this.right.id||\"[\"===this.right.id||warning(\"W017\",this),this.right&&this.right.isMetaProperty?error(\"E031\",this):this.right&&this.right.identifier&&state.funct[\"(scope)\"].block.modify(this.right.value,this)),this},x}function type(s,f){var x=delim(s);return x.type=s,x.nud=f,x}function reserve(name,func){var x=type(name,func);return x.identifier=!0,x.reserved=!0,x}function FutureReservedWord(name,meta){var x=type(name,meta&&meta.nud||function(){return this});return meta=meta||{},meta.isFutureReservedWord=!0,x.value=name,x.identifier=!0,x.reserved=!0,x.meta=meta,x}function reservevar(s,v){return reserve(s,function(){return\"function\"==typeof v&&v(this),this})}function infix(s,f,p,w){var x=symbol(s,p);return reserveName(x),x.infix=!0,x.led=function(left){return w||nobreaknonadjacent(state.tokens.prev,state.tokens.curr),\"in\"!==s&&\"instanceof\"!==s||\"!\"!==left.id||warning(\"W018\",left,\"!\"),\"function\"==typeof f?f(left,this):(this.left=left,this.right=expression(p),this)},x}function application(s){var x=symbol(s,42);return x.led=function(left){return nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left,this.right=doFunction({type:\"arrow\",loneArg:left}),this},x}function relation(s,f){var x=symbol(s,100);return x.led=function(left){nobreaknonadjacent(state.tokens.prev,state.tokens.curr),this.left=left;var right=this.right=expression(100);return isIdentifier(left,\"NaN\")||isIdentifier(right,\"NaN\")?warning(\"W019\",this):f&&f.apply(this,[left,right]),left&&right||quit(\"E041\",state.tokens.curr.line),\"!\"===left.id&&warning(\"W018\",left,\"!\"),\"!\"===right.id&&warning(\"W018\",right,\"!\"),this},x}function isPoorRelation(node){return node&&(\"(number)\"===node.type&&0===+node.value||\"(string)\"===node.type&&\"\"===node.value||\"null\"===node.type&&!state.option.eqnull||\"true\"===node.type||\"false\"===node.type||\"undefined\"===node.type)}function isTypoTypeof(left,right,state){var values;return state.option.notypeof?!1:left&&right?(values=state.inES6()?typeofValues.es6:typeofValues.es3,\"(identifier)\"===right.type&&\"typeof\"===right.value&&\"(string)\"===left.type?!_.contains(values,left.value):!1):!1}function isGlobalEval(left,state){var isGlobal=!1;return\"this\"===left.type&&null===state.funct[\"(context)\"]?isGlobal=!0:\"(identifier)\"===left.type&&(state.option.node&&\"global\"===left.value?isGlobal=!0:!state.option.browser||\"window\"!==left.value&&\"document\"!==left.value||(isGlobal=!0)),isGlobal}function findNativePrototype(left){function walkPrototype(obj){return\"object\"==typeof obj?\"prototype\"===obj.right?obj:walkPrototype(obj.left):void 0}function walkNative(obj){for(;!obj.identifier&&\"object\"==typeof obj.left;)obj=obj.left;return obj.identifier&&natives.indexOf(obj.value)>=0?obj.value:void 0}var natives=[\"Array\",\"ArrayBuffer\",\"Boolean\",\"Collator\",\"DataView\",\"Date\",\"DateTimeFormat\",\"Error\",\"EvalError\",\"Float32Array\",\"Float64Array\",\"Function\",\"Infinity\",\"Intl\",\"Int16Array\",\"Int32Array\",\"Int8Array\",\"Iterator\",\"Number\",\"NumberFormat\",\"Object\",\"RangeError\",\"ReferenceError\",\"RegExp\",\"StopIteration\",\"String\",\"SyntaxError\",\"TypeError\",\"Uint16Array\",\"Uint32Array\",\"Uint8Array\",\"Uint8ClampedArray\",\"URIError\"],prototype=walkPrototype(left);return prototype?walkNative(prototype):void 0}function checkLeftSideAssign(left,assignToken,options){var allowDestructuring=options&&options.allowDestructuring;if(assignToken=assignToken||left,state.option.freeze){var nativeObject=findNativePrototype(left);nativeObject&&warning(\"W121\",left,nativeObject)}return left.identifier&&!left.isMetaProperty&&state.funct[\"(scope)\"].block.reassign(left.value,left),\".\"===left.id?((!left.left||\"arguments\"===left.left.value&&!state.isStrict())&&warning(\"E031\",assignToken),state.nameStack.set(state.tokens.prev),!0):\"{\"===left.id||\"[\"===left.id?(allowDestructuring&&state.tokens.curr.left.destructAssign?state.tokens.curr.left.destructAssign.forEach(function(t){t.id&&state.funct[\"(scope)\"].block.modify(t.id,t.token)}):\"{\"!==left.id&&left.left?\"arguments\"!==left.left.value||state.isStrict()||warning(\"E031\",assignToken):warning(\"E031\",assignToken),\"[\"===left.id&&state.nameStack.set(left.right),!0):left.isMetaProperty?(error(\"E031\",assignToken),!0):left.identifier&&!isReserved(left)?(\"exception\"===state.funct[\"(scope)\"].labeltype(left.value)&&warning(\"W022\",left),state.nameStack.set(left),!0):(left===state.syntax[\"function\"]&&warning(\"W023\",state.tokens.curr),!1)}function assignop(s,f,p){var x=infix(s,\"function\"==typeof f?f:function(left,that){return that.left=left,left&&checkLeftSideAssign(left,that,{allowDestructuring:!0})?(that.right=expression(10),that):(error(\"E031\",that),void 0)},p);return x.exps=!0,x.assign=!0,x}function bitwise(s,f,p){var x=symbol(s,p);return reserveName(x),x.led=\"function\"==typeof f?f:function(left){return state.option.bitwise&&warning(\"W016\",this,this.id),this.left=left,this.right=expression(p),this},x}function bitwiseassignop(s){return assignop(s,function(left,that){return state.option.bitwise&&warning(\"W016\",that,that.id),left&&checkLeftSideAssign(left,that)?(that.right=expression(10),that):(error(\"E031\",that),void 0)},20)}function suffix(s){var x=symbol(s,150);return x.led=function(left){return state.option.plusplus?warning(\"W016\",this,this.id):left.identifier&&!isReserved(left)||\".\"===left.id||\"[\"===left.id||warning(\"W017\",this),left.isMetaProperty?error(\"E031\",this):left&&left.identifier&&state.funct[\"(scope)\"].block.modify(left.value,left),this.left=left,this},x}function optionalidentifier(fnparam,prop,preserve){if(state.tokens.next.identifier){preserve||advance();var curr=state.tokens.curr,val=state.tokens.curr.value;return isReserved(curr)?prop&&state.inES5()?val:fnparam&&\"undefined\"===val?val:(warning(\"W024\",state.tokens.curr,state.tokens.curr.id),val):val}}function identifier(fnparam,prop){var i=optionalidentifier(fnparam,prop,!1);if(i)return i;if(\"...\"===state.tokens.next.value){if(state.inES6(!0)||warning(\"W119\",state.tokens.next,\"spread/rest operator\",\"6\"),advance(),checkPunctuator(state.tokens.next,\"...\"))for(warning(\"E024\",state.tokens.next,\"...\");checkPunctuator(state.tokens.next,\"...\");)advance();return state.tokens.next.identifier?identifier(fnparam,prop):(warning(\"E024\",state.tokens.curr,\"...\"),void 0)}error(\"E030\",state.tokens.next,state.tokens.next.value),\";\"!==state.tokens.next.id&&advance()}function reachable(controlToken){var t,i=0;if(\";\"===state.tokens.next.id&&!controlToken.inBracelessBlock)for(;;){do t=peek(i),i+=1;while(\"(end)\"!==t.id&&\"(comment)\"===t.id);if(t.reach)return;if(\"(endline)\"!==t.id){if(\"function\"===t.id){state.option.latedef===!0&&warning(\"W026\",t);break}warning(\"W027\",t,t.value,controlToken.value);break}}}function parseFinalSemicolon(){if(\";\"!==state.tokens.next.id){if(state.tokens.next.isUnclosed)return advance();var sameLine=startLine(state.tokens.next)===state.tokens.curr.line&&\"(end)\"!==state.tokens.next.id,blockEnd=checkPunctuator(state.tokens.next,\"}\");sameLine&&!blockEnd?errorAt(\"E058\",state.tokens.curr.line,state.tokens.curr.character):state.option.asi||(blockEnd&&!state.option.lastsemic||!sameLine)&&warningAt(\"W033\",state.tokens.curr.line,state.tokens.curr.character)}else advance(\";\")}function statement(){var r,i=indent,t=state.tokens.next,hasOwnScope=!1;if(\";\"===t.id)return advance(\";\"),void 0;var res=isReserved(t);if(res&&t.meta&&t.meta.isFutureReservedWord&&\":\"===peek().id&&(warning(\"W024\",t,t.id),res=!1),t.identifier&&!res&&\":\"===peek().id&&(advance(),advance(\":\"),hasOwnScope=!0,state.funct[\"(scope)\"].stack(),state.funct[\"(scope)\"].block.addBreakLabel(t.value,{token:state.tokens.curr}),state.tokens.next.labelled||\"{\"===state.tokens.next.value||warning(\"W028\",state.tokens.next,t.value,state.tokens.next.value),state.tokens.next.label=t.value,t=state.tokens.next),\"{\"===t.id){var iscase=\"case\"===state.funct[\"(verb)\"]&&\":\"===state.tokens.curr.value;return block(!0,!0,!1,!1,iscase),void 0}return r=expression(0,!0),!r||r.identifier&&\"function\"===r.value||\"(punctuator)\"===r.type&&r.left&&r.left.identifier&&\"function\"===r.left.value||state.isStrict()||\"global\"!==state.option.strict||warning(\"E007\"),t.block||(state.option.expr||r&&r.exps?state.option.nonew&&r&&r.left&&\"(\"===r.id&&\"new\"===r.left.id&&warning(\"W031\",t):warning(\"W030\",state.tokens.curr),parseFinalSemicolon()),indent=i,hasOwnScope&&state.funct[\"(scope)\"].unstack(),r}function statements(){for(var p,a=[];!state.tokens.next.reach&&\"(end)\"!==state.tokens.next.id;)\";\"===state.tokens.next.id?(p=peek(),(!p||\"(\"!==p.id&&\"[\"!==p.id)&&warning(\"W032\"),advance(\";\")):a.push(statement());return a}function directives(){for(var i,p,pn;\"(string)\"===state.tokens.next.id;){if(p=peek(0),\"(endline)\"===p.id){i=1;do pn=peek(i++);while(\"(endline)\"===pn.id);if(\";\"===pn.id)p=pn;else{if(\"[\"===pn.value||\".\"===pn.value)break;state.option.asi&&\"(\"!==pn.value||warning(\"W033\",state.tokens.next)}}else{if(\".\"===p.id||\"[\"===p.id)break;\";\"!==p.id&&warning(\"W033\",p)}advance();var directive=state.tokens.curr.value;(state.directive[directive]||\"use strict\"===directive&&\"implied\"===state.option.strict)&&warning(\"W034\",state.tokens.curr,directive),state.directive[directive]=!0,\";\"===p.id&&advance(\";\")}state.isStrict()&&(state.option[\"(explicitNewcap)\"]||(state.option.newcap=!0),state.option.undef=!0)}function block(ordinary,stmt,isfunc,isfatarrow,iscase){var a,m,t,line,d,b=inblock,old_indent=indent;inblock=ordinary,t=state.tokens.next;var metrics=state.funct[\"(metrics)\"];if(metrics.nestedBlockDepth+=1,metrics.verifyMaxNestedBlockDepthPerFunction(),\"{\"===state.tokens.next.id){if(advance(\"{\"),state.funct[\"(scope)\"].stack(),line=state.tokens.curr.line,\"}\"!==state.tokens.next.id){for(indent+=state.option.indent;!ordinary&&state.tokens.next.from>indent;)indent+=state.option.indent;if(isfunc){m={};for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);directives(),state.option.strict&&state.funct[\"(context)\"][\"(global)\"]&&(m[\"use strict\"]||state.isStrict()||warning(\"E007\"))}a=statements(),metrics.statementCount+=a.length,indent-=state.option.indent}advance(\"}\",t),isfunc&&(state.funct[\"(scope)\"].validateParams(),m&&(state.directive=m)),state.funct[\"(scope)\"].unstack(),indent=old_indent}else if(ordinary)state.funct[\"(noblockscopedvar)\"]=\"for\"!==state.tokens.next.id,state.funct[\"(scope)\"].stack(),(!stmt||state.option.curly)&&warning(\"W116\",state.tokens.next,\"{\",state.tokens.next.value),state.tokens.next.inBracelessBlock=!0,indent+=state.option.indent,a=[statement()],indent-=state.option.indent,state.funct[\"(scope)\"].unstack(),delete state.funct[\"(noblockscopedvar)\"];else if(isfunc){if(state.funct[\"(scope)\"].stack(),m={},!stmt||isfatarrow||state.inMoz()||error(\"W118\",state.tokens.curr,\"function closure expressions\"),!stmt)for(d in state.directive)_.has(state.directive,d)&&(m[d]=state.directive[d]);expression(10),state.option.strict&&state.funct[\"(context)\"][\"(global)\"]&&(m[\"use strict\"]||state.isStrict()||warning(\"E007\")),state.funct[\"(scope)\"].unstack()}else error(\"E021\",state.tokens.next,\"{\",state.tokens.next.value);switch(state.funct[\"(verb)\"]){case\"break\":case\"continue\":case\"return\":case\"throw\":if(iscase)break;default:state.funct[\"(verb)\"]=null}return inblock=b,!ordinary||!state.option.noempty||a&&0!==a.length||warning(\"W035\",state.tokens.prev),metrics.nestedBlockDepth-=1,a}function countMember(m){membersOnly&&\"boolean\"!=typeof membersOnly[m]&&warning(\"W036\",state.tokens.curr,m),\"number\"==typeof member[m]?member[m]+=1:member[m]=1}function comprehensiveArrayExpression(){var res={};res.exps=!0,state.funct[\"(comparray)\"].stack();var reversed=!1;return\"for\"!==state.tokens.next.value&&(reversed=!0,state.inMoz()||warning(\"W116\",state.tokens.next,\"for\",state.tokens.next.value),state.funct[\"(comparray)\"].setState(\"use\"),res.right=expression(10)),advance(\"for\"),\"each\"===state.tokens.next.value&&(advance(\"each\"),state.inMoz()||warning(\"W118\",state.tokens.curr,\"for each\")),advance(\"(\"),state.funct[\"(comparray)\"].setState(\"define\"),res.left=expression(130),_.contains([\"in\",\"of\"],state.tokens.next.value)?advance():error(\"E045\",state.tokens.curr),state.funct[\"(comparray)\"].setState(\"generate\"),expression(10),advance(\")\"),\"if\"===state.tokens.next.value&&(advance(\"if\"),advance(\"(\"),state.funct[\"(comparray)\"].setState(\"filter\"),res.filter=expression(10),advance(\")\")),reversed||(state.funct[\"(comparray)\"].setState(\"use\"),res.right=expression(10)),advance(\"]\"),state.funct[\"(comparray)\"].unstack(),res}function isMethod(){return state.funct[\"(statement)\"]&&\"class\"===state.funct[\"(statement)\"].type||state.funct[\"(context)\"]&&\"class\"===state.funct[\"(context)\"][\"(verb)\"]}function isPropertyName(token){return token.identifier||\"(string)\"===token.id||\"(number)\"===token.id}function propertyName(preserveOrToken){var id,preserve=!0;return\"object\"==typeof preserveOrToken?id=preserveOrToken:(preserve=preserveOrToken,id=optionalidentifier(!1,!0,preserve)),id?\"object\"==typeof id&&(\"(string)\"===id.id||\"(identifier)\"===id.id?id=id.value:\"(number)\"===id.id&&(id=\"\"+id.value)):\"(string)\"===state.tokens.next.id?(id=state.tokens.next.value,preserve||advance()):\"(number)\"===state.tokens.next.id&&(id=\"\"+state.tokens.next.value,preserve||advance()),\"hasOwnProperty\"===id&&warning(\"W001\"),id}function functionparams(options){function addParam(addParamArgs){state.funct[\"(scope)\"].addParam.apply(state.funct[\"(scope)\"],addParamArgs)}var next,ident,t,paramsIds=[],tokens=[],pastDefault=!1,pastRest=!1,arity=0,loneArg=options&&options.loneArg;if(loneArg&&loneArg.identifier===!0)return state.funct[\"(scope)\"].addParam(loneArg.value,loneArg),{arity:1,params:[loneArg.value]};if(next=state.tokens.next,options&&options.parsedOpening||advance(\"(\"),\")\"===state.tokens.next.id)return advance(\")\"),void 0;for(;;){arity++;var currentParams=[];if(_.contains([\"{\",\"[\"],state.tokens.next.id)){tokens=destructuringPattern();for(t in tokens)t=tokens[t],t.id&&(paramsIds.push(t.id),currentParams.push([t.id,t.token]))}else if(checkPunctuator(state.tokens.next,\"...\")&&(pastRest=!0),ident=identifier(!0))paramsIds.push(ident),currentParams.push([ident,state.tokens.curr]);else for(;!checkPunctuators(state.tokens.next,[\",\",\")\"]);)advance();if(pastDefault&&\"=\"!==state.tokens.next.id&&error(\"W138\",state.tokens.current),\"=\"===state.tokens.next.id&&(state.inES6()||warning(\"W119\",state.tokens.next,\"default parameters\",\"6\"),advance(\"=\"),pastDefault=!0,expression(10)),currentParams.forEach(addParam),\",\"!==state.tokens.next.id)return advance(\")\",next),{arity:arity,params:paramsIds};pastRest&&warning(\"W131\",state.tokens.next),comma()}}function functor(name,token,overwrites){var funct={\"(name)\":name,\"(breakage)\":0,\"(loopage)\":0,\"(tokens)\":{},\"(properties)\":{},\"(catch)\":!1,\"(global)\":!1,\"(line)\":null,\"(character)\":null,\"(metrics)\":null,\"(statement)\":null,\"(context)\":null,\"(scope)\":null,\"(comparray)\":null,\"(generator)\":null,\"(arrow)\":null,\"(params)\":null};return token&&_.extend(funct,{\"(line)\":token.line,\"(character)\":token.character,\"(metrics)\":createMetrics(token)}),_.extend(funct,overwrites),funct[\"(context)\"]&&(funct[\"(scope)\"]=funct[\"(context)\"][\"(scope)\"],funct[\"(comparray)\"]=funct[\"(context)\"][\"(comparray)\"]),funct}function isFunctor(token){return\"(scope)\"in token}function hasParsedCode(funct){return funct[\"(global)\"]&&!funct[\"(verb)\"]}function doTemplateLiteral(left){function end(){if(state.tokens.curr.template&&state.tokens.curr.tail&&state.tokens.curr.context===ctx)return!0;var complete=state.tokens.next.template&&state.tokens.next.tail&&state.tokens.next.context===ctx;return complete&&advance(),complete||state.tokens.next.isUnclosed}var ctx=this.context,noSubst=this.noSubst,depth=this.depth;if(!noSubst)for(;!end();)!state.tokens.next.template||state.tokens.next.depth>depth?expression(0):advance();return{id:\"(template)\",type:\"(template)\",tag:left}}function doFunction(options){var f,token,name,statement,classExprBinding,isGenerator,isArrow,ignoreLoopFunc,oldOption=state.option,oldIgnored=state.ignored;options&&(name=options.name,statement=options.statement,classExprBinding=options.classExprBinding,isGenerator=\"generator\"===options.type,isArrow=\"arrow\"===options.type,ignoreLoopFunc=options.ignoreLoopFunc),state.option=Object.create(state.option),state.ignored=Object.create(state.ignored),state.funct=functor(name||state.nameStack.infer(),state.tokens.next,{\"(statement)\":statement,\"(context)\":state.funct,\"(arrow)\":isArrow,\"(generator)\":isGenerator}),f=state.funct,token=state.tokens.curr,token.funct=state.funct,functions.push(state.funct),state.funct[\"(scope)\"].stack(\"functionouter\");var internallyAccessibleName=name||classExprBinding;internallyAccessibleName&&state.funct[\"(scope)\"].block.add(internallyAccessibleName,classExprBinding?\"class\":\"function\",state.tokens.curr,!1),state.funct[\"(scope)\"].stack(\"functionparams\");var paramsInfo=functionparams(options);return paramsInfo?(state.funct[\"(params)\"]=paramsInfo.params,state.funct[\"(metrics)\"].arity=paramsInfo.arity,state.funct[\"(metrics)\"].verifyMaxParametersPerFunction()):state.funct[\"(metrics)\"].arity=0,isArrow&&(state.inES6(!0)||warning(\"W119\",state.tokens.curr,\"arrow function syntax (=>)\",\"6\"),options.loneArg||advance(\"=>\")),block(!1,!0,!0,isArrow),!state.option.noyield&&isGenerator&&\"yielded\"!==state.funct[\"(generator)\"]&&warning(\"W124\",state.tokens.curr),state.funct[\"(metrics)\"].verifyMaxStatementsPerFunction(),state.funct[\"(metrics)\"].verifyMaxComplexityPerFunction(),state.funct[\"(unusedOption)\"]=state.option.unused,state.option=oldOption,state.ignored=oldIgnored,state.funct[\"(last)\"]=state.tokens.curr.line,state.funct[\"(lastcharacter)\"]=state.tokens.curr.character,state.funct[\"(scope)\"].unstack(),state.funct[\"(scope)\"].unstack(),state.funct=state.funct[\"(context)\"],ignoreLoopFunc||state.option.loopfunc||!state.funct[\"(loopage)\"]||f[\"(isCapturing)\"]&&warning(\"W083\",token),f}function createMetrics(functionStartToken){return{statementCount:0,nestedBlockDepth:-1,ComplexityCount:1,arity:0,verifyMaxStatementsPerFunction:function(){state.option.maxstatements&&this.statementCount>state.option.maxstatements&&warning(\"W071\",functionStartToken,this.statementCount)\n},verifyMaxParametersPerFunction:function(){_.isNumber(state.option.maxparams)&&this.arity>state.option.maxparams&&warning(\"W072\",functionStartToken,this.arity)},verifyMaxNestedBlockDepthPerFunction:function(){state.option.maxdepth&&this.nestedBlockDepth>0&&this.nestedBlockDepth===state.option.maxdepth+1&&warning(\"W073\",null,this.nestedBlockDepth)},verifyMaxComplexityPerFunction:function(){var max=state.option.maxcomplexity,cc=this.ComplexityCount;max&&cc>max&&warning(\"W074\",functionStartToken,cc)}}}function increaseComplexityCount(){state.funct[\"(metrics)\"].ComplexityCount+=1}function checkCondAssignment(expr){var id,paren;switch(expr&&(id=expr.id,paren=expr.paren,\",\"===id&&(expr=expr.exprs[expr.exprs.length-1])&&(id=expr.id,paren=paren||expr.paren)),id){case\"=\":case\"+=\":case\"-=\":case\"*=\":case\"%=\":case\"&=\":case\"|=\":case\"^=\":case\"/=\":paren||state.option.boss||warning(\"W084\")}}function checkProperties(props){if(state.inES5())for(var name in props)props[name]&&props[name].setterToken&&!props[name].getterToken&&warning(\"W078\",props[name].setterToken)}function metaProperty(name,c){if(checkPunctuator(state.tokens.next,\".\")){var left=state.tokens.curr.id;advance(\".\");var id=identifier();return state.tokens.curr.isMetaProperty=!0,name!==id?error(\"E057\",state.tokens.prev,left,id):c(),state.tokens.curr}}function destructuringPattern(options){var isAssignment=options&&options.assignment;return state.inES6()||warning(\"W104\",state.tokens.curr,isAssignment?\"destructuring assignment\":\"destructuring binding\",\"6\"),destructuringPatternRecursive(options)}function destructuringPatternRecursive(options){var ids,identifiers=[],openingParsed=options&&options.openingParsed,isAssignment=options&&options.assignment,recursiveOptions=isAssignment?{assignment:isAssignment}:null,firstToken=openingParsed?state.tokens.curr:state.tokens.next,nextInnerDE=function(){var ident;if(checkPunctuators(state.tokens.next,[\"[\",\"{\"])){ids=destructuringPatternRecursive(recursiveOptions);for(var id in ids)id=ids[id],identifiers.push({id:id.id,token:id.token})}else if(checkPunctuator(state.tokens.next,\",\"))identifiers.push({id:null,token:state.tokens.curr});else{if(!checkPunctuator(state.tokens.next,\"(\")){var is_rest=checkPunctuator(state.tokens.next,\"...\");if(isAssignment){var identifierToken=is_rest?peek(0):state.tokens.next;identifierToken.identifier||warning(\"E030\",identifierToken,identifierToken.value);var assignTarget=expression(155);assignTarget&&(checkLeftSideAssign(assignTarget),assignTarget.identifier&&(ident=assignTarget.value))}else ident=identifier();return ident&&identifiers.push({id:ident,token:state.tokens.curr}),is_rest}advance(\"(\"),nextInnerDE(),advance(\")\")}return!1},assignmentProperty=function(){var id;checkPunctuator(state.tokens.next,\"[\")?(advance(\"[\"),expression(10),advance(\"]\"),advance(\":\"),nextInnerDE()):\"(string)\"===state.tokens.next.id||\"(number)\"===state.tokens.next.id?(advance(),advance(\":\"),nextInnerDE()):(id=identifier(),checkPunctuator(state.tokens.next,\":\")?(advance(\":\"),nextInnerDE()):id&&(isAssignment&&checkLeftSideAssign(state.tokens.curr),identifiers.push({id:id,token:state.tokens.curr})))};if(checkPunctuator(firstToken,\"[\")){openingParsed||advance(\"[\"),checkPunctuator(state.tokens.next,\"]\")&&warning(\"W137\",state.tokens.curr);for(var element_after_rest=!1;!checkPunctuator(state.tokens.next,\"]\");)nextInnerDE()&&!element_after_rest&&checkPunctuator(state.tokens.next,\",\")&&(warning(\"W130\",state.tokens.next),element_after_rest=!0),checkPunctuator(state.tokens.next,\"=\")&&(checkPunctuator(state.tokens.prev,\"...\")?advance(\"]\"):advance(\"=\"),\"undefined\"===state.tokens.next.id&&warning(\"W080\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\"]\")||advance(\",\");advance(\"]\")}else if(checkPunctuator(firstToken,\"{\")){for(openingParsed||advance(\"{\"),checkPunctuator(state.tokens.next,\"}\")&&warning(\"W137\",state.tokens.curr);!checkPunctuator(state.tokens.next,\"}\")&&(assignmentProperty(),checkPunctuator(state.tokens.next,\"=\")&&(advance(\"=\"),\"undefined\"===state.tokens.next.id&&warning(\"W080\",state.tokens.prev,state.tokens.prev.value),expression(10)),checkPunctuator(state.tokens.next,\"}\")||(advance(\",\"),!checkPunctuator(state.tokens.next,\"}\"))););advance(\"}\")}return identifiers}function destructuringPatternMatch(tokens,value){var first=value.first;first&&_.zip(tokens,Array.isArray(first)?first:[first]).forEach(function(val){var token=val[0],value=val[1];token&&value?token.first=value:token&&token.first&&!value&&warning(\"W080\",token.first,token.first.value)})}function blockVariableStatement(type,statement,context){var tokens,lone,value,letblock,prefix=context&&context.prefix,inexport=context&&context.inexport,isLet=\"let\"===type,isConst=\"const\"===type;for(state.inES6()||warning(\"W104\",state.tokens.curr,type,\"6\"),isLet&&\"(\"===state.tokens.next.value?(state.inMoz()||warning(\"W118\",state.tokens.next,\"let block\"),advance(\"(\"),state.funct[\"(scope)\"].stack(),letblock=!0):state.funct[\"(noblockscopedvar)\"]&&error(\"E048\",state.tokens.curr,isConst?\"Const\":\"Let\"),statement.first=[];;){var names=[];_.contains([\"{\",\"[\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),!prefix&&isConst&&\"=\"!==state.tokens.next.id&&warning(\"E012\",state.tokens.curr,state.tokens.curr.value);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],state.funct[\"(scope)\"].block.isGlobal()&&predefined[t.id]===!1&&warning(\"W079\",t.token,t.id),t.id&&!state.funct[\"(noblockscopedvar)\"]&&(state.funct[\"(scope)\"].addlabel(t.id,{type:type,token:t.token}),names.push(t.token),lone&&inexport&&state.funct[\"(scope)\"].setExported(t.token.value,t.token)));if(\"=\"===state.tokens.next.id&&(advance(\"=\"),prefix||\"undefined\"!==state.tokens.next.id||warning(\"W080\",state.tokens.prev,state.tokens.prev.value),!prefix&&\"=\"===peek(0).id&&state.tokens.next.identifier&&warning(\"W120\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),statement.first=statement.first.concat(names),\",\"!==state.tokens.next.id)break;comma()}return letblock&&(advance(\")\"),block(!0,!0),statement.block=!0,state.funct[\"(scope)\"].unstack()),statement}function classdef(isStatement){return state.inES6()||warning(\"W104\",state.tokens.curr,\"class\",\"6\"),isStatement?(this.name=identifier(),state.funct[\"(scope)\"].addlabel(this.name,{type:\"class\",token:state.tokens.curr})):state.tokens.next.identifier&&\"extends\"!==state.tokens.next.value?(this.name=identifier(),this.namedExpr=!0):this.name=state.nameStack.infer(),classtail(this),this}function classtail(c){var wasInClassBody=state.inClassBody;\"extends\"===state.tokens.next.value&&(advance(\"extends\"),c.heritage=expression(10)),state.inClassBody=!0,advance(\"{\"),c.body=classbody(c),advance(\"}\"),state.inClassBody=wasInClassBody}function classbody(c){for(var name,isStatic,isGenerator,getset,computed,props=Object.create(null),staticProps=Object.create(null),i=0;\"}\"!==state.tokens.next.id;++i)if(name=state.tokens.next,isStatic=!1,isGenerator=!1,getset=null,\";\"!==name.id){if(\"*\"===name.id&&(isGenerator=!0,advance(\"*\"),name=state.tokens.next),\"[\"===name.id)name=computedPropertyName(),computed=!0;else{if(!isPropertyName(name)){warning(\"W052\",state.tokens.next,state.tokens.next.value||state.tokens.next.type),advance();continue}advance(),computed=!1,name.identifier&&\"static\"===name.value&&(checkPunctuator(state.tokens.next,\"*\")&&(isGenerator=!0,advance(\"*\")),(isPropertyName(state.tokens.next)||\"[\"===state.tokens.next.id)&&(computed=\"[\"===state.tokens.next.id,isStatic=!0,name=state.tokens.next,\"[\"===state.tokens.next.id?name=computedPropertyName():advance())),!name.identifier||\"get\"!==name.value&&\"set\"!==name.value||(isPropertyName(state.tokens.next)||\"[\"===state.tokens.next.id)&&(computed=\"[\"===state.tokens.next.id,getset=name,name=state.tokens.next,\"[\"===state.tokens.next.id?name=computedPropertyName():advance())}if(!checkPunctuator(state.tokens.next,\"(\")){for(error(\"E054\",state.tokens.next,state.tokens.next.value);\"}\"!==state.tokens.next.id&&!checkPunctuator(state.tokens.next,\"(\");)advance();\"(\"!==state.tokens.next.value&&doFunction({statement:c})}if(computed||(getset?saveAccessor(getset.value,isStatic?staticProps:props,name.value,name,!0,isStatic):(\"constructor\"===name.value?state.nameStack.set(c):state.nameStack.set(name),saveProperty(isStatic?staticProps:props,name.value,name,!0,isStatic))),getset&&\"constructor\"===name.value){var propDesc=\"get\"===getset.value?\"class getter method\":\"class setter method\";error(\"E049\",name,propDesc,\"constructor\")}else\"prototype\"===name.value&&error(\"E049\",name,\"class method\",\"prototype\");propertyName(name),doFunction({statement:c,type:isGenerator?\"generator\":null,classExprBinding:c.namedExpr?c.name:null})}else warning(\"W032\"),advance(\";\");checkProperties(props)}function saveProperty(props,name,tkn,isClass,isStatic){var msg=[\"key\",\"class method\",\"static class method\"];msg=msg[(isClass||!1)+(isStatic||!1)],tkn.identifier&&(name=tkn.value),props[name]&&\"__proto__\"!==name?warning(\"W075\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name].basic=!0,props[name].basictkn=tkn}function saveAccessor(accessorType,props,name,tkn,isClass,isStatic){var flagName=\"get\"===accessorType?\"getterToken\":\"setterToken\",msg=\"\";isClass?(isStatic&&(msg+=\"static \"),msg+=accessorType+\"ter method\"):msg=\"key\",state.tokens.curr.accessorType=accessorType,state.nameStack.set(tkn),props[name]?(props[name].basic||props[name][flagName])&&\"__proto__\"!==name&&warning(\"W075\",state.tokens.next,msg,name):props[name]=Object.create(null),props[name][flagName]=tkn}function computedPropertyName(){advance(\"[\"),state.inES6()||warning(\"W119\",state.tokens.curr,\"computed property names\",\"6\");var value=expression(10);return advance(\"]\"),value}function checkPunctuators(token,values){return\"(punctuator)\"===token.type?_.contains(values,token.value):!1}function checkPunctuator(token,value){return\"(punctuator)\"===token.type&&token.value===value}function destructuringAssignOrJsonValue(){var block=lookupBlockType();block.notJson?(!state.inES6()&&block.isDestAssign&&warning(\"W104\",state.tokens.curr,\"destructuring assignment\",\"6\"),statements()):(state.option.laxbreak=!0,state.jsonMode=!0,jsonValue())}function jsonValue(){function jsonObject(){var o={},t=state.tokens.next;if(advance(\"{\"),\"}\"!==state.tokens.next.id)for(;;){if(\"(end)\"===state.tokens.next.id)error(\"E026\",state.tokens.next,t.line);else{if(\"}\"===state.tokens.next.id){warning(\"W094\",state.tokens.curr);break}\",\"===state.tokens.next.id?error(\"E028\",state.tokens.next):\"(string)\"!==state.tokens.next.id&&warning(\"W095\",state.tokens.next,state.tokens.next.value)}if(o[state.tokens.next.value]===!0?warning(\"W075\",state.tokens.next,\"key\",state.tokens.next.value):\"__proto__\"===state.tokens.next.value&&!state.option.proto||\"__iterator__\"===state.tokens.next.value&&!state.option.iterator?warning(\"W096\",state.tokens.next,state.tokens.next.value):o[state.tokens.next.value]=!0,advance(),advance(\":\"),jsonValue(),\",\"!==state.tokens.next.id)break;advance(\",\")}advance(\"}\")}function jsonArray(){var t=state.tokens.next;if(advance(\"[\"),\"]\"!==state.tokens.next.id)for(;;){if(\"(end)\"===state.tokens.next.id)error(\"E027\",state.tokens.next,t.line);else{if(\"]\"===state.tokens.next.id){warning(\"W094\",state.tokens.curr);break}\",\"===state.tokens.next.id&&error(\"E028\",state.tokens.next)}if(jsonValue(),\",\"!==state.tokens.next.id)break;advance(\",\")}advance(\"]\")}switch(state.tokens.next.id){case\"{\":jsonObject();break;case\"[\":jsonArray();break;case\"true\":case\"false\":case\"null\":case\"(number)\":case\"(string)\":advance();break;case\"-\":advance(\"-\"),advance(\"(number)\");break;default:error(\"E003\",state.tokens.next)}}var api,declared,functions,inblock,indent,lookahead,lex,member,membersOnly,predefined,stack,urls,bang={\"<\":!0,\"<=\":!0,\"==\":!0,\"===\":!0,\"!==\":!0,\"!=\":!0,\">\":!0,\">=\":!0,\"+\":!0,\"-\":!0,\"*\":!0,\"/\":!0,\"%\":!0},functionicity=[\"closure\",\"exception\",\"global\",\"label\",\"outer\",\"unused\",\"var\"],extraModules=[],emitter=new events.EventEmitter,typeofValues={};typeofValues.legacy=[\"xml\",\"unknown\"],typeofValues.es3=[\"undefined\",\"boolean\",\"number\",\"string\",\"function\",\"object\"],typeofValues.es3=typeofValues.es3.concat(typeofValues.legacy),typeofValues.es6=typeofValues.es3.concat(\"symbol\"),type(\"(number)\",function(){return this}),type(\"(string)\",function(){return this}),state.syntax[\"(identifier)\"]={type:\"(identifier)\",lbp:0,identifier:!0,nud:function(){var v=this.value;return\"=>\"===state.tokens.next.id?this:(state.funct[\"(comparray)\"].check(v)||state.funct[\"(scope)\"].block.use(v,state.tokens.curr),this)},led:function(){error(\"E033\",state.tokens.next,state.tokens.next.value)}};var baseTemplateSyntax={lbp:0,identifier:!1,template:!0};state.syntax[\"(template)\"]=_.extend({type:\"(template)\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!1},baseTemplateSyntax),state.syntax[\"(template middle)\"]=_.extend({type:\"(template middle)\",middle:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\"(template tail)\"]=_.extend({type:\"(template tail)\",tail:!0,noSubst:!1},baseTemplateSyntax),state.syntax[\"(no subst template)\"]=_.extend({type:\"(template)\",nud:doTemplateLiteral,led:doTemplateLiteral,noSubst:!0,tail:!0},baseTemplateSyntax),type(\"(regexp)\",function(){return this}),delim(\"(endline)\"),delim(\"(begin)\"),delim(\"(end)\").reach=!0,delim(\"(error)\").reach=!0,delim(\"}\").reach=!0,delim(\")\"),delim(\"]\"),delim('\"').reach=!0,delim(\"'\").reach=!0,delim(\";\"),delim(\":\").reach=!0,delim(\"#\"),reserve(\"else\"),reserve(\"case\").reach=!0,reserve(\"catch\"),reserve(\"default\").reach=!0,reserve(\"finally\"),reservevar(\"arguments\",function(x){state.isStrict()&&state.funct[\"(global)\"]&&warning(\"E008\",x)}),reservevar(\"eval\"),reservevar(\"false\"),reservevar(\"Infinity\"),reservevar(\"null\"),reservevar(\"this\",function(x){state.isStrict()&&!isMethod()&&!state.option.validthis&&(state.funct[\"(statement)\"]&&state.funct[\"(name)\"].charAt(0)>\"Z\"||state.funct[\"(global)\"])&&warning(\"W040\",x)}),reservevar(\"true\"),reservevar(\"undefined\"),assignop(\"=\",\"assign\",20),assignop(\"+=\",\"assignadd\",20),assignop(\"-=\",\"assignsub\",20),assignop(\"*=\",\"assignmult\",20),assignop(\"/=\",\"assigndiv\",20).nud=function(){error(\"E014\")},assignop(\"%=\",\"assignmod\",20),bitwiseassignop(\"&=\"),bitwiseassignop(\"|=\"),bitwiseassignop(\"^=\"),bitwiseassignop(\"<<=\"),bitwiseassignop(\">>=\"),bitwiseassignop(\">>>=\"),infix(\",\",function(left,that){var expr;if(that.exprs=[left],state.option.nocomma&&warning(\"W127\"),!comma({peek:!0}))return that;for(;;){if(!(expr=expression(10)))break;if(that.exprs.push(expr),\",\"!==state.tokens.next.value||!comma())break}return that},10,!0),infix(\"?\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(10),advance(\":\"),that[\"else\"]=expression(10),that},30);var orPrecendence=40;infix(\"||\",function(left,that){return increaseComplexityCount(),that.left=left,that.right=expression(orPrecendence),that},orPrecendence),infix(\"&&\",\"and\",50),bitwise(\"|\",\"bitor\",70),bitwise(\"^\",\"bitxor\",80),bitwise(\"&\",\"bitand\",90),relation(\"==\",function(left,right){var eqnull=state.option.eqnull&&(\"null\"===(left&&left.value)||\"null\"===(right&&right.value));switch(!0){case!eqnull&&state.option.eqeqeq:this.from=this.character,warning(\"W116\",this,\"===\",\"==\");break;case isPoorRelation(left):warning(\"W041\",this,\"===\",left.value);break;case isPoorRelation(right):warning(\"W041\",this,\"===\",right.value);break;case isTypoTypeof(right,left,state):warning(\"W122\",this,right.value);break;case isTypoTypeof(left,right,state):warning(\"W122\",this,left.value)}return this}),relation(\"===\",function(left,right){return isTypoTypeof(right,left,state)?warning(\"W122\",this,right.value):isTypoTypeof(left,right,state)&&warning(\"W122\",this,left.value),this}),relation(\"!=\",function(left,right){var eqnull=state.option.eqnull&&(\"null\"===(left&&left.value)||\"null\"===(right&&right.value));return!eqnull&&state.option.eqeqeq?(this.from=this.character,warning(\"W116\",this,\"!==\",\"!=\")):isPoorRelation(left)?warning(\"W041\",this,\"!==\",left.value):isPoorRelation(right)?warning(\"W041\",this,\"!==\",right.value):isTypoTypeof(right,left,state)?warning(\"W122\",this,right.value):isTypoTypeof(left,right,state)&&warning(\"W122\",this,left.value),this}),relation(\"!==\",function(left,right){return isTypoTypeof(right,left,state)?warning(\"W122\",this,right.value):isTypoTypeof(left,right,state)&&warning(\"W122\",this,left.value),this}),relation(\"<\"),relation(\">\"),relation(\"<=\"),relation(\">=\"),bitwise(\"<<\",\"shiftleft\",120),bitwise(\">>\",\"shiftright\",120),bitwise(\">>>\",\"shiftrightunsigned\",120),infix(\"in\",\"in\",120),infix(\"instanceof\",\"instanceof\",120),infix(\"+\",function(left,that){var right;return that.left=left,that.right=right=expression(130),left&&right&&\"(string)\"===left.id&&\"(string)\"===right.id?(left.value+=right.value,left.character=right.character,!state.option.scripturl&®.javascriptURL.test(left.value)&&warning(\"W050\",left),left):that},130),prefix(\"+\",\"num\"),prefix(\"+++\",function(){return warning(\"W007\"),this.arity=\"unary\",this.right=expression(150),this}),infix(\"+++\",function(left){return warning(\"W007\"),this.left=left,this.right=expression(130),this},130),infix(\"-\",\"sub\",130),prefix(\"-\",\"neg\"),prefix(\"---\",function(){return warning(\"W006\"),this.arity=\"unary\",this.right=expression(150),this}),infix(\"---\",function(left){return warning(\"W006\"),this.left=left,this.right=expression(130),this},130),infix(\"*\",\"mult\",140),infix(\"/\",\"div\",140),infix(\"%\",\"mod\",140),suffix(\"++\"),prefix(\"++\",\"preinc\"),state.syntax[\"++\"].exps=!0,suffix(\"--\"),prefix(\"--\",\"predec\"),state.syntax[\"--\"].exps=!0,prefix(\"delete\",function(){var p=expression(10);return p?(\".\"!==p.id&&\"[\"!==p.id&&warning(\"W051\"),this.first=p,p.identifier&&!state.isStrict()&&(p.forgiveUndef=!0),this):this}).exps=!0,prefix(\"~\",function(){return state.option.bitwise&&warning(\"W016\",this,\"~\"),this.arity=\"unary\",this.right=expression(150),this}),prefix(\"...\",function(){return state.inES6(!0)||warning(\"W119\",this,\"spread/rest operator\",\"6\"),state.tokens.next.identifier||\"(string)\"===state.tokens.next.type||checkPunctuators(state.tokens.next,[\"[\",\"(\"])||error(\"E030\",state.tokens.next,state.tokens.next.value),expression(150),this}),prefix(\"!\",function(){return this.arity=\"unary\",this.right=expression(150),this.right||quit(\"E041\",this.line||0),bang[this.right.id]===!0&&warning(\"W018\",this,\"!\"),this}),prefix(\"typeof\",function(){var p=expression(150);return this.first=this.right=p,p||quit(\"E041\",this.line||0,this.character||0),p.identifier&&(p.forgiveUndef=!0),this}),prefix(\"new\",function(){var mp=metaProperty(\"target\",function(){state.inES6(!0)||warning(\"W119\",state.tokens.prev,\"new.target\",\"6\");for(var inFunction,c=state.funct;c&&(inFunction=!c[\"(global)\"],c[\"(arrow)\"]);)c=c[\"(context)\"];inFunction||warning(\"W136\",state.tokens.prev,\"new.target\")});if(mp)return mp;var i,c=expression(155);if(c&&\"function\"!==c.id)if(c.identifier)switch(c[\"new\"]=!0,c.value){case\"Number\":case\"String\":case\"Boolean\":case\"Math\":case\"JSON\":warning(\"W053\",state.tokens.prev,c.value);break;case\"Symbol\":state.inES6()&&warning(\"W053\",state.tokens.prev,c.value);break;case\"Function\":state.option.evil||warning(\"W054\");break;case\"Date\":case\"RegExp\":case\"this\":break;default:\"function\"!==c.id&&(i=c.value.substr(0,1),state.option.newcap&&(\"A\">i||i>\"Z\")&&!state.funct[\"(scope)\"].isPredefined(c.value)&&warning(\"W055\",state.tokens.curr))}else\".\"!==c.id&&\"[\"!==c.id&&\"(\"!==c.id&&warning(\"W056\",state.tokens.curr);else state.option.supernew||warning(\"W057\",this);return\"(\"===state.tokens.next.id||state.option.supernew||warning(\"W058\",state.tokens.curr,state.tokens.curr.value),this.first=this.right=c,this}),state.syntax[\"new\"].exps=!0,prefix(\"void\").exps=!0,infix(\".\",function(left,that){var m=identifier(!1,!0);return\"string\"==typeof m&&countMember(m),that.left=left,that.right=m,m&&\"hasOwnProperty\"===m&&\"=\"===state.tokens.next.value&&warning(\"W001\"),!left||\"arguments\"!==left.value||\"callee\"!==m&&\"caller\"!==m?state.option.evil||!left||\"document\"!==left.value||\"write\"!==m&&\"writeln\"!==m||warning(\"W060\",left):state.option.noarg?warning(\"W059\",left,m):state.isStrict()&&error(\"E008\"),state.option.evil||\"eval\"!==m&&\"execScript\"!==m||isGlobalEval(left,state)&&warning(\"W061\"),that},160,!0),infix(\"(\",function(left,that){state.option.immed&&left&&!left.immed&&\"function\"===left.id&&warning(\"W062\");var n=0,p=[];if(left&&\"(identifier)\"===left.type&&left.value.match(/^[A-Z]([A-Z0-9_$]*[a-z][A-Za-z0-9_$]*)?$/)&&-1===\"Array Number String Boolean Date Object Error Symbol\".indexOf(left.value)&&(\"Math\"===left.value?warning(\"W063\",left):state.option.newcap&&warning(\"W064\",left)),\")\"!==state.tokens.next.id)for(;p[p.length]=expression(10),n+=1,\",\"===state.tokens.next.id;)comma();return advance(\")\"),\"object\"==typeof left&&(state.inES5()||\"parseInt\"!==left.value||1!==n||warning(\"W065\",state.tokens.curr),state.option.evil||(\"eval\"===left.value||\"Function\"===left.value||\"execScript\"===left.value?(warning(\"W061\",left),p[0]&&\"(string)\"===[0].id&&addInternalSrc(left,p[0].value)):!p[0]||\"(string)\"!==p[0].id||\"setTimeout\"!==left.value&&\"setInterval\"!==left.value?!p[0]||\"(string)\"!==p[0].id||\".\"!==left.value||\"window\"!==left.left.value||\"setTimeout\"!==left.right&&\"setInterval\"!==left.right||(warning(\"W066\",left),addInternalSrc(left,p[0].value)):(warning(\"W066\",left),addInternalSrc(left,p[0].value))),left.identifier||\".\"===left.id||\"[\"===left.id||\"=>\"===left.id||\"(\"===left.id||\"&&\"===left.id||\"||\"===left.id||\"?\"===left.id||state.inES6()&&left[\"(name)\"]||warning(\"W067\",that)),that.left=left,that},155,!0).exps=!0,prefix(\"(\",function(){var pn1,ret,triggerFnExpr,first,last,pn=state.tokens.next,i=-1,parens=1,opening=state.tokens.curr,preceeding=state.tokens.prev,isNecessary=!state.option.singleGroups;do\"(\"===pn.value?parens+=1:\")\"===pn.value&&(parens-=1),i+=1,pn1=pn,pn=peek(i);while((0!==parens||\")\"!==pn1.value)&&\";\"!==pn.value&&\"(end)\"!==pn.type);if(\"function\"===state.tokens.next.id&&(triggerFnExpr=state.tokens.next.immed=!0),\"=>\"===pn.value)return doFunction({type:\"arrow\",parsedOpening:!0});var exprs=[];if(\")\"!==state.tokens.next.id)for(;exprs.push(expression(10)),\",\"===state.tokens.next.id;)state.option.nocomma&&warning(\"W127\"),comma();return advance(\")\",this),state.option.immed&&exprs[0]&&\"function\"===exprs[0].id&&\"(\"!==state.tokens.next.id&&\".\"!==state.tokens.next.id&&\"[\"!==state.tokens.next.id&&warning(\"W068\",this),exprs.length?(exprs.length>1?(ret=Object.create(state.syntax[\",\"]),ret.exprs=exprs,first=exprs[0],last=exprs[exprs.length-1],isNecessary||(isNecessary=preceeding.assign||preceeding.delim)):(ret=first=last=exprs[0],isNecessary||(isNecessary=opening.beginsStmt&&(\"{\"===ret.id||triggerFnExpr||isFunctor(ret))||triggerFnExpr&&(!isEndOfExpr()||\"}\"!==state.tokens.prev.id)||isFunctor(ret)&&!isEndOfExpr()||\"{\"===ret.id&&\"=>\"===preceeding.id||\"(number)\"===ret.type&&checkPunctuator(pn,\".\")&&/^\\d+$/.test(ret.value))),ret&&(!isNecessary&&(first.left||first.right||ret.exprs)&&(isNecessary=!isBeginOfExpr(preceeding)&&first.lbp<=preceeding.lbp||!isEndOfExpr()&&last.lbp\"),infix(\"[\",function(left,that){var s,e=expression(10);return e&&\"(string)\"===e.type&&(state.option.evil||\"eval\"!==e.value&&\"execScript\"!==e.value||isGlobalEval(left,state)&&warning(\"W061\"),countMember(e.value),!state.option.sub&®.identifier.test(e.value)&&(s=state.syntax[e.value],s&&isReserved(s)||warning(\"W069\",state.tokens.prev,e.value))),advance(\"]\",that),e&&\"hasOwnProperty\"===e.value&&\"=\"===state.tokens.next.value&&warning(\"W001\"),that.left=left,that.right=e,that},160,!0),prefix(\"[\",function(){var blocktype=lookupBlockType();if(blocktype.isCompArray)return state.option.esnext||state.inMoz()||warning(\"W118\",state.tokens.curr,\"array comprehension\"),comprehensiveArrayExpression();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;var b=state.tokens.curr.line!==startLine(state.tokens.next);for(this.first=[],b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));\"(end)\"!==state.tokens.next.id;){for(;\",\"===state.tokens.next.id;){if(!state.option.elision){if(state.inES5()){warning(\"W128\");do advance(\",\");while(\",\"===state.tokens.next.id);continue}warning(\"W070\")}advance(\",\")}if(\"]\"===state.tokens.next.id)break;if(this.first.push(expression(10)),\",\"!==state.tokens.next.id)break;if(comma({allowTrailing:!0}),\"]\"===state.tokens.next.id&&!state.inES5()){warning(\"W070\",state.tokens.curr);break}}return b&&(indent-=state.option.indent),advance(\"]\",this),this}),function(x){x.nud=function(){var b,f,i,p,t,nextVal,isGeneratorMethod=!1,props=Object.create(null);b=state.tokens.curr.line!==startLine(state.tokens.next),b&&(indent+=state.option.indent,state.tokens.next.from===indent+state.option.indent&&(indent+=state.option.indent));var blocktype=lookupBlockType();if(blocktype.isDestAssign)return this.destructAssign=destructuringPattern({openingParsed:!0,assignment:!0}),this;for(;\"}\"!==state.tokens.next.id;){if(nextVal=state.tokens.next.value,!state.tokens.next.identifier||\",\"!==peekIgnoreEOL().id&&\"}\"!==peekIgnoreEOL().id)if(\":\"===peek().id||\"get\"!==nextVal&&\"set\"!==nextVal){if(\"*\"===state.tokens.next.value&&\"(punctuator)\"===state.tokens.next.type?(state.inES6()||warning(\"W104\",state.tokens.next,\"generator functions\",\"6\"),advance(\"*\"),isGeneratorMethod=!0):isGeneratorMethod=!1,\"[\"===state.tokens.next.id)i=computedPropertyName(),state.nameStack.set(i);else if(state.nameStack.set(state.tokens.next),i=propertyName(),saveProperty(props,i,state.tokens.next),\"string\"!=typeof i)break;\"(\"===state.tokens.next.value?(state.inES6()||warning(\"W104\",state.tokens.curr,\"concise methods\",\"6\"),doFunction({type:isGeneratorMethod?\"generator\":null})):(advance(\":\"),expression(10))}else advance(nextVal),state.inES5()||error(\"E034\"),i=propertyName(),i||state.inES6()||error(\"E035\"),i&&saveAccessor(nextVal,props,i,state.tokens.curr),t=state.tokens.next,f=doFunction(),p=f[\"(params)\"],\"get\"===nextVal&&i&&p?warning(\"W076\",t,p[0],i):\"set\"!==nextVal||!i||p&&1===p.length||warning(\"W077\",t,i);else state.inES6()||warning(\"W104\",state.tokens.next,\"object short notation\",\"6\"),i=propertyName(!0),saveProperty(props,i,state.tokens.next),expression(10);if(countMember(i),\",\"!==state.tokens.next.id)break;comma({allowTrailing:!0,property:!0}),\",\"===state.tokens.next.id?warning(\"W070\",state.tokens.curr):\"}\"!==state.tokens.next.id||state.inES5()||warning(\"W070\",state.tokens.curr)}return b&&(indent-=state.option.indent),advance(\"}\",this),checkProperties(props),this},x.fud=function(){error(\"E036\",state.tokens.curr)}}(delim(\"{\"));var conststatement=stmt(\"const\",function(context){return blockVariableStatement(\"const\",this,context)});conststatement.exps=!0;var letstatement=stmt(\"let\",function(context){return blockVariableStatement(\"let\",this,context)});letstatement.exps=!0;var varstatement=stmt(\"var\",function(context){var tokens,lone,value,prefix=context&&context.prefix,inexport=context&&context.inexport,implied=context&&context.implied,report=!(context&&context.ignore);for(this.first=[];;){var names=[];_.contains([\"{\",\"[\"],state.tokens.next.value)?(tokens=destructuringPattern(),lone=!1):(tokens=[{id:identifier(),token:state.tokens.curr}],lone=!0),prefix&&implied||!report||!state.option.varstmt||warning(\"W132\",this),this.first=this.first.concat(names);for(var t in tokens)tokens.hasOwnProperty(t)&&(t=tokens[t],!implied&&state.funct[\"(global)\"]&&(predefined[t.id]===!1?warning(\"W079\",t.token,t.id):state.option.futurehostile===!1&&(!state.inES5()&&vars.ecmaIdentifiers[5][t.id]===!1||!state.inES6()&&vars.ecmaIdentifiers[6][t.id]===!1)&&warning(\"W129\",t.token,t.id)),t.id&&(\"for\"===implied?(state.funct[\"(scope)\"].has(t.id)||report&&warning(\"W088\",t.token,t.id),state.funct[\"(scope)\"].block.use(t.id,t.token)):(state.funct[\"(scope)\"].addlabel(t.id,{type:\"var\",token:t.token}),lone&&inexport&&state.funct[\"(scope)\"].setExported(t.id,t.token)),names.push(t.token)));if(\"=\"===state.tokens.next.id&&(state.nameStack.set(state.tokens.curr),advance(\"=\"),prefix||!report||state.funct[\"(loopage)\"]||\"undefined\"!==state.tokens.next.id||warning(\"W080\",state.tokens.prev,state.tokens.prev.value),\"=\"===peek(0).id&&state.tokens.next.identifier&&(!prefix&&report&&!state.funct[\"(params)\"]||-1===state.funct[\"(params)\"].indexOf(state.tokens.next.value))&&warning(\"W120\",state.tokens.next,state.tokens.next.value),value=expression(prefix?120:10),lone?tokens[0].first=value:destructuringPatternMatch(names,value)),\",\"!==state.tokens.next.id)break;comma()}return this});varstatement.exps=!0,blockstmt(\"class\",function(){return classdef.call(this,!0)}),blockstmt(\"function\",function(context){var inexport=context&&context.inexport,generator=!1;\"*\"===state.tokens.next.value&&(advance(\"*\"),state.inES6({strict:!0})?generator=!0:warning(\"W119\",state.tokens.curr,\"function*\",\"6\")),inblock&&warning(\"W082\",state.tokens.curr);var i=optionalidentifier();return state.funct[\"(scope)\"].addlabel(i,{type:\"function\",token:state.tokens.curr}),void 0===i?warning(\"W025\"):inexport&&state.funct[\"(scope)\"].setExported(i,state.tokens.prev),doFunction({name:i,statement:this,type:generator?\"generator\":null,ignoreLoopFunc:inblock}),\"(\"===state.tokens.next.id&&state.tokens.next.line===state.tokens.curr.line&&error(\"E039\"),this}),prefix(\"function\",function(){var generator=!1;\"*\"===state.tokens.next.value&&(state.inES6()||warning(\"W119\",state.tokens.curr,\"function*\",\"6\"),advance(\"*\"),generator=!0);var i=optionalidentifier();return doFunction({name:i,type:generator?\"generator\":null}),this}),blockstmt(\"if\",function(){var t=state.tokens.next;increaseComplexityCount(),state.condition=!0,advance(\"(\");var expr=expression(0);checkCondAssignment(expr);var forinifcheck=null;state.option.forin&&state.forinifcheckneeded&&(state.forinifcheckneeded=!1,forinifcheck=state.forinifchecks[state.forinifchecks.length-1],forinifcheck.type=\"(punctuator)\"===expr.type&&\"!\"===expr.value?\"(negative)\":\"(positive)\"),advance(\")\",t),state.condition=!1;var s=block(!0,!0);return forinifcheck&&\"(negative)\"===forinifcheck.type&&s&&s[0]&&\"(identifier)\"===s[0].type&&\"continue\"===s[0].value&&(forinifcheck.type=\"(negative-with-continue)\"),\"else\"===state.tokens.next.id&&(advance(\"else\"),\"if\"===state.tokens.next.id||\"switch\"===state.tokens.next.id?statement():block(!0,!0)),this}),blockstmt(\"try\",function(){function doCatch(){if(advance(\"catch\"),advance(\"(\"),state.funct[\"(scope)\"].stack(\"catchparams\"),checkPunctuators(state.tokens.next,[\"[\",\"{\"])){var tokens=destructuringPattern();_.each(tokens,function(token){token.id&&state.funct[\"(scope)\"].addParam(token.id,token,\"exception\")})}else\"(identifier)\"!==state.tokens.next.type?warning(\"E030\",state.tokens.next,state.tokens.next.value):state.funct[\"(scope)\"].addParam(identifier(),state.tokens.curr,\"exception\");\"if\"===state.tokens.next.value&&(state.inMoz()||warning(\"W118\",state.tokens.curr,\"catch filter\"),advance(\"if\"),expression(0)),advance(\")\"),block(!1),state.funct[\"(scope)\"].unstack()}var b;for(block(!0);\"catch\"===state.tokens.next.id;)increaseComplexityCount(),b&&!state.inMoz()&&warning(\"W118\",state.tokens.next,\"multiple catch blocks\"),doCatch(),b=!0;return\"finally\"===state.tokens.next.id?(advance(\"finally\"),block(!0),void 0):(b||error(\"E021\",state.tokens.next,\"catch\",state.tokens.next.value),this)}),blockstmt(\"while\",function(){var t=state.tokens.next;return state.funct[\"(breakage)\"]+=1,state.funct[\"(loopage)\"]+=1,increaseComplexityCount(),advance(\"(\"),checkCondAssignment(expression(0)),advance(\")\",t),block(!0,!0),state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1,this}).labelled=!0,blockstmt(\"with\",function(){var t=state.tokens.next;return state.isStrict()?error(\"E010\",state.tokens.curr):state.option.withstmt||warning(\"W085\",state.tokens.curr),advance(\"(\"),expression(0),advance(\")\",t),block(!0,!0),this}),blockstmt(\"switch\",function(){var t=state.tokens.next,g=!1,noindent=!1;\nfor(state.funct[\"(breakage)\"]+=1,advance(\"(\"),checkCondAssignment(expression(0)),advance(\")\",t),t=state.tokens.next,advance(\"{\"),state.tokens.next.from===indent&&(noindent=!0),noindent||(indent+=state.option.indent),this.cases=[];;)switch(state.tokens.next.id){case\"case\":switch(state.funct[\"(verb)\"]){case\"yield\":case\"break\":case\"case\":case\"continue\":case\"return\":case\"switch\":case\"throw\":break;default:state.tokens.curr.caseFallsThrough||warning(\"W086\",state.tokens.curr,\"case\")}advance(\"case\"),this.cases.push(expression(0)),increaseComplexityCount(),g=!0,advance(\":\"),state.funct[\"(verb)\"]=\"case\";break;case\"default\":switch(state.funct[\"(verb)\"]){case\"yield\":case\"break\":case\"continue\":case\"return\":case\"throw\":break;default:this.cases.length&&(state.tokens.curr.caseFallsThrough||warning(\"W086\",state.tokens.curr,\"default\"))}advance(\"default\"),g=!0,advance(\":\");break;case\"}\":return noindent||(indent-=state.option.indent),advance(\"}\",t),state.funct[\"(breakage)\"]-=1,state.funct[\"(verb)\"]=void 0,void 0;case\"(end)\":return error(\"E023\",state.tokens.next,\"}\"),void 0;default:if(indent+=state.option.indent,g)switch(state.tokens.curr.id){case\",\":return error(\"E040\"),void 0;case\":\":g=!1,statements();break;default:return error(\"E025\",state.tokens.curr),void 0}else{if(\":\"!==state.tokens.curr.id)return error(\"E021\",state.tokens.next,\"case\",state.tokens.next.value),void 0;advance(\":\"),error(\"E024\",state.tokens.curr,\":\"),statements()}indent-=state.option.indent}return this}).labelled=!0,stmt(\"debugger\",function(){return state.option.debug||warning(\"W087\",this),this}).exps=!0,function(){var x=stmt(\"do\",function(){state.funct[\"(breakage)\"]+=1,state.funct[\"(loopage)\"]+=1,increaseComplexityCount(),this.first=block(!0,!0),advance(\"while\");var t=state.tokens.next;return advance(\"(\"),checkCondAssignment(expression(0)),advance(\")\",t),state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1,this});x.labelled=!0,x.exps=!0}(),blockstmt(\"for\",function(){var s,t=state.tokens.next,letscope=!1,foreachtok=null;\"each\"===t.value&&(foreachtok=t,advance(\"each\"),state.inMoz()||warning(\"W118\",state.tokens.curr,\"for each\")),increaseComplexityCount(),advance(\"(\");var nextop,comma,initializer,i=0,inof=[\"in\",\"of\"],level=0;checkPunctuators(state.tokens.next,[\"{\",\"[\"])&&++level;do{if(nextop=peek(i),++i,checkPunctuators(nextop,[\"{\",\"[\"])?++level:checkPunctuators(nextop,[\"}\",\"]\"])&&--level,0>level)break;0===level&&(!comma&&checkPunctuator(nextop,\",\")?comma=nextop:!initializer&&checkPunctuator(nextop,\"=\")&&(initializer=nextop))}while(level>0||!_.contains(inof,nextop.value)&&\";\"!==nextop.value&&\"(end)\"!==nextop.type);if(_.contains(inof,nextop.value)){state.inES6()||\"of\"!==nextop.value||warning(\"W104\",nextop,\"for of\",\"6\");var ok=!(initializer||comma);if(initializer&&error(\"W133\",comma,nextop.value,\"initializer is forbidden\"),comma&&error(\"W133\",comma,nextop.value,\"more than one ForBinding\"),\"var\"===state.tokens.next.id?(advance(\"var\"),state.tokens.curr.fud({prefix:!0})):\"let\"===state.tokens.next.id||\"const\"===state.tokens.next.id?(advance(state.tokens.next.id),letscope=!0,state.funct[\"(scope)\"].stack(),state.tokens.curr.fud({prefix:!0})):Object.create(varstatement).fud({prefix:!0,implied:\"for\",ignore:!ok}),advance(nextop.value),expression(20),advance(\")\",t),\"in\"===nextop.value&&state.option.forin&&(state.forinifcheckneeded=!0,void 0===state.forinifchecks&&(state.forinifchecks=[]),state.forinifchecks.push({type:\"(none)\"})),state.funct[\"(breakage)\"]+=1,state.funct[\"(loopage)\"]+=1,s=block(!0,!0),\"in\"===nextop.value&&state.option.forin){if(state.forinifchecks&&state.forinifchecks.length>0){var check=state.forinifchecks.pop();(s&&s.length>0&&(\"object\"!=typeof s[0]||\"if\"!==s[0].value)||\"(positive)\"===check.type&&s.length>1||\"(negative)\"===check.type)&&warning(\"W089\",this)}state.forinifcheckneeded=!1}state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1}else{if(foreachtok&&error(\"E045\",foreachtok),\";\"!==state.tokens.next.id)if(\"var\"===state.tokens.next.id)advance(\"var\"),state.tokens.curr.fud();else if(\"let\"===state.tokens.next.id)advance(\"let\"),letscope=!0,state.funct[\"(scope)\"].stack(),state.tokens.curr.fud();else for(;expression(0,\"for\"),\",\"===state.tokens.next.id;)comma();if(nolinebreak(state.tokens.curr),advance(\";\"),state.funct[\"(loopage)\"]+=1,\";\"!==state.tokens.next.id&&checkCondAssignment(expression(0)),nolinebreak(state.tokens.curr),advance(\";\"),\";\"===state.tokens.next.id&&error(\"E021\",state.tokens.next,\")\",\";\"),\")\"!==state.tokens.next.id)for(;expression(0,\"for\"),\",\"===state.tokens.next.id;)comma();advance(\")\",t),state.funct[\"(breakage)\"]+=1,block(!0,!0),state.funct[\"(breakage)\"]-=1,state.funct[\"(loopage)\"]-=1}return letscope&&state.funct[\"(scope)\"].unstack(),this}).labelled=!0,stmt(\"break\",function(){var v=state.tokens.next.value;return state.option.asi||nolinebreak(this),\";\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line!==startLine(state.tokens.next)?0===state.funct[\"(breakage)\"]&&warning(\"W052\",state.tokens.next,this.value):(state.funct[\"(scope)\"].funct.hasBreakLabel(v)||warning(\"W090\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\"continue\",function(){var v=state.tokens.next.value;return 0===state.funct[\"(breakage)\"]&&warning(\"W052\",state.tokens.next,this.value),state.funct[\"(loopage)\"]||warning(\"W052\",state.tokens.next,this.value),state.option.asi||nolinebreak(this),\";\"===state.tokens.next.id||state.tokens.next.reach||state.tokens.curr.line===startLine(state.tokens.next)&&(state.funct[\"(scope)\"].funct.hasBreakLabel(v)||warning(\"W090\",state.tokens.next,v),this.first=state.tokens.next,advance()),reachable(this),this}).exps=!0,stmt(\"return\",function(){return this.line===startLine(state.tokens.next)?\";\"===state.tokens.next.id||state.tokens.next.reach||(this.first=expression(0),!this.first||\"(punctuator)\"!==this.first.type||\"=\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\"W093\",this.first.line,this.first.character)):\"(punctuator)\"===state.tokens.next.type&&[\"[\",\"{\",\"+\",\"-\"].indexOf(state.tokens.next.value)>-1&&nolinebreak(this),reachable(this),this}).exps=!0,function(x){x.exps=!0,x.lbp=25}(prefix(\"yield\",function(){var prev=state.tokens.prev;state.inES6(!0)&&!state.funct[\"(generator)\"]?\"(catch)\"===state.funct[\"(name)\"]&&state.funct[\"(context)\"][\"(generator)\"]||error(\"E046\",state.tokens.curr,\"yield\"):state.inES6()||warning(\"W104\",state.tokens.curr,\"yield\",\"6\"),state.funct[\"(generator)\"]=\"yielded\";var delegatingYield=!1;return\"*\"===state.tokens.next.value&&(delegatingYield=!0,advance(\"*\")),this.line!==startLine(state.tokens.next)&&state.inMoz()?state.option.asi||nolinebreak(this):((delegatingYield||\";\"!==state.tokens.next.id&&!state.option.asi&&!state.tokens.next.reach&&state.tokens.next.nud)&&(nobreaknonadjacent(state.tokens.curr,state.tokens.next),this.first=expression(10),\"(punctuator)\"!==this.first.type||\"=\"!==this.first.value||this.first.paren||state.option.boss||warningAt(\"W093\",this.first.line,this.first.character)),state.inMoz()&&\")\"!==state.tokens.next.id&&(prev.lbp>30||!prev.assign&&!isEndOfExpr()||\"yield\"===prev.id)&&error(\"E050\",this)),this})),stmt(\"throw\",function(){return nolinebreak(this),this.first=expression(20),reachable(this),this}).exps=!0,stmt(\"import\",function(){if(state.inES6()||warning(\"W119\",state.tokens.curr,\"import\",\"6\"),\"(string)\"===state.tokens.next.type)return advance(\"(string)\"),this;if(state.tokens.next.identifier){if(this.name=identifier(),state.funct[\"(scope)\"].addlabel(this.name,{type:\"const\",token:state.tokens.curr}),\",\"!==state.tokens.next.value)return advance(\"from\"),advance(\"(string)\"),this;advance(\",\")}if(\"*\"===state.tokens.next.id)advance(\"*\"),advance(\"as\"),state.tokens.next.identifier&&(this.name=identifier(),state.funct[\"(scope)\"].addlabel(this.name,{type:\"const\",token:state.tokens.curr}));else for(advance(\"{\");;){if(\"}\"===state.tokens.next.value){advance(\"}\");break}var importName;if(\"default\"===state.tokens.next.type?(importName=\"default\",advance(\"default\")):importName=identifier(),\"as\"===state.tokens.next.value&&(advance(\"as\"),importName=identifier()),state.funct[\"(scope)\"].addlabel(importName,{type:\"const\",token:state.tokens.curr}),\",\"!==state.tokens.next.value){if(\"}\"===state.tokens.next.value){advance(\"}\");break}error(\"E024\",state.tokens.next,state.tokens.next.value);break}advance(\",\")}return advance(\"from\"),advance(\"(string)\"),this}).exps=!0,stmt(\"export\",function(){var token,identifier,ok=!0;if(state.inES6()||(warning(\"W119\",state.tokens.curr,\"export\",\"6\"),ok=!1),state.funct[\"(scope)\"].block.isGlobal()||(error(\"E053\",state.tokens.curr),ok=!1),\"*\"===state.tokens.next.value)return advance(\"*\"),advance(\"from\"),advance(\"(string)\"),this;if(\"default\"===state.tokens.next.type){state.nameStack.set(state.tokens.next),advance(\"default\");var exportType=state.tokens.next.id;return(\"function\"===exportType||\"class\"===exportType)&&(this.block=!0),token=peek(),expression(10),identifier=token.value,this.block&&(state.funct[\"(scope)\"].addlabel(identifier,{type:exportType,token:token}),state.funct[\"(scope)\"].setExported(identifier,token)),this}if(\"{\"===state.tokens.next.value){advance(\"{\");for(var exportedTokens=[];;){if(state.tokens.next.identifier||error(\"E030\",state.tokens.next,state.tokens.next.value),advance(),exportedTokens.push(state.tokens.curr),\"as\"===state.tokens.next.value&&(advance(\"as\"),state.tokens.next.identifier||error(\"E030\",state.tokens.next,state.tokens.next.value),advance()),\",\"!==state.tokens.next.value){if(\"}\"===state.tokens.next.value){advance(\"}\");break}error(\"E024\",state.tokens.next,state.tokens.next.value);break}advance(\",\")}return\"from\"===state.tokens.next.value?(advance(\"from\"),advance(\"(string)\")):ok&&exportedTokens.forEach(function(token){state.funct[\"(scope)\"].setExported(token.value,token)}),this}if(\"var\"===state.tokens.next.id)advance(\"var\"),state.tokens.curr.fud({inexport:!0});else if(\"let\"===state.tokens.next.id)advance(\"let\"),state.tokens.curr.fud({inexport:!0});else if(\"const\"===state.tokens.next.id)advance(\"const\"),state.tokens.curr.fud({inexport:!0});else if(\"function\"===state.tokens.next.id)this.block=!0,advance(\"function\"),state.syntax[\"function\"].fud({inexport:!0});else if(\"class\"===state.tokens.next.id){this.block=!0,advance(\"class\");var classNameToken=state.tokens.next;state.syntax[\"class\"].fud(),state.funct[\"(scope)\"].setExported(classNameToken.value,classNameToken)}else error(\"E024\",state.tokens.next,state.tokens.next.value);return this}).exps=!0,FutureReservedWord(\"abstract\"),FutureReservedWord(\"boolean\"),FutureReservedWord(\"byte\"),FutureReservedWord(\"char\"),FutureReservedWord(\"class\",{es5:!0,nud:classdef}),FutureReservedWord(\"double\"),FutureReservedWord(\"enum\",{es5:!0}),FutureReservedWord(\"export\",{es5:!0}),FutureReservedWord(\"extends\",{es5:!0}),FutureReservedWord(\"final\"),FutureReservedWord(\"float\"),FutureReservedWord(\"goto\"),FutureReservedWord(\"implements\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"import\",{es5:!0}),FutureReservedWord(\"int\"),FutureReservedWord(\"interface\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"long\"),FutureReservedWord(\"native\"),FutureReservedWord(\"package\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"private\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"protected\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"public\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"short\"),FutureReservedWord(\"static\",{es5:!0,strictOnly:!0}),FutureReservedWord(\"super\",{es5:!0}),FutureReservedWord(\"synchronized\"),FutureReservedWord(\"transient\"),FutureReservedWord(\"volatile\");var lookupBlockType=function(){var pn,pn1,prev,i=-1,bracketStack=0,ret={};checkPunctuators(state.tokens.curr,[\"[\",\"{\"])&&(bracketStack+=1);do{if(prev=-1===i?state.tokens.curr:pn,pn=-1===i?state.tokens.next:peek(i),pn1=peek(i+1),i+=1,checkPunctuators(pn,[\"[\",\"{\"])?bracketStack+=1:checkPunctuators(pn,[\"]\",\"}\"])&&(bracketStack-=1),1===bracketStack&&pn.identifier&&\"for\"===pn.value&&!checkPunctuator(prev,\".\")){ret.isCompArray=!0,ret.notJson=!0;break}if(0===bracketStack&&checkPunctuators(pn,[\"}\",\"]\"])){if(\"=\"===pn1.value){ret.isDestAssign=!0,ret.notJson=!0;break}if(\".\"===pn1.value){ret.notJson=!0;break}}checkPunctuator(pn,\";\")&&(ret.isBlock=!0,ret.notJson=!0)}while(bracketStack>0&&\"(end)\"!==pn.id);return ret},arrayComprehension=function(){function declare(v){var l=_current.variables.filter(function(elt){return elt.value===v?(elt.undef=!1,v):void 0}).length;return 0!==l}function use(v){var l=_current.variables.filter(function(elt){return elt.value!==v||elt.undef?void 0:(elt.unused===!0&&(elt.unused=!1),v)}).length;return 0===l}var _current,CompArray=function(){this.mode=\"use\",this.variables=[]},_carrays=[];return{stack:function(){_current=new CompArray,_carrays.push(_current)},unstack:function(){_current.variables.filter(function(v){v.unused&&warning(\"W098\",v.token,v.raw_text||v.value),v.undef&&state.funct[\"(scope)\"].block.use(v.value,v.token)}),_carrays.splice(-1,1),_current=_carrays[_carrays.length-1]},setState:function(s){_.contains([\"use\",\"define\",\"generate\",\"filter\"],s)&&(_current.mode=s)},check:function(v){return _current?_current&&\"use\"===_current.mode?(use(v)&&_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!0,unused:!1}),!0):_current&&\"define\"===_current.mode?(declare(v)||_current.variables.push({funct:state.funct,token:state.tokens.curr,value:v,undef:!1,unused:!0}),!0):_current&&\"generate\"===_current.mode?(state.funct[\"(scope)\"].block.use(v,state.tokens.curr),!0):_current&&\"filter\"===_current.mode?(use(v)&&state.funct[\"(scope)\"].block.use(v,state.tokens.curr),!0):!1:void 0}}},escapeRegex=function(str){return str.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g,\"\\\\$&\")},itself=function(s,o,g){function each(obj,cb){obj&&(Array.isArray(obj)||\"object\"!=typeof obj||(obj=Object.keys(obj)),obj.forEach(cb))}var i,k,x,reIgnoreStr,reIgnore,optionKeys,newOptionObj={},newIgnoredObj={};o=_.clone(o),state.reset(),o&&o.scope?JSHINT.scope=o.scope:(JSHINT.errors=[],JSHINT.undefs=[],JSHINT.internals=[],JSHINT.blacklist={},JSHINT.scope=\"(main)\"),predefined=Object.create(null),combine(predefined,vars.ecmaIdentifiers[3]),combine(predefined,vars.reservedVars),combine(predefined,g||{}),declared=Object.create(null);var exported=Object.create(null);if(o)for(each(o.predef||null,function(item){var slice,prop;\"-\"===item[0]?(slice=item.slice(1),JSHINT.blacklist[slice]=slice,delete predefined[slice]):(prop=Object.getOwnPropertyDescriptor(o.predef,item),predefined[item]=prop?prop.value:!1)}),each(o.exported||null,function(item){exported[item]=!0}),delete o.predef,delete o.exported,optionKeys=Object.keys(o),x=0;optionKeys.length>x;x++)if(/^-W\\d{3}$/g.test(optionKeys[x]))newIgnoredObj[optionKeys[x].slice(1)]=!0;else{var optionKey=optionKeys[x];newOptionObj[optionKey]=o[optionKey],(\"esversion\"===optionKey&&5===o[optionKey]||\"es5\"===optionKey&&o[optionKey])&&warning(\"I003\"),\"newcap\"===optionKeys[x]&&o[optionKey]===!1&&(newOptionObj[\"(explicitNewcap)\"]=!0)}state.option=newOptionObj,state.ignored=newIgnoredObj,state.option.indent=state.option.indent||4,state.option.maxerr=state.option.maxerr||50,indent=1;var scopeManagerInst=scopeManager(state,predefined,exported,declared);if(scopeManagerInst.on(\"warning\",function(ev){warning.apply(null,[ev.code,ev.token].concat(ev.data))}),scopeManagerInst.on(\"error\",function(ev){error.apply(null,[ev.code,ev.token].concat(ev.data))}),state.funct=functor(\"(global)\",null,{\"(global)\":!0,\"(scope)\":scopeManagerInst,\"(comparray)\":arrayComprehension(),\"(metrics)\":createMetrics(state.tokens.next)}),functions=[state.funct],urls=[],stack=null,member={},membersOnly=null,inblock=!1,lookahead=[],!isString(s)&&!Array.isArray(s))return errorAt(\"E004\",0),!1;api={get isJSON(){return state.jsonMode},getOption:function(name){return state.option[name]||null},getCache:function(name){return state.cache[name]},setCache:function(name,value){state.cache[name]=value},warn:function(code,data){warningAt.apply(null,[code,data.line,data.char].concat(data.data))},on:function(names,listener){names.split(\" \").forEach(function(name){emitter.on(name,listener)}.bind(this))}},emitter.removeAllListeners(),(extraModules||[]).forEach(function(func){func(api)}),state.tokens.prev=state.tokens.curr=state.tokens.next=state.syntax[\"(begin)\"],o&&o.ignoreDelimiters&&(Array.isArray(o.ignoreDelimiters)||(o.ignoreDelimiters=[o.ignoreDelimiters]),o.ignoreDelimiters.forEach(function(delimiterPair){delimiterPair.start&&delimiterPair.end&&(reIgnoreStr=escapeRegex(delimiterPair.start)+\"[\\\\s\\\\S]*?\"+escapeRegex(delimiterPair.end),reIgnore=RegExp(reIgnoreStr,\"ig\"),s=s.replace(reIgnore,function(match){return match.replace(/./g,\" \")}))})),lex=new Lexer(s),lex.on(\"warning\",function(ev){warningAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\"error\",function(ev){errorAt.apply(null,[ev.code,ev.line,ev.character].concat(ev.data))}),lex.on(\"fatal\",function(ev){quit(\"E041\",ev.line,ev.from)}),lex.on(\"Identifier\",function(ev){emitter.emit(\"Identifier\",ev)}),lex.on(\"String\",function(ev){emitter.emit(\"String\",ev)}),lex.on(\"Number\",function(ev){emitter.emit(\"Number\",ev)}),lex.start();for(var name in o)_.has(o,name)&&checkOption(name,state.tokens.curr);assume(),combine(predefined,g||{}),comma.first=!0;try{switch(advance(),state.tokens.next.id){case\"{\":case\"[\":destructuringAssignOrJsonValue();break;default:directives(),state.directive[\"use strict\"]&&\"global\"!==state.option.strict&&warning(\"W097\",state.tokens.prev),statements()}\"(end)\"!==state.tokens.next.id&&quit(\"E041\",state.tokens.curr.line),state.funct[\"(scope)\"].unstack()}catch(err){if(!err||\"JSHintError\"!==err.name)throw err;var nt=state.tokens.next||{};JSHINT.errors.push({scope:\"(main)\",raw:err.raw,code:err.code,reason:err.message,line:err.line||nt.line,character:err.character||nt.from},null)}if(\"(main)\"===JSHINT.scope)for(o=o||{},i=0;JSHINT.internals.length>i;i+=1)k=JSHINT.internals[i],o.scope=k.elem,itself(k.value,o,g);return 0===JSHINT.errors.length};return itself.addModule=function(func){extraModules.push(func)},itself.addModule(style.register),itself.data=function(){var fu,f,i,j,n,globals,data={functions:[],options:state.option};itself.errors.length&&(data.errors=itself.errors),state.jsonMode&&(data.json=!0);var impliedGlobals=state.funct[\"(scope)\"].getImpliedGlobals();for(impliedGlobals.length>0&&(data.implieds=impliedGlobals),urls.length>0&&(data.urls=urls),globals=state.funct[\"(scope)\"].getUsedOrDefinedGlobals(),globals.length>0&&(data.globals=globals),i=1;functions.length>i;i+=1){for(f=functions[i],fu={},j=0;functionicity.length>j;j+=1)fu[functionicity[j]]=[];for(j=0;functionicity.length>j;j+=1)0===fu[functionicity[j]].length&&delete fu[functionicity[j]];fu.name=f[\"(name)\"],fu.param=f[\"(params)\"],fu.line=f[\"(line)\"],fu.character=f[\"(character)\"],fu.last=f[\"(last)\"],fu.lastcharacter=f[\"(lastcharacter)\"],fu.metrics={complexity:f[\"(metrics)\"].ComplexityCount,parameters:f[\"(metrics)\"].arity,statements:f[\"(metrics)\"].statementCount},data.functions.push(fu)}var unuseds=state.funct[\"(scope)\"].getUnuseds();unuseds.length>0&&(data.unused=unuseds);for(n in member)if(\"number\"==typeof member[n]){data.member=member;break}return data},itself.jshint=itself,itself}();\"object\"==typeof exports&&exports&&(exports.JSHINT=JSHINT)},{\"../lodash\":\"/node_modules/jshint/lodash.js\",\"./lex.js\":\"/node_modules/jshint/src/lex.js\",\"./messages.js\":\"/node_modules/jshint/src/messages.js\",\"./options.js\":\"/node_modules/jshint/src/options.js\",\"./reg.js\":\"/node_modules/jshint/src/reg.js\",\"./scope-manager.js\":\"/node_modules/jshint/src/scope-manager.js\",\"./state.js\":\"/node_modules/jshint/src/state.js\",\"./style.js\":\"/node_modules/jshint/src/style.js\",\"./vars.js\":\"/node_modules/jshint/src/vars.js\",events:\"/node_modules/browserify/node_modules/events/events.js\"}],\"/node_modules/jshint/src/lex.js\":[function(_dereq_,module,exports){\"use strict\";function asyncTrigger(){var _checks=[];return{push:function(fn){_checks.push(fn)},check:function(){for(var check=0;_checks.length>check;++check)_checks[check]();_checks.splice(0,_checks.length)}}}function Lexer(source){var lines=source;\"string\"==typeof lines&&(lines=lines.replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\").split(\"\\n\")),lines[0]&&\"#!\"===lines[0].substr(0,2)&&(-1!==lines[0].indexOf(\"node\")&&(state.option.node=!0),lines[0]=\"\"),this.emitter=new events.EventEmitter,this.source=source,this.setLines(lines),this.prereg=!0,this.line=0,this.char=1,this.from=1,this.input=\"\",this.inComment=!1,this.context=[],this.templateStarts=[];for(var i=0;state.option.indent>i;i+=1)state.tab+=\" \";this.ignoreLinterErrors=!1}var _=_dereq_(\"../lodash\"),events=_dereq_(\"events\"),reg=_dereq_(\"./reg.js\"),state=_dereq_(\"./state.js\").state,unicodeData=_dereq_(\"../data/ascii-identifier-data.js\"),asciiIdentifierStartTable=unicodeData.asciiIdentifierStartTable,asciiIdentifierPartTable=unicodeData.asciiIdentifierPartTable,Token={Identifier:1,Punctuator:2,NumericLiteral:3,StringLiteral:4,Comment:5,Keyword:6,NullLiteral:7,BooleanLiteral:8,RegExp:9,TemplateHead:10,TemplateMiddle:11,TemplateTail:12,NoSubstTemplate:13},Context={Block:1,Template:2};Lexer.prototype={_lines:[],inContext:function(ctxType){return this.context.length>0&&this.context[this.context.length-1].type===ctxType},pushContext:function(ctxType){this.context.push({type:ctxType})},popContext:function(){return this.context.pop()},isContext:function(context){return this.context.length>0&&this.context[this.context.length-1]===context},currentContext:function(){return this.context.length>0&&this.context[this.context.length-1]},getLines:function(){return this._lines=state.lines,this._lines},setLines:function(val){this._lines=val,state.lines=this._lines},peek:function(i){return this.input.charAt(i||0)},skip:function(i){i=i||1,this.char+=i,this.input=this.input.slice(i)},on:function(names,listener){names.split(\" \").forEach(function(name){this.emitter.on(name,listener)}.bind(this))},trigger:function(){this.emitter.emit.apply(this.emitter,Array.prototype.slice.call(arguments))},triggerAsync:function(type,args,checks,fn){checks.push(function(){fn()&&this.trigger(type,args)}.bind(this))},scanPunctuator:function(){var ch2,ch3,ch4,ch1=this.peek();switch(ch1){case\".\":if(/^[0-9]$/.test(this.peek(1)))return null;if(\".\"===this.peek(1)&&\".\"===this.peek(2))return{type:Token.Punctuator,value:\"...\"};case\"(\":case\")\":case\";\":case\",\":case\"[\":case\"]\":case\":\":case\"~\":case\"?\":return{type:Token.Punctuator,value:ch1};case\"{\":return this.pushContext(Context.Block),{type:Token.Punctuator,value:ch1};case\"}\":return this.inContext(Context.Block)&&this.popContext(),{type:Token.Punctuator,value:ch1};case\"#\":return{type:Token.Punctuator,value:ch1};case\"\":return null}return ch2=this.peek(1),ch3=this.peek(2),ch4=this.peek(3),\">\"===ch1&&\">\"===ch2&&\">\"===ch3&&\"=\"===ch4?{type:Token.Punctuator,value:\">>>=\"}:\"=\"===ch1&&\"=\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\"===\"}:\"!\"===ch1&&\"=\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\"!==\"}:\">\"===ch1&&\">\"===ch2&&\">\"===ch3?{type:Token.Punctuator,value:\">>>\"}:\"<\"===ch1&&\"<\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\"<<=\"}:\">\"===ch1&&\">\"===ch2&&\"=\"===ch3?{type:Token.Punctuator,value:\">>=\"}:\"=\"===ch1&&\">\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:ch1===ch2&&\"+-<>&|\".indexOf(ch1)>=0?{type:Token.Punctuator,value:ch1+ch2}:\"<>=!+-*%&|^\".indexOf(ch1)>=0?\"=\"===ch2?{type:Token.Punctuator,value:ch1+ch2}:{type:Token.Punctuator,value:ch1}:\"/\"===ch1?\"=\"===ch2?{type:Token.Punctuator,value:\"/=\"}:{type:Token.Punctuator,value:\"/\"}:null},scanComments:function(){function commentToken(label,body,opt){var special=[\"jshint\",\"jslint\",\"members\",\"member\",\"globals\",\"global\",\"exported\"],isSpecial=!1,value=label+body,commentType=\"plain\";return opt=opt||{},opt.isMultiline&&(value+=\"*/\"),body=body.replace(/\\n/g,\" \"),\"/*\"===label&®.fallsThrough.test(body)&&(isSpecial=!0,commentType=\"falls through\"),special.forEach(function(str){if(!isSpecial&&(\"//\"!==label||\"jshint\"===str)&&(\" \"===body.charAt(str.length)&&body.substr(0,str.length)===str&&(isSpecial=!0,label+=str,body=body.substr(str.length)),isSpecial||\" \"!==body.charAt(0)||\" \"!==body.charAt(str.length+1)||body.substr(1,str.length)!==str||(isSpecial=!0,label=label+\" \"+str,body=body.substr(str.length+1)),isSpecial))switch(str){case\"member\":commentType=\"members\";break;case\"global\":commentType=\"globals\";break;default:var options=body.split(\":\").map(function(v){return v.replace(/^\\s+/,\"\").replace(/\\s+$/,\"\")});if(2===options.length)switch(options[0]){case\"ignore\":switch(options[1]){case\"start\":self.ignoringLinterErrors=!0,isSpecial=!1;break;case\"end\":self.ignoringLinterErrors=!1,isSpecial=!1}}commentType=str}}),{type:Token.Comment,commentType:commentType,value:value,body:body,isSpecial:isSpecial,isMultiline:opt.isMultiline||!1,isMalformed:opt.isMalformed||!1}}var ch1=this.peek(),ch2=this.peek(1),rest=this.input.substr(2),startLine=this.line,startChar=this.char,self=this;if(\"*\"===ch1&&\"/\"===ch2)return this.trigger(\"error\",{code:\"E018\",line:startLine,character:startChar}),this.skip(2),null;if(\"/\"!==ch1||\"*\"!==ch2&&\"/\"!==ch2)return null;if(\"/\"===ch2)return this.skip(this.input.length),commentToken(\"//\",rest);var body=\"\";if(\"*\"===ch2){for(this.inComment=!0,this.skip(2);\"*\"!==this.peek()||\"/\"!==this.peek(1);)if(\"\"===this.peek()){if(body+=\"\\n\",!this.nextLine())return this.trigger(\"error\",{code:\"E017\",line:startLine,character:startChar}),this.inComment=!1,commentToken(\"/*\",body,{isMultiline:!0,isMalformed:!0})}else body+=this.peek(),this.skip();return this.skip(2),this.inComment=!1,commentToken(\"/*\",body,{isMultiline:!0})}},scanKeyword:function(){var result=/^[a-zA-Z_$][a-zA-Z0-9_$]*/.exec(this.input),keywords=[\"if\",\"in\",\"do\",\"var\",\"for\",\"new\",\"try\",\"let\",\"this\",\"else\",\"case\",\"void\",\"with\",\"enum\",\"while\",\"break\",\"catch\",\"throw\",\"const\",\"yield\",\"class\",\"super\",\"return\",\"typeof\",\"delete\",\"switch\",\"export\",\"import\",\"default\",\"finally\",\"extends\",\"function\",\"continue\",\"debugger\",\"instanceof\"];return result&&keywords.indexOf(result[0])>=0?{type:Token.Keyword,value:result[0]}:null},scanIdentifier:function(){function isNonAsciiIdentifierStart(code){return code>256}function isNonAsciiIdentifierPart(code){return code>256}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function removeEscapeSequences(id){return id.replace(/\\\\u([0-9a-fA-F]{4})/g,function(m0,codepoint){return String.fromCharCode(parseInt(codepoint,16))})}var type,char,id=\"\",index=0,readUnicodeEscapeSequence=function(){if(index+=1,\"u\"!==this.peek(index))return null;var code,ch1=this.peek(index+1),ch2=this.peek(index+2),ch3=this.peek(index+3),ch4=this.peek(index+4);return isHexDigit(ch1)&&isHexDigit(ch2)&&isHexDigit(ch3)&&isHexDigit(ch4)?(code=parseInt(ch1+ch2+ch3+ch4,16),asciiIdentifierPartTable[code]||isNonAsciiIdentifierPart(code)?(index+=5,\"\\\\u\"+ch1+ch2+ch3+ch4):null):null}.bind(this),getIdentifierStart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierStartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierStart(code)?(index+=1,chr):null}.bind(this),getIdentifierPart=function(){var chr=this.peek(index),code=chr.charCodeAt(0);return 92===code?readUnicodeEscapeSequence():128>code?asciiIdentifierPartTable[code]?(index+=1,chr):null:isNonAsciiIdentifierPart(code)?(index+=1,chr):null}.bind(this);if(char=getIdentifierStart(),null===char)return null;for(id=char;char=getIdentifierPart(),null!==char;)id+=char;switch(id){case\"true\":case\"false\":type=Token.BooleanLiteral;break;case\"null\":type=Token.NullLiteral;break;default:type=Token.Identifier}return{type:type,value:removeEscapeSequences(id),text:id,tokenLength:id.length}},scanNumericLiteral:function(){function isDecimalDigit(str){return/^[0-9]$/.test(str)}function isOctalDigit(str){return/^[0-7]$/.test(str)}function isBinaryDigit(str){return/^[01]$/.test(str)}function isHexDigit(str){return/^[0-9a-fA-F]$/.test(str)}function isIdentifierStart(ch){return\"$\"===ch||\"_\"===ch||\"\\\\\"===ch||ch>=\"a\"&&\"z\">=ch||ch>=\"A\"&&\"Z\">=ch}var bad,index=0,value=\"\",length=this.input.length,char=this.peek(index),isAllowedDigit=isDecimalDigit,base=10,isLegacy=!1;if(\".\"!==char&&!isDecimalDigit(char))return null;if(\".\"!==char){for(value=this.peek(index),index+=1,char=this.peek(index),\"0\"===value&&((\"x\"===char||\"X\"===char)&&(isAllowedDigit=isHexDigit,base=16,index+=1,value+=char),(\"o\"===char||\"O\"===char)&&(isAllowedDigit=isOctalDigit,base=8,state.inES6(!0)||this.trigger(\"warning\",{code:\"W119\",line:this.line,character:this.char,data:[\"Octal integer literal\",\"6\"]}),index+=1,value+=char),(\"b\"===char||\"B\"===char)&&(isAllowedDigit=isBinaryDigit,base=2,state.inES6(!0)||this.trigger(\"warning\",{code:\"W119\",line:this.line,character:this.char,data:[\"Binary integer literal\",\"6\"]}),index+=1,value+=char),isOctalDigit(char)&&(isAllowedDigit=isOctalDigit,base=8,isLegacy=!0,bad=!1,index+=1,value+=char),!isOctalDigit(char)&&isDecimalDigit(char)&&(index+=1,value+=char));length>index;){if(char=this.peek(index),isLegacy&&isDecimalDigit(char))bad=!0;else if(!isAllowedDigit(char))break;value+=char,index+=1}if(isAllowedDigit!==isDecimalDigit)return!isLegacy&&2>=value.length?{type:Token.NumericLiteral,value:value,isMalformed:!0}:length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isLegacy:isLegacy,isMalformed:!1}}if(\".\"===char)for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1;if(\"e\"===char||\"E\"===char){if(value+=char,index+=1,char=this.peek(index),(\"+\"===char||\"-\"===char)&&(value+=this.peek(index),index+=1),char=this.peek(index),!isDecimalDigit(char))return null;for(value+=char,index+=1;length>index&&(char=this.peek(index),isDecimalDigit(char));)value+=char,index+=1}return length>index&&(char=this.peek(index),isIdentifierStart(char))?null:{type:Token.NumericLiteral,value:value,base:base,isMalformed:!isFinite(value)}},scanEscapeSequence:function(checks){var allowNewLine=!1,jump=1;this.skip();var char=this.peek();switch(char){case\"'\":this.triggerAsync(\"warning\",{code:\"W114\",line:this.line,character:this.char,data:[\"\\\\'\"]},checks,function(){return state.jsonMode});break;case\"b\":char=\"\\\\b\";break;case\"f\":char=\"\\\\f\";break;case\"n\":char=\"\\\\n\";break;case\"r\":char=\"\\\\r\";break;case\"t\":char=\"\\\\t\";break;case\"0\":char=\"\\\\0\";var n=parseInt(this.peek(1),10);this.triggerAsync(\"warning\",{code:\"W115\",line:this.line,character:this.char},checks,function(){return n>=0&&7>=n&&state.isStrict()});break;case\"u\":var hexCode=this.input.substr(1,4),code=parseInt(hexCode,16);isNaN(code)&&this.trigger(\"warning\",{code:\"W052\",line:this.line,character:this.char,data:[\"u\"+hexCode]}),char=String.fromCharCode(code),jump=5;break;case\"v\":this.triggerAsync(\"warning\",{code:\"W114\",line:this.line,character:this.char,data:[\"\\\\v\"]},checks,function(){return state.jsonMode}),char=\"\u000b\";break;case\"x\":var x=parseInt(this.input.substr(1,2),16);this.triggerAsync(\"warning\",{code:\"W114\",line:this.line,character:this.char,data:[\"\\\\x-\"]},checks,function(){return state.jsonMode}),char=String.fromCharCode(x),jump=3;break;case\"\\\\\":char=\"\\\\\\\\\";break;case'\"':char='\\\\\"';break;case\"/\":break;case\"\":allowNewLine=!0,char=\"\"}return{\"char\":char,jump:jump,allowNewLine:allowNewLine}},scanTemplateLiteral:function(checks){var tokenType,ch,value=\"\",startLine=this.line,startChar=this.char,depth=this.templateStarts.length;if(!state.inES6(!0))return null;if(\"`\"===this.peek())tokenType=Token.TemplateHead,this.templateStarts.push({line:this.line,\"char\":this.char}),depth=this.templateStarts.length,this.skip(1),this.pushContext(Context.Template);else{if(!this.inContext(Context.Template)||\"}\"!==this.peek())return null;tokenType=Token.TemplateMiddle}for(;\"`\"!==this.peek();){for(;\"\"===(ch=this.peek());)if(value+=\"\\n\",!this.nextLine()){var startPos=this.templateStarts.pop();return this.trigger(\"error\",{code:\"E052\",line:startPos.line,character:startPos.char}),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,depth:depth,context:this.popContext()}}if(\"$\"===ch&&\"{\"===this.peek(1))return value+=\"${\",this.skip(2),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.currentContext()};\nif(\"\\\\\"===ch){var escape=this.scanEscapeSequence(checks);value+=escape.char,this.skip(escape.jump)}else\"`\"!==ch&&(value+=ch,this.skip(1))}return tokenType=tokenType===Token.TemplateHead?Token.NoSubstTemplate:Token.TemplateTail,this.skip(1),this.templateStarts.pop(),{type:tokenType,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,depth:depth,context:this.popContext()}},scanStringLiteral:function(checks){var quote=this.peek();if('\"'!==quote&&\"'\"!==quote)return null;this.triggerAsync(\"warning\",{code:\"W108\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&'\"'!==quote});var value=\"\",startLine=this.line,startChar=this.char,allowNewLine=!1;for(this.skip();this.peek()!==quote;)if(\"\"===this.peek()){if(allowNewLine?(allowNewLine=!1,this.triggerAsync(\"warning\",{code:\"W043\",line:this.line,character:this.char},checks,function(){return!state.option.multistr}),this.triggerAsync(\"warning\",{code:\"W042\",line:this.line,character:this.char},checks,function(){return state.jsonMode&&state.option.multistr})):this.trigger(\"warning\",{code:\"W112\",line:this.line,character:this.char}),!this.nextLine())return this.trigger(\"error\",{code:\"E029\",line:startLine,character:startChar}),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!0,quote:quote}}else{allowNewLine=!1;var char=this.peek(),jump=1;if(\" \">char&&this.trigger(\"warning\",{code:\"W113\",line:this.line,character:this.char,data:[\"\"]}),\"\\\\\"===char){var parsed=this.scanEscapeSequence(checks);char=parsed.char,jump=parsed.jump,allowNewLine=parsed.allowNewLine}value+=char,this.skip(jump)}return this.skip(),{type:Token.StringLiteral,value:value,startLine:startLine,startChar:startChar,isUnclosed:!1,quote:quote}},scanRegExp:function(){var terminated,index=0,length=this.input.length,char=this.peek(),value=char,body=\"\",flags=[],malformed=!1,isCharSet=!1,scanUnexpectedChars=function(){\" \">char&&(malformed=!0,this.trigger(\"warning\",{code:\"W048\",line:this.line,character:this.char})),\"<\"===char&&(malformed=!0,this.trigger(\"warning\",{code:\"W049\",line:this.line,character:this.char,data:[char]}))}.bind(this);if(!this.prereg||\"/\"!==char)return null;for(index+=1,terminated=!1;length>index;)if(char=this.peek(index),value+=char,body+=char,isCharSet)\"]\"===char&&(\"\\\\\"!==this.peek(index-1)||\"\\\\\"===this.peek(index-2))&&(isCharSet=!1),\"\\\\\"===char&&(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars()),index+=1;else{if(\"\\\\\"===char){if(index+=1,char=this.peek(index),body+=char,value+=char,scanUnexpectedChars(),\"/\"===char){index+=1;continue}if(\"[\"===char){index+=1;continue}}if(\"[\"!==char){if(\"/\"===char){body=body.substr(0,body.length-1),terminated=!0,index+=1;break}index+=1}else isCharSet=!0,index+=1}if(!terminated)return this.trigger(\"error\",{code:\"E015\",line:this.line,character:this.from}),void this.trigger(\"fatal\",{line:this.line,from:this.from});for(;length>index&&(char=this.peek(index),/[gim]/.test(char));)flags.push(char),value+=char,index+=1;try{RegExp(body,flags.join(\"\"))}catch(err){malformed=!0,this.trigger(\"error\",{code:\"E016\",line:this.line,character:this.char,data:[err.message]})}return{type:Token.RegExp,value:value,flags:flags,isMalformed:malformed}},scanNonBreakingSpaces:function(){return state.option.nonbsp?this.input.search(/(\\u00A0)/):-1},scanUnsafeChars:function(){return this.input.search(reg.unsafeChars)},next:function(checks){this.from=this.char;var start;if(/\\s/.test(this.peek()))for(start=this.char;/\\s/.test(this.peek());)this.from+=1,this.skip();var match=this.scanComments()||this.scanStringLiteral(checks)||this.scanTemplateLiteral(checks);return match?match:(match=this.scanRegExp()||this.scanPunctuator()||this.scanKeyword()||this.scanIdentifier()||this.scanNumericLiteral(),match?(this.skip(match.tokenLength||match.value.length),match):null)},nextLine:function(){var char;if(this.line>=this.getLines().length)return!1;this.input=this.getLines()[this.line],this.line+=1,this.char=1,this.from=1;var inputTrimmed=this.input.trim(),startsWith=function(){return _.some(arguments,function(prefix){return 0===inputTrimmed.indexOf(prefix)})},endsWith=function(){return _.some(arguments,function(suffix){return-1!==inputTrimmed.indexOf(suffix,inputTrimmed.length-suffix.length)})};if(this.ignoringLinterErrors===!0&&(startsWith(\"/*\",\"//\")||this.inComment&&endsWith(\"*/\")||(this.input=\"\")),char=this.scanNonBreakingSpaces(),char>=0&&this.trigger(\"warning\",{code:\"W125\",line:this.line,character:char+1}),this.input=this.input.replace(/\\t/g,state.tab),char=this.scanUnsafeChars(),char>=0&&this.trigger(\"warning\",{code:\"W100\",line:this.line,character:char}),!this.ignoringLinterErrors&&state.option.maxlen&&state.option.maxlen=0;--i){var scopeLabels=_scopeStack[i][\"(labels)\"];if(scopeLabels[labelName])return scopeLabels}}function usedSoFarInCurrentFunction(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\"(usages)\"][labelName])return current[\"(usages)\"][labelName];if(current===_currentFunctBody)break}return!1}function _checkOuterShadow(labelName,token){if(\"outer\"===state.option.shadow)for(var isGlobal=\"global\"===_currentFunctBody[\"(type)\"],isNewFunction=\"functionparams\"===_current[\"(type)\"],outsideCurrentFunction=!isGlobal,i=0;_scopeStack.length>i;i++){var stackItem=_scopeStack[i];isNewFunction||_scopeStack[i+1]!==_currentFunctBody||(outsideCurrentFunction=!1),outsideCurrentFunction&&stackItem[\"(labels)\"][labelName]&&warning(\"W123\",token,labelName),stackItem[\"(breakLabels)\"][labelName]&&warning(\"W123\",token,labelName)}}function _latedefWarning(type,labelName,token){state.option.latedef&&(state.option.latedef===!0&&\"function\"===type||\"function\"!==type)&&warning(\"W003\",token,labelName)}var _current,_scopeStack=[];_newScope(\"global\"),_current[\"(predefined)\"]=predefined;var _currentFunctBody=_current,usedPredefinedAndGlobals=Object.create(null),impliedGlobals=Object.create(null),unuseds=[],emitter=new events.EventEmitter,_getUnusedOption=function(unused_opt){return void 0===unused_opt&&(unused_opt=state.option.unused),unused_opt===!0&&(unused_opt=\"last-param\"),unused_opt},_warnUnused=function(name,tkn,type,unused_opt){var line=tkn.line,chr=tkn.from,raw_name=tkn.raw_text||name;unused_opt=_getUnusedOption(unused_opt);var warnable_types={vars:[\"var\"],\"last-param\":[\"var\",\"param\"],strict:[\"var\",\"param\",\"last-param\"]};unused_opt&&warnable_types[unused_opt]&&-1!==warnable_types[unused_opt].indexOf(type)&&warning(\"W098\",{line:line,from:chr},raw_name),(unused_opt||\"var\"===type)&&unuseds.push({name:name,line:line,character:chr})},scopeManagerInst={on:function(names,listener){names.split(\" \").forEach(function(name){emitter.on(name,listener)})},isPredefined:function(labelName){return!this.has(labelName)&&_.has(_scopeStack[0][\"(predefined)\"],labelName)},stack:function(type){var previousScope=_current;_newScope(type),type||\"functionparams\"!==previousScope[\"(type)\"]||(_current[\"(isFuncBody)\"]=!0,_current[\"(context)\"]=_currentFunctBody,_currentFunctBody=_current)},unstack:function(){var i,j,subScope=_scopeStack.length>1?_scopeStack[_scopeStack.length-2]:null,isUnstackingFunctionBody=_current===_currentFunctBody,isUnstackingFunctionParams=\"functionparams\"===_current[\"(type)\"],isUnstackingFunctionOuter=\"functionouter\"===_current[\"(type)\"],currentUsages=_current[\"(usages)\"],currentLabels=_current[\"(labels)\"],usedLabelNameList=Object.keys(currentUsages);for(currentUsages.__proto__&&-1===usedLabelNameList.indexOf(\"__proto__\")&&usedLabelNameList.push(\"__proto__\"),i=0;usedLabelNameList.length>i;i++){var usedLabelName=usedLabelNameList[i],usage=currentUsages[usedLabelName],usedLabel=currentLabels[usedLabelName];if(usedLabel){var usedLabelType=usedLabel[\"(type)\"];if(usedLabel[\"(useOutsideOfScope)\"]&&!state.option.funcscope){var usedTokens=usage[\"(tokens)\"];if(usedTokens)for(j=0;usedTokens.length>j;j++)usedLabel[\"(function)\"]===usedTokens[j][\"(function)\"]&&error(\"W038\",usedTokens[j],usedLabelName)}if(_current[\"(labels)\"][usedLabelName][\"(unused)\"]=!1,\"const\"===usedLabelType&&usage[\"(modified)\"])for(j=0;usage[\"(modified)\"].length>j;j++)error(\"E013\",usage[\"(modified)\"][j],usedLabelName);if((\"function\"===usedLabelType||\"class\"===usedLabelType)&&usage[\"(reassigned)\"])for(j=0;usage[\"(reassigned)\"].length>j;j++)error(\"W021\",usage[\"(reassigned)\"][j],usedLabelName,usedLabelType)}else if(isUnstackingFunctionOuter&&(state.funct[\"(isCapturing)\"]=!0),subScope)if(subScope[\"(usages)\"][usedLabelName]){var subScopeUsage=subScope[\"(usages)\"][usedLabelName];subScopeUsage[\"(modified)\"]=subScopeUsage[\"(modified)\"].concat(usage[\"(modified)\"]),subScopeUsage[\"(tokens)\"]=subScopeUsage[\"(tokens)\"].concat(usage[\"(tokens)\"]),subScopeUsage[\"(reassigned)\"]=subScopeUsage[\"(reassigned)\"].concat(usage[\"(reassigned)\"]),subScopeUsage[\"(onlyUsedSubFunction)\"]=!1}else subScope[\"(usages)\"][usedLabelName]=usage,isUnstackingFunctionBody&&(subScope[\"(usages)\"][usedLabelName][\"(onlyUsedSubFunction)\"]=!0);else if(\"boolean\"==typeof _current[\"(predefined)\"][usedLabelName]){if(delete declared[usedLabelName],usedPredefinedAndGlobals[usedLabelName]=marker,_current[\"(predefined)\"][usedLabelName]===!1&&usage[\"(reassigned)\"])for(j=0;usage[\"(reassigned)\"].length>j;j++)warning(\"W020\",usage[\"(reassigned)\"][j])}else if(usage[\"(tokens)\"])for(j=0;usage[\"(tokens)\"].length>j;j++){var undefinedToken=usage[\"(tokens)\"][j];undefinedToken.forgiveUndef||(state.option.undef&&!undefinedToken.ignoreUndef&&warning(\"W117\",undefinedToken,usedLabelName),impliedGlobals[usedLabelName]?impliedGlobals[usedLabelName].line.push(undefinedToken.line):impliedGlobals[usedLabelName]={name:usedLabelName,line:[undefinedToken.line]})}}if(subScope||Object.keys(declared).forEach(function(labelNotUsed){_warnUnused(labelNotUsed,declared[labelNotUsed],\"var\")}),subScope&&!isUnstackingFunctionBody&&!isUnstackingFunctionParams&&!isUnstackingFunctionOuter){var labelNames=Object.keys(currentLabels);for(i=0;labelNames.length>i;i++){var defLabelName=labelNames[i];currentLabels[defLabelName][\"(blockscoped)\"]||\"exception\"===currentLabels[defLabelName][\"(type)\"]||this.funct.has(defLabelName,{excludeCurrent:!0})||(subScope[\"(labels)\"][defLabelName]=currentLabels[defLabelName],\"global\"!==_currentFunctBody[\"(type)\"]&&(subScope[\"(labels)\"][defLabelName][\"(useOutsideOfScope)\"]=!0),delete currentLabels[defLabelName])}}_checkForUnused(),_scopeStack.pop(),isUnstackingFunctionBody&&(_currentFunctBody=_scopeStack[_.findLastIndex(_scopeStack,function(scope){return scope[\"(isFuncBody)\"]||\"global\"===scope[\"(type)\"]})]),_current=subScope},addParam:function(labelName,token,type){if(type=type||\"param\",\"exception\"===type){var previouslyDefinedLabelType=this.funct.labeltype(labelName);previouslyDefinedLabelType&&\"exception\"!==previouslyDefinedLabelType&&(state.option.node||warning(\"W002\",state.tokens.next,labelName))}if(_.has(_current[\"(labels)\"],labelName)?_current[\"(labels)\"][labelName].duplicated=!0:(_checkOuterShadow(labelName,token,type),_current[\"(labels)\"][labelName]={\"(type)\":type,\"(token)\":token,\"(unused)\":!0},_current[\"(params)\"].push(labelName)),_.has(_current[\"(usages)\"],labelName)){var usage=_current[\"(usages)\"][labelName];usage[\"(onlyUsedSubFunction)\"]?_latedefWarning(type,labelName,token):warning(\"E056\",token,labelName,type)}},validateParams:function(){if(\"global\"!==_currentFunctBody[\"(type)\"]){var isStrict=state.isStrict(),currentFunctParamScope=_currentFunctBody[\"(parent)\"];currentFunctParamScope[\"(params)\"]&¤tFunctParamScope[\"(params)\"].forEach(function(labelName){var label=currentFunctParamScope[\"(labels)\"][labelName];label&&label.duplicated&&(isStrict?warning(\"E011\",label[\"(token)\"],labelName):state.option.shadow!==!0&&warning(\"W004\",label[\"(token)\"],labelName))})}},getUsedOrDefinedGlobals:function(){var list=Object.keys(usedPredefinedAndGlobals);return usedPredefinedAndGlobals.__proto__===marker&&-1===list.indexOf(\"__proto__\")&&list.push(\"__proto__\"),list},getImpliedGlobals:function(){var values=_.values(impliedGlobals),hasProto=!1;return impliedGlobals.__proto__&&(hasProto=values.some(function(value){return\"__proto__\"===value.name}),hasProto||values.push(impliedGlobals.__proto__)),values},getUnuseds:function(){return unuseds},has:function(labelName){return Boolean(_getLabel(labelName))},labeltype:function(labelName){var scopeLabels=_getLabel(labelName);return scopeLabels?scopeLabels[labelName][\"(type)\"]:null},addExported:function(labelName){var globalLabels=_scopeStack[0][\"(labels)\"];if(_.has(declared,labelName))delete declared[labelName];else if(_.has(globalLabels,labelName))globalLabels[labelName][\"(unused)\"]=!1;else{for(var i=1;_scopeStack.length>i;i++){var scope=_scopeStack[i];if(scope[\"(type)\"])break;if(_.has(scope[\"(labels)\"],labelName)&&!scope[\"(labels)\"][labelName][\"(blockscoped)\"])return scope[\"(labels)\"][labelName][\"(unused)\"]=!1,void 0}exported[labelName]=!0}},setExported:function(labelName,token){this.block.use(labelName,token)\n},addlabel:function(labelName,opts){var type=opts.type,token=opts.token,isblockscoped=\"let\"===type||\"const\"===type||\"class\"===type,isexported=\"global\"===(isblockscoped?_current:_currentFunctBody)[\"(type)\"]&&_.has(exported,labelName);if(_checkOuterShadow(labelName,token,type),isblockscoped){var declaredInCurrentScope=_current[\"(labels)\"][labelName];if(declaredInCurrentScope||_current!==_currentFunctBody||\"global\"===_current[\"(type)\"]||(declaredInCurrentScope=!!_currentFunctBody[\"(parent)\"][\"(labels)\"][labelName]),!declaredInCurrentScope&&_current[\"(usages)\"][labelName]){var usage=_current[\"(usages)\"][labelName];usage[\"(onlyUsedSubFunction)\"]?_latedefWarning(type,labelName,token):warning(\"E056\",token,labelName,type)}declaredInCurrentScope?warning(\"E011\",token,labelName):\"outer\"===state.option.shadow&&scopeManagerInst.funct.has(labelName)&&warning(\"W004\",token,labelName),scopeManagerInst.block.add(labelName,type,token,!isexported)}else{var declaredInCurrentFunctionScope=scopeManagerInst.funct.has(labelName);!declaredInCurrentFunctionScope&&usedSoFarInCurrentFunction(labelName)&&_latedefWarning(type,labelName,token),scopeManagerInst.funct.has(labelName,{onlyBlockscoped:!0})?warning(\"E011\",token,labelName):state.option.shadow!==!0&&declaredInCurrentFunctionScope&&\"__proto__\"!==labelName&&\"global\"!==_currentFunctBody[\"(type)\"]&&warning(\"W004\",token,labelName),scopeManagerInst.funct.add(labelName,type,token,!isexported),\"global\"===_currentFunctBody[\"(type)\"]&&(usedPredefinedAndGlobals[labelName]=marker)}},funct:{labeltype:function(labelName,options){for(var onlyBlockscoped=options&&options.onlyBlockscoped,excludeParams=options&&options.excludeParams,currentScopeIndex=_scopeStack.length-(options&&options.excludeCurrent?2:1),i=currentScopeIndex;i>=0;i--){var current=_scopeStack[i];if(current[\"(labels)\"][labelName]&&(!onlyBlockscoped||current[\"(labels)\"][labelName][\"(blockscoped)\"]))return current[\"(labels)\"][labelName][\"(type)\"];var scopeCheck=excludeParams?_scopeStack[i-1]:current;if(scopeCheck&&\"functionparams\"===scopeCheck[\"(type)\"])return null}return null},hasBreakLabel:function(labelName){for(var i=_scopeStack.length-1;i>=0;i--){var current=_scopeStack[i];if(current[\"(breakLabels)\"][labelName])return!0;if(\"functionparams\"===current[\"(type)\"])return!1}return!1},has:function(labelName,options){return Boolean(this.labeltype(labelName,options))},add:function(labelName,type,tok,unused){_current[\"(labels)\"][labelName]={\"(type)\":type,\"(token)\":tok,\"(blockscoped)\":!1,\"(function)\":_currentFunctBody,\"(unused)\":unused}}},block:{isGlobal:function(){return\"global\"===_current[\"(type)\"]},use:function(labelName,token){var paramScope=_currentFunctBody[\"(parent)\"];paramScope&¶mScope[\"(labels)\"][labelName]&&\"param\"===paramScope[\"(labels)\"][labelName][\"(type)\"]&&(scopeManagerInst.funct.has(labelName,{excludeParams:!0,onlyBlockscoped:!0})||(paramScope[\"(labels)\"][labelName][\"(unused)\"]=!1)),token&&(state.ignored.W117||state.option.undef===!1)&&(token.ignoreUndef=!0),_setupUsages(labelName),token&&(token[\"(function)\"]=_currentFunctBody,_current[\"(usages)\"][labelName][\"(tokens)\"].push(token))},reassign:function(labelName,token){this.modify(labelName,token),_current[\"(usages)\"][labelName][\"(reassigned)\"].push(token)},modify:function(labelName,token){_setupUsages(labelName),_current[\"(usages)\"][labelName][\"(modified)\"].push(token)},add:function(labelName,type,tok,unused){_current[\"(labels)\"][labelName]={\"(type)\":type,\"(token)\":tok,\"(blockscoped)\":!0,\"(unused)\":unused}},addBreakLabel:function(labelName,opts){var token=opts.token;scopeManagerInst.funct.hasBreakLabel(labelName)?warning(\"E011\",token,labelName):\"outer\"===state.option.shadow&&(scopeManagerInst.funct.has(labelName)?warning(\"W004\",token,labelName):_checkOuterShadow(labelName,token)),_current[\"(breakLabels)\"][labelName]=token}}};return scopeManagerInst};module.exports=scopeManager},{\"../lodash\":\"/node_modules/jshint/lodash.js\",events:\"/node_modules/browserify/node_modules/events/events.js\"}],\"/node_modules/jshint/src/state.js\":[function(_dereq_,module,exports){\"use strict\";var NameStack=_dereq_(\"./name-stack.js\"),state={syntax:{},isStrict:function(){return this.directive[\"use strict\"]||this.inClassBody||this.option.module||\"implied\"===this.option.strict},inMoz:function(){return this.option.moz},inES6:function(){return this.option.moz||this.option.esversion>=6},inES5:function(strict){return strict?!(this.option.esversion&&5!==this.option.esversion||this.option.moz):!this.option.esversion||this.option.esversion>=5||this.option.moz},reset:function(){this.tokens={prev:null,next:null,curr:null},this.option={},this.funct=null,this.ignored={},this.directive={},this.jsonMode=!1,this.jsonWarnings=[],this.lines=[],this.tab=\"\",this.cache={},this.ignoredLines={},this.forinifcheckneeded=!1,this.nameStack=new NameStack,this.inClassBody=!1}};exports.state=state},{\"./name-stack.js\":\"/node_modules/jshint/src/name-stack.js\"}],\"/node_modules/jshint/src/style.js\":[function(_dereq_,module,exports){\"use strict\";exports.register=function(linter){linter.on(\"Identifier\",function(data){linter.getOption(\"proto\")||\"__proto__\"===data.name&&linter.warn(\"W103\",{line:data.line,\"char\":data.char,data:[data.name,\"6\"]})}),linter.on(\"Identifier\",function(data){linter.getOption(\"iterator\")||\"__iterator__\"===data.name&&linter.warn(\"W103\",{line:data.line,\"char\":data.char,data:[data.name]})}),linter.on(\"Identifier\",function(data){linter.getOption(\"camelcase\")&&data.name.replace(/^_+|_+$/g,\"\").indexOf(\"_\")>-1&&!data.name.match(/^[A-Z0-9_]*$/)&&linter.warn(\"W106\",{line:data.line,\"char\":data.from,data:[data.name]})}),linter.on(\"String\",function(data){var code,quotmark=linter.getOption(\"quotmark\");quotmark&&(\"single\"===quotmark&&\"'\"!==data.quote&&(code=\"W109\"),\"double\"===quotmark&&'\"'!==data.quote&&(code=\"W108\"),quotmark===!0&&(linter.getCache(\"quotmark\")||linter.setCache(\"quotmark\",data.quote),linter.getCache(\"quotmark\")!==data.quote&&(code=\"W110\")),code&&linter.warn(code,{line:data.line,\"char\":data.char}))}),linter.on(\"Number\",function(data){\".\"===data.value.charAt(0)&&linter.warn(\"W008\",{line:data.line,\"char\":data.char,data:[data.value]}),\".\"===data.value.substr(data.value.length-1)&&linter.warn(\"W047\",{line:data.line,\"char\":data.char,data:[data.value]}),/^00+/.test(data.value)&&linter.warn(\"W046\",{line:data.line,\"char\":data.char,data:[data.value]})}),linter.on(\"String\",function(data){var re=/^(?:javascript|jscript|ecmascript|vbscript|livescript)\\s*:/i;linter.getOption(\"scripturl\")||re.test(data.value)&&linter.warn(\"W107\",{line:data.line,\"char\":data.char})})}},{}],\"/node_modules/jshint/src/vars.js\":[function(_dereq_,module,exports){\"use strict\";exports.reservedVars={arguments:!1,NaN:!1},exports.ecmaIdentifiers={3:{Array:!1,Boolean:!1,Date:!1,decodeURI:!1,decodeURIComponent:!1,encodeURI:!1,encodeURIComponent:!1,Error:!1,eval:!1,EvalError:!1,Function:!1,hasOwnProperty:!1,isFinite:!1,isNaN:!1,Math:!1,Number:!1,Object:!1,parseInt:!1,parseFloat:!1,RangeError:!1,ReferenceError:!1,RegExp:!1,String:!1,SyntaxError:!1,TypeError:!1,URIError:!1},5:{JSON:!1},6:{Map:!1,Promise:!1,Proxy:!1,Reflect:!1,Set:!1,Symbol:!1,WeakMap:!1,WeakSet:!1}},exports.browser={Audio:!1,Blob:!1,addEventListener:!1,applicationCache:!1,atob:!1,blur:!1,btoa:!1,cancelAnimationFrame:!1,CanvasGradient:!1,CanvasPattern:!1,CanvasRenderingContext2D:!1,CSS:!1,clearInterval:!1,clearTimeout:!1,close:!1,closed:!1,Comment:!1,CustomEvent:!1,DOMParser:!1,defaultStatus:!1,Document:!1,document:!1,DocumentFragment:!1,Element:!1,ElementTimeControl:!1,Event:!1,event:!1,fetch:!1,FileReader:!1,FormData:!1,focus:!1,frames:!1,getComputedStyle:!1,HTMLElement:!1,HTMLAnchorElement:!1,HTMLBaseElement:!1,HTMLBlockquoteElement:!1,HTMLBodyElement:!1,HTMLBRElement:!1,HTMLButtonElement:!1,HTMLCanvasElement:!1,HTMLCollection:!1,HTMLDirectoryElement:!1,HTMLDivElement:!1,HTMLDListElement:!1,HTMLFieldSetElement:!1,HTMLFontElement:!1,HTMLFormElement:!1,HTMLFrameElement:!1,HTMLFrameSetElement:!1,HTMLHeadElement:!1,HTMLHeadingElement:!1,HTMLHRElement:!1,HTMLHtmlElement:!1,HTMLIFrameElement:!1,HTMLImageElement:!1,HTMLInputElement:!1,HTMLIsIndexElement:!1,HTMLLabelElement:!1,HTMLLayerElement:!1,HTMLLegendElement:!1,HTMLLIElement:!1,HTMLLinkElement:!1,HTMLMapElement:!1,HTMLMenuElement:!1,HTMLMetaElement:!1,HTMLModElement:!1,HTMLObjectElement:!1,HTMLOListElement:!1,HTMLOptGroupElement:!1,HTMLOptionElement:!1,HTMLParagraphElement:!1,HTMLParamElement:!1,HTMLPreElement:!1,HTMLQuoteElement:!1,HTMLScriptElement:!1,HTMLSelectElement:!1,HTMLStyleElement:!1,HTMLTableCaptionElement:!1,HTMLTableCellElement:!1,HTMLTableColElement:!1,HTMLTableElement:!1,HTMLTableRowElement:!1,HTMLTableSectionElement:!1,HTMLTemplateElement:!1,HTMLTextAreaElement:!1,HTMLTitleElement:!1,HTMLUListElement:!1,HTMLVideoElement:!1,history:!1,Image:!1,Intl:!1,length:!1,localStorage:!1,location:!1,matchMedia:!1,MessageChannel:!1,MessageEvent:!1,MessagePort:!1,MouseEvent:!1,moveBy:!1,moveTo:!1,MutationObserver:!1,name:!1,Node:!1,NodeFilter:!1,NodeList:!1,Notification:!1,navigator:!1,onbeforeunload:!0,onblur:!0,onerror:!0,onfocus:!0,onload:!0,onresize:!0,onunload:!0,open:!1,openDatabase:!1,opener:!1,Option:!1,parent:!1,performance:!1,print:!1,Range:!1,requestAnimationFrame:!1,removeEventListener:!1,resizeBy:!1,resizeTo:!1,screen:!1,scroll:!1,scrollBy:!1,scrollTo:!1,sessionStorage:!1,setInterval:!1,setTimeout:!1,SharedWorker:!1,status:!1,SVGAElement:!1,SVGAltGlyphDefElement:!1,SVGAltGlyphElement:!1,SVGAltGlyphItemElement:!1,SVGAngle:!1,SVGAnimateColorElement:!1,SVGAnimateElement:!1,SVGAnimateMotionElement:!1,SVGAnimateTransformElement:!1,SVGAnimatedAngle:!1,SVGAnimatedBoolean:!1,SVGAnimatedEnumeration:!1,SVGAnimatedInteger:!1,SVGAnimatedLength:!1,SVGAnimatedLengthList:!1,SVGAnimatedNumber:!1,SVGAnimatedNumberList:!1,SVGAnimatedPathData:!1,SVGAnimatedPoints:!1,SVGAnimatedPreserveAspectRatio:!1,SVGAnimatedRect:!1,SVGAnimatedString:!1,SVGAnimatedTransformList:!1,SVGAnimationElement:!1,SVGCSSRule:!1,SVGCircleElement:!1,SVGClipPathElement:!1,SVGColor:!1,SVGColorProfileElement:!1,SVGColorProfileRule:!1,SVGComponentTransferFunctionElement:!1,SVGCursorElement:!1,SVGDefsElement:!1,SVGDescElement:!1,SVGDocument:!1,SVGElement:!1,SVGElementInstance:!1,SVGElementInstanceList:!1,SVGEllipseElement:!1,SVGExternalResourcesRequired:!1,SVGFEBlendElement:!1,SVGFEColorMatrixElement:!1,SVGFEComponentTransferElement:!1,SVGFECompositeElement:!1,SVGFEConvolveMatrixElement:!1,SVGFEDiffuseLightingElement:!1,SVGFEDisplacementMapElement:!1,SVGFEDistantLightElement:!1,SVGFEFloodElement:!1,SVGFEFuncAElement:!1,SVGFEFuncBElement:!1,SVGFEFuncGElement:!1,SVGFEFuncRElement:!1,SVGFEGaussianBlurElement:!1,SVGFEImageElement:!1,SVGFEMergeElement:!1,SVGFEMergeNodeElement:!1,SVGFEMorphologyElement:!1,SVGFEOffsetElement:!1,SVGFEPointLightElement:!1,SVGFESpecularLightingElement:!1,SVGFESpotLightElement:!1,SVGFETileElement:!1,SVGFETurbulenceElement:!1,SVGFilterElement:!1,SVGFilterPrimitiveStandardAttributes:!1,SVGFitToViewBox:!1,SVGFontElement:!1,SVGFontFaceElement:!1,SVGFontFaceFormatElement:!1,SVGFontFaceNameElement:!1,SVGFontFaceSrcElement:!1,SVGFontFaceUriElement:!1,SVGForeignObjectElement:!1,SVGGElement:!1,SVGGlyphElement:!1,SVGGlyphRefElement:!1,SVGGradientElement:!1,SVGHKernElement:!1,SVGICCColor:!1,SVGImageElement:!1,SVGLangSpace:!1,SVGLength:!1,SVGLengthList:!1,SVGLineElement:!1,SVGLinearGradientElement:!1,SVGLocatable:!1,SVGMPathElement:!1,SVGMarkerElement:!1,SVGMaskElement:!1,SVGMatrix:!1,SVGMetadataElement:!1,SVGMissingGlyphElement:!1,SVGNumber:!1,SVGNumberList:!1,SVGPaint:!1,SVGPathElement:!1,SVGPathSeg:!1,SVGPathSegArcAbs:!1,SVGPathSegArcRel:!1,SVGPathSegClosePath:!1,SVGPathSegCurvetoCubicAbs:!1,SVGPathSegCurvetoCubicRel:!1,SVGPathSegCurvetoCubicSmoothAbs:!1,SVGPathSegCurvetoCubicSmoothRel:!1,SVGPathSegCurvetoQuadraticAbs:!1,SVGPathSegCurvetoQuadraticRel:!1,SVGPathSegCurvetoQuadraticSmoothAbs:!1,SVGPathSegCurvetoQuadraticSmoothRel:!1,SVGPathSegLinetoAbs:!1,SVGPathSegLinetoHorizontalAbs:!1,SVGPathSegLinetoHorizontalRel:!1,SVGPathSegLinetoRel:!1,SVGPathSegLinetoVerticalAbs:!1,SVGPathSegLinetoVerticalRel:!1,SVGPathSegList:!1,SVGPathSegMovetoAbs:!1,SVGPathSegMovetoRel:!1,SVGPatternElement:!1,SVGPoint:!1,SVGPointList:!1,SVGPolygonElement:!1,SVGPolylineElement:!1,SVGPreserveAspectRatio:!1,SVGRadialGradientElement:!1,SVGRect:!1,SVGRectElement:!1,SVGRenderingIntent:!1,SVGSVGElement:!1,SVGScriptElement:!1,SVGSetElement:!1,SVGStopElement:!1,SVGStringList:!1,SVGStylable:!1,SVGStyleElement:!1,SVGSwitchElement:!1,SVGSymbolElement:!1,SVGTRefElement:!1,SVGTSpanElement:!1,SVGTests:!1,SVGTextContentElement:!1,SVGTextElement:!1,SVGTextPathElement:!1,SVGTextPositioningElement:!1,SVGTitleElement:!1,SVGTransform:!1,SVGTransformList:!1,SVGTransformable:!1,SVGURIReference:!1,SVGUnitTypes:!1,SVGUseElement:!1,SVGVKernElement:!1,SVGViewElement:!1,SVGViewSpec:!1,SVGZoomAndPan:!1,Text:!1,TextDecoder:!1,TextEncoder:!1,TimeEvent:!1,top:!1,URL:!1,WebGLActiveInfo:!1,WebGLBuffer:!1,WebGLContextEvent:!1,WebGLFramebuffer:!1,WebGLProgram:!1,WebGLRenderbuffer:!1,WebGLRenderingContext:!1,WebGLShader:!1,WebGLShaderPrecisionFormat:!1,WebGLTexture:!1,WebGLUniformLocation:!1,WebSocket:!1,window:!1,Window:!1,Worker:!1,XDomainRequest:!1,XMLHttpRequest:!1,XMLSerializer:!1,XPathEvaluator:!1,XPathException:!1,XPathExpression:!1,XPathNamespace:!1,XPathNSResolver:!1,XPathResult:!1},exports.devel={alert:!1,confirm:!1,console:!1,Debug:!1,opera:!1,prompt:!1},exports.worker={importScripts:!0,postMessage:!0,self:!0,FileReaderSync:!0},exports.nonstandard={escape:!1,unescape:!1},exports.couch={require:!1,respond:!1,getRow:!1,emit:!1,send:!1,start:!1,sum:!1,log:!1,exports:!1,module:!1,provides:!1},exports.node={__filename:!1,__dirname:!1,GLOBAL:!1,global:!1,module:!1,acequire:!1,Buffer:!0,console:!0,exports:!0,process:!0,setTimeout:!0,clearTimeout:!0,setInterval:!0,clearInterval:!0,setImmediate:!0,clearImmediate:!0},exports.browserify={__filename:!1,__dirname:!1,global:!1,module:!1,acequire:!1,Buffer:!0,exports:!0,process:!0},exports.phantom={phantom:!0,acequire:!0,WebPage:!0,console:!0,exports:!0},exports.qunit={asyncTest:!1,deepEqual:!1,equal:!1,expect:!1,module:!1,notDeepEqual:!1,notEqual:!1,notPropEqual:!1,notStrictEqual:!1,ok:!1,propEqual:!1,QUnit:!1,raises:!1,start:!1,stop:!1,strictEqual:!1,test:!1,\"throws\":!1},exports.rhino={defineClass:!1,deserialize:!1,gc:!1,help:!1,importClass:!1,importPackage:!1,java:!1,load:!1,loadClass:!1,Packages:!1,print:!1,quit:!1,readFile:!1,readUrl:!1,runCommand:!1,seal:!1,serialize:!1,spawn:!1,sync:!1,toint32:!1,version:!1},exports.shelljs={target:!1,echo:!1,exit:!1,cd:!1,pwd:!1,ls:!1,find:!1,cp:!1,rm:!1,mv:!1,mkdir:!1,test:!1,cat:!1,sed:!1,grep:!1,which:!1,dirs:!1,pushd:!1,popd:!1,env:!1,exec:!1,chmod:!1,config:!1,error:!1,tempdir:!1},exports.typed={ArrayBuffer:!1,ArrayBufferView:!1,DataView:!1,Float32Array:!1,Float64Array:!1,Int16Array:!1,Int32Array:!1,Int8Array:!1,Uint16Array:!1,Uint32Array:!1,Uint8Array:!1,Uint8ClampedArray:!1},exports.wsh={ActiveXObject:!0,Enumerator:!0,GetObject:!0,ScriptEngine:!0,ScriptEngineBuildVersion:!0,ScriptEngineMajorVersion:!0,ScriptEngineMinorVersion:!0,VBArray:!0,WSH:!0,WScript:!0,XDomainRequest:!0},exports.dojo={dojo:!1,dijit:!1,dojox:!1,define:!1,require:!1},exports.jquery={$:!1,jQuery:!1},exports.mootools={$:!1,$$:!1,Asset:!1,Browser:!1,Chain:!1,Class:!1,Color:!1,Cookie:!1,Core:!1,Document:!1,DomReady:!1,DOMEvent:!1,DOMReady:!1,Drag:!1,Element:!1,Elements:!1,Event:!1,Events:!1,Fx:!1,Group:!1,Hash:!1,HtmlTable:!1,IFrame:!1,IframeShim:!1,InputValidator:!1,instanceOf:!1,Keyboard:!1,Locale:!1,Mask:!1,MooTools:!1,Native:!1,Options:!1,OverText:!1,Request:!1,Scroller:!1,Slick:!1,Slider:!1,Sortables:!1,Spinner:!1,Swiff:!1,Tips:!1,Type:!1,typeOf:!1,URI:!1,Window:!1},exports.prototypejs={$:!1,$$:!1,$A:!1,$F:!1,$H:!1,$R:!1,$break:!1,$continue:!1,$w:!1,Abstract:!1,Ajax:!1,Class:!1,Enumerable:!1,Element:!1,Event:!1,Field:!1,Form:!1,Hash:!1,Insertion:!1,ObjectRange:!1,PeriodicalExecuter:!1,Position:!1,Prototype:!1,Selector:!1,Template:!1,Toggle:!1,Try:!1,Autocompleter:!1,Builder:!1,Control:!1,Draggable:!1,Draggables:!1,Droppables:!1,Effect:!1,Sortable:!1,SortableObserver:!1,Sound:!1,Scriptaculous:!1},exports.yui={YUI:!1,Y:!1,YUI_config:!1},exports.mocha={mocha:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,context:!1,xcontext:!1,before:!1,after:!1,beforeEach:!1,afterEach:!1,suite:!1,test:!1,setup:!1,teardown:!1,suiteSetup:!1,suiteTeardown:!1},exports.jasmine={jasmine:!1,describe:!1,xdescribe:!1,it:!1,xit:!1,beforeEach:!1,afterEach:!1,setFixtures:!1,loadFixtures:!1,spyOn:!1,expect:!1,runs:!1,waitsFor:!1,waits:!1,beforeAll:!1,afterAll:!1,fail:!1,fdescribe:!1,fit:!1,pending:!1}},{}]},{},[\"/node_modules/jshint/src/jshint.js\"])}),ace.define(\"ace/mode/javascript_worker\",[\"require\",\"exports\",\"module\",\"ace/lib/oop\",\"ace/worker/mirror\",\"ace/mode/javascript/jshint\"],function(acequire,exports,module){\"use strict\";function startRegex(arr){return RegExp(\"^(\"+arr.join(\"|\")+\")\")}var oop=acequire(\"../lib/oop\"),Mirror=acequire(\"../worker/mirror\").Mirror,lint=acequire(\"./javascript/jshint\").JSHINT,disabledWarningsRe=startRegex([\"Bad for in variable '(.+)'.\",'Missing \"use strict\"']),errorsRe=startRegex([\"Unexpected\",\"Expected \",\"Confusing (plus|minus)\",\"\\\\{a\\\\} unterminated regular expression\",\"Unclosed \",\"Unmatched \",\"Unbegun comment\",\"Bad invocation\",\"Missing space after\",\"Missing operator at\"]),infoRe=startRegex([\"Expected an assignment\",\"Bad escapement of EOL\",\"Unexpected comma\",\"Unexpected space\",\"Missing radix parameter.\",\"A leading decimal point can\",\"\\\\['{a}'\\\\] is better written in dot notation.\",\"'{a}' used out of scope\"]),JavaScriptWorker=exports.JavaScriptWorker=function(sender){Mirror.call(this,sender),this.setTimeout(500),this.setOptions()};oop.inherits(JavaScriptWorker,Mirror),function(){this.setOptions=function(options){this.options=options||{esnext:!0,moz:!0,devel:!0,browser:!0,node:!0,laxcomma:!0,laxbreak:!0,lastsemic:!0,onevar:!1,passfail:!1,maxerr:100,expr:!0,multistr:!0,globalstrict:!0},this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.changeOptions=function(newOptions){oop.mixin(this.options,newOptions),this.doc.getValue()&&this.deferredUpdate.schedule(100)},this.isValidJS=function(str){try{eval(\"throw 0;\"+str)}catch(e){if(0===e)return!0}return!1},this.onUpdate=function(){var value=this.doc.getValue();if(value=value.replace(/^#!.*\\n/,\"\\n\"),!value)return this.sender.emit(\"annotate\",[]);var errors=[],maxErrorLevel=this.isValidJS(value)?\"warning\":\"error\";lint(value,this.options,this.options.globals);for(var results=lint.errors,errorAdded=!1,i=0;results.length>i;i++){var error=results[i];if(error){var raw=error.raw,type=\"warning\";if(\"Missing semicolon.\"==raw){var str=error.evidence.substr(error.character);str=str.charAt(str.search(/\\S/)),\"error\"==maxErrorLevel&&str&&/[\\w\\d{(['\"]/.test(str)?(error.reason='Missing \";\" before statement',type=\"error\"):type=\"info\"}else{if(disabledWarningsRe.test(raw))continue;infoRe.test(raw)?type=\"info\":errorsRe.test(raw)?(errorAdded=!0,type=maxErrorLevel):\"'{a}' is not defined.\"==raw?type=\"warning\":\"'{a}' is defined but never used.\"==raw&&(type=\"info\")}errors.push({row:error.line-1,column:error.character-1,text:error.reason,type:type,raw:raw})}}this.sender.emit(\"annotate\",errors)}}.call(JavaScriptWorker.prototype)}),ace.define(\"ace/lib/es5-shim\",[\"require\",\"exports\",\"module\"],function(){function Empty(){}function doesDefinePropertyWork(object){try{return Object.defineProperty(object,\"sentinel\",{}),\"sentinel\"in object}catch(exception){}}function toInteger(n){return n=+n,n!==n?n=0:0!==n&&n!==1/0&&n!==-(1/0)&&(n=(n>0||-1)*Math.floor(Math.abs(n))),n}Function.prototype.bind||(Function.prototype.bind=function(that){var target=this;if(\"function\"!=typeof target)throw new TypeError(\"Function.prototype.bind called on incompatible \"+target);var args=slice.call(arguments,1),bound=function(){if(this instanceof bound){var result=target.apply(this,args.concat(slice.call(arguments)));return Object(result)===result?result:this}return target.apply(that,args.concat(slice.call(arguments)))};return target.prototype&&(Empty.prototype=target.prototype,bound.prototype=new Empty,Empty.prototype=null),bound});var defineGetter,defineSetter,lookupGetter,lookupSetter,supportsAccessors,call=Function.prototype.call,prototypeOfArray=Array.prototype,prototypeOfObject=Object.prototype,slice=prototypeOfArray.slice,_toString=call.bind(prototypeOfObject.toString),owns=call.bind(prototypeOfObject.hasOwnProperty);if((supportsAccessors=owns(prototypeOfObject,\"__defineGetter__\"))&&(defineGetter=call.bind(prototypeOfObject.__defineGetter__),defineSetter=call.bind(prototypeOfObject.__defineSetter__),lookupGetter=call.bind(prototypeOfObject.__lookupGetter__),lookupSetter=call.bind(prototypeOfObject.__lookupSetter__)),2!=[1,2].splice(0).length)if(function(){function makeArray(l){var a=Array(l+2);return a[0]=a[1]=0,a}var lengthBefore,array=[];return array.splice.apply(array,makeArray(20)),array.splice.apply(array,makeArray(26)),lengthBefore=array.length,array.splice(5,0,\"XXX\"),lengthBefore+1==array.length,lengthBefore+1==array.length?!0:void 0}()){var array_splice=Array.prototype.splice;Array.prototype.splice=function(start,deleteCount){return arguments.length?array_splice.apply(this,[void 0===start?0:start,void 0===deleteCount?this.length-start:deleteCount].concat(slice.call(arguments,2))):[]}}else Array.prototype.splice=function(pos,removeCount){var length=this.length;pos>0?pos>length&&(pos=length):void 0==pos?pos=0:0>pos&&(pos=Math.max(length+pos,0)),length>pos+removeCount||(removeCount=length-pos);var removed=this.slice(pos,pos+removeCount),insert=slice.call(arguments,2),add=insert.length;if(pos===length)add&&this.push.apply(this,insert);else{var remove=Math.min(removeCount,length-pos),tailOldPos=pos+remove,tailNewPos=tailOldPos+add-remove,tailCount=length-tailOldPos,lengthAfterRemove=length-remove;if(tailOldPos>tailNewPos)for(var i=0;tailCount>i;++i)this[tailNewPos+i]=this[tailOldPos+i];else if(tailNewPos>tailOldPos)for(i=tailCount;i--;)this[tailNewPos+i]=this[tailOldPos+i];if(add&&pos===lengthAfterRemove)this.length=lengthAfterRemove,this.push.apply(this,insert);else for(this.length=lengthAfterRemove+add,i=0;add>i;++i)this[pos+i]=insert[i]}return removed};Array.isArray||(Array.isArray=function(obj){return\"[object Array]\"==_toString(obj)});var boxedString=Object(\"a\"),splitString=\"a\"!=boxedString[0]||!(0 in boxedString);if(Array.prototype.forEach||(Array.prototype.forEach=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,thisp=arguments[1],i=-1,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError;for(;length>++i;)i in self&&fun.call(thisp,self[i],i,object)}),Array.prototype.map||(Array.prototype.map=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=Array(length),thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(result[i]=fun.call(thisp,self[i],i,object));return result}),Array.prototype.filter||(Array.prototype.filter=function(fun){var value,object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,result=[],thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)i in self&&(value=self[i],fun.call(thisp,value,i,object)&&result.push(value));return result}),Array.prototype.every||(Array.prototype.every=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&!fun.call(thisp,self[i],i,object))return!1;return!0}),Array.prototype.some||(Array.prototype.some=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0,thisp=arguments[1];if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");for(var i=0;length>i;i++)if(i in self&&fun.call(thisp,self[i],i,object))return!0;return!1}),Array.prototype.reduce||(Array.prototype.reduce=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduce of empty array with no initial value\");var result,i=0;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i++];break}if(++i>=length)throw new TypeError(\"reduce of empty array with no initial value\")}for(;length>i;i++)i in self&&(result=fun.call(void 0,result,self[i],i,object));return result}),Array.prototype.reduceRight||(Array.prototype.reduceRight=function(fun){var object=toObject(this),self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):object,length=self.length>>>0;if(\"[object Function]\"!=_toString(fun))throw new TypeError(fun+\" is not a function\");if(!length&&1==arguments.length)throw new TypeError(\"reduceRight of empty array with no initial value\");var result,i=length-1;if(arguments.length>=2)result=arguments[1];else for(;;){if(i in self){result=self[i--];break}if(0>--i)throw new TypeError(\"reduceRight of empty array with no initial value\")}do i in this&&(result=fun.call(void 0,result,self[i],i,object));while(i--);return result}),Array.prototype.indexOf&&-1==[0,1].indexOf(1,2)||(Array.prototype.indexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=0;for(arguments.length>1&&(i=toInteger(arguments[1])),i=i>=0?i:Math.max(0,length+i);length>i;i++)if(i in self&&self[i]===sought)return i;return-1}),Array.prototype.lastIndexOf&&-1==[0,1].lastIndexOf(0,-3)||(Array.prototype.lastIndexOf=function(sought){var self=splitString&&\"[object String]\"==_toString(this)?this.split(\"\"):toObject(this),length=self.length>>>0;if(!length)return-1;var i=length-1;for(arguments.length>1&&(i=Math.min(i,toInteger(arguments[1]))),i=i>=0?i:length-Math.abs(i);i>=0;i--)if(i in self&&sought===self[i])return i;return-1}),Object.getPrototypeOf||(Object.getPrototypeOf=function(object){return object.__proto__||(object.constructor?object.constructor.prototype:prototypeOfObject)}),!Object.getOwnPropertyDescriptor){var ERR_NON_OBJECT=\"Object.getOwnPropertyDescriptor called on a non-object: \";Object.getOwnPropertyDescriptor=function(object,property){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT+object);if(owns(object,property)){var descriptor,getter,setter;if(descriptor={enumerable:!0,configurable:!0},supportsAccessors){var prototype=object.__proto__;object.__proto__=prototypeOfObject;var getter=lookupGetter(object,property),setter=lookupSetter(object,property);if(object.__proto__=prototype,getter||setter)return getter&&(descriptor.get=getter),setter&&(descriptor.set=setter),descriptor}return descriptor.value=object[property],descriptor}}}if(Object.getOwnPropertyNames||(Object.getOwnPropertyNames=function(object){return Object.keys(object)}),!Object.create){var createEmpty;createEmpty=null===Object.prototype.__proto__?function(){return{__proto__:null}}:function(){var empty={};for(var i in empty)empty[i]=null;return empty.constructor=empty.hasOwnProperty=empty.propertyIsEnumerable=empty.isPrototypeOf=empty.toLocaleString=empty.toString=empty.valueOf=empty.__proto__=null,empty},Object.create=function(prototype,properties){var object;if(null===prototype)object=createEmpty();else{if(\"object\"!=typeof prototype)throw new TypeError(\"typeof prototype[\"+typeof prototype+\"] != 'object'\");var Type=function(){};Type.prototype=prototype,object=new Type,object.__proto__=prototype}return void 0!==properties&&Object.defineProperties(object,properties),object}}if(Object.defineProperty){var definePropertyWorksOnObject=doesDefinePropertyWork({}),definePropertyWorksOnDom=\"undefined\"==typeof document||doesDefinePropertyWork(document.createElement(\"div\"));if(!definePropertyWorksOnObject||!definePropertyWorksOnDom)var definePropertyFallback=Object.defineProperty}if(!Object.defineProperty||definePropertyFallback){var ERR_NON_OBJECT_DESCRIPTOR=\"Property description must be an object: \",ERR_NON_OBJECT_TARGET=\"Object.defineProperty called on non-object: \",ERR_ACCESSORS_NOT_SUPPORTED=\"getters & setters can not be defined on this javascript engine\";Object.defineProperty=function(object,property,descriptor){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(ERR_NON_OBJECT_TARGET+object);if(\"object\"!=typeof descriptor&&\"function\"!=typeof descriptor||null===descriptor)throw new TypeError(ERR_NON_OBJECT_DESCRIPTOR+descriptor);if(definePropertyFallback)try{return definePropertyFallback.call(Object,object,property,descriptor)}catch(exception){}if(owns(descriptor,\"value\"))if(supportsAccessors&&(lookupGetter(object,property)||lookupSetter(object,property))){var prototype=object.__proto__;object.__proto__=prototypeOfObject,delete object[property],object[property]=descriptor.value,object.__proto__=prototype}else object[property]=descriptor.value;else{if(!supportsAccessors)throw new TypeError(ERR_ACCESSORS_NOT_SUPPORTED);owns(descriptor,\"get\")&&defineGetter(object,property,descriptor.get),owns(descriptor,\"set\")&&defineSetter(object,property,descriptor.set)}return object}}Object.defineProperties||(Object.defineProperties=function(object,properties){for(var property in properties)owns(properties,property)&&Object.defineProperty(object,property,properties[property]);return object}),Object.seal||(Object.seal=function(object){return object}),Object.freeze||(Object.freeze=function(object){return object});try{Object.freeze(function(){})}catch(exception){Object.freeze=function(freezeObject){return function(object){return\"function\"==typeof object?object:freezeObject(object)}}(Object.freeze)}if(Object.preventExtensions||(Object.preventExtensions=function(object){return object}),Object.isSealed||(Object.isSealed=function(){return!1}),Object.isFrozen||(Object.isFrozen=function(){return!1}),Object.isExtensible||(Object.isExtensible=function(object){if(Object(object)===object)throw new TypeError;for(var name=\"\";owns(object,name);)name+=\"?\";object[name]=!0;var returnValue=owns(object,name);return delete object[name],returnValue}),!Object.keys){var hasDontEnumBug=!0,dontEnums=[\"toString\",\"toLocaleString\",\"valueOf\",\"hasOwnProperty\",\"isPrototypeOf\",\"propertyIsEnumerable\",\"constructor\"],dontEnumsLength=dontEnums.length;for(var key in{toString:null})hasDontEnumBug=!1;Object.keys=function(object){if(\"object\"!=typeof object&&\"function\"!=typeof object||null===object)throw new TypeError(\"Object.keys called on a non-object\");var keys=[];for(var name in object)owns(object,name)&&keys.push(name);if(hasDontEnumBug)for(var i=0,ii=dontEnumsLength;ii>i;i++){var dontEnum=dontEnums[i];owns(object,dontEnum)&&keys.push(dontEnum)}return keys}}Date.now||(Date.now=function(){return(new Date).getTime()});var ws=\"\t\\n\u000b\\f\\r   ᠎              \\u2028\\u2029\";if(!String.prototype.trim||ws.trim()){ws=\"[\"+ws+\"]\";var trimBeginRegexp=RegExp(\"^\"+ws+ws+\"*\"),trimEndRegexp=RegExp(ws+ws+\"*$\");String.prototype.trim=function(){return(this+\"\").replace(trimBeginRegexp,\"\").replace(trimEndRegexp,\"\")}}var toObject=function(o){if(null==o)throw new TypeError(\"can't convert \"+o+\" to object\");return Object(o)}});"; /***/ }), -/* 204 */ +/* 223 */ /*!*********************************************************!*\ !*** ./node_modules/js-beautify/js/lib/beautify-css.js ***! \*********************************************************/ @@ -28113,7 +28128,7 @@ if (true) { /***/ }), -/* 205 */ +/* 224 */ /*!*****************************************************!*\ !*** ./node_modules/js-beautify/js/lib/beautify.js ***! \*****************************************************/ @@ -30942,7 +30957,7 @@ if (true) { /***/ }), -/* 206 */ +/* 225 */ /*!***************************************!*\ !*** (webpack)/buildin/amd-define.js ***! \***************************************/ @@ -30956,16 +30971,16 @@ module.exports = function() { /***/ }), -/* 207 */, -/* 208 */, -/* 209 */, -/* 210 */, -/* 211 */, -/* 212 */, -/* 213 */, -/* 214 */, -/* 215 */, -/* 216 */ +/* 226 */, +/* 227 */, +/* 228 */, +/* 229 */, +/* 230 */, +/* 231 */, +/* 232 */, +/* 233 */, +/* 234 */, +/* 235 */ /*!*******************************************!*\ !*** ./node_modules/check-error/index.js ***! \*******************************************/ @@ -31149,7 +31164,7 @@ module.exports = { /***/ }), -/* 217 */ +/* 236 */ /*!*****************************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/getOwnEnumerablePropertySymbols.js ***! \*****************************************************************************/ @@ -31187,7 +31202,7 @@ module.exports = function getOwnEnumerablePropertySymbols(obj) { /***/ }), -/* 218 */ +/* 237 */ /*!********************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/objDisplay.js ***! \********************************************************/ @@ -31205,8 +31220,8 @@ module.exports = function getOwnEnumerablePropertySymbols(obj) { * Module dependancies */ -var inspect = __webpack_require__(/*! ./inspect */ 144); -var config = __webpack_require__(/*! ../config */ 112); +var inspect = __webpack_require__(/*! ./inspect */ 157); +var config = __webpack_require__(/*! ../config */ 119); /** * ### .objDisplay(object) @@ -31248,7 +31263,7 @@ module.exports = function objDisplay(obj) { /***/ }), -/* 219 */ +/* 238 */ /*!***********************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/getProperties.js ***! \***********************************************************/ @@ -31295,7 +31310,7 @@ module.exports = function getProperties(object) { /***/ }), -/* 220 */ +/* 239 */ /*!*********************************************!*\ !*** ./node_modules/get-func-name/index.js ***! \*********************************************/ @@ -31351,7 +31366,7 @@ module.exports = getFuncName; /***/ }), -/* 221 */ +/* 240 */ /*!*******************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/getActual.js ***! \*******************************************************/ @@ -31382,7 +31397,7 @@ module.exports = function getActual(obj, args) { /***/ }), -/* 222 */ +/* 241 */ /*!***********************************************!*\ !*** ./node_modules/assertion-error/index.js ***! \***********************************************/ @@ -31509,7 +31524,7 @@ AssertionError.prototype.toJSON = function (stack) { /***/ }), -/* 223 */ +/* 242 */ /*!**************************************************!*\ !*** ./node_modules/normalize.css/normalize.css ***! \**************************************************/ @@ -31519,7 +31534,7 @@ AssertionError.prototype.toJSON = function (stack) { // extracted by mini-css-extract-plugin /***/ }), -/* 224 */ +/* 243 */ /*!*************************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/array-set.js ***! \*************************************************************************/ @@ -31534,7 +31549,7 @@ AssertionError.prototype.toJSON = function (stack) { * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(/*! ./util */ 125); +var util = __webpack_require__(/*! ./util */ 133); var has = Object.prototype.hasOwnProperty; var hasNativeMap = typeof Map !== "undefined"; @@ -31651,7 +31666,7 @@ exports.ArraySet = ArraySet; /***/ }), -/* 225 */ +/* 244 */ /*!**************************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/base64-vlq.js ***! \**************************************************************************/ @@ -31696,7 +31711,7 @@ exports.ArraySet = ArraySet; * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -var base64 = __webpack_require__(/*! ./base64 */ 321); +var base64 = __webpack_require__(/*! ./base64 */ 340); // A single base 64 digit can contain 6 bits of data. For the base 64 variable // length quantities we use in the source map spec, the first bit is the sign, @@ -31802,7 +31817,7 @@ exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { /***/ }), -/* 226 */ +/* 245 */ /*!************************************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/source-map-generator.js ***! \************************************************************************************/ @@ -31817,10 +31832,10 @@ exports.decode = function base64VLQ_decode(aStr, aIndex, aOutParam) { * http://opensource.org/licenses/BSD-3-Clause */ -var base64VLQ = __webpack_require__(/*! ./base64-vlq */ 225); -var util = __webpack_require__(/*! ./util */ 125); -var ArraySet = __webpack_require__(/*! ./array-set */ 224).ArraySet; -var MappingList = __webpack_require__(/*! ./mapping-list */ 320).MappingList; +var base64VLQ = __webpack_require__(/*! ./base64-vlq */ 244); +var util = __webpack_require__(/*! ./util */ 133); +var ArraySet = __webpack_require__(/*! ./array-set */ 243).ArraySet; +var MappingList = __webpack_require__(/*! ./mapping-list */ 339).MappingList; /** * An instance of the SourceMapGenerator represents a source map which is @@ -32238,7 +32253,7 @@ exports.SourceMapGenerator = SourceMapGenerator; /***/ }), -/* 227 */ +/* 246 */ /*!******************************************!*\ !*** ./node_modules/esutils/lib/code.js ***! \******************************************/ @@ -32384,7 +32399,7 @@ exports.SourceMapGenerator = SourceMapGenerator; /***/ }), -/* 228 */ +/* 247 */ /*!***********************************************************!*\ !*** ./node_modules/jszip/lib/reader/Uint8ArrayReader.js ***! \***********************************************************/ @@ -32394,8 +32409,8 @@ exports.SourceMapGenerator = SourceMapGenerator; "use strict"; -var ArrayReader = __webpack_require__(/*! ./ArrayReader */ 230); -var utils = __webpack_require__(/*! ../utils */ 69); +var ArrayReader = __webpack_require__(/*! ./ArrayReader */ 249); +var utils = __webpack_require__(/*! ../utils */ 74); function Uint8ArrayReader(data) { ArrayReader.call(this, data); @@ -32418,7 +32433,7 @@ module.exports = Uint8ArrayReader; /***/ }), -/* 229 */ +/* 248 */ /*!*****************************************************!*\ !*** ./node_modules/jszip/lib/reader/DataReader.js ***! \*****************************************************/ @@ -32428,7 +32443,7 @@ module.exports = Uint8ArrayReader; "use strict"; -var utils = __webpack_require__(/*! ../utils */ 69); +var utils = __webpack_require__(/*! ../utils */ 74); function DataReader(data) { this.data = data; // type : see implementation @@ -32546,7 +32561,7 @@ module.exports = DataReader; /***/ }), -/* 230 */ +/* 249 */ /*!******************************************************!*\ !*** ./node_modules/jszip/lib/reader/ArrayReader.js ***! \******************************************************/ @@ -32556,8 +32571,8 @@ module.exports = DataReader; "use strict"; -var DataReader = __webpack_require__(/*! ./DataReader */ 229); -var utils = __webpack_require__(/*! ../utils */ 69); +var DataReader = __webpack_require__(/*! ./DataReader */ 248); +var utils = __webpack_require__(/*! ../utils */ 74); function ArrayReader(data) { DataReader.call(this, data); @@ -32615,7 +32630,7 @@ module.exports = ArrayReader; /***/ }), -/* 231 */ +/* 250 */ /*!****************************************************!*\ !*** ./node_modules/jszip/lib/reader/readerFor.js ***! \****************************************************/ @@ -32626,12 +32641,12 @@ module.exports = ArrayReader; "use strict"; -var utils = __webpack_require__(/*! ../utils */ 69); -var support = __webpack_require__(/*! ../support */ 109); -var ArrayReader = __webpack_require__(/*! ./ArrayReader */ 230); -var StringReader = __webpack_require__(/*! ./StringReader */ 331); -var NodeBufferReader = __webpack_require__(/*! ./NodeBufferReader */ 330); -var Uint8ArrayReader = __webpack_require__(/*! ./Uint8ArrayReader */ 228); +var utils = __webpack_require__(/*! ../utils */ 74); +var support = __webpack_require__(/*! ../support */ 116); +var ArrayReader = __webpack_require__(/*! ./ArrayReader */ 249); +var StringReader = __webpack_require__(/*! ./StringReader */ 350); +var NodeBufferReader = __webpack_require__(/*! ./NodeBufferReader */ 349); +var Uint8ArrayReader = __webpack_require__(/*! ./Uint8ArrayReader */ 247); /** * Create a reader adapted to the data. @@ -32655,7 +32670,7 @@ module.exports = function (data) { /***/ }), -/* 232 */ +/* 251 */ /*!*********************************************!*\ !*** ./node_modules/jszip/lib/signature.js ***! \*********************************************/ @@ -32674,7 +32689,7 @@ exports.DATA_DESCRIPTOR = "PK\x07\x08"; /***/ }), -/* 233 */ +/* 252 */ /*!*************************************************!*\ !*** ./node_modules/pako/lib/zlib/constants.js ***! \*************************************************/ @@ -32754,7 +32769,7 @@ module.exports = { /***/ }), -/* 234 */ +/* 253 */ /*!***********************************************!*\ !*** ./node_modules/pako/lib/zlib/zstream.js ***! \***********************************************/ @@ -32813,7 +32828,7 @@ module.exports = ZStream; /***/ }), -/* 235 */ +/* 254 */ /*!************************************************!*\ !*** ./node_modules/pako/lib/utils/strings.js ***! \************************************************/ @@ -32826,7 +32841,7 @@ module.exports = ZStream; -var utils = __webpack_require__(/*! ./common */ 108); +var utils = __webpack_require__(/*! ./common */ 115); // Quick check if we can use fast array to bin string conversion @@ -33010,7 +33025,7 @@ exports.utf8border = function (buf, max) { /***/ }), -/* 236 */ +/* 255 */ /*!*********************************************!*\ !*** ./node_modules/pako/lib/zlib/crc32.js ***! \*********************************************/ @@ -33081,7 +33096,7 @@ module.exports = crc32; /***/ }), -/* 237 */ +/* 256 */ /*!***********************************************!*\ !*** ./node_modules/pako/lib/zlib/adler32.js ***! \***********************************************/ @@ -33144,7 +33159,7 @@ module.exports = adler32; /***/ }), -/* 238 */ +/* 257 */ /*!************************************************!*\ !*** ./node_modules/jszip/lib/compressions.js ***! \************************************************/ @@ -33155,7 +33170,7 @@ module.exports = adler32; "use strict"; -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 91); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 95); exports.STORE = { magic: "\x00\x00", @@ -33166,11 +33181,11 @@ exports.STORE = { return new GenericWorker("STORE decompression"); } }; -exports.DEFLATE = __webpack_require__(/*! ./flate */ 345); +exports.DEFLATE = __webpack_require__(/*! ./flate */ 364); /***/ }), -/* 239 */ +/* 258 */ /*!*****************************************************!*\ !*** ./node_modules/jszip/lib/stream/Crc32Probe.js ***! \*****************************************************/ @@ -33181,9 +33196,9 @@ exports.DEFLATE = __webpack_require__(/*! ./flate */ 345); "use strict"; -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 91); -var crc32 = __webpack_require__(/*! ../crc32 */ 192); -var utils = __webpack_require__(/*! ../utils */ 69); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 95); +var crc32 = __webpack_require__(/*! ../crc32 */ 211); +var utils = __webpack_require__(/*! ../utils */ 74); /** * A worker which calculate the crc32 of the data flowing through. @@ -33206,7 +33221,7 @@ module.exports = Crc32Probe; /***/ }), -/* 240 */ +/* 259 */ /*!**********************************************************!*\ !*** ./node_modules/jszip/lib/stream/DataLengthProbe.js ***! \**********************************************************/ @@ -33217,8 +33232,8 @@ module.exports = Crc32Probe; "use strict"; -var utils = __webpack_require__(/*! ../utils */ 69); -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 91); +var utils = __webpack_require__(/*! ../utils */ 74); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 95); /** * A worker which calculate the total length of the data flowing through. @@ -33247,7 +33262,7 @@ module.exports = DataLengthProbe; /***/ }), -/* 241 */ +/* 260 */ /*!*****************************************************!*\ !*** ./node_modules/jszip/lib/stream/DataWorker.js ***! \*****************************************************/ @@ -33258,8 +33273,8 @@ module.exports = DataLengthProbe; "use strict"; -var utils = __webpack_require__(/*! ../utils */ 69); -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 91); +var utils = __webpack_require__(/*! ../utils */ 74); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 95); // the size of the generated chunks // TODO expose this as a public variable @@ -33375,7 +33390,7 @@ module.exports = DataWorker; /***/ }), -/* 242 */ +/* 261 */ /*!********************************************!*\ !*** ./node_modules/jszip/lib/defaults.js ***! \********************************************/ @@ -33398,7 +33413,7 @@ exports.dosPermissions = null; /***/ }), -/* 243 */ +/* 262 */ /*!*******************************************************!*\ !*** ./node_modules/jszip/lib/stream/StreamHelper.js ***! \*******************************************************/ @@ -33409,17 +33424,17 @@ exports.dosPermissions = null; "use strict"; /* WEBPACK VAR INJECTION */(function(Buffer) { -var utils = __webpack_require__(/*! ../utils */ 69); -var ConvertWorker = __webpack_require__(/*! ./ConvertWorker */ 349); -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 91); -var base64 = __webpack_require__(/*! ../base64 */ 248); -var support = __webpack_require__(/*! ../support */ 109); -var external = __webpack_require__(/*! ../external */ 126); +var utils = __webpack_require__(/*! ../utils */ 74); +var ConvertWorker = __webpack_require__(/*! ./ConvertWorker */ 368); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 95); +var base64 = __webpack_require__(/*! ../base64 */ 267); +var support = __webpack_require__(/*! ../support */ 116); +var external = __webpack_require__(/*! ../external */ 135); var NodejsStreamOutputAdapter = null; if (support.nodestream) { try { - NodejsStreamOutputAdapter = __webpack_require__(/*! ../nodejs/NodejsStreamOutputAdapter */ 348); + NodejsStreamOutputAdapter = __webpack_require__(/*! ../nodejs/NodejsStreamOutputAdapter */ 367); } catch(e) {} } @@ -33620,10 +33635,10 @@ StreamHelper.prototype = { module.exports = StreamHelper; -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../buffer/index.js */ 128).Buffer)) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../buffer/index.js */ 137).Buffer)) /***/ }), -/* 244 */ +/* 263 */ /*!********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_dom-create.js ***! \********************************************************************************/ @@ -33631,8 +33646,8 @@ module.exports = StreamHelper; /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__(/*! ./_is-object */ 195) - , document = __webpack_require__(/*! ./_global */ 145).document +var isObject = __webpack_require__(/*! ./_is-object */ 214) + , document = __webpack_require__(/*! ./_global */ 158).document // in old IE typeof document.createElement is 'object' , is = isObject(document) && isObject(document.createElement); module.exports = function(it){ @@ -33640,7 +33655,7 @@ module.exports = function(it){ }; /***/ }), -/* 245 */ +/* 264 */ /*!***************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_fails.js ***! \***************************************************************************/ @@ -33657,7 +33672,7 @@ module.exports = function(exec){ }; /***/ }), -/* 246 */ +/* 265 */ /*!*************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_ctx.js ***! \*************************************************************************/ @@ -33666,7 +33681,7 @@ module.exports = function(exec){ /***/ (function(module, exports, __webpack_require__) { // optional / simple context binding -var aFunction = __webpack_require__(/*! ./_a-function */ 362); +var aFunction = __webpack_require__(/*! ./_a-function */ 381); module.exports = function(fn, that, length){ aFunction(fn); if(that === undefined)return fn; @@ -33687,7 +33702,7 @@ module.exports = function(fn, that, length){ }; /***/ }), -/* 247 */ +/* 266 */ /*!**************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_core.js ***! \**************************************************************************/ @@ -33699,7 +33714,7 @@ var core = module.exports = {version: '2.3.0'}; if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef /***/ }), -/* 248 */ +/* 267 */ /*!******************************************!*\ !*** ./node_modules/jszip/lib/base64.js ***! \******************************************/ @@ -33709,8 +33724,8 @@ if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef "use strict"; -var utils = __webpack_require__(/*! ./utils */ 69); -var support = __webpack_require__(/*! ./support */ 109); +var utils = __webpack_require__(/*! ./utils */ 74); +var support = __webpack_require__(/*! ./support */ 116); // private property var _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; @@ -33817,7 +33832,7 @@ exports.decode = function(input) { /***/ }), -/* 249 */ +/* 268 */ /*!***************************************************************!*\ !*** ./node_modules/readable-stream/lib/_stream_transform.js ***! \***************************************************************/ @@ -33893,11 +33908,11 @@ exports.decode = function(input) { module.exports = Transform; -var Duplex = __webpack_require__(/*! ./_stream_duplex */ 114); +var Duplex = __webpack_require__(/*! ./_stream_duplex */ 121); /**/ -var util = __webpack_require__(/*! core-util-is */ 127); -util.inherits = __webpack_require__(/*! inherits */ 123); +var util = __webpack_require__(/*! core-util-is */ 136); +util.inherits = __webpack_require__(/*! inherits */ 131); /**/ util.inherits(Transform, Duplex); @@ -34042,7 +34057,7 @@ function done(stream, er, data) { } /***/ }), -/* 250 */ +/* 269 */ /*!***********************************************************!*\ !*** ./node_modules/string_decoder/lib/string_decoder.js ***! \***********************************************************/ @@ -34053,7 +34068,7 @@ function done(stream, er, data) { "use strict"; -var Buffer = __webpack_require__(/*! safe-buffer */ 147).Buffer; +var Buffer = __webpack_require__(/*! safe-buffer */ 160).Buffer; var isEncoding = Buffer.isEncoding || function (encoding) { encoding = '' + encoding; @@ -34325,7 +34340,7 @@ function simpleEnd(buf) { } /***/ }), -/* 251 */ +/* 270 */ /*!**********************************************************************!*\ !*** ./node_modules/readable-stream/lib/internal/streams/destroy.js ***! \**********************************************************************/ @@ -34338,7 +34353,7 @@ function simpleEnd(buf) { /**/ -var processNextTick = __webpack_require__(/*! process-nextick-args */ 148).nextTick; +var processNextTick = __webpack_require__(/*! process-nextick-args */ 161).nextTick; /**/ // undocumented cb() API, needed for core, not for public API @@ -34410,9 +34425,9 @@ module.exports = { }; /***/ }), -/* 252 */, -/* 253 */, -/* 254 */ +/* 271 */, +/* 272 */, +/* 273 */ /*!*****************************************************************************!*\ !*** ./node_modules/readable-stream/lib/internal/streams/stream-browser.js ***! \*****************************************************************************/ @@ -34420,11 +34435,11 @@ module.exports = { /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! events */ 198).EventEmitter; +module.exports = __webpack_require__(/*! events */ 217).EventEmitter; /***/ }), -/* 255 */ +/* 274 */ /*!**************************************************************!*\ !*** ./node_modules/readable-stream/lib/_stream_readable.js ***! \**************************************************************/ @@ -34458,13 +34473,13 @@ module.exports = __webpack_require__(/*! events */ 198).EventEmitter; /**/ -var processNextTick = __webpack_require__(/*! process-nextick-args */ 148).nextTick; +var processNextTick = __webpack_require__(/*! process-nextick-args */ 161).nextTick; /**/ module.exports = Readable; /**/ -var isArray = __webpack_require__(/*! isarray */ 257); +var isArray = __webpack_require__(/*! isarray */ 276); /**/ /**/ @@ -34474,7 +34489,7 @@ var Duplex; Readable.ReadableState = ReadableState; /**/ -var EE = __webpack_require__(/*! events */ 198).EventEmitter; +var EE = __webpack_require__(/*! events */ 217).EventEmitter; var EElistenerCount = function (emitter, type) { return emitter.listeners(type).length; @@ -34482,12 +34497,12 @@ var EElistenerCount = function (emitter, type) { /**/ /**/ -var Stream = __webpack_require__(/*! ./internal/streams/stream */ 254); +var Stream = __webpack_require__(/*! ./internal/streams/stream */ 273); /**/ /**/ -var Buffer = __webpack_require__(/*! safe-buffer */ 147).Buffer; +var Buffer = __webpack_require__(/*! safe-buffer */ 160).Buffer; var OurUint8Array = global.Uint8Array || function () {}; function _uint8ArrayToBuffer(chunk) { return Buffer.from(chunk); @@ -34499,12 +34514,12 @@ function _isUint8Array(obj) { /**/ /**/ -var util = __webpack_require__(/*! core-util-is */ 127); -util.inherits = __webpack_require__(/*! inherits */ 123); +var util = __webpack_require__(/*! core-util-is */ 136); +util.inherits = __webpack_require__(/*! inherits */ 131); /**/ /**/ -var debugUtil = __webpack_require__(/*! util */ 253); +var debugUtil = __webpack_require__(/*! util */ 272); var debug = void 0; if (debugUtil && debugUtil.debuglog) { debug = debugUtil.debuglog('stream'); @@ -34513,8 +34528,8 @@ if (debugUtil && debugUtil.debuglog) { } /**/ -var BufferList = __webpack_require__(/*! ./internal/streams/BufferList */ 372); -var destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ 251); +var BufferList = __webpack_require__(/*! ./internal/streams/BufferList */ 391); +var destroyImpl = __webpack_require__(/*! ./internal/streams/destroy */ 270); var StringDecoder; util.inherits(Readable, Stream); @@ -34534,7 +34549,7 @@ function prependListener(emitter, event, fn) { } function ReadableState(options, stream) { - Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 114); + Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 121); options = options || {}; @@ -34604,14 +34619,14 @@ function ReadableState(options, stream) { this.decoder = null; this.encoding = null; if (options.encoding) { - if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ 250).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ 269).StringDecoder; this.decoder = new StringDecoder(options.encoding); this.encoding = options.encoding; } } function Readable(options) { - Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 114); + Duplex = Duplex || __webpack_require__(/*! ./_stream_duplex */ 121); if (!(this instanceof Readable)) return new Readable(options); @@ -34760,7 +34775,7 @@ Readable.prototype.isPaused = function () { // backwards compatibility. Readable.prototype.setEncoding = function (enc) { - if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ 250).StringDecoder; + if (!StringDecoder) StringDecoder = __webpack_require__(/*! string_decoder/ */ 269).StringDecoder; this._readableState.decoder = new StringDecoder(enc); this._readableState.encoding = enc; return this; @@ -35448,10 +35463,10 @@ function indexOf(xs, x) { } return -1; } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 98), __webpack_require__(/*! ./../../process/browser.js */ 129))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 105), __webpack_require__(/*! ./../../process/browser.js */ 138))) /***/ }), -/* 256 */ +/* 275 */ /*!***********************************************************!*\ !*** ./node_modules/jszip/lib/readable-stream-browser.js ***! \***********************************************************/ @@ -35467,11 +35482,11 @@ function indexOf(xs, x) { * reduce the final size of the bundle (only one stream implementation, not * two). */ -module.exports = __webpack_require__(/*! stream */ 373); +module.exports = __webpack_require__(/*! stream */ 392); /***/ }), -/* 257 */ +/* 276 */ /*!***************************************!*\ !*** ./node_modules/isarray/index.js ***! \***************************************/ @@ -35487,7 +35502,7 @@ module.exports = Array.isArray || function (arr) { /***/ }), -/* 258 */ +/* 277 */ /*!*************************************************!*\ !*** ./node_modules/jsplumb/dist/js/jsplumb.js ***! \*************************************************/ @@ -50184,7 +50199,7 @@ module.exports = Array.isArray || function (arr) { /***/ }), -/* 259 */ +/* 278 */ /*!************************************************!*\ !*** ./node_modules/timers-browserify/main.js ***! \************************************************/ @@ -50245,7 +50260,7 @@ exports._unrefActive = exports.active = function(item) { }; // setimmediate attaches itself to the global object -__webpack_require__(/*! setimmediate */ 377); +__webpack_require__(/*! setimmediate */ 396); // 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. @@ -50256,10 +50271,10 @@ exports.clearImmediate = (typeof self !== "undefined" && self.clearImmediate) || (typeof global !== "undefined" && global.clearImmediate) || (this && this.clearImmediate); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 98))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 105))) /***/ }), -/* 260 */ +/* 279 */ /*!******************************************************!*\ !*** ./node_modules/bluebird/js/browser/bluebird.js ***! \******************************************************/ @@ -55569,10 +55584,10 @@ module.exports = ret; },{"./es5":13}]},{},[4])(4) }); ;if (typeof window !== 'undefined' && window !== null) { window.P = window.Promise; } else if (typeof self !== 'undefined' && self !== null) { self.P = self.Promise; } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../process/browser.js */ 129), __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 98), __webpack_require__(/*! ./../../../timers-browserify/main.js */ 259).setImmediate)) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../../process/browser.js */ 138), __webpack_require__(/*! ./../../../webpack/buildin/global.js */ 105), __webpack_require__(/*! ./../../../timers-browserify/main.js */ 278).setImmediate)) /***/ }), -/* 261 */ +/* 280 */ /*!**************************************************!*\ !*** ./node_modules/brace/ext/language_tools.js ***! \**************************************************/ @@ -57538,7 +57553,7 @@ acequire("../config").defineOptions(Editor.prototype, "editor", { /***/ }), -/* 262 */ +/* 281 */ /*!************************************************!*\ !*** ./node_modules/brace/keybinding/emacs.js ***! \************************************************/ @@ -58730,7 +58745,7 @@ exports.killRing = { /***/ }), -/* 263 */ +/* 282 */ /*!**********************************************!*\ !*** ./node_modules/brace/keybinding/vim.js ***! \**********************************************/ @@ -64339,7 +64354,7 @@ dom.importCssString(".normal-mode .ace_cursor{\ /***/ }), -/* 264 */ +/* 283 */ /*!*******************************************!*\ !*** ./node_modules/brace/theme/xcode.js ***! \*******************************************/ @@ -64438,7 +64453,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 265 */ +/* 284 */ /*!**********************************************!*\ !*** ./node_modules/brace/theme/twilight.js ***! \**********************************************/ @@ -64558,7 +64573,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 266 */ +/* 285 */ /*!**********************************************!*\ !*** ./node_modules/brace/theme/terminal.js ***! \**********************************************/ @@ -64683,7 +64698,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 267 */ +/* 286 */ /*!*****************************************************!*\ !*** ./node_modules/brace/theme/solarized_light.js ***! \*****************************************************/ @@ -64785,7 +64800,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 268 */ +/* 287 */ /*!****************************************************!*\ !*** ./node_modules/brace/theme/solarized_dark.js ***! \****************************************************/ @@ -64884,7 +64899,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 269 */ +/* 288 */ /*!*********************************************!*\ !*** ./node_modules/brace/theme/monokai.js ***! \*********************************************/ @@ -65000,7 +65015,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 270 */ +/* 289 */ /*!********************************************!*\ !*** ./node_modules/brace/theme/chrome.js ***! \********************************************/ @@ -65139,7 +65154,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 271 */ +/* 290 */ /*!*******************************************!*\ !*** ./node_modules/brace/theme/chaos.js ***! \*******************************************/ @@ -65306,7 +65321,7 @@ dom.importCssString(exports.cssText, exports.cssClass); /***/ }), -/* 272 */ +/* 291 */ /*!***********************************************!*\ !*** ./node_modules/brace/mode/javascript.js ***! \***********************************************/ @@ -66084,7 +66099,7 @@ oop.inherits(Mode, TextMode); }; this.createWorker = function(session) { - var worker = new WorkerClient(["ace"], __webpack_require__(/*! ../worker/javascript */ 203), "JavaScriptWorker"); + var worker = new WorkerClient(["ace"], __webpack_require__(/*! ../worker/javascript */ 222), "JavaScriptWorker"); worker.attachToDocument(session.getDocument()); worker.on("annotate", function(results) { @@ -66106,7 +66121,7 @@ exports.Mode = Mode; /***/ }), -/* 273 */ +/* 292 */ /*!**********************************************!*\ !*** ./node_modules/js-beautify/js/index.js ***! \**********************************************/ @@ -66179,9 +66194,9 @@ function get_beautify(js_beautify, css_beautify, html_beautify) { if (true) { // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- ) !(__WEBPACK_AMD_DEFINE_ARRAY__ = [ - __webpack_require__(/*! ./lib/beautify */ 205), - __webpack_require__(/*! ./lib/beautify-css */ 204), - __webpack_require__(/*! ./lib/beautify-html */ 378) + __webpack_require__(/*! ./lib/beautify */ 224), + __webpack_require__(/*! ./lib/beautify-css */ 223), + __webpack_require__(/*! ./lib/beautify-html */ 397) ], __WEBPACK_AMD_DEFINE_RESULT__ = (function(js_beautify, css_beautify, html_beautify) { return get_beautify(js_beautify, css_beautify, html_beautify); }).apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), @@ -66189,7 +66204,7 @@ if (true) { } else {} /***/ }), -/* 274 */ +/* 293 */ /*!*************************************!*\ !*** ./node_modules/brace/index.js ***! \*************************************/ @@ -70377,7 +70392,7 @@ init(true);function init(packaged) { if (!global || !global.document) return; - options.packaged = packaged || acequire.packaged || module.packaged || (global.define && __webpack_require__(/*! !webpack amd define */ 206).packaged); + options.packaged = packaged || acequire.packaged || module.packaged || (global.define && __webpack_require__(/*! !webpack amd define */ 225).packaged); var scriptOptions = {}; var scriptUrl = ""; @@ -86404,7 +86419,7 @@ exports.config = acequire("./config"); exports.acequire = acequire; if (true) - exports.define = __webpack_require__(/*! !webpack amd define */ 206); + exports.define = __webpack_require__(/*! !webpack amd define */ 225); exports.edit = function(el) { if (typeof el == "string") { var _id = el; @@ -86471,7 +86486,7 @@ exports.version = "1.2.9"; module.exports = window.ace.acequire("ace/ace"); /***/ }), -/* 275 */ +/* 294 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/ru.js ***! \********************************************/ @@ -86485,7 +86500,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86516,7 +86531,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 276 */ +/* 295 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/pl.js ***! \********************************************/ @@ -86530,7 +86545,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86558,7 +86573,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 277 */ +/* 296 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/no.js ***! \********************************************/ @@ -86572,7 +86587,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86600,7 +86615,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 278 */ +/* 297 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/lv.js ***! \********************************************/ @@ -86614,7 +86629,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86642,7 +86657,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 279 */ +/* 298 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/it.js ***! \********************************************/ @@ -86656,7 +86671,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86684,7 +86699,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 280 */ +/* 299 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/hu.js ***! \********************************************/ @@ -86698,7 +86713,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86726,7 +86741,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 281 */ +/* 300 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/fr.js ***! \********************************************/ @@ -86740,7 +86755,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86768,7 +86783,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 282 */ +/* 301 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/es.js ***! \********************************************/ @@ -86782,7 +86797,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86815,7 +86830,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 283 */ +/* 302 */ /*!***********************************************!*\ !*** ./node_modules/numeral/locales/en-gb.js ***! \***********************************************/ @@ -86829,7 +86844,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86861,7 +86876,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 284 */ +/* 303 */ /*!***********************************************!*\ !*** ./node_modules/numeral/locales/en-au.js ***! \***********************************************/ @@ -86875,7 +86890,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86907,7 +86922,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 285 */ +/* 304 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/de.js ***! \********************************************/ @@ -86921,7 +86936,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86949,7 +86964,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 286 */ +/* 305 */ /*!***********************************************!*\ !*** ./node_modules/numeral/locales/da-dk.js ***! \***********************************************/ @@ -86963,7 +86978,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -86991,7 +87006,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 287 */ +/* 306 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/cs.js ***! \********************************************/ @@ -87005,7 +87020,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -87033,7 +87048,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 288 */ +/* 307 */ /*!********************************************!*\ !*** ./node_modules/numeral/locales/bg.js ***! \********************************************/ @@ -87047,7 +87062,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (function (global, factory) { if (true) { - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 82)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__(/*! ../numeral */ 87)], __WEBPACK_AMD_DEFINE_FACTORY__ = (factory), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); @@ -87083,7 +87098,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ /***/ }), -/* 289 */ +/* 308 */ /*!***************************************************************!*\ !*** ./node_modules/chai-as-promised/lib/chai-as-promised.js ***! \***************************************************************/ @@ -87094,7 +87109,7 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ "use strict"; /* eslint-disable no-invalid-this */ -let checkError = __webpack_require__(/*! check-error */ 216); +let checkError = __webpack_require__(/*! check-error */ 235); module.exports = (chai, utils) => { const Assertion = chai.Assertion; @@ -87456,7 +87471,7 @@ module.exports.transformAsserterArgs = values => values; /***/ }), -/* 290 */ +/* 309 */ /*!********************************************************!*\ !*** ./node_modules/chai/lib/chai/interface/assert.js ***! \********************************************************/ @@ -90565,7 +90580,7 @@ module.exports = function (chai, util) { /***/ }), -/* 291 */ +/* 310 */ /*!********************************************************!*\ !*** ./node_modules/chai/lib/chai/interface/should.js ***! \********************************************************/ @@ -90780,7 +90795,7 @@ module.exports = function (chai, util) { /***/ }), -/* 292 */ +/* 311 */ /*!********************************************************!*\ !*** ./node_modules/chai/lib/chai/interface/expect.js ***! \********************************************************/ @@ -90825,7 +90840,7 @@ module.exports = function (chai, util) { /***/ }), -/* 293 */ +/* 312 */ /*!*******************************************************!*\ !*** ./node_modules/chai/lib/chai/core/assertions.js ***! \*******************************************************/ @@ -94565,7 +94580,7 @@ module.exports = function (chai, _) { /***/ }), -/* 294 */ +/* 313 */ /*!*************************************************!*\ !*** ./node_modules/chai/lib/chai/assertion.js ***! \*************************************************/ @@ -94580,7 +94595,7 @@ module.exports = function (chai, _) { * MIT Licensed */ -var config = __webpack_require__(/*! ./config */ 112); +var config = __webpack_require__(/*! ./config */ 119); module.exports = function (_chai, util) { /*! @@ -94741,7 +94756,7 @@ module.exports = function (_chai, util) { /***/ }), -/* 295 */ +/* 314 */ /*!***************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/isNaN.js ***! \***************************************************/ @@ -94778,7 +94793,7 @@ module.exports = Number.isNaN || isNaN; /***/ }), -/* 296 */ +/* 315 */ /*!************************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/getOwnEnumerableProperties.js ***! \************************************************************************/ @@ -94796,7 +94811,7 @@ module.exports = Number.isNaN || isNaN; * Module dependancies */ -var getOwnEnumerablePropertySymbols = __webpack_require__(/*! ./getOwnEnumerablePropertySymbols */ 217); +var getOwnEnumerablePropertySymbols = __webpack_require__(/*! ./getOwnEnumerablePropertySymbols */ 236); /** * ### .getOwnEnumerableProperties(object) @@ -94818,7 +94833,7 @@ module.exports = function getOwnEnumerableProperties(obj) { /***/ }), -/* 297 */ +/* 316 */ /*!**************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/compareByInspect.js ***! \**************************************************************/ @@ -94836,7 +94851,7 @@ module.exports = function getOwnEnumerableProperties(obj) { * Module dependancies */ -var inspect = __webpack_require__(/*! ./inspect */ 144); +var inspect = __webpack_require__(/*! ./inspect */ 157); /** * ### .compareByInspect(mixed, mixed) @@ -94860,7 +94875,7 @@ module.exports = function compareByInspect(a, b) { /***/ }), -/* 298 */ +/* 317 */ /*!**********************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/overwriteChainableMethod.js ***! \**********************************************************************/ @@ -94874,8 +94889,8 @@ module.exports = function compareByInspect(a, b) { * MIT Licensed */ -var chai = __webpack_require__(/*! ../../chai */ 113); -var transferFlags = __webpack_require__(/*! ./transferFlags */ 111); +var chai = __webpack_require__(/*! ../../chai */ 120); +var transferFlags = __webpack_require__(/*! ./transferFlags */ 118); /** * ### .overwriteChainableMethod(ctx, name, method, chainingBehavior) @@ -94940,7 +94955,7 @@ module.exports = function overwriteChainableMethod(ctx, name, method, chainingBe /***/ }), -/* 299 */ +/* 318 */ /*!****************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/addChainableMethod.js ***! \****************************************************************/ @@ -94958,11 +94973,11 @@ module.exports = function overwriteChainableMethod(ctx, name, method, chainingBe * Module dependencies */ -var addLengthGuard = __webpack_require__(/*! ./addLengthGuard */ 142); -var chai = __webpack_require__(/*! ../../chai */ 113); -var flag = __webpack_require__(/*! ./flag */ 97); -var proxify = __webpack_require__(/*! ./proxify */ 141); -var transferFlags = __webpack_require__(/*! ./transferFlags */ 111); +var addLengthGuard = __webpack_require__(/*! ./addLengthGuard */ 155); +var chai = __webpack_require__(/*! ../../chai */ 120); +var flag = __webpack_require__(/*! ./flag */ 104); +var proxify = __webpack_require__(/*! ./proxify */ 154); +var transferFlags = __webpack_require__(/*! ./transferFlags */ 118); /*! * Module variables @@ -95103,7 +95118,7 @@ module.exports = function addChainableMethod(ctx, name, method, chainingBehavior /***/ }), -/* 300 */ +/* 319 */ /*!*************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/overwriteMethod.js ***! \*************************************************************/ @@ -95117,11 +95132,11 @@ module.exports = function addChainableMethod(ctx, name, method, chainingBehavior * MIT Licensed */ -var addLengthGuard = __webpack_require__(/*! ./addLengthGuard */ 142); -var chai = __webpack_require__(/*! ../../chai */ 113); -var flag = __webpack_require__(/*! ./flag */ 97); -var proxify = __webpack_require__(/*! ./proxify */ 141); -var transferFlags = __webpack_require__(/*! ./transferFlags */ 111); +var addLengthGuard = __webpack_require__(/*! ./addLengthGuard */ 155); +var chai = __webpack_require__(/*! ../../chai */ 120); +var flag = __webpack_require__(/*! ./flag */ 104); +var proxify = __webpack_require__(/*! ./proxify */ 154); +var transferFlags = __webpack_require__(/*! ./transferFlags */ 118); /** * ### .overwriteMethod(ctx, name, fn) @@ -95206,7 +95221,7 @@ module.exports = function overwriteMethod(ctx, name, method) { /***/ }), -/* 301 */ +/* 320 */ /*!***************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/overwriteProperty.js ***! \***************************************************************/ @@ -95220,10 +95235,10 @@ module.exports = function overwriteMethod(ctx, name, method) { * MIT Licensed */ -var chai = __webpack_require__(/*! ../../chai */ 113); -var flag = __webpack_require__(/*! ./flag */ 97); -var isProxyEnabled = __webpack_require__(/*! ./isProxyEnabled */ 143); -var transferFlags = __webpack_require__(/*! ./transferFlags */ 111); +var chai = __webpack_require__(/*! ../../chai */ 120); +var flag = __webpack_require__(/*! ./flag */ 104); +var isProxyEnabled = __webpack_require__(/*! ./isProxyEnabled */ 156); +var transferFlags = __webpack_require__(/*! ./transferFlags */ 118); /** * ### .overwriteProperty(ctx, name, fn) @@ -95309,7 +95324,7 @@ module.exports = function overwriteProperty(ctx, name, getter) { /***/ }), -/* 302 */ +/* 321 */ /*!*******************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/addMethod.js ***! \*******************************************************/ @@ -95323,11 +95338,11 @@ module.exports = function overwriteProperty(ctx, name, getter) { * MIT Licensed */ -var addLengthGuard = __webpack_require__(/*! ./addLengthGuard */ 142); -var chai = __webpack_require__(/*! ../../chai */ 113); -var flag = __webpack_require__(/*! ./flag */ 97); -var proxify = __webpack_require__(/*! ./proxify */ 141); -var transferFlags = __webpack_require__(/*! ./transferFlags */ 111); +var addLengthGuard = __webpack_require__(/*! ./addLengthGuard */ 155); +var chai = __webpack_require__(/*! ../../chai */ 120); +var flag = __webpack_require__(/*! ./flag */ 104); +var proxify = __webpack_require__(/*! ./proxify */ 154); +var transferFlags = __webpack_require__(/*! ./transferFlags */ 118); /** * ### .addMethod(ctx, name, method) @@ -95388,7 +95403,7 @@ module.exports = function addMethod(ctx, name, method) { /***/ }), -/* 303 */ +/* 322 */ /*!*********************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/addProperty.js ***! \*********************************************************/ @@ -95402,10 +95417,10 @@ module.exports = function addMethod(ctx, name, method) { * MIT Licensed */ -var chai = __webpack_require__(/*! ../../chai */ 113); -var flag = __webpack_require__(/*! ./flag */ 97); -var isProxyEnabled = __webpack_require__(/*! ./isProxyEnabled */ 143); -var transferFlags = __webpack_require__(/*! ./transferFlags */ 111); +var chai = __webpack_require__(/*! ../../chai */ 120); +var flag = __webpack_require__(/*! ./flag */ 104); +var isProxyEnabled = __webpack_require__(/*! ./isProxyEnabled */ 156); +var transferFlags = __webpack_require__(/*! ./transferFlags */ 118); /** * ### .addProperty(ctx, name, getter) @@ -95471,7 +95486,7 @@ module.exports = function addProperty(ctx, name, getter) { /***/ }), -/* 304 */ +/* 323 */ /*!****************************************!*\ !*** ./node_modules/deep-eql/index.js ***! \****************************************/ @@ -95488,7 +95503,7 @@ module.exports = function addProperty(ctx, name, getter) { * MIT Licensed */ -var type = __webpack_require__(/*! type-detect */ 154); +var type = __webpack_require__(/*! type-detect */ 167); function FakeMap() { this._key = 'chai/deep-eql__' + Math.random() + Date.now(); } @@ -95938,7 +95953,7 @@ function isPrimitive(value) { /***/ }), -/* 305 */ +/* 324 */ /*!*********************************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/getEnumerableProperties.js ***! \*********************************************************************/ @@ -95975,7 +95990,7 @@ module.exports = function getEnumerableProperties(object) { /***/ }), -/* 306 */ +/* 325 */ /*!********************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/getMessage.js ***! \********************************************************/ @@ -95993,10 +96008,10 @@ module.exports = function getEnumerableProperties(object) { * Module dependancies */ -var flag = __webpack_require__(/*! ./flag */ 97) - , getActual = __webpack_require__(/*! ./getActual */ 221) - , inspect = __webpack_require__(/*! ./inspect */ 144) - , objDisplay = __webpack_require__(/*! ./objDisplay */ 218); +var flag = __webpack_require__(/*! ./flag */ 104) + , getActual = __webpack_require__(/*! ./getActual */ 240) + , inspect = __webpack_require__(/*! ./inspect */ 157) + , objDisplay = __webpack_require__(/*! ./objDisplay */ 237); /** * ### .getMessage(object, message, negateMessage) @@ -96037,7 +96052,7 @@ module.exports = function getMessage(obj, args) { /***/ }), -/* 307 */ +/* 326 */ /*!*********************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/expectTypes.js ***! \*********************************************************/ @@ -96065,9 +96080,9 @@ module.exports = function getMessage(obj, args) { * @api public */ -var AssertionError = __webpack_require__(/*! assertion-error */ 222); -var flag = __webpack_require__(/*! ./flag */ 97); -var type = __webpack_require__(/*! type-detect */ 154); +var AssertionError = __webpack_require__(/*! assertion-error */ 241); +var flag = __webpack_require__(/*! ./flag */ 104); +var type = __webpack_require__(/*! type-detect */ 167); module.exports = function expectTypes(obj, types) { var flagMsg = flag(obj, 'message'); @@ -96099,7 +96114,7 @@ module.exports = function expectTypes(obj, types) { /***/ }), -/* 308 */ +/* 327 */ /*!**************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/test.js ***! \**************************************************/ @@ -96117,7 +96132,7 @@ module.exports = function expectTypes(obj, types) { * Module dependancies */ -var flag = __webpack_require__(/*! ./flag */ 97); +var flag = __webpack_require__(/*! ./flag */ 104); /** * ### .test(object, expression) @@ -96138,7 +96153,7 @@ module.exports = function test(obj, args) { /***/ }), -/* 309 */ +/* 328 */ /*!***************************************!*\ !*** ./node_modules/pathval/index.js ***! \***************************************/ @@ -96441,7 +96456,7 @@ module.exports = { /***/ }), -/* 310 */ +/* 329 */ /*!***************************************************!*\ !*** ./node_modules/chai/lib/chai/utils/index.js ***! \***************************************************/ @@ -96459,66 +96474,66 @@ module.exports = { * Dependencies that are used for multiple exports are required here only once */ -var pathval = __webpack_require__(/*! pathval */ 309); +var pathval = __webpack_require__(/*! pathval */ 328); /*! * test utility */ -exports.test = __webpack_require__(/*! ./test */ 308); +exports.test = __webpack_require__(/*! ./test */ 327); /*! * type utility */ -exports.type = __webpack_require__(/*! type-detect */ 154); +exports.type = __webpack_require__(/*! type-detect */ 167); /*! * expectTypes utility */ -exports.expectTypes = __webpack_require__(/*! ./expectTypes */ 307); +exports.expectTypes = __webpack_require__(/*! ./expectTypes */ 326); /*! * message utility */ -exports.getMessage = __webpack_require__(/*! ./getMessage */ 306); +exports.getMessage = __webpack_require__(/*! ./getMessage */ 325); /*! * actual utility */ -exports.getActual = __webpack_require__(/*! ./getActual */ 221); +exports.getActual = __webpack_require__(/*! ./getActual */ 240); /*! * Inspect util */ -exports.inspect = __webpack_require__(/*! ./inspect */ 144); +exports.inspect = __webpack_require__(/*! ./inspect */ 157); /*! * Object Display util */ -exports.objDisplay = __webpack_require__(/*! ./objDisplay */ 218); +exports.objDisplay = __webpack_require__(/*! ./objDisplay */ 237); /*! * Flag utility */ -exports.flag = __webpack_require__(/*! ./flag */ 97); +exports.flag = __webpack_require__(/*! ./flag */ 104); /*! * Flag transferring utility */ -exports.transferFlags = __webpack_require__(/*! ./transferFlags */ 111); +exports.transferFlags = __webpack_require__(/*! ./transferFlags */ 118); /*! * Deep equal utility */ -exports.eql = __webpack_require__(/*! deep-eql */ 304); +exports.eql = __webpack_require__(/*! deep-eql */ 323); /*! * Deep path info @@ -96536,95 +96551,95 @@ exports.hasProperty = pathval.hasProperty; * Function name */ -exports.getName = __webpack_require__(/*! get-func-name */ 220); +exports.getName = __webpack_require__(/*! get-func-name */ 239); /*! * add Property */ -exports.addProperty = __webpack_require__(/*! ./addProperty */ 303); +exports.addProperty = __webpack_require__(/*! ./addProperty */ 322); /*! * add Method */ -exports.addMethod = __webpack_require__(/*! ./addMethod */ 302); +exports.addMethod = __webpack_require__(/*! ./addMethod */ 321); /*! * overwrite Property */ -exports.overwriteProperty = __webpack_require__(/*! ./overwriteProperty */ 301); +exports.overwriteProperty = __webpack_require__(/*! ./overwriteProperty */ 320); /*! * overwrite Method */ -exports.overwriteMethod = __webpack_require__(/*! ./overwriteMethod */ 300); +exports.overwriteMethod = __webpack_require__(/*! ./overwriteMethod */ 319); /*! * Add a chainable method */ -exports.addChainableMethod = __webpack_require__(/*! ./addChainableMethod */ 299); +exports.addChainableMethod = __webpack_require__(/*! ./addChainableMethod */ 318); /*! * Overwrite chainable method */ -exports.overwriteChainableMethod = __webpack_require__(/*! ./overwriteChainableMethod */ 298); +exports.overwriteChainableMethod = __webpack_require__(/*! ./overwriteChainableMethod */ 317); /*! * Compare by inspect method */ -exports.compareByInspect = __webpack_require__(/*! ./compareByInspect */ 297); +exports.compareByInspect = __webpack_require__(/*! ./compareByInspect */ 316); /*! * Get own enumerable property symbols method */ -exports.getOwnEnumerablePropertySymbols = __webpack_require__(/*! ./getOwnEnumerablePropertySymbols */ 217); +exports.getOwnEnumerablePropertySymbols = __webpack_require__(/*! ./getOwnEnumerablePropertySymbols */ 236); /*! * Get own enumerable properties method */ -exports.getOwnEnumerableProperties = __webpack_require__(/*! ./getOwnEnumerableProperties */ 296); +exports.getOwnEnumerableProperties = __webpack_require__(/*! ./getOwnEnumerableProperties */ 315); /*! * Checks error against a given set of criteria */ -exports.checkError = __webpack_require__(/*! check-error */ 216); +exports.checkError = __webpack_require__(/*! check-error */ 235); /*! * Proxify util */ -exports.proxify = __webpack_require__(/*! ./proxify */ 141); +exports.proxify = __webpack_require__(/*! ./proxify */ 154); /*! * addLengthGuard util */ -exports.addLengthGuard = __webpack_require__(/*! ./addLengthGuard */ 142); +exports.addLengthGuard = __webpack_require__(/*! ./addLengthGuard */ 155); /*! * isProxyEnabled helper */ -exports.isProxyEnabled = __webpack_require__(/*! ./isProxyEnabled */ 143); +exports.isProxyEnabled = __webpack_require__(/*! ./isProxyEnabled */ 156); /*! * isNaN method */ -exports.isNaN = __webpack_require__(/*! ./isNaN */ 295); +exports.isNaN = __webpack_require__(/*! ./isNaN */ 314); /***/ }), -/* 311 */ +/* 330 */ /*!************************************!*\ !*** ./node_modules/chai/index.js ***! \************************************/ @@ -96632,14 +96647,14 @@ exports.isNaN = __webpack_require__(/*! ./isNaN */ 295); /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! ./lib/chai */ 113); +module.exports = __webpack_require__(/*! ./lib/chai */ 120); /***/ }), -/* 312 */, -/* 313 */, -/* 314 */, -/* 315 */ +/* 331 */, +/* 332 */, +/* 333 */, +/* 334 */ /*!*********************************************!*\ !*** ./node_modules/escodegen/package.json ***! \*********************************************/ @@ -96647,10 +96662,10 @@ module.exports = __webpack_require__(/*! ./lib/chai */ 113); /*! all exports used */ /***/ (function(module) { -module.exports = {"_args":[["escodegen@1.11.0","C:\\Users\\danie\\Desktop\\bitburner-repo2"]],"_from":"escodegen@1.11.0","_id":"escodegen@1.11.0","_inBundle":false,"_integrity":"sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==","_location":"/escodegen","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"escodegen@1.11.0","name":"escodegen","escapedName":"escodegen","rawSpec":"1.11.0","saveSpec":null,"fetchSpec":"1.11.0"},"_requiredBy":["/"],"_resolved":"https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz","_spec":"1.11.0","_where":"C:\\Users\\danie\\Desktop\\bitburner-repo2","bin":{"esgenerate":"./bin/esgenerate.js","escodegen":"./bin/escodegen.js"},"bugs":{"url":"https://github.com/estools/escodegen/issues"},"dependencies":{"esprima":"^3.1.3","estraverse":"^4.2.0","esutils":"^2.0.2","optionator":"^0.8.1","source-map":"~0.6.1"},"description":"ECMAScript code generator","devDependencies":{"acorn":"^4.0.4","bluebird":"^3.4.7","bower-registry-client":"^1.0.0","chai":"^3.5.0","commonjs-everywhere":"^0.9.7","gulp":"^3.8.10","gulp-eslint":"^3.0.1","gulp-mocha":"^3.0.1","semver":"^5.1.0"},"engines":{"node":">=4.0"},"files":["LICENSE.BSD","README.md","bin","escodegen.js","package.json"],"homepage":"http://github.com/estools/escodegen","license":"BSD-2-Clause","main":"escodegen.js","maintainers":[{"name":"Yusuke Suzuki","email":"utatane.tea@gmail.com","url":"http://github.com/Constellation"}],"name":"escodegen","optionalDependencies":{"source-map":"~0.6.1"},"repository":{"type":"git","url":"git+ssh://git@github.com/estools/escodegen.git"},"scripts":{"build":"cjsify -a path: tools/entry-point.js > escodegen.browser.js","build-min":"cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js","lint":"gulp lint","release":"node tools/release.js","test":"gulp travis","unit-test":"gulp test"},"version":"1.11.0"}; +module.exports = {"_args":[["escodegen@1.11.0","C:\\Users\\danie\\Desktop\\bitburner"]],"_from":"escodegen@1.11.0","_id":"escodegen@1.11.0","_inBundle":false,"_integrity":"sha512-IeMV45ReixHS53K/OmfKAIztN/igDHzTJUhZM3k1jMhIZWjk45SMwAtBsEXiJp3vSPmTcu6CXn7mDvFHRN66fw==","_location":"/escodegen","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"escodegen@1.11.0","name":"escodegen","escapedName":"escodegen","rawSpec":"1.11.0","saveSpec":null,"fetchSpec":"1.11.0"},"_requiredBy":["/"],"_resolved":"https://registry.npmjs.org/escodegen/-/escodegen-1.11.0.tgz","_spec":"1.11.0","_where":"C:\\Users\\danie\\Desktop\\bitburner","bin":{"esgenerate":"./bin/esgenerate.js","escodegen":"./bin/escodegen.js"},"bugs":{"url":"https://github.com/estools/escodegen/issues"},"dependencies":{"esprima":"^3.1.3","estraverse":"^4.2.0","esutils":"^2.0.2","optionator":"^0.8.1","source-map":"~0.6.1"},"description":"ECMAScript code generator","devDependencies":{"acorn":"^4.0.4","bluebird":"^3.4.7","bower-registry-client":"^1.0.0","chai":"^3.5.0","commonjs-everywhere":"^0.9.7","gulp":"^3.8.10","gulp-eslint":"^3.0.1","gulp-mocha":"^3.0.1","semver":"^5.1.0"},"engines":{"node":">=4.0"},"files":["LICENSE.BSD","README.md","bin","escodegen.js","package.json"],"homepage":"http://github.com/estools/escodegen","license":"BSD-2-Clause","main":"escodegen.js","maintainers":[{"name":"Yusuke Suzuki","email":"utatane.tea@gmail.com","url":"http://github.com/Constellation"}],"name":"escodegen","optionalDependencies":{"source-map":"~0.6.1"},"repository":{"type":"git","url":"git+ssh://git@github.com/estools/escodegen.git"},"scripts":{"build":"cjsify -a path: tools/entry-point.js > escodegen.browser.js","build-min":"cjsify -ma path: tools/entry-point.js > escodegen.browser.min.js","lint":"gulp lint","release":"node tools/release.js","test":"gulp travis","unit-test":"gulp test"},"version":"1.11.0"}; /***/ }), -/* 316 */ +/* 335 */ /*!***************************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/source-node.js ***! \***************************************************************************/ @@ -96665,8 +96680,8 @@ module.exports = {"_args":[["escodegen@1.11.0","C:\\Users\\danie\\Desktop\\bitbu * http://opensource.org/licenses/BSD-3-Clause */ -var SourceMapGenerator = __webpack_require__(/*! ./source-map-generator */ 226).SourceMapGenerator; -var util = __webpack_require__(/*! ./util */ 125); +var SourceMapGenerator = __webpack_require__(/*! ./source-map-generator */ 245).SourceMapGenerator; +var util = __webpack_require__(/*! ./util */ 133); // Matches a Windows-style `\r\n` newline or a `\n` newline used by all other // operating systems these days (capturing the result). @@ -97074,7 +97089,7 @@ exports.SourceNode = SourceNode; /***/ }), -/* 317 */ +/* 336 */ /*!**************************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/quick-sort.js ***! \**************************************************************************/ @@ -97199,7 +97214,7 @@ exports.quickSort = function (ary, comparator) { /***/ }), -/* 318 */ +/* 337 */ /*!*****************************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/binary-search.js ***! \*****************************************************************************/ @@ -97321,7 +97336,7 @@ exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { /***/ }), -/* 319 */ +/* 338 */ /*!***********************************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/source-map-consumer.js ***! \***********************************************************************************/ @@ -97336,11 +97351,11 @@ exports.search = function search(aNeedle, aHaystack, aCompare, aBias) { * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(/*! ./util */ 125); -var binarySearch = __webpack_require__(/*! ./binary-search */ 318); -var ArraySet = __webpack_require__(/*! ./array-set */ 224).ArraySet; -var base64VLQ = __webpack_require__(/*! ./base64-vlq */ 225); -var quickSort = __webpack_require__(/*! ./quick-sort */ 317).quickSort; +var util = __webpack_require__(/*! ./util */ 133); +var binarySearch = __webpack_require__(/*! ./binary-search */ 337); +var ArraySet = __webpack_require__(/*! ./array-set */ 243).ArraySet; +var base64VLQ = __webpack_require__(/*! ./base64-vlq */ 244); +var quickSort = __webpack_require__(/*! ./quick-sort */ 336).quickSort; function SourceMapConsumer(aSourceMap, aSourceMapURL) { var sourceMap = aSourceMap; @@ -98477,7 +98492,7 @@ exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; /***/ }), -/* 320 */ +/* 339 */ /*!****************************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/mapping-list.js ***! \****************************************************************************/ @@ -98492,7 +98507,7 @@ exports.IndexedSourceMapConsumer = IndexedSourceMapConsumer; * http://opensource.org/licenses/BSD-3-Clause */ -var util = __webpack_require__(/*! ./util */ 125); +var util = __webpack_require__(/*! ./util */ 133); /** * Determine whether mappingB is after mappingA with respect to generated @@ -98567,7 +98582,7 @@ exports.MappingList = MappingList; /***/ }), -/* 321 */ +/* 340 */ /*!**********************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/lib/base64.js ***! \**********************************************************************/ @@ -98645,7 +98660,7 @@ exports.decode = function (charCode) { /***/ }), -/* 322 */ +/* 341 */ /*!**********************************************************************!*\ !*** ./node_modules/escodegen/node_modules/source-map/source-map.js ***! \**********************************************************************/ @@ -98658,13 +98673,13 @@ exports.decode = function (charCode) { * Licensed under the New BSD license. See LICENSE.txt or: * http://opensource.org/licenses/BSD-3-Clause */ -exports.SourceMapGenerator = __webpack_require__(/*! ./lib/source-map-generator */ 226).SourceMapGenerator; -exports.SourceMapConsumer = __webpack_require__(/*! ./lib/source-map-consumer */ 319).SourceMapConsumer; -exports.SourceNode = __webpack_require__(/*! ./lib/source-node */ 316).SourceNode; +exports.SourceMapGenerator = __webpack_require__(/*! ./lib/source-map-generator */ 245).SourceMapGenerator; +exports.SourceMapConsumer = __webpack_require__(/*! ./lib/source-map-consumer */ 338).SourceMapConsumer; +exports.SourceNode = __webpack_require__(/*! ./lib/source-node */ 335).SourceNode; /***/ }), -/* 323 */ +/* 342 */ /*!*********************************************!*\ !*** ./node_modules/esutils/lib/keyword.js ***! \*********************************************/ @@ -98699,7 +98714,7 @@ exports.SourceNode = __webpack_require__(/*! ./lib/source-node */ 316).SourceNod (function () { 'use strict'; - var code = __webpack_require__(/*! ./code */ 227); + var code = __webpack_require__(/*! ./code */ 246); function isStrictModeReservedWordES6(id) { switch (id) { @@ -98840,7 +98855,7 @@ exports.SourceNode = __webpack_require__(/*! ./lib/source-node */ 316).SourceNod /***/ }), -/* 324 */ +/* 343 */ /*!*****************************************!*\ !*** ./node_modules/esutils/lib/ast.js ***! \*****************************************/ @@ -98995,7 +99010,7 @@ exports.SourceNode = __webpack_require__(/*! ./lib/source-node */ 316).SourceNod /***/ }), -/* 325 */ +/* 344 */ /*!*******************************************!*\ !*** ./node_modules/esutils/lib/utils.js ***! \*******************************************/ @@ -99031,15 +99046,15 @@ exports.SourceNode = __webpack_require__(/*! ./lib/source-node */ 316).SourceNod (function () { 'use strict'; - exports.ast = __webpack_require__(/*! ./ast */ 324); - exports.code = __webpack_require__(/*! ./code */ 227); - exports.keyword = __webpack_require__(/*! ./keyword */ 323); + exports.ast = __webpack_require__(/*! ./ast */ 343); + exports.code = __webpack_require__(/*! ./code */ 246); + exports.keyword = __webpack_require__(/*! ./keyword */ 342); }()); /* vim: set sw=4 ts=4 et tw=80 : */ /***/ }), -/* 326 */ +/* 345 */ /*!**********************************************!*\ !*** ./node_modules/estraverse/package.json ***! \**********************************************/ @@ -99047,10 +99062,10 @@ exports.SourceNode = __webpack_require__(/*! ./lib/source-node */ 316).SourceNod /*! all exports used */ /***/ (function(module) { -module.exports = {"_args":[["estraverse@4.2.0","C:\\Users\\danie\\Desktop\\bitburner-repo2"]],"_from":"estraverse@4.2.0","_id":"estraverse@4.2.0","_inBundle":false,"_integrity":"sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=","_location":"/estraverse","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"estraverse@4.2.0","name":"estraverse","escapedName":"estraverse","rawSpec":"4.2.0","saveSpec":null,"fetchSpec":"4.2.0"},"_requiredBy":["/escodegen","/escope","/eslint-scope","/esquery","/esrecurse"],"_resolved":"https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz","_spec":"4.2.0","_where":"C:\\Users\\danie\\Desktop\\bitburner-repo2","bugs":{"url":"https://github.com/estools/estraverse/issues"},"description":"ECMAScript JS AST traversal functions","devDependencies":{"babel-preset-es2015":"^6.3.13","babel-register":"^6.3.13","chai":"^2.1.1","espree":"^1.11.0","gulp":"^3.8.10","gulp-bump":"^0.2.2","gulp-filter":"^2.0.0","gulp-git":"^1.0.1","gulp-tag-version":"^1.2.1","jshint":"^2.5.6","mocha":"^2.1.0"},"engines":{"node":">=0.10.0"},"homepage":"https://github.com/estools/estraverse","license":"BSD-2-Clause","main":"estraverse.js","maintainers":[{"name":"Yusuke Suzuki","email":"utatane.tea@gmail.com","url":"http://github.com/Constellation"}],"name":"estraverse","repository":{"type":"git","url":"git+ssh://git@github.com/estools/estraverse.git"},"scripts":{"lint":"jshint estraverse.js","test":"npm run-script lint && npm run-script unit-test","unit-test":"mocha --compilers js:babel-register"},"version":"4.2.0"}; +module.exports = {"_args":[["estraverse@4.2.0","C:\\Users\\danie\\Desktop\\bitburner"]],"_from":"estraverse@4.2.0","_id":"estraverse@4.2.0","_inBundle":false,"_integrity":"sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=","_location":"/estraverse","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"estraverse@4.2.0","name":"estraverse","escapedName":"estraverse","rawSpec":"4.2.0","saveSpec":null,"fetchSpec":"4.2.0"},"_requiredBy":["/escodegen","/escope","/eslint-scope","/esquery","/esrecurse"],"_resolved":"https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz","_spec":"4.2.0","_where":"C:\\Users\\danie\\Desktop\\bitburner","bugs":{"url":"https://github.com/estools/estraverse/issues"},"description":"ECMAScript JS AST traversal functions","devDependencies":{"babel-preset-es2015":"^6.3.13","babel-register":"^6.3.13","chai":"^2.1.1","espree":"^1.11.0","gulp":"^3.8.10","gulp-bump":"^0.2.2","gulp-filter":"^2.0.0","gulp-git":"^1.0.1","gulp-tag-version":"^1.2.1","jshint":"^2.5.6","mocha":"^2.1.0"},"engines":{"node":">=0.10.0"},"homepage":"https://github.com/estools/estraverse","license":"BSD-2-Clause","main":"estraverse.js","maintainers":[{"name":"Yusuke Suzuki","email":"utatane.tea@gmail.com","url":"http://github.com/Constellation"}],"name":"estraverse","repository":{"type":"git","url":"git+ssh://git@github.com/estools/estraverse.git"},"scripts":{"lint":"jshint estraverse.js","test":"npm run-script lint && npm run-script unit-test","unit-test":"mocha --compilers js:babel-register"},"version":"4.2.0"}; /***/ }), -/* 327 */ +/* 346 */ /*!***********************************************!*\ !*** ./node_modules/estraverse/estraverse.js ***! \***********************************************/ @@ -99894,7 +99909,7 @@ module.exports = {"_args":[["estraverse@4.2.0","C:\\Users\\danie\\Desktop\\bitbu return tree; } - exports.version = __webpack_require__(/*! ./package.json */ 326).version; + exports.version = __webpack_require__(/*! ./package.json */ 345).version; exports.Syntax = Syntax; exports.traverse = traverse; exports.replace = replace; @@ -99910,7 +99925,7 @@ module.exports = {"_args":[["estraverse@4.2.0","C:\\Users\\danie\\Desktop\\bitbu /***/ }), -/* 328 */ +/* 347 */ /*!****************************************!*\ !*** (webpack)/buildin/amd-options.js ***! \****************************************/ @@ -99924,7 +99939,7 @@ module.exports = __webpack_amd_options__; /* WEBPACK VAR INJECTION */}.call(this, {})) /***/ }), -/* 329 */ +/* 348 */ /*!********************************************!*\ !*** ./node_modules/jszip/lib/zipEntry.js ***! \********************************************/ @@ -99934,13 +99949,13 @@ module.exports = __webpack_amd_options__; "use strict"; -var readerFor = __webpack_require__(/*! ./reader/readerFor */ 231); -var utils = __webpack_require__(/*! ./utils */ 69); -var CompressedObject = __webpack_require__(/*! ./compressedObject */ 193); -var crc32fn = __webpack_require__(/*! ./crc32 */ 192); -var utf8 = __webpack_require__(/*! ./utf8 */ 124); -var compressions = __webpack_require__(/*! ./compressions */ 238); -var support = __webpack_require__(/*! ./support */ 109); +var readerFor = __webpack_require__(/*! ./reader/readerFor */ 250); +var utils = __webpack_require__(/*! ./utils */ 74); +var CompressedObject = __webpack_require__(/*! ./compressedObject */ 212); +var crc32fn = __webpack_require__(/*! ./crc32 */ 211); +var utf8 = __webpack_require__(/*! ./utf8 */ 132); +var compressions = __webpack_require__(/*! ./compressions */ 257); +var support = __webpack_require__(/*! ./support */ 116); var MADE_BY_DOS = 0x00; var MADE_BY_UNIX = 0x03; @@ -100228,7 +100243,7 @@ module.exports = ZipEntry; /***/ }), -/* 330 */ +/* 349 */ /*!***********************************************************!*\ !*** ./node_modules/jszip/lib/reader/NodeBufferReader.js ***! \***********************************************************/ @@ -100238,8 +100253,8 @@ module.exports = ZipEntry; "use strict"; -var Uint8ArrayReader = __webpack_require__(/*! ./Uint8ArrayReader */ 228); -var utils = __webpack_require__(/*! ../utils */ 69); +var Uint8ArrayReader = __webpack_require__(/*! ./Uint8ArrayReader */ 247); +var utils = __webpack_require__(/*! ../utils */ 74); function NodeBufferReader(data) { Uint8ArrayReader.call(this, data); @@ -100259,7 +100274,7 @@ module.exports = NodeBufferReader; /***/ }), -/* 331 */ +/* 350 */ /*!*******************************************************!*\ !*** ./node_modules/jszip/lib/reader/StringReader.js ***! \*******************************************************/ @@ -100269,8 +100284,8 @@ module.exports = NodeBufferReader; "use strict"; -var DataReader = __webpack_require__(/*! ./DataReader */ 229); -var utils = __webpack_require__(/*! ../utils */ 69); +var DataReader = __webpack_require__(/*! ./DataReader */ 248); +var utils = __webpack_require__(/*! ../utils */ 74); function StringReader(data) { DataReader.call(this, data); @@ -100309,7 +100324,7 @@ module.exports = StringReader; /***/ }), -/* 332 */ +/* 351 */ /*!**********************************************!*\ !*** ./node_modules/jszip/lib/zipEntries.js ***! \**********************************************/ @@ -100319,12 +100334,12 @@ module.exports = StringReader; "use strict"; -var readerFor = __webpack_require__(/*! ./reader/readerFor */ 231); -var utils = __webpack_require__(/*! ./utils */ 69); -var sig = __webpack_require__(/*! ./signature */ 232); -var ZipEntry = __webpack_require__(/*! ./zipEntry */ 329); -var utf8 = __webpack_require__(/*! ./utf8 */ 124); -var support = __webpack_require__(/*! ./support */ 109); +var readerFor = __webpack_require__(/*! ./reader/readerFor */ 250); +var utils = __webpack_require__(/*! ./utils */ 74); +var sig = __webpack_require__(/*! ./signature */ 251); +var ZipEntry = __webpack_require__(/*! ./zipEntry */ 348); +var utf8 = __webpack_require__(/*! ./utf8 */ 132); +var support = __webpack_require__(/*! ./support */ 116); // class ZipEntries {{{ /** * All the entries in the zip file. @@ -100583,7 +100598,7 @@ module.exports = ZipEntries; /***/ }), -/* 333 */ +/* 352 */ /*!****************************************!*\ !*** ./node_modules/jszip/lib/load.js ***! \****************************************/ @@ -100593,13 +100608,13 @@ module.exports = ZipEntries; "use strict"; -var utils = __webpack_require__(/*! ./utils */ 69); -var external = __webpack_require__(/*! ./external */ 126); -var utf8 = __webpack_require__(/*! ./utf8 */ 124); -var utils = __webpack_require__(/*! ./utils */ 69); -var ZipEntries = __webpack_require__(/*! ./zipEntries */ 332); -var Crc32Probe = __webpack_require__(/*! ./stream/Crc32Probe */ 239); -var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 146); +var utils = __webpack_require__(/*! ./utils */ 74); +var external = __webpack_require__(/*! ./external */ 135); +var utf8 = __webpack_require__(/*! ./utf8 */ 132); +var utils = __webpack_require__(/*! ./utils */ 74); +var ZipEntries = __webpack_require__(/*! ./zipEntries */ 351); +var Crc32Probe = __webpack_require__(/*! ./stream/Crc32Probe */ 258); +var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 159); /** * Check the CRC32 of an entry. @@ -100677,7 +100692,7 @@ module.exports = function(data, options) { /***/ }), -/* 334 */ +/* 353 */ /*!*******************************************************************!*\ !*** ./node_modules/jszip/lib/nodejs/NodejsStreamInputAdapter.js ***! \*******************************************************************/ @@ -100688,8 +100703,8 @@ module.exports = function(data, options) { "use strict"; -var utils = __webpack_require__(/*! ../utils */ 69); -var GenericWorker = __webpack_require__(/*! ../stream/GenericWorker */ 91); +var utils = __webpack_require__(/*! ../utils */ 74); +var GenericWorker = __webpack_require__(/*! ../stream/GenericWorker */ 95); /** * A worker that use a nodejs stream as source. @@ -100763,7 +100778,7 @@ module.exports = NodejsStreamInputAdapter; /***/ }), -/* 335 */ +/* 354 */ /*!**********************************************************!*\ !*** ./node_modules/jszip/lib/generate/ZipFileWorker.js ***! \**********************************************************/ @@ -100774,11 +100789,11 @@ module.exports = NodejsStreamInputAdapter; "use strict"; -var utils = __webpack_require__(/*! ../utils */ 69); -var GenericWorker = __webpack_require__(/*! ../stream/GenericWorker */ 91); -var utf8 = __webpack_require__(/*! ../utf8 */ 124); -var crc32 = __webpack_require__(/*! ../crc32 */ 192); -var signature = __webpack_require__(/*! ../signature */ 232); +var utils = __webpack_require__(/*! ../utils */ 74); +var GenericWorker = __webpack_require__(/*! ../stream/GenericWorker */ 95); +var utf8 = __webpack_require__(/*! ../utf8 */ 132); +var crc32 = __webpack_require__(/*! ../crc32 */ 211); +var signature = __webpack_require__(/*! ../signature */ 251); /** * Transform an integer into a string in hexadecimal. @@ -101315,7 +101330,7 @@ module.exports = ZipFileWorker; /***/ }), -/* 336 */ +/* 355 */ /*!************************************************!*\ !*** ./node_modules/pako/lib/zlib/gzheader.js ***! \************************************************/ @@ -101385,7 +101400,7 @@ module.exports = GZheader; /***/ }), -/* 337 */ +/* 356 */ /*!************************************************!*\ !*** ./node_modules/pako/lib/zlib/inftrees.js ***! \************************************************/ @@ -101415,7 +101430,7 @@ module.exports = GZheader; // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. -var utils = __webpack_require__(/*! ../utils/common */ 108); +var utils = __webpack_require__(/*! ../utils/common */ 115); var MAXBITS = 15; var ENOUGH_LENS = 852; @@ -101740,7 +101755,7 @@ module.exports = function inflate_table(type, lens, lens_index, codes, table, ta /***/ }), -/* 338 */ +/* 357 */ /*!***********************************************!*\ !*** ./node_modules/pako/lib/zlib/inffast.js ***! \***********************************************/ @@ -102097,7 +102112,7 @@ module.exports = function inflate_fast(strm, start) { /***/ }), -/* 339 */ +/* 358 */ /*!***********************************************!*\ !*** ./node_modules/pako/lib/zlib/inflate.js ***! \***********************************************/ @@ -102127,11 +102142,11 @@ module.exports = function inflate_fast(strm, start) { // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. -var utils = __webpack_require__(/*! ../utils/common */ 108); -var adler32 = __webpack_require__(/*! ./adler32 */ 237); -var crc32 = __webpack_require__(/*! ./crc32 */ 236); -var inflate_fast = __webpack_require__(/*! ./inffast */ 338); -var inflate_table = __webpack_require__(/*! ./inftrees */ 337); +var utils = __webpack_require__(/*! ../utils/common */ 115); +var adler32 = __webpack_require__(/*! ./adler32 */ 256); +var crc32 = __webpack_require__(/*! ./crc32 */ 255); +var inflate_fast = __webpack_require__(/*! ./inffast */ 357); +var inflate_table = __webpack_require__(/*! ./inftrees */ 356); var CODES = 0; var LENS = 1; @@ -103665,7 +103680,7 @@ exports.inflateUndermine = inflateUndermine; /***/ }), -/* 340 */ +/* 359 */ /*!******************************************!*\ !*** ./node_modules/pako/lib/inflate.js ***! \******************************************/ @@ -103677,13 +103692,13 @@ exports.inflateUndermine = inflateUndermine; -var zlib_inflate = __webpack_require__(/*! ./zlib/inflate */ 339); -var utils = __webpack_require__(/*! ./utils/common */ 108); -var strings = __webpack_require__(/*! ./utils/strings */ 235); -var c = __webpack_require__(/*! ./zlib/constants */ 233); -var msg = __webpack_require__(/*! ./zlib/messages */ 191); -var ZStream = __webpack_require__(/*! ./zlib/zstream */ 234); -var GZheader = __webpack_require__(/*! ./zlib/gzheader */ 336); +var zlib_inflate = __webpack_require__(/*! ./zlib/inflate */ 358); +var utils = __webpack_require__(/*! ./utils/common */ 115); +var strings = __webpack_require__(/*! ./utils/strings */ 254); +var c = __webpack_require__(/*! ./zlib/constants */ 252); +var msg = __webpack_require__(/*! ./zlib/messages */ 210); +var ZStream = __webpack_require__(/*! ./zlib/zstream */ 253); +var GZheader = __webpack_require__(/*! ./zlib/gzheader */ 355); var toString = Object.prototype.toString; @@ -104095,7 +104110,7 @@ exports.ungzip = inflate; /***/ }), -/* 341 */ +/* 360 */ /*!*********************************************!*\ !*** ./node_modules/pako/lib/zlib/trees.js ***! \*********************************************/ @@ -104125,7 +104140,7 @@ exports.ungzip = inflate; // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. -var utils = __webpack_require__(/*! ../utils/common */ 108); +var utils = __webpack_require__(/*! ../utils/common */ 115); /* Public constants ==========================================================*/ /* ===========================================================================*/ @@ -105327,7 +105342,7 @@ exports._tr_align = _tr_align; /***/ }), -/* 342 */ +/* 361 */ /*!***********************************************!*\ !*** ./node_modules/pako/lib/zlib/deflate.js ***! \***********************************************/ @@ -105357,11 +105372,11 @@ exports._tr_align = _tr_align; // misrepresented as being the original software. // 3. This notice may not be removed or altered from any source distribution. -var utils = __webpack_require__(/*! ../utils/common */ 108); -var trees = __webpack_require__(/*! ./trees */ 341); -var adler32 = __webpack_require__(/*! ./adler32 */ 237); -var crc32 = __webpack_require__(/*! ./crc32 */ 236); -var msg = __webpack_require__(/*! ./messages */ 191); +var utils = __webpack_require__(/*! ../utils/common */ 115); +var trees = __webpack_require__(/*! ./trees */ 360); +var adler32 = __webpack_require__(/*! ./adler32 */ 256); +var crc32 = __webpack_require__(/*! ./crc32 */ 255); +var msg = __webpack_require__(/*! ./messages */ 210); /* Public constants ==========================================================*/ /* ===========================================================================*/ @@ -107213,7 +107228,7 @@ exports.deflateTune = deflateTune; /***/ }), -/* 343 */ +/* 362 */ /*!******************************************!*\ !*** ./node_modules/pako/lib/deflate.js ***! \******************************************/ @@ -107225,11 +107240,11 @@ exports.deflateTune = deflateTune; -var zlib_deflate = __webpack_require__(/*! ./zlib/deflate */ 342); -var utils = __webpack_require__(/*! ./utils/common */ 108); -var strings = __webpack_require__(/*! ./utils/strings */ 235); -var msg = __webpack_require__(/*! ./zlib/messages */ 191); -var ZStream = __webpack_require__(/*! ./zlib/zstream */ 234); +var zlib_deflate = __webpack_require__(/*! ./zlib/deflate */ 361); +var utils = __webpack_require__(/*! ./utils/common */ 115); +var strings = __webpack_require__(/*! ./utils/strings */ 254); +var msg = __webpack_require__(/*! ./zlib/messages */ 210); +var ZStream = __webpack_require__(/*! ./zlib/zstream */ 253); var toString = Object.prototype.toString; @@ -107625,7 +107640,7 @@ exports.gzip = gzip; /***/ }), -/* 344 */ +/* 363 */ /*!************************************!*\ !*** ./node_modules/pako/index.js ***! \************************************/ @@ -107637,11 +107652,11 @@ exports.gzip = gzip; // Top level file is just a mixin of submodules & constants -var assign = __webpack_require__(/*! ./lib/utils/common */ 108).assign; +var assign = __webpack_require__(/*! ./lib/utils/common */ 115).assign; -var deflate = __webpack_require__(/*! ./lib/deflate */ 343); -var inflate = __webpack_require__(/*! ./lib/inflate */ 340); -var constants = __webpack_require__(/*! ./lib/zlib/constants */ 233); +var deflate = __webpack_require__(/*! ./lib/deflate */ 362); +var inflate = __webpack_require__(/*! ./lib/inflate */ 359); +var constants = __webpack_require__(/*! ./lib/zlib/constants */ 252); var pako = {}; @@ -107651,7 +107666,7 @@ module.exports = pako; /***/ }), -/* 345 */ +/* 364 */ /*!*****************************************!*\ !*** ./node_modules/jszip/lib/flate.js ***! \*****************************************/ @@ -107663,9 +107678,9 @@ module.exports = pako; var USE_TYPEDARRAY = (typeof Uint8Array !== 'undefined') && (typeof Uint16Array !== 'undefined') && (typeof Uint32Array !== 'undefined'); -var pako = __webpack_require__(/*! pako */ 344); -var utils = __webpack_require__(/*! ./utils */ 69); -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 91); +var pako = __webpack_require__(/*! pako */ 363); +var utils = __webpack_require__(/*! ./utils */ 74); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 95); var ARRAY_TYPE = USE_TYPEDARRAY ? "uint8array" : "array"; @@ -107748,7 +107763,7 @@ exports.uncompressWorker = function () { /***/ }), -/* 346 */ +/* 365 */ /*!**************************************************!*\ !*** ./node_modules/jszip/lib/generate/index.js ***! \**************************************************/ @@ -107759,8 +107774,8 @@ exports.uncompressWorker = function () { "use strict"; -var compressions = __webpack_require__(/*! ../compressions */ 238); -var ZipFileWorker = __webpack_require__(/*! ./ZipFileWorker */ 335); +var compressions = __webpack_require__(/*! ../compressions */ 257); +var ZipFileWorker = __webpack_require__(/*! ./ZipFileWorker */ 354); /** * Find the compression to use. @@ -107817,7 +107832,7 @@ exports.generateWorker = function (zip, options, comment) { /***/ }), -/* 347 */ +/* 366 */ /*!*********************************************!*\ !*** ./node_modules/jszip/lib/zipObject.js ***! \*********************************************/ @@ -107828,11 +107843,11 @@ exports.generateWorker = function (zip, options, comment) { "use strict"; -var StreamHelper = __webpack_require__(/*! ./stream/StreamHelper */ 243); -var DataWorker = __webpack_require__(/*! ./stream/DataWorker */ 241); -var utf8 = __webpack_require__(/*! ./utf8 */ 124); -var CompressedObject = __webpack_require__(/*! ./compressedObject */ 193); -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 91); +var StreamHelper = __webpack_require__(/*! ./stream/StreamHelper */ 262); +var DataWorker = __webpack_require__(/*! ./stream/DataWorker */ 260); +var utf8 = __webpack_require__(/*! ./utf8 */ 132); +var CompressedObject = __webpack_require__(/*! ./compressedObject */ 212); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 95); /** * A simple object representing a file in the zip file. @@ -107962,7 +107977,7 @@ module.exports = ZipObject; /***/ }), -/* 348 */ +/* 367 */ /*!********************************************************************!*\ !*** ./node_modules/jszip/lib/nodejs/NodejsStreamOutputAdapter.js ***! \********************************************************************/ @@ -107973,9 +107988,9 @@ module.exports = ZipObject; "use strict"; -var Readable = __webpack_require__(/*! readable-stream */ 256).Readable; +var Readable = __webpack_require__(/*! readable-stream */ 275).Readable; -var utils = __webpack_require__(/*! ../utils */ 69); +var utils = __webpack_require__(/*! ../utils */ 74); utils.inherits(NodejsStreamOutputAdapter, Readable); /** @@ -108016,7 +108031,7 @@ module.exports = NodejsStreamOutputAdapter; /***/ }), -/* 349 */ +/* 368 */ /*!********************************************************!*\ !*** ./node_modules/jszip/lib/stream/ConvertWorker.js ***! \********************************************************/ @@ -108027,8 +108042,8 @@ module.exports = NodejsStreamOutputAdapter; "use strict"; -var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 91); -var utils = __webpack_require__(/*! ../utils */ 69); +var GenericWorker = __webpack_require__(/*! ./GenericWorker */ 95); +var utils = __webpack_require__(/*! ../utils */ 74); /** * A worker which convert chunks to a specified type. @@ -108054,7 +108069,7 @@ module.exports = ConvertWorker; /***/ }), -/* 350 */ +/* 369 */ /*!***********************************************!*\ !*** ./node_modules/immediate/lib/browser.js ***! \***********************************************/ @@ -108133,10 +108148,10 @@ function immediate(task) { } } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 98))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../../webpack/buildin/global.js */ 105))) /***/ }), -/* 351 */ +/* 370 */ /*!*****************************************!*\ !*** ./node_modules/lie/lib/browser.js ***! \*****************************************/ @@ -108146,7 +108161,7 @@ function immediate(task) { "use strict"; -var immediate = __webpack_require__(/*! immediate */ 350); +var immediate = __webpack_require__(/*! immediate */ 369); /* istanbul ignore next */ function INTERNAL() {} @@ -108401,7 +108416,7 @@ function race(iterable) { /***/ }), -/* 352 */ +/* 371 */ /*!*************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_cof.js ***! \*************************************************************************/ @@ -108416,7 +108431,7 @@ module.exports = function(it){ }; /***/ }), -/* 353 */ +/* 372 */ /*!**************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_html.js ***! \**************************************************************************/ @@ -108424,10 +108439,10 @@ module.exports = function(it){ /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! ./_global */ 145).document && document.documentElement; +module.exports = __webpack_require__(/*! ./_global */ 158).document && document.documentElement; /***/ }), -/* 354 */ +/* 373 */ /*!****************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_invoke.js ***! \****************************************************************************/ @@ -108453,7 +108468,7 @@ module.exports = function(fn, args, that){ }; /***/ }), -/* 355 */ +/* 374 */ /*!**************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_task.js ***! \**************************************************************************/ @@ -108461,11 +108476,11 @@ module.exports = function(fn, args, that){ /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var ctx = __webpack_require__(/*! ./_ctx */ 246) - , invoke = __webpack_require__(/*! ./_invoke */ 354) - , html = __webpack_require__(/*! ./_html */ 353) - , cel = __webpack_require__(/*! ./_dom-create */ 244) - , global = __webpack_require__(/*! ./_global */ 145) +var ctx = __webpack_require__(/*! ./_ctx */ 265) + , invoke = __webpack_require__(/*! ./_invoke */ 373) + , html = __webpack_require__(/*! ./_html */ 372) + , cel = __webpack_require__(/*! ./_dom-create */ 263) + , global = __webpack_require__(/*! ./_global */ 158) , process = global.process , setTask = global.setImmediate , clearTask = global.clearImmediate @@ -108500,7 +108515,7 @@ if(!setTask || !clearTask){ delete queue[id]; }; // Node.js 0.8- - if(__webpack_require__(/*! ./_cof */ 352)(process) == 'process'){ + if(__webpack_require__(/*! ./_cof */ 371)(process) == 'process'){ defer = function(id){ process.nextTick(ctx(run, id, 1)); }; @@ -108538,7 +108553,7 @@ module.exports = { }; /***/ }), -/* 356 */ +/* 375 */ /*!***********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_property-desc.js ***! \***********************************************************************************/ @@ -108556,7 +108571,7 @@ module.exports = function(bitmap, value){ }; /***/ }), -/* 357 */ +/* 376 */ /*!**********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_to-primitive.js ***! \**********************************************************************************/ @@ -108565,7 +108580,7 @@ module.exports = function(bitmap, value){ /***/ (function(module, exports, __webpack_require__) { // 7.1.1 ToPrimitive(input [, PreferredType]) -var isObject = __webpack_require__(/*! ./_is-object */ 195); +var isObject = __webpack_require__(/*! ./_is-object */ 214); // instead of the ES6 spec version, we didn't implement @@toPrimitive case // and the second argument - flag - preferred type is a string module.exports = function(it, S){ @@ -108578,7 +108593,7 @@ module.exports = function(it, S){ }; /***/ }), -/* 358 */ +/* 377 */ /*!************************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_ie8-dom-define.js ***! \************************************************************************************/ @@ -108586,12 +108601,12 @@ module.exports = function(it, S){ /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -module.exports = !__webpack_require__(/*! ./_descriptors */ 194) && !__webpack_require__(/*! ./_fails */ 245)(function(){ - return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ 244)('div'), 'a', {get: function(){ return 7; }}).a != 7; +module.exports = !__webpack_require__(/*! ./_descriptors */ 213) && !__webpack_require__(/*! ./_fails */ 264)(function(){ + return Object.defineProperty(__webpack_require__(/*! ./_dom-create */ 263)('div'), 'a', {get: function(){ return 7; }}).a != 7; }); /***/ }), -/* 359 */ +/* 378 */ /*!*******************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_an-object.js ***! \*******************************************************************************/ @@ -108599,14 +108614,14 @@ module.exports = !__webpack_require__(/*! ./_descriptors */ 194) && !__webpack_r /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var isObject = __webpack_require__(/*! ./_is-object */ 195); +var isObject = __webpack_require__(/*! ./_is-object */ 214); module.exports = function(it){ if(!isObject(it))throw TypeError(it + ' is not an object!'); return it; }; /***/ }), -/* 360 */ +/* 379 */ /*!*******************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_object-dp.js ***! \*******************************************************************************/ @@ -108614,12 +108629,12 @@ module.exports = function(it){ /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var anObject = __webpack_require__(/*! ./_an-object */ 359) - , IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ 358) - , toPrimitive = __webpack_require__(/*! ./_to-primitive */ 357) +var anObject = __webpack_require__(/*! ./_an-object */ 378) + , IE8_DOM_DEFINE = __webpack_require__(/*! ./_ie8-dom-define */ 377) + , toPrimitive = __webpack_require__(/*! ./_to-primitive */ 376) , dP = Object.defineProperty; -exports.f = __webpack_require__(/*! ./_descriptors */ 194) ? Object.defineProperty : function defineProperty(O, P, Attributes){ +exports.f = __webpack_require__(/*! ./_descriptors */ 213) ? Object.defineProperty : function defineProperty(O, P, Attributes){ anObject(O); P = toPrimitive(P, true); anObject(Attributes); @@ -108632,7 +108647,7 @@ exports.f = __webpack_require__(/*! ./_descriptors */ 194) ? Object.defineProper }; /***/ }), -/* 361 */ +/* 380 */ /*!**************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_hide.js ***! \**************************************************************************/ @@ -108640,9 +108655,9 @@ exports.f = __webpack_require__(/*! ./_descriptors */ 194) ? Object.defineProper /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var dP = __webpack_require__(/*! ./_object-dp */ 360) - , createDesc = __webpack_require__(/*! ./_property-desc */ 356); -module.exports = __webpack_require__(/*! ./_descriptors */ 194) ? function(object, key, value){ +var dP = __webpack_require__(/*! ./_object-dp */ 379) + , createDesc = __webpack_require__(/*! ./_property-desc */ 375); +module.exports = __webpack_require__(/*! ./_descriptors */ 213) ? function(object, key, value){ return dP.f(object, key, createDesc(1, value)); } : function(object, key, value){ object[key] = value; @@ -108650,7 +108665,7 @@ module.exports = __webpack_require__(/*! ./_descriptors */ 194) ? function(objec }; /***/ }), -/* 362 */ +/* 381 */ /*!********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_a-function.js ***! \********************************************************************************/ @@ -108664,7 +108679,7 @@ module.exports = function(it){ }; /***/ }), -/* 363 */ +/* 382 */ /*!****************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/_export.js ***! \****************************************************************************/ @@ -108672,10 +108687,10 @@ module.exports = function(it){ /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var global = __webpack_require__(/*! ./_global */ 145) - , core = __webpack_require__(/*! ./_core */ 247) - , ctx = __webpack_require__(/*! ./_ctx */ 246) - , hide = __webpack_require__(/*! ./_hide */ 361) +var global = __webpack_require__(/*! ./_global */ 158) + , core = __webpack_require__(/*! ./_core */ 266) + , ctx = __webpack_require__(/*! ./_ctx */ 265) + , hide = __webpack_require__(/*! ./_hide */ 380) , PROTOTYPE = 'prototype'; var $export = function(type, name, source){ @@ -108735,7 +108750,7 @@ $export.R = 128; // real proto method for `library` module.exports = $export; /***/ }), -/* 364 */ +/* 383 */ /*!**********************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/modules/web.immediate.js ***! \**********************************************************************************/ @@ -108743,15 +108758,15 @@ module.exports = $export; /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -var $export = __webpack_require__(/*! ./_export */ 363) - , $task = __webpack_require__(/*! ./_task */ 355); +var $export = __webpack_require__(/*! ./_export */ 382) + , $task = __webpack_require__(/*! ./_task */ 374); $export($export.G + $export.B, { setImmediate: $task.set, clearImmediate: $task.clear }); /***/ }), -/* 365 */ +/* 384 */ /*!*****************************************************************************!*\ !*** ./node_modules/jszip/node_modules/core-js/library/fn/set-immediate.js ***! \*****************************************************************************/ @@ -108759,11 +108774,11 @@ $export($export.G + $export.B, { /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -__webpack_require__(/*! ../modules/web.immediate */ 364); -module.exports = __webpack_require__(/*! ../modules/_core */ 247).setImmediate; +__webpack_require__(/*! ../modules/web.immediate */ 383); +module.exports = __webpack_require__(/*! ../modules/_core */ 266).setImmediate; /***/ }), -/* 366 */ +/* 385 */ /*!*****************************************************!*\ !*** ./node_modules/readable-stream/passthrough.js ***! \*****************************************************/ @@ -108771,11 +108786,11 @@ module.exports = __webpack_require__(/*! ../modules/_core */ 247).setImmediate; /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! ./readable */ 197).PassThrough +module.exports = __webpack_require__(/*! ./readable */ 216).PassThrough /***/ }), -/* 367 */ +/* 386 */ /*!***************************************************!*\ !*** ./node_modules/readable-stream/transform.js ***! \***************************************************/ @@ -108783,11 +108798,11 @@ module.exports = __webpack_require__(/*! ./readable */ 197).PassThrough /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! ./readable */ 197).Transform +module.exports = __webpack_require__(/*! ./readable */ 216).Transform /***/ }), -/* 368 */ +/* 387 */ /*!********************************************************!*\ !*** ./node_modules/readable-stream/duplex-browser.js ***! \********************************************************/ @@ -108795,11 +108810,11 @@ module.exports = __webpack_require__(/*! ./readable */ 197).Transform /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! ./lib/_stream_duplex.js */ 114); +module.exports = __webpack_require__(/*! ./lib/_stream_duplex.js */ 121); /***/ }), -/* 369 */ +/* 388 */ /*!**********************************************************!*\ !*** ./node_modules/readable-stream/writable-browser.js ***! \**********************************************************/ @@ -108807,11 +108822,11 @@ module.exports = __webpack_require__(/*! ./lib/_stream_duplex.js */ 114); /*! all exports used */ /***/ (function(module, exports, __webpack_require__) { -module.exports = __webpack_require__(/*! ./lib/_stream_writable.js */ 196); +module.exports = __webpack_require__(/*! ./lib/_stream_writable.js */ 215); /***/ }), -/* 370 */ +/* 389 */ /*!*****************************************************************!*\ !*** ./node_modules/readable-stream/lib/_stream_passthrough.js ***! \*****************************************************************/ @@ -108849,11 +108864,11 @@ module.exports = __webpack_require__(/*! ./lib/_stream_writable.js */ 196); module.exports = PassThrough; -var Transform = __webpack_require__(/*! ./_stream_transform */ 249); +var Transform = __webpack_require__(/*! ./_stream_transform */ 268); /**/ -var util = __webpack_require__(/*! core-util-is */ 127); -util.inherits = __webpack_require__(/*! inherits */ 123); +var util = __webpack_require__(/*! core-util-is */ 136); +util.inherits = __webpack_require__(/*! inherits */ 131); /**/ util.inherits(PassThrough, Transform); @@ -108869,7 +108884,7 @@ PassThrough.prototype._transform = function (chunk, encoding, cb) { }; /***/ }), -/* 371 */ +/* 390 */ /*!************************************************!*\ !*** ./node_modules/util-deprecate/browser.js ***! \************************************************/ @@ -108945,10 +108960,10 @@ function config (name) { return String(val).toLowerCase() === 'true'; } -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 98))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 105))) /***/ }), -/* 372 */ +/* 391 */ /*!*************************************************************************!*\ !*** ./node_modules/readable-stream/lib/internal/streams/BufferList.js ***! \*************************************************************************/ @@ -108961,8 +108976,8 @@ 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 */ 147).Buffer; -var util = __webpack_require__(/*! util */ 252); +var Buffer = __webpack_require__(/*! safe-buffer */ 160).Buffer; +var util = __webpack_require__(/*! util */ 271); function copyBuffer(src, target, offset) { src.copy(target, offset); @@ -109038,7 +109053,7 @@ if (util && util.inspect && util.inspect.custom) { } /***/ }), -/* 373 */ +/* 392 */ /*!*************************************************!*\ !*** ./node_modules/stream-browserify/index.js ***! \*************************************************/ @@ -109069,15 +109084,15 @@ if (util && util.inspect && util.inspect.custom) { module.exports = Stream; -var EE = __webpack_require__(/*! events */ 198).EventEmitter; -var inherits = __webpack_require__(/*! inherits */ 123); +var EE = __webpack_require__(/*! events */ 217).EventEmitter; +var inherits = __webpack_require__(/*! inherits */ 131); inherits(Stream, EE); -Stream.Readable = __webpack_require__(/*! readable-stream/readable.js */ 197); -Stream.Writable = __webpack_require__(/*! readable-stream/writable.js */ 369); -Stream.Duplex = __webpack_require__(/*! readable-stream/duplex.js */ 368); -Stream.Transform = __webpack_require__(/*! readable-stream/transform.js */ 367); -Stream.PassThrough = __webpack_require__(/*! readable-stream/passthrough.js */ 366); +Stream.Readable = __webpack_require__(/*! readable-stream/readable.js */ 216); +Stream.Writable = __webpack_require__(/*! readable-stream/writable.js */ 388); +Stream.Duplex = __webpack_require__(/*! readable-stream/duplex.js */ 387); +Stream.Transform = __webpack_require__(/*! readable-stream/transform.js */ 386); +Stream.PassThrough = __webpack_require__(/*! readable-stream/passthrough.js */ 385); // Backwards-compat with node 0.4.x Stream.Stream = Stream; @@ -109176,7 +109191,7 @@ Stream.prototype.pipe = function(dest, options) { /***/ }), -/* 374 */ +/* 393 */ /*!***************************************!*\ !*** ./node_modules/ieee754/index.js ***! \***************************************/ @@ -109271,7 +109286,7 @@ exports.write = function (buffer, value, offset, isLE, mLen, nBytes) { /***/ }), -/* 375 */ +/* 394 */ /*!*****************************************!*\ !*** ./node_modules/base64-js/index.js ***! \*****************************************/ @@ -109434,7 +109449,7 @@ function fromByteArray (uint8) { /***/ }), -/* 376 */ +/* 395 */ /*!******************************************!*\ !*** ./node_modules/jszip/lib/object.js ***! \******************************************/ @@ -109444,16 +109459,16 @@ function fromByteArray (uint8) { "use strict"; -var utf8 = __webpack_require__(/*! ./utf8 */ 124); -var utils = __webpack_require__(/*! ./utils */ 69); -var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 91); -var StreamHelper = __webpack_require__(/*! ./stream/StreamHelper */ 243); -var defaults = __webpack_require__(/*! ./defaults */ 242); -var CompressedObject = __webpack_require__(/*! ./compressedObject */ 193); -var ZipObject = __webpack_require__(/*! ./zipObject */ 347); -var generate = __webpack_require__(/*! ./generate */ 346); -var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 146); -var NodejsStreamInputAdapter = __webpack_require__(/*! ./nodejs/NodejsStreamInputAdapter */ 334); +var utf8 = __webpack_require__(/*! ./utf8 */ 132); +var utils = __webpack_require__(/*! ./utils */ 74); +var GenericWorker = __webpack_require__(/*! ./stream/GenericWorker */ 95); +var StreamHelper = __webpack_require__(/*! ./stream/StreamHelper */ 262); +var defaults = __webpack_require__(/*! ./defaults */ 261); +var CompressedObject = __webpack_require__(/*! ./compressedObject */ 212); +var ZipObject = __webpack_require__(/*! ./zipObject */ 366); +var generate = __webpack_require__(/*! ./generate */ 365); +var nodejsUtils = __webpack_require__(/*! ./nodejsUtils */ 159); +var NodejsStreamInputAdapter = __webpack_require__(/*! ./nodejs/NodejsStreamInputAdapter */ 353); /** @@ -109835,7 +109850,7 @@ module.exports = out; /***/ }), -/* 377 */ +/* 396 */ /*!***************************************************!*\ !*** ./node_modules/setimmediate/setImmediate.js ***! \***************************************************/ @@ -110030,10 +110045,10 @@ module.exports = out; attachTo.clearImmediate = clearImmediate; }(typeof self === "undefined" ? typeof global === "undefined" ? this : global : self)); -/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 98), __webpack_require__(/*! ./../process/browser.js */ 129))) +/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../webpack/buildin/global.js */ 105), __webpack_require__(/*! ./../process/browser.js */ 138))) /***/ }), -/* 378 */ +/* 397 */ /*!**********************************************************!*\ !*** ./node_modules/js-beautify/js/lib/beautify-html.js ***! \**********************************************************/ @@ -111396,9 +111411,9 @@ var style_html = legacy_beautify_html; /* Footer */ if (true) { // Add support for AMD ( https://github.com/amdjs/amdjs-api/wiki/AMD#defineamd-property- ) - !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, __webpack_require__(/*! ./beautify */ 205), __webpack_require__(/*! ./beautify-css */ 204)], __WEBPACK_AMD_DEFINE_RESULT__ = (function(requireamd) { - var js_beautify = __webpack_require__(/*! ./beautify */ 205); - var css_beautify = __webpack_require__(/*! ./beautify-css */ 204); + !(__WEBPACK_AMD_DEFINE_ARRAY__ = [__webpack_require__, __webpack_require__(/*! ./beautify */ 224), __webpack_require__(/*! ./beautify-css */ 223)], __WEBPACK_AMD_DEFINE_RESULT__ = (function(requireamd) { + var js_beautify = __webpack_require__(/*! ./beautify */ 224); + var css_beautify = __webpack_require__(/*! ./beautify-css */ 223); return { html_beautify: function(html_source, options) { diff --git a/index.html b/index.html index ec3a56b20..7c8c9bbbc 100644 --- a/index.html +++ b/index.html @@ -596,8 +596,11 @@
Create a Corporation - + Bladeburner Division + + + Re-Sleeve
diff --git a/src/Crime/CrimeHelpers.js b/src/Crime/CrimeHelpers.js index 0a374ae4f..4b678f03d 100644 --- a/src/Crime/CrimeHelpers.js +++ b/src/Crime/CrimeHelpers.js @@ -1,3 +1,7 @@ +import { Crimes } from "./Crimes"; + +import { dialogBoxCreate } from "../../utils/DialogBox"; + export function determineCrimeSuccess(type, moneyGained) { var chance = 0; var found = false; diff --git a/src/Location.js b/src/Location.js index c1b15cc57..4f140e900 100644 --- a/src/Location.js +++ b/src/Location.js @@ -15,6 +15,7 @@ import {Server, AllServers, AddToAllServers} from "./Server"; import {purchaseServer, purchaseRamForHomeComputer} from "./ServerPurchases"; import {Settings} from "./Settings"; +import { SourceFileFlags } from "./SourceFile/SourceFileFlags"; import {SpecialServerNames, SpecialServerIps} from "./SpecialServerIps"; import {numeralWrapper} from "./ui/numeralFormat"; @@ -121,6 +122,8 @@ function displayLocationContent() { var nsaBladeburner = document.getElementById("location-nsa-bladeburner"); + const vitalifeResleeve = document.getElementById("location-vitalife-resleeve"); + var loc = Player.location; returnToWorld.addEventListener("click", function() { @@ -237,6 +240,7 @@ function displayLocationContent() { cityHallCreateCorporation.style.display = "none"; nsaBladeburner.style.display = "none"; + vitalifeResleeve.style.display = "none"; //Check if the player is employed at this Location. If he is, display the "Work" button, //update the job title, etc. @@ -271,9 +275,9 @@ function displayLocationContent() { work.addEventListener("click", function() { if (currPos.isPartTimeJob() || currPos.isSoftwareConsultantJob() || currPos.isBusinessConsultantJob()) { - Player.startWorkPartTime(); + Player.startWorkPartTime(loc); } else { - Player.startWork(); + Player.startWork(loc); } return false; }); @@ -761,6 +765,10 @@ function displayLocationContent() { businessJob.style.display = "block"; setInfiltrateButton(infiltrate, Locations.NewTokyoVitaLife, 605, 22, 100, 3.5); + if (Player.bitNodeN === 10 || SourceFileFlags[10]) { + vitalifeResleeve.style.display = "block"; + } + break; case Locations.NewTokyoGlobalPharmaceuticals: @@ -1634,6 +1642,8 @@ function initLocationButtons() { var nsaBladeburner = document.getElementById("location-nsa-bladeburner"); + const vitalifeResleeve = document.getElementById("location-vitalife-resleeve"); + var hospitalTreatment = document.getElementById("location-hospital-treatment"); softwareJob.addEventListener("click", function(e) { @@ -2041,6 +2051,10 @@ function initLocationButtons() { } }); + vitalifeResleeve.addEventListener("click", function() { + Engine.loadResleevingContent(); + }); + hospitalTreatment.addEventListener("click", function(e) { if (!e.isTrusted) {return false;} if (Player.hp < 0) {Player.hp = 0;} diff --git a/src/NetscriptFunctions.js b/src/NetscriptFunctions.js index 8d64258ee..d0cdde58b 100644 --- a/src/NetscriptFunctions.js +++ b/src/NetscriptFunctions.js @@ -419,7 +419,7 @@ function NetscriptFunctions(workerScript) { // Check argument validity const server = safeGetServer(ip, 'hackAnalyzeThreads'); if (isNaN(hackAmount)) { - throw makeRuntimeRejectMsg(workerScript, `Invalid growth argument passed into growthAnalyze: ${hackAmount}. Must be numeric`); + throw makeRuntimeRejectMsg(workerScript, `Invalid growth argument passed into hackAnalyzeThreads: ${hackAmount}. Must be numeric`); } if (hackAmount < 0 || hackAmount > server.moneyAvailable) { @@ -3080,11 +3080,10 @@ function NetscriptFunctions(workerScript) { } } - Player.companyName = companyName; if (companyPosition.isPartTimeJob()) { - Player.startWorkPartTime(); + Player.startWorkPartTime(companyName); } else { - Player.startWork(); + Player.startWork(companyName); } if (workerScript.disableLogs.ALL == null && workerScript.disableLogs.workForCompany == null) { workerScript.log(`Began working at ${Player.companyName} as a ${companyPositionName}`); diff --git a/src/PersonObjects/IPlayer.ts b/src/PersonObjects/IPlayer.ts index 11c45ff98..186e1211e 100644 --- a/src/PersonObjects/IPlayer.ts +++ b/src/PersonObjects/IPlayer.ts @@ -12,9 +12,13 @@ import { IPlayerOwnedAugmentation } from "../Augmentation/PlayerOwnedAugmentatio import { IPlayerOwnedSourceFile } from "../SourceFile/PlayerOwnedSourceFile"; export interface IPlayer { + // Class members augmentations: IPlayerOwnedAugmentation[]; + bladeburner: any; companyName: string; + corporation: any; factions: string[]; + hasWseAccount: boolean; jobs: IMap; money: any; queuedAugmentations: IPlayerOwnedAugmentation[]; @@ -22,6 +26,7 @@ export interface IPlayer { sleeves: Sleeve[]; sourceFiles: IPlayerOwnedSourceFile[]; + // Stats hacking_skill: number; strength: number; defense: number; @@ -30,6 +35,7 @@ export interface IPlayer { charisma: number; intelligence: number; + // Experience hacking_exp: number; strength_exp: number; defense_exp: number; @@ -37,8 +43,10 @@ export interface IPlayer { agility_exp: number; charisma_exp: number; + // Multipliers crime_success_mult: number; + // Methods gainHackingExp(exp: number): void; gainStrengthExp(exp: number): void; gainDefenseExp(exp: number): void; @@ -46,6 +54,9 @@ export interface IPlayer { gainAgilityExp(exp: number): void; gainCharismaExp(exp: number): void; gainMoney(money: number): void; + hasCorporation(): boolean; + inBladeburner(): boolean; + inGang(): boolean; loseMoney(money: number): void; reapplyAllAugmentations(resetMultipliers: boolean): void; startCrime(crimeType: string, diff --git a/src/Player.js b/src/Player.js index 688aafa8a..e6c1461f6 100644 --- a/src/Player.js +++ b/src/Player.js @@ -3,6 +3,7 @@ import { applyAugmentation } from "./Augmentation/Augmentatio import { PlayerOwnedAugmentation } from "./Augmentation/PlayerOwnedAugmentation"; import { AugmentationNames } from "./Augmentation/data/AugmentationNames"; import { BitNodeMultipliers } from "./BitNode/BitNodeMultipliers"; +import { Bladeburner } from "./Bladeburner"; import { CodingContractRewardType } from "./CodingContracts"; import { Company } from "./Company/Company"; import { Companies } from "./Company/Companies"; @@ -688,9 +689,10 @@ PlayerObject.prototype.processWorkEarnings = function(numCycles=1) { } /* Working for Company */ -PlayerObject.prototype.startWork = function() { +PlayerObject.prototype.startWork = function(companyName) { this.resetWorkStatus(); this.isWorking = true; + this.companyName = companyName; this.workType = CONSTANTS.WorkTypeCompany; this.workHackExpGainRate = this.getWorkHackExpGain(); @@ -811,9 +813,10 @@ PlayerObject.prototype.finishWork = function(cancelled, sing=false) { this.resetWorkStatus(); } -PlayerObject.prototype.startWorkPartTime = function() { +PlayerObject.prototype.startWorkPartTime = function(companyName) { this.resetWorkStatus(); this.isWorking = true; + this.companyName = companyName; this.workType = CONSTANTS.WorkTypeCompanyPartTime; this.workHackExpGainRate = this.getWorkHackExpGain(); @@ -2309,6 +2312,18 @@ PlayerObject.prototype.startGang = function(factionName, hacking) { this.gang = new Gang(factionName, hacking); } +/*************** Corporation ****************/ +PlayerObject.prototype.hasCorporation = function() { + if (this.corporation == null) { return false; } + return (this.corporation instanceof Corporation); +} + +/*************** Bladeburner ****************/ +PlayerObject.prototype.inBladeburner = function() { + if (this.bladeburner == null) { return false; } + return (this.bladeburner instanceof Bladeburner); +} + /************* BitNodes **************/ PlayerObject.prototype.setBitNodeNumber = function(n) { this.bitNodeN = n; diff --git a/src/Prestige.js b/src/Prestige.js index 137f0c8c4..0c81225ab 100755 --- a/src/Prestige.js +++ b/src/Prestige.js @@ -311,6 +311,11 @@ function prestigeSourceFile() { Player.hasTixApiAccess = true; } + // Bit Node 10: Digital Carbon + if (Player.bitNodeN === 10) { + dialogBoxCreate("Visit VitaLife in New Tokyo if you'd like to purchase a new sleeve!"); + } + //Reset Stock market, gang, and corporation if (Player.hasWseAccount) { initStockMarket(); diff --git a/src/RedPill.js b/src/RedPill.js index 415048d06..0f03fd86f 100644 --- a/src/RedPill.js +++ b/src/RedPill.js @@ -213,7 +213,8 @@ function loadBitVerse(destroyedBitNodeNum, flume=false) { var elem = clearEventListeners(elemId); if (elem == null) {return;} if (i === 1 || i === 2 || i === 3 || i === 4 || i === 5 || - i === 6 || i === 7 || i === 8 || i === 11 || i === 12) { + i === 6 || i === 7 || i === 8 || i === 10 || i === 11 || + i === 12) { elem.addEventListener("click", function() { var bitNodeKey = "BitNode" + i; var bitNode = BitNodes[bitNodeKey]; diff --git a/src/SaveObject.js b/src/SaveObject.js index 267072cfa..d61cba964 100755 --- a/src/SaveObject.js +++ b/src/SaveObject.js @@ -153,8 +153,8 @@ function evaluateVersionCompatibility(ver) { } // This version allowed players to hold multiple jobs - if (ver <= "0.43.0") { - if (Player.companyName !== "" && Player.companyPosition !== "") { + if (ver < "0.43.0") { + if (Player.companyName !== "" && Player.companyPosition != null && Player.companyPosition !== "") { console.log("Copied player's companyName and companyPosition properties to the Player.jobs map for v0.43.0"); Player.jobs[Player.companyName] = Player.companyPosition; } diff --git a/src/engine.js b/src/engine.js index 0310897c4..268209a61 100644 --- a/src/engine.js +++ b/src/engine.js @@ -1,16 +1,3 @@ -import { dialogBoxCreate} from "../utils/DialogBox"; -import { gameOptionsBoxClose, - gameOptionsBoxOpen } from "../utils/GameOptions"; -import { getRandomInt } from "../utils/helpers/getRandomInt"; -import { removeChildrenFromElement } from "../utils/uiHelpers/removeChildrenFromElement"; -import { clearEventListeners } from "../utils/uiHelpers/clearEventListeners"; -import { createElement } from "../utils/uiHelpers/createElement"; -import { exceptionAlert } from "../utils/helpers/exceptionAlert"; -import { removeLoadingScreen } from "../utils/uiHelpers/removeLoadingScreen"; - -import {numeralWrapper} from "./ui/numeralFormat"; -import { createStatusText } from "./ui/createStatusText"; - import {formatNumber, convertTimeMsToTimeElapsedString, replaceAt} from "../utils/StringHelperFunctions"; @@ -68,7 +55,6 @@ import {loadAllRunningScripts, scriptEditorInit, updateScriptEditorContent} from "./Script"; import {AllServers, Server, initForeignServers} from "./Server"; import {Settings} from "./Settings"; -import {setSettingsLabels} from "./ui/setSettingsLabels"; import { initSourceFiles, SourceFiles } from "./SourceFile"; import { updateSourceFileFlags } from "./SourceFile/SourceFileFlags"; @@ -79,8 +65,30 @@ import {StockMarket, StockSymbols, processStockPrices, displayStockMarketContent} from "./StockMarket/StockMarket"; import {Terminal, postNetburnerText} from "./Terminal"; -import {KEY} from "../utils/helpers/keyCodes"; + +import { clearResleevesPage, + createResleevesPage } from "./PersonObjects/Resleeving/ResleevingUI"; + +import { createStatusText } from "./ui/createStatusText"; import {Page, routing} from "./ui/navigationTracking"; +import {numeralWrapper} from "./ui/numeralFormat"; +import {setSettingsLabels} from "./ui/setSettingsLabels"; +import { initializeMainMenuHeaders } from "./ui/MainMenu/Headers"; +import { initializeMainMenuLinks, + MainMenuLinks } from "./ui/MainMenu/Links"; + + +import { dialogBoxCreate} from "../utils/DialogBox"; +import { gameOptionsBoxClose, + gameOptionsBoxOpen } from "../utils/GameOptions"; +import { getRandomInt } from "../utils/helpers/getRandomInt"; +import { removeChildrenFromElement } from "../utils/uiHelpers/removeChildrenFromElement"; +import { clearEventListeners } from "../utils/uiHelpers/clearEventListeners"; +import { createElement } from "../utils/uiHelpers/createElement"; +import { exceptionAlert } from "../utils/helpers/exceptionAlert"; +import { removeLoadingScreen } from "../utils/uiHelpers/removeLoadingScreen"; +import {KEY} from "../utils/helpers/keyCodes"; + // These should really be imported with the module that is presenting that UI, but because they very much depend on the // cascade order, we'll pull them all in here. @@ -180,23 +188,6 @@ const Engine = { //Clickable objects Clickables: { //Main menu buttons - terminalMainMenuButton: null, - characterMainMenuButton: null, - scriptEditorMainMenuButton: null, - activeScriptsMainMenuButton: null, - hacknetNodesMainMenuButton: null, - worldMainMenuButton: null, - travelMainMenuButton: null, - jobMainMenuButton: null, - stockmarketMainMenuButton: null, - createProgramMainMenuButton: null, - factionsMainMenuButton: null, - augmentationsMainMenuButton: null, - tutorialMainMenuButton: null, - bladeburnerMenuButton: null, - corporationMenuButton: null, - gangMenuButton: null, - devMainMenuButton: null, saveMainMenuButton: null, deleteMainMenuButton: null, @@ -256,7 +247,7 @@ const Engine = { Engine.hideAllContent(); Engine.Display.terminalContent.style.display = "block"; routing.navigateTo(Page.Terminal); - document.getElementById("terminal-menu-link").classList.add("active"); + MainMenuLinks.Terminal.classList.add("active"); }, loadCharacterContent: function() { @@ -264,7 +255,7 @@ const Engine = { Engine.Display.characterContent.style.display = "block"; Engine.displayCharacterInfo(); routing.navigateTo(Page.CharacterInfo); - document.getElementById("stats-menu-link").classList.add("active"); + MainMenuLinks.Stats.classList.add("active"); }, loadScriptEditorContent: function(filename = "", code = "") { @@ -278,7 +269,7 @@ const Engine = { editor.focus(); updateScriptEditorContent(); routing.navigateTo(Page.ScriptEditor); - document.getElementById("create-script-menu-link").classList.add("active"); + MainMenuLinks.ScriptEditor.classList.add("active"); }, loadActiveScriptsContent: function() { @@ -286,7 +277,7 @@ const Engine = { Engine.Display.activeScriptsContent.style.display = "block"; updateActiveScriptsItems(); routing.navigateTo(Page.ActiveScripts); - document.getElementById("active-scripts-menu-link").classList.add("active"); + MainMenuLinks.ActiveScripts.classList.add("active"); }, loadHacknetNodesContent: function() { @@ -294,7 +285,7 @@ const Engine = { Engine.Display.hacknetNodesContent.style.display = "block"; displayHacknetNodesContent(); routing.navigateTo(Page.HacknetNodes); - document.getElementById("hacknet-nodes-menu-link").classList.add("active"); + MainMenuLinks.HacknetNodes.classList.add("active"); }, loadWorldContent: function() { @@ -302,7 +293,7 @@ const Engine = { Engine.Display.worldContent.style.display = "block"; Engine.displayWorldInfo(); routing.navigateTo(Page.World); - document.getElementById("city-menu-link").classList.add("active"); + MainMenuLinks.City.classList.add("active"); }, loadCreateProgramContent: function() { @@ -310,7 +301,7 @@ const Engine = { Engine.Display.createProgramContent.style.display = "block"; displayCreateProgramContent(); routing.navigateTo(Page.CreateProgram); - document.getElementById("create-program-menu-link").classList.add("active"); + MainMenuLinks.CreateProgram.classList.add("active"); }, loadFactionsContent: function() { @@ -318,7 +309,7 @@ const Engine = { Engine.Display.factionsContent.style.display = "block"; Engine.displayFactionsInfo(); routing.navigateTo(Page.Factions); - document.getElementById("factions-menu-link").classList.add("active"); + MainMenuLinks.Factions.classList.add("active"); }, loadFactionContent: function() { @@ -332,7 +323,7 @@ const Engine = { Engine.Display.augmentationsContent.style.display = "block"; displayAugmentationsContent(Engine.Display.augmentationsContent); routing.navigateTo(Page.Augmentations); - document.getElementById("augmentations-menu-link").classList.add("active"); + MainMenuLinks.Augmentations.classList.add("active"); }, loadTutorialContent: function() { @@ -340,14 +331,14 @@ const Engine = { Engine.Display.tutorialContent.style.display = "block"; Engine.displayTutorialContent(); routing.navigateTo(Page.Tutorial); - document.getElementById("tutorial-menu-link").classList.add("active"); + MainMenuLinks.Tutorial.classList.add("active"); }, loadDevMenuContent: function() { Engine.hideAllContent(); createDevMenu(); routing.navigateTo(Page.DevMenu); - document.getElementById("dev-menu-link").classList.add("active"); + MainMenuLinks.DevMenu.classList.add("active"); }, loadLocationContent: function() { @@ -479,7 +470,17 @@ const Engine = { }, loadSleevesContent: function() { + // This is for Duplicate Sleeves page, not Re-sleeving @ Vita Life + }, + loadResleevingContent: function() { + try { + Engine.hideAllContent(); + routing.navigateTo(Page.Resleeves); + createResleevesPage(Player); + } catch(e) { + exceptionAlert(e); + } }, //Helper function that hides all content @@ -527,23 +528,24 @@ const Engine = { Engine.volhavenLocationsList.style.display = "none"; //Make nav menu tabs inactive - document.getElementById("terminal-menu-link").classList.remove("active"); - document.getElementById("create-script-menu-link").classList.remove("active"); - document.getElementById("active-scripts-menu-link").classList.remove("active"); - document.getElementById("create-program-menu-link").classList.remove("active"); - document.getElementById("stats-menu-link").classList.remove("active"); - document.getElementById("factions-menu-link").classList.remove("active"); - document.getElementById("augmentations-menu-link").classList.remove("active"); - document.getElementById("hacknet-nodes-menu-link").classList.remove("active"); - document.getElementById("city-menu-link").classList.remove("active"); - document.getElementById("travel-menu-link").classList.remove("active"); - document.getElementById("stock-market-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"); - document.getElementById("bladeburner-menu-link").classList.remove("active"); - document.getElementById("corporation-menu-link").classList.remove("active"); - document.getElementById("gang-menu-link").classList.remove("active"); + MainMenuLinks.Terminal.classList.remove("active"); + MainMenuLinks.ScriptEditor.classList.remove("active"); + MainMenuLinks.ActiveScripts.classList.remove("active"); + MainMenuLinks.CreateProgram.classList.remove("active"); + MainMenuLinks.Stats.classList.remove("active"); + MainMenuLinks.Factions.classList.remove("active"); + MainMenuLinks.Augmentations.classList.remove("active"); + MainMenuLinks.HacknetNodes.classList.remove("active"); + MainMenuLinks.City.classList.remove("active"); + MainMenuLinks.Travel.classList.remove("active"); + MainMenuLinks.Job.classList.remove("active"); + MainMenuLinks.StockMarket.classList.remove("active"); + MainMenuLinks.Bladeburner.classList.remove("active"); + MainMenuLinks.Corporation.classList.remove("active"); + MainMenuLinks.Gang.classList.remove("active"); + MainMenuLinks.Tutorial.classList.remove("active"); + MainMenuLinks.Options.classList.remove("active"); + MainMenuLinks.DevMenu.classList.remove("active"); // Close dev menu closeDevMenu(); @@ -1514,6 +1516,14 @@ const Engine = { Engine.Clickables.tutorialBackButton.addEventListener("click", function() { Engine.displayTutorialContent(); }); + + // Initialize references to main menu links + if (!initializeMainMenuLinks()) { + const errorMsg = "Failed to initialize Main Menu Links. Please try refreshing the page. " + + "If that doesn't work, report the issue to the developer"; + exceptionAlert(new Error(errorMsg)); + return; + } }, /* Initialization */ @@ -1523,222 +1533,100 @@ const Engine = { saveObject.importGame(); }; - //Main menu accordions - var hackingHdr = document.getElementById("hacking-menu-header"); - var characterHdr = document.getElementById("character-menu-header"); - var worldHdr = document.getElementById("world-menu-header"); - var helpHdr = document.getElementById("help-menu-header"); - - hackingHdr.onclick = function() { - var terminal = document.getElementById("terminal-tab"); - var terminalLink = document.getElementById("terminal-menu-link"); - var createScript = document.getElementById("create-script-tab"); - var createScriptLink = document.getElementById("create-script-menu-link"); - var activeScripts = document.getElementById("active-scripts-tab"); - var activeScriptsLink = document.getElementById("active-scripts-menu-link"); - var createProgram = document.getElementById("create-program-tab"); - var createProgramLink = document.getElementById("create-program-menu-link"); - var createProgramNot = document.getElementById("create-program-notification"); - this.classList.toggle("opened"); - if (terminal.style.maxHeight) { - Engine.toggleMainMenuHeader(false, - [terminal, createScript, activeScripts, createProgram], - [terminalLink, createScriptLink, activeScriptsLink, createProgramLink] - ); - - createProgramNot.style.display = "none"; - } else { - Engine.toggleMainMenuHeader(true, - [terminal, createScript, activeScripts, createProgram], - [terminalLink, createScriptLink, activeScriptsLink, createProgramLink] - ); - - createProgramNot.style.display = "block" - } + // Initialize Main Menu Headers (this must be done after initializing the links) + if (!initializeMainMenuHeaders(Player, process.env.NODE_ENV === "development")) { + const errorMsg = "Failed to initialize Main Menu Headers. Please try refreshing the page. " + + "If that doesn't work, report the issue to the developer"; + exceptionAlert(new Error(errorMsg)); + return; } - characterHdr.onclick = function() { - var stats = document.getElementById("stats-tab"); - var statsLink = document.getElementById("stats-menu-link"); - var factions = document.getElementById("factions-tab"); - var factionsLink = document.getElementById("factions-menu-link"); - var augmentations = document.getElementById("augmentations-tab"); - var augmentationsLink = document.getElementById("augmentations-menu-link"); - var hacknetnodes = document.getElementById("hacknet-nodes-tab"); - var hacknetnodesLink = document.getElementById("hacknet-nodes-menu-link"); - this.classList.toggle("opened"); - if (stats.style.maxHeight) { - Engine.toggleMainMenuHeader(false, - [stats, factions, augmentations, hacknetnodes], - [statsLink, factionsLink, augmentationsLink, hacknetnodesLink] - ); - } else { - Engine.toggleMainMenuHeader(true, - [stats, factions, augmentations, hacknetnodes], - [statsLink, factionsLink, augmentationsLink, hacknetnodesLink] - ); - } - } - - worldHdr.onclick = function() { - var city = document.getElementById("city-tab"); - var cityLink = document.getElementById("city-menu-link"); - var travel = document.getElementById("travel-tab"); - var travelLink = document.getElementById("travel-menu-link"); - var job = document.getElementById("job-tab"); - var jobLink = document.getElementById("job-menu-link"); - var stockmarket = document.getElementById("stock-market-tab"); - var stockmarketLink = document.getElementById("stock-market-menu-link"); - var bladeburner = document.getElementById("bladeburner-tab"); - var bladeburnerLink = document.getElementById("bladeburner-menu-link"); - var corporation = document.getElementById("corporation-tab"); - var corporationLink = document.getElementById("corporation-menu-link"); - var gang = document.getElementById("gang-tab"); - var gangLink = document.getElementById("gang-menu-link"); - - // Determine whether certain links should show up - job.style.display = Player.companyName !== "" ? "list-item" : "none"; - stockmarket.style.display = Player.hasWseAccount ? "list-item" : "none"; - bladeburner.style.display = Player.bladeburner instanceof Bladeburner ? "list-item" : "none"; - corporation.style.display = Player.corporation instanceof Corporation ? "list-item" : "none"; - gang.style.display = Player.inGang() ? "list-item" : "none"; - - this.classList.toggle("opened"); - if (city.style.maxHeight) { - Engine.toggleMainMenuHeader(false, - [city, travel, job, stockmarket, bladeburner, corporation, gang], - [cityLink, travelLink, jobLink, stockmarketLink, bladeburnerLink, corporationLink, gangLink] - ); - } else { - Engine.toggleMainMenuHeader(true, - [city, travel, job, stockmarket, bladeburner, corporation, gang], - [cityLink, travelLink, jobLink, stockmarketLink, bladeburnerLink, corporationLink, gangLink] - ); - } - } - - helpHdr.onclick = function() { - var tutorial = document.getElementById("tutorial-tab"); - var tutorialLink = document.getElementById("tutorial-menu-link"); - 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, elems, links); - } else { - Engine.toggleMainMenuHeader(true, elems, links); - } - } - - //Main menu buttons and content - Engine.Clickables.terminalMainMenuButton = clearEventListeners("terminal-menu-link"); - Engine.Clickables.terminalMainMenuButton.addEventListener("click", function() { + MainMenuLinks.Terminal.addEventListener("click", function() { Engine.loadTerminalContent(); return false; }); - Engine.Clickables.characterMainMenuButton = clearEventListeners("stats-menu-link"); - Engine.Clickables.characterMainMenuButton.addEventListener("click", function() { - Engine.loadCharacterContent(); - return false; - }); - - Engine.Clickables.scriptEditorMainMenuButton = clearEventListeners("create-script-menu-link"); - Engine.Clickables.scriptEditorMainMenuButton.addEventListener("click", function() { + MainMenuLinks.ScriptEditor.addEventListener("click", function() { Engine.loadScriptEditorContent(); return false; }); - Engine.Clickables.activeScriptsMainMenuButton = clearEventListeners("active-scripts-menu-link"); - Engine.Clickables.activeScriptsMainMenuButton.addEventListener("click", function() { + MainMenuLinks.ActiveScripts.addEventListener("click", function() { Engine.loadActiveScriptsContent(); return false; }); - Engine.Clickables.hacknetNodesMainMenuButton = clearEventListeners("hacknet-nodes-menu-link"); - Engine.Clickables.hacknetNodesMainMenuButton.addEventListener("click", function() { - Engine.loadHacknetNodesContent(); - return false; - }); - - Engine.Clickables.worldMainMenuButton = clearEventListeners("city-menu-link"); - Engine.Clickables.worldMainMenuButton.addEventListener("click", function() { - Engine.loadWorldContent(); - return false; - }); - - Engine.Clickables.travelMainMenuButton = clearEventListeners("travel-menu-link"); - Engine.Clickables.travelMainMenuButton.addEventListener("click", function() { - Engine.loadTravelContent(); - Engine.Clickables.travelMainMenuButton.classList.add("active"); - return false; - }); - - Engine.Clickables.jobMainMenuButton = clearEventListeners("job-menu-link"); - Engine.Clickables.jobMainMenuButton.addEventListener("click", function() { - Engine.loadJobContent(); - return false; - }); - - Engine.Clickables.stockmarketMainMenuButton = clearEventListeners("stock-market-menu-link"); - Engine.Clickables.stockmarketMainMenuButton.addEventListener("click", function() { - Engine.loadStockMarketContent(); - Engine.Clickables.stockmarketMainMenuButton.classList.add("active"); - return false; - }); - - - Engine.Clickables.createProgramMainMenuButton = clearEventListeners("create-program-menu-link"); - Engine.Clickables.createProgramMainMenuButton.addEventListener("click", function() { + MainMenuLinks.CreateProgram.addEventListener("click", function() { Engine.loadCreateProgramContent(); return false; }); - Engine.Clickables.factionsMainMenuButton = clearEventListeners("factions-menu-link"); - Engine.Clickables.factionsMainMenuButton.addEventListener("click", function() { + MainMenuLinks.Stats.addEventListener("click", function() { + Engine.loadCharacterContent(); + return false; + }); + + MainMenuLinks.Factions.addEventListener("click", function() { Engine.loadFactionsContent(); return false; }); - Engine.Clickables.augmentationsMainMenuButton = clearEventListeners("augmentations-menu-link"); - Engine.Clickables.augmentationsMainMenuButton.addEventListener("click", function() { + MainMenuLinks.Augmentations.addEventListener("click", function() { Engine.loadAugmentationsContent(); return false; }); - Engine.Clickables.tutorialMainMenuButton = clearEventListeners("tutorial-menu-link"); - Engine.Clickables.tutorialMainMenuButton.addEventListener("click", function() { - Engine.loadTutorialContent(); + MainMenuLinks.HacknetNodes.addEventListener("click", function() { + Engine.loadHacknetNodesContent(); return false; }); - Engine.Clickables.bladeburnerMenuButton = clearEventListeners("bladeburner-menu-link"); - Engine.Clickables.bladeburnerMenuButton.addEventListener("click", function() { + MainMenuLinks.City.addEventListener("click", function() { + Engine.loadWorldContent(); + return false; + }); + + MainMenuLinks.Travel.addEventListener("click", function() { + Engine.loadTravelContent(); + MainMenuLinks.Travel.classList.add("active"); + return false; + }); + + MainMenuLinks.Job.addEventListener("click", function() { + Engine.loadJobContent(); + MainMenuLinks.Job.classList.add("active"); + return false; + }); + + MainMenuLinks.StockMarket.addEventListener("click", function() { + Engine.loadStockMarketContent(); + MainMenuLinks.StockMarket.classList.add("active"); + return false; + }); + + MainMenuLinks.Bladeburner.addEventListener("click", function() { Engine.loadBladeburnerContent(); return false; }); - Engine.Clickables.corporationMenuButton = clearEventListeners("corporation-menu-link"); - Engine.Clickables.corporationMenuButton.addEventListener("click", function() { + + MainMenuLinks.Corporation.addEventListener("click", function() { Engine.loadCorporationContent(); - Engine.Clickables.corporationMenuButton.classList.add("active"); + MainMenuLinks.Corporation.classList.add("active"); return false; }); - Engine.Clickables.gangMenuButton = clearEventListeners("gang-menu-link"); - Engine.Clickables.gangMenuButton.addEventListener("click", function() { + + MainMenuLinks.Gang.addEventListener("click", function() { Engine.loadGangContent(); return false; }); + MainMenuLinks.Tutorial.addEventListener("click", function() { + Engine.loadTutorialContent(); + return false; + }); - Engine.Clickables.devMainMenuButton = clearEventListeners("dev-menu-link"); - Engine.Clickables.devMainMenuButton.addEventListener("click", function() { - if( process.env.NODE_ENV === "development") { + MainMenuLinks.DevMenu.addEventListener("click", function() { + if (process.env.NODE_ENV === "development") { Engine.loadDevMenuContent(); } return false; diff --git a/src/index.html b/src/index.html index 76bc7e9be..aa36c5df4 100644 --- a/src/index.html +++ b/src/index.html @@ -598,8 +598,11 @@ if (htmlWebpackPlugin.options.googleAnalytics.trackingId) { %> Create a Corporation - + Bladeburner Division + + + Re-Sleeve
diff --git a/src/ui/MainMenu/Headers.ts b/src/ui/MainMenu/Headers.ts new file mode 100644 index 000000000..d77fdd097 --- /dev/null +++ b/src/ui/MainMenu/Headers.ts @@ -0,0 +1,152 @@ +// Implement the collapsible main menu headers +import { MainMenuLinks } from "./Links"; +import { IPlayer } from "../../PersonObjects/IPlayer"; + +interface IMainMenuHeaders { + Hacking: HTMLElement | null; + Character: HTMLElement | null; + World: HTMLElement | null; + Help: HTMLElement | null; +} + +export const MainMenuHeaders: IMainMenuHeaders = { + Hacking: null, + Character: null, + World: null, + Help: null, +} + +// Implements collapsible toggle feature when a header is clicked +function toggleHeader(open: boolean, elems: HTMLElement[], links: HTMLElement[]) { + for (var i = 0; i < elems.length; ++i) { + if (open) { + elems[i].style.opacity = "1"; + elems[i].style.maxHeight = elems[i].scrollHeight + "px"; + } else { + elems[i].style.opacity = "0"; + elems[i].style.maxHeight = null; + } + } + + for (var i = 0; i < links.length; ++i) { + if (open) { + links[i].style.opacity = "1"; + links[i].style.maxHeight = links[i].scrollHeight + "px"; + links[i].style.pointerEvents = "auto"; + } else { + links[i].style.opacity = "0"; + links[i].style.maxHeight = null; + links[i].style.pointerEvents = "none"; + } + } +} + +export function initializeMainMenuHeaders(p: IPlayer, dev: boolean=false): boolean { + function safeGetElement(id: string): HTMLElement { + const elem: HTMLElement | null = document.getElementById(id); + if (elem == null) { + throw new Error(`Failed to find element with id ${id} in initializeMainMenuHeaders()`); + } + + return elem!; + } + + try { + // Get references to the DOM elements + MainMenuHeaders.Hacking = safeGetElement("hacking-menu-header"); + MainMenuHeaders.Character = safeGetElement("character-menu-header"); + MainMenuHeaders.World = safeGetElement("world-menu-header"); + MainMenuHeaders.Help = safeGetElement("help-menu-header"); + + // Set click handlers to turn the headers into collapsibles + MainMenuHeaders.Hacking.onclick = function() { + const terminal: HTMLElement = safeGetElement("terminal-tab"); + const createScript: HTMLElement = safeGetElement("create-script-tab"); + const activeScripts: HTMLElement = safeGetElement("active-scripts-tab"); + const createProgram: HTMLElement = safeGetElement("create-program-tab"); + const createProgramNot: HTMLElement = safeGetElement("create-program-notification"); + + this.classList.toggle("opened"); + + const elems: HTMLElement[] = [terminal, createScript, activeScripts, createProgram]; + const links: HTMLElement[] = [MainMenuLinks.Terminal!, MainMenuLinks.ScriptEditor!, MainMenuLinks.ActiveScripts!, MainMenuLinks.CreateProgram!]; + if (terminal.style.maxHeight) { + toggleHeader(false, elems, links); + createProgramNot!.style.display = "none"; + } else { + toggleHeader(true, elems, links); + createProgramNot!.style.display = "block" + } + } + + MainMenuHeaders.Character.onclick = function() { + const stats: HTMLElement = safeGetElement("stats-tab"); + const factions: HTMLElement = safeGetElement("factions-tab"); + const augmentations: HTMLElement = safeGetElement("augmentations-tab"); + const hacknetnodes: HTMLElement = safeGetElement("hacknet-nodes-tab"); + + this.classList.toggle("opened"); + + const elems: HTMLElement[] = [stats, factions, augmentations, hacknetnodes]; + const links: HTMLElement[] = [MainMenuLinks.Stats!, MainMenuLinks.Factions!, MainMenuLinks.Augmentations!, MainMenuLinks.HacknetNodes!]; + if (stats.style.maxHeight) { + toggleHeader(false, elems, links); + } else { + toggleHeader(true, elems, links); + } + } + + MainMenuHeaders.World.onclick = function() { + const city: HTMLElement = safeGetElement("city-tab"); + const travel: HTMLElement = safeGetElement("travel-tab"); + const job: HTMLElement = safeGetElement("job-tab"); + const stockmarket: HTMLElement = safeGetElement("stock-market-tab"); + const bladeburner: HTMLElement = safeGetElement("bladeburner-tab"); + const corporation: HTMLElement = safeGetElement("corporation-tab"); + const gang: HTMLElement = safeGetElement("gang-tab"); + + // Determine whether certain links should show up + job.style.display = p.companyName !== "" ? "list-item" : "none"; + stockmarket.style.display = p.hasWseAccount ? "list-item" : "none"; + bladeburner.style.display = p.inBladeburner() ? "list-item" : "none"; + corporation.style.display = p.hasCorporation() ? "list-item" : "none"; + gang.style.display = p.inGang() ? "list-item" : "none"; + + this.classList.toggle("opened"); + + const elems: HTMLElement[] = [city, travel, job, stockmarket, bladeburner, corporation, gang]; + const links: HTMLElement[] = [MainMenuLinks.City!, MainMenuLinks.Travel!, MainMenuLinks.Job!, MainMenuLinks.StockMarket!, MainMenuLinks.Bladeburner!, MainMenuLinks.Corporation!, MainMenuLinks.Gang!]; + if (city.style.maxHeight) { + toggleHeader(false, elems, links); + } else { + toggleHeader(true, elems, links); + } + } + + MainMenuHeaders.Help.onclick = function() { + const tutorial: HTMLElement = safeGetElement("tutorial-tab"); + const options: HTMLElement = safeGetElement("options-tab"); + + this.classList.toggle("opened"); + + const elems: HTMLElement[] = [tutorial, options]; + const links: HTMLElement[] = [MainMenuLinks.Tutorial!, MainMenuLinks.Options!]; + + if (dev) { + elems.push(safeGetElement("dev-tab")); + links.push(safeGetElement("dev-menu-link")); + } + + if (tutorial.style.maxHeight) { + toggleHeader(false, elems, links); + } else { + toggleHeader(true, elems, links); + } + } + + return true; + } catch(e) { + console.error(`Failed to initialize Main Menu Headers: ${e}`); + return false; + } +} diff --git a/src/ui/MainMenu/Links.ts b/src/ui/MainMenu/Links.ts new file mode 100644 index 000000000..fa950adb5 --- /dev/null +++ b/src/ui/MainMenu/Links.ts @@ -0,0 +1,82 @@ +// Get references to the Main Menu link DOM elements +// Does NOT include collapsible headers for the links +import { clearEventListeners } from "../../../utils/uiHelpers/clearEventListeners"; + +interface IMainMenuLinks { + Terminal: HTMLElement | null; + ScriptEditor: HTMLElement | null; + ActiveScripts: HTMLElement | null; + CreateProgram: HTMLElement | null; + Stats: HTMLElement | null; + Factions: HTMLElement | null; + Augmentations: HTMLElement | null; + HacknetNodes: HTMLElement | null; + City: HTMLElement | null; + Travel: HTMLElement | null; + Job: HTMLElement | null; + StockMarket: HTMLElement | null; + Bladeburner: HTMLElement | null; + Corporation: HTMLElement | null; + Gang: HTMLElement | null; + Tutorial: HTMLElement | null; + Options: HTMLElement | null; + DevMenu: HTMLElement | null; +} + +export const MainMenuLinks: IMainMenuLinks = { + Terminal: null, + ScriptEditor: null, + ActiveScripts: null, + CreateProgram: null, + Stats: null, + Factions: null, + Augmentations: null, + HacknetNodes: null, + City: null, + Travel: null, + Job: null, + StockMarket: null, + Bladeburner: null, + Corporation: null, + Gang: null, + Tutorial: null, + Options: null, + DevMenu: null, +} + +export function initializeMainMenuLinks(): boolean { + try { + function safeGetLink(id: string): HTMLElement { + const elem: HTMLElement | null = clearEventListeners(id); + if (elem == null) { + throw new Error(`clearEventListeners() failed for element with id: ${id}`); + } + + return elem!; + } + + MainMenuLinks.Terminal = safeGetLink("terminal-menu-link"); + MainMenuLinks.ScriptEditor = safeGetLink("create-script-menu-link"); + MainMenuLinks.ActiveScripts = safeGetLink("active-scripts-menu-link"); + MainMenuLinks.CreateProgram = safeGetLink("create-program-menu-link"); + MainMenuLinks.Stats = safeGetLink("stats-menu-link"); + MainMenuLinks.Factions = safeGetLink("factions-menu-link"); + MainMenuLinks.Augmentations = safeGetLink("augmentations-menu-link"); + MainMenuLinks.HacknetNodes = safeGetLink("hacknet-nodes-menu-link"); + MainMenuLinks.City = safeGetLink("city-menu-link"); + MainMenuLinks.Travel = safeGetLink("travel-menu-link"); + MainMenuLinks.Job = safeGetLink("job-menu-link"); + MainMenuLinks.StockMarket = safeGetLink("stock-market-menu-link"); + MainMenuLinks.Bladeburner = safeGetLink("bladeburner-menu-link"); + MainMenuLinks.Corporation = safeGetLink("corporation-menu-link"); + MainMenuLinks.Gang = safeGetLink("gang-menu-link"); + MainMenuLinks.Tutorial = safeGetLink("tutorial-menu-link"); + MainMenuLinks.Options = document.getElementById("options-menu-link"); // This click listener is already set, so don't clear it + MainMenuLinks.DevMenu = safeGetLink("dev-menu-link"); + + return true; + } catch(e) { + console.error(`Failed to initialize Main Menu Links: ${e}`); + return false; + } +} diff --git a/utils/JSONReviver.js b/utils/JSONReviver.js index f306c4809..d7f16c18e 100644 --- a/utils/JSONReviver.js +++ b/utils/JSONReviver.js @@ -11,6 +11,7 @@ function Reviver(key, value) { console.log("Reviver WRONGLY called with key: " + key + ", and value: " + value); return 0; } + if (typeof value === "object" && typeof value.ctor === "string" && typeof value.data !== "undefined") {