{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/Player.ts","webpack:///./src/Faction/data/FactionNames.ts","webpack:///./src/ui/numeralFormat.ts","webpack:///./src/Settings/Settings.ts","webpack:///./src/Constants.ts","webpack:///./src/Locations/data/LocationNames.ts","webpack:///./src/Augmentation/data/AugmentationNames.ts","webpack:///./src/ui/React/DialogBox.tsx","webpack:///./src/Locations/data/CityNames.ts","webpack:///./src/ui/React/Money.tsx","webpack:///./src/BitNode/BitNodeMultipliers.ts","webpack:///./src/utils/StringHelperFunctions.ts","webpack:///./src/Server/AllServers.ts","webpack:///./src/ui/Router.ts","webpack:///./src/Faction/Factions.ts","webpack:///./src/utils/helpers/keyCodes.ts","webpack:///./src/utils/JSONReviver.ts","webpack:///./src/ui/Context.ts","webpack:///./src/Company/data/companypositionnames.ts","webpack:///./src/utils/helpers/getRandomInt.ts","webpack:///./src/Netscript/RamCostGenerator.ts","webpack:///./src/Augmentation/Augmentation.tsx","webpack:///./src/Corporation/data/Constants.ts","webpack:///./src/ui/React/Modal.tsx","webpack:///./src/Hacknet/data/Constants.ts","webpack:///./src/Bladeburner/data/ActionTypes.ts","webpack:///./src/BitNode/BitNode.tsx","webpack:///./src/InteractiveTutorial.ts","webpack:///./src/Server/Server.ts","webpack:///./src/Corporation/EmployeePositions.ts","webpack:///./src/PersonObjects/Player/PlayerObjectGeneralMethods.tsx","webpack:///./src/Corporation/ui/Context.ts","webpack:///./src/Corporation/IndustryData.tsx","webpack:///./src/Locations/LocationTypeEnum.ts","webpack:///./src/Hacknet/HacknetHelpers.tsx","webpack:///./src/Bladeburner/data/BlackOperationNames.ts","webpack:///./src/ui/React/Table.tsx","webpack:///./src/Bladeburner/data/Constants.ts","webpack:///./src/Corporation/Actions.ts","webpack:///./src/Literature/data/LiteratureNames.ts","webpack:///./src/Programs/Programs.ts","webpack:///./src/Company/Companies.ts","webpack:///./src/Augmentation/Augmentations.ts","webpack:///./src/CotMG/FragmentType.ts","webpack:///./src/StockMarket/data/PositionTypes.ts","webpack:///./src/PersonObjects/Sleeve/SleeveTaskTypesEnum.ts","webpack:///./src/Terminal/DirectoryHelpers.ts","webpack:///./src/Crime/Crimes.ts","webpack:///./src/Casino/utils.ts","webpack:///./src/Terminal.ts","webpack:///./src/Gang/AllGangs.ts","webpack:///./src/ui/GameRoot.tsx","webpack:///./src/Hacknet/HacknetServer.ts","webpack:///./src/Company/CompanyPositions.ts","webpack:///./src/ui/React/StatsRow.tsx","webpack:///./src/Server/data/SpecialServers.ts","webpack:///./src/ui/React/Snackbar.tsx","webpack:///./src/StockMarket/data/StockSymbols.ts","webpack:///./src/Script/isScriptFilename.ts","webpack:///./src/CotMG/Helper.tsx","webpack:///./src/Hacking.ts","webpack:///./src/Faction/FactionHelpers.tsx","webpack:///./src/StockMarket/StockMarket.tsx","webpack:///./src/Exploits/Exploit.ts","webpack:///./src/NetscriptEvaluator.ts","webpack:///./src/Augmentation/AugmentationHelpers.tsx","webpack:///./src/SaveObject.tsx","webpack:///./src/ui/React/MoneyRate.tsx","webpack:///./src/CodingContracts.ts","webpack:///./src/StockMarket/data/OrderTypes.ts","webpack:///./src/CotMG/Fragment.ts","webpack:///./src/ui/React/Reputation.tsx","webpack:///./src/ScriptEditor/ui/themes.ts","webpack:///./src/utils/EventEmitter.ts","webpack:///./src/DevMenu/ui/Adjuster.tsx","webpack:///./src/Server/ServerHelpers.ts","webpack:///./src/Infiltration/utils.ts","webpack:///./src/Corporation/data/BaseResearchTree.ts","webpack:///./src/Bladeburner/data/SkillNames.ts","webpack:///./src/Bladeburner/BlackOperation.ts","webpack:///./src/Gang/ui/Context.ts","webpack:///./src/Netscript/killWorkerScript.ts","webpack:///./src/Corporation/ui/MoneyCost.tsx","webpack:///./src/utils/helpers/isString.ts","webpack:///./src/StockMarket/Stock.ts","webpack:///./src/Locations/Cities.ts","webpack:///./src/Alias.ts","webpack:///./src/Literature/Literature.ts","webpack:///./src/Themes/ui/Theme.tsx","webpack:///./src/ui/React/OptionSwitch.tsx","webpack:///./src/ui/React/CopyableText.tsx","webpack:///./src/Corporation/MaterialSizes.ts","webpack:///./src/Netscript/ScriptDeath.ts","webpack:///./src/PersonObjects/formulas/skill.ts","webpack:///./src/Gang/data/upgrades.ts","webpack:///./src/Faction/Faction.ts","webpack:///./src/ui/React/LogBoxManager.tsx","webpack:///./src/Locations/Locations.ts","webpack:///./src/Gang/data/Constants.ts","webpack:///./src/Hacknet/formulas/HacknetServers.ts","webpack:///./src/Faction/FactionWorkTypeEnum.ts","webpack:///./src/utils/helpers/createProgressBarText.ts","webpack:///./src/NetscriptWorker.ts","webpack:///./src/Netscript/WorkerScripts.ts","webpack:///./src/ui/React/StatsTable.tsx","webpack:///./src/Corporation/Material.ts","webpack:///./src/Gang/formulas/formulas.ts","webpack:///./src/Infiltration/ui/GameTimer.tsx","webpack:///./src/Bladeburner/Bladeburner.tsx","webpack:///./src/Settings/SettingEnums.ts","webpack:///./src/Hacknet/formulas/HacknetNodes.ts","webpack:///./src/Casino/Game.tsx","webpack:///./src/CotMG/data/Shapes.ts","webpack:///./src/Infiltration/ui/KeyHandler.tsx","webpack:///./src/Infiltration/ui/Difficulty.ts","webpack:///./src/Hacknet/HacknetNode.ts","webpack:///./src/Server/ServerPurchases.ts","webpack:///./src/TextFile.ts","webpack:///./src/Bladeburner/Skills.ts","webpack:///./src/StockMarket/StockMarketHelpers.ts","webpack:///./src/Gang/GangMemberUpgrades.ts","webpack:///./src/StockMarket/StockMarketCosts.ts","webpack:///./src/Script/ScriptHelpers.ts","webpack:///./src/ui/React/Hashes.tsx","webpack:///./src/Company/Company.ts","webpack:///./src/Hacknet/HashUpgrades.ts","webpack:///./src/Gang/GangMemberTasks.ts","webpack:///./src/Corporation/Warehouse.ts","webpack:///./src/PersonObjects/formulas/reputation.ts","webpack:///./src/StockMarket/BuyingAndSelling.tsx","webpack:///./src/Terminal/ITerminal.tsx","webpack:///./src/Bladeburner/Skill.ts","webpack:///./src/ui/React/ConfirmationModal.tsx","webpack:///./src/hash/hash.ts","webpack:///./src/Script/Script.ts","webpack:///./src/utils/helpers/arrayToString.ts","webpack:///./src/DarkWeb/DarkWebItems.ts","webpack:///./src/Bladeburner/GeneralActions.tsx","webpack:///./src/Casino/CardDeck/Card.ts","webpack:///./src/Bladeburner/ActionIdentifier.ts","webpack:///./src/SourceFile/SourceFile.ts","webpack:///./src/PersonObjects/Person.ts","webpack:///./src/MathJaxWrapper.tsx","webpack:///./src/utils/helpers/exceptionAlert.ts","webpack:///./src/Corporation/data/CorporationUnlockUpgrades.ts","webpack:///./src/PersonObjects/Grafting/GraftingHelpers.ts","webpack:///./src/Bladeburner/BlackOperations.tsx","webpack:///./src/CotMG/ActiveFragment.ts","webpack:///./src/Crime/Crime.ts","webpack:///./src/PersonObjects/formulas/intelligence.ts","webpack:///./src/Corporation/ResearchMap.ts","webpack:///./src/GameOptions/GameOptionsTab.ts","webpack:///./src/Message/Message.ts","webpack:///./src/Locations/ui/ApplyToJobButton.tsx","webpack:///./src/Netscript/WorkerScriptStartStopEventEmitter.ts","webpack:///./src/Electron.tsx","webpack:///./src/Achievements/Achievements.ts","webpack:///./src/ui/React/CharacterOverview.tsx","webpack:///./src/utils/helpers/addOffset.ts","webpack:///./src/DarkWeb/DarkWebItem.ts","webpack:///./src/Casino/RNG.ts","webpack:///./src/utils/helpers/compareArrays.ts","webpack:///./src/Corporation/IndustryUpgrades.ts","webpack:///./src/ui/React/Favor.tsx","webpack:///./src/PersonObjects/Sleeve/Sleeve.ts","webpack:///./src/Script/RamCalculationErrorCodes.ts","webpack:///./src/Terminal/TerminalEvents.ts","webpack:///./src/StockMarket/OrderProcessing.tsx","webpack:///./src/Themes/Themes.ts","webpack:///./src/ui/React/AlertManager.tsx","webpack:///./src/utils/IPAddress.ts","webpack:///./src/db.tsx","webpack:///./src/Message/MessageHelpers.ts","webpack:///./src/Faction/formulas/favor.ts","webpack:///./src/ExportBonus.tsx","webpack:///./src/Faction/ui/Option.tsx","webpack:///./src/Bladeburner/Operation.ts","webpack:///./src/Server/data/servers.ts","webpack:///./src/Augmentation/PlayerOwnedAugmentation.ts","webpack:///./src/Company/CompanyPosition.ts","webpack:///./src/Script/RunningScript.ts","webpack:///./src/utils/helpers/checkEnum.ts","webpack:///./src/SourceFile/SourceFiles.tsx","webpack:///./src/Bladeburner/ui/StartButton.tsx","webpack:///./src/utils/helpers/formatTime.ts","webpack:///./src/Faction/FactionInfo.tsx","webpack:///./src/Hacknet/HashManager.ts","webpack:///./src/CodingContractGenerator.ts","webpack:///./src/ui/InteractiveTutorial/ITutorialEvents.ts","webpack:///./src/Crime/CrimeHelpers.ts","webpack:///./src/Corporation/OfficeSpace.ts","webpack:///./src/Corporation/data/CorporationUpgrades.ts","webpack:///./src/utils/Validator.ts","webpack:///./src/Infiltration/formulas/victory.ts","webpack:///./src/utils/MoneySourceTracker.ts","webpack:///./src/utils/CompressionContracts.ts","webpack:///./src/ui/React/StatsProgressBar.tsx","webpack:///./src/Augmentation/data/AugmentationCreator.tsx","webpack:///./src/PersonObjects/Player/PlayerObjectGangMethods.ts","webpack:///./src/Themes/Styles.ts","webpack:///./src/Hospital/Hospital.ts","webpack:///./src/ui/React/PromptManager.tsx","webpack:///./src/Corporation/Product.ts","webpack:///./src/Corporation/ui/Helpers.tsx","webpack:///./src/Programs/ui/ProgramsRoot.tsx","webpack:///./src/Faction/ui/FactionsRoot.tsx","webpack:///./src/RedPill.tsx","webpack:///./src/ui/React/RecoveryRoot.tsx","webpack:///./src/NetworkShare/Share.tsx","webpack:///./src/Netscript/WorkerScript.ts","webpack:///./src/ui/React/HashRate.tsx","webpack:///./src/Corporation/Corporation.tsx","webpack:///./src/Bladeburner/City.ts","webpack:///./src/Locations/City.ts","webpack:///./src/GameOptions/ui/OptionsSlider.tsx","webpack:///./src/StockMarket/ui/StockTickersConfig.tsx","webpack:///./src/PersonObjects/Player/PlayerObjectServerMethods.ts","webpack:///./src/Bladeburner/Action.tsx","webpack:///./src/Prestige.ts","webpack:///./src/Netscript/RecentScripts.ts","webpack:///./src/ui/Apr1.tsx","webpack:///./src/ui/React/WorldMap.tsx","webpack:///./src/Bladeburner/ui/SuccessChance.tsx","webpack:///./src/ui/React/StaticModal.tsx","webpack:///./src/ui/React/CorruptableText.tsx","webpack:///./src/Literature/LiteratureHelpers.ts","webpack:///./src/DarkWeb/DarkWeb.tsx","webpack:///./src/Hacking/netscriptCanHack.ts","webpack:///./src/Infiltration/formulas/game.ts","webpack:///./src/PersonObjects/Grafting/GraftableAugmentation.ts","webpack:///./src/ui/React/ReputationRate.tsx","webpack:///./src/Terminal/Parser.ts","webpack:///./src/ui/React/CinematicText.tsx","webpack:///./src/PersonObjects/Sleeve/SleeveCovenantPurchases.tsx","webpack:///./src/Script/RamCalculations.ts","webpack:///./src/utils/helpers/roundToTwo.ts","webpack:///./src/Netscript/Pid.ts","webpack:///./src/NetscriptFunctions.ts","webpack:///./src/StockMarket/PlayerInfluencing.ts","webpack:///./src/Gang/Gang.ts","webpack:///./src/Faction/formulas/donation.ts","webpack:///./src/Company/GetJobRequirementText.ts","webpack:///./src/Terminal/HelpText.ts","webpack:///./src/utils/ErrorHelper.ts","webpack:///./src/utils/helpers/getRandomByte.ts","webpack:///./src/Bladeburner/data/Growths.ts","webpack:///./src/Locations/createCityMap.ts","webpack:///./src/GameOptions/ui/GameOptionsPage.tsx","webpack:///./src/Casino/CardDeck/Hand.ts","webpack:///./src/StockMarket/ui/StockTickerTxButton.tsx","webpack:///./src/CotMG/ui/DummyGrid.tsx","webpack:///./src/Server/BaseServer.ts","webpack:///./src/ui/React/CodingContractModal.tsx","webpack:///./src/BitNode/ui/BitFlumeModal.tsx","webpack:///./src/PersonObjects/Player/PlayerObject.ts","webpack:///./src/Faction/ui/InvitationModal.tsx","webpack:///./src/ThirdParty/JSInterpreter.js","webpack:///./src/Server/formulas/grow.ts","webpack:///./src/Gang/GangMemberTask.ts","webpack:///./src/PersonObjects/Sleeve/SleeveHelpers.ts","webpack:///./src/CotMG/StaneksGiftEvents.ts","webpack:///./src/Locations/data/LocationsMetadata.ts","webpack:///./src/Terminal/commands/download.ts","webpack:///./src/SourceFile/PlayerOwnedSourceFile.ts","webpack:///./src/Bladeburner/data/Icons.tsx","webpack:///./src/Bladeburner/ui/ActionLevel.tsx","webpack:///./src/Bladeburner/ui/Autolevel.tsx","webpack:///./src/Bladeburner/ui/TeamSizeButton.tsx","webpack:///./src/Infiltration/ui/BlinkingCursor.tsx","webpack:///./src/Themes/ui/StyleEditorButton.tsx","webpack:///./src/Themes/ui/ThemeEditorButton.tsx","webpack:///./src/Themes/ui/ThemeCollaborate.tsx","webpack:///./src/ui/React/DeleteGameButton.tsx","webpack:///./src/ui/React/SoftResetButton.tsx","webpack:///./src/Locations/ui/TravelAgencyRoot.tsx","webpack:///./src/ScriptEditor/ui/ScriptEditorRoot.tsx","webpack:///./src/Terminal/DirectoryServerHelpers.ts","webpack:///./src/NetscriptJSEvaluator.ts","webpack:///./src/NetscriptFunctions/Flags.ts","webpack:///./src/NetscriptFunctions/toNative.ts","webpack:///./src/ui/React/TablePaginationActionsAll.tsx","webpack:///./src/CotMG/ui/Cell.tsx","webpack:///./src/CotMG/ui/Grid.tsx","webpack:///./src/Script/RunningScriptHelpers.ts","webpack:///./src/Terminal/commands/common/editor.ts","webpack:///./src/utils/HammingCodeTools.ts","webpack:///./src/PersonObjects/Player/PlayerObjectBladeburnerMethods.ts","webpack:///./src/Bladeburner/Contract.ts","webpack:///./src/Bladeburner/data/Help.ts","webpack:///./src/Corporation/ResearchTree.ts","webpack:///./src/StockMarket/StockMarketConstants.ts","webpack:///./src/CotMG/data/Constants.ts","webpack:///./src/Netscript/APIWrapper.ts","webpack:///./src/PersonObjects/Player/PlayerObjectCorporationMethods.ts","webpack:///./src/Company/GetNextCompanyPosition.ts","webpack:///./src/engine.tsx","webpack:///./src/Themes/data/index.ts","webpack:///./src/ui/LoadingScreen.tsx","webpack:///./src/PersonObjects/Player/PlayerObjectAugmentationMethods.ts","webpack:///./src/utils/helpers/isValidNumber.ts","webpack:///./src/StockMarket/Order.ts","webpack:///./src/CotMG/StaneksGift.ts","webpack:///./src/Locations/Location.ts","webpack:///./src/PersonObjects/Sleeve/ui/StatsElement.tsx","webpack:///./src/ui/React/ServerDropdown.tsx","webpack:///./src/Casino/Blackjack.tsx","webpack:///./src/Casino/CardDeck/ReactCard.tsx","webpack:///./src/Milestones/Milestones.ts","webpack:///./src/StockMarket/data/TickerHeaderFormatData.ts","webpack:///./src/Achievements/AchievementEntry.tsx","webpack:///./src/ThirdParty/colorUtils.ts","webpack:///./src/PersonObjects/formulas/work.ts","webpack:///./src/Themes/data/default/index.ts","webpack:///./src/Themes/data/default-lite/index.ts","webpack:///./src/Themes/data/monokai-ish/index.ts","webpack:///./src/Themes/data/warmer/index.ts","webpack:///./src/Themes/data/dark-plus/index.ts","webpack:///./src/Themes/data/mayukai-dark/index.ts","webpack:///./src/Themes/data/purple/index.ts","webpack:///./src/Themes/data/smooth-green/index.ts","webpack:///./src/Themes/data/dracula/index.ts","webpack:///./src/Themes/data/dark-blue/index.ts","webpack:///./src/Themes/data/discord-like/index.ts","webpack:///./src/Themes/data/one-dark/index.ts","webpack:///./src/Themes/data/muted-gold-blue/index.ts","webpack:///./src/Themes/data/light/index.ts","webpack:///./src/Themes/data/default/screenshot.png","webpack:///./src/Themes/data/default-lite/screenshot.png","webpack:///./src/Themes/data/monokai-ish/screenshot.png","webpack:///./src/Themes/data/warmer/screenshot.png","webpack:///./src/Themes/data/dark-plus/screenshot.png","webpack:///./src/Themes/data/mayukai-dark/screenshot.png","webpack:///./src/Themes/data/purple/screenshot.png","webpack:///./src/Themes/data/smooth-green/screenshot.png","webpack:///./src/Themes/data/dracula/screenshot.png","webpack:///./src/Themes/data/dark-blue/screenshot.png","webpack:///./src/Themes/data/discord-like/screenshot.png","webpack:///./src/Themes/data/one-dark/screenshot.png","webpack:///./src/Themes/data/muted-gold-blue/screenshot.png","webpack:///./src/Themes/data/light/screenshot.png","webpack:///./src/Terminal/Terminal.ts","webpack:///./src/data/codingcontracttypes.ts","webpack:///./src/utils/Heap.ts","webpack:///./src/utils/helpers/createRandomString.ts","webpack:///./src/Programs/Program.ts","webpack:///./src/Programs/data/ProgramsMetadata.ts","webpack:///./src/utils/helpers/isValidIPAddress.ts","webpack:///./src/PersonObjects/Grafting/EntropyAccumulation.ts","webpack:///./src/utils/helpers/getTimestamp.ts","webpack:///./src/NetworkShare/formulas/share.tsx","webpack:///./src/Company/data/CompaniesMetadata.ts","webpack:///./src/Corporation/Research.ts","webpack:///./src/Corporation/data/ResearchMetadata.ts","webpack:///./src/Hacknet/HashUpgrade.ts","webpack:///./src/Hacknet/data/HashUpgradesMetadata.tsx","webpack:///./src/Netscript/Environment.ts","webpack:///./src/utils/helpers/isPowerOfTwo.ts","webpack:///./src/StockMarket/data/InitStockMetadata.ts","webpack:///./src/NetscriptFunctions/Gang.ts","webpack:///./src/Gang/data/tasks.ts","webpack:///./src/Gang/GangMember.ts","webpack:///./src/Gang/GangMemberUpgrade.ts","webpack:///./src/Gang/data/power.ts","webpack:///./src/NetscriptFunctions/Sleeve.ts","webpack:///./src/NetscriptFunctions/Extra.ts","webpack:///./src/NetscriptFunctions/Hacknet.ts","webpack:///./src/NetscriptFunctions/Stanek.ts","webpack:///./src/CotMG/formulas/effect.ts","webpack:///./src/NetscriptFunctions/Infiltration.ts","webpack:///./src/NetscriptFunctions/UserInterface.ts","webpack:///./src/NetscriptFunctions/Bladeburner.ts","webpack:///./src/NetscriptFunctions/CodingContract.ts","webpack:///./src/utils/helpers/is2DArray.ts","webpack:///./src/NetscriptFunctions/Corporation.ts","webpack:///./src/Corporation/Industry.ts","webpack:///./src/utils/calculateEffectWithFactors.ts","webpack:///./src/Corporation/Employee.ts","webpack:///./src/Corporation/ProductRatingWeights.ts","webpack:///./src/NetscriptFunctions/Formulas.ts","webpack:///./src/NetscriptFunctions/StockMarket.ts","webpack:///./src/NetscriptFunctions/Grafting.ts","webpack:///./src/utils/v1APIBreak.ts","webpack:///./src/ui/InteractiveTutorial/InteractiveTutorialRoot.tsx","webpack:///./src/ui/React/Overview.tsx","webpack:///./src/Sidebar/ui/SidebarRoot.tsx","webpack:///./src/Programs/ProgramHelpers.ts","webpack:///./src/Augmentation/ui/AugmentationsRoot.tsx","webpack:///./src/Augmentation/ui/InstalledAugmentations.tsx","webpack:///./src/Augmentation/ui/PlayerMultipliers.tsx","webpack:///./src/Augmentation/ui/PurchasedAugmentations.tsx","webpack:///./src/Augmentation/ui/SourceFiles.tsx","webpack:///./src/DevMenu.tsx","webpack:///./src/DevMenu/ui/General.tsx","webpack:///./src/DevMenu/ui/Stats.tsx","webpack:///./src/DevMenu/ui/Factions.tsx","webpack:///./src/DevMenu/ui/Augmentations.tsx","webpack:///./src/DevMenu/ui/SourceFiles.tsx","webpack:///./src/DevMenu/ui/Programs.tsx","webpack:///./src/DevMenu/ui/Servers.tsx","webpack:///./src/DevMenu/ui/Companies.tsx","webpack:///./src/DevMenu/ui/Bladeburner.tsx","webpack:///./src/DevMenu/ui/Gang.tsx","webpack:///./src/DevMenu/ui/Corporation.tsx","webpack:///./src/DevMenu/ui/CodingContracts.tsx","webpack:///./src/DevMenu/ui/StockMarket.tsx","webpack:///./src/DevMenu/ui/Sleeves.tsx","webpack:///./src/DevMenu/ui/Stanek.tsx","webpack:///./src/DevMenu/ui/TimeSkip.tsx","webpack:///./src/DevMenu/ui/Achievements.tsx","webpack:///./src/DevMenu/ui/Entropy.tsx","webpack:///./src/Bladeburner/ui/BladeburnerRoot.tsx","webpack:///./src/Bladeburner/ui/Stats.tsx","webpack:///./src/Bladeburner/ui/TravelModal.tsx","webpack:///./src/Bladeburner/ui/Console.tsx","webpack:///./src/Bladeburner/ui/AllPages.tsx","webpack:///./src/Bladeburner/ui/GeneralActionPage.tsx","webpack:///./src/Bladeburner/ui/GeneralActionList.tsx","webpack:///./src/Bladeburner/ui/GeneralActionElem.tsx","webpack:///./src/Bladeburner/data/GeneralActions.tsx","webpack:///./src/Bladeburner/ui/ContractPage.tsx","webpack:///./src/Bladeburner/ui/ContractList.tsx","webpack:///./src/Bladeburner/ui/ContractElem.tsx","webpack:///./src/Bladeburner/data/Contracts.tsx","webpack:///./src/Bladeburner/ui/StealthIcon.tsx","webpack:///./src/Bladeburner/ui/KillIcon.tsx","webpack:///./src/Bladeburner/ui/OperationPage.tsx","webpack:///./src/Bladeburner/ui/OperationList.tsx","webpack:///./src/Bladeburner/ui/OperationElem.tsx","webpack:///./src/Bladeburner/ui/TeamSizeModal.tsx","webpack:///./src/Bladeburner/data/Operations.tsx","webpack:///./src/Bladeburner/ui/BlackOpPage.tsx","webpack:///./src/Bladeburner/ui/BlackOpList.tsx","webpack:///./src/Bladeburner/ui/BlackOpElem.tsx","webpack:///./src/Bladeburner/data/BlackOperations.tsx","webpack:///./src/Bladeburner/ui/SkillPage.tsx","webpack:///./src/Bladeburner/ui/SkillList.tsx","webpack:///./src/Bladeburner/ui/SkillElem.tsx","webpack:///./src/Gang/ui/GangRoot.tsx","webpack:///./src/Gang/ui/ManagementSubpage.tsx","webpack:///./src/Gang/ui/GangStats.tsx","webpack:///./src/Gang/ui/BonusTime.tsx","webpack:///./src/Gang/ui/GangMemberList.tsx","webpack:///./src/Gang/ui/GangMemberCard.tsx","webpack:///./src/Gang/ui/GangMemberCardContent.tsx","webpack:///./src/Gang/ui/GangMemberStats.tsx","webpack:///./src/ui/React/KillScriptsModal.tsx","webpack:///./src/Gang/ui/TaskSelector.tsx","webpack:///./src/Gang/ui/TaskDescription.tsx","webpack:///./src/Gang/ui/AscensionModal.tsx","webpack:///./src/Gang/ui/RecruitButton.tsx","webpack:///./src/Gang/ui/RecruitModal.tsx","webpack:///./src/Gang/ui/TerritorySubpage.tsx","webpack:///./src/Gang/ui/TerritoryInfoModal.tsx","webpack:///./src/Gang/ui/EquipmentsSubpage.tsx","webpack:///./src/Corporation/ui/CorporationRoot.tsx","webpack:///./src/Corporation/ui/MainPanel.tsx","webpack:///./src/Corporation/ui/CityTabs.tsx","webpack:///./src/Corporation/ui/Industry.tsx","webpack:///./src/Corporation/ui/IndustryOffice.tsx","webpack:///./src/Corporation/ui/modals/UpgradeOfficeSizeModal.tsx","webpack:///./src/Corporation/ui/modals/ThrowPartyModal.tsx","webpack:///./src/Corporation/ui/IndustryOverview.tsx","webpack:///./src/Corporation/ui/modals/MakeProductModal.tsx","webpack:///./src/Corporation/ui/modals/ResearchModal.tsx","webpack:///./src/Corporation/ui/IndustryWarehouse.tsx","webpack:///./src/Corporation/ui/modals/SmartSupplyModal.tsx","webpack:///./src/Corporation/ui/ProductElem.tsx","webpack:///./src/Corporation/ui/modals/DiscontinueProductModal.tsx","webpack:///./src/Corporation/ui/modals/LimitProductProductionModal.tsx","webpack:///./src/Corporation/ui/modals/SellProductModal.tsx","webpack:///./src/Corporation/ui/modals/ProductMarketTaModal.tsx","webpack:///./src/Corporation/ui/modals/CancelProductModal.tsx","webpack:///./src/Corporation/ui/MaterialElem.tsx","webpack:///./src/Corporation/ui/modals/ExportModal.tsx","webpack:///./src/Corporation/ui/modals/MaterialMarketTaModal.tsx","webpack:///./src/Corporation/ui/modals/SellMaterialModal.tsx","webpack:///./src/Corporation/ui/modals/PurchaseMaterialModal.tsx","webpack:///./src/Corporation/ui/modals/LimitMaterialProductionModal.tsx","webpack:///./src/Corporation/ui/IndustryProductEquation.tsx","webpack:///./src/Corporation/ui/ExpandNewCity.tsx","webpack:///./src/Corporation/ui/ExpandIndustryTab.tsx","webpack:///./src/Corporation/ui/Overview.tsx","webpack:///./src/Corporation/ui/LevelableUpgrade.tsx","webpack:///./src/Corporation/ui/UnlockUpgrade.tsx","webpack:///./src/Corporation/ui/modals/BribeFactionModal.tsx","webpack:///./src/Corporation/ui/modals/SellSharesModal.tsx","webpack:///./src/Corporation/ui/modals/BuybackSharesModal.tsx","webpack:///./src/Corporation/ui/modals/IssueDividendsModal.tsx","webpack:///./src/Corporation/ui/modals/IssueNewSharesModal.tsx","webpack:///./src/Corporation/ui/modals/FindInvestorsModal.tsx","webpack:///./src/Corporation/ui/modals/GoPublicModal.tsx","webpack:///./src/Infiltration/ui/InfiltrationRoot.tsx","webpack:///./src/Infiltration/ui/Intro.tsx","webpack:///./src/Infiltration/ui/Game.tsx","webpack:///./src/Infiltration/ui/Countdown.tsx","webpack:///./src/Infiltration/ui/BracketGame.tsx","webpack:///./src/Infiltration/ui/SlashGame.tsx","webpack:///./src/Infiltration/ui/BackwardGame.tsx","webpack:///./src/Infiltration/ui/BribeGame.tsx","webpack:///./src/Infiltration/ui/CheatCodeGame.tsx","webpack:///./src/Infiltration/ui/Cyberpunk2077Game.tsx","webpack:///./src/Infiltration/ui/MinesweeperGame.tsx","webpack:///./src/Infiltration/ui/WireCuttingGame.tsx","webpack:///./src/Infiltration/ui/Victory.tsx","webpack:///./src/PersonObjects/Grafting/ui/GraftingRoot.tsx","webpack:///./src/ui/WorkInProgressRoot.tsx","webpack:///./src/GameOptions/ui/GameOptionsRoot.tsx","webpack:///./src/GameOptions/ui/CurrentOptionsPage.tsx","webpack:///./src/GameOptions/ui/GameOptionsSidebar.tsx","webpack:///./src/Diagnostic/FileDiagnosticModal.tsx","webpack:///./src/Themes/ui/StyleEditorModal.tsx","webpack:///./src/Themes/ui/ThemeEditorModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/SleeveRoot.tsx","webpack:///./src/PersonObjects/Sleeve/ui/SleeveElem.tsx","webpack:///./src/PersonObjects/Sleeve/ui/SleeveAugmentationsModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/TravelModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/MoreStatsModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/MoreEarningsModal.tsx","webpack:///./src/PersonObjects/Sleeve/ui/TaskSelector.tsx","webpack:///./src/PersonObjects/Sleeve/ui/FAQModal.tsx","webpack:///./src/Hacknet/ui/HacknetRoot.tsx","webpack:///./src/Hacknet/ui/GeneralInfo.tsx","webpack:///./src/Hacknet/ui/HacknetNodeElem.tsx","webpack:///./src/Hacknet/ui/HacknetServerElem.tsx","webpack:///./src/Hacknet/ui/HashUpgradeModal.tsx","webpack:///./src/Hacknet/ui/HacknetUpgradeElem.tsx","webpack:///./src/Hacknet/ui/MultiplierButtons.tsx","webpack:///./src/Hacknet/ui/PlayerInfo.tsx","webpack:///./src/Hacknet/ui/PurchaseButton.tsx","webpack:///./src/Locations/ui/GenericLocation.tsx","webpack:///./src/Locations/ui/CompanyLocation.tsx","webpack:///./src/Company/data/CompanyPositionsMetadata.ts","webpack:///./src/Company/ui/QuitJobModal.tsx","webpack:///./src/Locations/ui/GymLocation.tsx","webpack:///./src/Locations/ui/HospitalLocation.tsx","webpack:///./src/Locations/ui/SlumsLocation.tsx","webpack:///./src/Locations/ui/SpecialLocation.tsx","webpack:///./src/Corporation/ui/modals/CreateCorporationModal.tsx","webpack:///./src/utils/helpers/N00dles.ts","webpack:///./src/Arcade/ui/ArcadeRoot.tsx","webpack:///./src/Arcade/ui/BBCabinet.tsx","webpack:///./src/Locations/ui/TechVendorLocation.tsx","webpack:///./src/Locations/ui/RamButton.tsx","webpack:///./src/Locations/ui/TorButton.tsx","webpack:///./src/Locations/LocationsHelpers.tsx","webpack:///./src/Locations/ui/CoresButton.tsx","webpack:///./src/Locations/ui/PurchaseServerModal.tsx","webpack:///./src/Locations/ui/TravelConfirmationModal.tsx","webpack:///./src/Locations/ui/UniversityLocation.tsx","webpack:///./src/Locations/ui/CasinoLocation.tsx","webpack:///./src/Casino/CardDeck/Deck.ts","webpack:///./src/Casino/CoinFlip.tsx","webpack:///./src/Casino/Roulette.tsx","webpack:///./src/Casino/SlotMachine.tsx","webpack:///./src/Locations/ui/City.tsx","webpack:///./src/ScriptEditor/ui/OptionsModal.tsx","webpack:///./src/ScriptEditor/ui/ThemeEditorModal.tsx","webpack:///./src/ScriptEditor/NetscriptDefinitions.d.ts","webpack:///./src/Milestones/ui/MilestonesRoot.tsx","webpack:///./src/Terminal/ui/TerminalRoot.tsx","webpack:///./src/Terminal/ui/TerminalInput.tsx","webpack:///./src/Terminal/determineAllPossibilitiesForTabCompletion.ts","webpack:///./src/Script/ScriptUrl.ts","webpack:///./src/Terminal/tabCompletion.ts","webpack:///./src/Tutorial/ui/TutorialRoot.tsx","webpack:///./src/ui/ActiveScripts/ActiveScriptsRoot.tsx","webpack:///./src/ui/ActiveScripts/ActiveScriptsPage.tsx","webpack:///./src/ui/ActiveScripts/ScriptProduction.tsx","webpack:///./src/ui/ActiveScripts/ServerAccordions.tsx","webpack:///./src/ui/ActiveScripts/ServerAccordion.tsx","webpack:///./src/ui/ActiveScripts/ServerAccordionContent.tsx","webpack:///./src/ui/ActiveScripts/WorkerScriptAccordion.tsx","webpack:///./src/ui/ActiveScripts/RecentScriptsPage.tsx","webpack:///./src/ui/ActiveScripts/RecentScriptAccordion.tsx","webpack:///./src/Faction/ui/FactionRoot.tsx","webpack:///./src/Faction/ui/AugmentationsPage.tsx","webpack:///./src/Faction/ui/PurchaseableAugmentation.tsx","webpack:///./src/Faction/ui/PurchaseAugmentationModal.tsx","webpack:///./src/ui/React/Augmentation.tsx","webpack:///./src/Faction/ui/DonateOption.tsx","webpack:///./src/Faction/ui/Info.tsx","webpack:///./src/PersonObjects/Sleeve/ui/CovenantPurchasesRoot.tsx","webpack:///./src/PersonObjects/Sleeve/ui/CovenantSleeveMemoryUpgrade.tsx","webpack:///./src/Faction/ui/GangButton.tsx","webpack:///./src/Faction/ui/CreateGangModal.tsx","webpack:///./src/ui/CharacterStats.tsx","webpack:///./src/StockMarket/ui/StockMarketRoot.tsx","webpack:///./src/StockMarket/ui/InfoAndPurchases.tsx","webpack:///./src/StockMarket/ui/StockTickers.tsx","webpack:///./src/StockMarket/ui/StockTicker.tsx","webpack:///./src/StockMarket/ui/StockTickerHeaderText.tsx","webpack:///./src/StockMarket/ui/StockTickerOrderList.tsx","webpack:///./src/StockMarket/ui/StockTickerOrder.tsx","webpack:///./src/StockMarket/ui/StockTickerPositionText.tsx","webpack:///./src/StockMarket/ui/PlaceOrderModal.tsx","webpack:///./src/BitNode/ui/BitverseRoot.tsx","webpack:///./src/BitNode/ui/PortalModal.tsx","webpack:///./src/BitNode/ui/BitnodeMultipliersDescription.tsx","webpack:///./src/ui/React/CinematicLine.tsx","webpack:///./src/CotMG/ui/StaneksGiftRoot.tsx","webpack:///./src/CotMG/ui/MainBoard.tsx","webpack:///./src/CotMG/ui/FragmentInspector.tsx","webpack:///./src/CotMG/ui/FragmentSelector.tsx","webpack:///./src/CotMG/ui/FragmentPreview.tsx","webpack:///./src/CotMG/DummyGift.ts","webpack:///./src/Bladeburner/ui/BladeburnerCinematic.tsx","webpack:///./src/Exploits/Unclickable.tsx","webpack:///./src/Achievements/AchievementsRoot.tsx","webpack:///./src/Achievements/AchievementList.tsx","webpack:///./src/Achievements/AchievementIcon.tsx","webpack:///./src/ui/ErrorBoundary.tsx","webpack:///./src/Themes/ui/ThemeBrowser.tsx","webpack:///./src/Themes/ui/ThemeEntry.tsx","webpack:///./src/ui/React/ImportSaveRoot.tsx","webpack:///./src/ui/React/BypassWrapper.tsx","webpack:///./src/NetscriptFunctions/Singularity.ts","webpack:///./src/NetscriptPort.ts","webpack:///./src/utils/helpers/clearObject.ts","webpack:///./src/Corporation/CorporationState.ts","webpack:///./src/Literature/Literatures.ts","webpack:///./src/SourceFile/applySourceFile.ts","webpack:///./src/Exploits/applyExploits.ts","webpack:///./src/Terminal/commands/alias.ts","webpack:///./src/Terminal/commands/analyze.ts","webpack:///./src/Terminal/commands/backdoor.ts","webpack:///./src/Terminal/commands/buy.ts","webpack:///./src/Terminal/commands/cat.ts","webpack:///./src/Terminal/commands/cd.ts","webpack:///./src/Terminal/commands/check.ts","webpack:///./src/Terminal/commands/connect.ts","webpack:///./src/Terminal/commands/cp.ts","webpack:///./src/Terminal/commands/expr.ts","webpack:///./src/Terminal/commands/free.ts","webpack:///./src/Terminal/commands/grow.ts","webpack:///./src/Terminal/commands/hack.ts","webpack:///./src/Terminal/commands/help.ts","webpack:///./src/Terminal/commands/history.ts","webpack:///./src/Terminal/commands/home.ts","webpack:///./src/Terminal/commands/hostname.ts","webpack:///./src/Terminal/commands/kill.ts","webpack:///./src/Terminal/commands/killall.ts","webpack:///./src/Terminal/commands/ls.tsx","webpack:///./src/Terminal/commands/lscpu.ts","webpack:///./src/Terminal/commands/mem.ts","webpack:///./src/Terminal/commands/mv.ts","webpack:///./src/Terminal/commands/nano.ts","webpack:///./src/ScriptEditor/CursorPositions.ts","webpack:///./src/Terminal/commands/ps.ts","webpack:///./src/Terminal/commands/rm.ts","webpack:///./src/Terminal/commands/run.ts","webpack:///./src/Terminal/commands/runScript.ts","webpack:///./src/Terminal/commands/runProgram.ts","webpack:///./src/Terminal/commands/scan.ts","webpack:///./src/Terminal/commands/scananalyze.ts","webpack:///./src/Terminal/commands/scp.ts","webpack:///./src/Terminal/commands/sudov.ts","webpack:///./src/Terminal/commands/tail.ts","webpack:///./src/Terminal/commands/top.ts","webpack:///./src/Terminal/commands/unalias.ts","webpack:///./src/Terminal/commands/vim.ts","webpack:///./src/Terminal/commands/weaken.ts","webpack:///./src/Terminal/commands/wget.ts","webpack:///./src/Terminal/commands/apr1.ts","webpack:///./src/Exploits/loops.ts","webpack:///./src/UncaughtPromiseHandler.ts","webpack:///./src/index.tsx"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","Player","PlayerObject","loadPlayer","saveString","JSON","parse","Reviver","money","parseFloat","exploits","sanitizeExploits","FactionNames","extraFormats","extraNotations","gigaMultiplier","numeralWrapper","constructor","this","defaultLocale","updateLocale","numeral","locale","console","warn","format","Math","abs","answer","formatBigNumber","formatReallyBigNumber","decimalPlaces","nAbs","Infinity","repeat","str","formatHp","formatMoney","formatSkill","formatExp","formatHashes","formatReputation","formatFavor","formatSecurity","toFixed","formatRAM","Settings","UseIEC60027_2","formatPercentage","formatter","formatServerSecurity","formatRespect","formatWanted","formatMultiplier","formatSleeveShock","formatSleeveSynchro","formatSleeveMemory","formatPopulation","formatStamina","formatShares","formatInfiltrationSecurity","formatThreads","formatStaneksGiftHeat","formatStaneksGiftCharge","formatStaneksGiftPower","parseCustomLargeNumber","numericRegExp","RegExp","join","match","NaN","number","notation","notationIndex","indexOf","largestAbsoluteNumber","n1","n2","n3","isNaN","max","parseMoney","numeralValue","parsed","selfParsed","defaultSettings","ActiveScriptsServerPageSize","ActiveScriptsScriptPageSize","AutosaveInterval","CodeInstructionRunTime","DisableASCIIArt","DisableHotkeys","DisableTextEffects","DisableOverviewProgressBars","EnableBashHotkeys","TimestampsFormat","Locale","MaxRecentScriptsCapacity","MaxLogCapacity","MaxPortCapacity","MaxTerminalCapacity","SaveGameOnFileSave","SuppressBuyAugmentationConfirmation","SuppressFactionInvites","SuppressMessages","SuppressTravelConfirmation","SuppressBladeburnerPopup","SuppressTIXPopup","SuppressSavedGameToast","SuppressAutosaveDisabledWarnings","ExcludeRunningScriptsFromSave","IsSidebarOpened","theme","defaultTheme","styles","defaultStyles","overview","x","y","opened","EditorTheme","defaultMonacoTheme","OwnedAugmentationsOrder","OwnedAugmentationsOrderSetting","AcquirementTime","PurchaseAugmentationsOrder","PurchaseAugmentationsOrderSetting","Default","MonacoTheme","MonacoInsertSpaces","MonacoFontSize","MonacoVim","MonacoWordWrap","init","assign","load","save","CONSTANTS","VersionString","VersionNumber","_idleSpeed","MaxSkillLevel","MilliPerCycle","CorpFactionRepRequirement","BaseCostFor1GBOfRamHome","BaseCostFor1GBOfRamServer","TravelCost","BaseFavorToDonate","DonateMoneyToRepDivisor","FactionReputationToFavorBase","FactionReputationToFavorMult","CompanyReputationToFavorBase","CompanyReputationToFavorMult","NeuroFluxGovernorLevelMult","NumNetscriptPorts","HomeComputerMaxRam","ServerBaseGrowthRate","ServerMaxGrowthRate","ServerFortifyAmount","ServerWeakenAmount","PurchasedServerLimit","PurchasedServerMaxRam","MultipleAugMultiplier","TorRouterCost","WSEAccountCost","TIXAPICost","MarketData4SCost","MarketDataTixApi4SCost","StockMarketCommission","HospitalCostPerHp","IntelligenceCrimeWeight","IntelligenceInfiltrationWeight","IntelligenceCrimeBaseExpGain","IntelligenceProgramBaseExpGain","IntelligenceGraftBaseExpGain","IntelligenceTerminalHackBaseExpGain","IntelligenceSingFnBaseExpGain","IntelligenceClassBaseExpGain","MillisecondsPer20Hours","GameCyclesPer20Hours","MillisecondsPer10Hours","GameCyclesPer10Hours","MillisecondsPer8Hours","GameCyclesPer8Hours","MillisecondsPer4Hours","GameCyclesPer4Hours","MillisecondsPer2Hours","GameCyclesPer2Hours","MillisecondsPerHour","GameCyclesPerHour","MillisecondsPerHalfHour","GameCyclesPerHalfHour","MillisecondsPerQuarterHour","GameCyclesPerQuarterHour","MillisecondsPerFiveMinutes","GameCyclesPerFiveMinutes","BaseFocusBonus","FactionWorkHacking","FactionWorkField","FactionWorkSecurity","WorkTypeCompany","WorkTypeCompanyPartTime","WorkTypeFaction","WorkTypeCreateProgram","WorkTypeStudyClass","WorkTypeCrime","WorkTypeGraftAugmentation","ClassStudyComputerScience","ClassDataStructures","ClassNetworks","ClassAlgorithms","ClassManagement","ClassLeadership","ClassGymStrength","ClassGymDefense","ClassGymDexterity","ClassGymAgility","ClassDataStructuresBaseCost","ClassNetworksBaseCost","ClassAlgorithmsBaseCost","ClassManagementBaseCost","ClassLeadershipBaseCost","ClassGymBaseCost","ClassStudyComputerScienceBaseExp","ClassDataStructuresBaseExp","ClassNetworksBaseExp","ClassAlgorithmsBaseExp","ClassManagementBaseExp","ClassLeadershipBaseExp","CrimeShoplift","CrimeRobStore","CrimeMug","CrimeLarceny","CrimeDrugs","CrimeBondForgery","CrimeTraffickArms","CrimeHomicide","CrimeGrandTheftAuto","CrimeKidnap","CrimeAssassination","CrimeHeist","CodingContractBaseFactionRepGain","CodingContractBaseCompanyRepGain","CodingContractBaseMoneyGain","AugmentationGraftingCostMult","AugmentationGraftingTimeBase","SoACostMult","SoARepMult","EntropyEffect","TotalNumBitNodes","Donations","LatestUpdate","LocationName","AugmentationNames","dialogBoxCreate","txt","AlertEvents","emit","component","sx","dangerouslySetInnerHTML","__html","CityName","useStyles","makeStyles","createStyles","unbuyable","color","palette","action","disabled","colors","Money","props","classes","undefined","player","Error","canAfford","className","BitNodeMultipliers","defaultMultipliers","convertTimeMsToTimeElapsedString","time","showMilli","floor","totalSeconds","days","secondPerHours","secTruncDays","hours","secondPerMinute","secTruncHours","minutes","secTruncMinutes","milliTruncSec","res","longestCommonStart","strings","containsAllStrings","A","concat","sort","a1","a2","L","a","charAt","b","toUpperCase","substring","arr","every","isString","formatNumber","num","numFractionDigits","toLocaleString","maximumFractionDigits","minimumFractionDigits","generateRandomString","chars","random","cyrb53","seed","h1","h2","ch","charCodeAt","imul","toString","AllServers","GetServer","server","isValidIPAddress","hostname","keys","GetServerByHostname","ipserver","ip","GetServerByIP","GetAllServers","servers","DeleteServer","serverkey","ipExists","createUniqueRandomIp","createRandomIp","AddToAllServers","initForeignServers","homeComputer","networkLayers","propertiesToPatternMatch","toNumber","getRandomInt","min","metadata","serverMetadata","serverParams","numOpenPortsRequired","organizationName","maxRamExponent","maxRam","pow","prop","Server","filename","literature","messages","SpecialServers","WorldDaemon","requiredHackingSkill","WorldDaemonDifficulty","networkLayer","linkNetworkLayers","network1","selectServer","server1","server2","serversOnNetwork","getRandomArrayItem","prestigeAllServers","member","loadAllServers","saveAllServers","excludeRunningScripts","TempAllServers","stringify","runningScripts","runningScriptObj","logs","Page","Factions","loadFactions","faction","getInfo","err","error","factionExists","initFactions","FactionInfos","resetFaction","Faction","newFactionObject","factionName","favor","AddToFactions","KEY","ctor","constructors","fromJSON","obj","validationData","validateObject","Generic_toJSON","ctorName","index","Generic_fromJSON","Context","React","createContext","Router","use","useContext","SoftwareCompanyPositions","ITCompanyPositions","SecurityEngineerCompanyPositions","NetworkEngineerCompanyPositions","BusinessCompanyPositions","SecurityCompanyPositions","AgentCompanyPositions","MiscCompanyPositions","SoftwareConsultantCompanyPositions","BusinessConsultantCompanyPositions","PartTimeCompanyPositions","lower","upper","RamCostConstants","ScriptBaseRamCost","ScriptDomRamCost","ScriptCorporationRamCost","ScriptHackRamCost","ScriptHackAnalyzeRamCost","ScriptGrowRamCost","ScriptGrowthAnalyzeRamCost","ScriptWeakenRamCost","ScriptWeakenAnalyzeRamCost","ScriptScanRamCost","ScriptRecentScriptsRamCost","ScriptPortProgramRamCost","ScriptRunRamCost","ScriptExecRamCost","ScriptSpawnRamCost","ScriptScpRamCost","ScriptKillRamCost","ScriptHasRootAccessRamCost","ScriptGetHostnameRamCost","ScriptGetHackingLevelRamCost","ScriptGetMultipliersRamCost","ScriptGetServerRamCost","ScriptGetServerMaxRam","ScriptGetServerUsedRam","ScriptFileExistsRamCost","ScriptIsRunningRamCost","ScriptHacknetNodesRamCost","ScriptHNUpgLevelRamCost","ScriptHNUpgRamRamCost","ScriptHNUpgCoreRamCost","ScriptGetStockRamCost","ScriptBuySellStockRamCost","ScriptGetPurchaseServerRamCost","ScriptPurchaseServerRamCost","ScriptGetPurchasedServerLimit","ScriptGetPurchasedServerMaxRam","ScriptRoundRamCost","ScriptReadWriteRamCost","ScriptArbScriptRamCost","ScriptGetScriptRamCost","ScriptGetRunningScriptRamCost","ScriptGetHackTimeRamCost","ScriptGetFavorToDonate","ScriptCodingContractBaseRamCost","ScriptSleeveBaseRamCost","ScriptGetOwnedSourceFiles","ScriptSingularityFn1RamCost","ScriptSingularityFn2RamCost","ScriptSingularityFn3RamCost","ScriptGangApiBaseRamCost","ScriptBladeburnerApiBaseRamCost","ScriptStanekWidth","ScriptStanekHeight","ScriptStanekCharge","ScriptStanekFragmentDefinitions","ScriptStanekPlacedFragments","ScriptStanekClear","ScriptStanekCanPlace","ScriptStanekPlace","ScriptStanekFragmentAt","ScriptStanekDeleteAt","ScriptInfiltrationCalculateDifficulty","ScriptInfiltrationCalculateRewards","ScriptInfiltrationGetLocations","ScriptInfiltrationGetInfiltrations","ScriptStanekAcceptGift","SF4Cost","cost","bitNodeN","sf4","sourceFileLvl","stock","getSymbols","getPrice","getAskPrice","getBidPrice","getPosition","getMaxShares","getPurchaseCost","getSaleGain","buy","sell","short","sellShort","placeOrder","cancelOrder","getOrders","getVolatility","getForecast","purchase4SMarketData","purchase4SMarketDataTixApi","purchaseWseAccount","purchaseTixApi","singularity","universityCourse","gymWorkout","travelToCity","goToLocation","purchaseTor","purchaseProgram","getCurrentServer","connect","manualHack","installBackdoor","getDarkwebProgramCost","getDarkwebPrograms","getStats","getCharacterInformation","hospitalize","isBusy","stopAction","upgradeHomeRam","upgradeHomeCores","getUpgradeHomeRamCost","getUpgradeHomeCoresCost","workForCompany","applyToCompany","getCompanyRep","getCompanyFavor","getCompanyFavorGain","checkFactionInvitations","joinFaction","workForFaction","getFactionRep","getFactionFavor","getFactionFavorGain","donateToFaction","createProgram","commitCrime","getCrimeChance","getCrimeStats","getOwnedAugmentations","getAugmentationsFromFaction","getAugmentationCost","getAugmentationPrereq","getAugmentationPrice","getAugmentationRepReq","getAugmentationStats","purchaseAugmentation","softReset","installAugmentations","isFocused","setFocus","b1tflum3","destroyW0r1dD43m0n","gang","createGang","inGang","getMemberNames","getGangInformation","getOtherGangInformation","getMemberInformation","canRecruitMember","recruitMember","getTaskNames","getTaskStats","setMemberTask","getEquipmentNames","getEquipmentCost","getEquipmentType","getEquipmentStats","purchaseEquipment","ascendMember","getAscensionResult","setTerritoryWarfare","getChanceToWinClash","getBonusTime","bladeburner","getContractNames","getOperationNames","getBlackOpNames","getBlackOpRank","getGeneralActionNames","getSkillNames","startAction","stopBladeburnerAction","getCurrentAction","getActionTime","getActionEstimatedSuccessChance","getActionRepGain","getActionCountRemaining","getActionMaxLevel","getActionCurrentLevel","getActionAutolevel","setActionAutolevel","setActionLevel","getRank","getSkillPoints","getSkillLevel","getSkillUpgradeCost","upgradeSkill","getTeamSize","setTeamSize","getCityEstimatedPopulation","getCityCommunities","getCityChaos","getCity","switchCity","getStamina","joinBladeburnerFaction","joinBladeburnerDivision","infiltration","calculateDifficulty","calculateRewards","calculateGetLocations","calculateGetInfiltrations","codingcontract","attempt","getContractType","getData","getDescription","getNumTriesRemaining","sleeve","getNumSleeves","setToShockRecovery","setToSynchronize","setToCommitCrime","setToUniversityCourse","travel","setToCompanyWork","setToFactionWork","setToGymWorkout","getSleeveStats","getTask","getInformation","getSleeveAugmentations","getSleevePurchasableAugs","purchaseSleeveAug","stanek","giftWidth","giftHeight","chargeFragment","fragmentDefinitions","activeFragments","clearGift","canPlaceFragment","placeFragment","getFragment","removeFragment","acceptGift","RamCosts","hacknet","numNodes","purchaseNode","getPurchaseNodeCost","getNodeStats","upgradeLevel","upgradeRam","upgradeCore","upgradeCache","getLevelUpgradeCost","getRamUpgradeCost","getCoreUpgradeCost","getCacheUpgradeCost","numHashes","hashCost","spendHashes","ui","getTheme","setTheme","resetTheme","getStyles","setStyles","resetStyles","getGameInfo","grafting","getAugmentationGraftPrice","getAugmentationGraftTime","getGraftableAugmentations","graftAugmentation","sprintf","vsprintf","scan","hack","hackAnalyzeThreads","hackAnalyze","hackAnalyzeSecurity","hackAnalyzeChance","sleep","asleep","share","getSharePower","grow","growthAnalyze","growthAnalyzeSecurity","weaken","weakenAnalyze","print","printf","tprint","clearLog","disableLog","enableLog","isLogEnabled","getScriptLogs","nuke","brutessh","ftpcrack","relaysmtp","httpworm","sqlinject","run","exec","spawn","kill","killall","exit","atExit","scp","ls","ps","getRecentScripts","hasRootAccess","getIp","getHostname","getHackingLevel","getHackingMultipliers","getHacknetMultipliers","getBitNodeMultipliers","getServer","getServerMoneyAvailable","getServerSecurityLevel","getServerBaseSecurityLevel","getServerMinSecurityLevel","getServerRequiredHackingLevel","getServerMaxMoney","getServerGrowth","getServerNumPortsRequired","getServerRam","getServerMaxRam","getServerUsedRam","serverExists","fileExists","isRunning","getPurchasedServerLimit","getPurchasedServerMaxRam","getPurchasedServerCost","purchaseServer","deleteServer","getPurchasedServers","write","tryWritePort","read","peek","clear","writePort","readPort","getPortHandle","rm","scriptRunning","scriptKill","getScriptName","getScriptRam","getHackTime","getGrowTime","getWeakenTime","getScriptIncome","getScriptExpGain","getRunningScript","nFormat","tFormat","getTimeSinceLastAug","prompt","wget","getFavorToDonate","getPlayer","mv","getOwnedSourceFiles","tail","toast","heart","break","getRamCost","args","curr","currType","Augmentation","params","info","moneyCost","repCost","factions","prereqs","baseRepRequirement","baseCost","startingCost","startingRepRequirement","isSpecial","level","hacking_mult","mults","strength_mult","defense_mult","dexterity_mult","agility_mult","charisma_mult","hacking_exp_mult","strength_exp_mult","defense_exp_mult","dexterity_exp_mult","agility_exp_mult","charisma_exp_mult","hacking_chance_mult","hacking_speed_mult","hacking_money_mult","hacking_grow_mult","company_rep_mult","faction_rep_mult","crime_money_mult","crime_success_mult","work_money_mult","hacknet_node_money_mult","hacknet_node_purchase_cost_mult","hacknet_node_ram_cost_mult","hacknet_node_core_cost_mult","hacknet_node_level_cost_mult","bladeburner_max_stamina_mult","bladeburner_stamina_gain_mult","bladeburner_analysis_mult","bladeburner_success_chance_mult","infiltration_base_rep_increase","infiltration_rep_mult","infiltration_trade_mult","infiltration_sell_mult","infiltration_timer_mult","infiltration_damage_reduction_mult","stats","programs","startingMoney","f","decimals","desc","ShadowsOfAnarchy","generateStatsDescription","addToFactions","factionList","augmentations","addToAllFactions","fac","facObj","special","toJSON","AllCorporationStates","CorporationConstants","INITIALSHARES","SHARESPERPRICEUPDATE","IssueNewSharesCooldown","SellSharesCooldown","CyclesPerMarketCycle","CyclesPerIndustryStateCycle","SecsPerMarketCycle","Cities","Aevum","Chongqing","Sector12","NewTokyo","Ishima","Volhaven","WarehouseInitialCost","WarehouseInitialSize","WarehouseUpgradeBaseCost","OfficeInitialCost","OfficeInitialSize","OfficeUpgradeBaseCost","BribeThreshold","BribeToRepRatio","ProductProductionCostRatio","DividendMaxPercentage","EmployeeSalaryMultiplier","CyclesPerEmployeeRaise","EmployeeRaiseAmount","BaseMaxProducts","AllMaterials","FundingRoundShares","FundingRoundMultiplier","AvgProfitLength","modal","display","alignItems","justifyContent","paper","backgroundColor","background","default","border","primary","main","boxShadow","dark","padding","maxWidth","maxHeight","overflow","scrollbarWidth","Modal","disableRestoreFocus","disableScrollLock","disableEnforceFocus","disableAutoFocus","open","onClose","closeAfterTransition","in","children","HacknetNodeConstants","MoneyGainPerLevel","BaseCost","LevelBaseCost","RamBaseCost","CoreBaseCost","PurchaseNextMult","UpgradeLevelMult","UpgradeRamMult","UpgradeCoreMult","MaxLevel","MaxRam","MaxCores","PurchaseMultipliers","x1","x5","x10","MAX","HacknetServerConstants","HashesPerLevel","CacheBaseCost","PurchaseMult","UpgradeCacheMult","MaxServers","MaxCache","ActionTypes","Idle","Contract","Operation","BlackOp","BlackOperation","Training","Recruitment","FieldAnalysis","Diplomacy","BitNode","difficulty","BitNodes","SlumSnakes","Tetrads","TheSyndicate","TheDarkArmy","SpeakersForTheDead","NiteSec","TheBlackHand","Bladeburners","OmniTekIncorporated","FulcrumSecretTechnologies","ChurchOfTheMachineGod","HackingLevelMultiplier","StrengthLevelMultiplier","DefenseLevelMultiplier","DexterityLevelMultiplier","AgilityLevelMultiplier","CharismaLevelMultiplier","ServerGrowthRate","ServerMaxMoney","ServerStartingMoney","ServerStartingSecurity","ServerWeakenRate","HomeComputerRamCost","PurchasedServerCost","PurchasedServerSoftcap","CompanyWorkMoney","CrimeMoney","HacknetNodeMoney","ManualHackMoney","ScriptHackMoney","ScriptHackMoneyGain","CodingContractMoney","ClassGymExpGain","CompanyWorkExpGain","CrimeExpGain","FactionWorkExpGain","HackExpGain","FactionPassiveRepGain","FactionWorkRepGain","RepToDonateToFaction","AugmentationMoneyCost","AugmentationRepCost","InfiltrationMoney","InfiltrationRep","FourSigmaMarketDataCost","FourSigmaMarketDataApiCost","CorporationValuation","CorporationSoftCap","BladeburnerRank","BladeburnerSkillCost","GangSoftcap","GangUniqueAugs","DaedalusAugsRequirement","StaneksGiftPowerMultiplier","StaneksGiftExtraSize","lvl","inc","dec","initBitNodeMultipliers","iTutorialSteps","ITutorial","currStep","Start","stepIsDone","GoToCharacterPage","CharacterPage","CharacterGoToTerminalPage","TerminalIntro","TerminalHelp","TerminalLs","TerminalScan","TerminalScanAnalyze1","TerminalScanAnalyze2","TerminalConnect","TerminalAnalyze","TerminalNuke","TerminalManualHack","TerminalHackingMechanics","TerminalGoHome","TerminalCreateScript","TerminalTypeScript","TerminalFree","TerminalRunScript","TerminalGoToActiveScriptsPage","ActiveScriptsPage","ActiveScriptsToTerminal","TerminalTailScript","GoToHacknetNodesPage","HacknetNodesIntroduction","HacknetNodesGoToWorldPage","WorldDescription","TutorialPageInfo","End","iTutorialStart","iTutorialNextStep","iTutorialEnd","ITutorialEvents","iTutorialPrevStep","getHomeComputer","LiteratureNames","HackersStartingHandbook","BaseServer","super","startsWith","createRandomString","purchasedByPlayer","moneyAvailable","moneyMax","hackDifficulty","baseDifficulty","minDifficulty","round","serverGrowth","capDifficulty","changeMinimumSecurity","perc","changeMaximumMoney","aboveCap","log","fortify","amt","EmployeePositions","Operations","Engineer","Business","Management","RandD","Unassigned","t_homeComp","safetlyCreateUniqueServer","adminRights","isConnectedTo","currentServer","Home","Programs","NukeProgram","prestigeAugmentation","numPeopleKilled","hacking","strength","defense","dexterity","agility","charisma","hacking_exp","strength_exp","defense_exp","dexterity_exp","agility_exp","charisma_exp","city","location","TravelAgency","companyName","jobs","purchasedServers","factionInvitations","queuedAugmentations","numSleeves","sleevesFromCovenant","sleeves","Sleeve","shock","synchronize","shockRecovery","isWorking","currentWorkFactionName","currentWorkFactionDescription","createProgramName","crimeType","workHackExpGainRate","workStrExpGainRate","workDefExpGainRate","workDexExpGainRate","workAgiExpGainRate","workChaExpGainRate","workRepGainRate","workMoneyGainRate","workHackExpGained","workStrExpGained","workDefExpGained","workDexExpGained","workAgiExpGained","workChaExpGained","workRepGained","workMoneyGained","timeWorked","lastUpdate","Date","getTime","playtimeSinceLastAug","scriptProdSinceLastAug","moneySourceA","reset","hacknetNodes","hashManager","prestige","reapplyAllAugmentations","hp","max_hp","prestigeSourceFile","entropy","karma","sync","resetGangs","hasWseAccount","hasTixApiAccess","has4SData","has4SDataTixApi","corporation","moneySourceB","playtimeSinceLastBitnode","receiveInvite","includes","calculateSkill","exp","mult","calculateSkillF","calculateSkillProgress","calculateSkillProgressF","updateSkillLevels","intelligence","intelligence_exp","ratio","resetMultipliers","hasProgram","programName","home","toLowerCase","setMoney","gainMoney","source","recordMoneySource","loseMoney","MoneySourceTracker","record","gainHackingExp","gainStrengthExp","gainDefenseExp","gainDexterityExp","gainAgilityExp","gainCharismaExp","gainIntelligenceExp","queryStatFromString","tempStr","resetWorkStatus","generalType","group","workType","factionWorkType","singularityStopWork","workMoneyLossRate","timeWorkedCreateProgram","timeWorkedGraftAugmentation","graftAugmentationName","processWorkEarnings","numCycles","focusBonus","hasAugmentation","focus","hackExpGain","strExpGain","defExpGain","dexExpGain","agiExpGain","chaExpGain","moneyGain","startWork","getWorkHackExpGain","getWorkStrExpGain","getWorkDefExpGain","getWorkDexExpGain","getWorkAgiExpGain","getWorkChaExpGain","getWorkRepGain","getWorkMoneyGain","timeNeededToCompleteWork","process","router","toFaction","createProgramWork","toTerminal","takeClass","toCity","toLocation","Locations","Slums","workPartTime","graftAugmentationWork","toGrafting","work","cancelationPenalty","find","specialName","backdoorInstalled","overMax","comp","Companies","influenceStockThroughCompanyWork","finishWork","cancelled","sing","penaltyString","playerReputation","content","reputation","startWorkPartTime","finishWorkPartTime","startFocusing","stopFocusing","startFactionWork","favorMult","startFactionHackWork","getHackingWorkRepGain","startFactionFieldWork","getFactionFieldWorkRepGain","startFactionSecurityWork","getFactionSecurityWorkRepGain","finishFactionWork","bn11Mult","company","companyPositionName","companyPosition","CompanyPositions","baseSalary","salaryMultiplier","hackingExpGain","expMultiplier","strengthExpGain","defenseExpGain","dexterityExpGain","agilityExpGain","charismaExpGain","jobPerformance","calculateJobPerformance","startCreateProgramWork","reqLevel","createProgramReqLvl","programFile","endsWith","split","percComplete","Number","reqLvl","skillMult","getIntelligenceBonus","finishCreateProgramWork","incompleteName","startGraftAugmentationWork","augmentationName","craftAugmentationWork","NeuroreceptorManager","graftingIntBonus","finishGraftAugmentationWork","augName","applyAugmentation","Augmentations","CongruityImplant","applyEntropy","startClass","costMult","expMult","workCostMult","workExpMult","earnings","calculateClassEarnings","finishClass","startCrime","hackExp","strExp","defExp","dexExp","agiExp","chaExp","workerscript","committingCrimeThruSingFn","singFnCrimeWorkerScript","toWork","finishCrime","determineCrimeSuccess","crime","Crimes","type","kills","ws","disableLogs","ALL","scriptRef","takeDamage","regenerateHp","getHospitalizationCost","SnackbarEvents","ToastVariant","WARNING","applyForJob","entryPosType","currCompany","currPositionName","Company","pos","isQualified","reqText","getJobRequirementText","hasPosition","newPos","getNextCompanyPositionHelper","nextPos","getNextCompanyPosition","currentPositionName","currentPosition","isSoftwareJob","isITJob","isBusinessJob","isSecurityEngineerJob","isNetworkEngineerJob","isSecurityJob","isAgentJob","isSoftwareConsultantJob","isBusinessConsultantJob","isPartTimeJob","quitJob","hasJob","Boolean","applyForSoftwareJob","posNames","applyForSoftwareConsultantJob","applyForItJob","applyForSecurityEngineerJob","applyForNetworkEngineerJob","applyForBusinessJob","applyForBusinessConsultantJob","applyForSecurityJob","applyForAgentJob","applyForEmployeeJob","position","applyForPartTimeEmployeeJob","applyForWaiterJob","applyForPartTimeWaiterJob","offset","jobStatReqOffset","reqHacking","requiredHacking","reqStrength","requiredStrength","reqDefense","requiredDefense","reqDexterity","requiredDexterity","reqAgility","reqCharisma","requiredCharisma","requiredReputation","playerAug","NeuroFluxGovernor","reapplyAllSourceFiles","sourceFiles","srcFileKey","SourceFiles","applySourceFile","applyExploit","checkForFactionInvitations","invitedFactions","numAugmentations","allCompanies","allPositions","values","checkMegacorpRequirements","repNeeded","illuminatiFac","Illuminati","isBanned","isMember","alreadyInvited","daedalusFac","Daedalus","covenantFac","TheCovenant","ecorpFac","ECorp","AevumECorp","megacorpFac","MegaCorp","Sector12MegaCorp","bachmanandassociatesFac","BachmanAssociates","AevumBachmanAndAssociates","bladeindustriesFac","BladeIndustries","Sector12BladeIndustries","nwoFac","NWO","VolhavenNWO","clarkeincorporatedFac","ClarkeIncorporated","AevumClarkeIncorporated","omnitekincorporatedFac","VolhavenOmniTekIncorporated","foursigmaFac","FourSigma","Sector12FourSigma","kuaigonginternationalFac","KuaiGongInternational","ChongqingKuaiGongInternational","fulcrumsecrettechonologiesFac","fulcrumSecretServer","AevumFulcrumTechnologies","bitrunnersFac","BitRunners","bitrunnersServer","BitRunnersServer","theblackhandFac","blackhandServer","TheBlackHandServer","nitesecFac","nitesecServer","NiteSecServer","chongqingFac","sector12Fac","newtokyoFac","aevumFac","ishimaFac","volhavenFac","speakersforthedeadFac","Sector12CIA","Sector12NSA","thedarkarmyFac","thesyndicateFac","silhouetteFac","Silhouette","tetradsFac","slumsnakesFac","netburnersFac","Netburners","totalHacknetRam","totalHacknetCores","totalHacknetLevels","v","hserver","HacknetServer","cores","ram","tiandihuiFac","TianDiHui","cybersecFac","CyberSec","cybersecServer","CyberSecServer","setBitNodeNumber","queueAugmentation","aug","PlayerOwnedAugmentation","gainCodingContractReward","reward","CodingContractRewardType","FactionReputation","FactionReputationAll","repGain","totalGain","specialFactions","filter","gainPerFaction","facName","CompanyReputation","to","gotoLocation","canAccessGrafting","giveExploit","exploit","SUCCESS","giveAchievement","achievementId","achievement","achievements","map","ID","unlockedOn","Name","weight","calculateIntelligenceBonus","getCasinoWinnings","casino","getMult","setMult","canAccessCotMG","sf","Corporation","Division","useCorporation","useDivision","Industries","Energy","Utilities","Agriculture","Fishing","Mining","Food","Tobacco","Chemical","Pharmaceutical","Computer","Robotics","Software","Healthcare","RealEstate","IndustryStartingCosts","IndustryDescriptions","corp","IndustryResearchTrees","getBaseResearchTreeCopy","getProductIndustryResearchTreeCopy","resetIndustryResearchTrees","LocationType","hasHacknetServers","purchaseHacknet","numOwned","getCostOfNextHacknetServer","createHacknetServer","updateHashManagerCapacity","getCostOfNextHacknetNode","node","HacknetNode","hasMaxNumberHacknetServers","calculateNodeCost","calculateServerCost","getMaxNumberLevelUpgrades","nodeObj","maxLevel","calculateLevelUpgradeCost","levelsToMax","getMaxNumberRamUpgrades","calculateRamUpgradeCost","log2","getMaxNumberCoreUpgrades","calculateCoreUpgradeCost","getMaxNumberCacheUpgrades","calculateCacheUpgradeCost","cache","purchaseLevelUpgrade","levels","sanitizedLevels","isServer","purchaseRamUpgrade","purchaseCoreUpgrade","purchaseCacheUpgrade","processHacknetEarnings","HashManager","hashes","updateHashRate","h","wastedHashes","storeHashes","upgrade","HashUpgrades","multiplier","processAllHacknetServerEarnings","total","processSingleHacknetNodeEarnings","processAllHacknetNodeEarnings","totalEarnings","nodes","updateCapacity","hashCapacity","purchaseHashUpgrade","upgName","upgTarget","upg","refundUpgrade","funds","target","e","division","divisions","sciResearch","qty","changeRank","skillPoints","generateRandomContract","BlackOperationNames","root","borderBottom","small","width","TableCell","Table","BladeburnerConstants","CityNames","CyclesPerSecond","StaminaGainPerSecond","BaseStaminaLoss","MaxStaminaToGainFactor","DifficultyToTimeFactor","DiffMultExponentialFactor","DiffMultLinearFactor","EffAgiLinearFactor","EffDexLinearFactor","EffAgiExponentialFactor","EffDexExponentialFactor","BaseRecruitmentTimeNeeded","PopulationThreshold","PopulationExponent","ChaosThreshold","BaseStatGain","BaseIntGain","ActionCountGrowthPeriod","RankToFactionRepFactor","RankNeededForFaction","ContractSuccessesPerLevel","OperationSuccessesPerLevel","RanksPerSkillPoint","ContractBaseMoneyGain","HrcHpGain","HrcStaminaGain","NewIndustry","industry","Industry","NewCity","offices","OfficeSpace","loc","size","UnlockUpgrade","price","unlockUpgrades","unlock","LevelUpgrade","basePrice","priceMult","upgrades","IssueDividends","percent","dividendPercentage","SellMaterial","mat","replace","temp","bCost","eval","sCost","q","tempQty","maxsll","prd","sllman","SellProduct","product","all","cities","tempCity","SetSmartSupply","warehouse","smartSupply","smartSupplyEnabled","SetSmartSupplyUseLeftovers","material","useLeftover","smartSupplyUseLeftovers","BuyMaterial","BulkPurchase","matSize","MaterialSizes","maxAmount","sizeUsed","SellShares","numShares","public","shareSaleCooldown","stockSaleResults","calculateShareSale","profit","newSharePrice","newSharesUntilUpdate","issuedShares","sharePrice","shareSalesUntilPriceUpdate","BuyBackShares","buybackPrice","AssignJob","employee","job","UpgradeOfficeSize","office","initialPriceMult","ThrowParty","costPerEmployee","totalCost","employees","throwParty","PurchaseWarehouse","warehouses","Warehouse","UpgradeWarehouseCost","Array","from","reduce","acc","UpgradeWarehouse","sizeUpgradeCost","updateSize","BuyCoffee","IndustryUpgrades","HireAdVert","MakeProduct","productName","designInvest","marketingInvest","makesProducts","maxProducts","hasResearch","products","Product","trim","createCity","designCost","advCost","Research","researchName","researchTree","getAllNodes","research","ResearchMap","researched","ExportMaterial","divisionName","cityName","sanitizedAmt","isRelevantMaterial","exportObj","ind","CancelExportMaterial","LimitProductProduction","prdman","LimitMaterialProduction","SetMaterialMarketTA1","on","marketTa1","SetMaterialMarketTA2","marketTa2","SetProductMarketTA1","SetProductMarketTA2","CorporationManagementHandbook","HistoryOfSynthoids","AGreenTomorrow","AlphaOmega","SimulatedReality","BeyondMan","BrighterThanTheSun","DemocracyIsDead","Sector12Crime","ManAndMachine","SecretSocieties","TheFailedFrontier","CodedIntelligence","SyntheticMuscles","TensionsInTechRace","CostOfImmortality","TheHiddenWorld","TheNewGod","NewTriads","TheSecretWar","programsMetadata","Program","initCompanies","oldCompanies","companiesMetadata","forEach","loadCompanies","FragmentType","Effect","tpe","HackingChance","HackingSpeed","HackingMoney","HackingGrow","Hacking","Strength","Defense","Dexterity","Agility","Charisma","HacknetMoney","HacknetCost","Rep","WorkMoney","Crime","Bladeburner","PositionTypes","SleeveTaskType","removeLeadingSlash","removeTrailingSlash","isValidFilename","isValidDirectoryName","isValidDirectoryPath","path","t_path","dirs","dir","isValidFilePath","fnSeparator","lastIndexOf","fn","getFirstParentDirectory","getAllParentDirectories","lastSlash","getDestinationFilepath","destination","cwd","dstDir","evaluateDirectoryPath","fileName","getFileName","isInRootDirectory","currPath","reconstructedPath","pop","evaluateFilePath","areFilesEqual","f0","f1","areImportsEquals","Shoplift","dexterity_success_weight","agility_success_weight","RobStore","hacking_success_weight","Mug","strength_success_weight","defense_success_weight","Larceny","DealDrugs","charisma_success_weight","BondForgery","TraffickArms","Homicide","GrandTheftAuto","Kidnap","Assassination","Heist","trusted","event","isTrusted","Terminal","TTerminal","AllGangs","power","territory","loadAllGangs","htmlLocation","margin","spacing","flexGrow","minHeight","boxSizing","uninitialized","isInitialized","page","allowRouting","toActiveScripts","toAugmentations","toBitVerse","toBladeburner","toStats","toCorporation","toCreateProgram","toDevMenu","toFactions","toGameOptions","toGang","toHacknetNodes","toInfiltration","toJob","toMilestones","toScriptEditor","toSleeves","toStockMarket","toTravel","toTutorial","toBladeburnerCinematic","toStaneksGift","toAchievements","toThemeBrowser","toImportSave","GameRoot","engine","terminal","files","vim","setEditorOptions","useState","setPage","RecoveryMode","Recovery","Work","determineStartPage","setRerender","augPage","setAugPage","setFaction","flume","setFlume","quick","setQuick","setLocation","Infiltration","Location","Job","cinematicText","setCinematicText","errorBoundaryKey","setErrorBoundaryKey","sidebarOpened","setSideBarOpened","importString","setImportString","importAutomatic","setImportAutomatic","ImportSave","allowRoutingCalls","setAllowRoutingCalls","rerender","old","killAllScripts","saveObject","saveGame","setTimeout","reload","useEffect","subscribe","ActiveScripts","Stats","CreateProgram","DevMenu","Options","Gang","Hacknet","Milestones","Grafting","options","ScriptEditor","Sleeves","StockMarket","Tutorial","City","Travel","calculateAchievements","BitVerse","BladeburnerCinematic","StaneksGift","Achievements","ThemeBrowser","base64save","automatic","_functions","fnName","_wrap","func","scrollTo","mainPage","withSidebar","withPopups","bypassGame","enter","enterBitNode","staneksGift","workerScripts","reactivateTutorial","buyStockLong","buyStock","buyStockShort","shortStock","eventEmitterForReset","eventEmitterForUiReset","initStockMarket","initStockMarketFn","sellStockLong","sellStock","sellStockShort","stockMarket","export","onExport","exportGame","forceKill","exportGameFn","installAugmentationsFn","Provider","killScripts","flexDirection","onToggled","isOpened","updateHashCapacity","seconds","onlineTimeSeconds","hashRate","totalHashesGenerated","prodMult","cpuCores","runScript","script","updateRamUsed","calculateHashGainRate","ramUsed","companyPositionMetadata","CompanyPosition","StatsRow","cellNone","style","align","TheDarkArmyServer","DaedalusServer","DarkWeb","snackbar","zIndex","logBoxBaseZIndex","alignSelf","SnackbarProvider","dense","maxSnack","anchorOrigin","horizontal","vertical","autoHideDuration","containerRoot","EventEmitter","Snackbar","enqueueSnackbar","closeSnackbar","useSnackbar","variant","duration","id","severity","k","onClick","StockSymbols","IshimaStormTechnologies","NewTokyoDefComm","VolhavenHeliosLabs","NewTokyoVitaLife","Sector12IcarusMicrosystems","Sector12UniversalEnergy","AevumAeroCorp","VolhavenOmniaCybersystems","ChongqingSolarisSpaceSystems","NewTokyoGlobalPharmaceuticals","IshimaNovaMedical","AevumWatchdogSecurity","VolhavenLexoCorp","AevumRhoConstruction","Sector12AlphaEnterprises","VolhavenSysCoreSecurities","VolhavenCompuTek","AevumNetLinkTechnologies","IshimaOmegaSoftware","Sector12FoodNStuff","Sector12JoesGuns","validScriptExtensions","isScriptFilename","some","ext","loadStaneksGift","zeros","dimensions","array","calculateGrid","gift","newgrid","height","fragmentAt","calculateHackingChance","difficultyMult","chance","calculateHackingExpGain","expGain","calculatePercentMoneyHacked","percentMoneyHacked","calculateHackingTime","skillFactor","calculateGrowTime","calculateWeakenTime","inviteToFaction","InvitationEvent","allFactions","factionInfo","enemy","enemies","hasAugmentationPrereqs","hasPrereqs","prereqAug","queuedAugmentation","getNextNeuroFluxLevel","updateAugmentationCosts","processPassiveFactionRepGain","offersWork","getGangName","hRep","sRep","fRep","rate","getFactionAugmentationsFiltered","hasGangWith","augs","blacklist","TheRedPill","rng","SFC32RNG","uniqueFilter","Orders","storedCycles","ticksUntilCycle","SymbolToStockMap","shares","workerScript","Stock","order","Order","symbol","orders","stk","processOrderRefs","symbolToStockMap","processOrders","stockOrders","stockSymbol","orderTxt","loadStockMarket","deleteStockMarket","InitStockMetadata","TicksPerCycle","initSymbolToStockMap","cyclesPerStockUpdate","processStockPrices","timeNow","flipForecastForecast","stockMarketCycle","av","chc","otlkMag","cap","changePrice","OrderTypes","LimitBuy","Short","LimitSell","Long","StopBuy","StopSell","otlkMagChange","cycleForecast","cycleForecastForecast","shareTxUntilMovement","shareTxForMovement","Exploit","names","Bypass","EditSaveFile","PrototypeTampering","TimeCompression","Unclickable","UndocumentedFunctionCall","RealityAlteration","N00dles","YoureNotMeantToAccessThis","TrueRecursion","INeedARainbow","ExploitName","Set","netscriptDelay","delayReject","Promise","resolve","reject","delay","env","stopFlag","ScriptDeath","makeRuntimeRejectMsg","msg","scriptUrl","dependencies","url","resolveNetscriptRequestedThreads","functionName","requestedThreads","threads","requestedThreadsAsInt","isScriptErrorMessage","currLevel","initAugmentations","resetFactionAugmentations","clearObject","initNeuroFluxGovernor","initUnstableCircadianModulator","initGeneralAugmentations","initSoAAugmentations","initBladeburnerAugmentations","initChurchOfTheMachineGodAugmentations","resetAugmentation","getBaseAugmentationPriceMultiplier","getGenericAugmentationPriceMultiplier","updateNeuroFluxGovernorCosts","neuroFluxGovernorAugmentation","nextLevel","updateSoACosts","soaAugmentation","soaAugmentationNames","augmentation","soaAugCount","augmentationToUpdate","augmentationExists","AddToAugmentations","reapply","augObj","ownedAug","force","augmentationList","nfgIndex","isRepeatableAug","BitburnerSaveObject","getSaveString","PlayerSave","AllServersSave","CompaniesSave","FactionsSave","AliasesSave","Aliases","GlobalAliasesSave","GlobalAliases","StockMarketSave","SettingsSave","VersionSave","LastExportBonus","ExportBonus","StaneksGiftSave","AllGangsSave","btoa","unescape","encodeURIComponent","emitToastEvent","savedOn","lastSave","then","saveData","playerIdentifier","identifier","getSaveFileName","pushGameSaved","INFO","catch","isRecovery","epochTime","now","bn","download","importGame","base64Save","getImportStringFromFile","file","reader","FileReader","promise","onload","readAsText","newSave","parsedSave","atob","base64","importedPlayer","playerData","totalPlaytime","current","bitNode","bitNodeLevel","loadGame","navigator","userAgent","setInterval","decodeURIComponent","escape","saveObj","loadAliases","loadGlobalAliases","ver","anyPlayer","positionName","companyPositions","changes","convert","code","change","scripts","v1APIBreak","nf","revenue","expenses","lastCycleRevenue","lastCycleExpenses","thisCycleRevenue","thisCycleExpenses","resleeves","evaluateVersionCompatibility","href","resets","createNewUpdateText","whiteSpace","paddingLeft","lineHeight","Blob","msSaveOrOpenBlob","document","createElement","URL","createObjectURL","body","appendChild","click","removeChild","revokeObjectURL","MoneyRate","CodingContractType","gen","solver","diff","numTries","generate","CodingContractTypes","md","codingContractTypesMetadata","CodingContractResult","CodingContract","getDifficulty","getMaxNumTries","getType","isSolution","solution","Cancelled","onAttempt","val","Success","Failure","CodingContractEvent","Fragments","Fragment","shape","limit","fullAt","rotation","sy","mx","my","qx","qy","neighboors","candidates","add","coord","cells","candidate","cell","copy","FragmentById","fragment","_","X","Shapes","S","Z","T","I","J","O","Booster","NoneFragment","None","DeleteFragment","Delete","rep","Reputation","base","inherit","common","accent","bg","fg","syntax","tag","entity","string","regexp","markup","keyword","comment","constant","line","panel","selected","selection","colorRegExp","sanitizeTheme","entries","repairBlock","block","makeTheme","themeRules","token","foreground","themeColors","fromEntries","rules","async","loadThemes","monaco","editor","defineTheme","fontStyle","uuidv4","uuid","subscribers","sub","Adjuster","setValue","label","placeholder","subtract","tons","onChange","InputProps","startAdornment","title","transform","endAdornment","numCycleForGrowth","growth","ajdGrowthRate","serverGrowthPercentage","coreBonus","numCycleForGrowthCorrected","targetMoney","startMoney","adjGrowthRate","exponentialBase","coreMultiplier","threadMultiplier","w","ey","cycles","bt","corr","bct","opc","fca","cca","ceil","processSingleServerGrowth","calculateServerGrowth","oldMoneyAvailable","isValidNumber","usedCycles","prestigeHomeComputer","homeComp","hasBitflume","BitFlume","updateRamUsage","getServerOnNetwork","isBackdoorInstalled","upArrowSymbol","downArrowSymbol","leftArrowSymbol","rightArrowSymbol","getArrow","UP_ARROW","W","LEFT_ARROW","DOWN_ARROW","RIGHT_ARROW","D","getInverseArrow","makeNode","Node","text","createBaseResearchTreeNodes","rootNode","autoBrew","autoParty","autoDrugs","bulkPurchasing","cph4","drones","dronesAssembly","dronesTransport","goJuice","hrRecruitment","hrTraining","joywire","marketta1","marketta2","overclock","scAssemblers","stimu","addChild","baseResearchTree","ResearchTree","setRoot","upgradeFulcrum","upgradeCapacity1","upgradeCapacity2","upgradeDashboard","SkillNames","BladesIntuition","Cloak","Marksman","WeaponProficiency","ShortCircuit","DigitalObserver","Tracer","Overclock","Reaper","EvasiveSystem","Datamancer","CybersEdge","HandsOfMidas","Hyperdrive","count","getActionTimePenalty","getChaosCompetencePenalty","getChaosDifficultyBonus","useGang","killWorkerScript","rerenderUi","WorkerScript","stopAndCleanUpWorkerScript","RunningScript","killWorkerScriptByPid","pid","compareArrays","clearTimeout","killNetscriptDelay","runningScript","rs","ramUsage","delete","AddRecentScript","WorkerScriptStartStopEventEmitter","removeWorkerScript","MoneyCost","String","defaultConstructorParams","initPrice","marketCap","spreadPerc","range","divisor","lastPrice","playerShares","playerAvgPx","playerShortShares","playerAvgShortPx","otlkMagForecast","getAbsoluteForecast","totalSharesUnrounded","totalShares","maxShares","changeForecastForecast","newff","newPrice","changeAmt","increaseChance","getForecastIncreaseChance","influenceForecast","influenceForecastForecast","printAliases","parseAliasDeclaration","global","matches","addGlobalAlias","addAlias","getAlias","getGlobalAlias","removeAlias","substituteAliases","origCommand","commandArray","somethingSubstituted","depth","alias","Literature","ThemeEvents","refreshTheme","createTheme","combat","cha","int","backgroundprimary","backgroundsecondary","button","successlight","success","successdark","white","black","light","primarylight","primarydark","secondary","secondarylight","secondarydark","errorlight","errordark","infolight","infodark","warning","warninglight","warningdark","well","typography","fontFamily","textTransform","components","MuiInputBase","styleOverrides","input","userSelect","MuiInput","borderBottomColor","underline","MuiInputLabel","MuiButtonGroup","marginRight","MuiButton","borderRadius","MuiSelect","icon","defaultProps","MuiTextField","MuiTypography","MuiMenu","list","MuiMenuItem","MuiAccordionSummary","MuiAccordionDetails","MuiIconButton","MuiTooltip","tooltip","fontSize","disableInteractive","MuiSlider","valueLabel","MuiDrawer","paperAnchorDockedLeft","borderRight","welllight","MuiDivider","MuiFormControlLabel","MuiSwitch","switchBase","track","MuiPaper","MuiTablePagination","select","selectLabel","displayedRows","MuiTab","textColorPrimary","MuiTabs","scrollButtons","opacity","TabIndicatorProps","MuiAlert","standardSuccess","standardError","standardWarning","standardInfo","TTheme","injectFirst","OptionSwitch","checked","control","CopyableText","setOpen","copyText","setSelectionRange","execCommand","Water","Plants","Metal","Hardware","Chemicals","Drugs","Robots","AICores","errorMessage","freeze","calculateExp","skill","currentSkill","nextSkill","baseExperience","nextExperience","progress","currentExperience","remainingExperience","experience","UpgradeType","gangMemberUpgradesMetadata","def","upgType","Weapon","dex","agi","Armor","Vehicle","Rootkit","gainFavor","getFavorGain","totalRep","favorToRep","repToFavor","layerCounter","LogBoxEvents","LogBoxClearEvents","LogBoxManager","LogWindow","close","visibility","overflowY","overflowX","titleButton","draggableRef","useRef","rootRef","setScript","container","minimized","setMinimized","findRunningScript","startWorkerScript","updateLayer","full","maxLength","minimize","clearInterval","addEventListener","onResize","removeEventListener","debounce","isOnScreen","resetPosition","bounds","getBoundingClientRect","right","bottom","left","innerWidth","top","outerWidth","state","setState","handle","onDrag","clientX","clientY","innerHeight","ref","flexFlow","onMouseDown","cursor","has","onTouchEnd","overflowWrap","minConstraints","constructLocation","asciiArt","LocationsMetadata","addLocation","GangConstants","GangRespectToReputationRatio","MaximumGangMembers","CyclesPerTerritoryAndPowerUpdate","AscensionMultiplierRatio","Names","GangKarmaRequirement","startingLevel","extraLevels","totalMultiplier","startingRam","numUpgrades","currentRam","startingCores","currentCores","startingCache","currentCache","FactionWorkType","createProgressBarText","derived","totalTicks","bars","dashes","NetscriptPorts","NetscriptPort","prestigeWorkerScripts","port","startNetscript1Script","codeWithImports","codeLineOffset","running","importProcessingRes","ast","ecmaVersion","allowReserved","sourceType","generatedCode","hasImports","walksimple","ImportDeclaration","scriptName","getScript","scriptAst","specifiers","namespace","local","fnNames","fnDeclarations","FunctionDeclaration","fnsToImport","lineOffset","linesRemoved","processNetscript1Imports","interpreterInitialization","scope","NetscriptFunctions","entry","tempWrapper","fnArgs","pseudoToNative","cb","errorTextArray","errorMsg","setProperty","createAsyncFunction","createNativeFunction","nativeToPseudo","interpreter","Interpreter","runInterpreter","more","step","parent","createAndAddWorkerScript","oneRamUsage","getRamUsageFromRunningScript","roundToTwo","arrayToString","generateNextPid","set","scriptExecution","runningFn","wrap","propName","finally","wrapObject","vars","tree","isArray","executeJSScript","SyntaxError","message","stack","startNetscript2Script","onlineExpGained","onlineMoneyMade","updateOnlineScriptTimes","onlineRunningTime","loadAllRunningScripts","skipScriptLoad","markUpdated","scriptCalculateOfflineProduction","runScriptFromScript","caller","scriptname","arg","ramAvailable","hasAdminRights","Map","StatsTable","rows","wide","MuiTable","row","elem","noWrap","Material","getMarkupLimit","qlt","mku","dmd","dmdR","cmp","cmpR","processMarket","priceChange","compChange","dmdChange","calculateWantedPenalty","respect","wantedLevel","calculateRespectGain","task","baseRespect","statWeight","hackWeight","strWeight","defWeight","dexWeight","agiWeight","chaWeight","territoryMult","territoryPenalty","respectMult","calculateWantedLevelGain","baseWanted","wanted","calc","calculateMoneyGain","baseMoney","calculateAscensionPointsGain","calculateAscensionMult","points","TimerProgress","withStyles","bar","transition","LinearProgress","GameTimer","setV","totalMillis","WKSharmonizer","millis","intervalId","onExpire","item","xs","ActionIdentifier","general","contracts","ops","blackops","events","updateSkillMultipliers","calculateMaxStamina","stamina","maxStamina","getCurrentCity","calculateStaminaPenalty","canAttemptBlackOp","actionId","getActionObject","reqdRank","rank","nm","BlackOperations","isAvailable","actionTimeCurrent","actionTimeToComplete","resetAction","exceptionAlert","comms","testBlackOp","getRecruitmentTime","skillName","skills","executeConsoleCommands","commands","consoleHistory","arrayOfCommands","executeConsoleCommand","postToConsole","saveToLogs","consoleLogs","getTimestamp","clearConsole","bladeburnerFac","storeCycles","getActionIdFromTypeAndName","convertedType","convertedName","operations","executeStartConsoleCommand","GeneralActions","executeSkillConsoleCommand","skillNames","Skills","multKeys","skillMultipliers","Skill","currentLevel","pointCost","calculateCost","maxLvl","executeLogConsoleCommand","flag","logging","executeHelpConsoleCommand","ConsoleHelpText","helpList","helpText","executeAutomateConsoleCommand","variable","highLow","automateActionHigh","automateActionLow","automateThreshHigh","automateThreshLow","automateEnabled","parseCommandArguments","command","start","endQuote","SPACE","substr","triggerMigration","sourceCityName","destCityName","destCity","sourceCity","rand","percentage","triggerPotentialMigration","randomEvent","chaos","gainActionStats","successMult","unweightedGain","unweightedIntGain","weights","getDiplomacyEffectiveness","getRecruitmentSuccessChance","teamSize","effCharisma","effCha","charismaFactor","resetSkillMultipliers","successChanceAll","successChanceStealth","successChanceKill","successChanceContract","successChanceOperation","successChanceEstimate","actionTime","effHack","effStr","effDef","effDex","effAgi","effInt","multiplierNames","multiplierName","getMultiplier","multiplierValue","completeOperation","teamCount","losses","teamLost","improvePopulationEstimateByPercentage","changePopulationByPercentage","changeEstEqually","nonZero","changeChaosByCount","changeChaosByPercentage","changePopulationByCount","estChange","estOffset","completeContract","improvePopulationEstimateByCount","completeAction","isOperation","difficultyMultiplier","rewardMultiplier","rewardFac","successes","setMaxLevel","rankGain","gain","addOffset","failures","loss","damage","rankLoss","hpLoss","hpLost","calculateHospitalizationCost","numHosp","moneyLost","logLossText","autoLevel","teamLossMax","OperationDaedalus","staminaGain","staminaBonus","eff","successChance","contract","growthF","Growths","operation","maxRank","bladeburnersFactionName","favorBonus","rankNeededForSp","totalSkillPoints","gainedSkillPoints","processAction","actionTimeOverflow","calculateStaminaGainPerSecond","effAgility","maxStaminaBonus","oldMax","difficultyFac","decays","isStealth","isKill","BladesSimulacrum","op","randomEventCounter","getTypeAndNameFromActionId","types","getContractNamesNetscriptFn","getOperationNamesNetscriptFn","getBlackOpNamesNetscriptFn","getGeneralActionNamesNetscriptFn","getSkillNamesNetscriptFn","startActionNetscriptFn","errorLogText","canRunOp","getActionTimeNetscriptFn","actionObj","getActionEstimatedSuccessChanceNetscriptFn","getEstSuccessChance","recChance","getActionCountRemainingNetscriptFn","getSkillLevelNetscriptFn","getSkillUpgradeCostNetscriptFn","upgradeSkillNetscriptFn","getTeamSizeNetscriptFn","setTeamSizeNetscriptFn","sanitizedSize","joinBladeburnerFactionNetscriptFn","calculateMoneyGainRate","startingCore","sanitizedCores","coreBaseCost","win","reachedLimit","reached","Game","KeyHandler","press","onKeyDown","interpolate","settings","out","lerpD","lerp","Trivial","Normal","Hard","Impossible","updateMoneyGainRate","moneyGainRatePerSecond","totalMoneyGenerated","minMax","getPurchaseServerCost","sanitizedRam","isPowerOfTwo","sign","getPurchaseServerMaxRam","getPurchaseServerLimit","clz32","newServ","purchaseRamForHomeComputer","TextFile","append","show","getTextFile","textFiles","createTextFile","costInc","getBuyTransactionCost","posType","getSellTransactionGain","processTransactionForecastMovement","firstShares","remainingShares","numIterations","forecastChange","forecastForecastChange","calculateBuyMaxAmount","isLong","remainingMoney","currPrice","GangMemberUpgrades","GangMemberUpgrade","getStockMarket4SDataCost","getStockMarket4STixApiCost","getStockMarketWseCost","getStockMarketTixApiCost","timePassed","confidence","dataMap","serv","timesGrown","host","offlineRunningTime","offlineExpGained","timesWeakened","findRunningScriptByPid","Hashes","DefaultConstructorParams","isPlayerEmployed","isMegacorp","hasAgentPositions","hasBusinessConsultantPositions","hasBusinessPositions","hasEmployeePositions","hasITPositions","hasSecurityPositions","hasSoftwareConsultantPositions","hasSoftwarePositions","hasWaiterPositions","HashUpgradesMetadata","HashUpgrade","GangMemberTasks","gangMemberTasksMetadata","GangMemberTask","isHacking","isCombat","materials","updateMaterialSizeUsed","matName","getStorageMultiplier","CalculateShareMult","opts","suppressDialog","totalPrice","origTotal","newTotal","rerenderFn","resultTxt","gains","netProfit","origCost","Output","formatTime","RawOutput","raw","Link","TTimer","timeLeft","ConfirmationModal","confirmationText","onConfirm","additionalButton","hash","__COMMIT_HASH__","globalModuleSequenceNumber","Script","otherScripts","moduleSequenceNumber","saveScript","formatCode","dependent","dependents","dependentScript","calculateRamUsage","ramUsageEntries","imports","vals","DarkWebItems","BruteSSHProgram","DarkWebItem","FTPCrackProgram","RelaySMTPProgram","HTTPWormProgram","SQLInjectProgram","ServerProfiler","DeepscanV1","DeepscanV2","AutolinkProgram","AutoLink","FormulasProgram","Formulas","actionNames","actionName","Action","Suit","Card","suit","formatValue","isRedSuit","Hearts","Diamonds","getStringRepresentation","SourceFile","bitnodeKey","bitnode","createTaskTracker","Person","calculateStat","getFactionHackingWorkRepGain","updateStatLevels","MathJaxWrapper","version","src","lineNumber","CorporationUnlockUpgradeIndex","CorporationUnlockUpgrades","Export","SmartSupply","MarketResearchDemand","MarketDataCompetition","VeChain","ShadyAccounting","GovernmentPartnership","WarehouseAPI","OfficeAPI","getGraftingAvailableAugs","calculateGraftingTimeWithBonus","OperationTyphoon","OperationZero","OperationX","OperationTitan","OperationAres","OperationArchangel","OperationJuggernaut","OperationRedDragon","OperationK","OperationDeckard","OperationTyrell","OperationWallace","OperationShoulderOfOrion","OperationHyron","OperationMorpheus","OperationIonStorm","OperationAnnihilus","OperationUltron","OperationCenturion","OperationVindictus","ActiveFragment","highestCharge","numCharge","collide","other","thisFragment","otherFragment","dx","dy","fragSize","worldX","worldY","commit","div","successRate","researchMetadata","GameOptionsTab","Message","ApplyToJobButton","getJobRequirementTooltip","initElectron","normalizeFileName","getFiles","deleteFile","removeFile","saveFile","Buffer","overwritten","writeToScriptFile","initWebserver","funcs","typesFn","appNotifier","initAppNotifier","triggerSave","triggerGameExport","ERROR","triggerScriptsExport","exportScripts","getSaveData","getSaveInfo","getImportDataFromString","pushSaveData","appSaveFns","initSaveFunctions","bridge","electronBridge","receive","send","initElectronBridge","pushGameReady","playtime","game","pushImportResult","wasImported","pushDisableRestore","achievementData","bitNodeFinishedState","wd","hasAccessToSF","knowsAboutBitverse","Icon","Condition","THE_BLACK_HAND","THE_COVENANT","Visible","MONEY_1Q","MONEY_M1B","Secret","INSTALL_1","INSTALL_100","QUEUE_40","HACKING_100000","COMBAT_3000","NEUROFLUX_255","NS2","FROZE","RUNNING_SCRIPTS_1000","DRAIN_SERVER","MAX_RAM","MAX_CORES","SCRIPTS_30","KARMA_1000000","STOCK_1q","DISCOUNT","SCRIPT_32GB","FIRST_HACKNET_NODE","MAX_HACKNET_NODE","HACKNET_NODE_10M","REPUTATION_10M","DONATION","TRAVEL","WORKOUT","TOR","hasTorRouter","HOSPITALIZED","hospitalization","GANG","FULL_GANG","members","GANG_TERRITORY","GANG_MEMBER_POWER","CORPORATION","CORPORATION_BRIBE","CORPORATION_PROD_1000","CORPORATION_EMPLOYEE_3000","CORPORATION_REAL_ESTATE","Description","INTELLIGENCE_255","BLADEBURNER_DIVISION","BLADEBURNER_OVERCLOCK","BLADEBURNER_UNSPENT_100000","FIRST_HACKNET_SERVER","AdditionalUnlock","ALL_HACKNET_SERVER","MAX_HACKNET_SERVER","hs","HACKNET_SERVER_1B","MAX_CACHE","capacity","SLEEVE_8","INDECISIVE","FAST_BN","CHALLENGE_BN1","CHALLENGE_BN2","CHALLENGE_BN3","CHALLENGE_BN6","CHALLENGE_BN7","CHALLENGE_BN8","CHALLENGE_BN9","hacknet_expenses","CHALLENGE_BN10","CHALLENGE_BN12","BYPASS","PROTOTYPETAMPERING","UNCLICKABLE","UNDOCUMENTEDFUNCTIONCALL","TIMECOMPRESSION","REALITYALTERATION","N00DLES","EDITSAVEFILE","UNACHIEVABLE","CHALLENGE_BN13","StaneksGift1","DEVMENU","RAINBOW","TRUE_RECURSION","playerAchievements","missingAchievements","flatMap","Intelligence","useTheme","colSpan","WorkInProgressOverview","onClickFocus","header","workCell","workHeader","pt","pb","workSubtitles","mt","details","innerText","textAlign","CharacterOverview","killOpen","setKillOpen","hackingProgress","strengthProgress","defenseProgress","dexterityProgress","agilityProgress","charismaProgress","borderTop","flex","aria-label","midpoint","program","description","BadRNG","WHRNG","s1","s2","s3","genSeed","Favor","crimeKey","currentTask","finishTask","resetTaskStatus","gainRatesForTask","currentTaskLocation","currentTaskMaxTime","retValue","currentTaskTime","successGainRates","keysForIteration","gainExperience","fromOtherSleeve","multFac","pHackExp","pStrExp","pDefExp","pDexExp","pAgiExp","pChaExp","earningsForPlayer","earningsForTask","earningsForSleeves","getMemoryUpgradeCost","memory","currCost","currMemory","getRepGain","Field","Security","installAugmentation","cyclesUsed","Class","Gym","updateTaskGainRates","Synchro","gymStatType","takeUniversityCourse","universityName","AevumSummitUniversity","Sector12RothmanUniversity","VolhavenZBInstituteOfTechnology","newCity","tryBuyAugmentation","AevumCrushFitnessGym","AevumSnapFitnessGym","Sector12IronGym","Sector12PowerhouseGym","VolhavenMilleniumFitnessGym","baseGymExp","totalExpMultiplier","getTrainingMult","sanitizedStat","totalExpMult","getStudyMult","upgradeMemory","sanitizedWorkType","offerHackingWork","offerFieldWork","offerSecurityWork","workoutAtGym","gymName","stat","RamCalculationErrorCode","TerminalEvents","TerminalClearEvents","orderType","refs","orderBook","executeOrder","isBuy","predefined","getPredefinedThemes","AlertManager","alerts","setAlerts","sha256","getMessageHash","getRandomByte","getDB","indexedDB","indexedDbRequest","onupgradeneeded","createObjectStore","onerror","ev","onsuccess","db","transaction","objectStore","request","put","deleteGame","sendMessage","forced","showMessage","recvd","addMessageToServer","Messages","checkForMessagesToSend","jumper0","MessageFilenames","Jumper0","jumper1","Jumper1","jumper2","Jumper2","jumper3","Jumper3","jumper4","Jumper4","cybersecTest","CyberSecTest","nitesecTest","NiteSecTest","bitrunnersTest","BitRunnersTest","truthGazer","TruthGazer","redpill","RedPill","worldDaemon","flightName","Flight","canGetBonus","setLastExportBonus","unixTime","Option","buttonText","infoText","getTeamSuccessBonus","inst","getActionTypeSkillSuccessBonus","AevumGalacticCybersystems","Sector12DeltaOne","AevumPolice","NewTokyoNoodleBar","nextPosition","repMultiplier","reqdHacking","reqdStrength","reqdDefense","reqdDexterity","requiredAgility","reqdAgility","reqdCharisma","reqdReputation","hackingEffectiveness","strengthEffectiveness","defenseEffectiveness","dexterityEffectiveness","agilityEffectiveness","charismaEffectiveness","hackRatio","strRatio","defRatio","dexRatio","agiRatio","chaRatio","reputationGain","logEntry","logUpd","displayLog","recordHack","moneyGained","recordGrow","recordWeaken","checkEnum","enumVariable","StartButton","fmt","FactionInfo","keep","keepOnInstall","assignment","getUpgrade","getUpgradeCost","getCost","newCap","problemType","getRandomProblemType","getRandomReward","randServer","getRandomServer","contractFn","getRandomFilename","addContract","generateRandomContractOnHome","generateContract","problemTypes","rewardType","factionsThatAllowHacking","sanitizeRewardType","numFactions","randFaction","allJobs","randIndex","found","findCrime","roughName","atCapacity","marketCycles","emp","hireRandomEmployee","calculateTotalEmployees","maxEne","maxHap","maxMor","perfMult","hasAutobrew","hasAutoparty","salaryPaid","mor","hap","ene","calculateEmployeeProductivity","employeeJobs","employeeProd","prod","calculateProductivity","getElementById","cre","sal","Employee","creativity","efficiency","salary","assignEmployeeToJob","unassignEmployeeFromJob","setEmployeeToJob","amount","jobCount","CorporationUpgradeIndex","CorporationUpgrades","SmartFactories","benefit","SmartStorage","DreamSense","WilsonAnalytics","NuoptimalNootropicInjectorImplants","SpeechProcessorImplants","NeuralAccelerators","FocusWires","ABCSalesBots","ProjectInsight","validator","paramValidator","calculateSellInformationCashReward","levelBonus","calculateTradeInformationRepReward","calculateInfiltratorsRepReward","startingSecurityLevel","infiltrationData","sanitizedSource","comprGenChar","comprLZGenerate","plain","comprLZEncode","cur_state","fill","new_state","tmp_state","len","comprLZDecode","compr","literal_length","backref_length","backref_offset","StatsProgressBar","remaining","StatsProgressOverviewCell","characterOverviewStyles","paddingBottom","MightOfAres","WisdomOfAthena","ChaosOfDionysus","BeautyOfAphrodite","TrickeryOfHermes","FloodOfPoseidon","HuntOfArtemis","KnowledgeOfApollo","HemoRecirculator","Targeting1","Targeting2","Targeting3","SyntheticHeart","SynfibrilMuscle","CombatRib1","CombatRib2","CombatRib3","NanofiberWeave","SubdermalArmor","WiredReflexes","GrapheneBoneLacings","BionicSpine","GrapheneBionicSpine","BionicLegs","GrapheneBionicLegs","SpeechProcessor","TITN41Injection","EnhancedSocialInteractionImplant","BitWire","ArtificialBioNeuralNetwork","ArtificialSynapticPotentiation","EnhancedMyelinSheathing","SynapticEnhancement","NeuralRetentionEnhancement","DataJack","ENM","ENMCore","ENMCoreV2","ENMCoreV3","ENMAnalyzeEngine","ENMDMA","Neuralstimulator","NeuralAccelerator","CranialSignalProcessorsG1","CranialSignalProcessorsG2","CranialSignalProcessorsG3","CranialSignalProcessorsG4","CranialSignalProcessorsG5","NeuronalDensification","NuoptimalInjectorImplant","SpeechEnhancement","FocusWire","PCDNI","PCDNIOptimizer","PCDNINeuralNetwork","ADRPheromone1","ADRPheromone2","ShadowsSimulacrum","HacknetNodeCPUUpload","HacknetNodeCacheUpload","HacknetNodeNICUpload","HacknetNodeKernelDNI","HacknetNodeCoreDNI","Neurotrainer1","Neurotrainer2","Neurotrainer3","Hypersight","LuminCloaking1","LuminCloaking2","SmartSonar","PowerRecirculator","QLink","SPTN97","HiveMind","CordiARCReactor","SmartJaw","Neotra","Xanipher","HydroflameLeftArm","nextSENS","OmniTekInfoLoad","PhotosyntheticCells","Neurolink","CRTX42AA","Neuregen","CashRoot","NutriGen","PCMatrix","INFRARet","DermaForce","GrapheneBrachiBlades","BrachiBlades","GrapheneBionicArms","BionicArms","SNA","EsperEyewear","EMS4Recombination","OrionShoulder","HyperionV1","HyperionV2","GolemSerum","VangelisVirus","VangelisVirus3","INTERLINKED","BladeRunner","BladeArmor","BladeArmorPowerCells","BladeArmorEnergyShielding","BladeArmorUnibeam","BladeArmorOmnibeam","BladeArmorIPU","StaneksGift2","StaneksGift3","donationBonus","randomBonuses","bonuses","randomNumber","getRandomBonus","UnstableCircadianModulatorParams","UnstableCircadianModulator","canAccessGang","isAwareOfGang","getGangFaction","startGang","oldhp","PromptEvent","PromptManager","setPrompt","PromptMenuText","PromptMenuSelect","PromptContent","PromptMenuBoolean","paddingTop","submit","autoFocus","onInput","stopPropagation","ENTER","preventDefault","choices","getItems","createCityMap","demand","competition","quality","per","performance","dur","durability","rel","reliability","aes","aesthetics","fea","features","siz","reqMats","req","createProduct","empWorkMult","fin","prog","finishProduct","progrMult","engrRatio","mgmtRatio","rndRatio","opsRatio","busRatio","totalMult","sciFac","calculateRating","advMult","busmgtgRatio","isFinite","awareness","popularity","reqMat","ProductRatingWeights","rat","Quality","Performance","Durability","Reliability","Aesthetics","Features","prodMats","ProgramsSeen","ProgramsRoot","getHackingLevelRemaining","disableGutters","mb","gridTemplateColumns","curCompletion","getProgCompletion","Paper","flexWrap","mr","InvitationsSeen","FactionsRoot","allJoinedFactions","ml","openFaction","openFactionAugPage","getAugsLeft","acceptInvitation","destroyedBitNode","newBitNode","bitNodeNumber","sourceFileKey","sourceFile","alreadyOwned","ownedSourceFile","playerSrcFile","PlayerOwnedSourceFile","giveSourceFile","ActivateRecoveryMode","RecoveryRoot","errorData","resetError","issueUrl","newIssueUrl","startIcon","onTriggered","px","multiline","fullWidth","sharePower","StartSharing","CSM","nsFuncsGenerator","sanitizedPid","Environment","getScriptOnServer","shouldLog","HashRate","CorporationState","numUnlockUpgrades","upgradeMultipliers","addFunds","getState","gameCycles","issueNewSharesCooldown","avgProfit","cycleProfit","retainedEarnings","getDividends","updateSharePrice","nextState","dividendsPerShare","dividends","determineValuation","getTargetSharePrice","targetPrice","immediatelyUpdateSharePrice","sharesTracker","sharesUntilUpdate","sharesSold","maxIterations","convertCooldownToString","cd","upgN","dividendTaxPercentage","upgradeAmt","getProductionMultiplier","getDreamSenseGain","getAdvertisingMultiplier","getEmployeeCreMultiplier","getEmployeeChaMultiplier","getEmployeeIntMultiplier","getEmployeeEffMultiplier","getSalesMultiplier","getScientificResearchMultiplier","getStarterGuide","hasHandbook","handbookFn","showLiterature","popEst","locations","OptionsSlider","callback","valueLabelDisplay","marks","TickerDisplayMode","DisplayModeButton","tickerDisplayMode","Portfolio","changeDisplayMode","StockTickersConfig","changeWatchlistFilter","sum","EPSILON","decay","getSuccessChance","baseTime","skillFac","effDexterity","statFac","est","clamp","real","low","high","competence","playerStatLvl","effMultiplier","getSuccessesNeededForNextLevel","baseSuccessesPerLevel","maintainMembership","finishAction","penalty","hack_asc_points","str_asc_points","def_asc_points","dex_asc_points","agi_asc_points","cha_asc_points","resetPidCounter","setMaxRam","recentScripts","killedTime","unshift","timeOfDeath","frames","Apr1Events","Apr1","getMonth","getDate","isApr1","setN","allow","currentCity","onTravel","WorldMap","SuccessChance","estimatedSuccessChance","StaticModal","char","CorruptableText","setContent","counter","timers","letter","randFrom","randomize","timerId","litObj","Literatures","checkIfConnectedToDarkweb","listAllDarkwebItems","printRaw","buyDarkwebItem","itemName","pushProgram","buyAllDarkwebItems","itemsToBuy","baseCheck","netscriptCanHack","initialCheck","netscriptCanGrow","netscriptCanWeaken","calculateRawDiff","startingDifficulty","calculateReward","GraftableAugmentation","antiLog","ReputationRate","isNumber","ParseCommands","allCommands","flat","ParseCommand","inQuote","prevChar","escaped","DOUBLE_QUOTE","QUOTE","CinematicText","setI","done","setDone","lines","onDone","newI","auto","MaxSleevesFromCovenant","BaseCostPerSleeve","specialReferenceIF","specialReferenceFOR","specialReferenceWHILE","memCheckGlobalKey","parseOnlyRamCalculate","dependencyMap","completedParses","parseQueue","parseCode","moduleName","parseOnlyCalculateDeps","additionalModules","initialModule","nextModule","URLImportError","ImportError","detailedCosts","unresolvedRefs","resolvedRefs","prefix","ident","dep","applyFuncRam","loadedFns","refDetail","fnRam","checkInfiniteLoop","missingAwaitLine","walk","WhileStatement","st","walkDeeper","nodeHasTrueTest","test","hasAwait","AwaitExpression","currentModule","globalKey","internalToExternal","addRef","external","objectPrototypeProperties","getOwnPropertyNames","commonVisitors","Identifier","DoWhileStatement","ForStatement","update","IfStatement","consequent","alternate","MemberExpression","importModuleName","spec","imported","codeCopy","decimal","pidCounter","tempCounter","MAX_SAFE_INTEGER","updateDynamicRam","ramCost","dynamicLoadedFns","dynamicRamUsage","safeGetServer","callingFnName","makeRuntimeErrorMsg","scriptArgs","getRunningScriptByPid","createPublicRunningScript","offlineMoneyMade","getCannotFindRunningScriptErrorMessage","failOnHacknetServer","callingFn","errstack","userstack","stackline","dependency","parseChromeStackline","lineMatch","funcMatch","chromeCall","parseFirefoxStackline","lio","firefoxCall","rejectMsg","manual","hackingTime","canHack","hackChance","expGainedOnSuccess","expGainedOnFailure","percentHacked","maxThreadNeeded","moneyDrained","influenceStockThroughServerHack","argsToString","toNative","helper","funcName","argName","boolean","checkSingularityAccess","getValidPort","iport","NetscriptGang","NetscriptSleeve","extra","NetscriptExtra","NetscriptHacknet","wrapAPI","NetscriptInfiltration","NetscriptStanek","NetscriptBladeburner","NetscriptCodingContract","NetscriptCorporation","formulas","NetscriptFormulas","NetscriptSingularity","stockmarket","NetscriptStockMarket","NetscriptUserInterface","NetscriptGrafting","_hostname","_hackAmount","hackAmount","_threads","_time","growTime","moneyBefore","moneyAfter","logGrowPercent","influenceStockThroughServerGrow","_growth","_cores","maxThreadsNeeded","weakenTime","end","_format","tprintf","_fn","possibleLogs","arguments","openPortCount","sshPortOpen","ftpPortOpen","smtpPortOpen","httpPortOpen","sqlPortOpen","_scriptname","scriptServer","spawnDelay","killByPid","scriptsRunning","_hostname1","hostname2","hostname1","destServer","currServ","txtFile","newFile","sourceScript","oldScript","newScript","_grep","grep","allFiles","processes","speed","production","purchaseCost","coreCost","levelCost","_filename","_ram","_name","hostnameStr","_port","_mode","tryWrite","_file","clearPort","status","suc","_n","_milliseconds","_milliPrecision","milliseconds","milliPrecision","alert","_message","_variant","_txt","_url","_target","$","writeToTextFile","fail","tor","inBladeburner","hasCorporation","_host","_source","_destination","source_is_txt","dest_is_txt","source_file","dest_file","flags","Flags","enums","getFunctionNames","functionNames","moneyHacked","orgName","percTotalMoneyHacked","moneyGrown","percTotalMoneyGrown","performanceMult","cyclesOfWork","compName","isHackingGang","respectGainRate","wantedGainRate","moneyGainRate","storedTerritoryAndPowerCycles","territoryClashChance","territoryWarfareEngaged","notifyMemberDeath","getPower","getTerritory","processGains","processExperienceGains","processTerritoryAndPowerGains","moneyGains","respectGains","wantedLevelGains","justice","recordEarnedRespect","oldWanted","newWanted","gangName","calculatePower","gainRoll","multiplicativeGain","powerMult","PowerMultiplier","additiveGain","gangs","g","others","thisGang","otherGang","thisPwr","thisChance","calculateTerritoryGain","winGang","loseGang","powerBonus","territoryGain","clash","won","baseDeathChance","modifiedDeathChance","killMember","getRespectNeededToRecruitMember","GangMember","getWantedPenalty","memberTotal","totalRespect","lostRespect","earnedRespect","ascend","getDiscount","discount","getAllTaskNames","taskName","repFromDonation","tooltiptext","reqRep","TerminalHelpText","TemplatedHelpTexts","HelpTexts","analyze","backdoor","cat","check","cls","cp","expr","free","help","history","lscpu","mem","nano","sudov","unalias","GameEnv","Platform","getErrorForDisplay","errorInfo","isElectron","Production","toDisplay","language","cookiesEnabled","cookieEnabled","doNotTrack","indexedDb","platform","Steam","Browser","environment","getErrorMetadata","Development","componentStack","Tracking","Retirement","Investigation","Raid","initValue","GameOptionsPage","disablePadding","uniqueId","Hand","cards","addCards","removeByIndex","StockTickerTxButton","DummyGrid","DummyGift","fragments","activeGrid","ghostGrid","getContract","contractName","removeContract","existingPartialExeIndex","findIndex","ret","CodingContractModal","setProps","setAnswer","contractType","tries","BitFlumeEvent","BitFlumeModal","terminalCommandHistory","generalMethods","augmentationMethods","canAccessBladeburner","bladeburnerMethods","startBladeburner","canAccessCorporation","corporationMethods","startCorporation","gangMethods","serverMethods","InvitationModal","opt_initFunc","sourceCode","sourceCodeLineOffset","acorn","PARSE_OPTIONS","initFunc_","paused_","polyfills_","functionCounter_","stepFunctions_","stepMatch","methodName","createScope","stripLocations_","State","stateStack","nodeConstructor","READONLY_DESCRIPTOR","configurable","writable","NONENUMERABLE_DESCRIPTOR","READONLY_NONENUMERABLE_DESCRIPTOR","VARIABLE_DESCRIPTOR","STEP_ERROR","SCOPE_REFERENCE","VALUE_IN_DESCRIPTOR","toStringCycles_","getErrorLineNumber","getErrorLineNumberMessage","appendCode","populateScope_","initGlobalScope","OBJECT_PROTO","FUNCTION_PROTO","initFunction","initObject","proto","OBJECT","initArray","initString","initBoolean","initNumber","initDate","initRegExp","initError","initMath","initJSON","thisInterpreter","EvalError","parseInt","strFunctions","decodeURI","encodeURI","wrapper","nativeFunc","throwException","URI_ERROR","FUNCTION","ARRAY","ARRAY_PROTO","REGEXP","REGEXP_PROTO","DATE","DATE_PROTO","identifierRegexp","var_args","calledWithNew","newFunc","createObjectProto","argsStr","SYNTAX_ERROR","parentScope","boxThis","isObject","getScope","strict","box","getPrototype","thisArg","func_","funcThis_","arguments_","arrayPseudoToNative","TYPE_ERROR","doneExec_","setNativeFunctionPrototype","valueOf","throwIfNullUndefined","properties","arrayNativeToPseudo","descriptor","preventExtensions","getOwnPropertyDescriptor","setter","hasValue","pseudoDescriptor","propertyIsEnumerable","newArray","first","legalArrayLength","RANGE_ERROR","class","reverse","howmany","opt_begin","opt_end","opt_separator","iLength","getProperty","hasProperty","element","isa","jLength","searchElement","opt_fromIndex","STRING","fromCharCode","functions","compareString","locales","localeCompare","separator","jsList","search","newSubstr","BOOLEAN","NUMBER","numConsts","fractionDigits","toExponential","digits","precision","toPrecision","radix","Function","UTC","pattern","rgx","populateRegExp","lastIndex","opt_message","newError","createObject","createErrorSubclass","EVAL_ERROR","REFERENCE_ERROR","myMath","mathConsts","numFunctions","myJSON","nativeObj","child","legalArrayIndex","Value","strs","pseudoRegexp","nativeRegexp","ignoreCase","createFunction","opt_constructor","illegalConstructor","asyncFunc","pseudoDate","pseudoObj","opt_cycles","pseudo","native","nativeArray","pseudoArray","lineNum","isGetter","TypeError","opt_descriptor","ReferenceError","defObj","firstNode","expression","createSpecialScope","opt_scope","getValueFromScope","prevNode","setValueToScope","nodeClass","isConstructor","getValue","Completion","NORMAL","BREAK","CONTINUE","RETURN","THROW","errorClass","lineNumErrorMsg","unwind","lineNumberMsg","cv","labels","isLoop","isSwitch","realError","errorTable","RangeError","URIError","createGetter_","funcThis","doneCallee_","doneArgs_","createSetter_","elements","n_","array_","doneLeft_","doneRight_","leftReference_","doneGetter_","leftValue_","leftValue","doneSetter_","setterValue_","rightValue","directEval_","funcNode","paramName","paramValue","argsList","evalNode","argsWithCallback","done_","throwValue","mode_","test_","doneInit_","doneObject_","variable_","object_","visited_","name_","gotPropName","props_","doneVariable_","doneProperty_","properties_","kinds","switchValue_","defaultCase_","index_","switchCase","matched_","tested_","doneBlock_","doneHandler_","doneFinalizer_","leftSide_","changeValue","returnValue","declarations","declarationNode","init_","doneBody_","numServerGrowthCycles","numServerGrowthCyclesAdjusted","findSleevePurchasableAugs","ownedAugNames","availableAugs","isAvailableForSleeve","validMults","StaneksGiftEvents","maxClearanceLevel","TechVendor","techVendorMaxRam","techVendorMinRam","University","AevumCasino","Casino","Special","NewTokyoArcade","Sector12CarmichaelSecurity","Sector12CityHall","Hospital","WorldStockExchange","ChongqingChurchOfTheMachineGod","IshimaGlitch","matchEnding","zip","JSZip","zipFiles","fileNames","fileContents","zipFn","generateAsync","FileSaver","saveAs","stealthIcon","xmlns","viewBox","killIcon","ActionLevel","isActive","canIncrease","canDecrease","Autolevel","TeamSizeButton","BlinkingCursor","setOn","StyleEditorButton","styleEditorOpen","setStyleEditorOpen","ThemeEditorButton","themeEditorOpen","setThemeEditorOpen","ThemeCollaborate","DeleteGameButton","modalOpened","setModalOpened","SoftResetButton","noConfirmation","TravelAgencyRoot","setDestination","startTravel","symbolsLoaded","symbols","SetupTextEditor","populate","exclude","OpenScript","lastPosition","model","openScripts","currentScript","Root","editorRef","monacoRef","vimStatusRef","vimEditor","setVimEditor","setEditor","setFilter","searchExpanded","setSearchExpanded","setRAM","ramEntries","setRamEntries","updatingRam","setUpdatingRam","decorations","setDecorations","optionsOpen","setOptionsOpen","setOptions","insertSpaces","wordWrap","ramInfoOpen","setRamInfoOpen","setDimensions","regenerateModel","createModel","debouncedHandleResize","updateRAM","keydown","ctrlKey","metaKey","require","initVimMode","VimMode","Vim","defineEx","defineAction","_cm","nTabs","currIndex","currentTabIndex","onTabClick","nextIndex","mapCommand","context","dispose","debouncedSetRAM","useMemo","newCode","entriesDisp","scriptToSave","textFile","curIndex","isDisposed","setModel","setPosition","revealLineInCenter","onTabClose","closingScript","savedScriptIndex","savedScriptCode","serverScriptIndex","indexOffset","getServerCode","openScript","serverScript","handleFilterChange","handleExpandSearch","filteredOpenScripts","editorHeight","tabMaxWidth","tabTextWidth","tabIconWidth","onDragEnd","items","startIndex","endIndex","removed","reorder","droppableId","direction","provided","snapshot","innerRef","droppableProps","isDraggingOver","spellCheck","iconButtonStyle","minWidth","borderColor","scriptTabText","serverScriptCode","dirty","draggableId","disableInteractiveElementBlocking","draggableProps","dragHandleProps","flexShrink","textOverflow","onTabUpdate","beforeMount","languages","registerCompletionItemProvider","provideCompletionItems","suggestions","kind","CompletionItemKind","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","getLanguages","loader","tokenizer","libSource","typescript","javascriptDefaults","addExtraLib","typescriptDefaults","onMount","Position","loading","defaultLanguage","defaultValue","newArr","tempScript","awaitWarning","newDecorations","deltaDecorations","startLineNumber","startColumn","endLineNumber","endColumn","isWholeLine","glyphMarginClassName","glyphMarginHoverMessage","infLoop","glyphMargin","getAction","getSubdirectories","t_dir","processFile","subdir","containsFiles","dirWithTrailingSlash","makeScriptBlob","compile","shouldCompile","uurls","_getScriptUrls","loadedModule","isDependencyOutOfDate","scriptModuleSequenceNumber","depScript","seen","urlStack","ranges","importNodes","ExportNamedDeclaration","ExportAllDeclaration","transformedCode","matchingScripts","importedScript","urls","blob","ScriptUrl","vargs","numDashes","libarg","argv","defaultInterpreter","TablePaginationActionsAll","rowsPerPage","onPageChange","Cell","cellProps","onMouseEnter","Grid","randomColor","elems","newNs2Template","detectSimpleScriptGlob","globString","globDatabase","parsedGlob","glob","preGlob","postGlob","globError","globMatches","globAgainst","parseSimpleScriptGlob","commonEditor","scriptEditorRouteOptions","filesToLoadOrCreate","globSearch","isEmpty","filepath","getFilepath","fileIsNs2","isNs2","CursorPositions","saveCursor","column","HammingEncode","_data","_sumParity","_lengthOfDBits","_build","_tempcount","_temparray","_tempdata","_temp","HammingDecode","_testArray","_overallParity","_tempIndex","_tempStep","_tempData","_tempArray","_tempParity","_fixIndex","truth","automate","stop","createTreantMarkup","childrenArray","htmlClass","HTMLclass","innerHTML","findNode","setParent","chart","nodeStructure","queue","getMultiplierHelper","getProductProductionMultiplier","StanekConstants","RAMBonus","BaseSize","MaxSize","wrapFunction","helpers","wrappedAPI","functionPath","ctx","function","branch","getNestedProperty","setNestedProperty","corpName","additionalShares","warehouseApi","OfficeApi","currPos","nextPosName","Engine","_lastUpdate","updateGame","expForOtherSleeves","decrementAllCounters","checkCounters","Counters","autoSaveCounter","updateSkillLevelsCounter","updateDisplays","updateDisplaysLong","updateActiveScriptsDisplay","createProgramNotifications","augmentationsNotifications","passiveFactionGrowth","mechanicProcess","contractGeneration","achievementsCounter","counterName","warningToast","warnAutosaveDisabled","adjustedCycles","startExploits","setupUncaughtPromiseHandler","timeOffline","numCyclesOffline","offlineReputation","offlineHackingIncome","offlineProductionFromHacknetNodes","hacknetProdInfo","timeOfflineString","_thisUpdate","requestAnimationFrame","LoadingScreen","setShow","loaded","setLoaded","reason","doLoad","ignoreQueued","owned","stacks","newMultipliers","calculateEntropy","typ","invalidArgs","baseSize","charge","af","cotmg","inBonus","updateMults","effect","boost","neighboor","CalculateEffect","canPlace","rootX","rootY","newFrag","aFrag","place","findFragment","clearCharge","Void","StatsElement","EarningsElement","ServerType","All","Foreign","Owned","Purchased","ServerDropdown","isValidServer","purchased","serverType","purchase","canPurchase","DECK_COUNT","Result","Blackjack","bet","canStartGame","playerHand","deck","safeDrawCard","dealerHand","gameInProgress","Pending","getTrueHandValue","finishGame","Tie","PlayerWonByBlackjack","DealerWon","hand","handValues","getHandValue","valuesUnder21","isHandBusted","newHand","newDealerHand","PlayerWon","dealerHandValue","playerHandValue","betInput","wager","wagerInvalid","wagerInvalidHelperText","startGame","Deck","render","playerHandValues","getHandDisplayValues","dealerHandValues","wagerOnChange","helperText","playerHit","playerStay","startOnClick","elevation","card","prev","hidden","fontWeight","red","ReactCard","Clubs","Spades","allFactionAugs","factionAugs","factionAug","TickerHeaderFormatData","longestName","longestSymbol","AchievementEntry","cssFiltersUnlocked","cssFiltersLocked","isUnlocked","mainColor","achievedOn","unlocked","colorFilters","Color","hueRotate","angle","PI","sin","cos","multiply","grayscale","sepia","saturate","matrix","newR","newG","newB","brightness","linear","contrast","slope","intercept","invert","hsl","Solver","targetHSL","reusedColor","solve","solveNarrow","solveWide","css","best","initial","spsa","A1","iters","bestLoss","deltas","highArgs","lowArgs","ck","lossDiff","ak","fix","idx","filters","colorHSL","getFiltersFromHex","hex","rgb","hexToRgb","gameCPS","Theme","credit","screenshot","img1","reference","outputHistory","startHack","startGrow","startWeaken","startBackdoor","startAnalyze","finishHack","oldSec","newSec","finishGrow","finishWeaken","finishBackdoor","finishAnalyze","isHacknet","org","canRunScripts","hackingSkill","security","hackingChance","numPort","getProgressText","getFile","getLitFile","lit","currDir","setcwd","contractOpen","executeScanAnalyzeCommand","visited","depthQueue","newS","titleDashes","connectToServer","executeCommands","commandHistory","commandHistoryIndex","executeCommand","n00dlesServ","commandName","scananalyze","apr1","removeBracketsFromArrayString","strCpy","removeQuotesFromString","convert2DArrayToString","ans","nums","ways","maxLen","padStart","spiral","u","col","playerAns","reach","jumps","lastJump","jumpedFrom","intervals","numIntervals","interval","sanitizedResult","sanitizedAns","B","C","ansArr","ipInAns","maxCur","maxSoFar","hold1","MIN_SAFE_INTEGER","hold2","release1","release2","prices","hold","rele","cur","createTriangleRecurse","numLevels","createTriangle","triangle","dp","numRows","numColumns","currentRow","gridString","grid","obstacleGrid","dstY","dstX","minPathLength","distanceFactor","distance","MinHeap","validPosition","neighbors","yN","xN","changeWeight","yQ","xQ","ansX","ansY","roll","dfs","pair","sanitizedPlayerAnsArr","resultInAnswer","numDigits","digitsArray","evaluated","multed","_alteredBit","_buildArray","_randomIndex","edges","shuffle","vertexShuffler","neighbourhood","vertex","adjLeft","adjRight","coloring","initialVertex","frontier","validColors","aColor","bColor","plaintext","ans_plain","run_length","compressed","BinHeap","heapifyUp","heapifyDown","predicate","heapOrderABeforeB","tmp","toSwap","weightA","weightB","requireHackingLevel","targetServer","numAugReq","ipaddress","byteRange","multipliers","formattedHours","getHours","formattedMinutes","getMinutes","formattedSeconds","getSeconds","AllSoftwarePositions","AllITPositions","AllNetworkEngineerPositions","SecurityEngineerPositions","AllTechnologyPositions","AllBusinessPositions","AllAgentPositions","AllSecurityPositions","AllSoftwareConsultantPositions","AllBusinessConsultantPositions","SoftwarePositionsUpToHeadOfEngineering","SoftwarePositionsUpToLeadDeveloper","BusinessPositionsUpToOperationsManager","WaiterOnly","EmployeeOnly","PartTimeWaiterOnly","PartTimeEmployeeOnly","OperationsManagerOnly","CEOOnly","advertisingMult","employeeChaMult","employeeCreMult","employeeEffMult","employeeIntMult","productionMult","productProductionMult","salesMult","sciResearchMult","storageMult","effectText","costPerLevel","hasTargetServer","lookup","checkGangApiAccess","getGangMember","updateRam","_faction","wantedLevelGainRate","wantedPenalty","cpy","_memberName","memberName","hack_exp","str_exp","def_exp","dex_exp","agi_exp","cha_exp","hack_mult","str_mult","def_mult","dex_mult","agi_mult","cha_mult","hack_asc_mult","str_asc_mult","def_asc_mult","dex_asc_mult","agi_asc_mult","cha_asc_mult","respectGain","wantedLevelGain","recruited","tasks","_taskName","assignToTask","getGangTask","_equipName","equipName","equipment","typecheck","buyUpgrade","canAscend","getAscensionResults","_engage","engage","_otherGang","playerPower","unassignFromTask","difficultyPerCycles","getGainedAscensionPoints","getCurrentAscensionMults","getAscensionMultsAfterAscend","postAscend","preAscend","applyUpgrade","respectToDeduct","createDescription","checkSleeveAPIAccess","checkSleeveNumber","sleeveNumber","sl","_sleeveNumber","_crimeRoughName","crimeRoughName","_universityName","_className","_cityName","acompanyName","_factionName","_workType","_gymName","_stat","jobTitle","maxHp","agilityExp","charismaExp","companyRep","crimeMoney","crimeSuccess","defenseExp","dexterityExp","factionRep","hackingExp","strengthExp","workMoney","workHackExpGain","workStrExpGain","workDefExpGain","workDexExpGain","workAgiExpGain","workChaExpGain","workMoneyGain","workRepGain","purchasableAugs","_augName","openDevMenu","devMenu","bypass","doc","completely_unused_field","real_document","alterReality","recur","rainbow","guess","bcrypt","getHacknetNode","hi","maxNumNodes","_i","hasUpgraded","timeOnline","totalProduction","_upgName","_upgTarget","getHashUpgrades","getHashUpgradeLevel","checkStanekAPIAccess","_ctx","_rootX","_rootY","_rotation","_fragmentId","fragmentId","avgCharge","getLocationsWithInfiltrations","getPossibleLocations","getInfiltration","_location","locationName","tradeRep","sellCash","SoARep","calculateInfiltrationData","newTheme","currentTheme","errors","newStyles","currentStyles","checkBladeburnerAccess","skipjoined","apiDenied","bladeburnerDenied","checkBladeburnerCity","getBladeburnerActionObject","_blackOpName","blackOpName","_type","_level","_autoLevel","_skillName","_size","getCodingContract","returnReward","is2DArray","answerComponents","creward","hasUnlockUpgrade","upgradeName","getCorporation","hasResearched","getDivision","getOffice","getWarehouse","getMaterial","materialName","getProduct","getEmployee","employeeName","checkAccess","api","getSafeDivision","getPurchaseWarehouseCost","getUpgradeWarehouseCost","_divisionName","_amt","hasWarehouse","_materialName","sll","_productName","pCost","cityData","developmentProgress","purchaseWarehouse","upgradeWarehouse","sellMaterial","_price","sellProduct","_all","discontinueProduct","setSmartSupply","_enabled","enabled","setSmartSupplyUseLeftovers","buyMaterial","bulkPurchase","makeProduct","_designInvest","_marketingInvest","limitProductProduction","_qty","exportMaterial","_sourceDivision","_sourceCity","_targetDivision","_targetCity","sourceDivision","targetDivision","targetCity","cancelExportMaterial","limitMaterialProduction","setMaterialMarketTA1","_on","setMaterialMarketTA2","setProductMarketTA1","setProductMarketTA2","getHireAdVertCost","getHireAdVertCount","getResearchCost","_researchName","setAutoJobAssignment","_job","_amount","getOfficeSizeUpgradeCost","assignJob","_employeeName","hireEmployee","upgradeOfficeSize","_costPerEmployee","buyCoffee","hireAdVert","minEne","minHap","expandIndustry","_industryName","industryName","expandCity","unlockUpgrade","_upgradeName","levelUpgrade","issueDividends","_percent","createCorporation","_corporationName","_selfFund","corporationName","selfFund","getUnlockUpgradeCost","getUpgradeLevel","getUpgradeLevelCost","getExpandIndustryCost","getExpandCityCost","getInvestmentOffer","fundingRound","percShares","acceptInvestmentOffer","funding","investShares","goPublic","_numShares","initialSharePrice","sellShares","buyBackShares","bribe","_amountCash","_amountShares","amountCash","amountShares","reFac","robFac","aiFac","advFac","hwFac","getProductDescriptionText","getMaximumNumberProducts","additional","hasMaximumNumberProducts","calculateProductionFactors","multSum","cityMult","updateWarehouseSizeUsed","prodName","newInd","employeeSalary","officeLoc","processMaterialMarket","processProductMarket","popularityGain","awarenessGain","MAX_VALUE","processMaterials","processProducts","wh","foo","imp","buyAmt","maxAmt","smartBuy","smartSupplyStore","worseAmt","totalSize","freeSpace","maxProd","getOfficeProductivity","totalMatSize","reqMatName","normQty","producableFrac","reqMatQtyNeeded","fooProd","fooI","businessFactor","getBusinessFactor","advertisingFactor","getAdvertisingFactors","marketFactor","getMarketFactor","markupLimit","numerator","sqrtNumerator","sqrtDenominator","denominator","sqrt","optimalPrice","marketTa2Price","sellAmt","totalExp","expI","amtStr","expIndustry","expWarehouse","engrProd","mgmtProd","opProd","mgmtFactor","processProduct","totalProfit","forProduct","netStorageSize","sCostString","businessProd","calculateEffectWithFactors","awarenessFac","popularityFac","ratioFac","updateResearchTree","expFac","linearFac","morale","happiness","energy","det","trainingEff","effCre","effEff","prodBase","checkFormulasAccess","calculateFavorToRep","_favor","calculateRepToFavor","_rep","_exp","_mult","_skill","hackPercent","growPercent","hackTime","levelUpgradeCost","_startingLevel","_extraLevels","_costMult","ramUpgradeCost","_startingRam","coreUpgradeCost","_startingCore","_extraCores","extraCores","hacknetNodeCost","constants","hacknetServers","hashGainRate","_ramUsed","_maxRam","HScalculateHashGainRate","HScalculateLevelUpgradeCost","HScalculateRamUpgradeCost","HScalculateCoreUpgradeCost","cacheUpgradeCost","_startingCache","_extraCache","extraCache","HScalculateCacheUpgradeCost","hashUpgradeCost","hacknetServerCost","HScalculateServerCost","ascensionPointsGain","ascensionMultiplier","_points","checkTixApiAccess","getStockFromSymbol","_symbol","_shares","_posType","sanitizedPosType","_pos","orderPos","ltype","lpos","stockMarketOrders","forecast","checkGraftingAPIAccess","graftableAug","_focus","wasFocusing","craftableAug","detect","hasChanges","orig","fl","backups","textfield","InteractiveTutorialRoot","contents","canNext","square","overviewContainer","visibilityToggle","collapse","Overview","setX","setY","CurrentIcon","KeyboardArrowUpIcon","KeyboardArrowDownIcon","LeftIcon","SchoolIcon","EqualizerIcon","fakeDrag","triggerMouseEvent","eventType","clickEvent","createEvent","initEvent","dispatchEvent","Loading","onStop","defaultPosition","onDoubleClick","openedMixin","transitions","easing","sharp","enteringScreen","closedMixin","leavingScreen","breakpoints","up","Drawer","styled","shouldForwardProp","active","borderLeft","listitem","SidebarRoot","hackingOpen","setHackingOpen","characterOpen","setCharacterOpen","worldOpen","setWorldOpen","helpOpen","setHelpOpen","flashTerminal","flashStats","flashActiveScripts","flashHacknet","flashCity","flashTutorial","augmentationCount","invitationsCount","programCount","getAvailableCreatePrograms","canOpenFactions","canOpenAugmentations","canOpenSleeves","canCorporation","canGang","canJob","canStockMarket","canBladeburner","canStaneksGift","clickTerminal","clickScriptEditor","clickStats","clickActiveScripts","clickCreateProgram","clickFactions","clickAugmentations","clickHacknet","clickCity","clickTravel","clickJob","clickBladeburner","clickGang","clickTutorial","handleShortcuts","altKey","E","H","R","P","F","U","G","anchor","timeout","unmountOnExit","clsx","badgeContent","NeuroFluxDisplay","EntropyDisplay","AugmentationsRoot","installOpen","setInstallOpen","gap","InstalledAugmentations","sourceAugs","selectedAug","setSelectedAug","Alphabetically","aug1","aug2","BitNodeModifiedStats","MultiplierList","listItems","currentValue","augmentedValue","bitNodeMultiplier","py","disableTypography","PlayerMultipliers","augP","calculateAugmentedStats","leftColData","rightColData","hasLeftImprovements","hasRightImprovements","PurchasedAugmentations","displayName","enterNextDelay","safeGetSf","sfNum","sfObj","getMaxLevel","SourceFilesElement","sourceSfs","sf1","sf2","selectedSf","setSelectedSf","DevMenuRoot","General","setError","setCorporationName","gangFaction","setGangFaction","addMoney","TransitionProps","expandIcon","bigNumber","modifyExp","modifier","modifyKarma","resetExperience","modifyFactionRep","AllFaction","modifyFactionFavor","labelId","arial-label","setAugmentation","validSFN","setSF","sfN","sfLvl","setAllSF","setProgram","AllPrograms","Servers","setServer","setCompany","modifyCompanyRep","AllCompanies","modifyCompanyFavor","modifyBladeburnerRank","modify","modifyBladeburnerCycles","modifyGangCycles","modifyCorporationFunds","modifyCorporationCycles","CodingContracts","setCodingcontract","cc","stockPrice","setStockPrice","setStockSymbol","processStocks","inputSymbols","SM","stocks","sleeveSetStoredCycles","Stanek","modCycles","modCharge","TimeSkip","timeskip","playerAchievement","setPlayerAchievements","achieved","grantAchievement","removeAchievement","Entropy","BladeburnerRoot","travelOpen","setTravelOpen","inFaction","wordBreak","TravelModal","nopadding","preformatted","Line","Console","setCommand","consoleInput","consoleHistoryIndex","setConsoleHistoryIndex","Logs","tabIndex","inputRef","prevCommand","currentTarget","scrollHook","scrollTop","scrollHeight","AllPages","tab","GeneralActionPage","GeneralActionList","actions","GeneralActionElem","computedActionTimeCurrent","actionData","ContractPage","ContractList","ContractElem","Contracts","StealthIcon","KillIcon","OperationPage","OperationList","OperationElem","TeamSizeModal","BlackOpPage","BlackOpList","blackopName","blackop","BlackOpElem","hasReqdRank","SkillPage","valid","onUpgrade","SkillList","SkillElem","canLevel","GangRoot","ManagementSubpage","GangStats","territoryStr","BonusTime","CyclerPerSecond","bonusMillis","GangMemberList","ascendOnly","setAscendOnly","onRecruit","newValue","GangMemberCard","GangMemberCardContent","ascendOpen","setAscendOpen","borderRightWidth","onAscend","borderLeftWidth","onTaskChange","GangMemberStats","asc","KillScriptsModal","TaskSelector","setCurrentTask","contextMember","TaskDescription","AscensionModal","RecruitButton","RecruitModal","setName","recruit","onKeyUp","TerritorySubpage","gangNames","infoOpen","setInfoOpen","formatTerritory","OtherGangTerritory","clashVictoryChance","TerritoryInfoModal","NextReveal","PurchasedUpgrade","UpgradeButton","GangMemberUpgradePanel","currentCategory","setCurrentCategory","filterUpgrades","weaponUpgrades","armorUpgrades","vehicleUpgrades","rootkitUpgrades","augUpgrades","categories","Weapons","Vehicles","Rootkits","EquipmentsSubpage","CorporationRoot","setDivisionName","canExpand","industryType","MainPanel","CityTabs","setCity","cityStateSetter","countEmployee","SwitchButton","manualMode","switchMode","ManualManagement","setEmployee","employeePositionSelectorInitialValue","employeePositions","positionNames","AutoAssignJob","numJob","numUnassigned","AutoManagement","vechain","totalMorale","totalHappiness","totalEnergy","totalSalary","avgMorale","avgHappiness","avgEnergy","IndustryOffice","upgradeOfficeSizeOpen","setUpgradeOfficeSizeOpen","throwPartyOpen","setThrowPartyOpen","employeeManualAssignMode","setEmployeeManualAssignMode","UpgradeSizeButton","upgradeSize","UpgradeOfficeSizeModal","upgradeCost","upgradeCost15","maxMult","maxNum","multIncrease","upgradeCostMax","ThrowPartyModal","setCost","canParty","EffectText","MakeProductButton","makeOpen","setMakeOpen","hasMaxProducts","createProductButtonText","Text","researchOpen","setResearchOpen","advertisingInfo","advertisingFactors","totalAdvertisingFac","convertEffectFacToGraphic","Upgrades","IndustryOverview","MakeProductModal","allCities","design","setDesign","marketing","setMarketing","createProductPopupText","Upgrade","wrapInTooltip","ele","but","ResearchModal","retainHeight","WarehouseRoot","smartSupplyOpen","setSmartSupplyOpen","canAffordUpgrade","stateText","mats","isInStock","isRelevant","breakdownItems","breakdown","previous","IndustryWarehouse","EmptyWarehouse","Leftover","setChecked","SmartSupplyModal","ProductElem","sellOpen","setSellOpen","limitOpen","setLimitOpen","discontinueOpen","setDiscontinueOpen","cancelOpen","setCancelOpen","marketTaOpen","setMarketTaOpen","nfB","hasUpgradeDashboard","sellButtonText","limitProductionButtonText","DiscontinueProductModal","LimitProductProductionModal","setLimit","SellProductModal","iQty","setQty","setPx","initialPrice","MarketTA2","ProductMarketTaModal","CancelProductModal","MaterialElem","purchaseMaterialOpen","setPurchaseMaterialOpen","exportOpen","setExportOpen","sellMaterialOpen","setSellMaterialOpen","materialMarketTaOpen","setMaterialMarketTaOpen","limitProductionOpen","setLimitProductionOpen","tutorial","purchaseButtonText","limitMaterialButtonText","ExportModal","possibleDivisions","defaultDivision","setIndustry","setAmt","removeExport","currentDivision","possibleCities","newCost","setNewCost","MaterialMarketTaModal","SellMaterialModal","setPrice","BulkPurchaseSection","setBuyAmt","setDisabled","BulkPurchaseText","parsedAmt","PurchaseMaterialModal","purchaseMaterial","LimitMaterialProductionModal","IndustryProductEquation","reqs","reqAmt","ExpandNewCity","ExpandIndustryTab","possibleIndustries","newIndustry","multRows","appendMult","DividendsStats","PublicButtons","PrivateButtons","BribeButton","findInvestorsopen","setFindInvestorsopen","goPublicopen","setGoPublicopen","fundingAvailable","findInvestorsTooltip","upgradeData","sellSharesOpen","setSellSharesOpen","buybackSharesOpen","setBuybackSharesOpen","issueNewSharesOpen","setIssueNewSharesOpen","issueDividendsOpen","setIssueDividendsOpen","sellSharesOnCd","sellSharesTooltip","issueNewSharesOnCd","issueNewSharesTooltip","canBribe","totalDividends","storedTime","LevelableUpgrade","UU","BribeFactionModal","setStock","selectedFaction","setSelectedFaction","getRepText","SellSharesModal","setShares","ProfitIndicator","BuybackSharesModal","CostIndicator","IssueDividendsModal","setPercent","canIssue","maxNewSharesUnrounded","maxNewShares","newShares","IssueNewSharesModal","issueNewShares","privateShares","FindInvestorsModal","GoPublicModal","InfiltrationRoot","setStart","StartingDifficulty","Difficulty","Reward","cancel","arrowPart","arrow","Intro","Stage","minigames","SlashGame","BracketGame","BackwardGame","BribeGame","CheatCodeGame","Cyberpunk2077Game","MinesweeperGame","WireCuttingGame","setLevel","stage","setStage","Countdown","results","setResults","gameIds","setGameIds","lastGames","nextGameId","ids","setupNextGame","pushResult","next","stageComponent","onFinish","Minigame","MiniGame","onSuccess","Sell","onFailure","automated","Progress","difficulties","timer","setRight","OPEN_BRACKET","LESS_THAN","OPEN_PARENTHESIS","OPEN_BRACE","generateLeftSide","CLOSE_PARENTHESIS","CLOSE_BRACKET","CLOSE_BRACE","GREATER_THAN","getChar","phase","setPhase","hasAugment","phaseZeroTime","timeUntilAttacking","words","makeAnswer","setGuess","BACKSPACE","nextGuess","marginLeft","positive","option","negative","shuffleArray","makeChoices","correctIndex","setCorrectIndex","setIndex","currentChoice","choice","defaultColor","disabledColor","upColor","downColor","choiceColor","upIndex","upDistance","downIndex","downDistance","onCorrectIndex","newIndex","arrows","generateCode","puzzle","randChar","generatePuzzle","answers","generateAnswers","currentAnswerIndex","setCurrentAnswerIndex","setPos","isCorrectAnswer","optionColor","move","mines","minefield","field","generateEmptyField","generateMinefield","memoryPhase","setMemoryPhase","fieldEquals","wiresmin","wiresmax","PIPE","DOT","FORWARD_SLASH","HYPHEN","HASH","colorNames","blue","wires","numWires","wireColors","generateWires","cutWires","setCutWires","questions","numQuestions","questionGenerators","randomPositionQuestion","randomColorQuestion","generateQuestion","checkWire","wireNum","shouldCut","wiresToBeCut","shouldBeCut","question","isCorrectWire","wire","wireColor","cutColor","Victory","quitInfiltration","handleInfiltrators","soa","infiltrationRepGain","isMemberOfInfiltrators","GraftableAugmentations","canGraft","AugPreReqsChecklist","preAug","GraftingRoot","graftOpen","setGraftOpen","CYCLES_PER_SEC","WorkInProgressRoot","unfocus","stopText","numBars","progressBar","GameOptionsRoot","currentTab","setCurrentTab","SYSTEM","setTab","CurrentOptionsPage","execTime","setExecTime","recentScriptsSize","setRecentScriptsSize","logSize","setLogSize","portSize","setPortSize","terminalSize","setTerminalSize","autosaveInterval","setAutosaveInterval","timestampFormat","setTimestampFormat","setLocale","INTERFACE","GAMEPLAY","MISC","SideBarTab","sideBarProps","tabName","GameOptionsSidebar","importInput","diagnosticOpen","setDiagnosticOpen","importSaveOpen","setImportSaveOpen","importData","setImportData","gridTemplateAreas","gridArea","File","FileList","ii","ex","confirmedImportGame","method","alt","ServerAccordion","FileDiagnosticModal","FontFamilyField","refreshId","errorText","setErrorText","setFontFamily","LineHeightField","setLineHeight","StyleEditorModal","setRefreshId","customStyle","setCustomStyle","persistToSettings","endIcon","ColorEditor","onColorChange","hideTextfield","deferred","newColor","disableAlpha","ThemeEditorModal","customTheme","setCustomTheme","setTemplateTheme","placement","maxRows","importedTheme","SleeveRoot","FAQOpen","setFAQOpen","SleeveElem","statsOpen","setStatsOpen","earningsOpen","setEarningsOpen","augmentationsOpen","setAugmentationsOpen","abc","setABC","doing","SleeveAugmentationsModal","MoreStatsModal","MoreEarningsModal","universitySelectorOptions","gymSelectorOptions","possibleJobs","forbiddenCompanies","otherSleeve","possibleFactions","forbiddenFactions","facInfo","second","universities","gyms","Synchronize","canDo","getABC","s0","setS0","setS1","setS2","validActions","detailsF","details2","detail","FAQModal","HacknetRoot","purchaseMultiplier","setPurchaseMultiplier","purchaseMultiplierOnClicks","onClicks","GeneralInfo","HacknetNodeElem","purchaseMult","upgradeLevelButton","upgradeRAMButton","upgradeCoresButton","increase","upgradeLevelCost","upgradeRamCost","upgradeCoreCost","HacknetServerElem","upgradeRamButton","upgradeCacheButton","upgradeCacheCost","HashUpgradeModal","serversMap","HacknetUpgradeElem","selectedServer","setSelectedServer","MultiplierButton","MultiplierButtons","buttons","btnProps","PlayerInfo","hasServers","PurchaseButton","GenericLocation","locContent","locName","getLocationSpecificContent","serverMeta","CompanyLocation","quitOpen","setQuitOpen","isEmployedHere","favorGain","onQuit","QuitJobModal","GymLocation","train","HospitalLocation","btnStyle","getHealed","currHp","SlumsLocation","shopliftChance","robStoreChance","mugChance","larcenyChance","drugsChance","bondChance","armsChance","homicideChance","gtaChance","kidnapChance","assassinateChance","heistChance","SpecialLocation","handleBladeburner","new","worldHeader","HTMLElement","handleGrafting","CreateCorporation","handleCotMG","renderBladeburner","toStanek","renderCotMG","CreateCorporationModal","canSelfFund","n00dlePower","ArcadeRoot","Megabyteburner2000","currentGame","BBCabinetRoot","origin","joystick","borderStyle","borderWidth","ServerButton","TechVendorLocation","purchaseServerButtons","RamButton","bnMult","TorButton","purchaseTorRouter","darkweb","CoresButton","maxCores","PurchaseServerModal","setHostname","tryToPurchaseServer","TravelConfirmationModal","UniversityLocation","take","dataStructuresCost","networksCost","algorithmsCost","managementCost","leadershipCost","GameType","CasinoLocation","setGame","Coin","Slots","Roulette","numDecks","drawCard","CoinFlip","investment","setInvestment","setResult","setStatus","playLock","setPlayLock","play","correct","redNumbers","strategies","Red","payout","Black","Odd","Even","High","Low","Third1","Third2","Third3","Single","canPlay","setCanPlay","lock","setLock","strategy","playerWin","isRed","currentNumber","getPayout","payLines","SlotMachine","locks","setLocks","stoppedOne","getPaylineData","payline","point","countSequence","checkWinnings","getTable","LocationLetter","ASCIICity","locationLettersRegex","letterMap","K","M","N","Q","V","Y","lineElems","startI","endI","locationI","ListCity","locationButtons","LocationCity","OptionsModal","setInsertSpaces","setFontSize","setWordWrap","setVim","themePath","themeCopy","setThemeCopy","MilestonesRoot","milestones","highestMilestone","milestone","ActionTimer","paragraph","TerminalRoot","setKey","doScroll","hook","scrollIntoView","debounced","maxWait","unsubscribe","scrollId","TerminalInput","terminalInput","postUpdateValue","setPostUpdateValue","possibilities","setPossibilities","saveValue","postUpdate","modifyInput","mod","inputLength","selectionStart","inputText","delStart","moveTextCursor","keyDown","autoComplete","onBlur","TAB","semiColonIndex","allPos","determineAllPossibilitiesForTabCompletion","tabCompletion","selectionEnd","anchorEl","parentDirPath","evaledParentDirPath","addAllCodingContracts","cct","addAllLitFiles","addAllPrograms","addAllScripts","processFilepath","addAllTextFiles","addAllDirectories","subdirs","t_parentDirPath","convertParentPath","isCommand","cmd","t_cmd","autocomplete","runArgs","permissive","flagFunc","autocompleteData","txts","schema","pos2","scriptAutocomplete","addAllMessages","allPossibilities","oldValue","longestStartSubstr","TutorialRoot","confirmResetOpen","setConfirmResetOpen","ActiveScriptsRoot","ScriptProduction","prodRateSinceLastAug","ServerAccordions","setRowsPerPage","serverToScriptMap","filtered","rowsPerPageOptions","newPage","onRowsPerPageChange","ActionsComponent","paddedName","barOptions","headerTxt","ServerAccordionContent","noborder","WorkerScriptAccordion","killScript","onlineMps","onlineEps","RecentScriptsPage","recentScript","RecentScriptAccordion","MainPage","onAugmentations","sleevesOpen","setSleevesOpen","isPlayersGang","favorToDonate","canDonate","canPurchaseSleeves","startHackingContracts","startFieldWork","startSecurityWork","FactionRoot","purchasingAugs","setPurchasingAugs","routeToMainPage","AugmentationsPage","getAugs","switchSortOrder","newOrder","Cost","augName1","augName2","getAugsSortedByCost","getAugsSortedByReputation","Purchasable","canBuy","hasReq","hasRep","cantBuy","getAugsSortedByPurchasable","getAugsSorted","purchasable","purchaseableAugmentation","augListElems","ownedElem","multiplierComponent","Requirements","PurchaseableAugmentation","hasCost","btnTxt","PurchaseAugmentationModal","DonateOption","donateAmt","setDonateAmt","Status","noformat","DefaultAssignment","Info","Assignment","CovenantPurchasesRoot","setUpdate","purchaseDisabled","upgradePanels","CovenantSleeveMemoryUpgrade","maxMemory","purchaseBtnDisabled","purchaseBtnContent","GangButton","gangOpen","setGangOpen","CreateGangModal","EmployersModal","MultiplierTable","noMargin","modded","CurrentBitNode","MoneyModal","convertMoneySourceTrackerToString","parts","CharacterStats","moneyOpen","setMoneyOpen","employersOpen","setEmployersOpen","timeRows","StockMarketRoot","Purchase4SMarketDataTixApiAccessButton","PurchaseWseAccountButton","PurchaseTixApiAccessButton","Purchase4SMarketDataButton","InfoAndPurchases","StockTickers","setTickerDisplayMode","AllStocks","watchlistSymbols","setWatchlistSymbols","tickers","stockMarketProp","rerenderAllTickers","sanitizedWatchlist","SelectorOrderType","StockTicker","setOrderType","Market","tickerOpen","setTicketOpen","modalProps","setModalProps","placeText","getQuantity","hasOrderAccess","Limit","Stop","getBuyTransactionCostContent","getSellTransactionCostContent","playerMoney","localesWithLongPriceFormat","StockTickerHeaderText","stockPriceFormat","spacesAllottedForStockPrice","spacesAfterStockName","spacesBeforePrice","hdrText","plusOrMinus","StockTickerOrderList","StockTickerOrder","posTxt","LongPosition","percentageGains","ShortPosition","StockTickerPositionText","PlaceOrderModal","portal","level0","level1","level2","level3","BitNodePortal","portalOpen","setPortalOpen","cssClass","aria-description","BitverseRoot","destroyed","destroySequence","setDestroySequence","nextSourceFileLvl","PortalModal","bitNodeKey","maxSourceFileLevel","newLevel","BitnodeMultiplierDescription","GeneralMults","FactionMults","AugmentationMults","StockMults","SkillMults","HackingMults","PurchasedServersMults","CrimeMults","InfiltrationMults","CompanyMults","GangMults","CorporationMults","BladeburnerMults","StanekMults","CinematicLine","setLength","ms","newLength","advance","StaneksGiftRoot","MainBoard","setGrid","setGhostGrid","setRotation","selectedFragment","setSelectedFragment","moveGhost","clickAt","deleteAt","doRotate","selectFragment","FragmentInspector","setC","effectAmt","FragmentOption","colorAt","FragmentSelector","FragmentPreview","_width","_height","getComputedStyle","Element","AchievementsRoot","AchievementList","cssPrimary","cssSecondary","secret","unavailable","locked","pr","defaultExpanded","AchievementIcon","imgLoaded","setImgLoaded","onLoad","ErrorBoundary","Component","hasError","componentDidCatch","previousScrollY","modalOpen","setModalOpen","modalImageSrc","setModalImageSrc","predefinedThemes","themes","templateTheme","onActivated","scrollY","previousColors","onImageClick","handleZoom","ThemeEntry","subheader","image","ComparisonIcon","isBetter","initialAutosave","ImportSaveRoot","currentData","setCurrentData","importModalOpen","setImportModalOpen","headback","setHeadback","dataBeingImported","dataCurrentlyInGame","fetchData","BypassWrapper","getAugmentation","getFaction","getCompany","runAfterReset","cbScript","_purchased","_facName","_cbScript","_locationName","_programName","baseserver","installTime","jobTitles","_companyName","wasFocused","_field","repNeededToDonate","_nextBN","_callbackScript","nextBN","callbackScript","hackingRequirements","empty","srcFile","sourceFileObject","incMult","decMult","normalServer","relative_filename","evaledDir","t_dst","dst","srcExt","tRes","sRes","sanitizedExpr","used","avail","usedPercent","incorrectUsage","newPath","allPrograms","allScripts","allTextFiles","allContracts","allMessages","folders","handleFn","dest","parsedFn","firstParentDir","msgOrLit","ClickableScriptRow","scriptLinksWrap","scriptLink","textDecorationLine","paddingRight","rowSplitArray","rowItem","onScriptLinkClick","ClickableMessageRow","linksWrap","link","onMessageLinkClick","FileType","postSegments","segments","linked","filesPerRow","Folder","groups","numThreads","verboseEntries","t_dest","sourcePath","destFile","destPath","positions","getCursor","re","matching","rsObj","delTarget","executableName","runContract","runProgram","commandArgs","threadFlag","tailFlag","toLocaleLowerCase","hasRoot","maxHostname","maxIP","args2","headers","currRunningScripts","numSpacesScript","spacesScript","numSpacesPid","spacesPid","numSpacesThread","spacesThread","tampering","last","minute","timeCompression","ReactDOM","globalThis","onbeforeunload"],"mappings":"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A,E,oBAAAA,E,kBAAAA,E,6BAAAA,E,0CAAAA,E,iBAAAA,M,oCCHL,IAAKC,EAAZ,kC,SAAYA,K,mCAAAA,E,oCAAAA,E,qCAAAA,E,iCAAAA,E,mCAAAA,E,0BAAAA,E,2BAAAA,E,4BAAAA,E,iCAAAA,E,wCAAAA,E,+BAAAA,E,4CAAAA,E,2BAAAA,E,oDAAAA,E,yBAAAA,E,kDAAAA,E,2CAAAA,E,sDAAAA,E,uEAAAA,E,kBAAAA,E,mEAAAA,E,kEAAAA,E,oDAAAA,E,mDAAAA,E,0DAAAA,E,oBAAAA,E,gCAAAA,E,iDAAAA,E,sDAAAA,E,sDAAAA,E,4DAAAA,E,gEAAAA,E,oCAAAA,E,uCAAAA,E,8DAAAA,E,+DAAAA,E,gEAAAA,E,+DAAAA,E,8DAAAA,E,+CAAAA,E,wDAAAA,E,gEAAAA,E,uCAAAA,E,sBAAAA,E,mCAAAA,E,mEAAAA,E,kEAAAA,E,oBAAAA,E,sCAAAA,E,sCAAAA,E,4CAAAA,E,mEAAAA,E,uEAAAA,E,mEAAAA,E,mEAAAA,E,+DAAAA,E,uCAAAA,E,+BAAAA,E,gCAAAA,E,iCAAAA,E,wCAAAA,E,+CAAAA,E,+CAAAA,E,oCAAAA,E,gCAAAA,E,6CAAAA,E,cAAAA,E,0BAAAA,E,mCAAAA,E,gCAAAA,E,0CAAAA,E,oBAAAA,E,gBAAAA,E,oBAAAA,E,sCAAAA,E,mCAAAA,E,2CAAAA,E,iCAAAA,E,8BAAAA,E,0DAAAA,E,uCAAAA,E,sCAAAA,E,gCAAAA,E,4BAAAA,E,gCAAAA,E,yCAAAA,E,qDAAAA,E,kDAAAA,E,4BAAAA,E,yBAAAA,E,2CAAAA,E,wCAAAA,E,gDAAAA,E,6CAAAA,E,wCAAAA,E,oCAAAA,E,uCAAAA,E,uCAAAA,E,yBAAAA,E,+BAAAA,E,oCAAAA,E,oCAAAA,E,8BAAAA,E,mCAAAA,E,kEAAAA,E,4EAAAA,E,2DAAAA,E,6DAAAA,E,mDAAAA,E,0CAAAA,E,uCAAAA,E,yCAAAA,E,wCAAAA,E,kCAAAA,E,wCAAAA,E,4CAAAA,E,8CAAAA,E,0CAAAA,E,0CAAAA,E,sCAAAA,E,8CAAAA,E,+CAAAA,M,oCCAZ,sEAMO,SAASC,EAAgBC,E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9B,IAAa67C,sBACb77C,IAAa+6C,mBAGjB,IAAI7oB,IAAa,CACft0B,KAAMqR,IAAkB0jH,WACxBtgG,UAAW,MACXC,QAAS,MACTF,KAAM,yGACNI,QAAS,CAACvjB,IAAkByjH,YAC5Bv/F,eAAgB,IAChBZ,SAAU,CACRvyB,IAAa28B,YACb38B,IAAa08B,aACb18B,IAAag9B,oBACbh9B,IAAa67C,sBACb77C,IAAa+6C,gBACb/6C,IAAao6C,eAGjB,IAAIloB,IAAa,CACft0B,KAAMqR,IAAkB2jH,eACxBvgG,UAAW,OACXC,QAAS,KACTF,KACE,0IAEFgB,aAAc,IACdH,cAAe,IACfV,SAAU,CACRvyB,IAAa67C,sBACb77C,IAAai9B,0BACbj9B,IAAa48B,mBACb58B,IAAak7C,IACbl7C,IAAao6C,YACbp6C,IAAak6C,SACbl6C,IAAa65C,cAGjB,IAAI3nB,IAAa,CACft0B,KAAMqR,IAAkB4jH,gBACxBvgG,QAAS,OACTD,UAAW,OACXD,KACE,mSAGFa,cAAe,IACfC,aAAc,IACdX,SAAU,CACRvyB,IAAa67C,sBACb77C,IAAai9B,0BACbj9B,IAAa48B,mBACb58B,IAAak7C,IACbl7C,IAAao6C,YACbp6C,IAAak6C,SACbl6C,IAAa65C,WACb75C,IAAa+6C,mBAGjB,IAAI7oB,IAAa,CACft0B,KAAMqR,IAAkB6jH,WACxBxgG,QAAS,KACTD,UAAW,OACXD,KACE,wIAEFa,cAAe,IACfC,aAAc,IACdX,SAAU,CACRvyB,IAAaw8B,WACbx8B,IAAa28B,YACb38B,IAAa08B,aACb18B,IAAam3B,SACbn3B,IAAak3B,OACbl3B,IAAag9B,oBACbh9B,IAAa67C,sBACb77C,IAAa+6C,mBAGjB,IAAI7oB,IAAa,CACft0B,KAAMqR,IAAkB8jH,WACxBzgG,QAAS,MACTD,UAAW,KACXD,KACE,iKAEFI,QAAS,CAACvjB,IAAkB6jH,YAC5B7/F,cAAe,KACfC,aAAc,KACdX,SAAU,CACRvyB,IAAa28B,YACb38B,IAAa08B,aACb18B,IAAam3B,SACbn3B,IAAag9B,oBACbh9B,IAAa67C,sBACb77C,IAAa+6C,mBAGjB,IAAI7oB,IAAa,CACft0B,KAAMqR,IAAkB+jH,WACxB1gG,QAAS,KACTD,UAAW,KACXD,KACE,uLAEFI,QAAS,CAACvjB,IAAkB8jH,YAC5B9/F,cAAe,KACfC,aAAc,KACdX,SAAU,CACRvyB,IAAa28B,YACb38B,IAAa08B,aACb18B,IAAag9B,oBACbh9B,IAAa67C,sBACb77C,IAAa+6C,gBACb/6C,IAAao6C,eAGjB,IAAIloB,IAAa,CACft0B,KAAMqR,IAAkBgkH,eACxB3gG,QAAS,MACTD,UAAW,MACXD,KACE,sKAEFa,cAAe,IACfC,aAAc,IACdX,SAAU,CACRvyB,IAAa28B,YACb38B,IAAa08B,aACb18B,IAAag9B,oBACbh9B,IAAa+6C,gBACb/6C,IAAas+C,UACbt+C,IAAa48B,mBACb58B,IAAai9B,6BAGjB,IAAI/K,IAAa,CACft0B,KAAMqR,IAAkBikH,eACxB5gG,QAAS,MACTD,UAAW,MACXD,KACE,2cAKFc,aAAc,IACdX,SAAU,CACRvyB,IAAa08B,aACb18B,IAAai9B,0BACbj9B,IAAa65C,WACb75C,IAAak6C,SACbl6C,IAAao6C,eAGjB,IAAIloB,IAAa,CACft0B,KAAMqR,IAAkBkkH,cACxB7gG,QAAS,KACTD,UAAW,KACXD,KACE,wKAEFgB,aAAc,KACdD,eAAgB,KAChBZ,SAAU,CACRvyB,IAAas+C,UACbt+C,IAAaw8B,WACbx8B,IAAag3B,SACbh3B,IAAam3B,SACbn3B,IAAa82B,MACb92B,IAAak3B,OACbl3B,IAAa08B,aACb18B,IAAa28B,YACb38B,IAAa48B,sBAGjB,IAAI1K,IAAa,CACft0B,KAAMqR,IAAkBmkH,oBACxB9gG,QAAS,OACTD,UAAW,MACXD,KAAM,0GACNa,cAAe,IACfC,aAAc,IACdX,SAAU,CAACvyB,IAAai9B,0BAA2Bj9B,IAAao6C,eAElE,IAAIloB,IAAa,CACft0B,KAAMqR,IAAkBokH,YACxB/gG,QAAS,KACTD,UAAW,MACXD,KACE,yQAIFa,cAAe,KACfC,aAAc,KACdE,aAAc,KACdD,eAAgB,KAChBZ,SAAU,CACRvyB,IAAa48B,mBACb58B,IAAa08B,aACb18B,IAAa67C,sBACb77C,IAAag9B,oBACbh9B,IAAa+6C,mBAGjB,IAAI7oB,IAAa,CACft0B,KAAMqR,IAAkBqkH,oBACxBhhG,QAAS,OACTD,UAAW,IACXD,KACE,iJAEFI,QAAS,CAACvjB,IAAkBokH,aAC5BpgG,cAAe,IACfC,aAAc,IACdE,aAAc,IACdD,eAAgB,IAChBZ,SAAU,CAACvyB,IAAai9B,0BAA2Bj9B,IAAas6C,SAElE,IAAIpoB,IAAa,CACft0B,KAAMqR,IAAkBskH,WACxBjhG,QAAS,KACTD,UAAW,MACXD,KAAM,mFACNgB,aAAc,IACdb,SAAU,CACRvyB,IAAa48B,mBACb58B,IAAa08B,aACb18B,IAAa67C,sBACb77C,IAAag9B,oBACbh9B,IAAa+6C,mBAGjB,IAAI7oB,IAAa,CACft0B,KAAMqR,IAAkBukH,mBACxBlhG,QAAS,KACTD,UAAW,KACXD,KACE,qHAEFI,QAAS,CAACvjB,IAAkBskH,YAC5BngG,aAAc,IACdb,SAAU,CAACvyB,IAAay6C,SAAUz6C,IAAas6C,MAAOt6C,IAAai9B,6BAErE,IAAI/K,IAAa,CACft0B,KAAMqR,IAAkBwkH,gBACxBnhG,QAAS,KACTD,UAAW,IACXD,KACE,yOAGFiB,cAAe,IACfd,SAAU,CACRvyB,IAAas+C,UACbt+C,IAAa+2B,UACb/2B,IAAag3B,SACbh3B,IAAai3B,SACbj3B,IAAa82B,MACb92B,IAAak3B,OACbl3B,IAAam3B,SACbn3B,IAAaw9C,cAGjB,IAAItrB,IAAa,CACft0B,KAAMqR,IAAkBykH,gBACxBphG,QAAS,KACTD,UAAW,KACXD,KACE,oNAGFiB,cAAe,KACfM,kBAAmB,KACnBpB,SAAU,CAACvyB,IAAaw9C,cAE1B,IAAItrB,IAAa,CACft0B,KAAMqR,IAAkB0kH,iCACxBrhG,QAAS,MACTD,UAAW,OACXD,KACE,uZAKFiB,cAAe,IACfM,kBAAmB,IACnBpB,SAAU,CACRvyB,IAAa46C,kBACb56C,IAAak7C,IACbl7C,IAAaq7C,mBACbr7C,IAAag9B,oBACbh9B,IAAa07C,aAGjB,IAAIxpB,IAAa,CACft0B,KAAMqR,IAAkB2kH,QACxBthG,QAAS,KACTD,UAAW,IACXD,KACE,kHAEFW,aAAc,KACdR,SAAU,CAACvyB,IAAaw+C,SAAUx+C,IAAa68B,WAEjD,IAAI3K,IAAa,CACft0B,KAAMqR,IAAkB4kH,2BACxBvhG,QAAS,MACTD,UAAW,IACXD,KACE,saAKFyB,mBAAoB,KACpBC,mBAAoB,KACpBf,aAAc,KACdR,SAAU,CAACvyB,IAAam8C,WAAYn8C,IAAai9B,6BAEnD,IAAI/K,IAAa,CACft0B,KAAMqR,IAAkB6kH,+BACxBxhG,QAAS,KACTD,UAAW,IACXD,KACE,wLAEFyB,mBAAoB,KACpBD,oBAAqB,KACrBN,iBAAkB,KAClBf,SAAU,CAACvyB,IAAa88B,aAAc98B,IAAa68B,WAErD,IAAI3K,IAAa,CACft0B,KAAMqR,IAAkB8kH,wBACxBzhG,QAAS,IACTD,UAAW,OACXD,KACE,oWAIFyB,mBAAoB,KACpBP,iBAAkB,IAClBP,aAAc,KACdR,SAAU,CAACvyB,IAAai9B,0BAA2Bj9B,IAAam8C,WAAYn8C,IAAa88B,gBAE3F,IAAI5K,IAAa,CACft0B,KAAMqR,IAAkB+kH,oBACxB1hG,QAAS,IACTD,UAAW,KACXD,KACE,qLAEFyB,mBAAoB,KACpBtB,SAAU,CAACvyB,IAAaw+C,SAAUx+C,IAAa82B,SAEjD,IAAI5E,IAAa,CACft0B,KAAMqR,IAAkBglH,2BACxB3hG,QAAS,IACTD,UAAW,KACXD,KACE,mJAEFkB,iBAAkB,KAClBf,SAAU,CAACvyB,IAAa68B,WAE1B,IAAI3K,IAAa,CACft0B,KAAMqR,IAAkBilH,SACxB5hG,QAAS,OACTD,UAAW,KACXD,KACE,kOAGF0B,mBAAoB,KACpBvB,SAAU,CACRvyB,IAAam8C,WACbn8C,IAAa88B,aACb98B,IAAa68B,QACb78B,IAAa+2B,UACb/2B,IAAai3B,YAGjB,IAAI/E,IAAa,CACft0B,KAAMqR,IAAkBklH,IACxB7hG,QAAS,KACTD,UAAW,KACXD,KACE,6YAKFW,aAAc,KACdR,SAAU,CACRvyB,IAAam8C,WACbn8C,IAAa88B,aACb98B,IAAa68B,QACb78B,IAAas6C,MACbt6C,IAAay6C,SACbz6C,IAAai9B,0BACbj9B,IAAak7C,IACbl7C,IAAa+6C,mBAGjB,IAAI7oB,IAAa,CACft0B,KAAMqR,IAAkBmlH,QACxB9hG,QAAS,MACTD,UAAW,KACXD,KACE,uLAEFI,QAAS,CAACvjB,IAAkBklH,KAC5BtgG,mBAAoB,KACpBC,mBAAoB,IACpBF,oBAAqB,KACrBN,iBAAkB,KAClBP,aAAc,KACdR,SAAU,CACRvyB,IAAam8C,WACbn8C,IAAa88B,aACb98B,IAAas6C,MACbt6C,IAAay6C,SACbz6C,IAAai9B,0BACbj9B,IAAak7C,IACbl7C,IAAa+6C,mBAGjB,IAAI7oB,IAAa,CACft0B,KAAMqR,IAAkBolH,UACxB/hG,QAAS,IACTD,UAAW,KACXD,KACE,6RAIFI,QAAS,CAACvjB,IAAkBmlH,SAC5BvgG,mBAAoB,KACpBC,mBAAoB,IACpBF,oBAAqB,KACrBN,iBAAkB,KAClBP,aAAc,KACdR,SAAU,CACRvyB,IAAam8C,WACbn8C,IAAas6C,MACbt6C,IAAay6C,SACbz6C,IAAai9B,0BACbj9B,IAAak7C,IACbl7C,IAAa+6C,gBACb/6C,IAAag9B,oBACbh9B,IAAa67C,yBAGjB,IAAI3pB,IAAa,CACft0B,KAAMqR,IAAkBqlH,UACxBhiG,QAAS,MACTD,UAAW,KACXD,KACE,qNAGFI,QAAS,CAACvjB,IAAkBolH,WAC5BxgG,mBAAoB,KACpBC,mBAAoB,IACpBF,oBAAqB,IACrBN,iBAAkB,KAClBP,aAAc,IACdR,SAAU,CACRvyB,IAAas6C,MACbt6C,IAAay6C,SACbz6C,IAAai9B,0BACbj9B,IAAak7C,IACbl7C,IAAak6C,SACbl6C,IAAao6C,YACbp6C,IAAa65C,cAGjB,IAAI3nB,IAAa,CACft0B,KAAMqR,IAAkBslH,iBACxBjiG,QAAS,MACTD,UAAW,IACXD,KACE,qKAEFI,QAAS,CAACvjB,I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C,WAAa,gBACpC2hC,GAAW2C,EAAWtkC,WAAa,eACnC2hC,GAAW6C,EAAaxkC,WAAa,iBACrC2hC,GAAW+C,EAAW1kC,WAAa,eACnC2hC,GAAWgD,EAAY3kC,WAAa,gBACpC2hC,GAAWimG,EAAO5nI,WAAa,gBAE/B2hC,EAAU,aACNuC,EAAa,IACfvC,GAAWuC,EAAa,cAEtBE,EAAc,IAChBzC,GAAWyC,EAAc,eAEvBE,EAAa,IACf3C,GAAW2C,EAAa,cAEtBE,EAAe,IACjB7C,GAAW6C,EAAe,gBAExBE,EAAa,IACf/C,GAAW+C,EAAa,cAEtBC,EAAc,IAChBhD,GAAWgD,EAAc,eAEvBijG,EAAS,IACXjmG,GAAWimG,EAAS,iBAEtBjmG,EAAUA,EAAQ/iC,UAAU,EAAG+iC,EAAQ15C,OAAS,GAChD05C,GAAW,KAENA,EAjDT,mC,8BCHA,oEAGO,MAAMkmG,EAA6B,CACxC,oDACA,IACA,8EACA,sFACA,sFACA,mFACA,8EACA,qEACA,6EACA,2EACA,gEACA,uEACA,uDACA,4FACA,8EACA,kFACA,mHACA,oEACA,kGACA,wEACA,oEACA,gFACA,6FACA,4FACA,6EACA,2FACA,iGACA,6EACA,4GACA,0FACA,yEACA,uEACA,gGACA,iGACA,iFACA,+FACA,0FACA,4FACA,uEACA,wHACA,sFACA,iFACA,KAGIC,EACWp7C,GACN,CACJ,UAASA,wBACT,IACA,8GACA,4FACA,IACA,4CAA2CA,kDAC3C,kBAAiBA,yEACjB,IACA,YACA,IACA,OAAMA,YACN,OAAMA,qBACN,IACA,OAAMA,WACN,OAAMA,iBACN,KAKMq7C,EAA4B,CACvCn2D,MAAO,CACL,oCACA,IACA,4FACA,uGACA,yHACA,kGACA,IACA,gCACA,IACA,mHACA,yHACA,4CACA,IACA,gCACA,IACA,6DACA,IACA,eACA,IACA,2HACA,4HACA,IACA,mCACA,IACA,8GACA,IACA,uHACA,uCACA,IACA,uDACA,KAEFo2D,QAAS,CACP,iBACA,IACA,0GACA,mHACA,kHACA,gCACA,KAEFC,SAAU,CACR,kBACA,IACA,6FACA,IACA,+BACA,KAEFr8H,IAAK,CACH,iCACA,IACA,yEACA,IACA,oHACA,oDACA,IACA,+FACA,IACA,wGACA,KAEFs8H,IAAK,CACH,oBACA,IACA,6EACA,IACA,iBACA,IACA,kBACA,IACA,sBACA,KAEF5Z,GAAI,CACF,kBACA,IACA,yGACA,iFACA,IACA,yBACA,IACA,eACA,IACA,aACA,KAEF6Z,MAAO,CACL,uCACA,IACA,+HACA,uDACA,kIACA,IACA,oCACA,IACA,gGACA,IACA,sCACA,KAEF/rH,MAAO,CACL,eACA,IACA,mIACA,uIACA,KAEFgsH,IAAK,CACH,aACA,IACA,mIACA,yIACA,KAEFn7H,QAAS,CACP,4BACA,IACA,+FACA,oIACA,8GACA,KAEFo7H,GAAI,CAAC,wBAAyB,IAAK,wEAAyE,KAC5GprE,SAAU,CACR,qCACA,IACA,mFACA,IACA,4GACA,IACA,kDACA,IACA,0CACA,IACA,0CACA,KAEFqrE,KAAM,CACJ,wCACA,IACA,oFACA,IACA,oBACA,IACA,WACA,IACA,wBACA,IACA,qFACA,KAEFC,KAAM,CACJ,cACA,IACA,gIACA,gCACA,KAEFjwH,KAAM,CACJ,cACA,IACA,6GACA,2CACA,KAEFT,KAAM,CACJ,cACA,IACA,uHACA,KAEF2wH,KAAM,CACJ,wBACA,IACA,yHACA,0HACA,mEACA,IACA,iBACA,IACA,wBACA,KAEFC,QAAS,CACP,sBACA,IACA,6GACA,KAEF5xG,KAAM,CACJ,cACA,IACA,sGACA,KAEFx2B,SAAU,CAAC,kBAAmB,IAAK,4CAA6C,KAChFuZ,KAAM,CACJ,mDACA,IACA,4EACA,IACA,6EACA,4EACA,iFACA,4DACA,IACA,uCACA,IACA,qEACA,IACA,wCACA,IACA,qFACA,KAEFC,QAAS,CACP,iBACA,IACA,4CACA,2HACA,uHACA,2EACA,KAEFI,GAAI,CACF,wCACA,IACA,iIACA,sDACA,IACA,8FACA,IACA,gFACA,IACA,yHACA,IACA,YACA,IACA,wEACA,IACA,2BACA,IACA,iEACA,IACA,yBACA,IACA,uFACA,IACA,oCACA,KAEFyuH,MAAO,CAAC,eAAgB,IAAK,wDAAyD,KAEtFC,IAAK,CACH,4CACA,IACA,6HACA,2HACA,gFACA,IACA,qBACA,IACA,2BACA,IACA,4HACA,iFACA,KAEFjrH,GAAI,CACF,yBACA,IACA,6FACA,6FACA,kCACA,IACA,kFACA,kBACA,aACA,IACA,qEACA,IACA,oCACA,KAEFkrH,KAAMd,EAAgC,QACtC5tH,GAAI,CAAC,YAAa,IAAK,4DAA6D,KACpFsC,GAAI,CACF,mBACA,IACA,6GACA,IACA,kDACA,KAEF/C,IAAK,CACH,sDACA,IACA,gDACA,IACA,sHACA,2GACA,gEACA,2DACA,2FACA,IACA,kHACA,iFACA,KAEF7B,KAAM,CACJ,cACA,IACA,6HACA,2CACA,KAEF,eAAgB,CACd,mCACA,IACA,kGACA,wGACA,4EACA,IACA,uGACA,qGACA,0BACA,IACA,iHACA,yGACA,UACA,IACA,2GACA,sEACA,KAEFoC,IAAK,CACH,4CACA,IACA,8EACA,2GACA,oCACA,2FACA,IACA,6BACA,IACA,wCACA,KAEF6uH,MAAO,CAAC,eAAgB,IAAK,oEAAqE,KAElGjrH,KAAM,CACJ,sCACA,IACA,oHACA,uHACA,oEACA,IACA,8BACA,IACA,gFACA,IACA,+BACA,KAEFy+D,IAAK,CACH,aACA,IACA,yGACA,+BACA,KAEFysD,QAAS,CACP,8BACA,IACA,mFACA,IACA,iDACA,IACA,oBACA,IACA,kCACA,IACA,gBACA,IACA,kGACA,KAEF3iF,IAAK2hF,EAAgC,OACrCrvH,OAAQ,CACN,gBACA,IACA,oHACA,iEACA,KAEF8E,KAAM,CACJ,kCACA,IACA,iGACA,oGACA,0CACA,IACA,mGACA,iDACA,IACA,mGACA,O,6BC/dJ,wEAIKwrH,EAKAC,EATL,yB,SAIKD,O,2BAAAA,I,8BAAAA,M,cAKAC,O,qBAAAA,I,kBAAAA,M,KA2CE,MAAMjd,EAAe,qDA8BrB,SAASkd,EAAmB9kI,EAAc+kI,EAA6B9kF,GAAyB,UACrG,MAAM1iD,EA7BR,SAA0ByC,EAAc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AU4D,EAAeC,GACjC,OAAO95F,MAAM9xD,UAAUy4D,YAAYh4D,MAAM4D,KAAK6lJ,WAAYlT,YAE5D3yI,KAAK0lJ,2BAA2B1lJ,KAAK+jJ,MAAO,cAAeL,GAE3DA,EAAU,WAER,OADAj2F,MAAM9xD,UAAUiW,KAAK/V,KAAKmE,KAAK6lJ,YACxB7lJ,MAETA,KAAK0lJ,2BAA2B1lJ,KAAK+jJ,MAAO,OAAQL,GAEpD1jJ,KAAK4gJ,WAAW7kJ,KAGd,kDACA,8CACA,kCACA,oEACA,YACA,wBACA,4BACA,yCACA,SACA,oBACA,+DACA,OACA,IACA,eACA,IACA,MAIA,mDACA,8CACA,+BACA,wFACA,wBACA,4BACA,gBACA,+DACA,kCACA,gBACA,kBACA,mDACA,IACA,IACA,cACA,IACA,MAKA,+BACA,mDACA,+BACA,sBACA,0DACA,IACA,wBACA,4BACA,yCACA,uDACA,IACA,8BACA,aACA,oBACA,qBACA,+CACA,iBACA,IACA,OACA,IACA,oBACA,KACA,sBACA,iBACA,MACA,IAKA,oCACA,wDACA,+BACA,sBACA,0DACA,IACA,wBACA,4BACA,yCACA,uDACA,IACA,8BACA,aACA,oBACA,qBACA,+CACA,YACA,IACA,OACA,IACA,aACA,KACA,sBACA,iBACA,MACA,IAIA,oDACA,8CACA,gCACA,kEACA,YACA,wBACA,4BACA,yCACA,SACA,oBACA,4CACA,OACA,IACA,IACA,MAIA,uDACA,8CACA,sBACA,0DACA,IACA,yCACA,wBACA,mDACA,4BACA,mCACA,mBACA,gBACA,IACA,yCACA,qEACA,yBACA,uBACA,qBACA,oBACA,2BACA,+BACA,uDACA,iCACA,8FACA,IACA,8BACA,oBACA,+DACA,wEACA,4CACA,eACA,IACA,0BACA,OACA,IACA,qBACA,gBACA,IACA,MAIA,gDACA,8CACA,gCACA,8DACA,eACA,wBACA,4BACA,yCACA,sBACA,SACA,oBACA,mDACA,OACA,IACA,YACA,IACA,MAIA,mDACA,8CACA,0CACA,kEACA,4DACA,gCACA,wBACA,WACA,oCACA,kBAC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4W,KACE,kRAMJ,CACE73B,KAAM,gCACNihB,KAAM,IACN4W,KACE,qIAGJ,CACE73B,KAAM,kBACNihB,KAAM,IACN4W,KACE,iHAGJ,CACE73B,KAAM,kBACNihB,KAAM,KACN4W,KACE,+IAEF+mJ,gBAAiB,IACjBD,gBAAiB,IACjBE,gBAAiB,IACjBC,gBAAiB,KAEnB,CACE9+K,KAAM,SACNihB,KAAM,IACN4W,KACE,2IAGJ,CACE73B,KAAM,oBACNihB,KAAM,KACN4W,KACE,gIAEFknJ,eAAgB,KAElB,CACE/+K,KAAM,qBACNihB,KAAM,IACN4W,KACE,2IAGFsnJ,YAAa,KAEf,CACEn/K,KAAM,WACNihB,KAAM,KACN4W,KACE,yKAIJ,CACE73B,KAAM,yBACNihB,KAAM,IACN4W,KACE,6NAIFqnJ,gBAAiB,KAEnB,CACEl/K,KAAM,sBACNihB,KAAM,KACN4W,KACE,gLAIJ,CACE73B,KAAM,mBACNihB,KAAM,IACN4W,KACE,4MAIJ,CACE73B,KAAM,UACNihB,KAAM,IACN4W,KAAM,8FAER,CACE73B,KAAM,cACNihB,KAAM,IACN4W,KACE,mTAMJ,CACE73B,KAAM,eACNihB,KAAM,IACN4W,KACE,oZAOJ,CACE73B,KAAM,YACNihB,KAAM,KACN4W,KACE,6NAIFgnJ,gBAAiB,KACjBC,gBAAiB,MAEnB,CACE9+K,KAAM,6BACNihB,KAAM,KACN4W,KACE,4LAGFknJ,eAAgB,KAElB,CACE/+K,KAAM,SACNihB,KAAM,IACN4W,KACE,qKAIJ,CACE73B,KAAM,cACNihB,KAAM,KACN4W,KAAM,mGAER,CACE73B,KAAM,sBACNihB,KAAM,IACN4W,KACE,qKAIJ,CACE73B,KAAM,uBACNihB,KAAM,IACN4W,KACE,qKAIJ,CACE73B,KAAM,qBACNihB,KAAM,IACN4W,KACE,oMAIJ,CACE73B,KAAM,mBACNihB,KAAM,IACN4W,KACE,kIAEFmnJ,sBAAuB,Q,uLCrLpB,MAAM7uE,EAiCX1tG,YAAYrB,GAAuB,sBApBpB,GAoBoB,cAf5B,IAe4B,0BATjB,GASiB,cAN5B,IAM4B,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CZC,UAAW,GACXC,UAAW,GACXE,UAAW,GACXD,UAAW,GACXE,UAAW,GACX99D,WAAY,KAGhB,CACE7G,KAAM,mJACN24E,UAAU,EACVD,WAAW,EACXvwG,KAAM,wBACNu0B,OAAQ,CACN0nE,YAAa,KACbY,WAAY,IACZI,UAAW,IACXd,WAAY,GACZC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXE,UAAW,GACX99D,WAAY,GACZk7B,UAAW,CACT53D,MAAO,IACP65F,QAAS,IACTiB,OAAQ,QAId,CACEjlE,KAAM,4JACN24E,UAAU,EACVD,WAAW,EACXvwG,KAAM,uBACNu0B,OAAQ,CACN0nE,YAAa,KACbY,WAAY,KACZI,UAAW,GACXd,WAAY,GACZC,UAAW,GACXE,UAAW,GACXE,UAAW,GACX99D,WAAY,KAGhB,CACE7G,KAAM,oKACN24E,UAAU,EACVD,WAAW,EACXvwG,KAAM,oBACNu0B,OAAQ,CACN0nE,YAAa,KACbY,WAAY,KACZI,UAAW,IACXd,WAAY,GACZC,UAAW,EACXC,UAAW,EACXC,UAAW,GACXE,UAAW,GACX99D,WAAY,GACZk7B,UAAW,CACT53D,MAAO,IACP65F,QAAS,IACTiB,OAAQ,OAId,CACEjlE,KAAM,wJACN24E,UAAU,EACVD,WAAW,EACXvwG,KAAM,YACNu0B,OAAQ,CACN0nE,YAAa,IACbY,WAAY,EACZV,WAAY,GACZC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXE,UAAW,GACX99D,WAAY,GACZk7B,UAAW,CACT53D,MAAO,EACP65F,QAAS,EACTiB,OAAQ,KAId,CACEjlE,KAAM,8GACN24E,UAAU,EACVD,WAAW,EACXvwG,KAAM,oBACNu0B,OAAQ,CACNsoE,YAAa,KACbV,WAAY,GACZC,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,UAAW,GACX79D,WAAY,EACZk7B,UAAW,CACT53D,MAAO,EACP65F,QAAS,EACTiB,OAAQ,MAId,CACEjlE,KAAM,8EACN24E,UAAU,EACVD,WAAW,EACXvwG,KAAM,eACNu0B,OAAQ,CACN6nE,UAAW,GACXC,UAAW,GACXC,UAAW,GACXC,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AA,EAAMwjE,iBACFxjE,EAAMv4D,MAAQga,IAAIojM,UAAW,OACjC,MAAMC,EAAYt4B,EAAQxsH,EAAMv4D,IAAI8T,cAC/BzR,EAAO+hC,WAAWi5K,GACdh7M,IAAWg7M,EAAW3rM,EAAMgqM,YAChCyB,EAASE,GAFqB3rM,EAAMkqM,aAUPA,UAAWlqM,EAAMkqM,aAEjD,kBAAC,IAAD,CAAM1+G,MAAI,EAACC,GAAI,GACb,kBAAC,IAAD,CAAYt6B,MAAO,CAAEua,UAAW0/H,EAAa,OAAS,aAAcQ,WAAYR,EAAa,MAAQ,SAClGz6M,IAGL,kBAAC,IAAD,CAAM66F,MAAI,EAACC,GAAI,GACb,kBAAC,IAAD,KACG4nF,EACD,kBAAC,IAAD,SAkBV,MAAMk4B,EAAQ,CACZ,YACA,SACA,MACA,cACA,QACA,SACA,YACA,SACA,MACA,OACA,SACA,OACA,UACA,WACA,OACA,YACA,UACA,SACA,MACA,MACA,OACA,QACA,YACA,UACA,KACA,SACA,SACA,YACA,QACA,YACA,UACA,UACA,WACA,WACA,YACA,SACA,OACA,MACA,aACA,aACA,YACA,OACA,SACA,WACA,QACA,aACA,SACA,UACA,cACA,UACA,OACA,MACA,WACA,SACA,cACA,MACA,aACA,WACA,OACA,MACA,UACA,QACA,WACA,UACA,aACA,QACA,UACA,MACA,OACA,SACA,WACA,WACA,UACA,QACA,cACA,cACA,YACA,SACA,OACA,SACA,QACA,WACA,WACA,WACA,OACA,SACA,WACA,YACA,OACA,OACA,YACA,YACA,OACA,QACA,UACA,YACA,WACA,aACA,YACA,OACA,WACA,WACA,SACA,MACA,WACA,UACA,SACA,gBACA,OACA,QACA,UACA,QACA,QACA,UACA,YACA,QACA,YACA,UACA,QACA,SACA,SACA,QACA,UACA,cACA,QACA,aACA,MACA,UACA,OACA,WACA,WACA,UACA,SACA,aACA,YACA,SACA,SACA,SACA,OACA,WACA,QACA,OACA,WACA,SACA,SACA,WACA,SACA,UACA,QACA,SACA,QACA,UACA,UACA,UACA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","file":"main.bundle.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([1527,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { PlayerObject } from \"./PersonObjects/Player/PlayerObject\";\nimport { sanitizeExploits } from \"./Exploits/Exploit\";\n\nimport { Reviver } from \"./utils/JSONReviver\";\n\nexport let Player = new PlayerObject();\n\nexport function loadPlayer(saveString: string): void {\n Player = JSON.parse(saveString, Reviver);\n Player.money = parseFloat(Player.money as any);\n Player.exploits = sanitizeExploits(Player.exploits);\n}\n","export enum FactionNames {\n Illuminati = \"Illuminati\",\n Daedalus = \"Daedalus\",\n TheCovenant = \"The Covenant\",\n ECorp = \"ECorp\",\n MegaCorp = \"MegaCorp\",\n BachmanAssociates = \"Bachman & Associates\",\n BladeIndustries = \"Blade Industries\",\n NWO = \"NWO\",\n ClarkeIncorporated = \"Clarke Incorporated\",\n OmniTekIncorporated = \"OmniTek Incorporated\",\n FourSigma = \"Four Sigma\",\n KuaiGongInternational = \"KuaiGong International\",\n FulcrumSecretTechnologies = \"Fulcrum Secret Technologies\",\n BitRunners = \"BitRunners\",\n TheBlackHand = \"The Black Hand\",\n NiteSec = \"NiteSec\",\n Aevum = \"Aevum\",\n Chongqing = \"Chongqing\",\n Ishima = \"Ishima\",\n NewTokyo = \"New Tokyo\",\n Sector12 = \"Sector-12\",\n Volhaven = \"Volhaven\",\n SpeakersForTheDead = \"Speakers for the Dead\",\n TheDarkArmy = \"The Dark Army\",\n TheSyndicate = \"The Syndicate\",\n Silhouette = \"Silhouette\",\n Tetrads = \"Tetrads\",\n SlumSnakes = \"Slum Snakes\",\n Netburners = \"Netburners\",\n TianDiHui = \"Tian Di Hui\",\n CyberSec = \"CyberSec\",\n Bladeburners = \"Bladeburners\",\n ChurchOfTheMachineGod = \"Church of the Machine God\",\n ShadowsOfAnarchy = \"Shadows of Anarchy\",\n}\n","import numeral from \"numeral\";\nimport \"numeral/locales/bg\";\nimport \"numeral/locales/cs\";\nimport \"numeral/locales/da-dk\";\nimport \"numeral/locales/de\";\nimport \"numeral/locales/en-au\";\nimport \"numeral/locales/en-gb\";\nimport \"numeral/locales/es\";\nimport \"numeral/locales/fr\";\nimport \"numeral/locales/hu\";\nimport \"numeral/locales/it\";\nimport \"numeral/locales/lv\";\nimport \"numeral/locales/no\";\nimport \"numeral/locales/pl\";\nimport \"numeral/locales/ru\";\n\nimport { Settings } from \"../Settings/Settings\";\n\nconst extraFormats = [1e15, 1e18, 1e21, 1e24, 1e27, 1e30];\nconst extraNotations = [\"q\", \"Q\", \"s\", \"S\", \"o\", \"n\"];\nconst gigaMultiplier = { standard: 1e9, iec60027_2: 2 ** 30 };\n\nclass NumeralFormatter {\n // Default Locale\n defaultLocale = \"en\";\n\n constructor() {\n this.defaultLocale = \"en\";\n }\n\n updateLocale(l: string): boolean {\n if (numeral.locale(l) == null) {\n console.warn(`Invalid locale for numeral: ${l}`);\n\n numeral.locale(this.defaultLocale);\n return false;\n }\n return true;\n }\n\n format(n: number, format: string): string {\n // numeraljs doesnt properly format numbers that are too big or too small\n if (Math.abs(n) < 1e-6) {\n n = 0;\n }\n const answer = numeral(n).format(format);\n if (answer === \"NaN\") {\n return `${n}`;\n }\n return answer;\n }\n\n formatBigNumber(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n // TODO: leverage numeral.js to do it. This function also implies you can\n // use this format in some text field but you can't. ( \"1t\" will parse but\n // \"1s\" will not)\n formatReallyBigNumber(n: number, decimalPlaces = 3): string {\n const nAbs = Math.abs(n);\n if (n === Infinity) return \"∞\";\n for (let i = 0; i < extraFormats.length; i++) {\n if (extraFormats[i] < nAbs && nAbs <= extraFormats[i] * 1000) {\n return this.format(n / extraFormats[i], \"0.\" + \"0\".repeat(decimalPlaces)) + extraNotations[i];\n }\n }\n if (nAbs < 1000) {\n return this.format(n, \"0.\" + \"0\".repeat(decimalPlaces));\n }\n const str = this.format(n, \"0.\" + \"0\".repeat(decimalPlaces) + \"a\");\n if (str === \"NaNt\") return this.format(n, \"0.\" + \" \".repeat(decimalPlaces) + \"e+0\");\n return str;\n }\n\n formatHp(n: number): string {\n if (n < 1e6) {\n return this.format(n, \"0,0\");\n }\n return this.formatReallyBigNumber(n);\n }\n\n formatMoney(n: number): string {\n return \"$\" + this.formatReallyBigNumber(n);\n }\n\n formatSkill(n: number): string {\n if (n < 1e15) {\n return this.format(n, \"0,0\");\n }\n return this.formatReallyBigNumber(n);\n }\n\n formatExp(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatHashes(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatReputation(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatFavor(n: number): string {\n return this.format(n, \"0,0\");\n }\n\n formatSecurity(n: number): string {\n return n.toFixed(3);\n }\n\n formatRAM(n: number): string {\n if (Settings.UseIEC60027_2) {\n return this.format(n * gigaMultiplier.iec60027_2, \"0.00ib\");\n }\n return this.format(n * gigaMultiplier.standard, \"0.00b\");\n }\n\n formatPercentage(n: number, decimalPlaces = 2): string {\n const formatter: string = \"0.\" + \"0\".repeat(decimalPlaces) + \"%\";\n return this.format(n, formatter);\n }\n\n formatServerSecurity(n: number): string {\n return this.format(n, \"0,0.000\");\n }\n\n formatRespect(n: number): string {\n return this.formatReallyBigNumber(n, 5);\n }\n\n formatWanted(n: number): string {\n return this.formatReallyBigNumber(n, 5);\n }\n\n formatMultiplier(n: number): string {\n return this.format(n, \"0,0.00\");\n }\n\n formatSleeveShock(n: number): string {\n return this.format(n, \"0,0.000\");\n }\n\n formatSleeveSynchro(n: number): string {\n return this.format(n, \"0,0.000\");\n }\n\n formatSleeveMemory(n: number): string {\n return this.format(n, \"0\");\n }\n\n formatPopulation(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n formatStamina(n: number): string {\n return this.format(n, \"0.0\");\n }\n\n formatShares(n: number): string {\n if (n < 1000) {\n return this.format(n, \"0\");\n }\n return this.formatReallyBigNumber(n);\n }\n\n formatInfiltrationSecurity(n: number): string {\n return this.formatReallyBigNumber(n);\n }\n\n formatThreads(n: number): string {\n return this.format(n, \"0,0\");\n }\n\n formatStaneksGiftHeat(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n formatStaneksGiftCharge(n: number): string {\n return this.format(n, \"0.000a\");\n }\n\n formatStaneksGiftPower(n: number): string {\n return this.format(n, \"0.00\");\n }\n\n parseCustomLargeNumber(str: string): number {\n const numericRegExp = new RegExp(\"^(-?\\\\d+\\\\.?\\\\d*)([\" + extraNotations.join(\"\") + \"]?)$\");\n const match = str.match(numericRegExp);\n if (match == null) {\n return NaN;\n }\n const [, number, notation] = match;\n const notationIndex = extraNotations.indexOf(notation);\n if (notationIndex === -1) {\n return NaN;\n }\n return parseFloat(number) * extraFormats[notationIndex];\n }\n\n largestAbsoluteNumber(n1: number, n2 = 0, n3 = 0): number {\n if (isNaN(n1)) n1 = 0;\n if (isNaN(n2)) n2 = 0;\n if (isNaN(n3)) n3 = 0;\n const largestAbsolute = Math.max(Math.abs(n1), Math.abs(n2), Math.abs(n3));\n switch (largestAbsolute) {\n case Math.abs(n1):\n return n1;\n case Math.abs(n2):\n return n2;\n case Math.abs(n3):\n return n3;\n }\n return 0;\n }\n\n parseMoney(s: string): number {\n // numeral library does not handle formats like 1s (returns 1) and 1e10 (returns 110) well,\n // so if more then 1 return a valid number, return the one farthest from 0\n const numeralValue = numeral(s).value();\n const parsed = parseFloat(s);\n const selfParsed = this.parseCustomLargeNumber(s);\n // Check for one or more NaN values\n if (isNaN(parsed) && isNaN(selfParsed)) {\n if (numeralValue === null) {\n // 3x NaN\n return NaN;\n }\n // 2x NaN\n return numeralValue;\n } else if (numeralValue === null && isNaN(selfParsed)) {\n // 2x NaN\n return parsed;\n } else if (isNaN(parsed)) {\n if (numeralValue === null) {\n // 2x NaN\n return selfParsed;\n }\n // 1x NaN\n return this.largestAbsoluteNumber(numeralValue, selfParsed);\n } else if (numeralValue === null) {\n // 1x NaN\n return this.largestAbsoluteNumber(parsed, selfParsed);\n } else if (isNaN(selfParsed)) {\n // 1x NaN\n return this.largestAbsoluteNumber(numeralValue, parsed);\n } else {\n // no NaN\n return this.largestAbsoluteNumber(numeralValue, parsed, selfParsed);\n }\n }\n}\n\nexport const numeralWrapper = new NumeralFormatter();\n","import { ISelfInitializer, ISelfLoading } from \"../types\";\nimport { OwnedAugmentationsOrderSetting, PurchaseAugmentationsOrderSetting } from \"./SettingEnums\";\nimport { defaultTheme, ITheme } from \"../Themes/Themes\";\nimport { defaultStyles } from \"../Themes/Styles\";\nimport { WordWrapOptions } from \"../ScriptEditor/ui/Options\";\nimport { OverviewSettings } from \"../ui/React/Overview\";\nimport { IStyleSettings } from \"../ScriptEditor/NetscriptDefinitions\";\nimport { defaultMonacoTheme, IScriptEditorTheme } from \"../ScriptEditor/ui/themes\";\n\n/**\n * Represents the default settings the player could customize.\n */\ninterface IDefaultSettings {\n /**\n * How many servers per page\n */\n ActiveScriptsServerPageSize: number;\n /**\n * How many scripts per page\n */\n ActiveScriptsScriptPageSize: number;\n /**\n * How often the game should autosave the player's progress, in seconds.\n */\n AutosaveInterval: number;\n\n /**\n * How many milliseconds between execution points for Netscript 1 statements.\n */\n CodeInstructionRunTime: number;\n\n /**\n * Render city as list of buttons.\n */\n DisableASCIIArt: boolean;\n\n /**\n * Whether global keyboard shortcuts should be recognized throughout the game.\n */\n DisableHotkeys: boolean;\n\n /**\n * Whether text effects such as corruption should be visible.\n */\n DisableTextEffects: boolean;\n\n /**\n * Whether overview progress bars should be visible.\n */\n DisableOverviewProgressBars: boolean;\n\n /**\n * Enable bash hotkeys\n */\n EnableBashHotkeys: boolean;\n\n /**\n * Timestamps format\n */\n TimestampsFormat: string;\n\n /**\n * Locale used for display numbers\n */\n Locale: string;\n\n /**\n * Limit the number of recently killed script entries being tracked.\n */\n MaxRecentScriptsCapacity: number;\n\n /**\n * Limit the number of log entries for each script being executed on each server.\n */\n MaxLogCapacity: number;\n\n /**\n * Limit how many entries can be written to a Netscript Port before entries start to get pushed out.\n */\n MaxPortCapacity: number;\n\n /**\n * Limit the number of entries in the terminal.\n */\n MaxTerminalCapacity: number;\n\n /**\n * Save the game when you save any file.\n */\n SaveGameOnFileSave: boolean;\n\n /**\n * Whether the player should be asked to confirm purchasing each and every augmentation.\n */\n SuppressBuyAugmentationConfirmation: boolean;\n\n /**\n * Whether the user should be prompted to join each faction via a dialog box.\n */\n SuppressFactionInvites: boolean;\n\n /**\n * Whether the user should be shown a dialog box whenever they receive a new message file.\n */\n SuppressMessages: boolean;\n\n /**\n * Whether the user should be asked to confirm travelling between cities.\n */\n SuppressTravelConfirmation: boolean;\n\n /**\n * Whether the user should be displayed a popup message when his Bladeburner actions are cancelled.\n */\n SuppressBladeburnerPopup: boolean;\n\n /**\n * Whether the user should be displayed a popup message on stock market actions.\n */\n SuppressTIXPopup: boolean;\n\n /**\n * Whether the user should be displayed a toast alert when the game is saved.\n */\n SuppressSavedGameToast: boolean;\n\n /**\n * Whether the user should be displayed a toast warning when the autosave is disabled.\n */\n SuppressAutosaveDisabledWarnings: boolean;\n\n /*\n * Whether the game should skip saving the running scripts for late game\n */\n ExcludeRunningScriptsFromSave: boolean;\n\n /*\n * Theme colors\n */\n theme: ITheme;\n\n /*\n * Interface styles\n */\n styles: IStyleSettings;\n\n /*\n * Use GiB instead of GB\n */\n UseIEC60027_2: boolean;\n\n /*\n * Character overview settings\n */\n overview: OverviewSettings;\n\n /**\n * If the game's sidebar is opened\n */\n IsSidebarOpened: boolean;\n\n /**\n * Script editor theme data\n */\n EditorTheme: IScriptEditorTheme;\n}\n\n/**\n * Represents all possible settings the player wants to customize to their play style.\n */\ninterface ISettings extends IDefaultSettings {\n /**\n * What order the player's owned Augmentations/Source Files should be displayed in\n */\n OwnedAugmentationsOrder: OwnedAugmentationsOrderSetting;\n\n /**\n * What order the Augmentations should be displayed in when purchasing from a Faction\n */\n PurchaseAugmentationsOrder: PurchaseAugmentationsOrderSetting;\n\n MonacoTheme: string;\n\n MonacoInsertSpaces: boolean;\n\n MonacoFontSize: number;\n\n MonacoVim: boolean;\n\n MonacoWordWrap: WordWrapOptions;\n}\n\nexport const defaultSettings: IDefaultSettings = {\n ActiveScriptsServerPageSize: 10,\n ActiveScriptsScriptPageSize: 10,\n AutosaveInterval: 60,\n CodeInstructionRunTime: 50,\n DisableASCIIArt: false,\n DisableHotkeys: false,\n DisableTextEffects: false,\n DisableOverviewProgressBars: false,\n EnableBashHotkeys: false,\n TimestampsFormat: \"\",\n Locale: \"en\",\n MaxRecentScriptsCapacity: 50,\n MaxLogCapacity: 50,\n MaxPortCapacity: 50,\n MaxTerminalCapacity: 500,\n SaveGameOnFileSave: true,\n SuppressBuyAugmentationConfirmation: false,\n SuppressFactionInvites: false,\n SuppressMessages: false,\n SuppressTravelConfirmation: false,\n SuppressBladeburnerPopup: false,\n SuppressTIXPopup: false,\n SuppressSavedGameToast: false,\n SuppressAutosaveDisabledWarnings: false,\n UseIEC60027_2: false,\n ExcludeRunningScriptsFromSave: false,\n IsSidebarOpened: true,\n\n theme: defaultTheme,\n styles: defaultStyles,\n overview: { x: 0, y: 0, opened: true },\n\n EditorTheme: defaultMonacoTheme,\n};\n\n/**\n * The current options the player has customized to their play style.\n */\n// tslint:disable-next-line:variable-name\nexport const Settings: ISettings & ISelfInitializer & ISelfLoading = {\n ActiveScriptsServerPageSize: defaultSettings.ActiveScriptsServerPageSize,\n ActiveScriptsScriptPageSize: defaultSettings.ActiveScriptsScriptPageSize,\n AutosaveInterval: defaultSettings.AutosaveInterval,\n CodeInstructionRunTime: 25,\n DisableASCIIArt: defaultSettings.DisableASCIIArt,\n DisableHotkeys: defaultSettings.DisableHotkeys,\n DisableTextEffects: defaultSettings.DisableTextEffects,\n DisableOverviewProgressBars: defaultSettings.DisableOverviewProgressBars,\n EnableBashHotkeys: defaultSettings.EnableBashHotkeys,\n TimestampsFormat: defaultSettings.TimestampsFormat,\n Locale: \"en\",\n MaxRecentScriptsCapacity: defaultSettings.MaxRecentScriptsCapacity,\n MaxLogCapacity: defaultSettings.MaxLogCapacity,\n MaxPortCapacity: defaultSettings.MaxPortCapacity,\n MaxTerminalCapacity: defaultSettings.MaxTerminalCapacity,\n OwnedAugmentationsOrder: OwnedAugmentationsOrderSetting.AcquirementTime,\n PurchaseAugmentationsOrder: PurchaseAugmentationsOrderSetting.Default,\n SaveGameOnFileSave: defaultSettings.SaveGameOnFileSave,\n SuppressBuyAugmentationConfirmation: defaultSettings.SuppressBuyAugmentationConfirmation,\n SuppressFactionInvites: defaultSettings.SuppressFactionInvites,\n SuppressMessages: defaultSettings.SuppressMessages,\n SuppressTravelConfirmation: defaultSettings.SuppressTravelConfirmation,\n SuppressBladeburnerPopup: defaultSettings.SuppressBladeburnerPopup,\n SuppressTIXPopup: defaultSettings.SuppressTIXPopup,\n SuppressSavedGameToast: defaultSettings.SuppressSavedGameToast,\n SuppressAutosaveDisabledWarnings: defaultSettings.SuppressAutosaveDisabledWarnings,\n UseIEC60027_2: defaultSettings.UseIEC60027_2,\n ExcludeRunningScriptsFromSave: defaultSettings.ExcludeRunningScriptsFromSave,\n IsSidebarOpened: defaultSettings.IsSidebarOpened,\n\n MonacoTheme: \"monokai\",\n MonacoInsertSpaces: false,\n MonacoFontSize: 20,\n MonacoVim: false,\n MonacoWordWrap: \"off\",\n\n theme: { ...defaultTheme },\n styles: { ...defaultStyles },\n overview: defaultSettings.overview,\n EditorTheme: { ...defaultMonacoTheme },\n init() {\n Object.assign(Settings, defaultSettings);\n },\n load(saveString: string) {\n const save = JSON.parse(saveString);\n Object.assign(Settings.theme, save.theme);\n delete save.theme;\n Object.assign(Settings.styles, save.styles);\n delete save.styles;\n Object.assign(Settings.overview, save.overview);\n delete save.overview;\n Object.assign(Settings.EditorTheme, save.EditorTheme);\n delete save.EditorTheme;\n Object.assign(Settings, save);\n },\n};\n","/**\n * Generic Game Constants\n *\n * Constants for specific mechanics or features will NOT be here.\n */\nexport const CONSTANTS: {\n VersionString: string;\n VersionNumber: number;\n _idleSpeed: number;\n MaxSkillLevel: number;\n MilliPerCycle: number;\n CorpFactionRepRequirement: number;\n BaseFocusBonus: number;\n BaseCostFor1GBOfRamHome: number;\n BaseCostFor1GBOfRamServer: number;\n TravelCost: number;\n BaseFavorToDonate: number;\n DonateMoneyToRepDivisor: number;\n FactionReputationToFavorBase: number;\n FactionReputationToFavorMult: number;\n CompanyReputationToFavorBase: number;\n CompanyReputationToFavorMult: number;\n NeuroFluxGovernorLevelMult: number;\n NumNetscriptPorts: number;\n HomeComputerMaxRam: number;\n ServerBaseGrowthRate: number;\n ServerMaxGrowthRate: number;\n ServerFortifyAmount: number;\n ServerWeakenAmount: number;\n PurchasedServerLimit: number;\n PurchasedServerMaxRam: number;\n MultipleAugMultiplier: number;\n TorRouterCost: number;\n WSEAccountCost: number;\n TIXAPICost: number;\n MarketData4SCost: number;\n MarketDataTixApi4SCost: number;\n StockMarketCommission: number;\n HospitalCostPerHp: number;\n IntelligenceCrimeWeight: number;\n IntelligenceInfiltrationWeight: number;\n IntelligenceCrimeBaseExpGain: number;\n IntelligenceProgramBaseExpGain: number;\n IntelligenceGraftBaseExpGain: number;\n IntelligenceTerminalHackBaseExpGain: number;\n IntelligenceSingFnBaseExpGain: number;\n IntelligenceClassBaseExpGain: number;\n MillisecondsPer20Hours: number;\n GameCyclesPer20Hours: number;\n MillisecondsPer10Hours: number;\n GameCyclesPer10Hours: number;\n MillisecondsPer8Hours: number;\n GameCyclesPer8Hours: number;\n MillisecondsPer4Hours: number;\n GameCyclesPer4Hours: number;\n MillisecondsPer2Hours: number;\n GameCyclesPer2Hours: number;\n MillisecondsPerHour: number;\n GameCyclesPerHour: number;\n MillisecondsPerHalfHour: number;\n GameCyclesPerHalfHour: number;\n MillisecondsPerQuarterHour: number;\n GameCyclesPerQuarterHour: number;\n MillisecondsPerFiveMinutes: number;\n GameCyclesPerFiveMinutes: number;\n FactionWorkHacking: string;\n FactionWorkField: string;\n FactionWorkSecurity: string;\n WorkTypeCompany: string;\n WorkTypeCompanyPartTime: string;\n WorkTypeFaction: string;\n WorkTypeCreateProgram: string;\n WorkTypeStudyClass: string;\n WorkTypeCrime: string;\n WorkTypeGraftAugmentation: string;\n ClassStudyComputerScience: string;\n ClassDataStructures: string;\n ClassNetworks: string;\n ClassAlgorithms: string;\n ClassManagement: string;\n ClassLeadership: string;\n ClassGymStrength: string;\n ClassGymDefense: string;\n ClassGymDexterity: string;\n ClassGymAgility: string;\n ClassDataStructuresBaseCost: number;\n ClassNetworksBaseCost: number;\n ClassAlgorithmsBaseCost: number;\n ClassManagementBaseCost: number;\n ClassLeadershipBaseCost: number;\n ClassGymBaseCost: number;\n ClassStudyComputerScienceBaseExp: number;\n ClassDataStructuresBaseExp: number;\n ClassNetworksBaseExp: number;\n ClassAlgorithmsBaseExp: number;\n ClassManagementBaseExp: number;\n ClassLeadershipBaseExp: number;\n CrimeShoplift: string;\n CrimeRobStore: string;\n CrimeMug: string;\n CrimeLarceny: string;\n CrimeDrugs: string;\n CrimeBondForgery: string;\n CrimeTraffickArms: string;\n CrimeHomicide: string;\n CrimeGrandTheftAuto: string;\n CrimeKidnap: string;\n CrimeAssassination: string;\n CrimeHeist: string;\n CodingContractBaseFactionRepGain: number;\n CodingContractBaseCompanyRepGain: number;\n CodingContractBaseMoneyGain: number;\n AugmentationGraftingCostMult: number;\n AugmentationGraftingTimeBase: number;\n SoACostMult: number;\n SoARepMult: number;\n EntropyEffect: number;\n TotalNumBitNodes: number;\n Donations: number; // number of blood/plasma/palette donation the dev have verified., boosts NFG\n LatestUpdate: string;\n} = {\n VersionString: \"1.6.4\",\n VersionNumber: 15,\n\n // Speed (in ms) at which the main loop is updated\n _idleSpeed: 200,\n\n /** Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience\n * and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then\n * the player will have this level assuming no multipliers. Multipliers can cause skills to go above this.\n */\n MaxSkillLevel: 975,\n\n // Milliseconds per game cycle\n MilliPerCycle: 200,\n\n // How much reputation is needed to join a megacorporation's faction\n CorpFactionRepRequirement: 200e3,\n\n // Base RAM costs\n BaseCostFor1GBOfRamHome: 32000,\n BaseCostFor1GBOfRamServer: 55000, //1 GB of RAM\n\n // Cost to travel to another city\n TravelCost: 200e3,\n\n // Faction and Company favor-related things\n BaseFavorToDonate: 150,\n DonateMoneyToRepDivisor: 1e6,\n FactionReputationToFavorBase: 500,\n FactionReputationToFavorMult: 1.02,\n CompanyReputationToFavorBase: 500,\n CompanyReputationToFavorMult: 1.02,\n\n // NeuroFlux Governor Augmentation cost multiplier\n NeuroFluxGovernorLevelMult: 1.14,\n\n NumNetscriptPorts: 20,\n\n // Server-related constants\n HomeComputerMaxRam: 1073741824, // 2 ^ 30\n ServerBaseGrowthRate: 1.03, // Unadjusted Growth rate\n ServerMaxGrowthRate: 1.0035, // Maximum possible growth rate (max rate accounting for server security)\n ServerFortifyAmount: 0.002, // Amount by which server's security increases when its hacked/grown\n ServerWeakenAmount: 0.05, // Amount by which server's security decreases when weakened\n\n PurchasedServerLimit: 25,\n PurchasedServerMaxRam: 1048576, // 2^20\n\n // Augmentation Constants\n MultipleAugMultiplier: 1.9,\n\n // TOR Router\n TorRouterCost: 200e3,\n\n // Stock market\n WSEAccountCost: 200e6,\n TIXAPICost: 5e9,\n MarketData4SCost: 1e9,\n MarketDataTixApi4SCost: 25e9,\n StockMarketCommission: 100e3,\n\n // Hospital/Health\n HospitalCostPerHp: 100e3,\n\n // Intelligence-related constants\n IntelligenceCrimeWeight: 0.025, // Weight for how much int affects crime success rates\n IntelligenceInfiltrationWeight: 0.1, // Weight for how much int affects infiltration success rates\n IntelligenceCrimeBaseExpGain: 0.05,\n IntelligenceProgramBaseExpGain: 0.1, // Program required hack level divided by this to determine int exp gain\n IntelligenceGraftBaseExpGain: 0.05,\n IntelligenceTerminalHackBaseExpGain: 200, // Hacking exp divided by this to determine int exp gain\n IntelligenceSingFnBaseExpGain: 1.5,\n IntelligenceClassBaseExpGain: 0.01,\n\n // Time-related constants\n MillisecondsPer20Hours: 72000000,\n GameCyclesPer20Hours: 72000000 / 200,\n\n MillisecondsPer10Hours: 36000000,\n GameCyclesPer10Hours: 36000000 / 200,\n\n MillisecondsPer8Hours: 28800000,\n GameCyclesPer8Hours: 28800000 / 200,\n\n MillisecondsPer4Hours: 14400000,\n GameCyclesPer4Hours: 14400000 / 200,\n\n MillisecondsPer2Hours: 7200000,\n GameCyclesPer2Hours: 7200000 / 200,\n\n MillisecondsPerHour: 3600000,\n GameCyclesPerHour: 3600000 / 200,\n\n MillisecondsPerHalfHour: 1800000,\n GameCyclesPerHalfHour: 1800000 / 200,\n\n MillisecondsPerQuarterHour: 900000,\n GameCyclesPerQuarterHour: 900000 / 200,\n\n MillisecondsPerFiveMinutes: 300000,\n GameCyclesPerFiveMinutes: 300000 / 200,\n\n // Player Work & Action\n BaseFocusBonus: 0.8,\n FactionWorkHacking: \"Faction Hacking Work\",\n FactionWorkField: \"Faction Field Work\",\n FactionWorkSecurity: \"Faction Security Work\",\n\n WorkTypeCompany: \"Working for Company\",\n WorkTypeCompanyPartTime: \"Working for Company part-time\",\n WorkTypeFaction: \"Working for Faction\",\n WorkTypeCreateProgram: \"Working on Create a Program\",\n WorkTypeStudyClass: \"Studying or Taking a class at university\",\n WorkTypeCrime: \"Committing a crime\",\n WorkTypeGraftAugmentation: \"Grafting an Augmentation\",\n\n ClassStudyComputerScience: \"studying Computer Science\",\n ClassDataStructures: \"taking a Data Structures course\",\n ClassNetworks: \"taking a Networks course\",\n ClassAlgorithms: \"taking an Algorithms course\",\n ClassManagement: \"taking a Management course\",\n ClassLeadership: \"taking a Leadership course\",\n ClassGymStrength: \"training your strength at a gym\",\n ClassGymDefense: \"training your defense at a gym\",\n ClassGymDexterity: \"training your dexterity at a gym\",\n ClassGymAgility: \"training your agility at a gym\",\n\n ClassDataStructuresBaseCost: 40,\n ClassNetworksBaseCost: 80,\n ClassAlgorithmsBaseCost: 320,\n ClassManagementBaseCost: 160,\n ClassLeadershipBaseCost: 320,\n ClassGymBaseCost: 120,\n\n ClassStudyComputerScienceBaseExp: 0.5,\n ClassDataStructuresBaseExp: 1,\n ClassNetworksBaseExp: 2,\n ClassAlgorithmsBaseExp: 4,\n ClassManagementBaseExp: 2,\n ClassLeadershipBaseExp: 4,\n\n CrimeShoplift: \"shoplift\",\n CrimeRobStore: \"rob a store\",\n CrimeMug: \"mug someone\",\n CrimeLarceny: \"commit larceny\",\n CrimeDrugs: \"deal drugs\",\n CrimeBondForgery: \"forge corporate bonds\",\n CrimeTraffickArms: \"traffick illegal arms\",\n CrimeHomicide: \"commit homicide\",\n CrimeGrandTheftAuto: \"commit grand theft auto\",\n CrimeKidnap: \"kidnap someone for ransom\",\n CrimeAssassination: \"assassinate a high-profile target\",\n CrimeHeist: \"pull off the ultimate heist\",\n\n // Coding Contract\n // TODO: Move this into Coding contract implementation?\n CodingContractBaseFactionRepGain: 2500,\n CodingContractBaseCompanyRepGain: 4000,\n CodingContractBaseMoneyGain: 75e6,\n\n // Augmentation grafting multipliers\n AugmentationGraftingCostMult: 3,\n AugmentationGraftingTimeBase: 3600000,\n\n // SoA mults\n SoACostMult: 7,\n SoARepMult: 1.3,\n\n // Value raised to the number of entropy stacks, then multiplied to player multipliers\n EntropyEffect: 0.98,\n\n // BitNode/Source-File related stuff\n TotalNumBitNodes: 24,\n\n Donations: 6,\n\n LatestUpdate: `\n v1.6.3 - 2022-04-01 Few stanek fixes\n ----------------------------\n\n Stanek Gift \n\n * Has a minimum size of 2x3\n * Active Fragment property 'avgCharge' renamed to 'highestCharge'\n * Formula for fragment effect updated to make 561% more sense. \n Now you can charge to your heart content.\n * Logs for the 'chargeFragment' function updated.\n\n Misc. \n\n * Nerf noodle bar.\n`,\n};\n","/**\n * Names of all locations\n */\nexport enum LocationName {\n // Aevum Locations\n AevumAeroCorp = \"AeroCorp\",\n AevumBachmanAndAssociates = \"Bachman & Associates\",\n AevumClarkeIncorporated = \"Clarke Incorporated\",\n AevumCrushFitnessGym = \"Crush Fitness Gym\",\n AevumECorp = \"ECorp\",\n AevumFulcrumTechnologies = \"Fulcrum Technologies\",\n AevumGalacticCybersystems = \"Galactic Cybersystems\",\n AevumNetLinkTechnologies = \"NetLink Technologies\",\n AevumPolice = \"Aevum Police Headquarters\",\n AevumRhoConstruction = \"Rho Construction\",\n AevumSnapFitnessGym = \"Snap Fitness Gym\",\n AevumSummitUniversity = \"Summit University\",\n AevumWatchdogSecurity = \"Watchdog Security\",\n AevumCasino = \"Iker Molina Casino\",\n\n // Chongqing locations\n ChongqingKuaiGongInternational = \"KuaiGong International\",\n ChongqingSolarisSpaceSystems = \"Solaris Space Systems\",\n ChongqingChurchOfTheMachineGod = \"Church of the Machine God\",\n\n // Sector 12\n Sector12AlphaEnterprises = \"Alpha Enterprises\",\n Sector12BladeIndustries = \"Blade Industries\",\n Sector12CIA = \"Central Intelligence Agency\",\n Sector12CarmichaelSecurity = \"Carmichael Security\",\n Sector12CityHall = \"Sector-12 City Hall\",\n Sector12DeltaOne = \"DeltaOne\",\n Sector12FoodNStuff = \"FoodNStuff\",\n Sector12FourSigma = \"Four Sigma\",\n Sector12IcarusMicrosystems = \"Icarus Microsystems\",\n Sector12IronGym = \"Iron Gym\",\n Sector12JoesGuns = \"Joe's Guns\",\n Sector12MegaCorp = \"MegaCorp\",\n Sector12NSA = \"National Security Agency\",\n Sector12PowerhouseGym = \"Powerhouse Gym\",\n Sector12RothmanUniversity = \"Rothman University\",\n Sector12UniversalEnergy = \"Universal Energy\",\n\n // New Tokyo\n NewTokyoDefComm = \"DefComm\",\n NewTokyoGlobalPharmaceuticals = \"Global Pharmaceuticals\",\n NewTokyoNoodleBar = \"Noodle Bar\",\n NewTokyoVitaLife = \"VitaLife\",\n NewTokyoArcade = \"Arcade\",\n\n // Ishima\n IshimaNovaMedical = \"Nova Medical\",\n IshimaOmegaSoftware = \"Omega Software\",\n IshimaStormTechnologies = \"Storm Technologies\",\n IshimaGlitch = \"0x6C1\",\n\n // Volhaven\n VolhavenCompuTek = \"CompuTek\",\n VolhavenHeliosLabs = \"Helios Labs\",\n VolhavenLexoCorp = \"LexoCorp\",\n VolhavenMilleniumFitnessGym = \"Millenium Fitness Gym\",\n VolhavenNWO = \"NWO\",\n VolhavenOmniTekIncorporated = \"OmniTek Incorporated\",\n VolhavenOmniaCybersystems = \"Omnia Cybersystems\",\n VolhavenSysCoreSecurities = \"SysCore Securities\",\n VolhavenZBInstituteOfTechnology = \"ZB Institute of Technology\",\n\n // Generic locations\n Hospital = \"Hospital\",\n Slums = \"The Slums\",\n TravelAgency = \"Travel Agency\",\n WorldStockExchange = \"World Stock Exchange\",\n\n // Default name for Location objects\n Void = \"The Void\",\n}\n","export enum AugmentationNames {\n Targeting1 = \"Augmented Targeting I\",\n Targeting2 = \"Augmented Targeting II\",\n Targeting3 = \"Augmented Targeting III\",\n SyntheticHeart = \"Synthetic Heart\",\n SynfibrilMuscle = \"Synfibril Muscle\",\n CombatRib1 = \"Combat Rib I\",\n CombatRib2 = \"Combat Rib II\",\n CombatRib3 = \"Combat Rib III\",\n NanofiberWeave = \"Nanofiber Weave\",\n SubdermalArmor = \"NEMEAN Subdermal Weave\",\n WiredReflexes = \"Wired Reflexes\",\n GrapheneBoneLacings = \"Graphene Bone Lacings\",\n BionicSpine = \"Bionic Spine\",\n GrapheneBionicSpine = \"Graphene Bionic Spine Upgrade\",\n BionicLegs = \"Bionic Legs\",\n GrapheneBionicLegs = \"Graphene Bionic Legs Upgrade\",\n SpeechProcessor = \"Speech Processor Implant\",\n TITN41Injection = \"TITN-41 Gene-Modification Injection\",\n EnhancedSocialInteractionImplant = \"Enhanced Social Interaction Implant\",\n BitWire = \"BitWire\",\n ArtificialBioNeuralNetwork = \"Artificial Bio-neural Network Implant\",\n ArtificialSynapticPotentiation = \"Artificial Synaptic Potentiation\",\n EnhancedMyelinSheathing = \"Enhanced Myelin Sheathing\",\n SynapticEnhancement = \"Synaptic Enhancement Implant\",\n NeuralRetentionEnhancement = \"Neural-Retention Enhancement\",\n DataJack = \"DataJack\",\n ENM = \"Embedded Netburner Module\",\n ENMCore = \"Embedded Netburner Module Core Implant\",\n ENMCoreV2 = \"Embedded Netburner Module Core V2 Upgrade\",\n ENMCoreV3 = \"Embedded Netburner Module Core V3 Upgrade\",\n ENMAnalyzeEngine = \"Embedded Netburner Module Analyze Engine\",\n ENMDMA = \"Embedded Netburner Module Direct Memory Access Upgrade\",\n Neuralstimulator = \"Neuralstimulator\",\n NeuralAccelerator = \"Neural Accelerator\",\n CranialSignalProcessorsG1 = \"Cranial Signal Processors - Gen I\",\n CranialSignalProcessorsG2 = \"Cranial Signal Processors - Gen II\",\n CranialSignalProcessorsG3 = \"Cranial Signal Processors - Gen III\",\n CranialSignalProcessorsG4 = \"Cranial Signal Processors - Gen IV\",\n CranialSignalProcessorsG5 = \"Cranial Signal Processors - Gen V\",\n NeuronalDensification = \"Neuronal Densification\",\n NeuroreceptorManager = \"Neuroreceptor Management Implant\",\n NuoptimalInjectorImplant = \"Nuoptimal Nootropic Injector Implant\",\n SpeechEnhancement = \"Speech Enhancement\",\n FocusWire = \"FocusWire\",\n PCDNI = \"PC Direct-Neural Interface\",\n PCDNIOptimizer = \"PC Direct-Neural Interface Optimization Submodule\",\n PCDNINeuralNetwork = \"PC Direct-Neural Interface NeuroNet Injector\",\n PCMatrix = \"PCMatrix\",\n ADRPheromone1 = \"ADR-V1 Pheromone Gene\",\n ADRPheromone2 = \"ADR-V2 Pheromone Gene\",\n ShadowsSimulacrum = \"The Shadow's Simulacrum\",\n HacknetNodeCPUUpload = \"Hacknet Node CPU Architecture Neural-Upload\",\n HacknetNodeCacheUpload = \"Hacknet Node Cache Architecture Neural-Upload\",\n HacknetNodeNICUpload = \"Hacknet Node NIC Architecture Neural-Upload\",\n HacknetNodeKernelDNI = \"Hacknet Node Kernel Direct-Neural Interface\",\n HacknetNodeCoreDNI = \"Hacknet Node Core Direct-Neural Interface\",\n NeuroFluxGovernor = \"NeuroFlux Governor\",\n Neurotrainer1 = \"Neurotrainer I\",\n Neurotrainer2 = \"Neurotrainer II\",\n Neurotrainer3 = \"Neurotrainer III\",\n Hypersight = \"HyperSight Corneal Implant\",\n LuminCloaking1 = \"LuminCloaking-V1 Skin Implant\",\n LuminCloaking2 = \"LuminCloaking-V2 Skin Implant\",\n HemoRecirculator = \"HemoRecirculator\",\n SmartSonar = \"SmartSonar Implant\",\n PowerRecirculator = \"Power Recirculation Core\",\n QLink = \"QLink\",\n TheRedPill = \"The Red Pill\",\n SPTN97 = \"SPTN-97 Gene Modification\",\n HiveMind = \"ECorp HVMind Implant\",\n CordiARCReactor = \"CordiARC Fusion Reactor\",\n SmartJaw = \"SmartJaw\",\n Neotra = \"Neotra\",\n Xanipher = \"Xanipher\",\n nextSENS = \"nextSENS Gene Modification\",\n OmniTekInfoLoad = \"OmniTek InfoLoad\",\n PhotosyntheticCells = \"Photosynthetic Cells\",\n Neurolink = \"BitRunners Neurolink\",\n TheBlackHand = \"The Black Hand\",\n UnstableCircadianModulator = \"Unstable Circadian Modulator\",\n CRTX42AA = \"CRTX42-AA Gene Modification\",\n Neuregen = \"Neuregen Gene Modification\",\n CashRoot = \"CashRoot Starter Kit\",\n NutriGen = \"NutriGen Implant\",\n INFRARet = \"INFRARET Enhancement\",\n DermaForce = \"DermaForce Particle Barrier\",\n GrapheneBrachiBlades = \"Graphene BrachiBlades Upgrade\",\n GrapheneBionicArms = \"Graphene Bionic Arms Upgrade\",\n BrachiBlades = \"BrachiBlades\",\n BionicArms = \"Bionic Arms\",\n SNA = \"Social Negotiation Assistant (S.N.A)\",\n HydroflameLeftArm = \"Hydroflame Left Arm\",\n CongruityImplant = \"nickofolas Congruity Implant\",\n EsperEyewear = \"EsperTech Bladeburner Eyewear\",\n EMS4Recombination = \"EMS-4 Recombination\",\n OrionShoulder = \"ORION-MKIV Shoulder\",\n HyperionV1 = \"Hyperion Plasma Cannon V1\",\n HyperionV2 = \"Hyperion Plasma Cannon V2\",\n GolemSerum = \"GOLEM Serum\",\n VangelisVirus = \"Vangelis Virus\",\n VangelisVirus3 = \"Vangelis Virus 3.0\",\n INTERLINKED = \"I.N.T.E.R.L.I.N.K.E.D\",\n BladeRunner = \"Blade's Runners\",\n BladeArmor = \"BLADE-51b Tesla Armor\",\n BladeArmorPowerCells = \"BLADE-51b Tesla Armor: Power Cells Upgrade\",\n BladeArmorEnergyShielding = \"BLADE-51b Tesla Armor: Energy Shielding Upgrade\",\n BladeArmorUnibeam = \"BLADE-51b Tesla Armor: Unibeam Upgrade\",\n BladeArmorOmnibeam = \"BLADE-51b Tesla Armor: Omnibeam Upgrade\",\n BladeArmorIPU = \"BLADE-51b Tesla Armor: IPU Upgrade\",\n BladesSimulacrum = \"The Blade's Simulacrum\",\n\n StaneksGift1 = \"Stanek's Gift - Genesis\",\n StaneksGift2 = \"Stanek's Gift - Awakening\",\n StaneksGift3 = \"Stanek's Gift - Serenity\",\n\n /*\n MightOfAres = \"Might of Ares\", // slash\n WisdomOfAthena = \"Wisdom of Athena\", // bracket\n TrickeryOfHermes = \"Trickery of Hermes\", // cheatcode\n BeautyOfAphrodite = \"Beauty of Aphrodite\", // bribe\n ChaosOfDionysus = \"Chaos of Dionysus\", // reverse\n FloodOfPoseidon = \"Flood of Poseidon\", // hex\n HuntOfArtemis = \"Hunt of Artemis\", // mine\n KnowledgeOfApollo = \"Knowledge of Apollo\", // wire\n */\n\n // Infiltrators MiniGames\n MightOfAres = \"SoA - Might of Ares\", // slash\n WisdomOfAthena = \"SoA - Wisdom of Athena\", // bracket\n TrickeryOfHermes = \"SoA - Trickery of Hermes\", // cheatcode\n BeautyOfAphrodite = \"SoA - Beauty of Aphrodite\", // bribe\n ChaosOfDionysus = \"SoA - Chaos of Dionysus\", // reverse\n FloodOfPoseidon = \"SoA - Flood of Poseidon\", // hex\n HuntOfArtemis = \"SoA - Hunt of Artemis\", // mine\n KnowledgeOfApollo = \"SoA - Knowledge of Apollo\", // wire\n WKSharmonizer = \"SoA - phyzical WKS harmonizer\",\n\n //Wasteland Augs\n //PepBoy: \"P.E.P-Boy\", Plasma Energy Projection System\n //PepBoyForceField Generates plasma force fields\n //PepBoyBlasts Generate high density plasma concussive blasts\n //PepBoyDataStorage STore more data on pep boy,\n}\n","import { AlertEvents } from \"./AlertManager\";\n\nimport React from \"react\";\nimport { SxProps } from \"@mui/system\";\nimport { Typography } from \"@mui/material\";\n\nexport function dialogBoxCreate(txt: string | JSX.Element, styles?: SxProps): void {\n if (typeof txt !== \"string\") {\n AlertEvents.emit(txt);\n } else {\n AlertEvents.emit();\n }\n}\n","/**\n * All possible Cities in the game. Names only, not actual \"City\" object\n * Implemented as an enum for typing purposes\n */\nexport enum CityName {\n Aevum = \"Aevum\",\n Chongqing = \"Chongqing\",\n Ishima = \"Ishima\",\n NewTokyo = \"New Tokyo\",\n Sector12 = \"Sector-12\",\n Volhaven = \"Volhaven\",\n}\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { IPlayer } from \"../../PersonObjects/IPlayer\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n unbuyable: {\n color: theme.palette.action.disabled,\n },\n money: {\n color: theme.colors.money,\n },\n }),\n);\n\ninterface IProps {\n money: number | string;\n player?: IPlayer;\n}\nexport function Money(props: IProps): React.ReactElement {\n const classes = useStyles();\n if (props.player !== undefined) {\n if (typeof props.money !== \"number\") throw new Error(\"if player if provided, money should be number, contact dev\");\n if (!props.player.canAfford(props.money))\n return {numeralWrapper.formatMoney(props.money)};\n }\n return (\n \n {typeof props.money === \"number\" ? numeralWrapper.formatMoney(props.money) : props.money}\n \n );\n}\n","import { defaultMultipliers } from \"./BitNode\";\n\n/**\n * Bitnode multipliers influence the difficulty of different aspects of the game.\n * Each Bitnode has a different theme/strategy to achieving the end goal, so these multipliers will can help drive the\n * player toward the intended strategy. Unless they really want to play the long, slow game of waiting...\n */\nexport interface IBitNodeMultipliers {\n /**\n * Influences how quickly the player's agility level (not exp) scales\n */\n AgilityLevelMultiplier: number;\n\n /**\n * Influences the base cost to purchase an augmentation.\n */\n AugmentationMoneyCost: number;\n\n /**\n * Influences the base rep the player must have with a faction to purchase an augmentation.\n */\n AugmentationRepCost: number;\n\n /**\n * Influences how quickly the player can gain rank within Bladeburner.\n */\n BladeburnerRank: number;\n\n /**\n * Influences the cost of skill levels from Bladeburner.\n */\n BladeburnerSkillCost: number;\n\n /**\n * Influences how quickly the player's charisma level (not exp) scales\n */\n CharismaLevelMultiplier: number;\n\n /**\n * Influences the experience gained for each ability when a player completes a class.\n */\n ClassGymExpGain: number;\n\n /**\n * Influences the amount of money gained from completing Coding Contracts\n **/\n CodingContractMoney: number;\n\n /**\n * Influences the experience gained for each ability when the player completes working their job.\n */\n CompanyWorkExpGain: number;\n\n /**\n * Influences how much money the player earns when completing working their job.\n */\n CompanyWorkMoney: number;\n\n /**\n * Influences the valuation of corporations created by the player.\n */\n CorporationValuation: number;\n\n /**\n * Influences the base experience gained for each ability when the player commits a crime.\n */\n CrimeExpGain: number;\n\n /**\n * Influences the base money gained when the player commits a crime.\n */\n CrimeMoney: number;\n\n /**\n * Influences how many Augmentations you need in order to get invited to the Daedalus faction\n */\n DaedalusAugsRequirement: number;\n\n /**\n * Influences how quickly the player's defense level (not exp) scales\n */\n DefenseLevelMultiplier: number;\n\n /**\n * Influences how quickly the player's dexterity level (not exp) scales\n */\n DexterityLevelMultiplier: number;\n\n /**\n * Influences how much rep the player gains in each faction simply by being a member.\n */\n FactionPassiveRepGain: number;\n\n /**\n * Influences the experience gained for each ability when the player completes work for a Faction.\n */\n FactionWorkExpGain: number;\n\n /**\n * Influences how much rep the player gains when performing work for a faction.\n */\n FactionWorkRepGain: number;\n\n /**\n * Influences how much it costs to unlock the stock market's 4S Market Data API\n */\n FourSigmaMarketDataApiCost: number;\n\n /**\n * Influences how much it costs to unlock the stock market's 4S Market Data (NOT API)\n */\n FourSigmaMarketDataCost: number;\n\n /**\n * Reduces gangs earning.\n */\n GangSoftcap: number;\n\n /**\n * Percentage of unique augs that the gang has.\n */\n GangUniqueAugs: number;\n\n /**\n * Influences the experienced gained when hacking a server.\n */\n HackExpGain: number;\n\n /**\n * Influences how quickly the player's hacking level (not experience) scales\n */\n HackingLevelMultiplier: number;\n\n /**\n * Influences how much money is produced by Hacknet Nodes.\n * Influeces the hash rate of Hacknet Servers (unlocked in BitNode-9)\n */\n HacknetNodeMoney: number;\n\n /**\n * Influences how much money it costs to upgrade your home computer's RAM\n */\n HomeComputerRamCost: number;\n\n /**\n * Influences how much money is gained when the player infiltrates a company.\n */\n InfiltrationMoney: number;\n\n /**\n * Influences how much rep the player can gain from factions when selling stolen documents and secrets\n */\n InfiltrationRep: number;\n\n /**\n * Influences how much money can be stolen from a server when the player performs a hack against it through\n * the Terminal.\n */\n ManualHackMoney: number;\n\n /**\n * Influence how much it costs to purchase a server\n */\n PurchasedServerCost: number;\n\n /**\n * Influence how much it costs to purchase a server\n */\n PurchasedServerSoftcap: number;\n\n /**\n * Influences the maximum number of purchased servers you can have\n */\n PurchasedServerLimit: number;\n\n /**\n * Influences the maximum allowed RAM for a purchased server\n */\n PurchasedServerMaxRam: number;\n /**\n * Influences the minimum favor the player must have with a faction before they can donate to gain rep.\n */\n RepToDonateToFaction: number;\n\n /**\n * Influences how much money can be stolen from a server when a script performs a hack against it.\n */\n ScriptHackMoney: number;\n\n /**\n * The amount of money actually gained when script hack a server. This is\n * different than the above because you can reduce the amount of money but\n * not gain that same amount.\n */\n ScriptHackMoneyGain: number;\n\n /**\n * Influences the growth percentage per cycle against a server.\n */\n ServerGrowthRate: number;\n\n /**\n * Influences the maxmimum money that a server can grow to.\n */\n ServerMaxMoney: number;\n\n /**\n * Influences the initial money that a server starts with.\n */\n ServerStartingMoney: number;\n\n /**\n * Influences the initial security level (hackDifficulty) of a server.\n */\n ServerStartingSecurity: number;\n\n /**\n * Influences the weaken amount per invocation against a server.\n */\n ServerWeakenRate: number;\n\n /**\n * Influences how quickly the player's strength level (not exp) scales\n */\n StrengthLevelMultiplier: number;\n\n /**\n * Influences the power of the gift.\n */\n StaneksGiftPowerMultiplier: number;\n\n /**\n * Influences the size of the gift.\n */\n StaneksGiftExtraSize: number;\n\n /**\n * Influences the hacking skill required to backdoor the world daemon.\n */\n WorldDaemonDifficulty: number;\n\n /**\n * Influences corporation dividends.\n */\n CorporationSoftCap: number;\n\n // Index signature\n [key: string]: number;\n}\n\n/**\n * The multipliers that are influenced by current Bitnode progression.\n */\n// tslint:disable-next-line:variable-name\nexport const BitNodeMultipliers = defaultMultipliers;\n","import { EqualityFunc } from \"../types\";\nimport { isString } from \"./helpers/isString\";\n\n/*\nConverts a date representing time in milliseconds to a string with the format H hours M minutes and S seconds\ne.g. 10000 -> \"10 seconds\"\n 120000 -> \"2 minutes and 0 seconds\"\n*/\nfunction convertTimeMsToTimeElapsedString(time: number, showMilli = false): string {\n time = Math.floor(time);\n const millisecondsPerSecond = 1000;\n const secondPerMinute = 60;\n const minutesPerHours = 60;\n const secondPerHours: number = secondPerMinute * minutesPerHours;\n const hoursPerDays = 24;\n const secondPerDay: number = secondPerHours * hoursPerDays;\n\n // Convert ms to seconds, since we only have second-level precision\n const totalSeconds: number = Math.floor(time / millisecondsPerSecond);\n\n const days: number = Math.floor(totalSeconds / secondPerDay);\n const secTruncDays: number = totalSeconds % secondPerDay;\n\n const hours: number = Math.floor(secTruncDays / secondPerHours);\n const secTruncHours: number = secTruncDays % secondPerHours;\n\n const minutes: number = Math.floor(secTruncHours / secondPerMinute);\n const secTruncMinutes: number = secTruncHours % secondPerMinute;\n\n const milliTruncSec: string = (() => {\n let str = `${time % millisecondsPerSecond}`;\n while (str.length < 3) str = \"0\" + str;\n return str;\n })();\n\n const seconds: string = showMilli ? `${secTruncMinutes}.${milliTruncSec}` : `${secTruncMinutes}`;\n\n let res = \"\";\n if (days > 0) {\n res += `${days} days `;\n }\n if (hours > 0) {\n res += `${hours} hours `;\n }\n if (minutes > 0) {\n res += `${minutes} minutes `;\n }\n res += `${seconds} seconds`;\n\n return res;\n}\n\n// Finds the longest common starting substring in a set of strings\nfunction longestCommonStart(strings: string[]): string {\n if (!containsAllStrings(strings)) {\n return \"\";\n }\n if (strings.length === 0) {\n return \"\";\n }\n\n const A: string[] = strings.concat().sort();\n const a1: string = A[0];\n const a2: string = A[A.length - 1];\n const L: number = a1.length;\n let i = 0;\n const areEqualCaseInsensitive: EqualityFunc = (a: string, b: string) => a.toUpperCase() === b.toUpperCase();\n while (i < L && areEqualCaseInsensitive(a1.charAt(i), a2.charAt(i))) {\n i++;\n }\n\n return a1.substring(0, i);\n}\n\n// Returns whether an array contains entirely of string objects\nfunction containsAllStrings(arr: string[]): boolean {\n return arr.every(isString);\n}\n\n// Formats a number with commas and a specific number of decimal digits\nfunction formatNumber(num: number, numFractionDigits = 0): string {\n return num.toLocaleString(undefined, {\n maximumFractionDigits: numFractionDigits,\n minimumFractionDigits: numFractionDigits,\n });\n}\n\n// Generates a random alphanumeric string with N characters\nfunction generateRandomString(n: number): string {\n let str = \"\";\n const chars = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789\";\n\n for (let i = 0; i < n; i++) {\n str += chars.charAt(Math.floor(Math.random() * chars.length));\n }\n\n return str;\n}\n\n/**\n * Hashes the input string. This is a fast hash, so NOT good for cryptography.\n * This has been ripped off here: https://stackoverflow.com/a/52171480\n * @param str The string that is to be hashed\n * @param seed A seed to randomize the result\n * @returns An hexadecimal string representation of the hashed input\n */\nfunction cyrb53(str: string, seed = 0): string {\n let h1 = 0xdeadbeef ^ seed;\n let h2 = 0x41c6ce57 ^ seed;\n for (let i = 0, ch; i < str.length; i++) {\n ch = str.charCodeAt(i);\n h1 = Math.imul(h1 ^ ch, 2654435761);\n h2 = Math.imul(h2 ^ ch, 1597334677);\n }\n h1 = Math.imul(h1 ^ (h1 >>> 16), 2246822507) ^ Math.imul(h2 ^ (h2 >>> 13), 3266489909);\n h2 = Math.imul(h2 ^ (h2 >>> 16), 2246822507) ^ Math.imul(h1 ^ (h1 >>> 13), 3266489909);\n return (4294967296 * (2097151 & h2) + (h1 >>> 0)).toString(16);\n}\n\nexport {\n convertTimeMsToTimeElapsedString,\n longestCommonStart,\n containsAllStrings,\n formatNumber,\n generateRandomString,\n cyrb53,\n};\n","import { Server } from \"./Server\";\nimport { BaseServer } from \"./BaseServer\";\nimport { serverMetadata } from \"./data/servers\";\n\nimport { HacknetServer } from \"../Hacknet/HacknetServer\";\n\nimport { IMap } from \"../types\";\nimport { createRandomIp } from \"../utils/IPAddress\";\nimport { getRandomInt } from \"../utils/helpers/getRandomInt\";\nimport { Reviver } from \"../utils/JSONReviver\";\nimport { isValidIPAddress } from \"../utils/helpers/isValidIPAddress\";\nimport { SpecialServers } from \"./data/SpecialServers\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\n\n/**\n * Map of all Servers that exist in the game\n * Key (string) = IP\n * Value = Server object\n */\nlet AllServers: IMap = {};\n\nfunction GetServerByIP(ip: string): BaseServer | undefined {\n for (const key of Object.keys(AllServers)) {\n const server = AllServers[key];\n if (server.ip !== ip) continue;\n return server;\n }\n}\n\n//Returns server object with corresponding hostname\n// Relatively slow, would rather not use this a lot\nfunction GetServerByHostname(hostname: string): BaseServer | null {\n for (const key of Object.keys(AllServers)) {\n const server = AllServers[key];\n if (server.hostname == hostname) {\n return server;\n }\n }\n\n return null;\n}\n\n//Get server by IP or hostname. Returns null if invalid\nexport function GetServer(s: string): BaseServer | null {\n if (AllServers.hasOwnProperty(s)) {\n const server = AllServers[s];\n if (server) return server;\n }\n\n if (!isValidIPAddress(s)) {\n return GetServerByHostname(s);\n }\n\n const ipserver = GetServerByIP(s);\n if (ipserver !== undefined) {\n return ipserver;\n }\n\n return null;\n}\n\nexport function GetAllServers(): BaseServer[] {\n const servers: BaseServer[] = [];\n for (const key of Object.keys(AllServers)) {\n servers.push(AllServers[key]);\n }\n return servers;\n}\n\nexport function DeleteServer(serverkey: string): void {\n for (const key of Object.keys(AllServers)) {\n const server = AllServers[key];\n if (server.ip !== serverkey && server.hostname !== serverkey) continue;\n delete AllServers[key];\n break;\n }\n}\n\nexport function ipExists(ip: string): boolean {\n return AllServers[ip] != null;\n}\n\nexport function createUniqueRandomIp(): string {\n let ip: string;\n // Repeat generating ip, until unique one is found\n do {\n ip = createRandomIp();\n } while (ipExists(ip));\n\n return ip;\n}\n\n// Saftely add a Server to the AllServers map\nexport function AddToAllServers(server: Server | HacknetServer): void {\n if (GetServer(server.hostname)) {\n console.warn(`Hostname of the server thats being added: ${server.hostname}`);\n console.warn(`The server that already has this IP is: ${AllServers[server.hostname].hostname}`);\n throw new Error(\"Error: Trying to add a server with an existing IP\");\n }\n\n AllServers[server.hostname] = server;\n}\n\ninterface IServerParams {\n hackDifficulty?: number;\n hostname: string;\n ip: string;\n maxRam?: number;\n moneyAvailable?: number;\n numOpenPortsRequired: number;\n organizationName: string;\n requiredHackingSkill?: number;\n serverGrowth?: number;\n\n [key: string]: any;\n}\n\nexport function initForeignServers(homeComputer: Server): void {\n /* Create a randomized network for all the foreign servers */\n //Groupings for creating a randomized network\n const networkLayers: Server[][] = [];\n for (let i = 0; i < 15; i++) {\n networkLayers.push([]);\n }\n\n // Essentially any property that is of type 'number | IMinMaxRange'\n const propertiesToPatternMatch: string[] = [\n \"hackDifficulty\",\n \"moneyAvailable\",\n \"requiredHackingSkill\",\n \"serverGrowth\",\n ];\n\n const toNumber = (value: any): any => {\n switch (typeof value) {\n case \"number\":\n return value;\n case \"object\":\n return getRandomInt(value.min, value.max);\n default:\n throw Error(`Do not know how to convert the type '${typeof value}' to a number`);\n }\n };\n\n for (const metadata of serverMetadata) {\n const serverParams: IServerParams = {\n hostname: metadata.hostname,\n ip: createUniqueRandomIp(),\n numOpenPortsRequired: metadata.numOpenPortsRequired,\n organizationName: metadata.organizationName,\n };\n\n if (metadata.maxRamExponent !== undefined) {\n serverParams.maxRam = Math.pow(2, toNumber(metadata.maxRamExponent));\n }\n\n for (const prop of propertiesToPatternMatch) {\n if (metadata[prop] !== undefined) {\n serverParams[prop] = toNumber(metadata[prop]);\n }\n }\n\n const server = new Server(serverParams);\n for (const filename of metadata.literature || []) {\n server.messages.push(filename);\n }\n\n if (server.hostname === SpecialServers.WorldDaemon) {\n server.requiredHackingSkill *= BitNodeMultipliers.WorldDaemonDifficulty;\n }\n AddToAllServers(server);\n if (metadata.networkLayer !== undefined) {\n networkLayers[toNumber(metadata.networkLayer) - 1].push(server);\n }\n }\n\n /* Create a randomized network for all the foreign servers */\n const linkComputers = (server1: Server, server2: Server): void => {\n server1.serversOnNetwork.push(server2.hostname);\n server2.serversOnNetwork.push(server1.hostname);\n };\n\n const getRandomArrayItem = (arr: any[]): any => arr[Math.floor(Math.random() * arr.length)];\n\n const linkNetworkLayers = (network1: Server[], selectServer: () => Server): void => {\n for (const server of network1) {\n linkComputers(server, selectServer());\n }\n };\n\n // Connect the first tier of servers to the player's home computer\n linkNetworkLayers(networkLayers[0], () => homeComputer);\n for (let i = 1; i < networkLayers.length; i++) {\n linkNetworkLayers(networkLayers[i], () => getRandomArrayItem(networkLayers[i - 1]));\n }\n}\n\nexport function prestigeAllServers(): void {\n for (const member of Object.keys(AllServers)) {\n delete AllServers[member];\n }\n AllServers = {};\n}\n\nexport function loadAllServers(saveString: string): void {\n AllServers = JSON.parse(saveString, Reviver);\n}\n\nexport function saveAllServers(excludeRunningScripts = false): string {\n const TempAllServers = JSON.parse(JSON.stringify(AllServers), Reviver);\n for (const key of Object.keys(TempAllServers)) {\n const server = TempAllServers[key];\n if (excludeRunningScripts) {\n server.runningScripts = [];\n continue;\n }\n for (let i = 0; i < server.runningScripts.length; ++i) {\n const runningScriptObj = server.runningScripts[i];\n runningScriptObj.logs.length = 0;\n runningScriptObj.logs = [];\n }\n }\n\n return JSON.stringify(TempAllServers);\n}\n","import { Faction } from \"../Faction/Faction\";\nimport { Location } from \"../Locations/Location\";\n\n/**\n * The full-screen page the player is currently be on.\n * These pages are mutually exclusive.\n */\nexport enum Page {\n ActiveScripts,\n Augmentations,\n BitVerse,\n Bladeburner,\n City,\n Corporation,\n CreateProgram,\n ScriptEditor,\n DevMenu,\n Faction,\n Factions,\n Gang,\n Hacknet,\n Infiltration,\n Job,\n Milestones,\n Options,\n Grafting,\n Sleeves,\n Stats,\n StockMarket,\n Terminal,\n Travel,\n Tutorial,\n Work,\n BladeburnerCinematic,\n Location,\n Loading,\n StaneksGift,\n Recovery,\n Achievements,\n ThemeBrowser,\n ImportSave,\n}\n\nexport interface ScriptEditorRouteOptions {\n vim: boolean;\n}\n\n/**\n * This class keeps track of player navigation/routing within the game.\n */\nexport interface IRouter {\n // toCinematicText(): void;\n // toInfiltration(): void;\n // toMission(): void;\n // toRedPill(): void;\n // toworkInProgress(): void;\n isInitialized: boolean;\n page(): Page;\n allowRouting(value: boolean): void;\n toActiveScripts(): void;\n toAugmentations(): void;\n toBitVerse(flume: boolean, quick: boolean): void;\n toBladeburner(): void;\n toStats(): void;\n toCity(): void; // travel ? city ?\n toCorporation(): void;\n toCreateProgram(): void;\n toDevMenu(): void;\n toFaction(faction: Faction, augPage?: boolean): void; // faction name\n toFactions(): void;\n toGameOptions(): void;\n toGang(): void;\n toHacknetNodes(): void;\n toInfiltration(location: Location): void;\n toJob(): void;\n toMilestones(): void;\n toGrafting(): void;\n toScriptEditor(files?: Record, options?: ScriptEditorRouteOptions): void;\n toSleeves(): void;\n toStockMarket(): void;\n toTerminal(): void;\n toTravel(): void;\n toTutorial(): void;\n toWork(): void;\n toBladeburnerCinematic(): void;\n toLocation(location: Location): void;\n toStaneksGift(): void;\n toAchievements(): void;\n toThemeBrowser(): void;\n toImportSave(base64Save: string, automatic?: boolean): void;\n}\n","/**\n * Initialization and manipulation of the Factions object, which stores data\n * about all Factions in the game\n */\nimport { Faction } from \"./Faction\";\nimport { FactionInfos } from \"./FactionInfo\";\n\nimport { IMap } from \"../types\";\n\nimport { Reviver } from \"../utils/JSONReviver\";\n\nexport let Factions: IMap = {};\n\nexport function loadFactions(saveString: string): void {\n Factions = JSON.parse(saveString, Reviver);\n // safety check for when we load older save file that don't have newer factions\n for (const faction of Object.keys(Factions)) {\n try {\n Factions[faction].getInfo();\n } catch (err) {\n console.error(\"deleting \" + faction);\n delete Factions[faction];\n }\n }\n}\n\nfunction AddToFactions(faction: Faction): void {\n const name: string = faction.name;\n Factions[name] = faction;\n}\n\nexport function factionExists(name: string): boolean {\n return Factions.hasOwnProperty(name);\n}\n\nexport function initFactions(): void {\n for (const name of Object.keys(FactionInfos)) {\n resetFaction(new Faction(name));\n }\n}\n\n//Resets a faction during (re-)initialization. Saves the favor in the new\n//Faction object and deletes the old Faction Object from \"Factions\". Then\n//reinserts the new Faction object\nfunction resetFaction(newFactionObject: Faction): void {\n if (!(newFactionObject instanceof Faction)) {\n throw new Error(\"Invalid argument 'newFactionObject' passed into resetFaction()\");\n }\n const factionName: string = newFactionObject.name;\n if (factionExists(factionName)) {\n newFactionObject.favor = Factions[factionName].favor;\n delete Factions[factionName];\n }\n AddToFactions(newFactionObject);\n}\n","/**\n * Keyboard key codes\n */\nexport enum KEY {\n //SHIFT: 16, // Check by `&& event.shiftKey`\n //CTRL: 17, // Check by `&& event.ctrlKey`\n //ALT: 18, // Check by `&& event.altKey`\n ENTER = \"Enter\",\n ESC = \"Escape\",\n TAB = \"Tab\",\n SPACE = \" \",\n BACKSPACE = \"Backspace\",\n UP_ARROW = \"ArrowUp\",\n DOWN_ARROW = \"ArrowDown\",\n LEFT_ARROW = \"ArrowLeft\",\n RIGHT_ARROW = \"ArrowRight\",\n\n QUOTE = \"'\",\n DOUBLE_QUOTE = '\"',\n OPEN_BRACKET = \"[\",\n CLOSE_BRACKET = \"]\",\n LESS_THAN = \"<\",\n GREATER_THAN = \">\",\n OPEN_PARENTHESIS = \"(\",\n CLOSE_PARENTHESIS = \")\",\n OPEN_BRACE = \"{\",\n CLOSE_BRACE = \"}\",\n\n PIPE = \"|\",\n DOT = \".\",\n FORWARD_SLASH = \"/\",\n HYPHEN = \"-\",\n HASH = \"#\",\n\n k0 = \"0\",\n k1 = \"1\",\n k2 = \"2\",\n k3 = \"3\",\n k4 = \"4\",\n k5 = \"5\",\n k6 = \"6\",\n k7 = \"7\",\n k8 = \"8\",\n k9 = \"9\",\n\n A = \"a\",\n B = \"b\",\n C = \"c\",\n D = \"d\",\n E = \"e\",\n F = \"f\",\n G = \"g\",\n H = \"h\",\n I = \"i\",\n J = \"j\",\n K = \"k\",\n L = \"l\",\n M = \"m\",\n N = \"n\",\n O = \"o\",\n P = \"p\",\n Q = \"q\",\n R = \"r\",\n S = \"s\",\n T = \"t\",\n U = \"u\",\n V = \"v\",\n W = \"w\",\n X = \"x\",\n Y = \"y\",\n Z = \"z\",\n}\n","/* Generic Reviver, toJSON, and fromJSON functions used for saving and loading objects */\n\nimport { validateObject } from \"./Validator\";\n\ninterface IReviverValue {\n ctor: string;\n data: any;\n}\n\n// A generic \"smart reviver\" function.\n// Looks for object values with a `ctor` property and\n// a `data` property. If it finds them, and finds a matching\n// constructor that has a `fromJSON` property on it, it hands\n// off to that `fromJSON` fuunction, passing in the value.\nexport function Reviver(key: string, value: IReviverValue | null): any {\n if (value == null) {\n return null;\n }\n\n if (typeof value === \"object\" && typeof value.ctor === \"string\" && typeof value.data !== \"undefined\") {\n // Compatibility for version v0.43.1\n // TODO Remove this eventually\n if (value.ctor === \"AllServersMap\") {\n console.warn(\"Converting AllServersMap for v0.43.1\");\n return value.data;\n }\n\n const ctor = Reviver.constructors[value.ctor];\n\n if (typeof ctor === \"function\" && typeof ctor.fromJSON === \"function\") {\n const obj = ctor.fromJSON(value);\n if (ctor.validationData !== undefined) {\n validateObject(obj, ctor.validationData);\n }\n return obj;\n }\n }\n return value;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace Reviver {\n export const constructors: { [key: string]: any } = {};\n}\n\n// A generic \"toJSON\" function that creates the data expected\n// by Reviver.\n// `ctorName` The name of the constructor to use to revive it\n// `obj` The object being serialized\n// `keys` (Optional) Array of the properties to serialize,\n// if not given then all of the objects \"own\" properties\n// that don't have function values will be serialized.\n// (Note: If you list a property in `keys`, it will be serialized\n// regardless of whether it's an \"own\" property.)\n// Returns: The structure (which will then be turned into a string\n// as part of the JSON.stringify algorithm)\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Generic_toJSON(ctorName: string, obj: any, keys?: string[]): IReviverValue {\n if (!keys) {\n keys = Object.keys(obj); // Only \"own\" properties are included\n }\n\n const data: any = {};\n for (let index = 0; index < keys.length; ++index) {\n const key = keys[index];\n data[key] = obj[key];\n }\n return { ctor: ctorName, data: data };\n}\n\n// A generic \"fromJSON\" function for use with Reviver: Just calls the\n// constructor function with no arguments, then applies all of the\n// key/value pairs from the raw data to the instance. Only useful for\n// constructors that can be reasonably called without arguments!\n// `ctor` The constructor to call\n// `data` The data to apply\n// Returns: The object\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function Generic_fromJSON(ctor: new () => T, data: any): T {\n const obj: any = new ctor();\n for (const name in data) {\n obj[name] = data[name];\n }\n return obj;\n}\n","import React, { useContext } from \"react\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IRouter } from \"./Router\";\n\nexport const Context: {\n Player: React.Context;\n Router: React.Context;\n} = {\n Player: React.createContext({} as IPlayer),\n Router: React.createContext({} as IRouter),\n};\n\nexport const use: {\n Player: () => IPlayer;\n Router: () => IRouter;\n} = {\n Player: () => useContext(Context.Player),\n Router: () => useContext(Context.Router),\n};\n","// Defs for job titles, stored in arrays and categorized by job \"type\"\n\nexport const SoftwareCompanyPositions: string[] = [\n \"Software Engineering Intern\",\n \"Junior Software Engineer\",\n \"Senior Software Engineer\",\n \"Lead Software Developer\",\n \"Head of Software\",\n \"Head of Engineering\",\n \"Vice President of Technology\",\n \"Chief Technology Officer\",\n];\n\nexport const ITCompanyPositions: string[] = [\"IT Intern\", \"IT Analyst\", \"IT Manager\", \"Systems Administrator\"];\n\nexport const SecurityEngineerCompanyPositions: string[] = [\"Security Engineer\"];\n\nexport const NetworkEngineerCompanyPositions: string[] = [\"Network Engineer\", \"Network Administrator\"];\n\nexport const BusinessCompanyPositions: string[] = [\n \"Business Intern\",\n \"Business Analyst\",\n \"Business Manager\",\n \"Operations Manager\",\n \"Chief Financial Officer\",\n \"Chief Executive Officer\",\n];\n\nexport const SecurityCompanyPositions: string[] = [\n \"Police Officer\",\n \"Police Chief\",\n \"Security Guard\",\n \"Security Officer\",\n \"Security Supervisor\",\n \"Head of Security\",\n];\n\nexport const AgentCompanyPositions: string[] = [\"Field Agent\", \"Secret Agent\", \"Special Operative\"];\n\nexport const MiscCompanyPositions: string[] = [\"Waiter\", \"Employee\"];\n\nexport const SoftwareConsultantCompanyPositions: string[] = [\"Software Consultant\", \"Senior Software Consultant\"];\n\nexport const BusinessConsultantCompanyPositions: string[] = [\"Business Consultant\", \"Senior Business Consultant\"];\n\nexport const PartTimeCompanyPositions: string[] = [\"Part-time Waiter\", \"Part-time Employee\"];\n","/**\n * Gets a random integer bounded by the values passed in.\n * @param min The minimum value in the range.\n * @param max The maximum value in the range.\n */\nexport function getRandomInt(min: number, max: number): number {\n const lower: number = Math.min(min, max);\n const upper: number = Math.max(min, max);\n\n return Math.floor(Math.random() * (upper - lower + 1)) + lower;\n}\n","import { IPlayer } from \"src/PersonObjects/IPlayer\";\nimport { IMap } from \"../types\";\n\n// TODO remember to update RamCalculations.js and WorkerScript.js\n\n// RAM costs for Netscript functions\nexport const RamCostConstants: IMap = {\n ScriptBaseRamCost: 1.6,\n ScriptDomRamCost: 25,\n ScriptCorporationRamCost: 1024 - 1.6,\n ScriptHackRamCost: 0.1,\n ScriptHackAnalyzeRamCost: 1,\n ScriptGrowRamCost: 0.15,\n ScriptGrowthAnalyzeRamCost: 1,\n ScriptWeakenRamCost: 0.15,\n ScriptWeakenAnalyzeRamCost: 1,\n ScriptScanRamCost: 0.2,\n ScriptRecentScriptsRamCost: 0.2,\n ScriptPortProgramRamCost: 0.05,\n ScriptRunRamCost: 1.0,\n ScriptExecRamCost: 1.3,\n ScriptSpawnRamCost: 2.0,\n ScriptScpRamCost: 0.6,\n ScriptKillRamCost: 0.5,\n ScriptHasRootAccessRamCost: 0.05,\n ScriptGetHostnameRamCost: 0.05,\n ScriptGetHackingLevelRamCost: 0.05,\n ScriptGetMultipliersRamCost: 4.0,\n ScriptGetServerRamCost: 0.1,\n ScriptGetServerMaxRam: 0.05,\n ScriptGetServerUsedRam: 0.05,\n ScriptFileExistsRamCost: 0.1,\n ScriptIsRunningRamCost: 0.1,\n ScriptHacknetNodesRamCost: 4.0,\n ScriptHNUpgLevelRamCost: 0.4,\n ScriptHNUpgRamRamCost: 0.6,\n ScriptHNUpgCoreRamCost: 0.8,\n ScriptGetStockRamCost: 2.0,\n ScriptBuySellStockRamCost: 2.5,\n ScriptGetPurchaseServerRamCost: 0.25,\n ScriptPurchaseServerRamCost: 2.25,\n ScriptGetPurchasedServerLimit: 0.05,\n ScriptGetPurchasedServerMaxRam: 0.05,\n ScriptRoundRamCost: 0.05,\n ScriptReadWriteRamCost: 1.0,\n ScriptArbScriptRamCost: 1.0,\n ScriptGetScriptRamCost: 0.1,\n ScriptGetRunningScriptRamCost: 0.3,\n ScriptGetHackTimeRamCost: 0.05,\n ScriptGetFavorToDonate: 0.1,\n ScriptCodingContractBaseRamCost: 10,\n ScriptSleeveBaseRamCost: 4,\n ScriptGetOwnedSourceFiles: 5,\n\n ScriptSingularityFn1RamCost: 2,\n ScriptSingularityFn2RamCost: 3,\n ScriptSingularityFn3RamCost: 5,\n\n ScriptGangApiBaseRamCost: 4,\n\n ScriptBladeburnerApiBaseRamCost: 4,\n\n ScriptStanekWidth: 0.4,\n ScriptStanekHeight: 0.4,\n ScriptStanekCharge: 0.4,\n ScriptStanekFragmentDefinitions: 0,\n ScriptStanekPlacedFragments: 5,\n ScriptStanekClear: 0,\n ScriptStanekCanPlace: 0.5,\n ScriptStanekPlace: 5,\n ScriptStanekFragmentAt: 2,\n ScriptStanekDeleteAt: 0.15,\n ScriptInfiltrationCalculateDifficulty: 2.5,\n ScriptInfiltrationCalculateRewards: 2.5,\n ScriptInfiltrationGetLocations: 5,\n ScriptInfiltrationGetInfiltrations: 15,\n ScriptStanekAcceptGift: 2,\n};\n\nfunction SF4Cost(cost: number): (player: IPlayer) => number {\n return (player: IPlayer): number => {\n if (player.bitNodeN === 4) return cost;\n const sf4 = player.sourceFileLvl(4);\n if (sf4 <= 1) return cost * 16;\n if (sf4 === 2) return cost * 4;\n return cost;\n };\n}\n\n// Hacknet API\nconst hacknet: IMap = {\n numNodes: 0,\n purchaseNode: 0,\n getPurchaseNodeCost: 0,\n getNodeStats: 0,\n upgradeLevel: 0,\n upgradeRam: 0,\n upgradeCore: 0,\n upgradeCache: 0,\n getLevelUpgradeCost: 0,\n getRamUpgradeCost: 0,\n getCoreUpgradeCost: 0,\n getCacheUpgradeCost: 0,\n numHashes: 0,\n hashCost: 0,\n spendHashes: 0,\n};\n\n// Stock API\nconst stock: IMap = {\n getSymbols: RamCostConstants.ScriptGetStockRamCost,\n getPrice: RamCostConstants.ScriptGetStockRamCost,\n getAskPrice: RamCostConstants.ScriptGetStockRamCost,\n getBidPrice: RamCostConstants.ScriptGetStockRamCost,\n getPosition: RamCostConstants.ScriptGetStockRamCost,\n getMaxShares: RamCostConstants.ScriptGetStockRamCost,\n getPurchaseCost: RamCostConstants.ScriptGetStockRamCost,\n getSaleGain: RamCostConstants.ScriptGetStockRamCost,\n buy: RamCostConstants.ScriptBuySellStockRamCost,\n sell: RamCostConstants.ScriptBuySellStockRamCost,\n short: RamCostConstants.ScriptBuySellStockRamCost,\n sellShort: RamCostConstants.ScriptBuySellStockRamCost,\n placeOrder: RamCostConstants.ScriptBuySellStockRamCost,\n cancelOrder: RamCostConstants.ScriptBuySellStockRamCost,\n getOrders: RamCostConstants.ScriptBuySellStockRamCost,\n getVolatility: RamCostConstants.ScriptBuySellStockRamCost,\n getForecast: RamCostConstants.ScriptBuySellStockRamCost,\n purchase4SMarketData: RamCostConstants.ScriptBuySellStockRamCost,\n purchase4SMarketDataTixApi: RamCostConstants.ScriptBuySellStockRamCost,\n purchaseWseAccount: RamCostConstants.ScriptBuySellStockRamCost,\n purchaseTixApi: RamCostConstants.ScriptBuySellStockRamCost,\n};\n\n// Singularity API\nconst singularity: IMap = {\n universityCourse: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n gymWorkout: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n travelToCity: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n goToLocation: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n purchaseTor: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n purchaseProgram: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n getCurrentServer: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n connect: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n manualHack: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n installBackdoor: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost),\n getDarkwebProgramCost: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n getDarkwebPrograms: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n getStats: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n getCharacterInformation: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n hospitalize: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n isBusy: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 4),\n stopAction: SF4Cost(RamCostConstants.ScriptSingularityFn1RamCost / 2),\n upgradeHomeRam: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n upgradeHomeCores: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n getUpgradeHomeRamCost: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 2),\n getUpgradeHomeCoresCost: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 2),\n workForCompany: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n applyToCompany: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n getCompanyRep: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),\n getCompanyFavor: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),\n getCompanyFavorGain: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 4),\n checkFactionInvitations: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n joinFaction: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n workForFaction: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost),\n getFactionRep: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),\n getFactionFavor: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 3),\n getFactionFavorGain: SF4Cost(RamCostConstants.ScriptSingularityFn2RamCost / 4),\n donateToFaction: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n createProgram: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n commitCrime: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getCrimeChance: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getCrimeStats: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getOwnedAugmentations: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getAugmentationsFromFaction: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getAugmentationCost: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getAugmentationPrereq: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n getAugmentationPrice: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost / 2),\n getAugmentationRepReq: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost / 2),\n getAugmentationStats: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n purchaseAugmentation: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n softReset: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n installAugmentations: SF4Cost(RamCostConstants.ScriptSingularityFn3RamCost),\n isFocused: SF4Cost(0.1),\n setFocus: SF4Cost(0.1),\n b1tflum3: SF4Cost(16),\n destroyW0r1dD43m0n: SF4Cost(32),\n};\n\n// Gang API\nconst gang: IMap = {\n createGang: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n inGang: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getMemberNames: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getGangInformation: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getOtherGangInformation: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getMemberInformation: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n canRecruitMember: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n recruitMember: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getTaskNames: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getTaskStats: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n setMemberTask: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getEquipmentNames: RamCostConstants.ScriptGangApiBaseRamCost / 4,\n getEquipmentCost: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getEquipmentType: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getEquipmentStats: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n purchaseEquipment: RamCostConstants.ScriptGangApiBaseRamCost,\n ascendMember: RamCostConstants.ScriptGangApiBaseRamCost,\n getAscensionResult: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n setTerritoryWarfare: RamCostConstants.ScriptGangApiBaseRamCost / 2,\n getChanceToWinClash: RamCostConstants.ScriptGangApiBaseRamCost,\n getBonusTime: 0,\n};\n\n// Bladeburner API\nconst bladeburner: IMap = {\n getContractNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getOperationNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getBlackOpNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getBlackOpRank: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 2,\n getGeneralActionNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n getSkillNames: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 10,\n startAction: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n stopBladeburnerAction: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 2,\n getCurrentAction: RamCostConstants.ScriptBladeburnerApiBaseRamCost / 4,\n getActionTime: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionEstimatedSuccessChance: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionRepGain: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionCountRemaining: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionMaxLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionCurrentLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getActionAutolevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n setActionAutolevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n setActionLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getRank: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getSkillPoints: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getSkillLevel: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getSkillUpgradeCost: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n upgradeSkill: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getTeamSize: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n setTeamSize: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCityEstimatedPopulation: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCityCommunities: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCityChaos: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getCity: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n switchCity: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getStamina: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n joinBladeburnerFaction: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n joinBladeburnerDivision: RamCostConstants.ScriptBladeburnerApiBaseRamCost,\n getBonusTime: 0,\n};\n\nconst infiltration: IMap = {\n calculateDifficulty: RamCostConstants.ScriptInfiltrationCalculateDifficulty,\n calculateRewards: RamCostConstants.ScriptInfiltrationCalculateRewards,\n calculateGetLocations: RamCostConstants.ScriptInfiltrationGetLocations,\n calculateGetInfiltrations: RamCostConstants.ScriptInfiltrationGetInfiltrations,\n};\n\n// Coding Contract API\nconst codingcontract: IMap = {\n attempt: RamCostConstants.ScriptCodingContractBaseRamCost,\n getContractType: RamCostConstants.ScriptCodingContractBaseRamCost / 2,\n getData: RamCostConstants.ScriptCodingContractBaseRamCost / 2,\n getDescription: RamCostConstants.ScriptCodingContractBaseRamCost / 2,\n getNumTriesRemaining: RamCostConstants.ScriptCodingContractBaseRamCost / 5,\n};\n\n// Duplicate Sleeve API\nconst sleeve: IMap = {\n getNumSleeves: RamCostConstants.ScriptSleeveBaseRamCost,\n setToShockRecovery: RamCostConstants.ScriptSleeveBaseRamCost,\n setToSynchronize: RamCostConstants.ScriptSleeveBaseRamCost,\n setToCommitCrime: RamCostConstants.ScriptSleeveBaseRamCost,\n setToUniversityCourse: RamCostConstants.ScriptSleeveBaseRamCost,\n travel: RamCostConstants.ScriptSleeveBaseRamCost,\n setToCompanyWork: RamCostConstants.ScriptSleeveBaseRamCost,\n setToFactionWork: RamCostConstants.ScriptSleeveBaseRamCost,\n setToGymWorkout: RamCostConstants.ScriptSleeveBaseRamCost,\n getSleeveStats: RamCostConstants.ScriptSleeveBaseRamCost,\n getTask: RamCostConstants.ScriptSleeveBaseRamCost,\n getInformation: RamCostConstants.ScriptSleeveBaseRamCost,\n getSleeveAugmentations: RamCostConstants.ScriptSleeveBaseRamCost,\n getSleevePurchasableAugs: RamCostConstants.ScriptSleeveBaseRamCost,\n purchaseSleeveAug: RamCostConstants.ScriptSleeveBaseRamCost,\n};\n\n// Stanek API\nconst stanek: IMap = {\n giftWidth: RamCostConstants.ScriptStanekWidth,\n giftHeight: RamCostConstants.ScriptStanekHeight,\n chargeFragment: RamCostConstants.ScriptStanekCharge,\n fragmentDefinitions: RamCostConstants.ScriptStanekFragmentDefinitions,\n activeFragments: RamCostConstants.ScriptStanekPlacedFragments,\n clearGift: RamCostConstants.ScriptStanekClear,\n canPlaceFragment: RamCostConstants.ScriptStanekCanPlace,\n placeFragment: RamCostConstants.ScriptStanekPlace,\n getFragment: RamCostConstants.ScriptStanekFragmentAt,\n removeFragment: RamCostConstants.ScriptStanekDeleteAt,\n acceptGift: RamCostConstants.ScriptStanekAcceptGift,\n};\n\n// UI API\nconst ui: IMap = {\n getTheme: 0,\n setTheme: 0,\n resetTheme: 0,\n getStyles: 0,\n setStyles: 0,\n resetStyles: 0,\n getGameInfo: 0,\n};\n\n// Grafting API\nconst grafting: IMap = {\n getAugmentationGraftPrice: 3.75,\n getAugmentationGraftTime: 3.75,\n getGraftableAugmentations: 5,\n graftAugmentation: 7.5,\n};\n\nexport const RamCosts: IMap = {\n hacknet,\n stock,\n singularity,\n ...singularity, // singularity is in namespace & toplevel\n gang,\n bladeburner,\n infiltration,\n codingcontract,\n sleeve,\n stanek,\n ui,\n grafting,\n\n sprintf: 0,\n vsprintf: 0,\n scan: RamCostConstants.ScriptScanRamCost,\n hack: RamCostConstants.ScriptHackRamCost,\n hackAnalyzeThreads: RamCostConstants.ScriptHackAnalyzeRamCost,\n hackAnalyze: RamCostConstants.ScriptHackAnalyzeRamCost,\n hackAnalyzeSecurity: RamCostConstants.ScriptHackAnalyzeRamCost,\n hackAnalyzeChance: RamCostConstants.ScriptHackAnalyzeRamCost,\n sleep: 0,\n asleep: 0,\n share: 2.4,\n getSharePower: 0.2,\n grow: RamCostConstants.ScriptGrowRamCost,\n growthAnalyze: RamCostConstants.ScriptGrowthAnalyzeRamCost,\n growthAnalyzeSecurity: RamCostConstants.ScriptGrowthAnalyzeRamCost,\n weaken: RamCostConstants.ScriptWeakenRamCost,\n weakenAnalyze: RamCostConstants.ScriptWeakenAnalyzeRamCost,\n print: 0,\n printf: 0,\n tprint: 0,\n clearLog: 0,\n disableLog: 0,\n enableLog: 0,\n isLogEnabled: 0,\n getScriptLogs: 0,\n nuke: RamCostConstants.ScriptPortProgramRamCost,\n brutessh: RamCostConstants.ScriptPortProgramRamCost,\n ftpcrack: RamCostConstants.ScriptPortProgramRamCost,\n relaysmtp: RamCostConstants.ScriptPortProgramRamCost,\n httpworm: RamCostConstants.ScriptPortProgramRamCost,\n sqlinject: RamCostConstants.ScriptPortProgramRamCost,\n run: RamCostConstants.ScriptRunRamCost,\n exec: RamCostConstants.ScriptExecRamCost,\n spawn: RamCostConstants.ScriptSpawnRamCost,\n kill: RamCostConstants.ScriptKillRamCost,\n killall: RamCostConstants.ScriptKillRamCost,\n exit: 0,\n atExit: 0,\n scp: RamCostConstants.ScriptScpRamCost,\n ls: RamCostConstants.ScriptScanRamCost,\n ps: RamCostConstants.ScriptScanRamCost,\n getRecentScripts: RamCostConstants.ScriptRecentScriptsRamCost,\n hasRootAccess: RamCostConstants.ScriptHasRootAccessRamCost,\n getIp: RamCostConstants.ScriptGetHostnameRamCost,\n getHostname: RamCostConstants.ScriptGetHostnameRamCost,\n getHackingLevel: RamCostConstants.ScriptGetHackingLevelRamCost,\n getHackingMultipliers: RamCostConstants.ScriptGetMultipliersRamCost,\n getHacknetMultipliers: RamCostConstants.ScriptGetMultipliersRamCost,\n getBitNodeMultipliers: RamCostConstants.ScriptGetMultipliersRamCost,\n getServer: RamCostConstants.ScriptGetMultipliersRamCost / 2,\n getServerMoneyAvailable: RamCostConstants.ScriptGetServerRamCost,\n getServerSecurityLevel: RamCostConstants.ScriptGetServerRamCost,\n getServerBaseSecurityLevel: RamCostConstants.ScriptGetServerRamCost,\n getServerMinSecurityLevel: RamCostConstants.ScriptGetServerRamCost,\n getServerRequiredHackingLevel: RamCostConstants.ScriptGetServerRamCost,\n getServerMaxMoney: RamCostConstants.ScriptGetServerRamCost,\n getServerGrowth: RamCostConstants.ScriptGetServerRamCost,\n getServerNumPortsRequired: RamCostConstants.ScriptGetServerRamCost,\n getServerRam: RamCostConstants.ScriptGetServerRamCost,\n getServerMaxRam: RamCostConstants.ScriptGetServerMaxRam,\n getServerUsedRam: RamCostConstants.ScriptGetServerUsedRam,\n serverExists: RamCostConstants.ScriptGetServerRamCost,\n fileExists: RamCostConstants.ScriptFileExistsRamCost,\n isRunning: RamCostConstants.ScriptIsRunningRamCost,\n getPurchasedServerLimit: RamCostConstants.ScriptGetPurchasedServerLimit,\n getPurchasedServerMaxRam: RamCostConstants.ScriptGetPurchasedServerMaxRam,\n getPurchasedServerCost: RamCostConstants.ScriptGetPurchaseServerRamCost,\n purchaseServer: RamCostConstants.ScriptPurchaseServerRamCost,\n deleteServer: RamCostConstants.ScriptPurchaseServerRamCost,\n getPurchasedServers: RamCostConstants.ScriptPurchaseServerRamCost,\n write: 0,\n tryWritePort: 0,\n read: 0,\n peek: 0,\n clear: 0,\n writePort: 0,\n readPort: 0,\n getPortHandle: 0,\n rm: RamCostConstants.ScriptReadWriteRamCost,\n scriptRunning: RamCostConstants.ScriptArbScriptRamCost,\n scriptKill: RamCostConstants.ScriptArbScriptRamCost,\n getScriptName: 0,\n getScriptRam: RamCostConstants.ScriptGetScriptRamCost,\n getHackTime: RamCostConstants.ScriptGetHackTimeRamCost,\n getGrowTime: RamCostConstants.ScriptGetHackTimeRamCost,\n getWeakenTime: RamCostConstants.ScriptGetHackTimeRamCost,\n getScriptIncome: RamCostConstants.ScriptGetScriptRamCost,\n getScriptExpGain: RamCostConstants.ScriptGetScriptRamCost,\n getRunningScript: RamCostConstants.ScriptGetRunningScriptRamCost,\n nFormat: 0,\n tFormat: 0,\n getTimeSinceLastAug: RamCostConstants.ScriptGetHackTimeRamCost,\n prompt: 0,\n wget: 0,\n getFavorToDonate: RamCostConstants.ScriptGetFavorToDonate,\n getPlayer: RamCostConstants.ScriptSingularityFn1RamCost / 4,\n mv: 0,\n getOwnedSourceFiles: RamCostConstants.ScriptGetOwnedSourceFiles,\n tail: 0,\n toast: 0,\n heart: {\n // Easter egg function\n break: 0,\n },\n};\n\nexport function getRamCost(player: IPlayer, ...args: string[]): number {\n if (args.length === 0) {\n console.warn(`No arguments passed to getRamCost()`);\n return 0;\n }\n\n let curr = RamCosts[args[0]];\n for (let i = 1; i < args.length; ++i) {\n if (curr == null) {\n console.warn(`Invalid function passed to getRamCost: ${args}`);\n return 0;\n }\n\n const currType = typeof curr;\n if (currType === \"function\" || currType === \"number\") {\n break;\n }\n\n curr = curr[args[i]];\n }\n\n if (typeof curr === \"number\") {\n return curr;\n }\n\n if (typeof curr === \"function\") {\n return curr(player);\n }\n\n console.warn(`Unexpected type (${curr}) for value [${args}]`);\n return 0;\n}\n","// Class definition for a single Augmentation object\nimport * as React from \"react\";\nimport { IMap } from \"../types\";\n\nimport { Faction } from \"../Faction/Faction\";\nimport { Factions } from \"../Faction/Factions\";\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { Money } from \"../ui/React/Money\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\nimport { FactionNames } from \"../Faction/data/FactionNames\";\n\nexport interface IConstructorParams {\n info: string | JSX.Element;\n stats?: JSX.Element | null;\n isSpecial?: boolean;\n moneyCost: number;\n name: string;\n prereqs?: string[];\n repCost: number;\n factions: string[];\n\n hacking_mult?: number;\n strength_mult?: number;\n defense_mult?: number;\n dexterity_mult?: number;\n agility_mult?: number;\n charisma_mult?: number;\n hacking_exp_mult?: number;\n strength_exp_mult?: number;\n defense_exp_mult?: number;\n dexterity_exp_mult?: number;\n agility_exp_mult?: number;\n charisma_exp_mult?: number;\n hacking_chance_mult?: number;\n hacking_speed_mult?: number;\n hacking_money_mult?: number;\n hacking_grow_mult?: number;\n company_rep_mult?: number;\n faction_rep_mult?: number;\n crime_money_mult?: number;\n crime_success_mult?: number;\n work_money_mult?: number;\n hacknet_node_money_mult?: number;\n hacknet_node_purchase_cost_mult?: number;\n hacknet_node_ram_cost_mult?: number;\n hacknet_node_core_cost_mult?: number;\n hacknet_node_level_cost_mult?: number;\n bladeburner_max_stamina_mult?: number;\n bladeburner_stamina_gain_mult?: number;\n bladeburner_analysis_mult?: number;\n bladeburner_success_chance_mult?: number;\n infiltration_base_rep_increase?: number;\n infiltration_rep_mult?: number;\n infiltration_trade_mult?: number;\n infiltration_sell_mult?: number;\n infiltration_timer_mult?: number;\n infiltration_damage_reduction_mult?: number;\n\n startingMoney?: number;\n programs?: string[];\n}\n\nfunction generateStatsDescription(mults: IMap, programs?: string[], startingMoney?: number): JSX.Element {\n const f = (x: number, decimals = 0): string => {\n // look, I don't know how to make a \"smart decimals\"\n // todo, make it smarter\n if (x === 1.0777 - 1) return \"7.77%\";\n if (x === 1.777 - 1) return \"77.7%\";\n return numeralWrapper.formatPercentage(x, decimals);\n };\n let desc = <>Effects:>;\n\n if (\n mults.hacking_mult &&\n mults.hacking_mult == mults.strength_mult &&\n mults.hacking_mult == mults.defense_mult &&\n mults.hacking_mult == mults.dexterity_mult &&\n mults.hacking_mult == mults.agility_mult &&\n mults.hacking_mult == mults.charisma_mult\n ) {\n desc = (\n <>\n {desc}\n +{f(mults.hacking_mult - 1)} all skills\n >\n );\n } else {\n if (mults.hacking_mult)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_mult - 1)} hacking skill\n >\n );\n\n if (\n mults.strength_mult &&\n mults.strength_mult == mults.defense_mult &&\n mults.strength_mult == mults.dexterity_mult &&\n mults.strength_mult == mults.agility_mult\n ) {\n desc = (\n <>\n {desc}\n +{f(mults.strength_mult - 1)} combat skills\n >\n );\n } else {\n if (mults.strength_mult)\n desc = (\n <>\n {desc}\n +{f(mults.strength_mult - 1)} strength skill\n >\n );\n if (mults.defense_mult)\n desc = (\n <>\n {desc}\n +{f(mults.defense_mult - 1)} defense skill\n >\n );\n if (mults.dexterity_mult)\n desc = (\n <>\n {desc}\n +{f(mults.dexterity_mult - 1)} dexterity skill\n >\n );\n if (mults.agility_mult)\n desc = (\n <>\n {desc}\n +{f(mults.agility_mult - 1)} agility skill\n >\n );\n }\n if (mults.charisma_mult)\n desc = (\n <>\n {desc}\n +{f(mults.charisma_mult - 1)} charisma skill\n >\n );\n }\n\n if (\n mults.hacking_exp_mult &&\n mults.hacking_exp_mult === mults.strength_exp_mult &&\n mults.hacking_exp_mult === mults.defense_exp_mult &&\n mults.hacking_exp_mult === mults.dexterity_exp_mult &&\n mults.hacking_exp_mult === mults.agility_exp_mult &&\n mults.hacking_exp_mult === mults.charisma_exp_mult\n ) {\n desc = (\n <>\n {desc}\n +{f(mults.hacking_exp_mult - 1)} exp for all skills\n >\n );\n } else {\n if (mults.hacking_exp_mult)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_exp_mult - 1)} hacking exp\n >\n );\n\n if (\n mults.strength_exp_mult &&\n mults.strength_exp_mult === mults.defense_exp_mult &&\n mults.strength_exp_mult === mults.dexterity_exp_mult &&\n mults.strength_exp_mult === mults.agility_exp_mult\n ) {\n desc = (\n <>\n {desc}\n +{f(mults.strength_exp_mult - 1)} combat exp\n >\n );\n } else {\n if (mults.strength_exp_mult)\n desc = (\n <>\n {desc}\n +{f(mults.strength_exp_mult - 1)} strength exp\n >\n );\n if (mults.defense_exp_mult)\n desc = (\n <>\n {desc}\n +{f(mults.defense_exp_mult - 1)} defense exp\n >\n );\n if (mults.dexterity_exp_mult)\n desc = (\n <>\n {desc}\n +{f(mults.dexterity_exp_mult - 1)} dexterity exp\n >\n );\n if (mults.agility_exp_mult)\n desc = (\n <>\n {desc}\n +{f(mults.agility_exp_mult - 1)} agility exp\n >\n );\n }\n if (mults.charisma_exp_mult)\n desc = (\n <>\n {desc}\n +{f(mults.charisma_exp_mult - 1)} charisma exp\n >\n );\n }\n\n if (mults.hacking_speed_mult)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_speed_mult - 1)} faster hack(), grow(), and weaken()\n >\n );\n if (mults.hacking_chance_mult)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_chance_mult - 1)} hack() success chance\n >\n );\n if (mults.hacking_money_mult)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_money_mult - 1)} hack() power\n >\n );\n if (mults.hacking_grow_mult)\n desc = (\n <>\n {desc}\n +{f(mults.hacking_grow_mult - 1)} grow() power\n >\n );\n\n if (mults.faction_rep_mult && mults.faction_rep_mult === mults.company_rep_mult) {\n desc = (\n <>\n {desc}\n +{f(mults.faction_rep_mult - 1)} reputation from factions and companies\n >\n );\n } else {\n if (mults.faction_rep_mult)\n desc = (\n <>\n {desc}\n +{f(mults.faction_rep_mult - 1)} reputation from factions\n >\n );\n if (mults.company_rep_mult)\n desc = (\n <>\n {desc}\n +{f(mults.company_rep_mult - 1)} reputation from companies\n >\n );\n }\n\n if (mults.crime_money_mult)\n desc = (\n <>\n {desc}\n +{f(mults.crime_money_mult - 1)} crime money\n >\n );\n if (mults.crime_success_mult)\n desc = (\n <>\n {desc}\n +{f(mults.crime_success_mult - 1)} crime success rate\n >\n );\n if (mults.work_money_mult)\n desc = (\n <>\n {desc}\n +{f(mults.work_money_mult - 1)} work money\n >\n );\n\n if (mults.hacknet_node_money_mult)\n desc = (\n <>\n {desc}\n +{f(mults.hacknet_node_money_mult - 1)} hacknet production\n >\n );\n if (mults.hacknet_node_purchase_cost_mult)\n desc = (\n <>\n {desc}\n -{f(-(mults.hacknet_node_purchase_cost_mult - 1))} hacknet nodes cost\n >\n );\n if (mults.hacknet_node_level_cost_mult)\n desc = (\n <>\n {desc}\n -{f(-(mults.hacknet_node_level_cost_mult - 1))} hacknet nodes upgrade cost\n >\n );\n\n if (mults.bladeburner_max_stamina_mult)\n desc = (\n <>\n {desc}\n +{f(mults.bladeburner_max_stamina_mult - 1)} Bladeburner Max Stamina\n >\n );\n if (mults.bladeburner_stamina_gain_mult)\n desc = (\n <>\n {desc}\n +{f(mults.bladeburner_stamina_gain_mult - 1)} Bladeburner Stamina gain\n >\n );\n if (mults.bladeburner_analysis_mult)\n desc = (\n <>\n {desc}\n +{f(mults.bladeburner_analysis_mult - 1)} Bladeburner Field Analysis effectiveness\n >\n );\n if (mults.bladeburner_success_chance_mult)\n desc = (\n <>\n {desc}\n +{f(mults.bladeburner_success_chance_mult - 1)} Bladeburner Contracts and Operations success chance\n >\n );\n if (mults.infiltration_base_rep_increase)\n desc = (\n <>\n {desc}\n +{f(mults.infiltration_base_rep_increase - 1)} Infiltration {FactionNames.ShadowsOfAnarchy} Reputation\n base reward\n >\n );\n if (mults.infiltration_rep_mult)\n desc = (\n <>\n {desc}\n +{f(mults.infiltration_rep_mult - 1)} Infiltration {FactionNames.ShadowsOfAnarchy} Reputation reward\n >\n );\n if (mults.infiltration_trade_mult)\n desc = (\n <>\n {desc}\n +{f(mults.infiltration_trade_mult - 1)} Infiltration Reputation for trading information\n >\n );\n if (mults.infiltration_sell_mult)\n desc = (\n <>\n {desc}\n +{f(mults.infiltration_sell_mult - 1)} Infiltration cash reward for selling information\n >\n );\n if (mults.infiltration_timer_mult)\n desc = (\n <>\n {desc}\n +{f(mults.infiltration_timer_mult - 1)} Infiltration time per minigame\n >\n );\n if (mults.infiltration_damage_reduction_mult)\n desc = (\n <>\n {desc}\n \n {f(mults.infiltration_damage_reduction_mult - 1)} Infiltration health lost per failed minigame\n >\n );\n\n if (startingMoney)\n desc = (\n <>\n {desc}\n \n Start with after installing Augmentations.\n >\n );\n\n if (programs)\n desc = (\n <>\n {desc}\n \n Start with {programs.join(\" and \")} after installing Augmentations.\n >\n );\n return desc;\n}\n\nexport class Augmentation {\n // How much money this costs to buy\n baseCost = 0;\n\n // How much faction reputation is required to unlock this\n baseRepRequirement = 0;\n\n // Description of what this Aug is and what it does\n info: string | JSX.Element;\n\n // Description of the stats, often autogenerated, sometimes manually written.\n stats: JSX.Element | null;\n\n // Any Augmentation not immediately available in BitNode-1 is special (e.g. Bladeburner augs)\n isSpecial = false;\n\n // Augmentation level - for repeatable Augs like NeuroFlux Governor\n level = 0;\n\n // Name of Augmentation\n name = \"\";\n\n // Array of names of all prerequisites\n prereqs: string[] = [];\n\n // Multipliers given by this Augmentation. Must match the property name in\n // The Player/Person classes\n mults: IMap = {};\n\n // Initial cost. Doesn't change when you purchase multiple Augmentation\n startingCost = 0;\n\n // Initial rep requirement. Doesn't change when you purchase multiple Augmentation\n startingRepRequirement = 0;\n\n // Factions that offer this aug.\n factions: string[] = [];\n\n constructor(\n params: IConstructorParams = {\n info: \"\",\n moneyCost: 0,\n name: \"\",\n repCost: 0,\n factions: [],\n },\n ) {\n this.name = params.name;\n this.info = params.info;\n this.prereqs = params.prereqs ? params.prereqs : [];\n\n this.baseRepRequirement = params.repCost;\n this.baseCost = params.moneyCost;\n this.startingCost = this.baseCost;\n this.startingRepRequirement = this.baseRepRequirement;\n this.factions = params.factions;\n\n if (params.isSpecial) {\n this.isSpecial = true;\n }\n\n this.level = 0;\n\n // Set multipliers\n if (params.hacking_mult) {\n this.mults.hacking_mult = params.hacking_mult;\n }\n if (params.strength_mult) {\n this.mults.strength_mult = params.strength_mult;\n }\n if (params.defense_mult) {\n this.mults.defense_mult = params.defense_mult;\n }\n if (params.dexterity_mult) {\n this.mults.dexterity_mult = params.dexterity_mult;\n }\n if (params.agility_mult) {\n this.mults.agility_mult = params.agility_mult;\n }\n if (params.charisma_mult) {\n this.mults.charisma_mult = params.charisma_mult;\n }\n if (params.hacking_exp_mult) {\n this.mults.hacking_exp_mult = params.hacking_exp_mult;\n }\n if (params.strength_exp_mult) {\n this.mults.strength_exp_mult = params.strength_exp_mult;\n }\n if (params.defense_exp_mult) {\n this.mults.defense_exp_mult = params.defense_exp_mult;\n }\n if (params.dexterity_exp_mult) {\n this.mults.dexterity_exp_mult = params.dexterity_exp_mult;\n }\n if (params.agility_exp_mult) {\n this.mults.agility_exp_mult = params.agility_exp_mult;\n }\n if (params.charisma_exp_mult) {\n this.mults.charisma_exp_mult = params.charisma_exp_mult;\n }\n if (params.hacking_chance_mult) {\n this.mults.hacking_chance_mult = params.hacking_chance_mult;\n }\n if (params.hacking_speed_mult) {\n this.mults.hacking_speed_mult = params.hacking_speed_mult;\n }\n if (params.hacking_money_mult) {\n this.mults.hacking_money_mult = params.hacking_money_mult;\n }\n if (params.hacking_grow_mult) {\n this.mults.hacking_grow_mult = params.hacking_grow_mult;\n }\n if (params.company_rep_mult) {\n this.mults.company_rep_mult = params.company_rep_mult;\n }\n if (params.faction_rep_mult) {\n this.mults.faction_rep_mult = params.faction_rep_mult;\n }\n if (params.crime_money_mult) {\n this.mults.crime_money_mult = params.crime_money_mult;\n }\n if (params.crime_success_mult) {\n this.mults.crime_success_mult = params.crime_success_mult;\n }\n if (params.work_money_mult) {\n this.mults.work_money_mult = params.work_money_mult;\n }\n if (params.hacknet_node_money_mult) {\n this.mults.hacknet_node_money_mult = params.hacknet_node_money_mult;\n }\n if (params.hacknet_node_purchase_cost_mult) {\n this.mults.hacknet_node_purchase_cost_mult = params.hacknet_node_purchase_cost_mult;\n }\n if (params.hacknet_node_ram_cost_mult) {\n this.mults.hacknet_node_ram_cost_mult = params.hacknet_node_ram_cost_mult;\n }\n if (params.hacknet_node_core_cost_mult) {\n this.mults.hacknet_node_core_cost_mult = params.hacknet_node_core_cost_mult;\n }\n if (params.hacknet_node_level_cost_mult) {\n this.mults.hacknet_node_level_cost_mult = params.hacknet_node_level_cost_mult;\n }\n if (params.bladeburner_max_stamina_mult) {\n this.mults.bladeburner_max_stamina_mult = params.bladeburner_max_stamina_mult;\n }\n if (params.bladeburner_stamina_gain_mult) {\n this.mults.bladeburner_stamina_gain_mult = params.bladeburner_stamina_gain_mult;\n }\n if (params.bladeburner_analysis_mult) {\n this.mults.bladeburner_analysis_mult = params.bladeburner_analysis_mult;\n }\n if (params.bladeburner_success_chance_mult) {\n this.mults.bladeburner_success_chance_mult = params.bladeburner_success_chance_mult;\n }\n\n if (params.infiltration_base_rep_increase) {\n this.mults.infiltration_base_rep_increase = params.infiltration_base_rep_increase;\n }\n if (params.infiltration_rep_mult) {\n this.mults.infiltration_rep_mult = params.infiltration_rep_mult;\n }\n if (params.infiltration_trade_mult) {\n this.mults.infiltration_trade_mult = params.infiltration_trade_mult;\n }\n if (params.infiltration_sell_mult) {\n this.mults.infiltration_sell_mult = params.infiltration_sell_mult;\n }\n if (params.infiltration_timer_mult) {\n this.mults.infiltration_timer_mult = params.infiltration_timer_mult;\n }\n if (params.infiltration_damage_reduction_mult) {\n this.mults.infiltration_damage_reduction_mult = params.infiltration_damage_reduction_mult;\n }\n\n if (params.stats === undefined)\n this.stats = generateStatsDescription(this.mults, params.programs, params.startingMoney);\n else this.stats = params.stats;\n }\n\n // Adds this Augmentation to the specified Factions\n addToFactions(factionList: string[]): void {\n for (let i = 0; i < factionList.length; ++i) {\n const faction: Faction | null = Factions[factionList[i]];\n if (faction == null) {\n console.warn(`In Augmentation.addToFactions(), could not find faction with this name: ${factionList[i]}`);\n continue;\n }\n faction.augmentations.push(this.name);\n }\n }\n\n // Adds this Augmentation to all Factions\n addToAllFactions(): void {\n for (const fac of Object.keys(Factions)) {\n if (Factions.hasOwnProperty(fac)) {\n const facObj: Faction | null = Factions[fac];\n if (facObj == null) {\n console.warn(`Invalid Faction object in addToAllFactions(). Key value: ${fac}`);\n continue;\n }\n if (facObj.getInfo().special) continue;\n facObj.augmentations.push(this.name);\n }\n }\n }\n\n // Serialize the current object to a JSON save state.\n toJSON(): any {\n return Generic_toJSON(\"Augmentation\", this);\n }\n\n // Initiatizes a Augmentation object from a JSON save state.\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Augmentation {\n return Generic_fromJSON(Augmentation, value.data);\n }\n}\n\nReviver.constructors.Augmentation = Augmentation;\n","import { CityName } from \"./../../Locations/data/CityNames\";\nconst CyclesPerMarketCycle = 50;\nconst AllCorporationStates = [\"START\", \"PURCHASE\", \"PRODUCTION\", \"SALE\", \"EXPORT\"];\nexport const CorporationConstants: {\n INITIALSHARES: number;\n SHARESPERPRICEUPDATE: number;\n IssueNewSharesCooldown: number;\n SellSharesCooldown: number;\n CyclesPerMarketCycle: number;\n CyclesPerIndustryStateCycle: number;\n SecsPerMarketCycle: number;\n Cities: string[];\n WarehouseInitialCost: number;\n WarehouseInitialSize: number;\n WarehouseUpgradeBaseCost: number;\n OfficeInitialCost: number;\n OfficeInitialSize: number;\n OfficeUpgradeBaseCost: number;\n BribeThreshold: number;\n BribeToRepRatio: number;\n ProductProductionCostRatio: number;\n DividendMaxPercentage: number;\n EmployeeSalaryMultiplier: number;\n CyclesPerEmployeeRaise: number;\n EmployeeRaiseAmount: number;\n BaseMaxProducts: number;\n AllCorporationStates: string[];\n AllMaterials: string[];\n FundingRoundShares: number[];\n FundingRoundMultiplier: number[];\n AvgProfitLength: number;\n} = {\n INITIALSHARES: 1e9, //Total number of shares you have at your company\n SHARESPERPRICEUPDATE: 1e6, //When selling large number of shares, price is dynamically updated for every batch of this amount\n IssueNewSharesCooldown: 216e3, // 12 Hour in terms of game cycles\n SellSharesCooldown: 18e3, // 1 Hour in terms of game cycles\n\n CyclesPerMarketCycle: CyclesPerMarketCycle,\n CyclesPerIndustryStateCycle: CyclesPerMarketCycle / AllCorporationStates.length,\n SecsPerMarketCycle: CyclesPerMarketCycle / 5,\n\n Cities: [\n CityName.Aevum,\n CityName.Chongqing,\n CityName.Sector12,\n CityName.NewTokyo,\n CityName.Ishima,\n CityName.Volhaven,\n ],\n\n WarehouseInitialCost: 5e9, //Initial purchase cost of warehouse\n WarehouseInitialSize: 100,\n WarehouseUpgradeBaseCost: 1e9,\n\n OfficeInitialCost: 4e9,\n OfficeInitialSize: 3,\n OfficeUpgradeBaseCost: 1e9,\n\n BribeThreshold: 100e12, //Money needed to be able to bribe for faction rep\n BribeToRepRatio: 1e9, //Bribe Value divided by this = rep gain\n\n ProductProductionCostRatio: 5, //Ratio of material cost of a product to its production cost\n\n DividendMaxPercentage: 1,\n\n EmployeeSalaryMultiplier: 3, // Employee stats multiplied by this to determine initial salary\n CyclesPerEmployeeRaise: 400, // All employees get a raise every X market cycles\n EmployeeRaiseAmount: 50, // Employee salary increases by this (additive)\n\n BaseMaxProducts: 3, // Initial value for maximum number of products allowed\n AllCorporationStates: AllCorporationStates,\n AllMaterials: [\n \"Water\",\n \"Energy\",\n \"Food\",\n \"Plants\",\n \"Metal\",\n \"Hardware\",\n \"Chemicals\",\n \"Drugs\",\n \"Robots\",\n \"AI Cores\",\n \"Real Estate\",\n ],\n FundingRoundShares: [0.1, 0.35, 0.25, 0.2],\n FundingRoundMultiplier: [4, 3, 3, 2.5],\n\n AvgProfitLength: 1,\n};\n","import React from \"react\";\nimport { Theme } from \"@mui/material\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport M from \"@mui/material/Modal\";\nimport Fade from \"@mui/material/Fade\";\nimport Box from \"@mui/material/Box\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n modal: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n },\n paper: {\n backgroundColor: theme.palette.background.default,\n border: \"2px solid \" + theme.palette.primary.main,\n boxShadow: `0px 3px 5px -1px ${theme.palette.primary.dark},0px 5px 8px 0px ${theme.palette.primary.dark},0px 1px 14px 0px ${theme.palette.primary.dark}`,\n padding: 2,\n maxWidth: \"80%\",\n maxHeight: \"80%\",\n overflow: \"auto\",\n \"&::-webkit-scrollbar\": {\n // webkit\n display: \"none\",\n },\n scrollbarWidth: \"none\", // firefox\n },\n }),\n);\n\ninterface IProps {\n open: boolean;\n onClose: () => void;\n children: React.ReactNode;\n}\n\nexport const Modal = (props: IProps): React.ReactElement => {\n const classes = useStyles();\n return (\n \n \n
\n {props.children}\n
\n \n \n );\n};\n","export const HacknetNodeConstants: {\n // Constants for Hacknet Node production\n MoneyGainPerLevel: number;\n\n // Constants for Hacknet Node purchase/upgrade costs\n BaseCost: number;\n LevelBaseCost: number;\n RamBaseCost: number;\n CoreBaseCost: number;\n\n PurchaseNextMult: number;\n UpgradeLevelMult: number;\n UpgradeRamMult: number;\n UpgradeCoreMult: number;\n\n // Constants for max upgrade levels for Hacknet Nodes\n MaxLevel: number;\n MaxRam: number;\n MaxCores: number;\n} = {\n MoneyGainPerLevel: 1.5,\n\n BaseCost: 1000,\n LevelBaseCost: 1,\n RamBaseCost: 30e3,\n CoreBaseCost: 500e3,\n\n PurchaseNextMult: 1.85,\n UpgradeLevelMult: 1.04,\n UpgradeRamMult: 1.28,\n UpgradeCoreMult: 1.48,\n\n MaxLevel: 200,\n MaxRam: 64,\n MaxCores: 16,\n};\n\nexport const PurchaseMultipliers: {\n [key: string]: number | \"MAX\" | undefined;\n x1: number;\n x5: number;\n x10: number;\n MAX: \"MAX\";\n} = {\n x1: 1,\n x5: 5,\n x10: 10,\n MAX: \"MAX\",\n};\n\nexport const HacknetServerConstants: {\n // Constants for Hacknet Server stats/production\n HashesPerLevel: number;\n\n // Constants for Hacknet Server purchase/upgrade costs\n BaseCost: number;\n RamBaseCost: number;\n CoreBaseCost: number;\n CacheBaseCost: number;\n\n PurchaseMult: number; // Multiplier for puchasing an additional Hacknet Server\n UpgradeLevelMult: number; // Multiplier for cost when upgrading level\n UpgradeRamMult: number; // Multiplier for cost when upgrading RAM\n UpgradeCoreMult: number; // Multiplier for cost when buying another core\n UpgradeCacheMult: number; // Multiplier for cost when upgrading cache\n MaxServers: number; // Max number of Hacknet Servers you can own\n\n // Constants for max upgrade levels for Hacknet Server\n MaxLevel: number;\n MaxRam: number;\n MaxCores: number;\n MaxCache: number;\n} = {\n HashesPerLevel: 0.001,\n\n BaseCost: 50e3,\n RamBaseCost: 200e3,\n CoreBaseCost: 1e6,\n CacheBaseCost: 10e6,\n\n PurchaseMult: 3.2,\n UpgradeLevelMult: 1.1,\n UpgradeRamMult: 1.4,\n UpgradeCoreMult: 1.55,\n UpgradeCacheMult: 1.85,\n\n MaxServers: 20,\n\n MaxLevel: 300,\n MaxRam: 8192,\n MaxCores: 128,\n MaxCache: 15,\n};\n","// Action Identifier enum\nexport const ActionTypes: {\n [key: string]: number;\n Idle: number;\n Contract: number;\n Operation: number;\n BlackOp: number;\n BlackOperation: number;\n Training: number;\n Recruitment: number;\n FieldAnalysis: number;\n \"Field Analysis\": number;\n Diplomacy: number;\n \"Hyperbolic Regeneration Chamber\": number;\n \"Incite Violence\": number;\n} = {\n Idle: 1,\n Contract: 2,\n Operation: 3,\n BlackOp: 4,\n BlackOperation: 4,\n Training: 5,\n Recruitment: 6,\n FieldAnalysis: 7,\n \"Field Analysis\": 7,\n Diplomacy: 8,\n \"Hyperbolic Regeneration Chamber\": 9,\n \"Incite Violence\": 10,\n};\n","import React from \"react\";\nimport { BitNodeMultipliers, IBitNodeMultipliers } from \"./BitNodeMultipliers\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IMap } from \"../types\";\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport { CityName } from \"../Locations/data/CityNames\";\n\nclass BitNode {\n // A short description, or tagline, about the BitNode\n desc: string;\n\n // A long, detailed overview of the BitNode\n info: JSX.Element;\n\n // Name of BitNode\n name: string;\n\n // BitNode number\n number: number;\n\n difficulty: 0 | 1 | 2;\n\n constructor(n: number, difficulty: 0 | 1 | 2, name: string, desc = \"\", info: JSX.Element = <>>) {\n this.number = n;\n this.difficulty = difficulty;\n this.name = name;\n this.desc = desc;\n this.info = info;\n }\n}\n\nexport const BitNodes: IMap = {};\n\nBitNodes[\"BitNode1\"] = new BitNode(\n 1,\n 0,\n \"Source Genesis\",\n \"The original BitNode\",\n (\n <>\n The first BitNode created by the Enders to imprison the minds of humans. It became the prototype and\n testing-grounds for all of the BitNodes that followed.\n \n \n This is the first BitNode that you play through. It has no special modifications or mechanics.\n \n \n Destroying this BitNode will give you Source-File 1, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File lets the player start with 32GB of RAM on his/her home computer when\n entering a new BitNode, and also increases all of the player's multipliers by:\n \n \n Level 1: 16%\n \n Level 2: 24%\n \n Level 3: 28%\n >\n ),\n);\nBitNodes[\"BitNode2\"] = new BitNode(\n 2,\n 0,\n \"Rise of the Underworld\",\n \"From the shadows, they rose\", //Gangs\n (\n <>\n From the shadows, they rose.\n \n \n Organized crime groups quickly filled the void of power left behind from the collapse of Western government in the\n 2050s. As society and civilization broke down, people quickly succumbed to the innate human impulse of evil and\n savagery. The organized crime factions quickly rose to the top of the modern world.\n \n \n Certain Factions ({FactionNames.SlumSnakes}, {FactionNames.Tetrads}, {FactionNames.TheSyndicate},{\" \"}\n {FactionNames.TheDarkArmy}, {FactionNames.SpeakersForTheDead}, {FactionNames.NiteSec}, {FactionNames.TheBlackHand}\n ) give the player the ability to form and manage their own gangs. These gangs will earn the player money and\n reputation with the corresponding Faction\n \n Every Augmentation in the game will be available through the Factions listed above\n \n \n Destroying this BitNode will give you Source-File 2, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File allows you to form gangs in other BitNodes once your karma decreases\n to a certain value. It also increases the player's crime success rate, crime money, and charisma multipliers by:\n \n \n Level 1: 24%\n \n Level 2: 36%\n \n Level 3: 42%\n >\n ),\n);\nBitNodes[\"BitNode3\"] = new BitNode(\n 3,\n 0,\n \"Corporatocracy\",\n \"The Price of Civilization\",\n (\n <>\n Our greatest illusion is that a healthy society can revolve around a single-minded pursuit of wealth.\n \n \n Sometime in the early 21st century economic and political globalization turned the world into a corporatocracy,\n and it never looked back. Now, the privileged elite will happily bankrupt their own countrymen, decimate their own\n community, and evict their neighbors from houses in their desperate bid to increase their wealth.\n \n \n In this BitNode you can create and manage your own corporation. Running a successful corporation has the potential\n of generating massive profits.\n \n \n Destroying this BitNode will give you Source-File 3, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File lets you create corporations on other BitNodes (although some\n BitNodes will disable this mechanic). This Source-File also increases your charisma and company salary multipliers\n by:\n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode4\"] = new BitNode(\n 4,\n 1,\n \"The Singularity\",\n \"The Man and the Machine\",\n (\n <>\n The Singularity has arrived. The human race is gone, replaced by artificially superintelligent beings that are\n more machine than man. \n \n \n In this BitNode you will gain access to a new set of Netscript Functions known as Singularity Functions. These\n functions allow you to control most aspects of the game through scripts, including working for factions/companies,\n purchasing/installing Augmentations, and creating programs.\n \n \n Destroying this BitNode will give you Source-File 4, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File lets you access and use the Singularity Functions in other BitNodes.\n Each level of this Source-File reduces the RAM cost of singularity functions.\n >\n ),\n);\nBitNodes[\"BitNode5\"] = new BitNode(\n 5,\n 1,\n \"Artificial Intelligence\",\n \"Posthuman\",\n (\n <>\n They said it couldn't be done. They said the human brain, along with its consciousness and intelligence, couldn't\n be replicated. They said the complexity of the brain results from unpredictable, nonlinear interactions that\n couldn't be modeled by 1's and 0's. They were wrong.\n \n \n Destroying this BitNode will give you Source-File 5, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File grants you a special new stat called Intelligence. Intelligence is\n unique because it is permanent and persistent (it never gets reset back to 1). However gaining Intelligence\n experience is much slower than other stats. Higher Intelligence levels will boost your production for many actions\n in the game. \n \n In addition, this Source-File will unlock the getBitNodeMultipliers() Netscript function and let you start with\n Formulas.exe, and will also raise all of your hacking-related multipliers by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode6\"] = new BitNode(\n 6,\n 1,\n FactionNames.Bladeburners,\n \"Like Tears in Rain\",\n (\n <>\n In the middle of the 21st century, {FactionNames.OmniTekIncorporated} began designing and manufacturing advanced\n synthetic androids, or Synthoids for short. They achieved a major technological breakthrough in the sixth\n generation of their Synthoid design, called MK-VI, by developing a hyperintelligent AI. Many argue that this was\n the first sentient AI ever created. This resulted in Synthoid models that were stronger, faster, and more\n intelligent than the humans that had created them.\n \n \n In this BitNode you will be able to access the {FactionNames.Bladeburners} Division at the NSA, which provides a\n new mechanic for progression.\n \n \n Destroying this BitNode will give you Source-File 6, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File allows you to access the NSA's {FactionNames.Bladeburners} Division\n in other BitNodes. In addition, this Source-File will raise both the level and experience gain rate of all your\n combat stats by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode7\"] = new BitNode(\n 7,\n 2,\n `${FactionNames.Bladeburners} 2079`,\n \"More human than humans\",\n (\n <>\n In the middle of the 21st century, you were doing cutting-edge work at {FactionNames.OmniTekIncorporated} as part\n of the AI design team for advanced synthetic androids, or Synthoids for short. You helped achieve a major\n technological breakthrough in the sixth generation of the company's Synthoid design, called MK-VI, by developing a\n hyperintelligent AI. Many argue that this was the first sentient AI ever created. This resulted in Synthoid models\n that were stronger, faster, and more intelligent than the humans that had created them.\n \n \n In this BitNode you will be able to access the {FactionNames.Bladeburners} API, which allows you to access{\" \"}\n {FactionNames.Bladeburners}\n functionality through Netscript.\n \n \n Destroying this BitNode will give you Source-File 7, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File allows you to access the {FactionNames.Bladeburners} Netscript API in\n other BitNodes. In addition, this Source-File will increase all of your {FactionNames.Bladeburners} multipliers\n by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode8\"] = new BitNode(\n 8,\n 2,\n \"Ghost of Wall Street\",\n \"Money never sleeps\",\n (\n <>\n You are trying to make a name for yourself as an up-and-coming hedge fund manager on Wall Street.\n \n \n In this BitNode:\n \n \n You start with $250 million\n \n You start with a WSE membership and access to the TIX API\n \n You are able to short stocks and place different types of orders (limit/stop)\n \n \n Destroying this BitNode will give you Source-File 8, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File grants the following benefits:\n \n \n Level 1: Permanent access to WSE and TIX API\n \n Level 2: Ability to short stocks in other BitNodes\n \n Level 3: Ability to use limit/stop orders in other BitNodes\n \n \n This Source-File also increases your hacking growth multipliers by:\n \n Level 1: 12%\n \n Level 2: 18%\n \n Level 3: 21%\n >\n ),\n);\nBitNodes[\"BitNode9\"] = new BitNode(\n 9,\n 2,\n \"Hacktocracy\",\n \"Hacknet Unleashed\",\n (\n <>\n When {FactionNames.FulcrumSecretTechnologies} released their open-source Linux distro Chapeau, it quickly became\n the OS of choice for the underground hacking community. Chapeau became especially notorious for powering the\n Hacknet, a global, decentralized network used for nefarious purposes. {FactionNames.FulcrumSecretTechnologies}{\" \"}\n quickly abandoned the project and dissociated themselves from it.\n \n \n This BitNode unlocks the Hacknet Server, an upgraded version of the Hacknet Node. Hacknet Servers generate hashes,\n which can be spent on a variety of different upgrades.\n \n \n Destroying this BitNode will give you Source-File 9, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File grants the following benefits:\n \n \n Level 1: Permanently unlocks the Hacknet Server in other BitNodes\n \n Level 2: You start with 128GB of RAM on your home computer when entering a new BitNode\n \n Level 3: Grants a highly-upgraded Hacknet Server when entering a new BitNode\n \n \n (Note that the Level 3 effect of this Source-File only applies when entering a new BitNode, NOT when installing\n Augmentations)\n \n \n This Source-File also increases your hacknet multipliers by:\n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nBitNodes[\"BitNode10\"] = new BitNode(\n 10,\n 2,\n \"Digital Carbon\",\n \"Your body is not who you are\",\n (\n <>\n In 2084, VitaLife unveiled to the world the Persona Core, a technology that allowed people to digitize their\n consciousness. Their consciousness could then be transferred into Synthoids or other bodies by trasmitting the\n digitized data. Human bodies became nothing more than 'sleeves' for the human consciousness. Mankind had finally\n achieved immortality - at least for those that could afford it.\n \n \n This BitNode unlocks Sleeve technology. Sleeve technology allows you to:\n \n \n 1. Grafting: Visit VitaLife in New Tokyo to be able to obtain Augmentations without needing to install\n \n 2. Duplicate Sleeves: Duplicate your consciousness into Synthoids, allowing you to perform different tasks\n synchronously.\n \n \n Destroying this BitNode will give you Source-File 10, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File unlocks Sleeve technology in other BitNodes. Each level of this\n Source-File also grants you a Duplicate Sleeve\n >\n ),\n);\nBitNodes[\"BitNode11\"] = new BitNode(\n 11,\n 1,\n \"The Big Crash\",\n \"Okay. Sell it all.\",\n (\n <>\n The 2050s was defined by the massive amounts of violent civil unrest and anarchic rebellion that rose all around\n the world. It was this period of disorder that eventually lead to the governmental reformation of many global\n superpowers, most notably the USA and China. But just as the world was slowly beginning to recover from these dark\n times, financial catastrophe hit.\n \n \n In many countries, the high cost of trying to deal with the civil disorder bankrupted the governments. In all of\n this chaos and confusion, hackers were able to steal billions of dollars from the world's largest electronic\n banks, prompting an international banking crisis as governments were unable to bail out insolvent banks. Now, the\n world is slowly crumbling in the middle of the biggest economic crisis of all time.\n \n \n Destroying this BitNode will give you Source-File 11, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File makes it so that company favor increases BOTH the player's salary and\n reputation gain rate at that company by 1% per favor (rather than just the reputation gain). This Source-File also\n increases the player's company salary and reputation gain multipliers by:\n \n \n Level 1: 32%\n \n Level 2: 48%\n \n Level 3: 56%\n \n \n It also reduces the price increase for every aug bought by:\n \n \n Level 1: 4%\n \n Level 2: 6%\n \n Level 3: 7%\n >\n ),\n);\nBitNodes[\"BitNode12\"] = new BitNode(\n 12,\n 0,\n \"The Recursion\",\n \"Repeat.\",\n (\n <>\n To iterate is human, to recurse divine.\n \n \n Every time this BitNode is destroyed, it becomes slightly harder. Destroying this BitNode will give you\n Source-File 12, or if you already have this Source-File it will upgrade its level. There is no maximum level for\n Source-File 12. Each level of Source-File 12 lets you start any BitNodes with NeuroFlux Governor equal to the\n level of this source file.\n >\n ),\n);\nBitNodes[\"BitNode13\"] = new BitNode(\n 13,\n 2,\n \"They're lunatics\",\n \"1 step back, 2 steps forward\",\n (\n <>\n With the invention of Augmentations in the 2040s a religious group known as the{\" \"}\n {FactionNames.ChurchOfTheMachineGod} has rallied far more support than anyone would have hoped.\n \n \n Their leader, Allison \"Mother\" Stanek is said to have created her own Augmentation whose power goes beyond any\n other. Find her in {CityName.Chongqing} and gain her trust.\n \n \n Destroying this BitNode will give you Source-File 13, or if you already have this Source-File it will upgrade its\n level up to a maximum of 3. This Source-File lets the {FactionNames.ChurchOfTheMachineGod} appear in other\n BitNodes.\n \n \n Each level of this Source-File increases the size of Stanek's Gift.\n >\n ),\n);\n\nexport const defaultMultipliers: IBitNodeMultipliers = {\n HackingLevelMultiplier: 1,\n StrengthLevelMultiplier: 1,\n DefenseLevelMultiplier: 1,\n DexterityLevelMultiplier: 1,\n AgilityLevelMultiplier: 1,\n CharismaLevelMultiplier: 1,\n\n ServerGrowthRate: 1,\n ServerMaxMoney: 1,\n ServerStartingMoney: 1,\n ServerStartingSecurity: 1,\n ServerWeakenRate: 1,\n\n HomeComputerRamCost: 1,\n\n PurchasedServerCost: 1,\n PurchasedServerSoftcap: 1,\n PurchasedServerLimit: 1,\n PurchasedServerMaxRam: 1,\n\n CompanyWorkMoney: 1,\n CrimeMoney: 1,\n HacknetNodeMoney: 1,\n ManualHackMoney: 1,\n ScriptHackMoney: 1,\n ScriptHackMoneyGain: 1,\n CodingContractMoney: 1,\n\n ClassGymExpGain: 1,\n CompanyWorkExpGain: 1,\n CrimeExpGain: 1,\n FactionWorkExpGain: 1,\n HackExpGain: 1,\n\n FactionPassiveRepGain: 1,\n FactionWorkRepGain: 1,\n RepToDonateToFaction: 1,\n\n AugmentationMoneyCost: 1,\n AugmentationRepCost: 1,\n\n InfiltrationMoney: 1,\n InfiltrationRep: 1,\n\n FourSigmaMarketDataCost: 1,\n FourSigmaMarketDataApiCost: 1,\n\n CorporationValuation: 1,\n CorporationSoftCap: 1,\n\n BladeburnerRank: 1,\n BladeburnerSkillCost: 1,\n\n GangSoftcap: 1,\n GangUniqueAugs: 1,\n\n DaedalusAugsRequirement: 30,\n\n StaneksGiftPowerMultiplier: 1,\n StaneksGiftExtraSize: 0,\n\n WorldDaemonDifficulty: 1,\n};\n\nexport function getBitNodeMultipliers(n: number, lvl: number): IBitNodeMultipliers {\n const mults = Object.assign({}, defaultMultipliers);\n switch (n) {\n case 1: {\n return mults;\n }\n case 2: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.8,\n ServerGrowthRate: 0.8,\n ServerMaxMoney: 0.2,\n ServerStartingMoney: 0.4,\n CrimeMoney: 3,\n InfiltrationMoney: 3,\n FactionWorkRepGain: 0.5,\n FactionPassiveRepGain: 0,\n StaneksGiftPowerMultiplier: 2,\n StaneksGiftExtraSize: -6,\n PurchasedServerSoftcap: 1.3,\n CorporationSoftCap: 0.9,\n WorldDaemonDifficulty: 5,\n });\n }\n case 3: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.8,\n RepToDonateToFaction: 0.5,\n AugmentationRepCost: 3,\n AugmentationMoneyCost: 3,\n ServerMaxMoney: 0.2,\n ServerStartingMoney: 0.2,\n ServerGrowthRate: 0.2,\n ScriptHackMoney: 0.2,\n CompanyWorkMoney: 0.25,\n CrimeMoney: 0.25,\n HacknetNodeMoney: 0.25,\n HomeComputerRamCost: 1.5,\n PurchasedServerCost: 2,\n StaneksGiftPowerMultiplier: 0.75,\n StaneksGiftExtraSize: -2,\n PurchasedServerSoftcap: 1.3,\n GangSoftcap: 0.9,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.5,\n });\n }\n case 4: {\n return Object.assign(mults, {\n ServerMaxMoney: 0.15,\n ServerStartingMoney: 0.75,\n ScriptHackMoney: 0.2,\n CompanyWorkMoney: 0.1,\n CrimeMoney: 0.2,\n HacknetNodeMoney: 0.05,\n CompanyWorkExpGain: 0.5,\n ClassGymExpGain: 0.5,\n FactionWorkExpGain: 0.5,\n HackExpGain: 0.4,\n CrimeExpGain: 0.5,\n FactionWorkRepGain: 0.75,\n StaneksGiftPowerMultiplier: 1.5,\n StaneksGiftExtraSize: 0,\n PurchasedServerSoftcap: 1.2,\n WorldDaemonDifficulty: 3,\n GangUniqueAugs: 0.5,\n });\n }\n case 5: {\n return Object.assign(mults, {\n ServerMaxMoney: 2,\n ServerStartingSecurity: 2,\n ServerStartingMoney: 0.5,\n ScriptHackMoney: 0.15,\n HacknetNodeMoney: 0.2,\n CrimeMoney: 0.5,\n InfiltrationRep: 1.5,\n InfiltrationMoney: 1.5,\n AugmentationMoneyCost: 2,\n HackExpGain: 0.5,\n CorporationValuation: 0.5,\n StaneksGiftPowerMultiplier: 1.3,\n StaneksGiftExtraSize: 0,\n PurchasedServerSoftcap: 1.2,\n WorldDaemonDifficulty: 1.5,\n GangUniqueAugs: 0.5,\n });\n }\n case 6: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.35,\n ServerMaxMoney: 0.4,\n ServerStartingMoney: 0.5,\n ServerStartingSecurity: 1.5,\n ScriptHackMoney: 0.75,\n CompanyWorkMoney: 0.5,\n CrimeMoney: 0.75,\n InfiltrationMoney: 0.75,\n CorporationValuation: 0.2,\n HacknetNodeMoney: 0.2,\n HackExpGain: 0.25,\n DaedalusAugsRequirement: 35,\n PurchasedServerSoftcap: 2,\n StaneksGiftPowerMultiplier: 0.5,\n StaneksGiftExtraSize: 2,\n GangSoftcap: 0.7,\n CorporationSoftCap: 0.9,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.2,\n });\n }\n case 7: {\n return Object.assign(mults, {\n BladeburnerRank: 0.6,\n BladeburnerSkillCost: 2,\n AugmentationMoneyCost: 3,\n HackingLevelMultiplier: 0.35,\n ServerMaxMoney: 0.4,\n ServerStartingMoney: 0.5,\n ServerStartingSecurity: 1.5,\n ScriptHackMoney: 0.5,\n CompanyWorkMoney: 0.5,\n CrimeMoney: 0.75,\n InfiltrationMoney: 0.75,\n CorporationValuation: 0.2,\n HacknetNodeMoney: 0.2,\n HackExpGain: 0.25,\n FourSigmaMarketDataCost: 2,\n FourSigmaMarketDataApiCost: 2,\n DaedalusAugsRequirement: 35,\n PurchasedServerSoftcap: 2,\n StaneksGiftPowerMultiplier: 0.9,\n StaneksGiftExtraSize: -1,\n GangSoftcap: 0.7,\n CorporationSoftCap: 0.9,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.2,\n });\n }\n case 8: {\n return Object.assign(mults, {\n ScriptHackMoney: 0.3,\n ScriptHackMoneyGain: 0,\n ManualHackMoney: 0,\n CompanyWorkMoney: 0,\n CrimeMoney: 0,\n HacknetNodeMoney: 0,\n InfiltrationMoney: 0,\n RepToDonateToFaction: 0,\n CorporationValuation: 0,\n CodingContractMoney: 0,\n StaneksGiftExtraSize: -99,\n PurchasedServerSoftcap: 4,\n GangSoftcap: 0,\n CorporationSoftCap: 0,\n GangUniqueAugs: 0,\n });\n }\n case 9: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.5,\n StrengthLevelMultiplier: 0.45,\n DefenseLevelMultiplier: 0.45,\n DexterityLevelMultiplier: 0.45,\n AgilityLevelMultiplier: 0.45,\n CharismaLevelMultiplier: 0.45,\n PurchasedServerLimit: 0,\n HomeComputerRamCost: 5,\n CrimeMoney: 0.5,\n ScriptHackMoney: 0.1,\n HackExpGain: 0.05,\n ServerStartingMoney: 0.1,\n ServerMaxMoney: 0.1,\n ServerStartingSecurity: 2.5,\n CorporationValuation: 0.5,\n FourSigmaMarketDataCost: 5,\n FourSigmaMarketDataApiCost: 4,\n BladeburnerRank: 0.9,\n BladeburnerSkillCost: 1.2,\n StaneksGiftPowerMultiplier: 0.5,\n StaneksGiftExtraSize: 2,\n GangSoftcap: 0.8,\n CorporationSoftCap: 0.7,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.25,\n });\n }\n case 10: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.35,\n StrengthLevelMultiplier: 0.4,\n DefenseLevelMultiplier: 0.4,\n DexterityLevelMultiplier: 0.4,\n AgilityLevelMultiplier: 0.4,\n CharismaLevelMultiplier: 0.4,\n CompanyWorkMoney: 0.5,\n CrimeMoney: 0.5,\n HacknetNodeMoney: 0.5,\n ManualHackMoney: 0.5,\n ScriptHackMoney: 0.5,\n CodingContractMoney: 0.5,\n InfiltrationMoney: 0.5,\n CorporationValuation: 0.5,\n AugmentationMoneyCost: 5,\n AugmentationRepCost: 2,\n HomeComputerRamCost: 1.5,\n PurchasedServerCost: 5,\n PurchasedServerLimit: 0.6,\n PurchasedServerMaxRam: 0.5,\n BladeburnerRank: 0.8,\n StaneksGiftPowerMultiplier: 0.75,\n StaneksGiftExtraSize: -3,\n PurchasedServerSoftcap: 1.1,\n GangSoftcap: 0.9,\n CorporationSoftCap: 0.9,\n WorldDaemonDifficulty: 2,\n GangUniqueAugs: 0.25,\n });\n }\n case 11: {\n return Object.assign(mults, {\n HackingLevelMultiplier: 0.6,\n HackExpGain: 0.5,\n ServerMaxMoney: 0.1,\n ServerStartingMoney: 0.1,\n ServerGrowthRate: 0.2,\n ServerWeakenRate: 2,\n CrimeMoney: 3,\n CompanyWorkMoney: 0.5,\n HacknetNodeMoney: 0.1,\n AugmentationMoneyCost: 2,\n InfiltrationMoney: 2.5,\n InfiltrationRep: 2.5,\n CorporationValuation: 0.1,\n CodingContractMoney: 0.25,\n FourSigmaMarketDataCost: 4,\n FourSigmaMarketDataApiCost: 4,\n PurchasedServerSoftcap: 2,\n CorporationSoftCap: 0.9,\n WorldDaemonDifficulty: 1.5,\n GangUniqueAugs: 0.75,\n });\n }\n case 12: {\n const inc = Math.pow(1.02, lvl);\n const dec = 1 / inc;\n\n return Object.assign(mults, {\n DaedalusAugsRequirement: Math.floor(Math.min(mults.DaedalusAugsRequirement + inc, 40)),\n\n HackingLevelMultiplier: dec,\n StrengthLevelMultiplier: dec,\n DefenseLevelMultiplier: dec,\n DexterityLevelMultiplier: dec,\n AgilityLevelMultiplier: dec,\n CharismaLevelMultiplier: dec,\n\n ServerMaxMoney: dec,\n ServerStartingMoney: dec,\n ServerGrowthRate: dec,\n ServerWeakenRate: dec,\n\n //Does not scale, otherwise security might start at 300+\n ServerStartingSecurity: 1.5,\n\n HomeComputerRamCost: inc,\n\n PurchasedServerCost: inc,\n PurchasedServerLimit: dec,\n PurchasedServerMaxRam: dec,\n PurchasedServerSoftcap: inc,\n\n ManualHackMoney: dec,\n ScriptHackMoney: dec,\n CompanyWorkMoney: dec,\n CrimeMoney: dec,\n HacknetNodeMoney: dec,\n CodingContractMoney: dec,\n\n CompanyWorkExpGain: dec,\n ClassGymExpGain: dec,\n FactionWorkExpGain: dec,\n HackExpGain: dec,\n CrimeExpGain: dec,\n\n FactionWorkRepGain: dec,\n FactionPassiveRepGain: dec,\n RepToDonateToFaction: inc,\n\n AugmentationRepCost: inc,\n AugmentationMoneyCost: inc,\n\n InfiltrationMoney: dec,\n InfiltrationRep: dec,\n\n FourSigmaMarketDataCost: inc,\n FourSigmaMarketDataApiCost: inc,\n\n CorporationValuation: dec,\n\n BladeburnerRank: dec,\n BladeburnerSkillCost: inc,\n\n StaneksGiftPowerMultiplier: inc,\n StaneksGiftExtraSize: inc,\n GangSoftcap: 0.8,\n CorporationSoftCap: 0.8,\n WorldDaemonDifficulty: inc,\n\n GangUniqueAugs: dec,\n });\n }\n case 13: {\n return Object.assign(mults, {\n PurchasedServerSoftcap: 1.6,\n\n HackingLevelMultiplier: 0.25,\n StrengthLevelMultiplier: 0.7,\n DefenseLevelMultiplier: 0.7,\n DexterityLevelMultiplier: 0.7,\n AgilityLevelMultiplier: 0.7,\n\n ServerMaxMoney: 0.45,\n ServerStartingMoney: 0.75,\n\n ServerStartingSecurity: 3,\n\n ScriptHackMoney: 0.2,\n CompanyWorkMoney: 0.4,\n CrimeMoney: 0.4,\n HacknetNodeMoney: 0.4,\n CodingContractMoney: 0.4,\n\n CompanyWorkExpGain: 0.5,\n ClassGymExpGain: 0.5,\n FactionWorkExpGain: 0.5,\n HackExpGain: 0.1,\n CrimeExpGain: 0.5,\n\n FactionWorkRepGain: 0.6,\n\n FourSigmaMarketDataCost: 10,\n FourSigmaMarketDataApiCost: 10,\n\n CorporationValuation: 0.001,\n\n BladeburnerRank: 0.45,\n BladeburnerSkillCost: 2,\n StaneksGiftPowerMultiplier: 2,\n StaneksGiftExtraSize: 1,\n GangSoftcap: 0.3,\n CorporationSoftCap: 0.3,\n WorldDaemonDifficulty: 3,\n GangUniqueAugs: 0.1,\n });\n }\n default: {\n throw new Error(\"Invalid BitNodeN\");\n }\n }\n}\n\nexport function initBitNodeMultipliers(p: IPlayer): void {\n Object.assign(BitNodeMultipliers, getBitNodeMultipliers(p.bitNodeN, p.sourceFileLvl(p.bitNodeN)));\n}\n","import { Player } from \"./Player\";\n\nimport { LiteratureNames } from \"./Literature/data/LiteratureNames\";\n\nimport { ITutorialEvents } from \"./ui/InteractiveTutorial/ITutorialEvents\";\n\n// Ordered array of keys to Interactive Tutorial Steps\nenum iTutorialSteps {\n Start,\n GoToCharacterPage, // Click on 'Stats' page\n CharacterPage, // Introduction to 'Stats' page\n CharacterGoToTerminalPage, // Go back to Terminal\n TerminalIntro, // Introduction to Terminal\n TerminalHelp, // Using 'help' Terminal command\n TerminalLs, // Using 'ls' Terminal command\n TerminalScan, // Using 'scan' Terminal command\n TerminalScanAnalyze1, // Using 'scan-analyze' Terminal command\n TerminalScanAnalyze2, // Using 'scan-analyze 3' Terminal command\n TerminalConnect, // Connecting to n00dles\n TerminalAnalyze, // Analyzing n00dles\n TerminalNuke, // NUKE n00dles\n TerminalManualHack, // Hack n00dles\n TerminalHackingMechanics, // Explanation of hacking mechanics\n TerminalGoHome, // Go home before creating a script.\n TerminalCreateScript, // Create a script using 'nano'\n TerminalTypeScript, // Script Editor page - Type script and then save & close\n TerminalFree, // Using 'Free' Terminal command\n TerminalRunScript, // Running script using 'run' Terminal command\n TerminalGoToActiveScriptsPage,\n ActiveScriptsPage,\n ActiveScriptsToTerminal,\n TerminalTailScript,\n GoToHacknetNodesPage,\n HacknetNodesIntroduction,\n HacknetNodesGoToWorldPage,\n WorldDescription,\n TutorialPageInfo,\n End,\n}\n\nconst ITutorial: {\n currStep: iTutorialSteps;\n isRunning: boolean;\n stepIsDone: {\n [iTutorialSteps.Start]: boolean;\n [iTutorialSteps.GoToCharacterPage]: boolean;\n [iTutorialSteps.CharacterPage]: boolean;\n [iTutorialSteps.CharacterGoToTerminalPage]: boolean;\n [iTutorialSteps.TerminalIntro]: boolean;\n [iTutorialSteps.TerminalHelp]: boolean;\n [iTutorialSteps.TerminalLs]: boolean;\n [iTutorialSteps.TerminalScan]: boolean;\n [iTutorialSteps.TerminalScanAnalyze1]: boolean;\n [iTutorialSteps.TerminalScanAnalyze2]: boolean;\n [iTutorialSteps.TerminalConnect]: boolean;\n [iTutorialSteps.TerminalAnalyze]: boolean;\n [iTutorialSteps.TerminalNuke]: boolean;\n [iTutorialSteps.TerminalManualHack]: boolean;\n [iTutorialSteps.TerminalHackingMechanics]: boolean;\n [iTutorialSteps.TerminalGoHome]: boolean;\n [iTutorialSteps.TerminalCreateScript]: boolean;\n [iTutorialSteps.TerminalTypeScript]: boolean;\n [iTutorialSteps.TerminalFree]: boolean;\n [iTutorialSteps.TerminalRunScript]: boolean;\n [iTutorialSteps.TerminalGoToActiveScriptsPage]: boolean;\n [iTutorialSteps.ActiveScriptsPage]: boolean;\n [iTutorialSteps.ActiveScriptsToTerminal]: boolean;\n [iTutorialSteps.TerminalTailScript]: boolean;\n [iTutorialSteps.GoToHacknetNodesPage]: boolean;\n [iTutorialSteps.HacknetNodesIntroduction]: boolean;\n [iTutorialSteps.HacknetNodesGoToWorldPage]: boolean;\n [iTutorialSteps.WorldDescription]: boolean;\n [iTutorialSteps.TutorialPageInfo]: boolean;\n [iTutorialSteps.End]: boolean;\n };\n} = {\n currStep: iTutorialSteps.Start,\n isRunning: false,\n\n // Keeps track of whether each step has been done\n stepIsDone: {\n [iTutorialSteps.Start]: false,\n [iTutorialSteps.GoToCharacterPage]: false,\n [iTutorialSteps.CharacterPage]: false,\n [iTutorialSteps.CharacterGoToTerminalPage]: false,\n [iTutorialSteps.TerminalIntro]: false,\n [iTutorialSteps.TerminalHelp]: false,\n [iTutorialSteps.TerminalLs]: false,\n [iTutorialSteps.TerminalScan]: false,\n [iTutorialSteps.TerminalScanAnalyze1]: false,\n [iTutorialSteps.TerminalScanAnalyze2]: false,\n [iTutorialSteps.TerminalConnect]: false,\n [iTutorialSteps.TerminalAnalyze]: false,\n [iTutorialSteps.TerminalNuke]: false,\n [iTutorialSteps.TerminalManualHack]: false,\n [iTutorialSteps.TerminalHackingMechanics]: false,\n [iTutorialSteps.TerminalGoHome]: false,\n [iTutorialSteps.TerminalCreateScript]: false,\n [iTutorialSteps.TerminalTypeScript]: false,\n [iTutorialSteps.TerminalFree]: false,\n [iTutorialSteps.TerminalRunScript]: false,\n [iTutorialSteps.TerminalGoToActiveScriptsPage]: false,\n [iTutorialSteps.ActiveScriptsPage]: false,\n [iTutorialSteps.ActiveScriptsToTerminal]: false,\n [iTutorialSteps.TerminalTailScript]: false,\n [iTutorialSteps.GoToHacknetNodesPage]: false,\n [iTutorialSteps.HacknetNodesIntroduction]: false,\n [iTutorialSteps.HacknetNodesGoToWorldPage]: false,\n [iTutorialSteps.WorldDescription]: false,\n [iTutorialSteps.TutorialPageInfo]: false,\n [iTutorialSteps.End]: false,\n },\n};\n\nfunction iTutorialStart(): void {\n ITutorial.isRunning = true;\n ITutorial.currStep = iTutorialSteps.Start;\n}\n\n// Go to the next step and evaluate it\nfunction iTutorialNextStep(): void {\n ITutorial.stepIsDone[ITutorial.currStep] = true;\n if (ITutorial.currStep < iTutorialSteps.End) {\n ITutorial.currStep += 1;\n }\n if (ITutorial.currStep === iTutorialSteps.End) iTutorialEnd();\n ITutorialEvents.emit();\n}\n\n// Go to previous step and evaluate\nfunction iTutorialPrevStep(): void {\n if (ITutorial.currStep > iTutorialSteps.Start) {\n ITutorial.currStep -= 1;\n }\n ITutorialEvents.emit();\n}\n\nfunction iTutorialEnd(): void {\n ITutorial.isRunning = false;\n ITutorial.currStep = iTutorialSteps.Start;\n Player.getHomeComputer().messages.push(LiteratureNames.HackersStartingHandbook);\n ITutorialEvents.emit();\n}\n\nexport { iTutorialSteps, iTutorialEnd, iTutorialStart, iTutorialNextStep, ITutorial, iTutorialPrevStep };\n","// Class representing a single hackable Server\nimport { BaseServer } from \"./BaseServer\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\n\nimport { createRandomString } from \"../utils/helpers/createRandomString\";\nimport { createRandomIp } from \"../utils/IPAddress\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\nexport interface IConstructorParams {\n adminRights?: boolean;\n hackDifficulty?: number;\n hostname: string;\n ip?: string;\n isConnectedTo?: boolean;\n maxRam?: number;\n moneyAvailable?: number;\n numOpenPortsRequired?: number;\n organizationName?: string;\n purchasedByPlayer?: boolean;\n requiredHackingSkill?: number;\n serverGrowth?: number;\n}\n\nexport class Server extends BaseServer {\n // Flag indicating whether this server has a backdoor installed by a player\n backdoorInstalled = false;\n\n // Initial server security level\n // (i.e. security level when the server was created)\n baseDifficulty = 1;\n\n // Server Security Level\n hackDifficulty = 1;\n\n // Minimum server security level that this server can be weakened to\n minDifficulty = 1;\n\n // How much money currently resides on the server and can be hacked\n moneyAvailable = 0;\n\n // Maximum amount of money that this server can hold\n moneyMax = 0;\n\n // Number of open ports required in order to gain admin/root access\n numOpenPortsRequired = 5;\n\n // How many ports are currently opened on the server\n openPortCount = 0;\n\n // Hacking level required to hack this server\n requiredHackingSkill = 1;\n\n // Parameter that affects how effectively this server's money can\n // be increased using the grow() Netscript function\n serverGrowth = 1;\n\n constructor(params: IConstructorParams = { hostname: \"\", ip: createRandomIp() }) {\n super(params);\n\n // \"hacknet-node-X\" hostnames are reserved for Hacknet Servers\n if (this.hostname.startsWith(\"hacknet-node-\")) {\n this.hostname = createRandomString(10);\n }\n\n this.purchasedByPlayer = params.purchasedByPlayer != null ? params.purchasedByPlayer : false;\n\n //RAM, CPU speed and Scripts\n this.maxRam = params.maxRam != null ? params.maxRam : 0; //GB\n\n /* Hacking information (only valid for \"foreign\" aka non-purchased servers) */\n this.requiredHackingSkill = params.requiredHackingSkill != null ? params.requiredHackingSkill : 1;\n this.moneyAvailable =\n params.moneyAvailable != null ? params.moneyAvailable * BitNodeMultipliers.ServerStartingMoney : 0;\n this.moneyMax = 25 * this.moneyAvailable * BitNodeMultipliers.ServerMaxMoney;\n\n //Hack Difficulty is synonymous with server security. Base Difficulty = Starting difficulty\n this.hackDifficulty =\n params.hackDifficulty != null ? params.hackDifficulty * BitNodeMultipliers.ServerStartingSecurity : 1;\n this.baseDifficulty = this.hackDifficulty;\n this.minDifficulty = Math.max(1, Math.round(this.hackDifficulty / 3));\n this.serverGrowth = params.serverGrowth != null ? params.serverGrowth : 1; //Integer from 0 to 100. Affects money increase from grow()\n\n //Port information, required for porthacking servers to get admin rights\n this.numOpenPortsRequired = params.numOpenPortsRequired != null ? params.numOpenPortsRequired : 5;\n }\n\n /**\n * Ensures that the server's difficulty (server security) doesn't get too high\n */\n capDifficulty(): void {\n if (this.hackDifficulty < this.minDifficulty) {\n this.hackDifficulty = this.minDifficulty;\n }\n if (this.hackDifficulty < 1) {\n this.hackDifficulty = 1;\n }\n\n // Place some arbitrarily limit that realistically should never happen unless someone is\n // screwing around with the game\n if (this.hackDifficulty > 100) {\n this.hackDifficulty = 100;\n }\n }\n\n /**\n * Change this server's minimum security\n * @param n - Value by which to increase/decrease the server's minimum security\n * @param perc - Whether it should be changed by a percentage, or a flat value\n */\n changeMinimumSecurity(n: number, perc = false): void {\n if (perc) {\n this.minDifficulty *= n;\n } else {\n this.minDifficulty += n;\n }\n\n // Server security cannot go below 1\n this.minDifficulty = Math.max(1, this.minDifficulty);\n }\n\n /**\n * Change this server's maximum money\n * @param n - Value by which to change the server's maximum money\n */\n changeMaximumMoney(n: number): void {\n const softCap = 10e12;\n if (this.moneyMax > softCap) {\n const aboveCap = this.moneyMax - softCap;\n n = 1 + (n - 1) / Math.log(aboveCap) / Math.log(8);\n }\n\n this.moneyMax *= n;\n }\n\n /**\n * Strengthens a server's security level (difficulty) by the specified amount\n */\n fortify(amt: number): void {\n this.hackDifficulty += amt;\n this.capDifficulty();\n }\n\n /**\n * Lowers the server's security level (difficulty) by the specified amount)\n */\n weaken(amt: number): void {\n this.hackDifficulty -= amt * BitNodeMultipliers.ServerWeakenRate;\n this.capDifficulty();\n }\n\n /**\n * Serialize the current object to a JSON save state\n */\n toJSON(): any {\n return Generic_toJSON(\"Server\", this);\n }\n\n // Initializes a Server Object from a JSON save state\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Server {\n return Generic_fromJSON(Server, value.data);\n }\n}\n\nReviver.constructors.Server = Server;\n","import { IMap } from \"../types\";\n\nexport const EmployeePositions: IMap = {\n Operations: \"Operations\",\n Engineer: \"Engineer\",\n Business: \"Business\",\n Management: \"Management\",\n RandD: \"Research & Development\",\n Training: \"Training\",\n Unassigned: \"Unassigned\",\n};\n","import { IPlayer } from \"../IPlayer\";\nimport { PlayerObject } from \"./PlayerObject\";\nimport { Augmentations } from \"../../Augmentation/Augmentations\";\nimport { applyAugmentation } from \"../../Augmentation/AugmentationHelpers\";\nimport { PlayerOwnedAugmentation } from \"../../Augmentation/PlayerOwnedAugmentation\";\nimport { AugmentationNames } from \"../../Augmentation/data/AugmentationNames\";\nimport { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { CodingContractRewardType, ICodingContractReward } from \"../../CodingContracts\";\nimport { Company } from \"../../Company/Company\";\nimport { Companies } from \"../../Company/Companies\";\nimport { getNextCompanyPositionHelper } from \"../../Company/GetNextCompanyPosition\";\nimport { getJobRequirementText } from \"../../Company/GetJobRequirementText\";\nimport { CompanyPositions } from \"../../Company/CompanyPositions\";\nimport { CompanyPosition } from \"../../Company/CompanyPosition\";\nimport * as posNames from \"../../Company/data/companypositionnames\";\nimport { CONSTANTS } from \"../../Constants\";\nimport { Programs } from \"../../Programs/Programs\";\nimport { determineCrimeSuccess } from \"../../Crime/CrimeHelpers\";\nimport { Crimes } from \"../../Crime/Crimes\";\nimport { Exploit } from \"../../Exploits/Exploit\";\nimport { Faction } from \"../../Faction/Faction\";\nimport { Factions } from \"../../Faction/Factions\";\nimport { resetGangs } from \"../../Gang/AllGangs\";\nimport { Cities } from \"../../Locations/Cities\";\nimport { Locations } from \"../../Locations/Locations\";\nimport { CityName } from \"../../Locations/data/CityNames\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\nimport { Sleeve } from \"../Sleeve/Sleeve\";\nimport {\n calculateSkill as calculateSkillF,\n calculateSkillProgress as calculateSkillProgressF,\n ISkillProgress,\n} from \"../formulas/skill\";\nimport { calculateIntelligenceBonus } from \"../formulas/intelligence\";\nimport {\n getHackingWorkRepGain,\n getFactionSecurityWorkRepGain,\n getFactionFieldWorkRepGain,\n} from \"../formulas/reputation\";\nimport { GetServer, AddToAllServers, createUniqueRandomIp } from \"../../Server/AllServers\";\nimport { Server } from \"../../Server/Server\";\nimport { safetlyCreateUniqueServer } from \"../../Server/ServerHelpers\";\n\nimport { SpecialServers } from \"../../Server/data/SpecialServers\";\nimport { applySourceFile } from \"../../SourceFile/applySourceFile\";\nimport { applyExploit } from \"../../Exploits/applyExploits\";\nimport { SourceFiles } from \"../../SourceFile/SourceFiles\";\nimport { influenceStockThroughCompanyWork } from \"../../StockMarket/PlayerInfluencing\";\nimport { getHospitalizationCost } from \"../../Hospital/Hospital\";\nimport { WorkerScript } from \"../../Netscript/WorkerScript\";\nimport { HacknetServer } from \"../../Hacknet/HacknetServer\";\n\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { IRouter } from \"../../ui/Router\";\nimport { MoneySourceTracker } from \"../../utils/MoneySourceTracker\";\nimport { dialogBoxCreate } from \"../../ui/React/DialogBox\";\nimport { convertTimeMsToTimeElapsedString } from \"../../utils/StringHelperFunctions\";\n\nimport { Reputation } from \"../../ui/React/Reputation\";\nimport { Money } from \"../../ui/React/Money\";\n\nimport React from \"react\";\nimport { serverMetadata } from \"../../Server/data/servers\";\nimport { SnackbarEvents, ToastVariant } from \"../../ui/React/Snackbar\";\nimport { calculateClassEarnings } from \"../formulas/work\";\nimport { achievements } from \"../../Achievements/Achievements\";\nimport { FactionNames } from \"../../Faction/data/FactionNames\";\nimport { graftingIntBonus } from \"../Grafting/GraftingHelpers\";\n\nexport function init(this: IPlayer): void {\n /* Initialize Player's home computer */\n const t_homeComp = safetlyCreateUniqueServer({\n adminRights: true,\n hostname: \"home\",\n ip: createUniqueRandomIp(),\n isConnectedTo: true,\n maxRam: 8,\n organizationName: \"Home PC\",\n purchasedByPlayer: true,\n });\n this.currentServer = SpecialServers.Home;\n AddToAllServers(t_homeComp);\n\n this.getHomeComputer().programs.push(Programs.NukeProgram.name);\n}\n\nexport function prestigeAugmentation(this: PlayerObject): void {\n this.currentServer = SpecialServers.Home;\n\n this.numPeopleKilled = 0;\n\n //Reset stats\n this.hacking = 1;\n\n this.strength = 1;\n this.defense = 1;\n this.dexterity = 1;\n this.agility = 1;\n\n this.charisma = 1;\n\n this.hacking_exp = 0;\n this.strength_exp = 0;\n this.defense_exp = 0;\n this.dexterity_exp = 0;\n this.agility_exp = 0;\n this.charisma_exp = 0;\n\n this.money = 1000 + CONSTANTS.Donations;\n\n this.city = CityName.Sector12;\n this.location = LocationName.TravelAgency;\n\n this.companyName = \"\";\n this.jobs = {};\n\n this.purchasedServers = [];\n\n this.factions = [];\n this.factionInvitations = [];\n\n this.queuedAugmentations = [];\n\n const numSleeves = Math.min(3, this.sourceFileLvl(10) + (this.bitNodeN === 10 ? 1 : 0)) + this.sleevesFromCovenant;\n if (this.sleeves.length > numSleeves) this.sleeves.length = numSleeves;\n for (let i = this.sleeves.length; i < numSleeves; i++) {\n this.sleeves.push(new Sleeve(this));\n }\n\n for (let i = 0; i < this.sleeves.length; ++i) {\n if (this.sleeves[i] instanceof Sleeve) {\n if (this.sleeves[i].shock >= 100) {\n this.sleeves[i].synchronize(this);\n } else {\n this.sleeves[i].shockRecovery(this);\n }\n }\n }\n\n this.isWorking = false;\n this.currentWorkFactionName = \"\";\n this.currentWorkFactionDescription = \"\";\n this.createProgramName = \"\";\n this.className = \"\";\n this.crimeType = \"\";\n\n this.workHackExpGainRate = 0;\n this.workStrExpGainRate = 0;\n this.workDefExpGainRate = 0;\n this.workDexExpGainRate = 0;\n this.workAgiExpGainRate = 0;\n this.workChaExpGainRate = 0;\n this.workRepGainRate = 0;\n this.workMoneyGainRate = 0;\n\n this.workHackExpGained = 0;\n this.workStrExpGained = 0;\n this.workDefExpGained = 0;\n this.workDexExpGained = 0;\n this.workAgiExpGained = 0;\n this.workChaExpGained = 0;\n this.workRepGained = 0;\n this.workMoneyGained = 0;\n\n this.timeWorked = 0;\n\n this.lastUpdate = new Date().getTime();\n\n // Statistics Trackers\n this.playtimeSinceLastAug = 0;\n this.scriptProdSinceLastAug = 0;\n this.moneySourceA.reset();\n\n this.hacknetNodes.length = 0;\n this.hashManager.prestige();\n\n // Reapply augs, re-calculate skills and reset HP\n this.reapplyAllAugmentations(true);\n this.hp = this.max_hp;\n}\n\nexport function prestigeSourceFile(this: IPlayer): void {\n this.entropy = 0;\n this.prestigeAugmentation();\n this.karma = 0;\n // Duplicate sleeves are reset to level 1 every Bit Node (but the number of sleeves you have persists)\n for (let i = 0; i < this.sleeves.length; ++i) {\n if (this.sleeves[i] instanceof Sleeve) {\n this.sleeves[i].prestige(this);\n } else {\n this.sleeves[i] = new Sleeve(this);\n }\n }\n\n if (this.bitNodeN === 10) {\n for (let i = 0; i < this.sleeves.length; i++) {\n this.sleeves[i].shock = Math.max(25, this.sleeves[i].shock);\n this.sleeves[i].sync = Math.max(25, this.sleeves[i].sync);\n }\n }\n\n this.timeWorked = 0;\n\n // Gang\n this.gang = null;\n resetGangs();\n\n // Reset Stock market\n this.hasWseAccount = false;\n this.hasTixApiAccess = false;\n this.has4SData = false;\n this.has4SDataTixApi = false;\n\n // BitNode 3: Corporatocracy\n this.corporation = null;\n\n this.moneySourceB.reset();\n this.playtimeSinceLastBitnode = 0;\n this.augmentations = [];\n}\n\nexport function receiveInvite(this: IPlayer, factionName: string): void {\n if (this.factionInvitations.includes(factionName) || this.factions.includes(factionName)) {\n return;\n }\n this.factionInvitations.push(factionName);\n}\n\n//Calculates skill level based on experience. The same formula will be used for every skill\nexport function calculateSkill(this: IPlayer, exp: number, mult = 1): number {\n return calculateSkillF(exp, mult);\n}\n\n//Calculates skill level progress based on experience. The same formula will be used for every skill\nexport function calculateSkillProgress(this: IPlayer, exp: number, mult = 1): ISkillProgress {\n return calculateSkillProgressF(exp, mult);\n}\n\nexport function updateSkillLevels(this: IPlayer): void {\n this.hacking = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.hacking_exp, this.hacking_mult * BitNodeMultipliers.HackingLevelMultiplier)),\n );\n this.strength = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.strength_exp, this.strength_mult * BitNodeMultipliers.StrengthLevelMultiplier)),\n );\n this.defense = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.defense_exp, this.defense_mult * BitNodeMultipliers.DefenseLevelMultiplier)),\n );\n this.dexterity = Math.max(\n 1,\n Math.floor(\n this.calculateSkill(this.dexterity_exp, this.dexterity_mult * BitNodeMultipliers.DexterityLevelMultiplier),\n ),\n );\n this.agility = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.agility_exp, this.agility_mult * BitNodeMultipliers.AgilityLevelMultiplier)),\n );\n this.charisma = Math.max(\n 1,\n Math.floor(this.calculateSkill(this.charisma_exp, this.charisma_mult * BitNodeMultipliers.CharismaLevelMultiplier)),\n );\n\n if (this.intelligence > 0) {\n this.intelligence = Math.floor(this.calculateSkill(this.intelligence_exp));\n } else {\n this.intelligence = 0;\n }\n\n const ratio = this.hp / this.max_hp;\n this.max_hp = Math.floor(10 + this.defense / 10);\n this.hp = Math.round(this.max_hp * ratio);\n}\n\nexport function resetMultipliers(this: IPlayer): void {\n this.hacking_chance_mult = 1;\n this.hacking_speed_mult = 1;\n this.hacking_money_mult = 1;\n this.hacking_grow_mult = 1;\n\n this.hacking_mult = 1;\n this.strength_mult = 1;\n this.defense_mult = 1;\n this.dexterity_mult = 1;\n this.agility_mult = 1;\n this.charisma_mult = 1;\n\n this.hacking_exp_mult = 1;\n this.strength_exp_mult = 1;\n this.defense_exp_mult = 1;\n this.dexterity_exp_mult = 1;\n this.agility_exp_mult = 1;\n this.charisma_exp_mult = 1;\n\n this.company_rep_mult = 1;\n this.faction_rep_mult = 1;\n\n this.crime_money_mult = 1;\n this.crime_success_mult = 1;\n\n this.hacknet_node_money_mult = 1;\n this.hacknet_node_purchase_cost_mult = 1;\n this.hacknet_node_ram_cost_mult = 1;\n this.hacknet_node_core_cost_mult = 1;\n this.hacknet_node_level_cost_mult = 1;\n\n this.work_money_mult = 1;\n\n this.bladeburner_max_stamina_mult = 1;\n this.bladeburner_stamina_gain_mult = 1;\n this.bladeburner_analysis_mult = 1;\n this.bladeburner_success_chance_mult = 1;\n}\n\nexport function hasProgram(this: IPlayer, programName: string): boolean {\n const home = this.getHomeComputer();\n if (home == null) {\n return false;\n }\n\n for (let i = 0; i < home.programs.length; ++i) {\n if (programName.toLowerCase() == home.programs[i].toLowerCase()) {\n return true;\n }\n }\n return false;\n}\n\nexport function setMoney(this: PlayerObject, money: number): void {\n if (isNaN(money)) {\n console.error(\"NaN passed into Player.setMoney()\");\n return;\n }\n this.money = money;\n}\n\nexport function gainMoney(this: PlayerObject, money: number, source: string): void {\n if (isNaN(money)) {\n console.error(\"NaN passed into Player.gainMoney()\");\n return;\n }\n\n this.money = this.money + money;\n this.recordMoneySource(money, source);\n}\n\nexport function loseMoney(this: PlayerObject, money: number, source: string): void {\n if (isNaN(money)) {\n console.error(\"NaN passed into Player.loseMoney()\");\n return;\n }\n if (this.money === Infinity && money === Infinity) return;\n this.money = this.money - money;\n this.recordMoneySource(-1 * money, source);\n}\n\nexport function canAfford(this: IPlayer, cost: number): boolean {\n if (isNaN(cost)) {\n console.error(`NaN passed into Player.canAfford()`);\n return false;\n }\n return this.money >= cost;\n}\n\nexport function recordMoneySource(this: PlayerObject, amt: number, source: string): void {\n if (!(this.moneySourceA instanceof MoneySourceTracker)) {\n console.warn(`Player.moneySourceA was not properly initialized. Resetting`);\n this.moneySourceA = new MoneySourceTracker();\n }\n if (!(this.moneySourceB instanceof MoneySourceTracker)) {\n console.warn(`Player.moneySourceB was not properly initialized. Resetting`);\n this.moneySourceB = new MoneySourceTracker();\n }\n this.moneySourceA.record(amt, source);\n this.moneySourceB.record(amt, source);\n}\n\nexport function gainHackingExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainHackingExp()\");\n return;\n }\n this.hacking_exp += exp;\n if (this.hacking_exp < 0) {\n this.hacking_exp = 0;\n }\n\n this.hacking = calculateSkillF(this.hacking_exp, this.hacking_mult * BitNodeMultipliers.HackingLevelMultiplier);\n}\n\nexport function gainStrengthExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainStrengthExp()\");\n return;\n }\n this.strength_exp += exp;\n if (this.strength_exp < 0) {\n this.strength_exp = 0;\n }\n\n this.strength = calculateSkillF(this.strength_exp, this.strength_mult * BitNodeMultipliers.StrengthLevelMultiplier);\n}\n\nexport function gainDefenseExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into player.gainDefenseExp()\");\n return;\n }\n this.defense_exp += exp;\n if (this.defense_exp < 0) {\n this.defense_exp = 0;\n }\n\n this.defense = calculateSkillF(this.defense_exp, this.defense_mult * BitNodeMultipliers.DefenseLevelMultiplier);\n const ratio = this.hp / this.max_hp;\n this.max_hp = Math.floor(10 + this.defense / 10);\n this.hp = Math.round(this.max_hp * ratio);\n}\n\nexport function gainDexterityExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainDexterityExp()\");\n return;\n }\n this.dexterity_exp += exp;\n if (this.dexterity_exp < 0) {\n this.dexterity_exp = 0;\n }\n\n this.dexterity = calculateSkillF(\n this.dexterity_exp,\n this.dexterity_mult * BitNodeMultipliers.DexterityLevelMultiplier,\n );\n}\n\nexport function gainAgilityExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainAgilityExp()\");\n return;\n }\n this.agility_exp += exp;\n if (this.agility_exp < 0) {\n this.agility_exp = 0;\n }\n\n this.agility = calculateSkillF(this.agility_exp, this.agility_mult * BitNodeMultipliers.AgilityLevelMultiplier);\n}\n\nexport function gainCharismaExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERR: NaN passed into Player.gainCharismaExp()\");\n return;\n }\n this.charisma_exp += exp;\n if (this.charisma_exp < 0) {\n this.charisma_exp = 0;\n }\n\n this.charisma = calculateSkillF(this.charisma_exp, this.charisma_mult * BitNodeMultipliers.CharismaLevelMultiplier);\n}\n\nexport function gainIntelligenceExp(this: IPlayer, exp: number): void {\n if (isNaN(exp)) {\n console.error(\"ERROR: NaN passed into Player.gainIntelligenceExp()\");\n return;\n }\n if (this.sourceFileLvl(5) > 0 || this.intelligence > 0) {\n this.intelligence_exp += exp;\n this.intelligence = Math.floor(this.calculateSkill(this.intelligence_exp));\n }\n}\n\n//Given a string expression like \"str\" or \"strength\", returns the given stat\nexport function queryStatFromString(this: IPlayer, str: string): number {\n const tempStr = str.toLowerCase();\n if (tempStr.includes(\"hack\")) {\n return this.hacking;\n }\n if (tempStr.includes(\"str\")) {\n return this.strength;\n }\n if (tempStr.includes(\"def\")) {\n return this.defense;\n }\n if (tempStr.includes(\"dex\")) {\n return this.dexterity;\n }\n if (tempStr.includes(\"agi\")) {\n return this.agility;\n }\n if (tempStr.includes(\"cha\")) {\n return this.charisma;\n }\n if (tempStr.includes(\"int\")) {\n return this.intelligence;\n }\n return 0;\n}\n\n/******* Working functions *******/\nexport function resetWorkStatus(this: IPlayer, generalType?: string, group?: string, workType?: string): void {\n if (this.workType !== CONSTANTS.WorkTypeFaction && generalType === this.workType && group === this.companyName)\n return;\n if (generalType === this.workType && group === this.currentWorkFactionName && workType === this.factionWorkType)\n return;\n if (this.isWorking) this.singularityStopWork();\n this.workHackExpGainRate = 0;\n this.workStrExpGainRate = 0;\n this.workDefExpGainRate = 0;\n this.workDexExpGainRate = 0;\n this.workAgiExpGainRate = 0;\n this.workChaExpGainRate = 0;\n this.workRepGainRate = 0;\n this.workMoneyGainRate = 0;\n this.workMoneyLossRate = 0;\n\n this.workHackExpGained = 0;\n this.workStrExpGained = 0;\n this.workDefExpGained = 0;\n this.workDexExpGained = 0;\n this.workAgiExpGained = 0;\n this.workChaExpGained = 0;\n this.workRepGained = 0;\n this.workMoneyGained = 0;\n\n this.timeWorked = 0;\n this.timeWorkedCreateProgram = 0;\n this.timeWorkedGraftAugmentation = 0;\n\n this.currentWorkFactionName = \"\";\n this.currentWorkFactionDescription = \"\";\n this.createProgramName = \"\";\n this.graftAugmentationName = \"\";\n this.className = \"\";\n this.workType = \"\";\n}\n\nexport function processWorkEarnings(this: IPlayer, numCycles = 1): void {\n let focusBonus = 1;\n if (!this.hasAugmentation(AugmentationNames[\"NeuroreceptorManager\"])) {\n focusBonus = this.focus ? 1 : CONSTANTS.BaseFocusBonus;\n }\n const hackExpGain = focusBonus * this.workHackExpGainRate * numCycles;\n const strExpGain = focusBonus * this.workStrExpGainRate * numCycles;\n const defExpGain = focusBonus * this.workDefExpGainRate * numCycles;\n const dexExpGain = focusBonus * this.workDexExpGainRate * numCycles;\n const agiExpGain = focusBonus * this.workAgiExpGainRate * numCycles;\n const chaExpGain = focusBonus * this.workChaExpGainRate * numCycles;\n const moneyGain = (this.workMoneyGainRate - this.workMoneyLossRate) * numCycles;\n this.gainHackingExp(hackExpGain);\n this.gainStrengthExp(strExpGain);\n this.gainDefenseExp(defExpGain);\n this.gainDexterityExp(dexExpGain);\n this.gainAgilityExp(agiExpGain);\n this.gainCharismaExp(chaExpGain);\n this.gainMoney(moneyGain, this.className ? \"class\" : \"work\");\n this.workHackExpGained += hackExpGain;\n this.workStrExpGained += strExpGain;\n this.workDefExpGained += defExpGain;\n this.workDexExpGained += dexExpGain;\n this.workAgiExpGained += agiExpGain;\n this.workChaExpGained += chaExpGain;\n this.workRepGained += focusBonus * this.workRepGainRate * numCycles;\n this.workMoneyGained += focusBonus * this.workMoneyGainRate * numCycles;\n this.workMoneyGained -= focusBonus * this.workMoneyLossRate * numCycles;\n}\n\n/* Working for Company */\nexport function startWork(this: IPlayer, companyName: string): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeCompany, companyName);\n this.isWorking = true;\n this.companyName = companyName;\n this.workType = CONSTANTS.WorkTypeCompany;\n\n this.workHackExpGainRate = this.getWorkHackExpGain();\n this.workStrExpGainRate = this.getWorkStrExpGain();\n this.workDefExpGainRate = this.getWorkDefExpGain();\n this.workDexExpGainRate = this.getWorkDexExpGain();\n this.workAgiExpGainRate = this.getWorkAgiExpGain();\n this.workChaExpGainRate = this.getWorkChaExpGain();\n this.workRepGainRate = this.getWorkRepGain();\n this.workMoneyGainRate = this.getWorkMoneyGain();\n\n this.timeNeededToCompleteWork = CONSTANTS.MillisecondsPer8Hours;\n}\n\nexport function process(this: IPlayer, router: IRouter, numCycles = 1): void {\n // Working\n if (this.isWorking) {\n if (this.workType == CONSTANTS.WorkTypeFaction) {\n if (this.workForFaction(numCycles)) {\n router.toFaction(Factions[this.currentWorkFactionName]);\n }\n } else if (this.workType == CONSTANTS.WorkTypeCreateProgram) {\n if (this.createProgramWork(numCycles)) {\n router.toTerminal();\n }\n } else if (this.workType == CONSTANTS.WorkTypeStudyClass) {\n if (this.takeClass(numCycles)) {\n router.toCity();\n }\n } else if (this.workType == CONSTANTS.WorkTypeCrime) {\n if (this.commitCrime(numCycles)) {\n router.toLocation(Locations[LocationName.Slums]);\n }\n } else if (this.workType == CONSTANTS.WorkTypeCompanyPartTime) {\n if (this.workPartTime(numCycles)) {\n router.toCity();\n }\n } else if (this.workType === CONSTANTS.WorkTypeGraftAugmentation) {\n if (this.graftAugmentationWork(numCycles)) {\n router.toGrafting();\n }\n } else if (this.work(numCycles)) {\n router.toCity();\n }\n }\n}\n\nexport function cancelationPenalty(this: IPlayer): number {\n const data = serverMetadata.find((s) => s.specialName === this.companyName);\n if (!data) return 0.5; // Does not have special server.\n const server = GetServer(data.hostname);\n if (server instanceof Server) {\n if (server && server.backdoorInstalled) return 0.75;\n }\n\n return 0.5;\n}\n\nexport function work(this: IPlayer, numCycles: number): boolean {\n // Cap the number of cycles being processed to whatever would put you at\n // the work time limit (8 hours)\n let overMax = false;\n if (this.timeWorked + CONSTANTS._idleSpeed * numCycles >= CONSTANTS.MillisecondsPer8Hours) {\n overMax = true;\n numCycles = Math.round((CONSTANTS.MillisecondsPer8Hours - this.timeWorked) / CONSTANTS._idleSpeed);\n }\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n\n this.workRepGainRate = this.getWorkRepGain();\n this.workMoneyGainRate = this.getWorkMoneyGain();\n this.processWorkEarnings(numCycles);\n\n const comp = Companies[this.companyName];\n influenceStockThroughCompanyWork(comp, this.workRepGainRate, numCycles);\n\n // If timeWorked == 8 hours, then finish. You can only gain 8 hours worth of exp and money\n if (overMax || this.timeWorked >= CONSTANTS.MillisecondsPer8Hours) {\n this.finishWork(false);\n return true;\n }\n return false;\n}\n\nexport function finishWork(this: IPlayer, cancelled: boolean, sing = false): string {\n //Since the work was cancelled early, player only gains half of what they've earned so far\n if (cancelled) {\n this.workRepGained *= this.cancelationPenalty();\n }\n\n const penaltyString = this.cancelationPenalty() === 0.5 ? \"half\" : \"three-quarters\";\n\n const company = Companies[this.companyName];\n company.playerReputation += this.workRepGained;\n\n this.updateSkillLevels();\n\n let content = (\n <>\n You earned a total of: \n \n \n reputation for the company \n {this.workHackExpGained > 0 && (\n <>\n {numeralWrapper.formatExp(this.workHackExpGained)} hacking exp \n >\n )}\n {this.workStrExpGained > 0 && (\n <>\n {numeralWrapper.formatExp(this.workStrExpGained)} strength exp \n >\n )}\n {this.workDefExpGained > 0 && (\n <>\n {numeralWrapper.formatExp(this.workDefExpGained)} defense exp \n >\n )}\n {this.workDexExpGained > 0 && (\n <>\n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp \n >\n )}\n {this.workAgiExpGained > 0 && (\n <>\n {numeralWrapper.formatExp(this.workAgiExpGained)} agility exp \n >\n )}\n {this.workChaExpGained > 0 && (\n <>\n {numeralWrapper.formatExp(this.workChaExpGained)} charisma exp \n >\n )}\n \n >\n );\n\n if (cancelled) {\n content = (\n <>\n You worked a short shift of {convertTimeMsToTimeElapsedString(this.timeWorked)} \n \n Since you cancelled your work early, you only gained {penaltyString} of the reputation you earned. \n \n {content}\n >\n );\n } else {\n content = (\n <>\n You worked a full shift of 8 hours! \n \n {content}\n >\n );\n }\n if (!sing) {\n dialogBoxCreate(content);\n }\n\n this.isWorking = false;\n this.focus = false;\n\n this.resetWorkStatus();\n if (sing) {\n const res =\n \"You worked a short shift of \" +\n convertTimeMsToTimeElapsedString(this.timeWorked) +\n \" and \" +\n \"earned $\" +\n numeralWrapper.formatMoney(this.workMoneyGained) +\n \", \" +\n numeralWrapper.formatReputation(this.workRepGained) +\n \" reputation, \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hacking exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" strength exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" defense exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dexterity exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agility exp, and \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" charisma exp.\";\n\n return res;\n }\n\n return \"\";\n}\n\nexport function startWorkPartTime(this: IPlayer, companyName: string): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeCompanyPartTime, companyName);\n this.isWorking = true;\n this.companyName = companyName;\n this.workType = CONSTANTS.WorkTypeCompanyPartTime;\n\n this.workHackExpGainRate = this.getWorkHackExpGain();\n this.workStrExpGainRate = this.getWorkStrExpGain();\n this.workDefExpGainRate = this.getWorkDefExpGain();\n this.workDexExpGainRate = this.getWorkDexExpGain();\n this.workAgiExpGainRate = this.getWorkAgiExpGain();\n this.workChaExpGainRate = this.getWorkChaExpGain();\n this.workRepGainRate = this.getWorkRepGain();\n this.workMoneyGainRate = this.getWorkMoneyGain();\n\n this.timeNeededToCompleteWork = CONSTANTS.MillisecondsPer8Hours;\n}\n\nexport function workPartTime(this: IPlayer, numCycles: number): boolean {\n //Cap the number of cycles being processed to whatever would put you at the\n //work time limit (8 hours)\n let overMax = false;\n if (this.timeWorked + CONSTANTS._idleSpeed * numCycles >= CONSTANTS.MillisecondsPer8Hours) {\n overMax = true;\n numCycles = Math.round((CONSTANTS.MillisecondsPer8Hours - this.timeWorked) / CONSTANTS._idleSpeed);\n }\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n\n this.workRepGainRate = this.getWorkRepGain();\n this.processWorkEarnings(numCycles);\n\n //If timeWorked == 8 hours, then finish. You can only gain 8 hours worth of exp and money\n if (overMax || this.timeWorked >= CONSTANTS.MillisecondsPer8Hours) {\n this.finishWorkPartTime();\n return true;\n }\n return false;\n}\n\nexport function finishWorkPartTime(this: IPlayer, sing = false): string {\n const company = Companies[this.companyName];\n company.playerReputation += this.workRepGained;\n\n this.updateSkillLevels();\n\n const content = (\n <>\n You worked for {convertTimeMsToTimeElapsedString(this.timeWorked)}\n \n \n You earned a total of: \n \n \n reputation for the company \n {numeralWrapper.formatExp(this.workHackExpGained)} hacking exp \n {numeralWrapper.formatExp(this.workStrExpGained)} strength exp \n {numeralWrapper.formatExp(this.workDefExpGained)} defense exp \n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp \n {numeralWrapper.formatExp(this.workAgiExpGained)} agility exp \n {numeralWrapper.formatExp(this.workChaExpGained)} charisma exp\n \n >\n );\n if (!sing) {\n dialogBoxCreate(content);\n }\n\n this.isWorking = false;\n this.resetWorkStatus();\n\n if (sing) {\n const res =\n \"You worked for \" +\n convertTimeMsToTimeElapsedString(this.timeWorked) +\n \" and \" +\n \"earned a total of \" +\n \"$\" +\n numeralWrapper.formatMoney(this.workMoneyGained) +\n \", \" +\n numeralWrapper.formatReputation(this.workRepGained) +\n \" reputation, \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hacking exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" strength exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" defense exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dexterity exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agility exp, and \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" charisma exp\";\n return res;\n }\n return \"\";\n}\n\nexport function startFocusing(this: IPlayer): void {\n this.focus = true;\n}\n\nexport function stopFocusing(this: IPlayer): void {\n this.focus = false;\n}\n\n/* Working for Faction */\nexport function startFactionWork(this: IPlayer, faction: Faction): void {\n //Update reputation gain rate to account for faction favor\n let favorMult = 1 + faction.favor / 100;\n if (isNaN(favorMult)) {\n favorMult = 1;\n }\n this.workRepGainRate *= favorMult;\n this.workRepGainRate *= BitNodeMultipliers.FactionWorkRepGain;\n\n this.isWorking = true;\n this.workType = CONSTANTS.WorkTypeFaction;\n this.currentWorkFactionName = faction.name;\n\n this.timeNeededToCompleteWork = CONSTANTS.MillisecondsPer20Hours;\n}\n\nexport function startFactionHackWork(this: IPlayer, faction: Faction): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeFaction, faction.name, CONSTANTS.FactionWorkHacking);\n\n this.workHackExpGainRate = 0.15 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workRepGainRate = getHackingWorkRepGain(this, faction);\n\n this.factionWorkType = CONSTANTS.FactionWorkHacking;\n this.currentWorkFactionDescription = \"carrying out hacking contracts\";\n\n this.startFactionWork(faction);\n}\n\nexport function startFactionFieldWork(this: IPlayer, faction: Faction): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeFaction, faction.name, CONSTANTS.FactionWorkField);\n\n this.workHackExpGainRate = 0.1 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workStrExpGainRate = 0.1 * this.strength_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workDefExpGainRate = 0.1 * this.defense_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workDexExpGainRate = 0.1 * this.dexterity_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workAgiExpGainRate = 0.1 * this.agility_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workChaExpGainRate = 0.1 * this.charisma_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workRepGainRate = getFactionFieldWorkRepGain(this, faction);\n\n this.factionWorkType = CONSTANTS.FactionWorkField;\n this.currentWorkFactionDescription = \"carrying out field missions\";\n\n this.startFactionWork(faction);\n}\n\nexport function startFactionSecurityWork(this: IPlayer, faction: Faction): void {\n this.resetWorkStatus(CONSTANTS.WorkTypeFaction, faction.name, CONSTANTS.FactionWorkSecurity);\n\n this.workHackExpGainRate = 0.05 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workStrExpGainRate = 0.15 * this.strength_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workDefExpGainRate = 0.15 * this.defense_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workDexExpGainRate = 0.15 * this.dexterity_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workAgiExpGainRate = 0.15 * this.agility_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workChaExpGainRate = 0.0 * this.charisma_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.workRepGainRate = getFactionSecurityWorkRepGain(this, faction);\n\n this.factionWorkType = CONSTANTS.FactionWorkSecurity;\n this.currentWorkFactionDescription = \"performing security detail\";\n\n this.startFactionWork(faction);\n}\n\nexport function workForFaction(this: IPlayer, numCycles: number): boolean {\n const faction = Factions[this.currentWorkFactionName];\n\n if (!faction) {\n return false;\n }\n\n //Constantly update the rep gain rate\n switch (this.factionWorkType) {\n case CONSTANTS.FactionWorkHacking:\n this.workRepGainRate = getHackingWorkRepGain(this, faction);\n break;\n case CONSTANTS.FactionWorkField:\n this.workRepGainRate = getFactionFieldWorkRepGain(this, faction);\n break;\n case CONSTANTS.FactionWorkSecurity:\n this.workRepGainRate = getFactionSecurityWorkRepGain(this, faction);\n break;\n default:\n break;\n }\n this.workRepGainRate *= BitNodeMultipliers.FactionWorkRepGain;\n\n //Cap the number of cycles being processed to whatever would put you at limit (20 hours)\n let overMax = false;\n if (this.timeWorked + CONSTANTS._idleSpeed * numCycles >= CONSTANTS.MillisecondsPer20Hours) {\n overMax = true;\n numCycles = Math.round((CONSTANTS.MillisecondsPer20Hours - this.timeWorked) / CONSTANTS._idleSpeed);\n }\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n\n this.processWorkEarnings(numCycles);\n\n //If timeWorked == 20 hours, then finish. You can only work for the faction for 20 hours\n if (overMax || this.timeWorked >= CONSTANTS.MillisecondsPer20Hours) {\n this.finishFactionWork(false);\n return true;\n }\n return false;\n}\n\nexport function finishFactionWork(this: IPlayer, cancelled: boolean, sing = false): string {\n const faction = Factions[this.currentWorkFactionName];\n faction.playerReputation += this.workRepGained;\n\n this.updateSkillLevels();\n\n if (!sing) {\n dialogBoxCreate(\n <>\n You worked for your faction {faction.name} for a total of {convertTimeMsToTimeElapsedString(this.timeWorked)}{\" \"}\n \n \n You earned a total of: \n \n \n reputation for the faction \n {numeralWrapper.formatExp(this.workHackExpGained)} hacking exp \n {numeralWrapper.formatExp(this.workStrExpGained)} strength exp \n {numeralWrapper.formatExp(this.workDefExpGained)} defense exp \n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp \n {numeralWrapper.formatExp(this.workAgiExpGained)} agility exp \n {numeralWrapper.formatExp(this.workChaExpGained)} charisma exp\n \n >,\n );\n }\n\n this.isWorking = false;\n this.resetWorkStatus();\n if (sing) {\n const res =\n \"You worked for your faction \" +\n faction.name +\n \" for a total of \" +\n convertTimeMsToTimeElapsedString(this.timeWorked) +\n \". \" +\n \"You earned \" +\n numeralWrapper.formatReputation(this.workRepGained) +\n \" rep, \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hacking exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" str exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" def exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dex exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agi exp, and \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" cha exp.\";\n\n return res;\n }\n return \"\";\n}\n\n//Money gained per game cycle\nexport function getWorkMoneyGain(this: IPlayer): number {\n // If player has SF-11, calculate salary multiplier from favor\n let bn11Mult = 1;\n const company = Companies[this.companyName];\n if (this.sourceFileLvl(11) > 0) {\n bn11Mult = 1 + company.favor / 100;\n }\n\n // Get base salary\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (companyPosition == null) {\n console.error(`Could not find CompanyPosition object for ${companyPositionName}. Work salary will be 0`);\n return 0;\n }\n\n return (\n companyPosition.baseSalary *\n company.salaryMultiplier *\n this.work_money_mult *\n BitNodeMultipliers.CompanyWorkMoney *\n bn11Mult\n );\n}\n\n//Hack exp gained per game cycle\nexport function getWorkHackExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work hack exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.hackingExpGain *\n company.expMultiplier *\n this.hacking_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Str exp gained per game cycle\nexport function getWorkStrExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work str exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.strengthExpGain *\n company.expMultiplier *\n this.strength_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Def exp gained per game cycle\nexport function getWorkDefExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work def exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.defenseExpGain *\n company.expMultiplier *\n this.defense_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Dex exp gained per game cycle\nexport function getWorkDexExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work dex exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.dexterityExpGain *\n company.expMultiplier *\n this.dexterity_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Agi exp gained per game cycle\nexport function getWorkAgiExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work agi exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.agilityExpGain *\n company.expMultiplier *\n this.agility_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Charisma exp gained per game cycle\nexport function getWorkChaExpGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work cha exp gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n return (\n companyPosition.charismaExpGain *\n company.expMultiplier *\n this.charisma_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain\n );\n}\n\n//Reputation gained per game cycle\nexport function getWorkRepGain(this: IPlayer): number {\n const company = Companies[this.companyName];\n const companyPositionName = this.jobs[this.companyName];\n const companyPosition = CompanyPositions[companyPositionName];\n if (company == null || companyPosition == null) {\n console.error(\n [\n `Could not find Company object for ${this.companyName}`,\n `or CompanyPosition object for ${companyPositionName}.`,\n `Work rep gain will be 0`,\n ].join(\" \"),\n );\n return 0;\n }\n\n let jobPerformance = companyPosition.calculateJobPerformance(\n this.hacking,\n this.strength,\n this.defense,\n this.dexterity,\n this.agility,\n this.charisma,\n );\n\n //Intelligence provides a flat bonus to job performance\n jobPerformance += this.intelligence / CONSTANTS.MaxSkillLevel;\n\n //Update reputation gain rate to account for company favor\n let favorMult = 1 + company.favor / 100;\n if (isNaN(favorMult)) {\n favorMult = 1;\n }\n return jobPerformance * this.company_rep_mult * favorMult;\n}\n\n// export function getFactionSecurityWorkRepGain(this: IPlayer) {\n// var t = 0.9 * (this.hacking / CONSTANTS.MaxSkillLevel +\n// this.strength / CONSTANTS.MaxSkillLevel +\n// this.defense / CONSTANTS.MaxSkillLevel +\n// this.dexterity / CONSTANTS.MaxSkillLevel +\n// this.agility / CONSTANTS.MaxSkillLevel) / 4.5;\n// return t * this.faction_rep_mult;\n// }\n\n// export function getFactionFieldWorkRepGain(this: IPlayer) {\n// var t = 0.9 * (this.hacking / CONSTANTS.MaxSkillLevel +\n// this.strength / CONSTANTS.MaxSkillLevel +\n// this.defense / CONSTANTS.MaxSkillLevel +\n// this.dexterity / CONSTANTS.MaxSkillLevel +\n// this.agility / CONSTANTS.MaxSkillLevel +\n// this.charisma / CONSTANTS.MaxSkillLevel +\n// this.intelligence / CONSTANTS.MaxSkillLevel) / 5.5;\n// return t * this.faction_rep_mult;\n// }\n\n/* Creating a Program */\nexport function startCreateProgramWork(this: IPlayer, programName: string, time: number, reqLevel: number): void {\n this.resetWorkStatus();\n this.isWorking = true;\n this.workType = CONSTANTS.WorkTypeCreateProgram;\n\n //Time needed to complete work affected by hacking skill (linearly based on\n //ratio of (your skill - required level) to MAX skill)\n //var timeMultiplier = (CONSTANTS.MaxSkillLevel - (this.hacking - reqLevel)) / CONSTANTS.MaxSkillLevel;\n //if (timeMultiplier > 1) {timeMultiplier = 1;}\n //if (timeMultiplier < 0.01) {timeMultiplier = 0.01;}\n this.createProgramReqLvl = reqLevel;\n\n this.timeNeededToCompleteWork = time;\n //Check for incomplete program\n for (let i = 0; i < this.getHomeComputer().programs.length; ++i) {\n const programFile = this.getHomeComputer().programs[i];\n if (programFile.startsWith(programName) && programFile.endsWith(\"%-INC\")) {\n const res = programFile.split(\"-\");\n if (res.length != 3) {\n break;\n }\n const percComplete = Number(res[1].slice(0, -1));\n if (isNaN(percComplete) || percComplete < 0 || percComplete >= 100) {\n break;\n }\n this.timeWorkedCreateProgram = (percComplete / 100) * this.timeNeededToCompleteWork;\n this.getHomeComputer().programs.splice(i, 1);\n }\n }\n\n this.createProgramName = programName;\n}\n\nexport function createProgramWork(this: IPlayer, numCycles: number): boolean {\n let focusBonus = 1;\n if (!this.hasAugmentation(AugmentationNames[\"NeuroreceptorManager\"])) {\n focusBonus = this.focus ? 1 : CONSTANTS.BaseFocusBonus;\n }\n //Higher hacking skill will allow you to create programs faster\n const reqLvl = this.createProgramReqLvl;\n let skillMult = (this.hacking / reqLvl) * this.getIntelligenceBonus(3); //This should always be greater than 1;\n skillMult = 1 + (skillMult - 1) / 5; //The divider constant can be adjusted as necessary\n skillMult *= focusBonus;\n //Skill multiplier directly applied to \"time worked\"\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n this.timeWorkedCreateProgram += CONSTANTS._idleSpeed * numCycles * skillMult;\n\n if (this.timeWorkedCreateProgram >= this.timeNeededToCompleteWork) {\n this.finishCreateProgramWork(false);\n return true;\n }\n return false;\n}\n\nexport function finishCreateProgramWork(this: IPlayer, cancelled: boolean): string {\n const programName = this.createProgramName;\n if (!cancelled) {\n //Complete case\n this.gainIntelligenceExp((CONSTANTS.IntelligenceProgramBaseExpGain * this.timeWorked) / 1000);\n dialogBoxCreate(`You've finished creating ${programName}! The new program can be found on your home computer.`);\n\n if (!this.getHomeComputer().programs.includes(programName)) {\n this.getHomeComputer().programs.push(programName);\n }\n } else if (!this.getHomeComputer().programs.includes(programName)) {\n //Incomplete case\n const perc = (Math.floor((this.timeWorkedCreateProgram / this.timeNeededToCompleteWork) * 10000) / 100).toString();\n const incompleteName = programName + \"-\" + perc + \"%-INC\";\n this.getHomeComputer().programs.push(incompleteName);\n }\n\n this.isWorking = false;\n\n this.resetWorkStatus();\n return \"You've finished creating \" + programName + \"! The new program can be found on your home computer.\";\n}\n\nexport function startGraftAugmentationWork(this: IPlayer, augmentationName: string, time: number): void {\n this.resetWorkStatus();\n this.isWorking = true;\n this.workType = CONSTANTS.WorkTypeGraftAugmentation;\n\n this.timeNeededToCompleteWork = time;\n this.graftAugmentationName = augmentationName;\n}\n\nexport function craftAugmentationWork(this: IPlayer, numCycles: number): boolean {\n let focusBonus = 1;\n if (!this.hasAugmentation(AugmentationNames.NeuroreceptorManager)) {\n focusBonus = this.focus ? 1 : CONSTANTS.BaseFocusBonus;\n }\n\n let skillMult = graftingIntBonus(this);\n skillMult *= focusBonus;\n\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n this.timeWorkedGraftAugmentation += CONSTANTS._idleSpeed * numCycles * skillMult;\n\n if (this.timeWorkedGraftAugmentation >= this.timeNeededToCompleteWork) {\n this.finishGraftAugmentationWork(false);\n return true;\n }\n return false;\n}\n\nexport function finishGraftAugmentationWork(this: IPlayer, cancelled: boolean): string {\n const augName = this.graftAugmentationName;\n if (cancelled === false) {\n applyAugmentation(Augmentations[augName]);\n\n if (!this.hasAugmentation(AugmentationNames.CongruityImplant)) {\n this.entropy += 1;\n this.applyEntropy(this.entropy);\n }\n\n dialogBoxCreate(\n `You've finished grafting ${augName}. The augmentation has been applied to your body` +\n (this.hasAugmentation(AugmentationNames.CongruityImplant) ? \".\" : \", but you feel a bit off.\"),\n );\n } else {\n dialogBoxCreate(`You cancelled the grafting of ${augName}. Your money was not returned to you.`);\n }\n\n // Intelligence gain\n if (!cancelled) {\n this.gainIntelligenceExp((CONSTANTS.IntelligenceGraftBaseExpGain * this.timeWorked) / 10000);\n }\n\n this.isWorking = false;\n this.resetWorkStatus();\n return `Grafting of ${augName} has ended.`;\n}\n\n/* Studying/Taking Classes */\nexport function startClass(this: IPlayer, costMult: number, expMult: number, className: string): void {\n this.resetWorkStatus();\n this.isWorking = true;\n this.workType = CONSTANTS.WorkTypeStudyClass;\n this.workCostMult = costMult;\n this.workExpMult = expMult;\n this.className = className;\n const earnings = calculateClassEarnings(this);\n this.workMoneyLossRate = earnings.workMoneyLossRate;\n this.workHackExpGainRate = earnings.workHackExpGainRate;\n this.workStrExpGainRate = earnings.workStrExpGainRate;\n this.workDefExpGainRate = earnings.workDefExpGainRate;\n this.workDexExpGainRate = earnings.workDexExpGainRate;\n this.workAgiExpGainRate = earnings.workAgiExpGainRate;\n this.workChaExpGainRate = earnings.workChaExpGainRate;\n}\n\nexport function takeClass(this: IPlayer, numCycles: number): boolean {\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n const earnings = calculateClassEarnings(this);\n this.workMoneyLossRate = earnings.workMoneyLossRate;\n this.workHackExpGainRate = earnings.workHackExpGainRate;\n this.workStrExpGainRate = earnings.workStrExpGainRate;\n this.workDefExpGainRate = earnings.workDefExpGainRate;\n this.workDexExpGainRate = earnings.workDexExpGainRate;\n this.workAgiExpGainRate = earnings.workAgiExpGainRate;\n this.workChaExpGainRate = earnings.workChaExpGainRate;\n this.processWorkEarnings(numCycles);\n return false;\n}\n\n//The 'sing' argument defines whether or not this function was called\n//through a Singularity Netscript function\nexport function finishClass(this: IPlayer, sing = false): string {\n this.gainIntelligenceExp(CONSTANTS.IntelligenceClassBaseExpGain * Math.round(this.timeWorked / 1000));\n\n if (this.workMoneyGained > 0) {\n throw new Error(\"ERR: Somehow gained money while taking class\");\n }\n\n this.updateSkillLevels();\n if (!sing) {\n dialogBoxCreate(\n <>\n After {this.className} for {convertTimeMsToTimeElapsedString(this.timeWorked)}, \n you spent a total of . \n \n You earned a total of: \n {numeralWrapper.formatExp(this.workHackExpGained)} hacking exp \n {numeralWrapper.formatExp(this.workStrExpGained)} strength exp \n {numeralWrapper.formatExp(this.workDefExpGained)} defense exp \n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity exp \n {numeralWrapper.formatExp(this.workAgiExpGained)} agility exp \n {numeralWrapper.formatExp(this.workChaExpGained)} charisma exp\n \n >,\n );\n }\n\n this.isWorking = false;\n\n if (sing) {\n const res =\n \"After \" +\n this.className +\n \" for \" +\n convertTimeMsToTimeElapsedString(this.timeWorked) +\n \", \" +\n \"you spent a total of \" +\n numeralWrapper.formatMoney(this.workMoneyGained * -1) +\n \". \" +\n \"You earned a total of: \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hacking exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" strength exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" defense exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dexterity exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agility exp, and \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" charisma exp\";\n this.resetWorkStatus();\n return res;\n }\n this.resetWorkStatus();\n return \"\";\n}\n\n//The EXP and $ gains are hardcoded. Time is in ms\nexport function startCrime(\n this: IPlayer,\n router: IRouter,\n crimeType: string,\n hackExp: number,\n strExp: number,\n defExp: number,\n dexExp: number,\n agiExp: number,\n chaExp: number,\n money: number,\n time: number,\n workerscript: WorkerScript | null = null,\n): void {\n this.crimeType = crimeType;\n\n this.resetWorkStatus();\n this.isWorking = true;\n this.focus = true;\n this.workType = CONSTANTS.WorkTypeCrime;\n\n if (workerscript !== null) {\n this.committingCrimeThruSingFn = true;\n this.singFnCrimeWorkerScript = workerscript;\n }\n\n this.workHackExpGained = hackExp * this.hacking_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workStrExpGained = strExp * this.strength_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workDefExpGained = defExp * this.defense_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workDexExpGained = dexExp * this.dexterity_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workAgiExpGained = agiExp * this.agility_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workChaExpGained = chaExp * this.charisma_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.workMoneyGained = money * this.crime_money_mult * BitNodeMultipliers.CrimeMoney;\n\n this.timeNeededToCompleteWork = time;\n router.toWork();\n}\n\nexport function commitCrime(this: IPlayer, numCycles: number): boolean {\n this.timeWorked += CONSTANTS._idleSpeed * numCycles;\n\n if (this.timeWorked >= this.timeNeededToCompleteWork) {\n this.finishCrime(false);\n return true;\n }\n return false;\n}\n\nexport function finishCrime(this: IPlayer, cancelled: boolean): string {\n //Determine crime success/failure\n if (!cancelled) {\n if (determineCrimeSuccess(this, this.crimeType)) {\n //Handle Karma and crime statistics\n let crime = null;\n for (const i of Object.keys(Crimes)) {\n if (Crimes[i].type == this.crimeType) {\n crime = Crimes[i];\n break;\n }\n }\n if (crime == null) {\n dialogBoxCreate(\n `ERR: Unrecognized crime type (${this.crimeType}). This is probably a bug please contact the developer`,\n );\n return \"\";\n }\n this.gainMoney(this.workMoneyGained, \"crime\");\n this.karma -= crime.karma;\n this.numPeopleKilled += crime.kills;\n if (crime.intelligence_exp > 0) {\n this.gainIntelligenceExp(crime.intelligence_exp);\n }\n\n //On a crime success, gain 2x exp\n this.workHackExpGained *= 2;\n this.workStrExpGained *= 2;\n this.workDefExpGained *= 2;\n this.workDexExpGained *= 2;\n this.workAgiExpGained *= 2;\n this.workChaExpGained *= 2;\n const ws = this.singFnCrimeWorkerScript;\n if (this.committingCrimeThruSingFn && ws !== null) {\n if (ws.disableLogs.ALL == null && ws.disableLogs.commitCrime == null) {\n ws.scriptRef.log(\n \"SUCCESS: Crime successful! Gained \" +\n numeralWrapper.formatMoney(this.workMoneyGained) +\n \", \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hack exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" str exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" def exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dex exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agi exp, \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" cha exp.\",\n );\n }\n } else {\n dialogBoxCreate(\n <>\n Crime successful!\n \n \n You gained:\n \n \n \n {numeralWrapper.formatExp(this.workHackExpGained)} hacking experience \n {numeralWrapper.formatExp(this.workStrExpGained)} strength experience\n \n {numeralWrapper.formatExp(this.workDefExpGained)} defense experience\n \n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity experience\n \n {numeralWrapper.formatExp(this.workAgiExpGained)} agility experience\n \n {numeralWrapper.formatExp(this.workChaExpGained)} charisma experience\n >,\n );\n }\n } else {\n //Exp halved on failure\n this.workHackExpGained /= 2;\n this.workStrExpGained /= 2;\n this.workDefExpGained /= 2;\n this.workDexExpGained /= 2;\n this.workAgiExpGained /= 2;\n this.workChaExpGained /= 2;\n const ws = this.singFnCrimeWorkerScript;\n if (this.committingCrimeThruSingFn && ws !== null) {\n if (ws.disableLogs.ALL == null && ws.disableLogs.commitCrime == null) {\n ws.scriptRef.log(\n \"FAIL: Crime failed! Gained \" +\n numeralWrapper.formatExp(this.workHackExpGained) +\n \" hack exp, \" +\n numeralWrapper.formatExp(this.workStrExpGained) +\n \" str exp, \" +\n numeralWrapper.formatExp(this.workDefExpGained) +\n \" def exp, \" +\n numeralWrapper.formatExp(this.workDexExpGained) +\n \" dex exp, \" +\n numeralWrapper.formatExp(this.workAgiExpGained) +\n \" agi exp, \" +\n numeralWrapper.formatExp(this.workChaExpGained) +\n \" cha exp.\",\n );\n }\n } else {\n dialogBoxCreate(\n <>\n Crime failed!\n \n \n You gained:\n \n {numeralWrapper.formatExp(this.workHackExpGained)} hacking experience \n {numeralWrapper.formatExp(this.workStrExpGained)} strength experience\n \n {numeralWrapper.formatExp(this.workDefExpGained)} defense experience\n \n {numeralWrapper.formatExp(this.workDexExpGained)} dexterity experience\n \n {numeralWrapper.formatExp(this.workAgiExpGained)} agility experience\n \n {numeralWrapper.formatExp(this.workChaExpGained)} charisma experience\n >,\n );\n }\n }\n\n this.gainHackingExp(this.workHackExpGained);\n this.gainStrengthExp(this.workStrExpGained);\n this.gainDefenseExp(this.workDefExpGained);\n this.gainDexterityExp(this.workDexExpGained);\n this.gainAgilityExp(this.workAgiExpGained);\n this.gainCharismaExp(this.workChaExpGained);\n }\n this.committingCrimeThruSingFn = false;\n this.singFnCrimeWorkerScript = null;\n this.isWorking = false;\n this.crimeType = \"\";\n this.resetWorkStatus();\n return \"\";\n}\n\n//Cancels the player's current \"work\" assignment and gives the proper rewards\n//Used only for Singularity functions, so no popups are created\nexport function singularityStopWork(this: IPlayer): string {\n if (!this.isWorking) {\n return \"\";\n }\n let res = \"\"; //Earnings text for work\n switch (this.workType) {\n case CONSTANTS.WorkTypeStudyClass:\n res = this.finishClass(true);\n break;\n case CONSTANTS.WorkTypeCompany:\n res = this.finishWork(true, true);\n break;\n case CONSTANTS.WorkTypeCompanyPartTime:\n res = this.finishWorkPartTime(true);\n break;\n case CONSTANTS.WorkTypeFaction:\n res = this.finishFactionWork(true, true);\n break;\n case CONSTANTS.WorkTypeCreateProgram:\n res = this.finishCreateProgramWork(true);\n break;\n case CONSTANTS.WorkTypeCrime:\n res = this.finishCrime(true);\n break;\n default:\n console.error(`Unrecognized work type (${this.workType})`);\n return \"\";\n }\n return res;\n}\n\n// Returns true if hospitalized, false otherwise\nexport function takeDamage(this: IPlayer, amt: number): boolean {\n if (typeof amt !== \"number\") {\n console.warn(`Player.takeDamage() called without a numeric argument: ${amt}`);\n return false;\n }\n\n this.hp -= amt;\n if (this.hp <= 0) {\n this.hospitalize();\n return true;\n } else {\n return false;\n }\n}\n\nexport function regenerateHp(this: IPlayer, amt: number): void {\n if (typeof amt !== \"number\") {\n console.warn(`Player.regenerateHp() called without a numeric argument: ${amt}`);\n return;\n }\n this.hp += amt;\n if (this.hp > this.max_hp) {\n this.hp = this.max_hp;\n }\n}\n\nexport function hospitalize(this: IPlayer): number {\n const cost = getHospitalizationCost(this);\n SnackbarEvents.emit(`You've been Hospitalized for ${numeralWrapper.formatMoney(cost)}`, ToastVariant.WARNING, 2000);\n\n this.loseMoney(cost, \"hospitalization\");\n this.hp = this.max_hp;\n return cost;\n}\n\n/********* Company job application **********/\n//Determines the job that the Player should get (if any) at the current company\n//The 'sing' argument designates whether or not this is being called from\n//the applyToCompany() Netscript Singularity function\nexport function applyForJob(this: IPlayer, entryPosType: CompanyPosition, sing = false): boolean {\n // Get current company and job\n let currCompany = null;\n if (this.companyName !== \"\") {\n currCompany = Companies[this.companyName];\n }\n const currPositionName = this.jobs[this.companyName];\n\n // Get company that's being applied to\n const company = Companies[this.location]; //Company being applied to\n if (!(company instanceof Company)) {\n console.error(`Could not find company that matches the location: ${this.location}. Player.applyToCompany() failed`);\n return false;\n }\n\n let pos = entryPosType;\n\n if (!this.isQualified(company, pos)) {\n const reqText = getJobRequirementText(company, pos);\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position \" + reqText);\n }\n return false;\n }\n\n // Check if this company has the position\n if (!company.hasPosition(pos)) {\n return false;\n }\n\n while (true) {\n const newPos = getNextCompanyPositionHelper(pos);\n if (newPos == null) {\n break;\n }\n\n //Check if this company has this position\n if (company.hasPosition(newPos)) {\n if (!this.isQualified(company, newPos)) {\n //If player not qualified for next job, break loop so player will be given current job\n break;\n }\n pos = newPos;\n } else {\n break;\n }\n }\n\n //Check if the determined job is the same as the player's current job\n if (currCompany != null) {\n if (currCompany.name == company.name && pos.name == currPositionName) {\n const nextPos = getNextCompanyPositionHelper(pos);\n if (nextPos == null) {\n if (!sing) {\n dialogBoxCreate(\"You are already at the highest position for your field! No promotion available\");\n }\n return false;\n } else if (company.hasPosition(nextPos)) {\n if (!sing) {\n const reqText = getJobRequirementText(company, nextPos);\n dialogBoxCreate(\"Unfortunately, you do not qualify for a promotion \" + reqText);\n }\n return false;\n } else {\n if (!sing) {\n dialogBoxCreate(\"You are already at the highest position for your field! No promotion available\");\n }\n return false;\n }\n }\n }\n\n this.jobs[company.name] = pos.name;\n if (!this.focus && this.isWorking && this.companyName !== this.location) this.resetWorkStatus();\n this.companyName = this.location;\n\n if (!sing) {\n dialogBoxCreate(\"Congratulations! You were offered a new job at \" + this.companyName + \" as a \" + pos.name + \"!\");\n }\n return true;\n}\n\n//Returns your next position at a company given the field (software, business, etc.)\nexport function getNextCompanyPosition(\n this: IPlayer,\n company: Company,\n entryPosType: CompanyPosition,\n): CompanyPosition | null {\n let currCompany = null;\n if (this.companyName !== \"\") {\n currCompany = Companies[this.companyName];\n }\n\n //Not employed at this company, so return the entry position\n if (currCompany == null || currCompany.name != company.name) {\n return entryPosType;\n }\n\n //If the entry pos type and the player's current position have the same type,\n //return the player's \"nextCompanyPosition\". Otherwise return the entryposType\n //Employed at this company, so just return the next position if it exists.\n const currentPositionName = this.jobs[this.companyName];\n if (!currentPositionName) return entryPosType;\n const currentPosition = CompanyPositions[currentPositionName];\n if (\n (currentPosition.isSoftwareJob() && entryPosType.isSoftwareJob()) ||\n (currentPosition.isITJob() && entryPosType.isITJob()) ||\n (currentPosition.isBusinessJob() && entryPosType.isBusinessJob()) ||\n (currentPosition.isSecurityEngineerJob() && entryPosType.isSecurityEngineerJob()) ||\n (currentPosition.isNetworkEngineerJob() && entryPosType.isNetworkEngineerJob()) ||\n (currentPosition.isSecurityJob() && entryPosType.isSecurityJob()) ||\n (currentPosition.isAgentJob() && entryPosType.isAgentJob()) ||\n (currentPosition.isSoftwareConsultantJob() && entryPosType.isSoftwareConsultantJob()) ||\n (currentPosition.isBusinessConsultantJob() && entryPosType.isBusinessConsultantJob()) ||\n (currentPosition.isPartTimeJob() && entryPosType.isPartTimeJob())\n ) {\n return getNextCompanyPositionHelper(currentPosition);\n }\n\n return entryPosType;\n}\n\nexport function quitJob(this: IPlayer, company: string): void {\n if (this.isWorking == true && this.workType.includes(\"Working for Company\") && this.companyName == company) {\n this.finishWork(true);\n }\n delete this.jobs[company];\n if (this.companyName === company) {\n this.companyName = this.hasJob() ? Object.keys(this.jobs)[0] : \"\";\n }\n}\n\n/**\n * Method to see if the player has at least one job assigned to them\n * @param this The player instance\n * @returns Whether the user has at least one job\n */\nexport function hasJob(this: IPlayer): boolean {\n return Boolean(Object.keys(this.jobs).length);\n}\n\nexport function applyForSoftwareJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.SoftwareCompanyPositions[0]], sing);\n}\n\nexport function applyForSoftwareConsultantJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.SoftwareConsultantCompanyPositions[0]], sing);\n}\n\nexport function applyForItJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.ITCompanyPositions[0]], sing);\n}\n\nexport function applyForSecurityEngineerJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.SecurityEngineerCompanyPositions[0]])) {\n return this.applyForJob(CompanyPositions[posNames.SecurityEngineerCompanyPositions[0]], sing);\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForNetworkEngineerJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.NetworkEngineerCompanyPositions[0]])) {\n const pos = CompanyPositions[posNames.NetworkEngineerCompanyPositions[0]];\n return this.applyForJob(pos, sing);\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForBusinessJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.BusinessCompanyPositions[0]], sing);\n}\n\nexport function applyForBusinessConsultantJob(this: IPlayer, sing = false): boolean {\n return this.applyForJob(CompanyPositions[posNames.BusinessConsultantCompanyPositions[0]], sing);\n}\n\nexport function applyForSecurityJob(this: IPlayer, sing = false): boolean {\n // TODO Police Jobs\n // Indexing starts at 2 because 0 is for police officer\n return this.applyForJob(CompanyPositions[posNames.SecurityCompanyPositions[2]], sing);\n}\n\nexport function applyForAgentJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n if (this.isQualified(company, CompanyPositions[posNames.AgentCompanyPositions[0]])) {\n const pos = CompanyPositions[posNames.AgentCompanyPositions[0]];\n return this.applyForJob(pos, sing);\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForEmployeeJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n const position = posNames.MiscCompanyPositions[1];\n // Check if this company has the position\n if (!company.hasPosition(position)) {\n return false;\n }\n if (this.isQualified(company, CompanyPositions[position])) {\n this.jobs[company.name] = position;\n if (!this.focus && this.isWorking && this.companyName !== company.name) this.resetWorkStatus();\n this.companyName = company.name;\n\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed at \" + this.location);\n }\n\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n\n return false;\n }\n}\n\nexport function applyForPartTimeEmployeeJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n const position = posNames.PartTimeCompanyPositions[1];\n // Check if this company has the position\n if (!company.hasPosition(position)) {\n return false;\n }\n if (this.isQualified(company, CompanyPositions[position])) {\n this.jobs[company.name] = position;\n if (!this.focus && this.isWorking && this.companyName !== company.name) this.resetWorkStatus();\n this.companyName = company.name;\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed part-time at \" + this.location);\n }\n\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n\n return false;\n }\n}\n\nexport function applyForWaiterJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n const position = posNames.MiscCompanyPositions[0];\n // Check if this company has the position\n if (!company.hasPosition(position)) {\n return false;\n }\n if (this.isQualified(company, CompanyPositions[position])) {\n this.jobs[company.name] = position;\n if (!this.focus && this.isWorking && this.companyName !== company.name) this.resetWorkStatus();\n this.companyName = company.name;\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed as a waiter at \" + this.location);\n }\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\nexport function applyForPartTimeWaiterJob(this: IPlayer, sing = false): boolean {\n const company = Companies[this.location]; //Company being applied to\n const position = posNames.PartTimeCompanyPositions[0];\n // Check if this company has the position\n if (!company.hasPosition(position)) {\n return false;\n }\n if (this.isQualified(company, CompanyPositions[position])) {\n this.jobs[company.name] = position;\n if (!this.focus && this.isWorking && this.companyName !== company.name) this.resetWorkStatus();\n this.companyName = company.name;\n if (!sing) {\n dialogBoxCreate(\"Congratulations, you are now employed as a part-time waiter at \" + this.location);\n }\n return true;\n } else {\n if (!sing) {\n dialogBoxCreate(\"Unfortunately, you do not qualify for this position\");\n }\n return false;\n }\n}\n\n//Checks if the Player is qualified for a certain position\nexport function isQualified(this: IPlayer, company: Company, position: CompanyPosition): boolean {\n const offset = company.jobStatReqOffset;\n const reqHacking = position.requiredHacking > 0 ? position.requiredHacking + offset : 0;\n const reqStrength = position.requiredStrength > 0 ? position.requiredStrength + offset : 0;\n const reqDefense = position.requiredDefense > 0 ? position.requiredDefense + offset : 0;\n const reqDexterity = position.requiredDexterity > 0 ? position.requiredDexterity + offset : 0;\n const reqAgility = position.requiredDexterity > 0 ? position.requiredDexterity + offset : 0;\n const reqCharisma = position.requiredCharisma > 0 ? position.requiredCharisma + offset : 0;\n\n return (\n this.hacking >= reqHacking &&\n this.strength >= reqStrength &&\n this.defense >= reqDefense &&\n this.dexterity >= reqDexterity &&\n this.agility >= reqAgility &&\n this.charisma >= reqCharisma &&\n company.playerReputation >= position.requiredReputation\n );\n}\n\n/********** Reapplying Augmentations and Source File ***********/\nexport function reapplyAllAugmentations(this: IPlayer, resetMultipliers = true): void {\n if (resetMultipliers) {\n this.resetMultipliers();\n }\n\n for (let i = 0; i < this.augmentations.length; ++i) {\n //Compatibility with new version\n if (this.augmentations[i].name === \"HacknetNode NIC Architecture Neural-Upload\") {\n this.augmentations[i].name = \"Hacknet Node NIC Architecture Neural-Upload\";\n }\n\n const playerAug = this.augmentations[i];\n const augName = playerAug.name;\n\n if (augName == AugmentationNames.NeuroFluxGovernor) {\n for (let j = 0; j < playerAug.level; ++j) {\n applyAugmentation(this.augmentations[i], true);\n }\n continue;\n }\n applyAugmentation(this.augmentations[i], true);\n }\n\n this.updateSkillLevels();\n}\n\nexport function reapplyAllSourceFiles(this: IPlayer): void {\n //Will always be called after reapplyAllAugmentations() so multipliers do not have to be reset\n //this.resetMultipliers();\n\n for (let i = 0; i < this.sourceFiles.length; ++i) {\n const srcFileKey = \"SourceFile\" + this.sourceFiles[i].n;\n const sourceFileObject = SourceFiles[srcFileKey];\n if (sourceFileObject == null) {\n console.error(`Invalid source file number: ${this.sourceFiles[i].n}`);\n continue;\n }\n applySourceFile(this.sourceFiles[i]);\n }\n applyExploit();\n this.updateSkillLevels();\n}\n\n/*************** Check for Faction Invitations *************/\n//This function sets the requirements to join a Faction. It checks whether the Player meets\n//those requirements and will return an array of all factions that the Player should\n//receive an invitation to\nexport function checkForFactionInvitations(this: IPlayer): Faction[] {\n const invitedFactions: Faction[] = []; //Array which will hold all Factions the player should be invited to\n\n const numAugmentations = this.augmentations.length;\n\n const allCompanies = Object.keys(this.jobs);\n const allPositions = Object.values(this.jobs);\n\n // Given a company name, safely returns the reputation (returns 0 if invalid company is specified)\n function getCompanyRep(companyName: string): number {\n const company = Companies[companyName];\n if (company == null) {\n return 0;\n } else {\n return company.playerReputation;\n }\n }\n\n // Helper function that returns a boolean indicating whether the Player meets\n // the requirements for the specified company. There are two requirements:\n // 1. High enough reputation\n // 2. Player is employed at the company\n function checkMegacorpRequirements(companyName: string, repNeeded = CONSTANTS.CorpFactionRepRequirement): boolean {\n return allCompanies.includes(companyName) && getCompanyRep(companyName) > repNeeded;\n }\n\n //Illuminati\n const illuminatiFac = Factions[FactionNames.Illuminati];\n if (\n !illuminatiFac.isBanned &&\n !illuminatiFac.isMember &&\n !illuminatiFac.alreadyInvited &&\n numAugmentations >= 30 &&\n this.money >= 150000000000 &&\n this.hacking >= 1500 &&\n this.strength >= 1200 &&\n this.defense >= 1200 &&\n this.dexterity >= 1200 &&\n this.agility >= 1200\n ) {\n invitedFactions.push(illuminatiFac);\n }\n\n //Daedalus\n const daedalusFac = Factions[FactionNames.Daedalus];\n if (\n !daedalusFac.isBanned &&\n !daedalusFac.isMember &&\n !daedalusFac.alreadyInvited &&\n numAugmentations >= BitNodeMultipliers.DaedalusAugsRequirement &&\n this.money >= 100000000000 &&\n (this.hacking >= 2500 ||\n (this.strength >= 1500 && this.defense >= 1500 && this.dexterity >= 1500 && this.agility >= 1500))\n ) {\n invitedFactions.push(daedalusFac);\n }\n\n //The Covenant\n const covenantFac = Factions[FactionNames.TheCovenant];\n if (\n !covenantFac.isBanned &&\n !covenantFac.isMember &&\n !covenantFac.alreadyInvited &&\n numAugmentations >= 20 &&\n this.money >= 75000000000 &&\n this.hacking >= 850 &&\n this.strength >= 850 &&\n this.defense >= 850 &&\n this.dexterity >= 850 &&\n this.agility >= 850\n ) {\n invitedFactions.push(covenantFac);\n }\n\n //ECorp\n const ecorpFac = Factions[FactionNames.ECorp];\n if (\n !ecorpFac.isBanned &&\n !ecorpFac.isMember &&\n !ecorpFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.AevumECorp)\n ) {\n invitedFactions.push(ecorpFac);\n }\n\n //MegaCorp\n const megacorpFac = Factions[FactionNames.MegaCorp];\n if (\n !megacorpFac.isBanned &&\n !megacorpFac.isMember &&\n !megacorpFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.Sector12MegaCorp)\n ) {\n invitedFactions.push(megacorpFac);\n }\n\n //Bachman & Associates\n const bachmanandassociatesFac = Factions[FactionNames.BachmanAssociates];\n if (\n !bachmanandassociatesFac.isBanned &&\n !bachmanandassociatesFac.isMember &&\n !bachmanandassociatesFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.AevumBachmanAndAssociates)\n ) {\n invitedFactions.push(bachmanandassociatesFac);\n }\n\n //Blade Industries\n const bladeindustriesFac = Factions[FactionNames.BladeIndustries];\n if (\n !bladeindustriesFac.isBanned &&\n !bladeindustriesFac.isMember &&\n !bladeindustriesFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.Sector12BladeIndustries)\n ) {\n invitedFactions.push(bladeindustriesFac);\n }\n\n //NWO\n const nwoFac = Factions[FactionNames.NWO];\n if (\n !nwoFac.isBanned &&\n !nwoFac.isMember &&\n !nwoFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.VolhavenNWO)\n ) {\n invitedFactions.push(nwoFac);\n }\n\n //Clarke Incorporated\n const clarkeincorporatedFac = Factions[FactionNames.ClarkeIncorporated];\n if (\n !clarkeincorporatedFac.isBanned &&\n !clarkeincorporatedFac.isMember &&\n !clarkeincorporatedFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.AevumClarkeIncorporated)\n ) {\n invitedFactions.push(clarkeincorporatedFac);\n }\n\n //OmniTek Incorporated\n const omnitekincorporatedFac = Factions[FactionNames.OmniTekIncorporated];\n if (\n !omnitekincorporatedFac.isBanned &&\n !omnitekincorporatedFac.isMember &&\n !omnitekincorporatedFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.VolhavenOmniTekIncorporated)\n ) {\n invitedFactions.push(omnitekincorporatedFac);\n }\n\n //Four Sigma\n const foursigmaFac = Factions[FactionNames.FourSigma];\n if (\n !foursigmaFac.isBanned &&\n !foursigmaFac.isMember &&\n !foursigmaFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.Sector12FourSigma)\n ) {\n invitedFactions.push(foursigmaFac);\n }\n\n //KuaiGong International\n const kuaigonginternationalFac = Factions[FactionNames.KuaiGongInternational];\n if (\n !kuaigonginternationalFac.isBanned &&\n !kuaigonginternationalFac.isMember &&\n !kuaigonginternationalFac.alreadyInvited &&\n checkMegacorpRequirements(LocationName.ChongqingKuaiGongInternational)\n ) {\n invitedFactions.push(kuaigonginternationalFac);\n }\n\n //Fulcrum Secret Technologies - If u've unlocked fulcrum secret technolgoies server and have a high rep with the company\n const fulcrumsecrettechonologiesFac = Factions[FactionNames.FulcrumSecretTechnologies];\n const fulcrumSecretServer = GetServer(SpecialServers.FulcrumSecretTechnologies);\n if (!(fulcrumSecretServer instanceof Server))\n throw new Error(`${FactionNames.FulcrumSecretTechnologies} should be normal server`);\n if (fulcrumSecretServer == null) {\n console.error(`Could not find ${FactionNames.FulcrumSecretTechnologies} Server`);\n } else if (\n !fulcrumsecrettechonologiesFac.isBanned &&\n !fulcrumsecrettechonologiesFac.isMember &&\n !fulcrumsecrettechonologiesFac.alreadyInvited &&\n fulcrumSecretServer.backdoorInstalled &&\n checkMegacorpRequirements(LocationName.AevumFulcrumTechnologies, 250e3)\n ) {\n invitedFactions.push(fulcrumsecrettechonologiesFac);\n }\n\n //BitRunners\n const bitrunnersFac = Factions[FactionNames.BitRunners];\n const bitrunnersServer = GetServer(SpecialServers.BitRunnersServer);\n if (!(bitrunnersServer instanceof Server)) throw new Error(`${FactionNames.BitRunners} should be normal server`);\n if (bitrunnersServer == null) {\n console.error(`Could not find ${FactionNames.BitRunners} Server`);\n } else if (\n !bitrunnersFac.isBanned &&\n !bitrunnersFac.isMember &&\n bitrunnersServer.backdoorInstalled &&\n !bitrunnersFac.alreadyInvited\n ) {\n invitedFactions.push(bitrunnersFac);\n }\n\n //The Black Hand\n\n const theblackhandFac = Factions[FactionNames.TheBlackHand];\n const blackhandServer = GetServer(SpecialServers.TheBlackHandServer);\n if (!(blackhandServer instanceof Server)) throw new Error(`${FactionNames.TheBlackHand} should be normal server`);\n if (blackhandServer == null) {\n console.error(`Could not find ${FactionNames.TheBlackHand} Server`);\n } else if (\n !theblackhandFac.isBanned &&\n !theblackhandFac.isMember &&\n blackhandServer.backdoorInstalled &&\n !theblackhandFac.alreadyInvited\n ) {\n invitedFactions.push(theblackhandFac);\n }\n\n //NiteSec\n const nitesecFac = Factions[FactionNames.NiteSec];\n const nitesecServer = GetServer(SpecialServers.NiteSecServer);\n if (!(nitesecServer instanceof Server)) throw new Error(`${FactionNames.NiteSec} should be normal server`);\n if (nitesecServer == null) {\n console.error(`Could not find ${FactionNames.NiteSec} Server`);\n } else if (\n !nitesecFac.isBanned &&\n !nitesecFac.isMember &&\n nitesecServer.backdoorInstalled &&\n !nitesecFac.alreadyInvited\n ) {\n invitedFactions.push(nitesecFac);\n }\n\n //Chongqing\n const chongqingFac = Factions[FactionNames.Chongqing];\n if (\n !chongqingFac.isBanned &&\n !chongqingFac.isMember &&\n !chongqingFac.alreadyInvited &&\n this.money >= 20000000 &&\n this.city == CityName.Chongqing\n ) {\n invitedFactions.push(chongqingFac);\n }\n\n //Sector-12\n const sector12Fac = Factions[FactionNames.Sector12];\n if (\n !sector12Fac.isBanned &&\n !sector12Fac.isMember &&\n !sector12Fac.alreadyInvited &&\n this.money >= 15000000 &&\n this.city == CityName.Sector12\n ) {\n invitedFactions.push(sector12Fac);\n }\n\n //New Tokyo\n const newtokyoFac = Factions[FactionNames.NewTokyo];\n if (\n !newtokyoFac.isBanned &&\n !newtokyoFac.isMember &&\n !newtokyoFac.alreadyInvited &&\n this.money >= 20000000 &&\n this.city == CityName.NewTokyo\n ) {\n invitedFactions.push(newtokyoFac);\n }\n\n //Aevum\n const aevumFac = Factions[FactionNames.Aevum];\n if (\n !aevumFac.isBanned &&\n !aevumFac.isMember &&\n !aevumFac.alreadyInvited &&\n this.money >= 40000000 &&\n this.city == CityName.Aevum\n ) {\n invitedFactions.push(aevumFac);\n }\n\n //Ishima\n const ishimaFac = Factions[FactionNames.Ishima];\n if (\n !ishimaFac.isBanned &&\n !ishimaFac.isMember &&\n !ishimaFac.alreadyInvited &&\n this.money >= 30000000 &&\n this.city == CityName.Ishima\n ) {\n invitedFactions.push(ishimaFac);\n }\n\n //Volhaven\n const volhavenFac = Factions[FactionNames.Volhaven];\n if (\n !volhavenFac.isBanned &&\n !volhavenFac.isMember &&\n !volhavenFac.alreadyInvited &&\n this.money >= 50000000 &&\n this.city == CityName.Volhaven\n ) {\n invitedFactions.push(volhavenFac);\n }\n\n //Speakers for the Dead\n const speakersforthedeadFac = Factions[FactionNames.SpeakersForTheDead];\n if (\n !speakersforthedeadFac.isBanned &&\n !speakersforthedeadFac.isMember &&\n !speakersforthedeadFac.alreadyInvited &&\n this.hacking >= 100 &&\n this.strength >= 300 &&\n this.defense >= 300 &&\n this.dexterity >= 300 &&\n this.agility >= 300 &&\n this.numPeopleKilled >= 30 &&\n this.karma <= -45 &&\n !allCompanies.includes(LocationName.Sector12CIA) &&\n !allCompanies.includes(LocationName.Sector12NSA)\n ) {\n invitedFactions.push(speakersforthedeadFac);\n }\n\n //The Dark Army\n const thedarkarmyFac = Factions[FactionNames.TheDarkArmy];\n if (\n !thedarkarmyFac.isBanned &&\n !thedarkarmyFac.isMember &&\n !thedarkarmyFac.alreadyInvited &&\n this.hacking >= 300 &&\n this.strength >= 300 &&\n this.defense >= 300 &&\n this.dexterity >= 300 &&\n this.agility >= 300 &&\n this.city == CityName.Chongqing &&\n this.numPeopleKilled >= 5 &&\n this.karma <= -45 &&\n !allCompanies.includes(LocationName.Sector12CIA) &&\n !allCompanies.includes(LocationName.Sector12NSA)\n ) {\n invitedFactions.push(thedarkarmyFac);\n }\n\n //The Syndicate\n const thesyndicateFac = Factions[FactionNames.TheSyndicate];\n if (\n !thesyndicateFac.isBanned &&\n !thesyndicateFac.isMember &&\n !thesyndicateFac.alreadyInvited &&\n this.hacking >= 200 &&\n this.strength >= 200 &&\n this.defense >= 200 &&\n this.dexterity >= 200 &&\n this.agility >= 200 &&\n (this.city == CityName.Aevum || this.city == CityName.Sector12) &&\n this.money >= 10000000 &&\n this.karma <= -90 &&\n !allCompanies.includes(LocationName.Sector12CIA) &&\n !allCompanies.includes(LocationName.Sector12NSA)\n ) {\n invitedFactions.push(thesyndicateFac);\n }\n\n //Silhouette\n const silhouetteFac = Factions[FactionNames.Silhouette];\n if (\n !silhouetteFac.isBanned &&\n !silhouetteFac.isMember &&\n !silhouetteFac.alreadyInvited &&\n (allPositions.includes(\"Chief Technology Officer\") ||\n allPositions.includes(\"Chief Financial Officer\") ||\n allPositions.includes(\"Chief Executive Officer\")) &&\n this.money >= 15000000 &&\n this.karma <= -22\n ) {\n invitedFactions.push(silhouetteFac);\n }\n\n //Tetrads\n const tetradsFac = Factions[FactionNames.Tetrads];\n if (\n !tetradsFac.isBanned &&\n !tetradsFac.isMember &&\n !tetradsFac.alreadyInvited &&\n (this.city == CityName.Chongqing || this.city == CityName.NewTokyo || this.city == CityName.Ishima) &&\n this.strength >= 75 &&\n this.defense >= 75 &&\n this.dexterity >= 75 &&\n this.agility >= 75 &&\n this.karma <= -18\n ) {\n invitedFactions.push(tetradsFac);\n }\n\n //SlumSnakes\n const slumsnakesFac = Factions[FactionNames.SlumSnakes];\n if (\n !slumsnakesFac.isBanned &&\n !slumsnakesFac.isMember &&\n !slumsnakesFac.alreadyInvited &&\n this.strength >= 30 &&\n this.defense >= 30 &&\n this.dexterity >= 30 &&\n this.agility >= 30 &&\n this.karma <= -9 &&\n this.money >= 1000000\n ) {\n invitedFactions.push(slumsnakesFac);\n }\n\n //Netburners\n const netburnersFac = Factions[FactionNames.Netburners];\n let totalHacknetRam = 0;\n let totalHacknetCores = 0;\n let totalHacknetLevels = 0;\n for (let i = 0; i < this.hacknetNodes.length; ++i) {\n const v = this.hacknetNodes[i];\n if (typeof v === \"string\") {\n const hserver = GetServer(v);\n if (hserver === null || !(hserver instanceof HacknetServer))\n throw new Error(\"player hacknet server was not HacknetServer\");\n totalHacknetLevels += hserver.level;\n totalHacknetRam += hserver.maxRam;\n totalHacknetCores += hserver.cores;\n } else {\n totalHacknetLevels += v.level;\n totalHacknetRam += v.ram;\n totalHacknetCores += v.cores;\n }\n }\n if (\n !netburnersFac.isBanned &&\n !netburnersFac.isMember &&\n !netburnersFac.alreadyInvited &&\n this.hacking >= 80 &&\n totalHacknetRam >= 8 &&\n totalHacknetCores >= 4 &&\n totalHacknetLevels >= 100\n ) {\n invitedFactions.push(netburnersFac);\n }\n\n //Tian Di Hui\n const tiandihuiFac = Factions[FactionNames.TianDiHui];\n if (\n !tiandihuiFac.isBanned &&\n !tiandihuiFac.isMember &&\n !tiandihuiFac.alreadyInvited &&\n this.money >= 1000000 &&\n this.hacking >= 50 &&\n (this.city == CityName.Chongqing || this.city == CityName.NewTokyo || this.city == CityName.Ishima)\n ) {\n invitedFactions.push(tiandihuiFac);\n }\n\n //CyberSec\n const cybersecFac = Factions[FactionNames.CyberSec];\n const cybersecServer = GetServer(SpecialServers.CyberSecServer);\n if (!(cybersecServer instanceof Server)) throw new Error(`${FactionNames.CyberSec} should be normal server`);\n if (cybersecServer == null) {\n console.error(`Could not find ${FactionNames.CyberSec} Server`);\n } else if (\n !cybersecFac.isBanned &&\n !cybersecFac.isMember &&\n cybersecServer.backdoorInstalled &&\n !cybersecFac.alreadyInvited\n ) {\n invitedFactions.push(cybersecFac);\n }\n\n return invitedFactions;\n}\n\n/************* BitNodes **************/\nexport function setBitNodeNumber(this: IPlayer, n: number): void {\n this.bitNodeN = n;\n}\n\nexport function queueAugmentation(this: IPlayer, name: string): void {\n for (const aug of this.queuedAugmentations) {\n if (aug.name == name) {\n console.warn(`tried to queue ${name} twice, this may be a bug`);\n return;\n }\n }\n\n for (const aug of this.augmentations) {\n if (aug.name == name) {\n console.warn(`tried to queue ${name} twice, this may be a bug`);\n return;\n }\n }\n\n this.queuedAugmentations.push(new PlayerOwnedAugmentation(name));\n}\n\n/************* Coding Contracts **************/\nexport function gainCodingContractReward(this: IPlayer, reward: ICodingContractReward, difficulty = 1): string {\n if (reward == null || reward.type == null) {\n return `No reward for this contract`;\n }\n\n /* eslint-disable no-case-declarations */\n switch (reward.type) {\n case CodingContractRewardType.FactionReputation:\n if (reward.name == null || !(Factions[reward.name] instanceof Faction)) {\n // If no/invalid faction was designated, just give rewards to all factions\n reward.type = CodingContractRewardType.FactionReputationAll;\n return this.gainCodingContractReward(reward);\n }\n const repGain = CONSTANTS.CodingContractBaseFactionRepGain * difficulty;\n Factions[reward.name].playerReputation += repGain;\n return `Gained ${repGain} faction reputation for ${reward.name}`;\n case CodingContractRewardType.FactionReputationAll:\n const totalGain = CONSTANTS.CodingContractBaseFactionRepGain * difficulty;\n\n // Ignore Bladeburners and other special factions for this calculation\n const specialFactions = [FactionNames.Bladeburners as string];\n const factions = this.factions.slice().filter((f) => {\n return !specialFactions.includes(f);\n });\n\n // If the player was only part of the special factions, we'll just give money\n if (factions.length == 0) {\n reward.type = CodingContractRewardType.Money;\n return this.gainCodingContractReward(reward, difficulty);\n }\n\n const gainPerFaction = Math.floor(totalGain / factions.length);\n for (const facName of factions) {\n if (!(Factions[facName] instanceof Faction)) {\n continue;\n }\n Factions[facName].playerReputation += gainPerFaction;\n }\n return `Gained ${gainPerFaction} reputation for each of the following factions: ${factions.toString()}`;\n case CodingContractRewardType.CompanyReputation: {\n if (reward.name == null || !(Companies[reward.name] instanceof Company)) {\n //If no/invalid company was designated, just give rewards to all factions\n reward.type = CodingContractRewardType.FactionReputationAll;\n return this.gainCodingContractReward(reward);\n }\n const repGain = CONSTANTS.CodingContractBaseCompanyRepGain * difficulty;\n Companies[reward.name].playerReputation += repGain;\n return `Gained ${repGain} company reputation for ${reward.name}`;\n }\n case CodingContractRewardType.Money:\n default: {\n const moneyGain = CONSTANTS.CodingContractBaseMoneyGain * difficulty * BitNodeMultipliers.CodingContractMoney;\n this.gainMoney(moneyGain, \"codingcontract\");\n return `Gained ${numeralWrapper.formatMoney(moneyGain)}`;\n }\n }\n /* eslint-enable no-case-declarations */\n}\n\nexport function travel(this: IPlayer, to: CityName): boolean {\n if (Cities[to] == null) {\n console.warn(`Player.travel() called with invalid city: ${to}`);\n return false;\n }\n this.city = to;\n\n return true;\n}\n\nexport function gotoLocation(this: IPlayer, to: LocationName): boolean {\n if (Locations[to] == null) {\n console.warn(`Player.gotoLocation() called with invalid location: ${to}`);\n return false;\n }\n this.location = to;\n\n return true;\n}\n\nexport function canAccessGrafting(this: IPlayer): boolean {\n return this.bitNodeN === 10 || this.sourceFileLvl(10) > 0;\n}\n\nexport function giveExploit(this: IPlayer, exploit: Exploit): void {\n if (!this.exploits.includes(exploit)) {\n this.exploits.push(exploit);\n SnackbarEvents.emit(\"SF -1 acquired!\", ToastVariant.SUCCESS, 2000);\n }\n}\n\nexport function giveAchievement(this: IPlayer, achievementId: string): void {\n const achievement = achievements[achievementId];\n if (!achievement) return;\n if (!this.achievements.map((a) => a.ID).includes(achievementId)) {\n this.achievements.push({ ID: achievementId, unlockedOn: new Date().getTime() });\n SnackbarEvents.emit(`Unlocked Achievement: \"${achievement.Name}\"`, ToastVariant.SUCCESS, 2000);\n }\n}\n\nexport function getIntelligenceBonus(this: IPlayer, weight: number): number {\n return calculateIntelligenceBonus(this.intelligence, weight);\n}\n\nexport function getCasinoWinnings(this: IPlayer): number {\n return this.moneySourceA.casino;\n}\n\nexport function getMult(this: IPlayer, name: string): number {\n if (!this.hasOwnProperty(name)) return 1;\n return (this as any)[name];\n}\n\nexport function setMult(this: IPlayer, name: string, mult: number): void {\n if (!this.hasOwnProperty(name)) return;\n (this as any)[name] = mult;\n}\n\nexport function canAccessCotMG(this: IPlayer): boolean {\n return this.bitNodeN === 13 || this.sourceFileLvl(13) > 0;\n}\n\nexport function sourceFileLvl(this: IPlayer, n: number): number {\n const sf = this.sourceFiles.find((sf) => sf.n === n);\n if (!sf) return 0;\n return sf.lvl;\n}\n","import React, { useContext } from \"react\";\nimport { ICorporation } from \"../ICorporation\";\nimport { IIndustry } from \"../IIndustry\";\n\nexport const Context: {\n Corporation: React.Context;\n Division: React.Context;\n} = {\n Corporation: React.createContext({} as ICorporation),\n Division: React.createContext({} as IIndustry),\n};\n\nexport const useCorporation = (): ICorporation => useContext(Context.Corporation);\nexport const useDivision = (): IIndustry => useContext(Context.Division);\n","import React from \"react\";\nimport { ResearchTree } from \"./ResearchTree\";\nimport { ICorporation } from \"./ICorporation\";\nimport { getBaseResearchTreeCopy, getProductIndustryResearchTreeCopy } from \"./data/BaseResearchTree\";\nimport { MoneyCost } from \"./ui/MoneyCost\";\n\ninterface IIndustryMap {\n [key: string]: T | undefined;\n Energy: T;\n Utilities: T;\n Agriculture: T;\n Fishing: T;\n Mining: T;\n Food: T;\n Tobacco: T;\n Chemical: T;\n Pharmaceutical: T;\n Computer: T;\n Robotics: T;\n Software: T;\n Healthcare: T;\n RealEstate: T;\n}\n\n// Map of official names for each Industry\nexport const Industries: IIndustryMap = {\n Energy: \"Energy\",\n Utilities: \"Water Utilities\",\n Agriculture: \"Agriculture\",\n Fishing: \"Fishing\",\n Mining: \"Mining\",\n Food: \"Food\",\n Tobacco: \"Tobacco\",\n Chemical: \"Chemical\",\n Pharmaceutical: \"Pharmaceutical\",\n Computer: \"Computer Hardware\",\n Robotics: \"Robotics\",\n Software: \"Software\",\n Healthcare: \"Healthcare\",\n RealEstate: \"RealEstate\",\n};\n\n// Map of how much money it takes to start each industry\nexport const IndustryStartingCosts: IIndustryMap = {\n Energy: 225e9,\n Utilities: 150e9,\n Agriculture: 40e9,\n Fishing: 80e9,\n Mining: 300e9,\n Food: 10e9,\n Tobacco: 20e9,\n Chemical: 70e9,\n Pharmaceutical: 200e9,\n Computer: 500e9,\n Robotics: 1e12,\n Software: 25e9,\n Healthcare: 750e9,\n RealEstate: 600e9,\n};\n\n// Map of description for each industry\nexport const IndustryDescriptions: IIndustryMap<(corp: ICorporation) => React.ReactElement> = {\n Energy: (corp: ICorporation) => (\n <>\n Engage in the production and distribution of energy.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Utilities: (corp: ICorporation) => (\n <>\n Distribute water and provide wastewater services.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Agriculture: (corp: ICorporation) => (\n <>\n Cultivate crops and breed livestock to produce food.\n \n \n Starting cost: \n \n Recommended starting Industry: YES\n >\n ),\n Fishing: (corp: ICorporation) => (\n <>\n Produce food through the breeding and processing of fish and fish products.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Mining: (corp: ICorporation) => (\n <>\n Extract and process metals from the earth.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Food: (corp: ICorporation) => (\n <>\n Create your own restaurants all around the world.\n \n \n Starting cost: \n \n Recommended starting Industry: YES\n >\n ),\n Tobacco: (corp: ICorporation) => (\n <>\n Create and distribute tobacco and tobacco-related products.\n \n \n Starting cost: \n \n Recommended starting Industry: YES\n >\n ),\n Chemical: (corp: ICorporation) => (\n <>\n Produce industrial chemicals.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Pharmaceutical: (corp: ICorporation) => (\n <>\n Discover, develop, and create new pharmaceutical drugs.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Computer: (corp: ICorporation) => (\n <>\n Develop and manufacture new computer hardware and networking infrastructures.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Robotics: (corp: ICorporation) => (\n <>\n Develop and create robots.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n Software: (corp: ICorporation) => (\n <>\n Develop computer software and create AI Cores.\n \n \n Starting cost: \n \n Recommended starting Industry: YES\n >\n ),\n Healthcare: (corp: ICorporation) => (\n <>\n Create and manage hospitals.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n RealEstate: (corp: ICorporation) => (\n <>\n Develop and manage real estate properties.\n \n \n Starting cost: \n \n Recommended starting Industry: NO\n >\n ),\n};\n\n// Map of available Research for each Industry. This data is held in a\n// ResearchTree object\nexport const IndustryResearchTrees: IIndustryMap = {\n Energy: getBaseResearchTreeCopy(),\n Utilities: getBaseResearchTreeCopy(),\n Agriculture: getBaseResearchTreeCopy(),\n Fishing: getBaseResearchTreeCopy(),\n Mining: getBaseResearchTreeCopy(),\n Food: getProductIndustryResearchTreeCopy(),\n Tobacco: getProductIndustryResearchTreeCopy(),\n Chemical: getBaseResearchTreeCopy(),\n Pharmaceutical: getProductIndustryResearchTreeCopy(),\n Computer: getProductIndustryResearchTreeCopy(),\n Robotics: getProductIndustryResearchTreeCopy(),\n Software: getProductIndustryResearchTreeCopy(),\n Healthcare: getProductIndustryResearchTreeCopy(),\n RealEstate: getProductIndustryResearchTreeCopy(),\n};\n\nexport function resetIndustryResearchTrees(): void {\n IndustryResearchTrees.Energy = getBaseResearchTreeCopy();\n IndustryResearchTrees.Utilities = getBaseResearchTreeCopy();\n IndustryResearchTrees.Agriculture = getBaseResearchTreeCopy();\n IndustryResearchTrees.Fishing = getBaseResearchTreeCopy();\n IndustryResearchTrees.Mining = getBaseResearchTreeCopy();\n IndustryResearchTrees.Food = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Tobacco = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Chemical = getBaseResearchTreeCopy();\n IndustryResearchTrees.Pharmaceutical = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Computer = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Robotics = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Software = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.Healthcare = getProductIndustryResearchTreeCopy();\n IndustryResearchTrees.RealEstate = getProductIndustryResearchTreeCopy();\n}\n","/**\n * Enum defining the different types of possible locations\n */\nexport enum LocationType {\n Company,\n Gym,\n Hospital,\n Slums,\n Special, // This location has special options/activities (e.g. Bladeburner, Re-sleeving)\n StockMarket,\n TechVendor,\n TravelAgency,\n University,\n Casino,\n}\n","/**\n * Generic helper/utility functions for the Hacknet mechanic:\n * - Purchase nodes/upgrades\n * - Calculating maximum number of upgrades\n * - Processing Hacknet earnings\n * - Updating Hash Manager capacity\n * - Purchasing hash upgrades\n *\n * TODO Should probably split the different types of functions into their own modules\n */\nimport { HacknetNode } from \"./HacknetNode\";\nimport { calculateNodeCost } from \"./formulas/HacknetNodes\";\nimport { calculateServerCost } from \"./formulas/HacknetServers\";\nimport { HacknetNodeConstants, HacknetServerConstants } from \"./data/Constants\";\nimport { HacknetServer } from \"./HacknetServer\";\nimport { HashManager } from \"./HashManager\";\nimport { HashUpgrades } from \"./HashUpgrades\";\n\nimport { generateRandomContract } from \"../CodingContractGenerator\";\nimport { iTutorialSteps, iTutorialNextStep, ITutorial } from \"../InteractiveTutorial\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { GetServer } from \"../Server/AllServers\";\nimport { Server } from \"../Server/Server\";\n\n// Returns a boolean indicating whether the player has Hacknet Servers\n// (the upgraded form of Hacknet Nodes)\nexport function hasHacknetServers(player: IPlayer): boolean {\n return player.bitNodeN === 9 || player.sourceFileLvl(9) > 0;\n}\n\nexport function purchaseHacknet(player: IPlayer): number {\n /* INTERACTIVE TUTORIAL */\n if (ITutorial.isRunning) {\n if (ITutorial.currStep === iTutorialSteps.HacknetNodesIntroduction) {\n iTutorialNextStep();\n } else {\n return -1;\n }\n }\n /* END INTERACTIVE TUTORIAL */\n\n const numOwned = player.hacknetNodes.length;\n if (hasHacknetServers(player)) {\n const cost = getCostOfNextHacknetServer(player);\n if (isNaN(cost)) {\n throw new Error(`Calculated cost of purchasing HacknetServer is NaN`);\n }\n\n if (!player.canAfford(cost) || numOwned >= HacknetServerConstants.MaxServers) {\n return -1;\n }\n player.loseMoney(cost, \"hacknet_expenses\");\n player.createHacknetServer();\n updateHashManagerCapacity(player);\n\n return numOwned;\n } else {\n const cost = getCostOfNextHacknetNode(player);\n if (isNaN(cost)) {\n throw new Error(`Calculated cost of purchasing HacknetNode is NaN`);\n }\n\n if (!player.canAfford(cost)) {\n return -1;\n }\n\n // Auto generate a name for the Node\n const name = \"hacknet-node-\" + numOwned;\n const node = new HacknetNode(name, player.hacknet_node_money_mult);\n\n player.loseMoney(cost, \"hacknet_expenses\");\n player.hacknetNodes.push(node);\n\n return numOwned;\n }\n}\n\nexport function hasMaxNumberHacknetServers(player: IPlayer): boolean {\n return hasHacknetServers(player) && player.hacknetNodes.length >= HacknetServerConstants.MaxServers;\n}\n\nexport function getCostOfNextHacknetNode(player: IPlayer): number {\n return calculateNodeCost(player.hacknetNodes.length + 1, player.hacknet_node_purchase_cost_mult);\n}\n\nexport function getCostOfNextHacknetServer(player: IPlayer): number {\n return calculateServerCost(player.hacknetNodes.length + 1, player.hacknet_node_purchase_cost_mult);\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's level\nexport function getMaxNumberLevelUpgrades(\n player: IPlayer,\n nodeObj: HacknetNode | HacknetServer,\n maxLevel: number,\n): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberLevelUpgrades() called without maxLevel arg`);\n }\n\n if (player.money < nodeObj.calculateLevelUpgradeCost(1, player.hacknet_node_level_cost_mult)) {\n return 0;\n }\n\n let min = 1;\n let max = maxLevel - 1;\n const levelsToMax = maxLevel - nodeObj.level;\n if (player.money > nodeObj.calculateLevelUpgradeCost(levelsToMax, player.hacknet_node_level_cost_mult)) {\n return levelsToMax;\n }\n\n while (min <= max) {\n const curr = ((min + max) / 2) | 0;\n if (\n curr !== maxLevel &&\n player.money > nodeObj.calculateLevelUpgradeCost(curr, player.hacknet_node_level_cost_mult) &&\n player.money < nodeObj.calculateLevelUpgradeCost(curr + 1, player.hacknet_node_level_cost_mult)\n ) {\n return Math.min(levelsToMax, curr);\n } else if (player.money < nodeObj.calculateLevelUpgradeCost(curr, player.hacknet_node_level_cost_mult)) {\n max = curr - 1;\n } else if (player.money > nodeObj.calculateLevelUpgradeCost(curr, player.hacknet_node_level_cost_mult)) {\n min = curr + 1;\n } else {\n return Math.min(levelsToMax, curr);\n }\n }\n return 0;\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's RAM\nexport function getMaxNumberRamUpgrades(\n player: IPlayer,\n nodeObj: HacknetNode | HacknetServer,\n maxLevel: number,\n): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberRamUpgrades() called without maxLevel arg`);\n }\n\n if (player.money < nodeObj.calculateRamUpgradeCost(1, player.hacknet_node_ram_cost_mult)) {\n return 0;\n }\n\n let levelsToMax;\n if (nodeObj instanceof HacknetServer) {\n levelsToMax = Math.round(Math.log2(maxLevel / nodeObj.maxRam));\n } else {\n levelsToMax = Math.round(Math.log2(maxLevel / nodeObj.ram));\n }\n if (player.money > nodeObj.calculateRamUpgradeCost(levelsToMax, player.hacknet_node_ram_cost_mult)) {\n return levelsToMax;\n }\n\n //We'll just loop until we find the max\n for (let i = levelsToMax - 1; i >= 0; --i) {\n if (player.money > nodeObj.calculateRamUpgradeCost(i, player.hacknet_node_ram_cost_mult)) {\n return i;\n }\n }\n return 0;\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's cores\nexport function getMaxNumberCoreUpgrades(\n player: IPlayer,\n nodeObj: HacknetNode | HacknetServer,\n maxLevel: number,\n): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberCoreUpgrades() called without maxLevel arg`);\n }\n\n if (player.money < nodeObj.calculateCoreUpgradeCost(1, player.hacknet_node_core_cost_mult)) {\n return 0;\n }\n\n let min = 1;\n let max = maxLevel - 1;\n const levelsToMax = maxLevel - nodeObj.cores;\n if (player.money > nodeObj.calculateCoreUpgradeCost(levelsToMax, player.hacknet_node_core_cost_mult)) {\n return levelsToMax;\n }\n\n // Use a binary search to find the max possible number of upgrades\n while (min <= max) {\n const curr = ((min + max) / 2) | 0;\n if (\n curr != maxLevel &&\n player.money > nodeObj.calculateCoreUpgradeCost(curr, player.hacknet_node_core_cost_mult) &&\n player.money < nodeObj.calculateCoreUpgradeCost(curr + 1, player.hacknet_node_core_cost_mult)\n ) {\n return Math.min(levelsToMax, curr);\n } else if (player.money < nodeObj.calculateCoreUpgradeCost(curr, player.hacknet_node_core_cost_mult)) {\n max = curr - 1;\n } else if (player.money > nodeObj.calculateCoreUpgradeCost(curr, player.hacknet_node_core_cost_mult)) {\n min = curr + 1;\n } else {\n return Math.min(levelsToMax, curr);\n }\n }\n\n return 0;\n}\n\n// Calculate the maximum number of times the Player can afford to upgrade a Hacknet Node's cache\nexport function getMaxNumberCacheUpgrades(player: IPlayer, nodeObj: HacknetServer, maxLevel: number): number {\n if (maxLevel == null) {\n throw new Error(`getMaxNumberCacheUpgrades() called without maxLevel arg`);\n }\n\n if (!player.canAfford(nodeObj.calculateCacheUpgradeCost(1))) {\n return 0;\n }\n\n let min = 1;\n let max = maxLevel - 1;\n const levelsToMax = maxLevel - nodeObj.cache;\n if (player.canAfford(nodeObj.calculateCacheUpgradeCost(levelsToMax))) {\n return levelsToMax;\n }\n\n // Use a binary search to find the max possible number of upgrades\n while (min <= max) {\n const curr = ((min + max) / 2) | 0;\n if (\n curr != maxLevel &&\n player.canAfford(nodeObj.calculateCacheUpgradeCost(curr)) &&\n !player.canAfford(nodeObj.calculateCacheUpgradeCost(curr + 1))\n ) {\n return Math.min(levelsToMax, curr);\n } else if (!player.canAfford(nodeObj.calculateCacheUpgradeCost(curr))) {\n max = curr - 1;\n } else if (player.canAfford(nodeObj.calculateCacheUpgradeCost(curr))) {\n min = curr + 1;\n } else {\n return Math.min(levelsToMax, curr);\n }\n }\n\n return 0;\n}\n\nexport function purchaseLevelUpgrade(player: IPlayer, node: HacknetNode | HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateLevelUpgradeCost(sanitizedLevels, player.hacknet_node_level_cost_mult);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n const isServer = node instanceof HacknetServer;\n\n // If we're at max level, return false\n if (node.level >= (isServer ? HacknetServerConstants.MaxLevel : HacknetNodeConstants.MaxLevel)) {\n return false;\n }\n\n // If the number of specified upgrades would exceed the max level, calculate\n // the maximum number of upgrades and use that\n if (node.level + sanitizedLevels > (isServer ? HacknetServerConstants.MaxLevel : HacknetNodeConstants.MaxLevel)) {\n const diff = Math.max(0, (isServer ? HacknetServerConstants.MaxLevel : HacknetNodeConstants.MaxLevel) - node.level);\n return purchaseLevelUpgrade(player, node, diff);\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost, \"hacknet_expenses\");\n node.upgradeLevel(sanitizedLevels, player.hacknet_node_money_mult);\n\n return true;\n}\n\nexport function purchaseRamUpgrade(player: IPlayer, node: HacknetNode | HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateRamUpgradeCost(sanitizedLevels, player.hacknet_node_ram_cost_mult);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n if (node instanceof HacknetServer && node.maxRam >= HacknetServerConstants.MaxRam) {\n return false;\n }\n\n if (node instanceof HacknetNode && node.ram >= HacknetNodeConstants.MaxRam) {\n return false;\n }\n\n // If the number of specified upgrades would exceed the max RAM, calculate the\n // max possible number of upgrades and use that\n if (node instanceof HacknetServer) {\n if (node.maxRam * Math.pow(2, sanitizedLevels) > HacknetServerConstants.MaxRam) {\n const diff = Math.max(0, Math.log2(Math.round(HacknetServerConstants.MaxRam / node.maxRam)));\n return purchaseRamUpgrade(player, node, diff);\n }\n } else if (node instanceof HacknetNode) {\n if (node.ram * Math.pow(2, sanitizedLevels) > HacknetNodeConstants.MaxRam) {\n const diff = Math.max(0, Math.log2(Math.round(HacknetNodeConstants.MaxRam / node.ram)));\n return purchaseRamUpgrade(player, node, diff);\n }\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost, \"hacknet_expenses\");\n node.upgradeRam(sanitizedLevels, player.hacknet_node_money_mult);\n\n return true;\n}\n\nexport function purchaseCoreUpgrade(player: IPlayer, node: HacknetNode | HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateCoreUpgradeCost(sanitizedLevels, player.hacknet_node_core_cost_mult);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n const isServer = node instanceof HacknetServer;\n\n // Fail if we're already at max\n if (node.cores >= (isServer ? HacknetServerConstants.MaxCores : HacknetNodeConstants.MaxCores)) {\n return false;\n }\n\n // If the specified number of upgrades would exceed the max Cores, calculate\n // the max possible number of upgrades and use that\n if (node.cores + sanitizedLevels > (isServer ? HacknetServerConstants.MaxCores : HacknetNodeConstants.MaxCores)) {\n const diff = Math.max(0, (isServer ? HacknetServerConstants.MaxCores : HacknetNodeConstants.MaxCores) - node.cores);\n return purchaseCoreUpgrade(player, node, diff);\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost, \"hacknet_expenses\");\n node.upgradeCore(sanitizedLevels, player.hacknet_node_money_mult);\n\n return true;\n}\n\nexport function purchaseCacheUpgrade(player: IPlayer, node: HacknetServer, levels = 1): boolean {\n const sanitizedLevels = Math.round(levels);\n const cost = node.calculateCacheUpgradeCost(sanitizedLevels);\n if (isNaN(cost) || cost <= 0 || sanitizedLevels < 0) {\n return false;\n }\n\n if (!(node instanceof HacknetServer)) {\n console.warn(`purchaseCacheUpgrade() called for a non-HacknetNode`);\n return false;\n }\n\n // Fail if we're already at max\n if (node.cache + sanitizedLevels > HacknetServerConstants.MaxCache) {\n const diff = Math.max(0, HacknetServerConstants.MaxCache - node.cache);\n return purchaseCacheUpgrade(player, node, diff);\n }\n\n if (!player.canAfford(cost)) {\n return false;\n }\n\n player.loseMoney(cost, \"hacknet_expenses\");\n node.upgradeCache(sanitizedLevels);\n\n return true;\n}\n\nexport function processHacknetEarnings(player: IPlayer, numCycles: number): number {\n // Determine if player has Hacknet Nodes or Hacknet Servers, then\n // call the appropriate function\n if (player.hacknetNodes.length === 0) {\n return 0;\n }\n if (hasHacknetServers(player)) {\n return processAllHacknetServerEarnings(player, numCycles);\n } else if (player.hacknetNodes[0] instanceof HacknetNode) {\n return processAllHacknetNodeEarnings(player, numCycles);\n } else {\n return 0;\n }\n}\n\nfunction processAllHacknetNodeEarnings(player: IPlayer, numCycles: number): number {\n let total = 0;\n for (let i = 0; i < player.hacknetNodes.length; ++i) {\n const node = player.hacknetNodes[i];\n if (typeof node === \"string\") throw new Error(\"player node should not be ip string\");\n total += processSingleHacknetNodeEarnings(player, numCycles, node);\n }\n\n return total;\n}\n\nfunction processSingleHacknetNodeEarnings(player: IPlayer, numCycles: number, nodeObj: HacknetNode): number {\n const totalEarnings = nodeObj.process(numCycles);\n player.gainMoney(totalEarnings, \"hacknet\");\n\n return totalEarnings;\n}\n\nfunction processAllHacknetServerEarnings(player: IPlayer, numCycles: number): number {\n if (!(player.hashManager instanceof HashManager)) {\n throw new Error(`Player does not have a HashManager (should be in 'hashManager' prop)`);\n }\n\n let hashes = 0;\n for (let i = 0; i < player.hacknetNodes.length; ++i) {\n // hacknetNodes array only contains the IP addresses of the servers.\n // Also, update the hash rate before processing\n const ip = player.hacknetNodes[i];\n if (ip instanceof HacknetNode) throw new Error(`player nodes should not be HacketNode`);\n const hserver = GetServer(ip);\n if (!(hserver instanceof HacknetServer)) throw new Error(`player nodes shoud not be Server`);\n hserver.updateHashRate(player.hacknet_node_money_mult);\n const h = hserver.process(numCycles);\n hashes += h;\n }\n\n const wastedHashes = player.hashManager.storeHashes(hashes);\n if (wastedHashes > 0) {\n const upgrade = HashUpgrades[\"Sell for Money\"];\n if (upgrade === null) throw new Error(\"Could not get the hash upgrade\");\n if (!upgrade.cost) throw new Error(\"Upgrade is not properly configured\");\n\n const multiplier = Math.floor(wastedHashes / upgrade.cost);\n if (multiplier > 0) {\n player.gainMoney(upgrade.value * multiplier, \"hacknet\");\n }\n }\n\n return hashes;\n}\n\nexport function updateHashManagerCapacity(player: IPlayer): void {\n if (!(player.hashManager instanceof HashManager)) {\n console.error(`Player does not have a HashManager`);\n return;\n }\n\n const nodes = player.hacknetNodes;\n if (nodes.length === 0) {\n player.hashManager.updateCapacity(0);\n return;\n }\n\n let total = 0;\n for (let i = 0; i < nodes.length; ++i) {\n if (typeof nodes[i] !== \"string\") {\n player.hashManager.updateCapacity(0);\n return;\n }\n const ip = nodes[i];\n if (ip instanceof HacknetNode) throw new Error(`player nodes should be string but isn't`);\n const h = GetServer(ip);\n if (!(h instanceof HacknetServer)) {\n player.hashManager.updateCapacity(0);\n return;\n }\n\n total += h.hashCapacity;\n }\n\n player.hashManager.updateCapacity(total);\n}\n\nexport function purchaseHashUpgrade(player: IPlayer, upgName: string, upgTarget: string): boolean {\n if (!(player.hashManager instanceof HashManager)) {\n console.error(`Player does not have a HashManager`);\n return false;\n }\n\n // HashManager handles the transaction. This just needs to actually implement\n // the effects of the upgrade\n if (player.hashManager.upgrade(upgName)) {\n const upg = HashUpgrades[upgName];\n\n switch (upgName) {\n case \"Sell for Money\": {\n player.gainMoney(upg.value, \"hacknet\");\n break;\n }\n case \"Sell for Corporation Funds\": {\n const corp = player.corporation;\n if (corp === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n corp.funds = corp.funds + upg.value;\n break;\n }\n case \"Reduce Minimum Security\": {\n try {\n const target = GetServer(upgTarget);\n if (target == null) {\n console.error(`Invalid target specified in purchaseHashUpgrade(): ${upgTarget}`);\n return false;\n }\n if (!(target instanceof Server)) throw new Error(`'${upgTarget}' is not a normal server.`);\n\n target.changeMinimumSecurity(upg.value, true);\n } catch (e) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n break;\n }\n case \"Increase Maximum Money\": {\n try {\n const target = GetServer(upgTarget);\n if (target == null) {\n console.error(`Invalid target specified in purchaseHashUpgrade(): ${upgTarget}`);\n return false;\n }\n if (!(target instanceof Server)) throw new Error(`'${upgTarget}' is not a normal server.`);\n\n target.changeMaximumMoney(upg.value);\n } catch (e) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n break;\n }\n case \"Improve Studying\": {\n // Multiplier handled by HashManager\n break;\n }\n case \"Improve Gym Training\": {\n // Multiplier handled by HashManager\n break;\n }\n case \"Exchange for Corporation Research\": {\n // This will throw if player doesn't have a corporation\n const corp = player.corporation;\n if (corp === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n for (const division of corp.divisions) {\n division.sciResearch.qty += upg.value;\n }\n break;\n }\n case \"Exchange for Bladeburner Rank\": {\n // This will throw if player isnt in Bladeburner\n const bladeburner = player.bladeburner;\n if (bladeburner === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n bladeburner.changeRank(player, upg.value);\n break;\n }\n case \"Exchange for Bladeburner SP\": {\n // This will throw if player isnt in Bladeburner\n const bladeburner = player.bladeburner;\n if (bladeburner === null) {\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n\n bladeburner.skillPoints += upg.value;\n break;\n }\n case \"Generate Coding Contract\": {\n generateRandomContract();\n break;\n }\n default:\n console.warn(`Unrecognized upgrade name ${upgName}. Upgrade has no effect`);\n player.hashManager.refundUpgrade(upgName);\n return false;\n }\n\n return true;\n }\n\n return false;\n}\n","export enum BlackOperationNames {\n OperationTyphoon = \"Operation Typhoon\",\n OperationZero = \"Operation Zero\",\n OperationX = \"Operation X\",\n OperationTitan = \"Operation Titan\",\n OperationAres = \"Operation Ares\",\n OperationArchangel = \"Operation Archangel\",\n OperationJuggernaut = \"Operation Juggernaut\",\n OperationRedDragon = \"Operation Red Dragon\",\n OperationK = \"Operation K\",\n OperationDeckard = \"Operation Deckard\",\n OperationTyrell = \"Operation Tyrell\",\n OperationWallace = \"Operation Wallace\",\n OperationShoulderOfOrion = \"Operation Shoulder of Orion\",\n OperationHyron = \"Operation Hyron\",\n OperationMorpheus = \"Operation Morpheus\",\n OperationIonStorm = \"Operation Ion Storm\",\n OperationAnnihilus = \"Operation Annihilus\",\n OperationUltron = \"Operation Ultron\",\n OperationCenturion = \"Operation Centurion\",\n OperationVindictus = \"Operation Vindictus\",\n OperationDaedalus = \"Operation Daedalus\",\n}\n","import React from \"react\";\nimport { TableCell as MuiTableCell, TableCellProps, Table as MuiTable, TableProps } from \"@mui/material\";\n\nimport makeStyles from \"@mui/styles/makeStyles\";\n\nconst useStyles = makeStyles({\n root: {\n borderBottom: \"none\",\n },\n small: {\n width: \"1px\",\n },\n});\n\nexport const TableCell: React.FC = (props: TableCellProps) => {\n return (\n \n );\n};\n\nexport const Table: React.FC = (props: TableProps) => {\n return (\n \n );\n};\n","import { CityName } from \"./../../Locations/data/CityNames\";\nexport const BladeburnerConstants: {\n CityNames: string[];\n CyclesPerSecond: number;\n StaminaGainPerSecond: number;\n BaseStaminaLoss: number;\n MaxStaminaToGainFactor: number;\n DifficultyToTimeFactor: number;\n DiffMultExponentialFactor: number;\n DiffMultLinearFactor: number;\n EffAgiLinearFactor: number;\n EffDexLinearFactor: number;\n EffAgiExponentialFactor: number;\n EffDexExponentialFactor: number;\n BaseRecruitmentTimeNeeded: number;\n PopulationThreshold: number;\n PopulationExponent: number;\n ChaosThreshold: number;\n BaseStatGain: number;\n BaseIntGain: number;\n ActionCountGrowthPeriod: number;\n RankToFactionRepFactor: number;\n RankNeededForFaction: number;\n ContractSuccessesPerLevel: number;\n OperationSuccessesPerLevel: number;\n RanksPerSkillPoint: number;\n ContractBaseMoneyGain: number;\n HrcHpGain: number;\n HrcStaminaGain: number;\n} = {\n CityNames: [\n CityName.Aevum,\n CityName.Chongqing,\n CityName.Sector12,\n CityName.NewTokyo,\n CityName.Ishima,\n CityName.Volhaven,\n ],\n CyclesPerSecond: 5, // Game cycle is 200 ms\n\n StaminaGainPerSecond: 0.0085,\n BaseStaminaLoss: 0.285, // Base stamina loss per action. Increased based on difficulty\n MaxStaminaToGainFactor: 70000, // Max Stamina is divided by this to get bonus stamina gain\n\n DifficultyToTimeFactor: 10, // Action Difficulty divided by this to get base action time\n\n /**\n * The difficulty multiplier affects stamina loss and hp loss of an action. Also affects\n * experience gain. Its formula is:\n * difficulty ^ exponentialFactor + difficulty / linearFactor\n */\n DiffMultExponentialFactor: 0.28,\n DiffMultLinearFactor: 650,\n\n /**\n * These factors are used to calculate action time.\n * They affect how much action time is reduced based on your agility and dexterity\n */\n EffAgiLinearFactor: 10e3,\n EffDexLinearFactor: 10e3,\n EffAgiExponentialFactor: 0.04,\n EffDexExponentialFactor: 0.035,\n\n BaseRecruitmentTimeNeeded: 300, // Base time needed (s) to complete a Recruitment action\n\n PopulationThreshold: 1e9, // Population which determines baseline success rate\n PopulationExponent: 0.7, // Exponent that influences how different populations affect success rate\n ChaosThreshold: 50, // City chaos level after which it starts making tasks harder\n\n BaseStatGain: 1, // Base stat gain per second\n BaseIntGain: 0.003, // Base intelligence stat gain\n\n ActionCountGrowthPeriod: 480, // Time (s) it takes for action count to grow by its specified value\n\n RankToFactionRepFactor: 2, // Delta Faction Rep = this * Delta Rank\n RankNeededForFaction: 25,\n\n ContractSuccessesPerLevel: 3, // How many successes you need to level up a contract\n OperationSuccessesPerLevel: 2.5, // How many successes you need to level up an op\n\n RanksPerSkillPoint: 3, // How many ranks needed to get 1 Skill Point\n\n ContractBaseMoneyGain: 250e3, // Base Money Gained per contract\n\n HrcHpGain: 2, // HP Gained from Hyperbolic Regeneration chamber\n HrcStaminaGain: 1, // Percentage Stamina gained from Hyperbolic Regeneration Chamber\n};\n","import { IPlayer } from \"src/PersonObjects/IPlayer\";\nimport { MaterialSizes } from \"./MaterialSizes\";\nimport { ICorporation } from \"./ICorporation\";\nimport { IIndustry } from \"./IIndustry\";\nimport { IndustryStartingCosts, IndustryResearchTrees } from \"./IndustryData\";\nimport { Industry } from \"./Industry\";\nimport { CorporationConstants } from \"./data/Constants\";\nimport { OfficeSpace } from \"./OfficeSpace\";\nimport { Material } from \"./Material\";\nimport { Product } from \"./Product\";\nimport { Warehouse } from \"./Warehouse\";\nimport { CorporationUnlockUpgrade } from \"./data/CorporationUnlockUpgrades\";\nimport { CorporationUpgrade } from \"./data/CorporationUpgrades\";\nimport { Cities } from \"../Locations/Cities\";\nimport { EmployeePositions } from \"./EmployeePositions\";\nimport { Employee } from \"./Employee\";\nimport { IndustryUpgrades } from \"./IndustryUpgrades\";\nimport { ResearchMap } from \"./ResearchMap\";\nimport { isRelevantMaterial } from \"./ui/Helpers\";\n\nexport function NewIndustry(corporation: ICorporation, industry: string, name: string): void {\n if (corporation.divisions.find(({ type }) => industry == type))\n throw new Error(`You have already expanded into the ${industry} industry!`);\n\n for (let i = 0; i < corporation.divisions.length; ++i) {\n if (corporation.divisions[i].name === name) {\n throw new Error(\"This division name is already in use!\");\n }\n }\n\n const cost = IndustryStartingCosts[industry];\n if (cost === undefined) {\n throw new Error(`Invalid industry: '${industry}'`);\n }\n if (corporation.funds < cost) {\n throw new Error(\"Not enough money to create a new division in this industry\");\n } else if (name === \"\") {\n throw new Error(\"New division must have a name!\");\n } else {\n corporation.funds = corporation.funds - cost;\n corporation.divisions.push(\n new Industry({\n corp: corporation,\n name: name,\n type: industry,\n }),\n );\n }\n}\n\nexport function NewCity(corporation: ICorporation, division: IIndustry, city: string): void {\n if (corporation.funds < CorporationConstants.OfficeInitialCost) {\n throw new Error(\"You don't have enough company funds to open a new office!\");\n }\n if (division.offices[city]) {\n throw new Error(`You have already expanded into ${city} for ${division.name}`);\n }\n corporation.funds = corporation.funds - CorporationConstants.OfficeInitialCost;\n division.offices[city] = new OfficeSpace({\n loc: city,\n size: CorporationConstants.OfficeInitialSize,\n });\n}\n\nexport function UnlockUpgrade(corporation: ICorporation, upgrade: CorporationUnlockUpgrade): void {\n if (corporation.funds < upgrade.price) {\n throw new Error(\"Insufficient funds\");\n }\n if (corporation.unlockUpgrades[upgrade.index] === 1) {\n throw new Error(`You have already unlocked the ${upgrade.name} upgrade!`);\n }\n corporation.unlock(upgrade);\n}\n\nexport function LevelUpgrade(corporation: ICorporation, upgrade: CorporationUpgrade): void {\n const baseCost = upgrade.basePrice;\n const priceMult = upgrade.priceMult;\n const level = corporation.upgrades[upgrade.index];\n const cost = baseCost * Math.pow(priceMult, level);\n if (corporation.funds < cost) {\n throw new Error(\"Insufficient funds\");\n } else {\n corporation.upgrade(upgrade);\n }\n}\n\nexport function IssueDividends(corporation: ICorporation, percent: number): void {\n if (isNaN(percent) || percent < 0 || percent > CorporationConstants.DividendMaxPercentage) {\n throw new Error(`Invalid value. Must be an integer between 0 and ${CorporationConstants.DividendMaxPercentage}`);\n }\n\n corporation.dividendPercentage = percent * 100;\n}\n\nexport function SellMaterial(mat: Material, amt: string, price: string): void {\n if (price === \"\") price = \"0\";\n if (amt === \"\") amt = \"0\";\n let cost = price.replace(/\\s+/g, \"\");\n cost = cost.replace(/[^-()\\d/*+.MPe]/g, \"\"); //Sanitize cost\n let temp = cost.replace(/MP/g, mat.bCost + \"\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell price field: \" + e);\n }\n\n if (temp == null || isNaN(parseFloat(temp)) || parseFloat(temp) < 0) {\n throw new Error(\"Invalid value or expression for sell price field\");\n }\n\n if (cost.includes(\"MP\")) {\n mat.sCost = cost; //Dynamically evaluated\n } else {\n mat.sCost = temp;\n }\n\n //Parse quantity\n amt = amt.toUpperCase();\n if (amt.includes(\"MAX\") || amt.includes(\"PROD\")) {\n let q = amt.replace(/\\s+/g, \"\");\n q = q.replace(/[^-()\\d/*+.MAXPROD]/g, \"\");\n let tempQty = q.replace(/MAX/g, mat.maxsll.toString());\n tempQty = tempQty.replace(/PROD/g, mat.prd.toString());\n try {\n tempQty = eval(tempQty);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell quantity field: \" + e);\n }\n\n if (tempQty == null || isNaN(parseFloat(tempQty)) || parseFloat(tempQty) < 0) {\n throw new Error(\"Invalid value or expression for sell quantity field\");\n }\n\n mat.sllman[0] = true;\n mat.sllman[1] = q; //Use sanitized input\n } else if (isNaN(parseFloat(amt)) || parseFloat(amt) < 0) {\n throw new Error(\"Invalid value for sell quantity field! Must be numeric or 'PROD' or 'MAX'\");\n } else {\n let q = parseFloat(amt);\n if (isNaN(q)) {\n q = 0;\n }\n if (q === 0) {\n mat.sllman[0] = false;\n mat.sllman[1] = 0;\n } else {\n mat.sllman[0] = true;\n mat.sllman[1] = q;\n }\n }\n}\n\nexport function SellProduct(product: Product, city: string, amt: string, price: string, all: boolean): void {\n //Parse price\n if (price.includes(\"MP\")) {\n //Dynamically evaluated quantity. First test to make sure its valid\n //Sanitize input, then replace dynamic variables with arbitrary numbers\n price = price.replace(/\\s+/g, \"\");\n price = price.replace(/[^-()\\d/*+.MP]/g, \"\");\n let temp = price.replace(/MP/g, \"1\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell price field: \" + e);\n }\n if (temp == null || isNaN(parseFloat(temp)) || parseFloat(temp) < 0) {\n throw new Error(\"Invalid value or expression for sell price field.\");\n }\n product.sCost = price; //Use sanitized price\n } else {\n const cost = parseFloat(price);\n if (isNaN(cost)) {\n throw new Error(\"Invalid value for sell price field\");\n }\n product.sCost = cost;\n }\n\n // Array of all cities. Used later\n const cities = Object.keys(Cities);\n\n // Parse quantity\n amt = amt.toUpperCase();\n if (amt.includes(\"MAX\") || amt.includes(\"PROD\")) {\n //Dynamically evaluated quantity. First test to make sure its valid\n let qty = amt.replace(/\\s+/g, \"\");\n qty = qty.replace(/[^-()\\d/*+.MAXPROD]/g, \"\");\n let temp = qty.replace(/MAX/g, product.maxsll.toString());\n temp = temp.replace(/PROD/g, product.data[city][1].toString());\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid value or expression for sell quantity field: \" + e);\n }\n\n if (temp == null || isNaN(parseFloat(temp)) || parseFloat(temp) < 0) {\n throw new Error(\"Invalid value or expression for sell quantity field\");\n }\n if (all) {\n for (let i = 0; i < cities.length; ++i) {\n const tempCity = cities[i];\n product.sllman[tempCity][0] = true;\n product.sllman[tempCity][1] = qty; //Use sanitized input\n }\n } else {\n product.sllman[city][0] = true;\n product.sllman[city][1] = qty; //Use sanitized input\n }\n } else if (isNaN(parseFloat(amt)) || parseFloat(amt) < 0) {\n throw new Error(\"Invalid value for sell quantity field! Must be numeric or 'PROD' or 'MAX'\");\n } else {\n let qty = parseFloat(amt);\n if (isNaN(qty)) {\n qty = 0;\n }\n if (qty === 0) {\n if (all) {\n for (let i = 0; i < cities.length; ++i) {\n const tempCity = cities[i];\n product.sllman[tempCity][0] = false;\n product.sllman[tempCity][1] = \"\";\n }\n } else {\n product.sllman[city][0] = false;\n product.sllman[city][1] = \"\";\n }\n } else if (all) {\n for (let i = 0; i < cities.length; ++i) {\n const tempCity = cities[i];\n product.sllman[tempCity][0] = true;\n product.sllman[tempCity][1] = qty;\n }\n } else {\n product.sllman[city][0] = true;\n product.sllman[city][1] = qty;\n }\n }\n}\n\nexport function SetSmartSupply(warehouse: Warehouse, smartSupply: boolean): void {\n warehouse.smartSupplyEnabled = smartSupply;\n}\n\nexport function SetSmartSupplyUseLeftovers(warehouse: Warehouse, material: Material, useLeftover: boolean): void {\n if (!Object.keys(warehouse.smartSupplyUseLeftovers).includes(material.name.replace(/ /g, \"\")))\n throw new Error(`Invalid material '${material.name}'`);\n warehouse.smartSupplyUseLeftovers[material.name.replace(/ /g, \"\")] = useLeftover;\n}\n\nexport function BuyMaterial(material: Material, amt: number): void {\n if (isNaN(amt) || amt < 0) {\n throw new Error(`Invalid amount '${amt}' to buy material '${material.name}'`);\n }\n material.buy = amt;\n}\n\nexport function BulkPurchase(corp: ICorporation, warehouse: Warehouse, material: Material, amt: number): void {\n const matSize = MaterialSizes[material.name];\n const maxAmount = (warehouse.size - warehouse.sizeUsed) / matSize;\n if (isNaN(amt) || amt < 0) {\n throw new Error(`Invalid input amount`);\n }\n if (amt > maxAmount) {\n throw new Error(`You do not have enough warehouse size to fit this purchase`);\n }\n const cost = amt * material.bCost;\n if (corp.funds >= cost) {\n corp.funds = corp.funds - cost;\n material.qty += amt;\n } else {\n throw new Error(`You cannot afford this purchase.`);\n }\n}\n\nexport function SellShares(corporation: ICorporation, player: IPlayer, numShares: number): number {\n if (isNaN(numShares)) throw new Error(\"Invalid value for number of shares\");\n if (numShares < 0) throw new Error(\"Invalid value for number of shares\");\n if (numShares > corporation.numShares) throw new Error(\"You don't have that many shares to sell!\");\n if (!corporation.public) throw new Error(\"You haven't gone public!\");\n if (corporation.shareSaleCooldown) throw new Error(\"Share sale on cooldown!\");\n const stockSaleResults = corporation.calculateShareSale(numShares);\n const profit = stockSaleResults[0];\n const newSharePrice = stockSaleResults[1];\n const newSharesUntilUpdate = stockSaleResults[2];\n\n corporation.numShares -= numShares;\n corporation.issuedShares += numShares;\n corporation.sharePrice = newSharePrice;\n corporation.shareSalesUntilPriceUpdate = newSharesUntilUpdate;\n corporation.shareSaleCooldown = CorporationConstants.SellSharesCooldown;\n player.gainMoney(profit, \"corporation\");\n return profit;\n}\n\nexport function BuyBackShares(corporation: ICorporation, player: IPlayer, numShares: number): boolean {\n if (isNaN(numShares)) throw new Error(\"Invalid value for number of shares\");\n if (numShares < 0) throw new Error(\"Invalid value for number of shares\");\n if (numShares > corporation.issuedShares) throw new Error(\"You don't have that many shares to buy!\");\n if (!corporation.public) throw new Error(\"You haven't gone public!\");\n const buybackPrice = corporation.sharePrice * 1.1;\n if (player.money < numShares * buybackPrice) throw new Error(\"You cant afford that many shares!\");\n corporation.numShares += numShares;\n corporation.issuedShares -= numShares;\n player.loseMoney(numShares * buybackPrice, \"corporation\");\n return true;\n}\n\nexport function AssignJob(employee: Employee, job: string): void {\n if (!Object.values(EmployeePositions).includes(job)) throw new Error(`'${job}' is not a valid job.`);\n employee.pos = job;\n}\n\nexport function UpgradeOfficeSize(corp: ICorporation, office: OfficeSpace, size: number): void {\n const initialPriceMult = Math.round(office.size / CorporationConstants.OfficeInitialSize);\n const costMultiplier = 1.09;\n // Calculate cost to upgrade size by 15 employees\n let mult = 0;\n for (let i = 0; i < size / CorporationConstants.OfficeInitialSize; ++i) {\n mult += Math.pow(costMultiplier, initialPriceMult + i);\n }\n const cost = CorporationConstants.OfficeInitialCost * mult;\n if (corp.funds < cost) return;\n office.size += size;\n corp.funds = corp.funds - cost;\n}\n\nexport function ThrowParty(corp: ICorporation, office: OfficeSpace, costPerEmployee: number): number {\n const totalCost = costPerEmployee * office.employees.length;\n if (corp.funds < totalCost) return 0;\n corp.funds = corp.funds - totalCost;\n let mult = 0;\n for (let i = 0; i < office.employees.length; ++i) {\n mult = office.employees[i].throwParty(costPerEmployee);\n }\n\n return mult;\n}\n\nexport function PurchaseWarehouse(corp: ICorporation, division: IIndustry, city: string): void {\n if (corp.funds < CorporationConstants.WarehouseInitialCost) return;\n if (division.warehouses[city] instanceof Warehouse) return;\n division.warehouses[city] = new Warehouse({\n corp: corp,\n industry: division,\n loc: city,\n size: CorporationConstants.WarehouseInitialSize,\n });\n corp.funds = corp.funds - CorporationConstants.WarehouseInitialCost;\n}\n\nexport function UpgradeWarehouseCost(warehouse: Warehouse, amt: number): number {\n return Array.from(Array(amt).keys()).reduce(\n (acc, index) => acc + CorporationConstants.WarehouseUpgradeBaseCost * Math.pow(1.07, warehouse.level + 1 + index),\n 0,\n );\n}\n\nexport function UpgradeWarehouse(corp: ICorporation, division: IIndustry, warehouse: Warehouse, amt = 1): void {\n const sizeUpgradeCost = UpgradeWarehouseCost(warehouse, amt);\n if (corp.funds < sizeUpgradeCost) return;\n warehouse.level += amt;\n warehouse.updateSize(corp, division);\n corp.funds = corp.funds - sizeUpgradeCost;\n}\n\nexport function BuyCoffee(corp: ICorporation, division: IIndustry, office: OfficeSpace): void {\n const upgrade = IndustryUpgrades[0];\n const cost = office.employees.length * upgrade[1];\n if (corp.funds < cost) return;\n corp.funds = corp.funds - cost;\n division.upgrade(upgrade, {\n corporation: corp,\n office: office,\n });\n}\n\nexport function HireAdVert(corp: ICorporation, division: IIndustry, office: OfficeSpace): void {\n const upgrade = IndustryUpgrades[1];\n const cost = upgrade[1] * Math.pow(upgrade[2], division.upgrades[1]);\n if (corp.funds < cost) return;\n corp.funds = corp.funds - cost;\n division.upgrade(upgrade, {\n corporation: corp,\n office: office,\n });\n}\n\nexport function MakeProduct(\n corp: ICorporation,\n division: IIndustry,\n city: string,\n productName: string,\n designInvest: number,\n marketingInvest: number,\n): void {\n if (designInvest < 0) {\n designInvest = 0;\n }\n if (marketingInvest < 0) {\n marketingInvest = 0;\n }\n if (productName == null || productName === \"\") {\n throw new Error(\"You must specify a name for your product!\");\n }\n if (!division.makesProducts) {\n throw new Error(\"You cannot create products for this industry!\");\n }\n if (isNaN(designInvest)) {\n throw new Error(\"Invalid value for design investment\");\n }\n if (isNaN(marketingInvest)) {\n throw new Error(\"Invalid value for marketing investment\");\n }\n if (corp.funds < designInvest + marketingInvest) {\n throw new Error(\"You don't have enough company funds to make this large of an investment\");\n }\n let maxProducts = 3;\n if (division.hasResearch(\"uPgrade: Capacity.II\")) {\n maxProducts = 5;\n } else if (division.hasResearch(\"uPgrade: Capacity.I\")) {\n maxProducts = 4;\n }\n const products = division.products;\n if (Object.keys(products).length >= maxProducts) {\n throw new Error(`You are already at the max products (${maxProducts}) for division: ${division.name}!`);\n }\n\n const product = new Product({\n name: productName.replace(/[<>]/g, \"\").trim(), //Sanitize for HTMl elements\n createCity: city,\n designCost: designInvest,\n advCost: marketingInvest,\n });\n if (products[product.name] instanceof Product) {\n throw new Error(`You already have a product with this name!`);\n }\n\n corp.funds = corp.funds - (designInvest + marketingInvest);\n products[product.name] = product;\n}\n\nexport function Research(division: IIndustry, researchName: string): void {\n const researchTree = IndustryResearchTrees[division.type];\n if (researchTree === undefined) throw new Error(`No research tree for industry '${division.type}'`);\n const allResearch = researchTree.getAllNodes();\n if (!allResearch.includes(researchName)) throw new Error(`No research named '${researchName}'`);\n const research = ResearchMap[researchName];\n\n if (division.sciResearch.qty < research.cost)\n throw new Error(`You do not have enough Scientific Research for ${research.name}`);\n division.sciResearch.qty -= research.cost;\n\n // Get the Node from the Research Tree and set its 'researched' property\n researchTree.research(researchName);\n division.researched[researchName] = true;\n}\n\nexport function ExportMaterial(\n divisionName: string,\n cityName: string,\n material: Material,\n amt: string,\n division?: Industry,\n): void {\n // Sanitize amt\n let sanitizedAmt = amt.replace(/\\s+/g, \"\").toUpperCase();\n sanitizedAmt = sanitizedAmt.replace(/[^-()\\d/*+.MAX]/g, \"\");\n let temp = sanitizedAmt.replace(/MAX/g, \"1\");\n try {\n temp = eval(temp);\n } catch (e) {\n throw new Error(\"Invalid expression entered for export amount: \" + e);\n }\n\n const n = parseFloat(temp);\n\n if (n == null || isNaN(n) || n < 0) {\n throw new Error(\"Invalid amount entered for export\");\n }\n\n if (!division || !isRelevantMaterial(material.name, division)) {\n throw new Error(`You cannot export material: ${material.name} to division: ${divisionName}!`);\n }\n\n const exportObj = { ind: divisionName, city: cityName, amt: sanitizedAmt };\n material.exp.push(exportObj);\n}\n\nexport function CancelExportMaterial(divisionName: string, cityName: string, material: Material, amt: string): void {\n for (let i = 0; i < material.exp.length; ++i) {\n if (material.exp[i].ind !== divisionName || material.exp[i].city !== cityName || material.exp[i].amt !== amt)\n continue;\n material.exp.splice(i, 1);\n break;\n }\n}\n\nexport function LimitProductProduction(product: Product, cityName: string, qty: number): void {\n if (qty < 0 || isNaN(qty)) {\n product.prdman[cityName][0] = false;\n product.prdman[cityName][1] = 0;\n } else {\n product.prdman[cityName][0] = true;\n product.prdman[cityName][1] = qty;\n }\n}\n\nexport function LimitMaterialProduction(material: Material, qty: number): void {\n if (qty < 0 || isNaN(qty)) {\n material.prdman[0] = false;\n material.prdman[1] = 0;\n } else {\n material.prdman[0] = true;\n material.prdman[1] = qty;\n }\n}\n\nexport function SetMaterialMarketTA1(material: Material, on: boolean): void {\n material.marketTa1 = on;\n}\n\nexport function SetMaterialMarketTA2(material: Material, on: boolean): void {\n material.marketTa2 = on;\n}\n\nexport function SetProductMarketTA1(product: Product, on: boolean): void {\n product.marketTa1 = on;\n}\n\nexport function SetProductMarketTA2(product: Product, on: boolean): void {\n product.marketTa2 = on;\n}\n","import { IMap } from \"../../types\";\n\nexport const LiteratureNames: IMap = {\n HackersStartingHandbook: \"hackers-starting-handbook.lit\",\n CorporationManagementHandbook: \"corporation-management-handbook.lit\",\n HistoryOfSynthoids: \"history-of-synthoids.lit\",\n AGreenTomorrow: \"A-Green-Tomorrow.lit\",\n AlphaOmega: \"alpha-omega.lit\",\n SimulatedReality: \"simulated-reality.lit\",\n BeyondMan: \"beyond-man.lit\",\n BrighterThanTheSun: \"brighter-than-the-sun.lit\",\n DemocracyIsDead: \"democracy-is-dead.lit\",\n Sector12Crime: \"sector-12-crime.lit\",\n ManAndMachine: \"man-and-machine.lit\",\n SecretSocieties: \"secret-societies.lit\",\n TheFailedFrontier: \"the-failed-frontier.lit\",\n CodedIntelligence: \"coded-intelligence.lit\",\n SyntheticMuscles: \"synthetic-muscles.lit\",\n TensionsInTechRace: \"tensions-in-tech-race.lit\",\n CostOfImmortality: \"cost-of-immortality.lit\",\n TheHiddenWorld: \"the-hidden-world.lit\",\n TheNewGod: \"the-new-god.lit\",\n NewTriads: \"new-triads.lit\",\n TheSecretWar: \"the-secret-war.lit\",\n};\n","import { Program } from \"./Program\";\nimport { programsMetadata } from \"./data/ProgramsMetadata\";\nimport { IMap } from \"../types\";\n\nexport const Programs: IMap = {};\n\nfor (const params of programsMetadata) {\n Programs[params.key] = new Program(params.name, params.create, params.run);\n}\n","// Constructs all CompanyPosition objects using the metadata in data/companypositions.ts\nimport { companiesMetadata } from \"./data/CompaniesMetadata\";\nimport { Company, IConstructorParams } from \"./Company\";\nimport { IMap } from \"../types\";\nimport { Reviver } from \"../utils/JSONReviver\";\n\nexport let Companies: IMap = {};\n\nfunction addCompany(params: IConstructorParams): void {\n if (Companies[params.name] != null) {\n console.warn(`Duplicate Company Position being defined: ${params.name}`);\n }\n Companies[params.name] = new Company(params);\n}\n\n// Used to initialize new Company objects for the Companies map\n// Called when creating new game or after a prestige/reset\nexport function initCompanies(): void {\n // Save Old Company data for 'favor'\n const oldCompanies = Companies;\n\n // Re-construct all Companies\n Companies = {};\n companiesMetadata.forEach((e) => {\n addCompany(e);\n });\n\n // Reset data\n for (const companyName of Object.keys(Companies)) {\n const company = Companies[companyName];\n const oldCompany = oldCompanies[companyName];\n if (!(oldCompany instanceof Company)) {\n // New game, so no OldCompanies data\n company.favor = 0;\n } else {\n company.favor = oldCompanies[companyName].favor;\n if (isNaN(company.favor)) {\n company.favor = 0;\n }\n }\n }\n}\n\n// Used to load Companies map from a save\nexport function loadCompanies(saveString: string): void {\n Companies = JSON.parse(saveString, Reviver);\n}\n","import { Augmentation } from \"./Augmentation\";\nimport { IMap } from \"../types\";\n\nexport const Augmentations: IMap = {};\n","export enum FragmentType {\n // Special fragments for the UI\n None,\n Delete,\n\n // Stats boosting fragments\n HackingChance,\n HackingSpeed,\n HackingMoney,\n HackingGrow,\n Hacking,\n Strength,\n Defense,\n Dexterity,\n Agility,\n Charisma,\n HacknetMoney,\n HacknetCost,\n Rep,\n WorkMoney,\n Crime,\n Bladeburner,\n\n // utility fragments.\n Booster,\n}\n\nexport function Effect(tpe: FragmentType): string {\n switch (tpe) {\n case FragmentType.HackingChance: {\n return \"+x% hack() success chance\";\n }\n case FragmentType.HackingSpeed: {\n return \"+x% faster hack(), grow(), and weaken()\";\n }\n case FragmentType.HackingMoney: {\n return \"+x% hack() power\";\n }\n case FragmentType.HackingGrow: {\n return \"+x% grow() power\";\n }\n case FragmentType.Hacking: {\n return \"+x% hacking skill\";\n }\n case FragmentType.Strength: {\n return \"+x% strength skill\";\n }\n case FragmentType.Defense: {\n return \"+x% defense skill\";\n }\n case FragmentType.Dexterity: {\n return \"+x% dexterity skill\";\n }\n case FragmentType.Agility: {\n return \"+x% agility skill\";\n }\n case FragmentType.Charisma: {\n return \"+x% charisma skill\";\n }\n case FragmentType.HacknetMoney: {\n return \"+x% hacknet production\";\n }\n case FragmentType.HacknetCost: {\n return \"-x% cheaper hacknet cost\";\n }\n case FragmentType.Rep: {\n return \"+x% reputation from factions and companies\";\n }\n case FragmentType.WorkMoney: {\n return \"+x% work money\";\n }\n case FragmentType.Crime: {\n return \"+x% crime money\";\n }\n case FragmentType.Bladeburner: {\n return \"+x% all bladeburner stats\";\n }\n }\n throw new Error(\"Calling effect for fragment type that doesn't have an effect \" + tpe);\n}\n","export enum PositionTypes {\n Long = \"L\",\n Short = \"S\",\n}\n","/**\n * Enum for different types of tasks that a Sleeve can perform\n */\nexport enum SleeveTaskType {\n // Same Order as selectable order in UI\n Idle,\n Company,\n Faction,\n Crime,\n Class,\n Gym,\n Recovery,\n Synchro,\n}\n","/**\n * Helper functions that implement \"directory\" functionality in the Terminal.\n * These aren't \"real\" directories, it's more of a pseudo-directory implementation\n * that uses mainly string manipulation.\n *\n * This file contains functions that deal only with that string manipulation.\n * Functions that need to access/process Server-related things can be\n * found in ./DirectoryServerHelpers.ts\n */\n\n/**\n * Removes leading forward slash (\"/\") from a string.\n */\nexport function removeLeadingSlash(s: string): string {\n if (s.startsWith(\"/\")) {\n return s.slice(1);\n }\n\n return s;\n}\n\n/**\n * Removes trailing forward slash (\"/\") from a string.\n * Note that this will also remove the slash if it is the leading slash (i.e. if s = \"/\")\n */\nexport function removeTrailingSlash(s: string): string {\n if (s.endsWith(\"/\")) {\n return s.slice(0, -1);\n }\n\n return s;\n}\n\n/**\n * Checks whether a string is a valid filename. Only used for the filename itself,\n * not the entire filepath\n */\nexport function isValidFilename(filename: string): boolean {\n // Allows alphanumerics, hyphens, underscores, and percentage signs\n // Must have a file extension\n const regex = /^[.a-zA-Z0-9_-]+[.][a-zA-Z0-9]+(?:-\\d+(?:\\.\\d*)?%-INC)?$/;\n\n // match() returns null if no match is found\n return filename.match(regex) != null;\n}\n\n/**\n * Checks whether a string is a valid directory name. Only used for the directory itself,\n * not an entire path\n */\nexport function isValidDirectoryName(name: string): boolean {\n // Allows alphanumerics, hyphens, underscores, and percentage signs.\n // Name can begin with a single period, but otherwise cannot have any\n const regex = /^.?[a-zA-Z0-9_-]+$/;\n\n // match() returns null if no match is found\n return name.match(regex) != null;\n}\n\n/**\n * Checks whether a string is a valid directory path.\n * This only checks if it has the proper formatting. It does NOT check\n * if the directories actually exist on Terminal\n */\nexport function isValidDirectoryPath(path: string): boolean {\n let t_path: string = path;\n\n if (t_path.length === 0) {\n return false;\n }\n if (t_path.length === 1) {\n return t_path === \"/\";\n }\n\n // A full path must have a leading slash, but we'll ignore it for the checks\n if (t_path.startsWith(\"/\")) {\n t_path = t_path.slice(1);\n } else {\n return false;\n }\n\n // Trailing slash does not matter\n t_path = removeTrailingSlash(t_path);\n\n // Check that every section of the path is a valid directory name\n const dirs = t_path.split(\"/\");\n for (const dir of dirs) {\n // Special case, \".\" and \"..\" are valid for path\n if (dir === \".\" || dir === \"..\") {\n continue;\n }\n if (!isValidDirectoryName(dir)) {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Checks whether a string is a valid file path. This only checks if it has the\n * proper formatting. It dose NOT check if the file actually exists on Terminal\n */\nexport function isValidFilePath(path: string): boolean {\n if (path == null || typeof path !== \"string\") {\n return false;\n }\n const t_path = path;\n\n // Impossible for filename to have less than length of 3\n if (t_path.length < 3) {\n return false;\n }\n\n // Full filepath can't end with trailing slash because it must be a file\n if (t_path.endsWith(\"/\")) {\n return false;\n }\n\n // Everything after the last forward slash is the filename. Everything before\n // it is the file path\n const fnSeparator = t_path.lastIndexOf(\"/\");\n if (fnSeparator === -1) {\n return isValidFilename(t_path);\n }\n\n const fn = t_path.slice(fnSeparator + 1);\n const dirPath = t_path.slice(0, fnSeparator + 1);\n\n return isValidDirectoryPath(dirPath) && isValidFilename(fn);\n}\n\n/**\n * Returns a formatted string for the first parent directory in a filepath. For example:\n * /home/var/test/ -> home/\n * If there is no first parent directory, then it returns \"/\" for root\n */\nexport function getFirstParentDirectory(path: string): string {\n let t_path = path;\n t_path = removeLeadingSlash(t_path);\n t_path = removeTrailingSlash(t_path);\n\n if (t_path.lastIndexOf(\"/\") === -1) {\n return \"/\";\n }\n\n const dirs = t_path.split(\"/\");\n if (dirs.length === 0) {\n return \"/\";\n }\n\n return dirs[0] + \"/\";\n}\n\n/**\n * Given a filepath, returns a formatted string for all of the parent directories\n * in that filepath. For example:\n * /home/var/tes -> home/var/\n * /home/var/test/ -> home/var/test/\n * If there are no parent directories, it returns the empty string\n */\nexport function getAllParentDirectories(path: string): string {\n const t_path = path;\n const lastSlash = t_path.lastIndexOf(\"/\");\n if (lastSlash === -1) {\n return \"\";\n }\n\n return t_path.slice(0, lastSlash + 1);\n}\n\n/**\n * Given a destination that only contains a directory part, returns the\n * path to the source filename inside the new destination directory.\n * Otherwise, returns the path to the destination file.\n * @param destination The destination path or file name\n * @param source The source path\n * @param cwd The current working directory\n * @returns A file path which may be absolute or relative\n */\nexport function getDestinationFilepath(destination: string, source: string, cwd: string): string {\n const dstDir = evaluateDirectoryPath(destination, cwd);\n // If evaluating the directory for this destination fails, we have a filename or full path.\n if (dstDir === null) {\n return destination;\n } else {\n // Append the filename to the directory provided.\n const t_path = removeTrailingSlash(dstDir);\n const fileName = getFileName(source);\n return t_path + \"/\" + fileName;\n }\n}\n\n/**\n * Given a filepath, returns the file name (e.g. without directory parts)\n * For example:\n * /home/var/test.js -> test.js\n * ./var/test.js -> test.js\n * test.js -> test.js\n */\nexport function getFileName(path: string): string {\n const t_path = path;\n const lastSlash = t_path.lastIndexOf(\"/\");\n if (lastSlash === -1) {\n return t_path;\n }\n\n return t_path.slice(lastSlash + 1);\n}\n\n/**\n * Checks if a file path refers to a file in the root directory.\n */\nexport function isInRootDirectory(path: string): boolean {\n if (!isValidFilePath(path)) {\n return false;\n }\n if (path == null || path.length === 0) {\n return false;\n }\n\n return path.lastIndexOf(\"/\") <= 0;\n}\n\n/**\n * Evaluates a directory path, including the processing of linux dots.\n * Returns the full, proper path, or null if an invalid path is passed in\n */\nexport function evaluateDirectoryPath(path: string, currPath?: string): string | null {\n let t_path = path;\n\n // If the path begins with a slash, then its an absolute path. Otherwise its relative\n // For relative paths, we need to prepend the current directory\n if (!t_path.startsWith(\"/\") && currPath != null) {\n t_path = currPath + (currPath.endsWith(\"/\") ? \"\" : \"/\") + t_path;\n }\n\n if (!isValidDirectoryPath(t_path)) {\n return null;\n }\n\n // Trim leading/trailing slashes\n t_path = removeLeadingSlash(t_path);\n t_path = removeTrailingSlash(t_path);\n\n const dirs = t_path.split(\"/\");\n const reconstructedPath: string[] = [];\n\n for (const dir of dirs) {\n if (dir === \".\") {\n // Current directory, do nothing\n continue;\n } else if (dir === \"..\") {\n // Parent directory\n const res = reconstructedPath.pop();\n if (res == null) {\n return null; // Array was empty, invalid path\n }\n } else {\n reconstructedPath.push(dir);\n }\n }\n\n return \"/\" + reconstructedPath.join(\"/\");\n}\n\n/**\n * Evaluates a file path, including the processing of linux dots.\n * Returns the full, proper path, or null if an invalid path is passed in\n */\nexport function evaluateFilePath(path: string, currPath?: string): string | null {\n let t_path = path;\n\n // If the path begins with a slash, then its an absolute path. Otherwise its relative\n // For relative paths, we need to prepend the current directory\n if (!t_path.startsWith(\"/\") && currPath != null) {\n t_path = currPath + (currPath.endsWith(\"/\") ? \"\" : \"/\") + t_path;\n }\n\n if (!isValidFilePath(t_path)) {\n return null;\n }\n\n // Trim leading/trailing slashes\n t_path = removeLeadingSlash(t_path);\n\n const dirs = t_path.split(\"/\");\n const reconstructedPath: string[] = [];\n\n for (const dir of dirs) {\n if (dir === \".\") {\n // Current directory, do nothing\n continue;\n } else if (dir === \"..\") {\n // Parent directory\n const res = reconstructedPath.pop();\n if (res == null) {\n return null; // Array was empty, invalid path\n }\n } else {\n reconstructedPath.push(dir);\n }\n }\n\n return \"/\" + reconstructedPath.join(\"/\");\n}\n\nexport function areFilesEqual(f0: string, f1: string): boolean {\n if (!f0.startsWith(\"/\")) f0 = \"/\" + f0;\n if (!f1.startsWith(\"/\")) f1 = \"/\" + f1;\n return f0 === f1;\n}\n\nexport function areImportsEquals(f0: string, f1: string): boolean {\n if (!f0.endsWith(\".ns\") && !f0.endsWith(\".js\")) f0 = f0 + \".js\";\n if (!f1.endsWith(\".ns\") && !f1.endsWith(\".js\")) f1 = f1 + \".js\";\n return areFilesEqual(f0, f1);\n}\n","import { Crime } from \"./Crime\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { IMap } from \"../types\";\n\nexport const Crimes: IMap = {\n Shoplift: new Crime(\"Shoplift\", CONSTANTS.CrimeShoplift, 2e3, 15e3, 1 / 20, 0.1, {\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n\n dexterity_exp: 2,\n agility_exp: 2,\n }),\n\n RobStore: new Crime(\"Rob Store\", CONSTANTS.CrimeRobStore, 60e3, 400e3, 1 / 5, 0.5, {\n hacking_exp: 30,\n dexterity_exp: 45,\n agility_exp: 45,\n\n hacking_success_weight: 0.5,\n dexterity_success_weight: 2,\n agility_success_weight: 1,\n\n intelligence_exp: 7.5 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n Mug: new Crime(\"Mug\", CONSTANTS.CrimeMug, 4e3, 36e3, 1 / 5, 0.25, {\n strength_exp: 3,\n defense_exp: 3,\n dexterity_exp: 3,\n agility_exp: 3,\n\n strength_success_weight: 1.5,\n defense_success_weight: 0.5,\n dexterity_success_weight: 1.5,\n agility_success_weight: 0.5,\n }),\n\n Larceny: new Crime(\"Larceny\", CONSTANTS.CrimeLarceny, 90e3, 800e3, 1 / 3, 1.5, {\n hacking_exp: 45,\n dexterity_exp: 60,\n agility_exp: 60,\n\n hacking_success_weight: 0.5,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n\n intelligence_exp: 15 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n DealDrugs: new Crime(\"Deal Drugs\", CONSTANTS.CrimeDrugs, 10e3, 120e3, 1, 0.5, {\n dexterity_exp: 5,\n agility_exp: 5,\n charisma_exp: 10,\n\n charisma_success_weight: 3,\n dexterity_success_weight: 2,\n agility_success_weight: 1,\n }),\n\n BondForgery: new Crime(\"Bond Forgery\", CONSTANTS.CrimeBondForgery, 300e3, 4.5e6, 1 / 2, 0.1, {\n hacking_exp: 100,\n dexterity_exp: 150,\n charisma_exp: 15,\n\n hacking_success_weight: 0.05,\n dexterity_success_weight: 1.25,\n\n intelligence_exp: 60 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n TraffickArms: new Crime(\"Traffick Arms\", CONSTANTS.CrimeTraffickArms, 40e3, 600e3, 2, 1, {\n strength_exp: 20,\n defense_exp: 20,\n dexterity_exp: 20,\n agility_exp: 20,\n charisma_exp: 40,\n\n charisma_success_weight: 1,\n strength_success_weight: 1,\n defense_success_weight: 1,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n }),\n\n Homicide: new Crime(\"Homicide\", CONSTANTS.CrimeHomicide, 3e3, 45e3, 1, 3, {\n strength_exp: 2,\n defense_exp: 2,\n dexterity_exp: 2,\n agility_exp: 2,\n\n strength_success_weight: 2,\n defense_success_weight: 2,\n dexterity_success_weight: 0.5,\n agility_success_weight: 0.5,\n\n kills: 1,\n }),\n\n GrandTheftAuto: new Crime(\"Grand Theft Auto\", CONSTANTS.CrimeGrandTheftAuto, 80e3, 1.6e6, 8, 5, {\n strength_exp: 20,\n defense_exp: 20,\n dexterity_exp: 20,\n agility_exp: 80,\n charisma_exp: 40,\n\n hacking_success_weight: 1,\n strength_success_weight: 1,\n dexterity_success_weight: 4,\n agility_success_weight: 2,\n charisma_success_weight: 2,\n\n intelligence_exp: 16 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n Kidnap: new Crime(\"Kidnap\", CONSTANTS.CrimeKidnap, 120e3, 3.6e6, 5, 6, {\n strength_exp: 80,\n defense_exp: 80,\n dexterity_exp: 80,\n agility_exp: 80,\n charisma_exp: 80,\n\n charisma_success_weight: 1,\n strength_success_weight: 1,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n\n intelligence_exp: 26 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n\n Assassination: new Crime(\"Assassination\", CONSTANTS.CrimeAssassination, 300e3, 12e6, 8, 10, {\n strength_exp: 300,\n defense_exp: 300,\n dexterity_exp: 300,\n agility_exp: 300,\n\n strength_success_weight: 1,\n dexterity_success_weight: 2,\n agility_success_weight: 1,\n\n intelligence_exp: 65 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n\n kills: 1,\n }),\n\n Heist: new Crime(\"Heist\", CONSTANTS.CrimeHeist, 600e3, 120e6, 18, 15, {\n hacking_exp: 450,\n strength_exp: 450,\n defense_exp: 450,\n dexterity_exp: 450,\n agility_exp: 450,\n charisma_exp: 450,\n\n hacking_success_weight: 1,\n strength_success_weight: 1,\n defense_success_weight: 1,\n dexterity_success_weight: 1,\n agility_success_weight: 1,\n charisma_success_weight: 1,\n\n intelligence_exp: 130 * CONSTANTS.IntelligenceCrimeBaseExpGain,\n }),\n};\n","import * as React from \"react\";\n\nexport function trusted(f: () => void): (event: React.MouseEvent) => any {\n return function (event: React.MouseEvent): any {\n if (!event.isTrusted) return;\n f();\n };\n}\n","import { Terminal as TTerminal } from \"./Terminal/Terminal\";\n\nexport const Terminal = new TTerminal();\n","import { FactionNames } from \"../Faction/data/FactionNames\";\nimport { Reviver } from \"../utils/JSONReviver\";\n\ninterface GangTerritory {\n power: number;\n territory: number;\n}\n\nexport let AllGangs: {\n [key: string]: GangTerritory;\n} = {\n [FactionNames.SlumSnakes]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.Tetrads]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheSyndicate]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheDarkArmy]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.SpeakersForTheDead]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.NiteSec]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheBlackHand]: {\n power: 1,\n territory: 1 / 7,\n },\n};\n\nexport function resetGangs(): void {\n AllGangs = {\n [FactionNames.SlumSnakes]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.Tetrads]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheSyndicate]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheDarkArmy]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.SpeakersForTheDead]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.NiteSec]: {\n power: 1,\n territory: 1 / 7,\n },\n [FactionNames.TheBlackHand]: {\n power: 1,\n territory: 1 / 7,\n },\n };\n}\n\nexport function loadAllGangs(saveString: string): void {\n AllGangs = JSON.parse(saveString, Reviver);\n}\n","import React, { useState, useEffect } from \"react\";\n\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IEngine } from \"../IEngine\";\nimport { ITerminal } from \"../Terminal/ITerminal\";\nimport { installAugmentations } from \"../Augmentation/AugmentationHelpers\";\nimport { saveObject } from \"../SaveObject\";\nimport { onExport } from \"../ExportBonus\";\nimport { LocationName } from \"../Locations/data/LocationNames\";\nimport { Location } from \"../Locations/Location\";\nimport { Locations } from \"../Locations/Locations\";\nimport { ITutorial, iTutorialStart } from \"../InteractiveTutorial\";\nimport { InteractiveTutorialRoot } from \"./InteractiveTutorial/InteractiveTutorialRoot\";\nimport { ITutorialEvents } from \"./InteractiveTutorial/ITutorialEvents\";\n\nimport { Faction } from \"../Faction/Faction\";\nimport { prestigeAugmentation } from \"../Prestige\";\nimport { dialogBoxCreate } from \"./React/DialogBox\";\nimport { GetAllServers } from \"../Server/AllServers\";\nimport { Factions } from \"../Faction/Factions\";\nimport { buyStock, sellStock, shortStock, sellShort } from \"../StockMarket/BuyingAndSelling\";\nimport {\n cancelOrder,\n eventEmitterForUiReset,\n initStockMarketFn,\n placeOrder,\n StockMarket,\n} from \"../StockMarket/StockMarket\";\n\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport Box from \"@mui/material/Box\";\nimport Typography from \"@mui/material/Typography\";\n\nimport { Page, IRouter, ScriptEditorRouteOptions } from \"./Router\";\nimport { Overview } from \"./React/Overview\";\nimport { SidebarRoot } from \"../Sidebar/ui/SidebarRoot\";\nimport { AugmentationsRoot } from \"../Augmentation/ui/AugmentationsRoot\";\nimport { DevMenuRoot } from \"../DevMenu\";\nimport { BladeburnerRoot } from \"../Bladeburner/ui/BladeburnerRoot\";\nimport { GangRoot } from \"../Gang/ui/GangRoot\";\nimport { CorporationRoot } from \"../Corporation/ui/CorporationRoot\";\nimport { InfiltrationRoot } from \"../Infiltration/ui/InfiltrationRoot\";\nimport { GraftingRoot } from \"../PersonObjects/Grafting/ui/GraftingRoot\";\nimport { WorkInProgressRoot } from \"./WorkInProgressRoot\";\nimport { GameOptionsRoot } from \"../GameOptions/ui/GameOptionsRoot\";\nimport { SleeveRoot } from \"../PersonObjects/Sleeve/ui/SleeveRoot\";\nimport { HacknetRoot } from \"../Hacknet/ui/HacknetRoot\";\nimport { GenericLocation } from \"../Locations/ui/GenericLocation\";\nimport { LocationCity } from \"../Locations/ui/City\";\nimport { ProgramsRoot } from \"../Programs/ui/ProgramsRoot\";\nimport { Root as ScriptEditorRoot } from \"../ScriptEditor/ui/ScriptEditorRoot\";\nimport { MilestonesRoot } from \"../Milestones/ui/MilestonesRoot\";\nimport { TerminalRoot } from \"../Terminal/ui/TerminalRoot\";\nimport { TutorialRoot } from \"../Tutorial/ui/TutorialRoot\";\nimport { ActiveScriptsRoot } from \"./ActiveScripts/ActiveScriptsRoot\";\nimport { FactionsRoot } from \"../Faction/ui/FactionsRoot\";\nimport { FactionRoot } from \"../Faction/ui/FactionRoot\";\nimport { CharacterStats } from \"./CharacterStats\";\nimport { TravelAgencyRoot } from \"../Locations/ui/TravelAgencyRoot\";\nimport { StockMarketRoot } from \"../StockMarket/ui/StockMarketRoot\";\nimport { BitverseRoot } from \"../BitNode/ui/BitverseRoot\";\nimport { StaneksGiftRoot } from \"../CotMG/ui/StaneksGiftRoot\";\nimport { staneksGift } from \"../CotMG/Helper\";\nimport { CharacterOverview } from \"./React/CharacterOverview\";\nimport { BladeburnerCinematic } from \"../Bladeburner/ui/BladeburnerCinematic\";\nimport { workerScripts } from \"../Netscript/WorkerScripts\";\nimport { Unclickable } from \"../Exploits/Unclickable\";\nimport { Snackbar, SnackbarProvider } from \"./React/Snackbar\";\nimport { LogBoxManager } from \"./React/LogBoxManager\";\nimport { AlertManager } from \"./React/AlertManager\";\nimport { PromptManager } from \"./React/PromptManager\";\nimport { InvitationModal } from \"../Faction/ui/InvitationModal\";\nimport { calculateAchievements } from \"../Achievements/Achievements\";\n\nimport { enterBitNode } from \"../RedPill\";\nimport { Context } from \"./Context\";\nimport { RecoveryMode, RecoveryRoot } from \"./React/RecoveryRoot\";\nimport { AchievementsRoot } from \"../Achievements/AchievementsRoot\";\nimport { ErrorBoundary } from \"./ErrorBoundary\";\nimport { Settings } from \"../Settings/Settings\";\nimport { ThemeBrowser } from \"../Themes/ui/ThemeBrowser\";\nimport { ImportSaveRoot } from \"./React/ImportSaveRoot\";\nimport { BypassWrapper } from \"./React/BypassWrapper\";\n\nimport _wrap from \"lodash/wrap\";\nimport _functions from \"lodash/functions\";\nimport { Apr1 } from \"./Apr1\";\n\nconst htmlLocation = location;\n\ninterface IProps {\n terminal: ITerminal;\n player: IPlayer;\n engine: IEngine;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n \"-ms-overflow-style\": \"none\" /* for Internet Explorer, Edge */,\n \"scrollbar-width\": \"none\" /* for Firefox */,\n margin: theme.spacing(0),\n flexGrow: 1,\n display: \"block\",\n padding: \"8px\",\n minHeight: \"100vh\",\n boxSizing: \"border-box\",\n },\n }),\n);\n\nconst uninitialized = (): any => {\n throw new Error(\"Router called before initialization\");\n};\n\nexport let Router: IRouter = {\n isInitialized: false,\n page: uninitialized,\n allowRouting: uninitialized,\n toActiveScripts: uninitialized,\n toAugmentations: uninitialized,\n toBitVerse: uninitialized,\n toBladeburner: uninitialized,\n toStats: uninitialized,\n toCity: uninitialized,\n toCorporation: uninitialized,\n toCreateProgram: uninitialized,\n toDevMenu: uninitialized,\n toFaction: uninitialized,\n toFactions: uninitialized,\n toGameOptions: uninitialized,\n toGang: uninitialized,\n toHacknetNodes: uninitialized,\n toInfiltration: uninitialized,\n toJob: uninitialized,\n toMilestones: uninitialized,\n toGrafting: uninitialized,\n toScriptEditor: uninitialized,\n toSleeves: uninitialized,\n toStockMarket: uninitialized,\n toTerminal: uninitialized,\n toTravel: uninitialized,\n toTutorial: uninitialized,\n toWork: uninitialized,\n toBladeburnerCinematic: uninitialized,\n toLocation: uninitialized,\n toStaneksGift: uninitialized,\n toAchievements: uninitialized,\n toThemeBrowser: uninitialized,\n toImportSave: uninitialized,\n};\n\nfunction determineStartPage(player: IPlayer): Page {\n if (RecoveryMode) return Page.Recovery;\n if (player.isWorking) return Page.Work;\n return Page.Terminal;\n}\n\nexport function GameRoot({ player, engine, terminal }: IProps): React.ReactElement {\n const classes = useStyles();\n const [{ files, vim }, setEditorOptions] = useState({ files: {}, vim: false });\n const [page, setPage] = useState(determineStartPage(player));\n const setRerender = useState(0)[1];\n const [augPage, setAugPage] = useState(false);\n const [faction, setFaction] = useState(\n player.currentWorkFactionName ? Factions[player.currentWorkFactionName] : (undefined as unknown as Faction),\n );\n if (faction === undefined && page === Page.Faction)\n throw new Error(\"Trying to go to a page without the proper setup\");\n\n const [flume, setFlume] = useState(false);\n const [quick, setQuick] = useState(false);\n const [location, setLocation] = useState(undefined as unknown as Location);\n if (location === undefined && (page === Page.Infiltration || page === Page.Location || page === Page.Job))\n throw new Error(\"Trying to go to a page without the proper setup\");\n\n const [cinematicText, setCinematicText] = useState(\"\");\n const [errorBoundaryKey, setErrorBoundaryKey] = useState(0);\n const [sidebarOpened, setSideBarOpened] = useState(Settings.IsSidebarOpened);\n\n const [importString, setImportString] = useState(undefined as unknown as string);\n const [importAutomatic, setImportAutomatic] = useState(false);\n if (importString === undefined && page === Page.ImportSave)\n throw new Error(\"Trying to go to a page without the proper setup\");\n\n const [allowRoutingCalls, setAllowRoutingCalls] = useState(true);\n\n function resetErrorBoundary(): void {\n setErrorBoundaryKey(errorBoundaryKey + 1);\n }\n\n function rerender(): void {\n setRerender((old) => old + 1);\n }\n useEffect(() => {\n return ITutorialEvents.subscribe(rerender);\n }, []);\n\n function killAllScripts(): void {\n for (const server of GetAllServers()) {\n server.runningScripts = [];\n }\n saveObject.saveGame();\n setTimeout(() => htmlLocation.reload(), 2000);\n }\n\n Router = {\n isInitialized: true,\n page: () => page,\n allowRouting: (value: boolean) => setAllowRoutingCalls(value),\n toActiveScripts: () => setPage(Page.ActiveScripts),\n toAugmentations: () => setPage(Page.Augmentations),\n toBladeburner: () => setPage(Page.Bladeburner),\n toStats: () => setPage(Page.Stats),\n toCorporation: () => setPage(Page.Corporation),\n toCreateProgram: () => setPage(Page.CreateProgram),\n toDevMenu: () => setPage(Page.DevMenu),\n toFaction: (faction: Faction, augPage = false) => {\n setAugPage(augPage);\n setPage(Page.Faction);\n if (faction) setFaction(faction);\n },\n toFactions: () => setPage(Page.Factions),\n toGameOptions: () => setPage(Page.Options),\n toGang: () => setPage(Page.Gang),\n toHacknetNodes: () => setPage(Page.Hacknet),\n toMilestones: () => setPage(Page.Milestones),\n toGrafting: () => setPage(Page.Grafting),\n toScriptEditor: (files: Record, options?: ScriptEditorRouteOptions) => {\n setEditorOptions({\n files,\n vim: !!options?.vim,\n });\n setPage(Page.ScriptEditor);\n },\n toSleeves: () => setPage(Page.Sleeves),\n toStockMarket: () => setPage(Page.StockMarket),\n toTerminal: () => setPage(Page.Terminal),\n toTutorial: () => setPage(Page.Tutorial),\n toJob: () => {\n setLocation(Locations[player.companyName]);\n setPage(Page.Job);\n },\n toCity: () => {\n setPage(Page.City);\n },\n toTravel: () => {\n player.gotoLocation(LocationName.TravelAgency);\n setPage(Page.Travel);\n },\n toBitVerse: (flume: boolean, quick: boolean) => {\n setFlume(flume);\n setQuick(quick);\n calculateAchievements();\n setPage(Page.BitVerse);\n },\n toInfiltration: (location: Location) => {\n setLocation(location);\n setPage(Page.Infiltration);\n },\n toWork: () => setPage(Page.Work),\n toBladeburnerCinematic: () => {\n setPage(Page.BladeburnerCinematic);\n setCinematicText(cinematicText);\n },\n toLocation: (location: Location) => {\n setLocation(location);\n setPage(Page.Location);\n },\n toStaneksGift: () => {\n setPage(Page.StaneksGift);\n },\n toAchievements: () => {\n setPage(Page.Achievements);\n },\n toThemeBrowser: () => {\n setPage(Page.ThemeBrowser);\n },\n toImportSave: (base64save: string, automatic = false) => {\n setImportString(base64save);\n setImportAutomatic(automatic);\n setPage(Page.ImportSave);\n },\n };\n\n useEffect(() => {\n // Wrap Router navigate functions to be able to disable the execution\n _functions(Router)\n .filter((fnName) => fnName.startsWith(\"to\"))\n .forEach((fnName) => {\n // @ts-ignore - tslint does not like this, couldn't find a way to make it cooperate\n Router[fnName] = _wrap(Router[fnName], (func, ...args) => {\n if (!allowRoutingCalls) {\n // Let's just log to console.\n console.log(`Routing is currently disabled - Attempted router.${fnName}()`);\n return;\n }\n\n // Call the function normally\n return func(...args);\n });\n });\n });\n\n useEffect(() => {\n if (page !== Page.Terminal) window.scrollTo(0, 0);\n });\n\n function softReset(): void {\n dialogBoxCreate(\"Soft Reset!\");\n installAugmentations(true);\n resetErrorBoundary();\n Router.toTerminal();\n }\n\n let mainPage = Cannot load;\n let withSidebar = true;\n let withPopups = true;\n let bypassGame = false;\n switch (page) {\n case Page.Recovery: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n bypassGame = true;\n break;\n }\n case Page.BitVerse: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n break;\n }\n case Page.Infiltration: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n break;\n }\n case Page.BladeburnerCinematic: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n break;\n }\n case Page.Work: {\n mainPage = ;\n withSidebar = false;\n break;\n }\n case Page.Terminal: {\n mainPage = ;\n break;\n }\n case Page.Sleeves: {\n mainPage = ;\n break;\n }\n case Page.StaneksGift: {\n mainPage = ;\n break;\n }\n case Page.Stats: {\n mainPage = ;\n break;\n }\n case Page.ScriptEditor: {\n mainPage = (\n \n );\n break;\n }\n case Page.ActiveScripts: {\n mainPage = ;\n break;\n }\n case Page.Hacknet: {\n mainPage = ;\n break;\n }\n case Page.CreateProgram: {\n mainPage = ;\n break;\n }\n case Page.Factions: {\n mainPage = ;\n break;\n }\n case Page.Faction: {\n mainPage = ;\n break;\n }\n case Page.Milestones: {\n mainPage = ;\n break;\n }\n case Page.Tutorial: {\n mainPage = (\n {\n prestigeAugmentation();\n Router.toTerminal();\n iTutorialStart();\n }}\n />\n );\n break;\n }\n case Page.DevMenu: {\n mainPage = ;\n break;\n }\n case Page.Gang: {\n mainPage = ;\n break;\n }\n case Page.Corporation: {\n mainPage = ;\n break;\n }\n case Page.Bladeburner: {\n mainPage = ;\n break;\n }\n case Page.Grafting: {\n mainPage = ;\n break;\n }\n case Page.Travel: {\n mainPage = ;\n break;\n }\n case Page.StockMarket: {\n mainPage = (\n \n );\n break;\n }\n case Page.City: {\n mainPage = ;\n break;\n }\n case Page.Job:\n case Page.Location: {\n mainPage = ;\n break;\n }\n case Page.Options: {\n mainPage = (\n saveObject.saveGame()}\n export={() => {\n // Apply the export bonus before saving the game\n onExport(player);\n saveObject.exportGame();\n }}\n forceKill={killAllScripts}\n softReset={softReset}\n />\n );\n break;\n }\n case Page.Augmentations: {\n mainPage = (\n {\n // Apply the export bonus before saving the game\n onExport(player);\n saveObject.exportGame();\n }}\n installAugmentationsFn={() => {\n installAugmentations();\n }}\n />\n );\n break;\n }\n case Page.Achievements: {\n mainPage = ;\n break;\n }\n case Page.ThemeBrowser: {\n mainPage = ;\n break;\n }\n case Page.ImportSave: {\n mainPage = ;\n withSidebar = false;\n withPopups = false;\n bypassGame = true;\n }\n }\n\n return (\n \n \n \n \n \n \n {!ITutorial.isRunning ? (\n saveObject.saveGame()} killScripts={killAllScripts} />\n ) : (\n \n )}\n \n {withSidebar ? (\n \n {\n setSideBarOpened(isOpened);\n Settings.IsSidebarOpened = isOpened;\n }}\n />\n {mainPage}\n \n ) : (\n {mainPage}\n )}\n \n {withPopups && (\n <>\n \n \n \n \n \n >\n )}\n \n \n \n \n \n \n );\n}\n","/**\n * Hacknet Servers - Reworked Hacknet Node mechanic for BitNode-9\n */\nimport { CONSTANTS } from \"../Constants\";\n\nimport { IHacknetNode } from \"./IHacknetNode\";\n\nimport { BaseServer } from \"../Server/BaseServer\";\nimport { RunningScript } from \"../Script/RunningScript\";\nimport { HacknetServerConstants } from \"./data/Constants\";\nimport {\n calculateHashGainRate,\n calculateLevelUpgradeCost,\n calculateRamUpgradeCost,\n calculateCoreUpgradeCost,\n calculateCacheUpgradeCost,\n} from \"./formulas/HacknetServers\";\n\nimport { createRandomIp } from \"../utils/IPAddress\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\n\ninterface IConstructorParams {\n adminRights?: boolean;\n hostname: string;\n ip?: string;\n isConnectedTo?: boolean;\n maxRam?: number;\n organizationName?: string;\n}\n\nexport class HacknetServer extends BaseServer implements IHacknetNode {\n // Cache level. Affects hash Capacity\n cache = 1;\n\n // Number of cores. Improves hash production\n cores = 1;\n\n // Number of hashes that can be stored by this Hacknet Server\n hashCapacity = 0;\n\n // Hashes produced per second\n hashRate = 0;\n\n // Similar to Node level. Improves hash production\n level = 1;\n\n // How long this HacknetServer has existed, in seconds\n onlineTimeSeconds = 0;\n\n // Total number of hashes earned by this server\n totalHashesGenerated = 0;\n\n // Flag indicating wehther this is a purchased server\n purchasedByPlayer = true;\n\n constructor(params: IConstructorParams = { hostname: \"\", ip: createRandomIp() }) {\n super(params);\n\n this.maxRam = 1;\n this.updateHashCapacity();\n }\n\n calculateCacheUpgradeCost(levels: number): number {\n return calculateCacheUpgradeCost(this.cache, levels);\n }\n\n calculateCoreUpgradeCost(levels: number, costMult: number): number {\n return calculateCoreUpgradeCost(this.cores, levels, costMult);\n }\n\n calculateLevelUpgradeCost(levels: number, costMult: number): number {\n return calculateLevelUpgradeCost(this.level, levels, costMult);\n }\n\n calculateRamUpgradeCost(levels: number, costMult: number): number {\n return calculateRamUpgradeCost(this.maxRam, levels, costMult);\n }\n\n // Process this Hacknet Server in the game loop. Returns the number of hashes generated\n process(numCycles = 1): number {\n const seconds = (numCycles * CONSTANTS.MilliPerCycle) / 1000;\n this.onlineTimeSeconds += seconds;\n\n const hashes = this.hashRate * seconds;\n this.totalHashesGenerated += hashes;\n\n return hashes;\n }\n\n upgradeCache(levels: number): void {\n this.cache = Math.min(HacknetServerConstants.MaxCache, Math.round(this.cache + levels));\n this.updateHashCapacity();\n }\n\n upgradeCore(levels: number, prodMult: number): void {\n this.cores = Math.min(HacknetServerConstants.MaxCores, Math.round(this.cores + levels));\n this.updateHashRate(prodMult);\n this.cpuCores = this.cores;\n }\n\n upgradeLevel(levels: number, prodMult: number): void {\n this.level = Math.min(HacknetServerConstants.MaxLevel, Math.round(this.level + levels));\n this.updateHashRate(prodMult);\n }\n\n upgradeRam(levels: number, prodMult: number): boolean {\n for (let i = 0; i < levels; ++i) {\n this.maxRam *= 2;\n }\n this.maxRam = Math.min(HacknetServerConstants.MaxRam, Math.round(this.maxRam));\n this.updateHashRate(prodMult);\n\n return true;\n }\n\n // Whenever a script is run, we must update this server's hash rate\n runScript(script: RunningScript, prodMult?: number): void {\n super.runScript(script);\n if (prodMult != null && typeof prodMult === \"number\") {\n this.updateHashRate(prodMult);\n }\n }\n\n updateRamUsed(ram: number, player: IPlayer): void {\n super.updateRamUsed(ram, player);\n this.updateHashRate(player.hacknet_node_money_mult);\n }\n\n updateHashCapacity(): void {\n this.hashCapacity = 32 * Math.pow(2, this.cache);\n }\n\n updateHashRate(prodMult: number): void {\n this.hashRate = calculateHashGainRate(this.level, this.ramUsed, this.maxRam, this.cores, prodMult);\n\n if (isNaN(this.hashRate)) {\n this.hashRate = 0;\n console.error(\n `Error calculating Hacknet Server hash production. This is a bug. Please report to game dev`,\n false,\n );\n }\n }\n\n // Serialize the current object to a JSON save state\n toJSON(): any {\n return Generic_toJSON(\"HacknetServer\", this);\n }\n\n // Initializes a HacknetServer Object from a JSON save state\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): HacknetServer {\n return Generic_fromJSON(HacknetServer, value.data);\n }\n}\n\nReviver.constructors.HacknetServer = HacknetServer;\n","// Constructs all CompanyPosition objects using the metadata in data/companypositions.ts\nimport { companyPositionMetadata } from \"./data/CompanyPositionsMetadata\";\nimport { CompanyPosition, IConstructorParams } from \"./CompanyPosition\";\nimport { IMap } from \"../types\";\n\nexport const CompanyPositions: IMap = {};\n\nfunction addCompanyPosition(params: IConstructorParams): void {\n if (CompanyPositions[params.name] != null) {\n console.warn(`Duplicate Company Position being defined: ${params.name}`);\n }\n CompanyPositions[params.name] = new CompanyPosition(params);\n}\n\ncompanyPositionMetadata.forEach((e) => {\n addCompanyPosition(e);\n});\n","import React from \"react\";\n\nimport { Typography, TableCell, TableRow } from \"@mui/material\";\n\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { formatNumber } from \"../../utils/StringHelperFunctions\";\nimport { characterOverviewStyles as useStyles } from \"./CharacterOverview\";\n\ninterface ITableRowData {\n content?: string;\n level?: number;\n exp?: number;\n}\n\ninterface IProps {\n name: string;\n color: string;\n classes?: any;\n data: ITableRowData;\n children?: React.ReactElement;\n}\n\nexport const StatsRow = ({ name, color, classes = useStyles(), children, data }: IProps): React.ReactElement => {\n let content;\n\n if (data.content !== undefined) {\n content = data.content;\n } else if (data.level !== undefined && data.exp !== undefined) {\n content = `${formatNumber(data.level, 0)} (${numeralWrapper.formatExp(data.exp)} exp)`;\n } else if (data.level !== undefined && data.exp === undefined) {\n content = `${formatNumber(data.level, 0)}`;\n }\n\n return (\n \n \n {name}\n \n \n {content ? {content} : <>>}\n {children}\n \n \n );\n};\n","/* Holds IP of Special Servers */\nexport const SpecialServers: {\n [key: string]: string | undefined;\n\n Home: string;\n FulcrumSecretTechnologies: string;\n CyberSecServer: string;\n NiteSecServer: string;\n TheBlackHandServer: string;\n BitRunnersServer: string;\n TheDarkArmyServer: string;\n DaedalusServer: string;\n WorldDaemon: string;\n DarkWeb: string;\n} = {\n Home: \"home\",\n FulcrumSecretTechnologies: \"fulcrumassets\",\n CyberSecServer: \"CSEC\",\n NiteSecServer: \"avmnite-02h\",\n TheBlackHandServer: \"I.I.I.I\",\n BitRunnersServer: \"run4theh111z\",\n TheDarkArmyServer: \".\",\n DaedalusServer: \"The-Cave\",\n WorldDaemon: \"w0r1d_d43m0n\",\n DarkWeb: \"darkweb\",\n};\n","import React, { useEffect } from \"react\";\nimport { useSnackbar, SnackbarProvider as SB } from \"notistack\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport { EventEmitter } from \"../../utils/EventEmitter\";\nimport Alert from \"@mui/material/Alert\";\nimport Paper from \"@mui/material/Paper\";\nimport { logBoxBaseZIndex } from \"./LogBoxManager\";\n\ninterface IProps {\n children: React.ReactNode | React.ReactNode[];\n}\n\nexport enum ToastVariant {\n SUCCESS = \"success\",\n WARNING = \"warning\",\n ERROR = \"error\",\n INFO = \"info\",\n}\n\nconst useStyles = makeStyles(() => ({\n snackbar: {\n // Log popup z-index increments, so let's add a padding to be well above them.\n zIndex: `${logBoxBaseZIndex + 1000} !important` as any,\n\n \"& .MuiAlert-icon\": {\n alignSelf: \"center\",\n },\n },\n}));\n\nexport function SnackbarProvider(props: IProps): React.ReactElement {\n const classes = useStyles();\n return (\n \n {props.children}\n \n );\n}\n\nexport const SnackbarEvents = new EventEmitter<[string | React.ReactNode, ToastVariant, number]>();\n\nexport function Snackbar(): React.ReactElement {\n const { enqueueSnackbar, closeSnackbar } = useSnackbar();\n\n useEffect(() =>\n SnackbarEvents.subscribe((s, variant, duration) => {\n const id = enqueueSnackbar({s}, {\n content: (k, m) => {m},\n variant: variant,\n autoHideDuration: duration,\n onClick: () => closeSnackbar(id),\n });\n }),\n );\n return <>>;\n}\n","import { IMap } from \"../../types\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\n\nexport const StockSymbols: IMap = {};\n\n// Stocks for companies at which you can work\nStockSymbols[LocationName.AevumECorp] = \"ECP\";\nStockSymbols[LocationName.Sector12MegaCorp] = \"MGCP\";\nStockSymbols[LocationName.Sector12BladeIndustries] = \"BLD\";\nStockSymbols[LocationName.AevumClarkeIncorporated] = \"CLRK\";\nStockSymbols[LocationName.VolhavenOmniTekIncorporated] = \"OMTK\";\nStockSymbols[LocationName.Sector12FourSigma] = \"FSIG\";\nStockSymbols[LocationName.ChongqingKuaiGongInternational] = \"KGI\";\nStockSymbols[LocationName.AevumFulcrumTechnologies] = \"FLCM\";\nStockSymbols[LocationName.IshimaStormTechnologies] = \"STM\";\nStockSymbols[LocationName.NewTokyoDefComm] = \"DCOMM\";\nStockSymbols[LocationName.VolhavenHeliosLabs] = \"HLS\";\nStockSymbols[LocationName.NewTokyoVitaLife] = \"VITA\";\nStockSymbols[LocationName.Sector12IcarusMicrosystems] = \"ICRS\";\nStockSymbols[LocationName.Sector12UniversalEnergy] = \"UNV\";\nStockSymbols[LocationName.AevumAeroCorp] = \"AERO\";\nStockSymbols[LocationName.VolhavenOmniaCybersystems] = \"OMN\";\nStockSymbols[LocationName.ChongqingSolarisSpaceSystems] = \"SLRS\";\nStockSymbols[LocationName.NewTokyoGlobalPharmaceuticals] = \"GPH\";\nStockSymbols[LocationName.IshimaNovaMedical] = \"NVMD\";\nStockSymbols[LocationName.AevumWatchdogSecurity] = \"WDS\";\nStockSymbols[LocationName.VolhavenLexoCorp] = \"LXO\";\nStockSymbols[LocationName.AevumRhoConstruction] = \"RHOC\";\nStockSymbols[LocationName.Sector12AlphaEnterprises] = \"APHE\";\nStockSymbols[LocationName.VolhavenSysCoreSecurities] = \"SYSC\";\nStockSymbols[LocationName.VolhavenCompuTek] = \"CTK\";\nStockSymbols[LocationName.AevumNetLinkTechnologies] = \"NTLK\";\nStockSymbols[LocationName.IshimaOmegaSoftware] = \"OMGA\";\nStockSymbols[LocationName.Sector12FoodNStuff] = \"FNS\";\nStockSymbols[LocationName.Sector12JoesGuns] = \"JGN\";\n\n// Stocks for other companies\nStockSymbols[\"Sigma Cosmetics\"] = \"SGC\";\nStockSymbols[\"Catalyst Ventures\"] = \"CTYS\";\nStockSymbols[\"Microdyne Technologies\"] = \"MDYN\";\nStockSymbols[\"Titan Laboratories\"] = \"TITN\";\n","export const validScriptExtensions: Array = [`.js`, `.script`, `.ns`];\n\nexport function isScriptFilename(f: string): boolean {\n return validScriptExtensions.some((ext) => f.endsWith(ext));\n}\n","import { Reviver } from \"../utils/JSONReviver\";\n\nimport { IStaneksGift } from \"./IStaneksGift\";\nimport { StaneksGift } from \"./StaneksGift\";\n\nexport let staneksGift: IStaneksGift = new StaneksGift();\n\nexport function loadStaneksGift(saveString: string): void {\n if (saveString) {\n staneksGift = JSON.parse(saveString, Reviver);\n } else {\n staneksGift = new StaneksGift();\n }\n}\n\nexport function zeros(dimensions: number[]): any {\n const array = [];\n\n for (let i = 0; i < dimensions[0]; ++i) {\n array.push(dimensions.length == 1 ? 0 : zeros(dimensions.slice(1)));\n }\n\n return array;\n}\n\nexport function calculateGrid(gift: IStaneksGift): number[][] {\n const newgrid = zeros([gift.width(), gift.height()]) as unknown as number[][];\n for (let i = 0; i < gift.width(); i++) {\n for (let j = 0; j < gift.height(); j++) {\n const fragment = gift.fragmentAt(i, j);\n if (!fragment) continue;\n newgrid[i][j] = 1;\n }\n }\n\n return newgrid;\n}\n","import { BitNodeMultipliers } from \"./BitNode/BitNodeMultipliers\";\nimport { IPlayer } from \"./PersonObjects/IPlayer\";\nimport { calculateIntelligenceBonus } from \"./PersonObjects/formulas/intelligence\";\nimport { Server } from \"./Server/Server\";\n\n/**\n * Returns the chance the player has to successfully hack a server\n */\nexport function calculateHackingChance(server: Server, player: IPlayer): number {\n const hackFactor = 1.75;\n const difficultyMult = (100 - server.hackDifficulty) / 100;\n const skillMult = hackFactor * player.hacking;\n const skillChance = (skillMult - server.requiredHackingSkill) / skillMult;\n const chance =\n skillChance * difficultyMult * player.hacking_chance_mult * calculateIntelligenceBonus(player.intelligence, 1);\n if (chance > 1) {\n return 1;\n }\n if (chance < 0) {\n return 0;\n }\n\n return chance;\n}\n\n/**\n * Returns the amount of hacking experience the player will gain upon\n * successfully hacking a server\n */\nexport function calculateHackingExpGain(server: Server, player: IPlayer): number {\n const baseExpGain = 3;\n const diffFactor = 0.3;\n if (server.baseDifficulty == null) {\n server.baseDifficulty = server.hackDifficulty;\n }\n let expGain = baseExpGain;\n expGain += server.baseDifficulty * diffFactor;\n\n return expGain * player.hacking_exp_mult * BitNodeMultipliers.HackExpGain;\n}\n\n/**\n * Returns the percentage of money that will be stolen from a server if\n * it is successfully hacked (returns the decimal form, not the actual percent value)\n */\nexport function calculatePercentMoneyHacked(server: Server, player: IPlayer): number {\n // Adjust if needed for balancing. This is the divisor for the final calculation\n const balanceFactor = 240;\n\n const difficultyMult = (100 - server.hackDifficulty) / 100;\n const skillMult = (player.hacking - (server.requiredHackingSkill - 1)) / player.hacking;\n const percentMoneyHacked =\n (difficultyMult * skillMult * player.hacking_money_mult * BitNodeMultipliers.ScriptHackMoney) / balanceFactor;\n if (percentMoneyHacked < 0) {\n return 0;\n }\n if (percentMoneyHacked > 1) {\n return 1;\n }\n\n return percentMoneyHacked;\n}\n\n/**\n * Returns time it takes to complete a hack on a server, in seconds\n */\nexport function calculateHackingTime(server: Server, player: IPlayer): number {\n const difficultyMult = server.requiredHackingSkill * server.hackDifficulty;\n\n const baseDiff = 500;\n const baseSkill = 50;\n const diffFactor = 2.5;\n let skillFactor = diffFactor * difficultyMult + baseDiff;\n // tslint:disable-next-line\n skillFactor /= player.hacking + baseSkill;\n\n const hackTimeMultiplier = 5;\n const hackingTime =\n (hackTimeMultiplier * skillFactor) /\n (player.hacking_speed_mult * calculateIntelligenceBonus(player.intelligence, 1));\n\n return hackingTime;\n}\n\n/**\n * Returns time it takes to complete a grow operation on a server, in seconds\n */\nexport function calculateGrowTime(server: Server, player: IPlayer): number {\n const growTimeMultiplier = 3.2; // Relative to hacking time. 16/5 = 3.2\n\n return growTimeMultiplier * calculateHackingTime(server, player);\n}\n\n/**\n * Returns time it takes to complete a weaken operation on a server, in seconds\n */\nexport function calculateWeakenTime(server: Server, player: IPlayer): number {\n const weakenTimeMultiplier = 4; // Relative to hacking time\n\n return weakenTimeMultiplier * calculateHackingTime(server, player);\n}\n","import { Augmentations } from \"../Augmentation/Augmentations\";\nimport { Augmentation } from \"../Augmentation/Augmentation\";\nimport { PlayerOwnedAugmentation } from \"../Augmentation/PlayerOwnedAugmentation\";\nimport { AugmentationNames } from \"../Augmentation/data/AugmentationNames\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\n\nimport { Faction } from \"./Faction\";\nimport { Factions } from \"./Factions\";\nimport { Player } from \"../Player\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { Settings } from \"../Settings/Settings\";\nimport {\n getHackingWorkRepGain,\n getFactionSecurityWorkRepGain,\n getFactionFieldWorkRepGain,\n} from \"../PersonObjects/formulas/reputation\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { InvitationEvent } from \"./ui/InvitationModal\";\nimport { FactionNames } from \"./data/FactionNames\";\nimport { updateAugmentationCosts, getNextNeuroFluxLevel } from \"../Augmentation/AugmentationHelpers\";\nimport { SFC32RNG } from \"../Casino/RNG\";\n\nexport function inviteToFaction(faction: Faction): void {\n Player.receiveInvite(faction.name);\n faction.alreadyInvited = true;\n if (!Settings.SuppressFactionInvites) {\n InvitationEvent.emit(faction);\n }\n}\n\nexport function joinFaction(faction: Faction): void {\n if (faction.isMember) return;\n faction.isMember = true;\n Player.factions.push(faction.name);\n const allFactions = Object.values(FactionNames).map((faction) => faction as string);\n Player.factions.sort((a, b) => allFactions.indexOf(a) - allFactions.indexOf(b));\n const factionInfo = faction.getInfo();\n\n //Determine what factions you are banned from now that you have joined this faction\n for (const enemy of factionInfo.enemies) {\n if (Factions[enemy] instanceof Faction) {\n Factions[enemy].isBanned = true;\n }\n }\n for (let i = 0; i < Player.factionInvitations.length; ++i) {\n if (Player.factionInvitations[i] == faction.name || Factions[Player.factionInvitations[i]].isBanned) {\n Player.factionInvitations.splice(i, 1);\n i--;\n }\n }\n}\n\n//Returns a boolean indicating whether the player has the prerequisites for the\n//specified Augmentation\nexport function hasAugmentationPrereqs(aug: Augmentation): boolean {\n let hasPrereqs = true;\n if (aug.prereqs && aug.prereqs.length > 0) {\n for (let i = 0; i < aug.prereqs.length; ++i) {\n const prereqAug = Augmentations[aug.prereqs[i]];\n if (prereqAug == null) {\n console.error(`Invalid prereq Augmentation ${aug.prereqs[i]}`);\n continue;\n }\n\n if (Player.hasAugmentation(prereqAug, true) === false) {\n hasPrereqs = false;\n\n // Check if the aug is purchased\n for (let j = 0; j < Player.queuedAugmentations.length; ++j) {\n if (Player.queuedAugmentations[j].name === prereqAug.name) {\n hasPrereqs = true;\n break;\n }\n }\n }\n }\n }\n\n return hasPrereqs;\n}\n\nexport function purchaseAugmentation(aug: Augmentation, fac: Faction, sing = false): string {\n const hasPrereqs = hasAugmentationPrereqs(aug);\n if (!hasPrereqs) {\n const txt = `You must first purchase or install ${aug.prereqs.join(\",\")} before you can purchase this one.`;\n if (sing) {\n return txt;\n } else {\n dialogBoxCreate(txt);\n }\n } else if (aug.baseCost !== 0 && Player.money < aug.baseCost) {\n const txt = \"You don't have enough money to purchase \" + aug.name;\n if (sing) {\n return txt;\n }\n dialogBoxCreate(txt);\n } else if (fac.playerReputation < aug.baseRepRequirement) {\n const txt = \"You don't have enough faction reputation to purchase \" + aug.name;\n if (sing) {\n return txt;\n }\n dialogBoxCreate(txt);\n } else if (aug.baseCost === 0 || Player.money >= aug.baseCost) {\n const queuedAugmentation = new PlayerOwnedAugmentation(aug.name);\n if (aug.name == AugmentationNames.NeuroFluxGovernor) {\n queuedAugmentation.level = getNextNeuroFluxLevel();\n }\n Player.queuedAugmentations.push(queuedAugmentation);\n\n Player.loseMoney(aug.baseCost, \"augmentations\");\n\n updateAugmentationCosts();\n\n if (sing) {\n return \"You purchased \" + aug.name;\n } else if (!Settings.SuppressBuyAugmentationConfirmation) {\n dialogBoxCreate(\n \"You purchased \" +\n aug.name +\n \". Its enhancements will not take \" +\n \"effect until they are installed. To install your augmentations, go to the \" +\n \"'Augmentations' tab on the left-hand navigation menu. Purchasing additional \" +\n \"augmentations will now be more expensive.\",\n );\n }\n } else {\n dialogBoxCreate(\n \"Hmm, something went wrong when trying to purchase an Augmentation. \" +\n \"Please report this to the game developer with an explanation of how to \" +\n \"reproduce this.\",\n );\n }\n return \"\";\n}\n\nexport function processPassiveFactionRepGain(numCycles: number): void {\n for (const name of Object.keys(Factions)) {\n if (name === Player.currentWorkFactionName) continue;\n if (!Factions.hasOwnProperty(name)) continue;\n const faction = Factions[name];\n if (!faction.isMember) continue;\n // No passive rep for special factions\n const info = faction.getInfo();\n if (!info.offersWork()) continue;\n // No passive rep for gangs.\n if (Player.getGangName() === name) continue;\n // 0 favor = 1%/s\n // 50 favor = 6%/s\n // 100 favor = 11%/s\n const favorMult = Math.min(0.1, faction.favor / 1000 + 0.01);\n // Find the best of all possible favor gain, minimum 1 rep / 2 minute.\n const hRep = getHackingWorkRepGain(Player, faction);\n const sRep = getFactionSecurityWorkRepGain(Player, faction);\n const fRep = getFactionFieldWorkRepGain(Player, faction);\n const rate = Math.max(hRep * favorMult, sRep * favorMult, fRep * favorMult, 1 / 120);\n\n faction.playerReputation += rate * numCycles * Player.faction_rep_mult * BitNodeMultipliers.FactionPassiveRepGain;\n }\n}\n\nexport const getFactionAugmentationsFiltered = (player: IPlayer, faction: Faction): string[] => {\n // If player has a gang with this faction, return (almost) all augmentations\n if (player.hasGangWith(faction.name)) {\n let augs = Object.values(Augmentations);\n\n // Remove special augs\n augs = augs.filter((a) => !a.isSpecial);\n\n const blacklist: string[] = [AugmentationNames.NeuroFluxGovernor, AugmentationNames.CongruityImplant];\n\n if (player.bitNodeN !== 2) {\n // TRP is not available outside of BN2 for Gangs\n blacklist.push(AugmentationNames.TheRedPill);\n }\n\n const rng = SFC32RNG(`BN${player.bitNodeN}.${player.sourceFileLvl(player.bitNodeN)}`);\n // Remove faction-unique augs that don't belong to this faction\n const uniqueFilter = (a: Augmentation): boolean => {\n // Keep all the non-unique one\n if (a.factions.length > 1) {\n return true;\n }\n // Keep all the ones that this faction has anyway.\n if (faction.augmentations.includes(a.name)) {\n return true;\n }\n\n return rng() >= 1 - BitNodeMultipliers.GangUniqueAugs;\n };\n augs = augs.filter(uniqueFilter);\n\n // Remove blacklisted augs\n augs = augs.filter((a) => !blacklist.includes(a.name));\n\n return augs.map((a) => a.name);\n }\n\n return faction.augmentations.slice();\n};\n","import { IOrderBook } from \"./IOrderBook\";\nimport { IStockMarket } from \"./IStockMarket\";\nimport { Order } from \"./Order\";\nimport { processOrders } from \"./OrderProcessing\";\nimport { Stock } from \"./Stock\";\nimport { TicksPerCycle } from \"./StockMarketConstants\";\nimport { InitStockMetadata } from \"./data/InitStockMetadata\";\nimport { OrderTypes } from \"./data/OrderTypes\";\nimport { PositionTypes } from \"./data/PositionTypes\";\nimport { StockSymbols } from \"./data/StockSymbols\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { WorkerScript } from \"../Netscript/WorkerScript\";\nimport { IMap } from \"../types\";\nimport { EventEmitter } from \"../utils/EventEmitter\";\n\nimport { numeralWrapper } from \"../ui/numeralFormat\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Reviver } from \"../utils/JSONReviver\";\n\nexport let StockMarket: IStockMarket = {\n lastUpdate: 0,\n Orders: {},\n storedCycles: 0,\n ticksUntilCycle: 0,\n} as IStockMarket; // Maps full stock name -> Stock object\nexport const SymbolToStockMap: IMap = {}; // Maps symbol -> Stock object\n\nexport function placeOrder(\n stock: Stock,\n shares: number,\n price: number,\n type: OrderTypes,\n position: PositionTypes,\n workerScript: WorkerScript | null = null,\n): boolean {\n if (!(stock instanceof Stock)) {\n if (workerScript) {\n workerScript.log(\"stock.placeOrder\", () => `Invalid stock: '${stock}'`);\n } else {\n dialogBoxCreate(`ERROR: Invalid stock passed to placeOrder() function`);\n }\n return false;\n }\n if (typeof shares !== \"number\" || typeof price !== \"number\") {\n if (workerScript) {\n workerScript.log(\"stock.placeOrder\", () => `Invalid arguments: shares='${shares}' price='${price}'`);\n } else {\n dialogBoxCreate(\"ERROR: Invalid numeric value provided for either 'shares' or 'price' argument\");\n }\n return false;\n }\n\n const order = new Order(stock.symbol, shares, price, type, position);\n if (StockMarket[\"Orders\"] == null) {\n const orders: IOrderBook = {};\n for (const name of Object.keys(StockMarket)) {\n const stk = StockMarket[name];\n if (!(stk instanceof Stock)) {\n continue;\n }\n orders[stk.symbol] = [];\n }\n StockMarket[\"Orders\"] = orders;\n }\n StockMarket[\"Orders\"][stock.symbol].push(order);\n\n // Process to see if it should be executed immediately\n const processOrderRefs = {\n stockMarket: StockMarket as IStockMarket,\n symbolToStockMap: SymbolToStockMap,\n };\n processOrders(stock, order.type, order.pos, processOrderRefs);\n\n return true;\n}\n\n// Returns true if successfully cancels an order, false otherwise\ninterface ICancelOrderParams {\n order?: Order;\n pos?: PositionTypes;\n price?: number;\n shares?: number;\n stock?: Stock;\n type?: OrderTypes;\n}\nexport function cancelOrder(params: ICancelOrderParams, workerScript: WorkerScript | null = null): boolean {\n if (StockMarket[\"Orders\"] == null) {\n return false;\n }\n if (params.order && params.order instanceof Order) {\n const order = params.order;\n // An 'Order' object is passed in\n const stockOrders = StockMarket[\"Orders\"][order.stockSymbol];\n for (let i = 0; i < stockOrders.length; ++i) {\n if (order == stockOrders[i]) {\n stockOrders.splice(i, 1);\n return true;\n }\n }\n return false;\n } else if (\n params.stock &&\n params.shares &&\n params.price &&\n params.type &&\n params.pos &&\n params.stock instanceof Stock\n ) {\n // Order properties are passed in. Need to look for the order\n const stockOrders = StockMarket[\"Orders\"][params.stock.symbol];\n const orderTxt = params.stock.symbol + \" - \" + params.shares + \" @ \" + numeralWrapper.formatMoney(params.price);\n for (let i = 0; i < stockOrders.length; ++i) {\n const order = stockOrders[i];\n if (\n params.shares === order.shares &&\n params.price === order.price &&\n params.type === order.type &&\n params.pos === order.pos\n ) {\n stockOrders.splice(i, 1);\n if (workerScript) {\n workerScript.scriptRef.log(\"Successfully cancelled order: \" + orderTxt);\n }\n return true;\n }\n }\n if (workerScript) {\n workerScript.scriptRef.log(\"Failed to cancel order: \" + orderTxt);\n }\n return false;\n }\n return false;\n}\n\nexport function loadStockMarket(saveString: string): void {\n if (saveString === \"\") {\n StockMarket = {\n lastUpdate: 0,\n Orders: {},\n storedCycles: 0,\n ticksUntilCycle: 0,\n } as IStockMarket;\n } else {\n StockMarket = JSON.parse(saveString, Reviver);\n }\n}\n\nexport function deleteStockMarket(): void {\n StockMarket = {\n lastUpdate: 0,\n Orders: {},\n storedCycles: 0,\n ticksUntilCycle: 0,\n } as IStockMarket;\n}\n\nexport function initStockMarket(): void {\n for (const stk of Object.keys(StockMarket)) {\n if (StockMarket.hasOwnProperty(stk)) {\n delete StockMarket[stk];\n }\n }\n\n for (const metadata of InitStockMetadata) {\n const name = metadata.name;\n StockMarket[name] = new Stock(metadata);\n }\n\n const orders: IOrderBook = {};\n for (const name of Object.keys(StockMarket)) {\n const stock = StockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n orders[stock.symbol] = [];\n }\n StockMarket[\"Orders\"] = orders;\n\n StockMarket.storedCycles = 0;\n StockMarket.lastUpdate = 0;\n StockMarket.ticksUntilCycle = TicksPerCycle;\n}\n\nexport function initSymbolToStockMap(): void {\n for (const name of Object.keys(StockSymbols)) {\n if (StockSymbols.hasOwnProperty(name)) {\n const stock = StockMarket[name];\n if (stock == null) {\n console.error(`Could not find Stock for ${name}`);\n continue;\n }\n const symbol = StockSymbols[name];\n SymbolToStockMap[symbol] = stock;\n }\n }\n}\n\nfunction stockMarketCycle(): void {\n for (const name of Object.keys(StockMarket)) {\n const stock = StockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n\n const roll = Math.random();\n if (roll < 0.45) {\n stock.b = !stock.b;\n stock.flipForecastForecast();\n }\n\n StockMarket.ticksUntilCycle = TicksPerCycle;\n }\n}\n\n// Stock prices updated every 6 seconds\nconst msPerStockUpdate = 6e3;\nconst cyclesPerStockUpdate = msPerStockUpdate / CONSTANTS.MilliPerCycle;\nexport function processStockPrices(numCycles = 1): void {\n if (StockMarket.storedCycles == null || isNaN(StockMarket.storedCycles)) {\n StockMarket.storedCycles = 0;\n }\n StockMarket.storedCycles += numCycles;\n\n if (StockMarket.storedCycles < cyclesPerStockUpdate) {\n return;\n }\n\n // We can process the update every 4 seconds as long as there are enough\n // stored cycles. This lets us account for offline time\n const timeNow = new Date().getTime();\n if (timeNow - StockMarket.lastUpdate < 4e3) {\n return;\n }\n\n StockMarket.lastUpdate = timeNow;\n StockMarket.storedCycles -= cyclesPerStockUpdate;\n\n // Cycle\n if (StockMarket.ticksUntilCycle == null || typeof StockMarket.ticksUntilCycle !== \"number\") {\n StockMarket.ticksUntilCycle = TicksPerCycle;\n }\n --StockMarket.ticksUntilCycle;\n if (StockMarket.ticksUntilCycle <= 0) {\n stockMarketCycle();\n }\n\n const v = Math.random();\n for (const name of Object.keys(StockMarket)) {\n const stock = StockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n let av = (v * stock.mv) / 100;\n if (isNaN(av)) {\n av = 0.02;\n }\n\n let chc = 50;\n if (stock.b) {\n chc = (chc + stock.otlkMag) / 100;\n } else {\n chc = (chc - stock.otlkMag) / 100;\n }\n if (stock.price >= stock.cap) {\n chc = 0.1; // \"Soft Limit\" on stock price. It could still go up but its unlikely\n stock.b = false;\n }\n if (isNaN(chc)) {\n chc = 0.5;\n }\n\n const c = Math.random();\n const processOrderRefs = {\n stockMarket: StockMarket,\n symbolToStockMap: SymbolToStockMap,\n };\n if (c < chc) {\n stock.changePrice(stock.price * (1 + av));\n processOrders(stock, OrderTypes.LimitBuy, PositionTypes.Short, processOrderRefs);\n processOrders(stock, OrderTypes.LimitSell, PositionTypes.Long, processOrderRefs);\n processOrders(stock, OrderTypes.StopBuy, PositionTypes.Long, processOrderRefs);\n processOrders(stock, OrderTypes.StopSell, PositionTypes.Short, processOrderRefs);\n } else {\n stock.changePrice(stock.price / (1 + av));\n processOrders(stock, OrderTypes.LimitBuy, PositionTypes.Long, processOrderRefs);\n processOrders(stock, OrderTypes.LimitSell, PositionTypes.Short, processOrderRefs);\n processOrders(stock, OrderTypes.StopBuy, PositionTypes.Short, processOrderRefs);\n processOrders(stock, OrderTypes.StopSell, PositionTypes.Long, processOrderRefs);\n }\n\n let otlkMagChange = stock.otlkMag * av;\n if (stock.otlkMag < 5) {\n if (stock.otlkMag <= 1) {\n otlkMagChange = 1;\n } else {\n otlkMagChange *= 10;\n }\n }\n stock.cycleForecast(otlkMagChange);\n stock.cycleForecastForecast(otlkMagChange / 2);\n\n // Shares required for price movement gradually approaches max over time\n stock.shareTxUntilMovement = Math.min(stock.shareTxUntilMovement + 10, stock.shareTxForMovement);\n }\n}\n\nexport function initStockMarketFn(): void {\n initStockMarket();\n initSymbolToStockMap();\n}\n\nexport const eventEmitterForUiReset = new EventEmitter<[]>();\n","/*\nThe game cannot block every possible exploits. Specially since one of them is\nthat you can just edit your save file and that's impragmatic to prevent.\n\nSo instead we have source file minus 1. It is not obtained by destroying a\nBitNode but instead it is awarded when the player finds innovative ways to break\nthe game, this serves 2 purpose, [one] the developpers don't have to spend time\ntrying to implement anti-cheat measures and [two] finding ways to break a\nhacking game is very much in the spirit of the game.\nSource-File minus 1 is extremely weak because it can be fully level up quickly.\n*/\n\nexport enum Exploit {\n Bypass = \"Bypass\",\n PrototypeTampering = \"PrototypeTampering\",\n Unclickable = \"Unclickable\",\n UndocumentedFunctionCall = \"UndocumentedFunctionCall\",\n TimeCompression = \"TimeCompression\",\n RealityAlteration = \"RealityAlteration\",\n N00dles = \"N00dles\",\n YoureNotMeantToAccessThis = \"YoureNotMeantToAccessThis\",\n TrueRecursion = \"TrueRecursion\",\n INeedARainbow = \"INeedARainbow\",\n // To the players reading this. Yes you're supposed to add EditSaveFile by\n // editing your save file, yes you could add them all, no we don't care\n // that's not the point.\n EditSaveFile = \"EditSaveFile\",\n}\n\nconst names: {\n [key: string]: string;\n} = {\n Bypass: \"by circumventing the ram cost of document.\",\n EditSaveFile: \"by editing your save file.\",\n PrototypeTampering: \"by tampering with Numbers prototype.\",\n TimeCompression: \"by compressing time.\",\n Unclickable: \"by clicking the unclickable.\",\n UndocumentedFunctionCall: \"by looking beyond the documentation.\",\n RealityAlteration: \"by altering reality to suit your whims.\",\n N00dles: \"by harnessing the power of the n00dles.\",\n YoureNotMeantToAccessThis: \"by accessing the dev menu.\",\n TrueRecursion: \"by truly recursing.\",\n INeedARainbow: \"by using the power of the rainbow.\",\n};\n\nexport function ExploitName(exploit: string): string {\n return names[exploit];\n}\n\nexport function sanitizeExploits(exploits: Exploit[]): Exploit[] {\n exploits = exploits.filter((e: Exploit) => Object.keys(Exploit).includes(e));\n return [...new Set(exploits)];\n}\n","import { isString } from \"./utils/helpers/isString\";\nimport { GetServer } from \"./Server/AllServers\";\nimport { ScriptDeath } from \"./Netscript/ScriptDeath\";\nimport { WorkerScript } from \"./Netscript/WorkerScript\";\n\nexport function netscriptDelay(time: number, workerScript: WorkerScript): Promise {\n // Cancel any pre-existing netscriptDelay'ed function call\n // TODO: the rejection almost certainly ends up in the uncaught rejection handler.\n // Maybe reject with a stack-trace'd error message?\n if (workerScript.delayReject) workerScript.delayReject();\n\n return new Promise(function (resolve, reject) {\n workerScript.delay = window.setTimeout(() => {\n workerScript.delay = null;\n workerScript.delayReject = undefined;\n\n if (workerScript.env.stopFlag) reject(new ScriptDeath(workerScript));\n else resolve();\n }, time);\n workerScript.delayReject = reject;\n });\n}\n\nexport function makeRuntimeRejectMsg(workerScript: WorkerScript, msg: string): string {\n const server = GetServer(workerScript.hostname);\n if (server == null) {\n throw new Error(`WorkerScript constructed with invalid server ip: ${workerScript.hostname}`);\n }\n\n for (const scriptUrl of workerScript.scriptRef.dependencies) {\n // Return just the original msg if it's nullish so that we don't get a workerscript error\n msg = msg?.replace(new RegExp(scriptUrl.url, \"g\"), scriptUrl.filename) ?? msg;\n }\n\n return \"|DELIMITER|\" + server.hostname + \"|DELIMITER|\" + workerScript.name + \"|DELIMITER|\" + msg;\n}\n\nexport function resolveNetscriptRequestedThreads(\n workerScript: WorkerScript,\n functionName: string,\n requestedThreads: number,\n): number {\n const threads = workerScript.scriptRef.threads;\n if (!requestedThreads) {\n return isNaN(threads) || threads < 1 ? 1 : threads;\n }\n const requestedThreadsAsInt = requestedThreads | 0;\n if (isNaN(requestedThreads) || requestedThreadsAsInt < 1) {\n throw makeRuntimeRejectMsg(\n workerScript,\n `Invalid thread count passed to ${functionName}: ${requestedThreads}. Threads must be a positive number.`,\n );\n }\n if (requestedThreadsAsInt > threads) {\n throw makeRuntimeRejectMsg(\n workerScript,\n `Too many threads requested by ${functionName}. Requested: ${requestedThreads}. Has: ${threads}.`,\n );\n }\n return requestedThreadsAsInt;\n}\n\nexport function isScriptErrorMessage(msg: string): boolean {\n if (!isString(msg)) {\n return false;\n }\n const splitMsg = msg.split(\"|DELIMITER|\");\n return splitMsg.length == 4;\n}\n","import { Augmentation } from \"./Augmentation\";\nimport { Augmentations } from \"./Augmentations\";\nimport { PlayerOwnedAugmentation, IPlayerOwnedAugmentation } from \"./PlayerOwnedAugmentation\";\nimport { AugmentationNames } from \"./data/AugmentationNames\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { Factions, factionExists } from \"../Faction/Factions\";\nimport { Player } from \"../Player\";\nimport { prestigeAugmentation } from \"../Prestige\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { clearObject } from \"../utils/helpers/clearObject\";\n\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport {\n initBladeburnerAugmentations,\n initChurchOfTheMachineGodAugmentations,\n initGeneralAugmentations,\n initSoAAugmentations,\n initNeuroFluxGovernor,\n initUnstableCircadianModulator,\n} from \"./data/AugmentationCreator\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { Router } from \"../ui/GameRoot\";\n\nexport function AddToAugmentations(aug: Augmentation): void {\n const name = aug.name;\n Augmentations[name] = aug;\n}\n\nexport function getNextNeuroFluxLevel(): number {\n // Get current Neuroflux level based on Player's augmentations\n let currLevel = 0;\n for (let i = 0; i < Player.augmentations.length; ++i) {\n if (Player.augmentations[i].name === AugmentationNames.NeuroFluxGovernor) {\n currLevel = Player.augmentations[i].level;\n }\n }\n\n // Account for purchased but uninstalled Augmentations\n for (let i = 0; i < Player.queuedAugmentations.length; ++i) {\n if (Player.queuedAugmentations[i].name == AugmentationNames.NeuroFluxGovernor) {\n ++currLevel;\n }\n }\n return currLevel + 1;\n}\n\nfunction createAugmentations(): void {\n [\n initNeuroFluxGovernor(),\n initUnstableCircadianModulator(),\n ...initGeneralAugmentations(),\n ...initSoAAugmentations(),\n ...(factionExists(FactionNames.Bladeburners) ? initBladeburnerAugmentations() : []),\n ...(factionExists(FactionNames.ChurchOfTheMachineGod) ? initChurchOfTheMachineGodAugmentations() : []),\n ].map(resetAugmentation);\n}\n\nfunction resetFactionAugmentations(): void {\n for (const name of Object.keys(Factions)) {\n if (Factions.hasOwnProperty(name)) {\n Factions[name].augmentations = [];\n }\n }\n}\n\nfunction initAugmentations(): void {\n resetFactionAugmentations();\n clearObject(Augmentations);\n createAugmentations();\n updateAugmentationCosts();\n Player.reapplyAllAugmentations();\n}\n\nfunction getBaseAugmentationPriceMultiplier(): number {\n return CONSTANTS.MultipleAugMultiplier * [1, 0.96, 0.94, 0.93][Player.sourceFileLvl(11)];\n}\nexport function getGenericAugmentationPriceMultiplier(): number {\n return Math.pow(getBaseAugmentationPriceMultiplier(), Player.queuedAugmentations.length);\n}\n\nfunction updateNeuroFluxGovernorCosts(neuroFluxGovernorAugmentation: Augmentation): void {\n let nextLevel = getNextNeuroFluxLevel();\n --nextLevel;\n const multiplier = Math.pow(CONSTANTS.NeuroFluxGovernorLevelMult, nextLevel);\n neuroFluxGovernorAugmentation.baseRepRequirement =\n neuroFluxGovernorAugmentation.startingRepRequirement * multiplier * BitNodeMultipliers.AugmentationRepCost;\n neuroFluxGovernorAugmentation.baseCost =\n neuroFluxGovernorAugmentation.startingCost * multiplier * BitNodeMultipliers.AugmentationMoneyCost;\n\n for (let i = 0; i < Player.queuedAugmentations.length; ++i) {\n neuroFluxGovernorAugmentation.baseCost *= getBaseAugmentationPriceMultiplier();\n }\n}\n\nfunction updateSoACosts(soaAugmentation: Augmentation): void {\n const soaAugmentationNames = initSoAAugmentations().map((augmentation) => augmentation.name);\n const soaAugCount = soaAugmentationNames.filter((augmentationName) =>\n Player.hasAugmentation(augmentationName),\n ).length;\n soaAugmentation.baseCost = soaAugmentation.startingCost * Math.pow(CONSTANTS.SoACostMult, soaAugCount);\n if (soaAugmentationNames.find((augmentationName) => augmentationName === soaAugmentation.name)) {\n soaAugmentation.baseRepRequirement =\n soaAugmentation.startingRepRequirement * Math.pow(CONSTANTS.SoARepMult, soaAugCount);\n }\n}\n\nexport function updateAugmentationCosts(): void {\n for (const name of Object.keys(Augmentations)) {\n if (Augmentations.hasOwnProperty(name)) {\n const augmentationToUpdate = Augmentations[name];\n if (augmentationToUpdate.name === AugmentationNames.NeuroFluxGovernor) {\n updateNeuroFluxGovernorCosts(augmentationToUpdate);\n } else if (augmentationToUpdate.factions.includes(FactionNames.ShadowsOfAnarchy)) {\n updateSoACosts(augmentationToUpdate);\n } else {\n augmentationToUpdate.baseCost =\n augmentationToUpdate.startingCost *\n getGenericAugmentationPriceMultiplier() *\n BitNodeMultipliers.AugmentationMoneyCost;\n }\n }\n }\n}\n\n//Resets an Augmentation during (re-initizliation)\nfunction resetAugmentation(aug: Augmentation): void {\n aug.addToFactions(aug.factions);\n const name = aug.name;\n if (augmentationExists(name)) {\n delete Augmentations[name];\n }\n AddToAugmentations(aug);\n}\n\nfunction applyAugmentation(aug: IPlayerOwnedAugmentation, reapply = false): void {\n const augObj = Augmentations[aug.name];\n\n // Apply multipliers\n for (const mult of Object.keys(augObj.mults)) {\n const v = Player.getMult(mult) * augObj.mults[mult];\n Player.setMult(mult, v);\n }\n\n // Special logic for NeuroFlux Governor\n if (aug.name === AugmentationNames.NeuroFluxGovernor) {\n if (!reapply) {\n Augmentations[aug.name].level = aug.level;\n for (let i = 0; i < Player.augmentations.length; ++i) {\n if (Player.augmentations[i].name == AugmentationNames.NeuroFluxGovernor) {\n Player.augmentations[i].level = aug.level;\n return;\n // break;\n }\n }\n }\n }\n\n // Special logic for Congruity Implant\n if (aug.name === AugmentationNames.CongruityImplant && !reapply) {\n Player.entropy = 0;\n Player.applyEntropy(Player.entropy);\n }\n\n // Push onto Player's Augmentation list\n if (!reapply) {\n const ownedAug = new PlayerOwnedAugmentation(aug.name);\n Player.augmentations.push(ownedAug);\n }\n}\n\nfunction installAugmentations(force?: boolean): boolean {\n if (Player.queuedAugmentations.length == 0 && !force) {\n dialogBoxCreate(\"You have not purchased any Augmentations to install!\");\n return false;\n }\n let augmentationList = \"\";\n let nfgIndex = -1;\n for (let i = Player.queuedAugmentations.length - 1; i >= 0; i--) {\n if (Player.queuedAugmentations[i].name === AugmentationNames.NeuroFluxGovernor) {\n nfgIndex = i;\n break;\n }\n }\n for (let i = 0; i < Player.queuedAugmentations.length; ++i) {\n const ownedAug = Player.queuedAugmentations[i];\n const aug = Augmentations[ownedAug.name];\n if (aug == null) {\n console.error(`Invalid augmentation: ${ownedAug.name}`);\n continue;\n }\n\n applyAugmentation(Player.queuedAugmentations[i]);\n if (ownedAug.name === AugmentationNames.NeuroFluxGovernor && i !== nfgIndex) continue;\n\n let level = \"\";\n if (ownedAug.name === AugmentationNames.NeuroFluxGovernor) {\n level = ` - ${ownedAug.level}`;\n }\n augmentationList += aug.name + level + \" \";\n }\n Player.queuedAugmentations = [];\n if (!force) {\n dialogBoxCreate(\n \"You slowly drift to sleep as scientists put you under in order \" +\n \"to install the following Augmentations: \" +\n augmentationList +\n \" You wake up in your home...you feel different...\",\n );\n }\n prestigeAugmentation();\n Router.toTerminal();\n return true;\n}\n\nfunction augmentationExists(name: string): boolean {\n return Augmentations.hasOwnProperty(name);\n}\n\nexport function isRepeatableAug(aug: Augmentation): boolean {\n const augName = aug instanceof Augmentation ? aug.name : aug;\n return augName === AugmentationNames.NeuroFluxGovernor;\n}\n\nexport { installAugmentations, initAugmentations, applyAugmentation, augmentationExists };\n","import { loadAliases, loadGlobalAliases, Aliases, GlobalAliases } from \"./Alias\";\nimport { Companies, loadCompanies } from \"./Company/Companies\";\nimport { CONSTANTS } from \"./Constants\";\nimport { Factions, loadFactions } from \"./Faction/Factions\";\nimport { loadAllGangs, AllGangs } from \"./Gang/AllGangs\";\nimport { Player, loadPlayer } from \"./Player\";\nimport { saveAllServers, loadAllServers, GetAllServers } from \"./Server/AllServers\";\nimport { Settings } from \"./Settings/Settings\";\nimport { loadStockMarket, StockMarket } from \"./StockMarket/StockMarket\";\nimport { staneksGift, loadStaneksGift } from \"./CotMG/Helper\";\n\nimport { SnackbarEvents, ToastVariant } from \"./ui/React/Snackbar\";\n\nimport * as ExportBonus from \"./ExportBonus\";\n\nimport { dialogBoxCreate } from \"./ui/React/DialogBox\";\nimport { Reviver, Generic_toJSON, Generic_fromJSON } from \"./utils/JSONReviver\";\nimport { save } from \"./db\";\nimport { v1APIBreak } from \"./utils/v1APIBreak\";\nimport { AugmentationNames } from \"./Augmentation/data/AugmentationNames\";\nimport { PlayerOwnedAugmentation } from \"./Augmentation/PlayerOwnedAugmentation\";\nimport { LocationName } from \"./Locations/data/LocationNames\";\nimport { SxProps } from \"@mui/system\";\nimport { PlayerObject } from \"./PersonObjects/Player/PlayerObject\";\nimport { pushGameSaved } from \"./Electron\";\nimport { defaultMonacoTheme } from \"./ScriptEditor/ui/themes\";\nimport { FactionNames } from \"./Faction/data/FactionNames\";\nimport { Faction } from \"./Faction/Faction\";\n\n/* SaveObject.js\n * Defines the object used to save/load games\n */\n\nexport interface SaveData {\n playerIdentifier: string;\n fileName: string;\n save: string;\n savedOn: number;\n}\n\nexport interface ImportData {\n base64: string;\n parsed: any;\n playerData?: ImportPlayerData;\n}\n\nexport interface ImportPlayerData {\n identifier: string;\n lastSave: number;\n totalPlaytime: number;\n\n money: number;\n hacking: number;\n\n augmentations: number;\n factions: number;\n achievements: number;\n\n bitNode: number;\n bitNodeLevel: number;\n sourceFiles: number;\n}\n\nclass BitburnerSaveObject {\n PlayerSave = \"\";\n AllServersSave = \"\";\n CompaniesSave = \"\";\n FactionsSave = \"\";\n AliasesSave = \"\";\n GlobalAliasesSave = \"\";\n StockMarketSave = \"\";\n SettingsSave = \"\";\n VersionSave = \"\";\n AllGangsSave = \"\";\n LastExportBonus = \"\";\n StaneksGiftSave = \"\";\n\n getSaveString(excludeRunningScripts = false): string {\n this.PlayerSave = JSON.stringify(Player);\n\n this.AllServersSave = saveAllServers(excludeRunningScripts);\n this.CompaniesSave = JSON.stringify(Companies);\n this.FactionsSave = JSON.stringify(Factions);\n this.AliasesSave = JSON.stringify(Aliases);\n this.GlobalAliasesSave = JSON.stringify(GlobalAliases);\n this.StockMarketSave = JSON.stringify(StockMarket);\n this.SettingsSave = JSON.stringify(Settings);\n this.VersionSave = JSON.stringify(CONSTANTS.VersionNumber);\n this.LastExportBonus = JSON.stringify(ExportBonus.LastExportBonus);\n this.StaneksGiftSave = JSON.stringify(staneksGift);\n\n if (Player.inGang()) {\n this.AllGangsSave = JSON.stringify(AllGangs);\n }\n const saveString = btoa(unescape(encodeURIComponent(JSON.stringify(this))));\n\n return saveString;\n }\n\n saveGame(emitToastEvent = true): Promise {\n const savedOn = new Date().getTime();\n Player.lastSave = savedOn;\n const saveString = this.getSaveString(Settings.ExcludeRunningScriptsFromSave);\n return new Promise((resolve, reject) => {\n save(saveString)\n .then(() => {\n const saveData: SaveData = {\n playerIdentifier: Player.identifier,\n fileName: this.getSaveFileName(),\n save: saveString,\n savedOn,\n };\n pushGameSaved(saveData);\n\n if (emitToastEvent) {\n SnackbarEvents.emit(\"Game Saved!\", ToastVariant.INFO, 2000);\n }\n return resolve();\n })\n .catch((err) => {\n console.error(err);\n return reject();\n });\n });\n }\n\n getSaveFileName(isRecovery = false): string {\n // Save file name is based on current timestamp and BitNode\n const epochTime = Math.round(Date.now() / 1000);\n const bn = Player.bitNodeN;\n let filename = `bitburnerSave_${epochTime}_BN${bn}x${Player.sourceFileLvl(bn) + 1}.json`;\n if (isRecovery) filename = \"RECOVERY\" + filename;\n return filename;\n }\n\n exportGame(): void {\n const saveString = this.getSaveString(Settings.ExcludeRunningScriptsFromSave);\n const filename = this.getSaveFileName();\n download(filename, saveString);\n }\n\n importGame(base64Save: string, reload = true): Promise {\n if (!base64Save || base64Save === \"\") throw new Error(\"Invalid import string\");\n return save(base64Save).then(() => {\n if (reload) setTimeout(() => location.reload(), 1000);\n return Promise.resolve();\n });\n }\n\n getImportStringFromFile(files: FileList | null): Promise {\n if (files === null) return Promise.reject(new Error(\"No file selected\"));\n const file = files[0];\n if (!file) return Promise.reject(new Error(\"Invalid file selected\"));\n\n const reader = new FileReader();\n const promise: Promise = new Promise((resolve, reject) => {\n reader.onload = function (this: FileReader, e: ProgressEvent) {\n const target = e.target;\n if (target === null) {\n return reject(new Error(\"Error importing file\"));\n }\n const result = target.result;\n if (typeof result !== \"string\") {\n return reject(new Error(\"FileReader event was not type string\"));\n }\n const contents = result;\n resolve(contents);\n };\n });\n reader.readAsText(file);\n return promise;\n }\n\n async getImportDataFromString(base64Save: string): Promise {\n if (!base64Save || base64Save === \"\") throw new Error(\"Invalid import string\");\n\n let newSave;\n try {\n newSave = window.atob(base64Save);\n newSave = newSave.trim();\n } catch (error) {\n console.error(error); // We'll handle below\n }\n\n if (!newSave || newSave === \"\") {\n return Promise.reject(new Error(\"Save game had not content or was not base64 encoded\"));\n }\n\n let parsedSave;\n try {\n parsedSave = JSON.parse(newSave);\n } catch (error) {\n console.log(error); // We'll handle below\n }\n\n if (!parsedSave || parsedSave.ctor !== \"BitburnerSaveObject\" || !parsedSave.data) {\n return Promise.reject(new Error(\"Save game did not seem valid\"));\n }\n\n const data: ImportData = {\n base64: base64Save,\n parsed: parsedSave,\n };\n\n const importedPlayer = PlayerObject.fromJSON(JSON.parse(parsedSave.data.PlayerSave));\n\n const playerData: ImportPlayerData = {\n identifier: importedPlayer.identifier,\n lastSave: importedPlayer.lastSave,\n totalPlaytime: importedPlayer.totalPlaytime,\n\n money: importedPlayer.money,\n hacking: importedPlayer.hacking,\n\n augmentations: importedPlayer.augmentations?.reduce((total, current) => (total += current.level), 0) ?? 0,\n factions: importedPlayer.factions?.length ?? 0,\n achievements: importedPlayer.achievements?.length ?? 0,\n\n bitNode: importedPlayer.bitNodeN,\n bitNodeLevel: importedPlayer.sourceFileLvl(Player.bitNodeN) + 1,\n sourceFiles: importedPlayer.sourceFiles?.reduce((total, current) => (total += current.lvl), 0) ?? 0,\n };\n\n data.playerData = playerData;\n return Promise.resolve(data);\n }\n\n toJSON(): any {\n return Generic_toJSON(\"BitburnerSaveObject\", this);\n }\n\n static fromJSON(value: { data: any }): BitburnerSaveObject {\n return Generic_fromJSON(BitburnerSaveObject, value.data);\n }\n}\n\n// Makes necessary changes to the loaded/imported data to ensure\n// the game stills works with new versions\nfunction evaluateVersionCompatibility(ver: string | number): void {\n // We have to do this because ts won't let us otherwise\n const anyPlayer = Player as any;\n if (typeof ver === \"string\") {\n // This version refactored the Company/job-related code\n if (ver <= \"0.41.2\") {\n // Player's company position is now a string\n if (anyPlayer.companyPosition != null && typeof anyPlayer.companyPosition !== \"string\") {\n anyPlayer.companyPosition = anyPlayer.companyPosition.data.positionName;\n if (anyPlayer.companyPosition == null) {\n anyPlayer.companyPosition = \"\";\n }\n }\n\n // The \"companyName\" property of all Companies is renamed to \"name\"\n for (const companyName of Object.keys(Companies)) {\n const company: any = Companies[companyName];\n if (company.name == 0 && company.companyName != null) {\n company.name = company.companyName;\n }\n\n if (company.companyPositions instanceof Array) {\n const pos: any = {};\n\n for (let i = 0; i < company.companyPositions.length; ++i) {\n pos[company.companyPositions[i]] = true;\n }\n company.companyPositions = pos;\n }\n }\n }\n\n // This version allowed players to hold multiple jobs\n if (ver < \"0.43.0\") {\n if (anyPlayer.companyName !== \"\" && anyPlayer.companyPosition != null && anyPlayer.companyPosition !== \"\") {\n anyPlayer.jobs[anyPlayer.companyName] = anyPlayer.companyPosition;\n }\n\n delete anyPlayer.companyPosition;\n }\n if (ver < \"0.56.0\") {\n for (const q of anyPlayer.queuedAugmentations) {\n if (q.name === \"Graphene BranchiBlades Upgrade\") {\n q.name = \"Graphene BrachiBlades Upgrade\";\n }\n }\n for (const q of anyPlayer.augmentations) {\n if (q.name === \"Graphene BranchiBlades Upgrade\") {\n q.name = \"Graphene BrachiBlades Upgrade\";\n }\n }\n }\n if (ver < \"0.56.1\") {\n if (anyPlayer.bladeburner === 0) {\n anyPlayer.bladeburner = null;\n }\n if (anyPlayer.gang === 0) {\n anyPlayer.gang = null;\n }\n if (anyPlayer.corporation === 0) {\n anyPlayer.corporation = null;\n }\n // convert all Messages to just filename to save space.\n const home = anyPlayer.getHomeComputer();\n for (let i = 0; i < home.messages.length; i++) {\n if (home.messages[i].filename) {\n home.messages[i] = home.messages[i].filename;\n }\n }\n }\n if (ver < \"0.58.0\") {\n const changes: [RegExp, string][] = [\n [/getStockSymbols/g, \"stock.getSymbols\"],\n [/getStockPrice/g, \"stock.getPrice\"],\n [/getStockAskPrice/g, \"stock.getAskPrice\"],\n [/getStockBidPrice/g, \"stock.getBidPrice\"],\n [/getStockPosition/g, \"stock.getPosition\"],\n [/getStockMaxShares/g, \"stock.getMaxShares\"],\n [/getStockPurchaseCost/g, \"stock.getPurchaseCost\"],\n [/getStockSaleGain/g, \"stock.getSaleGain\"],\n [/buyStock/g, \"stock.buy\"],\n [/sellStock/g, \"stock.sell\"],\n [/shortStock/g, \"stock.short\"],\n [/sellShort/g, \"stock.sellShort\"],\n [/placeOrder/g, \"stock.placeOrder\"],\n [/cancelOrder/g, \"stock.cancelOrder\"],\n [/getOrders/g, \"stock.getOrders\"],\n [/getStockVolatility/g, \"stock.getVolatility\"],\n [/getStockForecast/g, \"stock.getForecast\"],\n [/purchase4SMarketData/g, \"stock.purchase4SMarketData\"],\n [/purchase4SMarketDataTixApi/g, \"stock.purchase4SMarketDataTixApi\"],\n ];\n function convert(code: string): string {\n for (const change of changes) {\n code = code.replace(change[0], change[1]);\n }\n return code;\n }\n for (const server of GetAllServers()) {\n for (const script of server.scripts) {\n script.code = convert(script.code);\n }\n }\n }\n v1APIBreak();\n ver = 1;\n }\n if (typeof ver === \"number\") {\n if (ver < 2) {\n // Give 10 neuroflux because v1 API break.\n const nf = Player.augmentations.find((a) => a.name === AugmentationNames.NeuroFluxGovernor);\n if (nf) {\n nf.level += 10;\n } else {\n const nf = new PlayerOwnedAugmentation(AugmentationNames.NeuroFluxGovernor);\n nf.level = 10;\n Player.augmentations.push(nf);\n }\n Player.reapplyAllAugmentations(true);\n Player.reapplyAllSourceFiles();\n }\n if (ver < 3) {\n anyPlayer.money = parseFloat(anyPlayer.money);\n if (anyPlayer.corporation) {\n anyPlayer.corporation.funds = parseFloat(anyPlayer.corporation.funds);\n anyPlayer.corporation.revenue = parseFloat(anyPlayer.corporation.revenue);\n anyPlayer.corporation.expenses = parseFloat(anyPlayer.corporation.expenses);\n\n for (let i = 0; i < anyPlayer.corporation.divisions.length; ++i) {\n const ind = anyPlayer.corporation.divisions[i];\n ind.lastCycleRevenue = parseFloat(ind.lastCycleRevenue);\n ind.lastCycleExpenses = parseFloat(ind.lastCycleExpenses);\n ind.thisCycleRevenue = parseFloat(ind.thisCycleRevenue);\n ind.thisCycleExpenses = parseFloat(ind.thisCycleExpenses);\n }\n }\n }\n if (ver < 9) {\n if (StockMarket.hasOwnProperty(\"Joes Guns\")) {\n const s = StockMarket[\"Joes Guns\"];\n delete StockMarket[\"Joes Guns\"];\n StockMarket[LocationName.Sector12JoesGuns] = s;\n }\n }\n if (ver < 10) {\n // Augmentation name was changed in 0.56.0 but sleeves aug list was missed.\n if (anyPlayer.sleeves && anyPlayer.sleeves.length > 0) {\n for (const sleeve of anyPlayer.sleeves) {\n if (!sleeve.augmentations || sleeve.augmentations.length === 0) continue;\n for (const augmentation of sleeve.augmentations) {\n if (augmentation.name !== \"Graphene BranchiBlades Upgrade\") continue;\n augmentation.name = \"Graphene BrachiBlades Upgrade\";\n }\n }\n }\n }\n if (ver < 12) {\n if (anyPlayer.resleeves !== undefined) {\n delete anyPlayer.resleeves;\n }\n }\n if (ver < 15) {\n (Settings as any).EditorTheme = { ...defaultMonacoTheme };\n }\n if (ver < 16) {\n Factions[FactionNames.ShadowsOfAnarchy] = new Faction(FactionNames.ShadowsOfAnarchy);\n }\n }\n}\n\nfunction loadGame(saveString: string): boolean {\n createScamUpdateText();\n if (!saveString) return false;\n saveString = decodeURIComponent(escape(atob(saveString)));\n\n const saveObj = JSON.parse(saveString, Reviver);\n\n loadPlayer(saveObj.PlayerSave);\n loadAllServers(saveObj.AllServersSave);\n loadCompanies(saveObj.CompaniesSave);\n loadFactions(saveObj.FactionsSave);\n\n if (saveObj.hasOwnProperty(\"StaneksGiftSave\")) {\n loadStaneksGift(saveObj.StaneksGiftSave);\n } else {\n console.warn(`Could not load Staneks Gift from save`);\n loadStaneksGift(\"\");\n }\n if (saveObj.hasOwnProperty(\"AliasesSave\")) {\n try {\n loadAliases(saveObj.AliasesSave);\n } catch (e) {\n console.warn(`Could not load Aliases from save`);\n loadAliases(\"\");\n }\n } else {\n console.warn(`Save file did not contain an Aliases property`);\n loadAliases(\"\");\n }\n if (saveObj.hasOwnProperty(\"GlobalAliasesSave\")) {\n try {\n loadGlobalAliases(saveObj.GlobalAliasesSave);\n } catch (e) {\n console.warn(`Could not load GlobalAliases from save`);\n loadGlobalAliases(\"\");\n }\n } else {\n console.warn(`Save file did not contain a GlobalAliases property`);\n loadGlobalAliases(\"\");\n }\n if (saveObj.hasOwnProperty(\"StockMarketSave\")) {\n try {\n loadStockMarket(saveObj.StockMarketSave);\n } catch (e) {\n loadStockMarket(\"\");\n }\n } else {\n loadStockMarket(\"\");\n }\n if (saveObj.hasOwnProperty(\"SettingsSave\")) {\n try {\n Settings.load(saveObj.SettingsSave);\n } catch (e) {\n console.error(\"ERROR: Failed to parse Settings. Re-initing default values\");\n Settings.init();\n }\n } else {\n Settings.init();\n }\n if (saveObj.hasOwnProperty(\"LastExportBonus\")) {\n try {\n ExportBonus.setLastExportBonus(JSON.parse(saveObj.LastExportBonus));\n } catch (err) {\n ExportBonus.setLastExportBonus(new Date().getTime());\n console.error(\"ERROR: Failed to parse last export bonus Settings \" + err);\n }\n }\n if (Player.inGang() && saveObj.hasOwnProperty(\"AllGangsSave\")) {\n try {\n loadAllGangs(saveObj.AllGangsSave);\n } catch (e) {\n console.error(\"ERROR: Failed to parse AllGangsSave: \" + e);\n }\n }\n if (saveObj.hasOwnProperty(\"VersionSave\")) {\n try {\n const ver = JSON.parse(saveObj.VersionSave, Reviver);\n evaluateVersionCompatibility(ver);\n if (window.location.href.toLowerCase().includes(\"bitburner-beta\")) {\n // Beta branch, always show changes\n createBetaUpdateText();\n } else if (ver !== CONSTANTS.VersionNumber) {\n createNewUpdateText();\n }\n } catch (e) {\n createNewUpdateText();\n }\n } else {\n createNewUpdateText();\n }\n return true;\n}\n\nfunction createScamUpdateText(): void {\n if (navigator.userAgent.indexOf(\"wv\") !== -1 && navigator.userAgent.indexOf(\"Chrome/\") !== -1) {\n setInterval(() => {\n dialogBoxCreate(\"SCAM ALERT. This app is not official and you should uninstall it.\");\n }, 1000);\n }\n}\n\nconst resets: SxProps = {\n \"& h1, & h2, & h3, & h4, & p, & a, & ul\": {\n margin: 0,\n color: Settings.theme.primary,\n whiteSpace: \"initial\",\n },\n \"& ul\": {\n paddingLeft: \"1.5em\",\n lineHeight: 1.5,\n },\n};\n\nfunction createNewUpdateText(): void {\n setTimeout(\n () =>\n dialogBoxCreate(\n \"New update! \" +\n \"Please report any bugs/issues through the github repository \" +\n \"or the Bitburner subreddit (reddit.com/r/bitburner).
\" +\n CONSTANTS.LatestUpdate,\n resets,\n ),\n 1000,\n );\n}\n\nfunction createBetaUpdateText(): void {\n dialogBoxCreate(\n \"You are playing on the beta environment! This branch of the game \" +\n \"features the latest developments in the game. This version may be unstable. \" +\n \"Please report any bugs/issues through the github repository (https://github.com/danielyxie/bitburner/issues) \" +\n \"or the Bitburner subreddit (reddit.com/r/bitburner).
\" +\n CONSTANTS.LatestUpdate,\n resets,\n );\n}\n\nfunction download(filename: string, content: string): void {\n const file = new Blob([content], { type: \"text/plain\" });\n const navigator = window.navigator as any;\n if (navigator.msSaveOrOpenBlob) {\n // IE10+\n navigator.msSaveOrOpenBlob(file, filename);\n } else {\n // Others\n const a = document.createElement(\"a\"),\n url = URL.createObjectURL(file);\n a.href = url;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n setTimeout(function () {\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }, 0);\n }\n}\n\nReviver.constructors.BitburnerSaveObject = BitburnerSaveObject;\n\nexport { saveObject, loadGame, download };\n\nconst saveObject = new BitburnerSaveObject();\n","import React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { Money } from \"./Money\";\n\nexport function MoneyRate({ money }: { money: number }): JSX.Element {\n return ;\n}\n","import { codingContractTypesMetadata, DescriptionFunc, GeneratorFunc, SolverFunc } from \"./data/codingcontracttypes\";\n\nimport { IMap } from \"./types\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"./utils/JSONReviver\";\nimport { CodingContractEvent } from \"./ui/React/CodingContractModal\";\n\n/* tslint:disable:no-magic-numbers completed-docs max-classes-per-file no-console */\n\n/* Represents different types of problems that a Coding Contract can have */\nclass CodingContractType {\n /**\n * Function that generates a description of the problem\n */\n desc: DescriptionFunc;\n\n /**\n * Number that generally represents the problem's difficulty. Bigger numbers = harder\n */\n difficulty: number;\n\n /**\n * A function that randomly generates a valid 'data' for the problem\n */\n generate: GeneratorFunc;\n\n /**\n * Name of the type of problem\n */\n name: string;\n\n /**\n * The maximum number of tries the player gets on this kind of problem before it self-destructs\n */\n numTries: number;\n\n /**\n * Stores a function that checks if the provided answer is correct\n */\n solver: SolverFunc;\n\n constructor(\n name: string,\n desc: DescriptionFunc,\n gen: GeneratorFunc,\n solver: SolverFunc,\n diff: number,\n numTries: number,\n ) {\n this.name = name;\n this.desc = desc;\n this.generate = gen;\n this.solver = solver;\n this.difficulty = diff;\n this.numTries = numTries;\n }\n}\n\n/* Contract Types */\n// tslint:disable-next-line\nexport const CodingContractTypes: IMap = {};\n\nfor (const md of codingContractTypesMetadata) {\n // tslint:disable-next-line\n CodingContractTypes[md.name] = new CodingContractType(\n md.name,\n md.desc,\n md.gen,\n md.solver,\n md.difficulty,\n md.numTries,\n );\n}\n\n/**\n * Enum representing the different types of rewards a Coding Contract can give\n */\nexport enum CodingContractRewardType {\n FactionReputation,\n FactionReputationAll,\n CompanyReputation,\n Money, // This must always be the last reward type\n}\n\n/**\n * Enum representing the result when trying to solve the Contract\n */\nexport enum CodingContractResult {\n Success,\n Failure,\n Cancelled,\n}\n\n/**\n * A class that represents the type of reward a contract gives\n */\nexport interface ICodingContractReward {\n /* Name of Company/Faction name for reward, if applicable */\n name?: string;\n type: CodingContractRewardType;\n}\n\n/**\n * A Coding Contract is a file that poses a programming-related problem to the Player.\n * The player receives a reward if the problem is solved correctly\n */\nexport class CodingContract {\n /* Relevant data for the contract's problem */\n data: any;\n\n /* Contract's filename */\n fn: string;\n\n /* Describes the reward given if this Contract is solved. The reward is actually\n processed outside of this file */\n reward: ICodingContractReward | null;\n\n /* Number of times the Contract has been attempted */\n tries = 0;\n\n /* String representing the contract's type. Must match type in ContractTypes */\n type: string;\n\n constructor(fn = \"\", type = \"Find Largest Prime Factor\", reward: ICodingContractReward | null = null) {\n this.fn = fn;\n if (!this.fn.endsWith(\".cct\")) {\n this.fn += \".cct\";\n }\n\n // tslint:disable-next-line\n if (CodingContractTypes[type] == null) {\n throw new Error(`Error: invalid contract type: ${type} please contact developer`);\n }\n\n this.type = type;\n this.data = CodingContractTypes[type].generate();\n this.reward = reward;\n }\n\n getData(): any {\n return this.data;\n }\n\n getDescription(): string {\n return CodingContractTypes[this.type].desc(this.data);\n }\n\n getDifficulty(): number {\n return CodingContractTypes[this.type].difficulty;\n }\n\n getMaxNumTries(): number {\n return CodingContractTypes[this.type].numTries;\n }\n\n getType(): string {\n return CodingContractTypes[this.type].name;\n }\n\n isSolution(solution: string): boolean {\n return CodingContractTypes[this.type].solver(this.data, solution);\n }\n\n /**\n * Creates a popup to prompt the player to solve the problem\n */\n async prompt(): Promise {\n return new Promise((resolve) => {\n const props = {\n c: this,\n onClose: () => {\n resolve(CodingContractResult.Cancelled);\n },\n onAttempt: (val: string) => {\n if (this.isSolution(val)) {\n resolve(CodingContractResult.Success);\n } else {\n resolve(CodingContractResult.Failure);\n }\n },\n };\n CodingContractEvent.emit(props);\n });\n }\n\n /**\n * Serialize the current file to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"CodingContract\", this);\n }\n\n /**\n * Initiatizes a CodingContract from a JSON save state.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): CodingContract {\n return Generic_fromJSON(CodingContract, value.data);\n }\n}\n\nReviver.constructors.CodingContract = CodingContract;\n","export enum OrderTypes {\n LimitBuy = \"Limit Buy Order\",\n LimitSell = \"Limit Sell Order\",\n StopBuy = \"Stop Buy Order\",\n StopSell = \"Stop Sell Order\",\n}\n","import { FragmentType } from \"./FragmentType\";\nimport { Shapes } from \"./data/Shapes\";\n\nexport const Fragments: Fragment[] = [];\n\nexport class Fragment {\n id: number;\n shape: boolean[][];\n type: FragmentType;\n power: number;\n limit: number;\n\n constructor(id: number, shape: boolean[][], type: FragmentType, power: number, limit: number) {\n this.id = id;\n this.shape = shape;\n this.type = type;\n this.power = power;\n this.limit = limit;\n }\n\n fullAt(x: number, y: number, rotation: number): boolean {\n if (y < 0) return false;\n if (y >= this.height(rotation)) return false;\n if (x < 0) return false;\n if (x >= this.width(rotation)) return false;\n // start xy, modifier xy\n let [sx, sy, mx, my] = [0, 0, 1, 1];\n if (rotation === 1) {\n [sx, sy, mx, my] = [this.width(rotation) - 1, 0, -1, 1];\n } else if (rotation === 2) {\n [sx, sy, mx, my] = [this.width(rotation) - 1, this.height(rotation) - 1, -1, -1];\n } else if (rotation === 3) {\n [sx, sy, mx, my] = [0, this.height(rotation) - 1, 1, -1];\n }\n let [qx, qy] = [sx + mx * x, sy + my * y];\n if (rotation % 2 === 1) [qx, qy] = [qy, qx];\n return this.shape[qy][qx];\n }\n\n width(rotation: number): number {\n if (rotation % 2 === 0) return this.shape[0].length;\n return this.shape.length;\n }\n\n height(rotation: number): number {\n if (rotation % 2 === 0) return this.shape.length;\n return this.shape[0].length;\n }\n\n // List of direct neighboors of this fragment.\n neighboors(rotation: number): number[][] {\n const candidates: number[][] = [];\n\n const add = (x: number, y: number): void => {\n if (this.fullAt(x, y, rotation)) return;\n if (candidates.some((coord) => coord[0] === x && coord[1] === y)) return;\n candidates.push([x, y]);\n };\n for (let y = 0; y < this.height(rotation); y++) {\n for (let x = 0; x < this.width(rotation); x++) {\n // This cell is full, add all it's neighboors.\n if (!this.fullAt(x, y, rotation)) continue;\n add(x - 1, y);\n add(x + 1, y);\n add(x, y - 1);\n add(x, y + 1);\n }\n }\n const cells: number[][] = [];\n for (const candidate of candidates) {\n if (cells.some((cell) => cell[0] === candidate[0] && cell[1] === candidate[1])) continue;\n cells.push(candidate);\n }\n\n return cells;\n }\n\n copy(): Fragment {\n return new Fragment(\n this.id,\n this.shape.map((a) => a.slice()),\n this.type,\n this.power,\n this.limit,\n );\n }\n}\n\nexport function FragmentById(id: number): Fragment | null {\n for (const fragment of Fragments) {\n if (fragment.id === id) return fragment;\n }\n return null;\n}\n\n(function () {\n const _ = false;\n const X = true;\n Fragments.push(\n new Fragment(\n 0, // id\n Shapes.S,\n FragmentType.Hacking, // type\n 1,\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 1, // id\n Shapes.Z,\n FragmentType.Hacking, // type\n 1,\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 5, // id\n Shapes.T,\n FragmentType.HackingSpeed, // type\n 1.3,\n 1, // limit\n ),\n );\n\n Fragments.push(\n new Fragment(\n 6, // id\n Shapes.I,\n FragmentType.HackingMoney, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 7, // id\n Shapes.J,\n FragmentType.HackingGrow, // type\n 0.5, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 10, // id\n Shapes.T,\n FragmentType.Strength, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 12, // id\n Shapes.L,\n FragmentType.Defense, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 14, // id\n Shapes.L,\n FragmentType.Dexterity, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 16, // id\n Shapes.S,\n FragmentType.Agility, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 18, // id\n Shapes.S,\n FragmentType.Charisma, // type\n 3, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 20, // id\n Shapes.I,\n FragmentType.HacknetMoney, // type\n 1, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 21, // id\n Shapes.O,\n FragmentType.HacknetCost, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 25, // id\n Shapes.J,\n FragmentType.Rep, // type\n 0.5, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 27, // id\n Shapes.J,\n FragmentType.WorkMoney, // type\n 10, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 28, // id\n Shapes.L,\n FragmentType.Crime, // type\n 2, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 30, // id\n Shapes.S,\n FragmentType.Bladeburner, // type\n 0.4, // power\n 1, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 100, // id\n [\n // shape\n [_, X, X],\n [X, X, _],\n [_, X, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 101, // id\n [\n // shape\n [X, X, X, X],\n [X, _, _, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 102, // id\n [\n // shape\n [_, X, X, X],\n [X, X, _, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 103, // id\n [\n // shape\n [X, X, X, _],\n [_, _, X, X],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 104, // id\n [\n // shape\n [_, X, X],\n [_, X, _],\n [X, X, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 105, // id\n [\n // shape\n [_, _, X],\n [_, X, X],\n [X, X, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 106, // id\n [\n // shape\n [X, _, _],\n [X, X, X],\n [X, _, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n Fragments.push(\n new Fragment(\n 107, // id\n [\n // shape\n [_, X, _],\n [X, X, X],\n [_, X, _],\n ],\n FragmentType.Booster, // type\n 1.1, // power\n 99, // limit\n ),\n );\n})();\n\nexport const NoneFragment = new Fragment(-2, [], FragmentType.None, 0, Infinity);\nexport const DeleteFragment = new Fragment(-2, [], FragmentType.Delete, 0, Infinity);\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n reputation: {\n color: theme.colors.rep,\n },\n }),\n);\n\nexport function Reputation({ reputation }: { reputation: number | string }): React.ReactElement {\n const classes = useStyles();\n return (\n \n {typeof reputation === \"number\" ? numeralWrapper.formatReputation(reputation) : reputation}\n \n );\n}\n","export interface IScriptEditorTheme {\n [key: string]: any;\n base: string;\n inherit: boolean;\n common: {\n [key: string]: string;\n accent: string;\n bg: string;\n fg: string;\n };\n syntax: {\n [key: string]: string;\n tag: string;\n entity: string;\n string: string;\n regexp: string;\n markup: string;\n keyword: string;\n comment: string;\n constant: string;\n error: string;\n };\n ui: {\n [key: string]: any;\n line: string;\n panel: {\n [key: string]: string;\n bg: string;\n selected: string;\n border: string;\n };\n selection: {\n [key: string]: string;\n bg: string;\n };\n };\n}\n\nexport const defaultMonacoTheme: IScriptEditorTheme = {\n base: \"vs-dark\",\n inherit: true,\n common: {\n accent: \"B5CEA8\",\n bg: \"1E1E1E\",\n fg: \"D4D4D4\",\n },\n syntax: {\n tag: \"569CD6\",\n entity: \"569CD6\",\n string: \"CE9178\",\n regexp: \"646695\",\n markup: \"569CD6\",\n keyword: \"569CD6\",\n comment: \"6A9955\",\n constant: \"569CD6\",\n error: \"F44747\",\n },\n ui: {\n line: \"1E1E1E\",\n panel: {\n bg: \"252526\",\n selected: \"252526\",\n border: \"1E1E1E\",\n },\n selection: {\n bg: \"ADD6FF26\",\n },\n },\n};\n\n// Regex used for token color validation\n// https://github.com/microsoft/vscode/blob/973684056e67153952f495fce93bf50d0ec0b892/src/vs/editor/common/languages/supports/tokenization.ts#L153\nconst colorRegExp = /^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;\n\n// Recursively sanitize the theme data to prevent errors\n// Invalid data will be replaced with FF0000 (bright red)\nexport const sanitizeTheme = (theme: IScriptEditorTheme): void => {\n for (const [k, v] of Object.entries(theme)) {\n switch (k) {\n case \"base\":\n if (![\"vs-dark\", \"vs\"].includes(theme.base)) theme.base = \"vs-dark\";\n continue;\n case \"inherit\":\n if (typeof theme.inherit !== \"boolean\") theme.inherit = true;\n continue;\n }\n\n const repairBlock = (block: { [key: string]: any }): void => {\n for (const [k, v] of Object.entries(block)) {\n if (typeof v === \"object\") {\n repairBlock(v as { [key: string]: string });\n } else if (!v.match(colorRegExp)) block[k] = \"FF0000\";\n }\n };\n repairBlock(v);\n }\n};\n\nexport function makeTheme(theme: IScriptEditorTheme): any {\n const themeRules = [\n {\n token: \"\",\n background: theme.ui.line,\n foreground: theme.common.fg,\n },\n {\n token: \"identifier\",\n foreground: theme.common.accent,\n },\n {\n token: \"keyword\",\n foreground: theme.syntax.keyword,\n },\n {\n token: \"string\",\n foreground: theme.syntax.string,\n },\n {\n token: \"string.escape\",\n foreground: theme.syntax.regexp,\n },\n {\n token: \"comment\",\n foreground: theme.syntax.comment,\n },\n {\n token: \"constant\",\n foreground: theme.syntax.constant,\n },\n {\n token: \"entity\",\n foreground: theme.syntax.entity,\n },\n {\n token: \"type\",\n foreground: theme.syntax.tag,\n },\n {\n token: \"tag\",\n foreground: theme.syntax.tag,\n },\n {\n token: \"regexp\",\n foreground: theme.syntax.regexp,\n },\n {\n token: \"attribute\",\n foreground: theme.syntax.tag,\n },\n {\n token: \"constructor\",\n foreground: theme.syntax.markup,\n },\n {\n token: \"invalid\",\n foreground: theme.syntax.error,\n },\n {\n token: \"number\",\n foreground: theme.common.accent,\n },\n {\n token: \"delimiter\",\n foreground: theme.common.fg,\n },\n // Custom tokens\n {\n token: \"ns\",\n foreground: theme.syntax.tag,\n },\n {\n token: \"netscriptfunction\",\n foreground: theme.syntax.markup,\n },\n {\n token: \"otherkeywords\",\n foreground: theme.syntax.keyword,\n },\n {\n token: \"otherkeyvars\",\n foreground: theme.common.accent,\n },\n {\n token: \"this\",\n foreground: theme.syntax.tag,\n },\n ];\n\n const themeColors = Object.fromEntries(\n [\n [\"editor.background\", theme.common.bg],\n [\"editor.foreground\", theme.common.fg],\n [\"editor.lineHighlightBackground\", theme.ui.line],\n [\"editor.selectionBackground\", theme.ui.selection.bg],\n\n [\"editorSuggestWidget.background\", theme.ui.panel.bg],\n [\"editorSuggestWidget.border\", theme.ui.panel.border],\n [\"editorSuggestWidget.selectedBackground\", theme.ui.panel.selected],\n\n [\"editorHoverWidget.background\", theme.ui.panel.bg],\n [\"editorHoverWidget.border\", theme.ui.panel.border],\n\n [\"editorWidget.background\", theme.ui.panel.bg],\n [\"editorWidget.border\", theme.ui.panel.border],\n\n [\"input.background\", theme.ui.panel.bg],\n [\"input.border\", theme.ui.panel.border],\n ].map(([k, v]) => [k, \"#\" + v]),\n );\n\n return { base: theme.base, inherit: theme.inherit, rules: themeRules, colors: themeColors };\n}\n\nexport async function loadThemes(monaco: { editor: any }): Promise {\n monaco.editor.defineTheme(\"monokai\", {\n base: \"vs-dark\",\n inherit: true,\n rules: [\n {\n background: \"272822\",\n token: \"\",\n },\n {\n foreground: \"75715e\",\n token: \"comment\",\n },\n {\n foreground: \"e6db74\",\n token: \"string\",\n },\n {\n token: \"number\",\n foreground: \"ae81ff\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"ae81ff\",\n },\n {\n foreground: \"ae81ff\",\n token: \"function\",\n },\n {\n foreground: \"f92672\",\n token: \"keyword\",\n },\n {\n token: \"storage.type.function.js\",\n foreground: \"ae81ff\",\n },\n {\n token: \"ns\",\n foreground: \"97d92b\",\n },\n {\n token: \"netscriptfunction\",\n foreground: \"53d3e4\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"53d3e4\",\n },\n {\n token: \"this\",\n foreground: \"fd971f\",\n },\n ],\n colors: {\n \"editor.foreground\": \"#F8F8F2\",\n \"editor.background\": \"#272822\",\n \"editor.selectionBackground\": \"#49483E\",\n \"editor.lineHighlightBackground\": \"#3E3D32\",\n \"editorCursor.foreground\": \"#F8F8F0\",\n \"editorWhitespace.foreground\": \"#3B3A32\",\n \"editorIndentGuide.activeBackground\": \"#9D550FB0\",\n \"editor.selectionHighlightBorder\": \"#222218\",\n },\n });\n\n monaco.editor.defineTheme(\"solarized-dark\", {\n base: \"vs-dark\",\n inherit: true,\n rules: [\n {\n background: \"002b36\",\n token: \"\",\n },\n {\n foreground: \"586e75\",\n token: \"comment\",\n },\n {\n foreground: \"00afaf\",\n token: \"string\",\n },\n {\n token: \"number\",\n foreground: \"00afaf\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"268bd2\",\n },\n {\n foreground: \"268bd2\",\n token: \"function\",\n },\n {\n foreground: \"859900\",\n token: \"keyword\",\n },\n {\n token: \"storage.type.function.js\",\n foreground: \"cb4b16\",\n },\n {\n token: \"ns\",\n foreground: \"cb4b16\",\n },\n {\n token: \"netscriptfunction\",\n foreground: \"268bd2\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"268bd2\",\n },\n {\n token: \"type.identifier.js\",\n foreground: \"b58900\",\n },\n {\n token: \"delimiter.square.js\",\n foreground: \"0087ff\",\n },\n {\n token: \"delimiter.bracket.js\",\n foreground: \"0087ff\",\n },\n {\n token: \"this\",\n foreground: \"cb4b16\",\n },\n ],\n colors: {\n \"editor.foreground\": \"#839496\",\n \"editor.background\": \"#002b36\",\n \"editor.selectionBackground\": \"#073642\",\n \"editor.lineHighlightBackground\": \"#073642\",\n \"editorCursor.foreground\": \"#819090\",\n \"editorWhitespace.foreground\": \"#073642\",\n \"editorIndentGuide.activeBackground\": \"#9D550FB0\",\n \"editor.selectionHighlightBorder\": \"#222218\",\n },\n });\n\n monaco.editor.defineTheme(\"solarized-light\", {\n base: \"vs\",\n inherit: true,\n rules: [\n {\n foreground: \"657b83\",\n background: \"fdf6e3\",\n token: \"\",\n },\n {\n foreground: \"586e75\",\n token: \"comment\",\n },\n {\n foreground: \"2aa198\",\n token: \"string\",\n },\n {\n token: \"number\",\n foreground: \"2aa198\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"268bd2\",\n },\n {\n foreground: \"268bd2\",\n token: \"function\",\n },\n {\n foreground: \"859900\",\n token: \"keyword\",\n },\n {\n token: \"storage.type.function.js\",\n foreground: \"bc4b16\",\n },\n {\n token: \"ns\",\n foreground: \"cb4b16\",\n },\n {\n token: \"netscriptfunction\",\n foreground: \"268bd2\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"268bd2\",\n },\n {\n token: \"type.identifier.js\",\n foreground: \"b58900\",\n },\n {\n token: \"delimiter.square.js\",\n foreground: \"0087ff\",\n },\n {\n token: \"delimiter.bracket.js\",\n foreground: \"0087ff\",\n },\n {\n token: \"this\",\n foreground: \"cb4b16\",\n },\n ],\n colors: {\n \"editor.foreground\": \"#657b83\",\n \"editor.background\": \"#fdf6e3\",\n \"editor.selectionBackground\": \"#eee8d5\",\n \"editor.lineHighlightBackground\": \"#eee8d5\",\n \"editorCursor.foreground\": \"#657b83\",\n \"editorWhitespace.foreground\": \"#eee8d5\",\n \"editorIndentGuide.activeBackground\": \"#eee8d5\",\n \"editor.selectionHighlightBorder\": \"#073642\",\n },\n });\n\n monaco.editor.defineTheme(\"dracula\", {\n base: \"vs-dark\",\n inherit: true,\n rules: [\n {\n background: \"282A36\",\n foreground: \"F8F8F2\",\n token: \"\",\n },\n {\n foreground: \"6272A4\",\n token: \"comment\",\n },\n {\n foreground: \"F1FA8C\",\n token: \"string\",\n },\n {\n token: \"number\",\n foreground: \"BD93F9\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"BD93F9\",\n },\n {\n foreground: \"FF79C6\",\n token: \"function\",\n },\n {\n foreground: \"FF79C6\",\n token: \"keyword\",\n },\n {\n token: \"storage.type.function.js\",\n foreground: \"FF79C6\",\n },\n {\n token: \"ns\",\n foreground: \"FFB86C\",\n fontStyle: \"italic\",\n },\n\n {\n token: \"netscriptfunction\",\n foreground: \"FF79C6\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"FF68A7\",\n },\n {\n token: \"type.identifier.js\",\n foreground: \"7EE9FD\",\n fontStyle: \"italic\",\n },\n {\n token: \"delimiter.square.js\",\n foreground: \"FFD709\",\n },\n {\n token: \"delimiter.parenthesis.js\",\n foreground: \"FFD709\",\n },\n {\n token: \"delimiter.bracket.js\",\n foreground: \"FFD709\",\n },\n {\n token: \"this\",\n foreground: \"BD93F9\",\n fontStyle: \"italic\",\n },\n ],\n colors: {\n \"editor.foreground\": \"#F8F8F2\",\n \"editor.background\": \"#282A36\",\n \"editorLineNumber.foreground\": \"#6272A4\",\n \"editor.selectionBackground\": \"#44475A\",\n \"editor.selectionHighlightBackground\": \"#424450\",\n \"editor.foldBackground\": \"#21222C\",\n \"editor.wordHighlightBackground\": \"#8BE9FD50\",\n \"editor.wordHighlightStrongBackground\": \"#50FA7B50\",\n \"editor.findMatchBackground\": \"#FFB86C80\",\n \"editor.findMatchHighlightBackground\": \"#FFFFFF40\",\n \"editor.findRangeHighlightBackground\": \"#44475A75\",\n \"editor.hoverHighlightBackground\": \"#8BE9FD50\",\n \"editor.lineHighlightBorder\": \"#44475A\",\n \"editor.rangeHighlightBackground\": \"#BD93F915\",\n \"editor.snippetTabstopHighlightBackground\": \"#282A36\",\n \"editor.snippetTabstopHighlightBorder\": \"#6272A4\",\n \"editor.snippetFinalTabstopHighlightBackground\": \"#282A36\",\n \"editor.snippetFinalTabstopHighlightBorder\": \"#50FA7B\",\n },\n });\n\n monaco.editor.defineTheme(\"one-dark\", {\n base: \"vs-dark\",\n inherit: true,\n rules: [\n {\n token: \"\",\n background: \"333842\",\n foreground: \"ABB2BF\",\n },\n {\n token: \"comment\",\n foreground: \"5C6370\",\n },\n {\n token: \"string\",\n foreground: \"98C379\",\n },\n {\n token: \"number\",\n foreground: \"D19A66\",\n },\n {\n token: \"function\",\n foreground: \"C678DD\",\n },\n {\n token: \"keyword\",\n foreground: \"C678DD\",\n },\n {\n token: \"otherkeyvars\",\n foreground: \"D19A66\",\n },\n {\n token: \"otherkeywords\",\n foreground: \"C678DD\",\n },\n {\n token: \"ns\",\n foreground: \"E06C75\",\n },\n {\n token: \"netscriptfunction\",\n foreground: \"61AFEF\",\n },\n {\n token: \"type.identifier\",\n foreground: \"E5C07B\",\n },\n {\n token: \"delimiter\",\n foreground: \"ABB2BF\",\n },\n {\n token: \"this\",\n foreground: \"E06C75\",\n },\n ],\n colors: {\n \"editor.background\": \"#282C34\",\n \"editor.foreground\": \"#ABB2BF\",\n \"editor.lineHighlightBackground\": \"#99BBFF0A\",\n \"editor.selectionBackground\": \"#3E4451\",\n \"editor.findMatchHighlightBackground\": \"#528BFF3D\",\n \"editorCursor.foreground\": \"#528BFF\",\n \"editorHoverWidget.background\": \"#21252B\",\n \"editorHoverWidget.border\": \"#181A1F\",\n \"editorIndentGuide.background\": \"#ABB2BF26\",\n \"editorIndentGuide.activeBackground\": \"#626772\",\n \"editorLineNumber.foreground\": \"#636D83\",\n \"editorLineNumber.activeForeground\": \"#ABB2BF\",\n \"editorSuggestWidget.background\": \"#21252B\",\n \"editorSuggestWidget.border\": \"#181A1F\",\n \"editorSuggestWidget.selectedBackground\": \"#2C313A\",\n \"editorWhitespace.foreground\": \"#ABB2BF26\",\n \"editorWidget.background\": \"#21252B\",\n \"editorWidget.border\": \"#3A3F4B\",\n \"input.background\": \"#1B1D23\",\n \"input.border\": \"#181A1F\",\n \"peekView.border\": \"#528BFF\",\n \"peekViewResult.background\": \"#21252B\",\n \"peekViewResult.selectionBackground\": \"#2C313A\",\n \"peekViewTitle.background\": \"#1B1D23\",\n \"peekViewEditor.background\": \"#1B1D23\",\n \"scrollbarSlider.background\": \"#4E566680\",\n \"scrollbarSlider.activeBackground\": \"#747D9180\",\n \"scrollbarSlider.hoverBackground\": \"#5A637580\",\n },\n });\n}\n","/**\n * Generic Event Emitter class following a subscribe/publish paradigm.\n */\nfunction uuidv4(): string {\n return \"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx\".replace(/[xy]/g, function (c) {\n const r = (Math.random() * 16) | 0,\n v = c == \"x\" ? r : (r & 0x3) | 0x8;\n return v.toString(16);\n });\n}\n\nexport class EventEmitter {\n subscribers: { [key: string]: (...args: [...T]) => void | undefined } = {};\n\n subscribe(s: (...args: [...T]) => void): () => void {\n let uuid = uuidv4();\n while (this.subscribers[uuid] !== undefined) uuid = uuidv4();\n this.subscribers[uuid] = s;\n\n return () => {\n delete this.subscribers[uuid];\n };\n }\n\n emit(...args: [...T]): void {\n for (const s in this.subscribers) {\n const sub = this.subscribers[s];\n if (sub === undefined) continue;\n\n sub(...args);\n }\n }\n}\n","import React, { useState } from \"react\";\nimport AddIcon from \"@mui/icons-material/Add\";\nimport RemoveIcon from \"@mui/icons-material/Remove\";\nimport IconButton from \"@mui/material/IconButton\";\nimport ClearIcon from \"@mui/icons-material/Clear\";\nimport DoubleArrowIcon from \"@mui/icons-material/DoubleArrow\";\nimport TextField from \"@mui/material/TextField\";\nimport Tooltip from \"@mui/material/Tooltip\";\n\ninterface IProps {\n label: string;\n placeholder: string;\n add: (x: number) => void;\n subtract: (x: number) => void;\n tons: () => void;\n reset: () => void;\n}\n\nexport function Adjuster(props: IProps): React.ReactElement {\n const [value, setValue] = useState(\"\");\n\n function onChange(event: React.ChangeEvent): void {\n if (event.target.value === \"\") setValue(\"\");\n else setValue(parseFloat(event.target.value));\n }\n\n const { label, placeholder, add, subtract, reset, tons } = props;\n return (\n <>\n \n \n \n \n \n \n \n add(typeof value !== \"string\" ? value : 0)} size=\"large\">\n \n \n \n >\n ),\n endAdornment: (\n <>\n \n subtract(typeof value !== \"string\" ? value : 0)} size=\"large\">\n \n \n \n \n \n \n \n \n >\n ),\n }}\n />\n >\n );\n}\n","import { GetServer, createUniqueRandomIp, ipExists } from \"./AllServers\";\nimport { Server, IConstructorParams } from \"./Server\";\nimport { BaseServer } from \"./BaseServer\";\nimport { calculateServerGrowth } from \"./formulas/grow\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../Constants\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { Programs } from \"../Programs/Programs\";\nimport { LiteratureNames } from \"../Literature/data/LiteratureNames\";\n\nimport { isValidNumber } from \"../utils/helpers/isValidNumber\";\n\n/**\n * Constructs a new server, while also ensuring that the new server\n * does not have a duplicate hostname/ip.\n */\nexport function safetlyCreateUniqueServer(params: IConstructorParams): Server {\n let hostname: string = params.hostname.replace(/ /g, `-`);\n\n if (params.ip != null && ipExists(params.ip)) {\n params.ip = createUniqueRandomIp();\n }\n\n if (GetServer(hostname) != null) {\n hostname = `${hostname}-0`;\n\n // Use a for loop to ensure that we don't get suck in an infinite loop somehow\n for (let i = 0; i < 200; ++i) {\n hostname = hostname.replace(/-[0-9]+$/, `-${i}`);\n if (GetServer(hostname) == null) {\n break;\n }\n }\n }\n\n params.hostname = hostname;\n return new Server(params);\n}\n\n/**\n * Returns the number of \"growth cycles\" needed to grow the specified server by the\n * specified amount.\n * @param server - Server being grown\n * @param growth - How much the server is being grown by, in DECIMAL form (e.g. 1.5 rather than 50)\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed\n */\nexport function numCycleForGrowth(server: Server, growth: number, p: IPlayer, cores = 1): number {\n let ajdGrowthRate = 1 + (CONSTANTS.ServerBaseGrowthRate - 1) / server.hackDifficulty;\n if (ajdGrowthRate > CONSTANTS.ServerMaxGrowthRate) {\n ajdGrowthRate = CONSTANTS.ServerMaxGrowthRate;\n }\n\n const serverGrowthPercentage = server.serverGrowth / 100;\n\n const coreBonus = 1 + (cores - 1) / 16;\n const cycles =\n Math.log(growth) /\n (Math.log(ajdGrowthRate) *\n p.hacking_grow_mult *\n serverGrowthPercentage *\n BitNodeMultipliers.ServerGrowthRate *\n coreBonus);\n\n return cycles;\n}\n\n/**\n * Replacement function for the above function that accounts for the +$1/thread functionality of grow\n * with parameters that are the same (for compatibility), but functionality is slightly different.\n * This function can ONLY be used to calculate the threads needed for a given server in its current state,\n * and so wouldn't be appropriate to use for formulas.exe or ns.growthAnalyze (as those are meant to\n * provide theoretical scenarios, or inverse hack respectively). Players COULD use this function with a\n * custom server object with the correct moneyAvailable and moneyMax amounts, combined with a multiplier\n * correctly calculated to bring the server to a new moneyAvailable (ie, passing in moneyAvailable 300 and x2\n * when you want the number of threads required to grow that particular server from 300 to 600), and this\n * function would pass back the correct number of threads. But the key thing is that it doesn't just\n * inverse/undo a hack (since the amount hacked from/to matters, not just the multiplier).\n * The above is also a rather unnecessarily obtuse way of thinking about it for a formulas.exe type of\n * application, so another function with different parameters is provided for that case below this one.\n * Instead this function is meant to hand-off from the old numCycleForGrowth function to the new one\n * where used internally for pro-rating or the like. Where you have applied a grow and want to determine\n * how many threads were needed for THAT SPECIFIC grow case using a multiplier.\n * Ideally, this function, and the original function above will be depreciated to use the methodology\n * and inputs of the new function below this one. Even for internal cases (it's actually easier to do so).\n * @param server - Server being grown\n * @param growth - How much the server money is expected to be multiplied by (e.g. 1.5 for *1.5 / +50%)\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed\n */\nexport function numCycleForGrowthTransition(server: Server, growth: number, p: IPlayer, cores = 1): number {\n return numCycleForGrowthCorrected(server, server.moneyAvailable * growth, server.moneyAvailable, p, cores);\n}\n\n/**\n * This function calculates the number of threads needed to grow a server from one $amount to a higher $amount\n * (ie, how many threads to grow this server from $200 to $600 for example). Used primarily for a formulas (or possibly growthAnalyze)\n * type of application. It lets you \"theorycraft\" and easily ask what-if type questions. It's also the one that implements the\n * main thread calculation algorithm, and so is the function all helper functions should call.\n * It protects the inputs (so putting in INFINITY for targetMoney will use moneyMax, putting in a negative for start will use 0, etc.)\n * @param server - Server being grown\n * @param targetMoney - How much you want the server grown TO (not by), for instance, to grow from 200 to 600, input 600\n * @param startMoney - How much you are growing the server from, for instance, to grow from 200 to 600, input 200\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed\n */\nexport function numCycleForGrowthCorrected(\n server: Server,\n targetMoney: number,\n startMoney: number,\n p: IPlayer,\n cores = 1,\n): number {\n if (startMoney < 0) {\n startMoney = 0;\n } // servers \"can't\" have less than 0 dollars on them\n if (targetMoney > server.moneyMax) {\n targetMoney = server.moneyMax;\n } // can't grow a server to more than its moneyMax\n if (targetMoney <= startMoney) {\n return 0;\n } // no growth --> no threads\n\n // exponential base adjusted by security\n const adjGrowthRate = 1 + (CONSTANTS.ServerBaseGrowthRate - 1) / server.hackDifficulty;\n const exponentialBase = Math.min(adjGrowthRate, CONSTANTS.ServerMaxGrowthRate); // cap growth rate\n\n // total of all grow thread multipliers\n const serverGrowthPercentage = server.serverGrowth / 100.0;\n const coreMultiplier = 1 + (cores - 1) / 16;\n const threadMultiplier =\n serverGrowthPercentage * p.hacking_grow_mult * coreMultiplier * BitNodeMultipliers.ServerGrowthRate;\n\n /* To understand what is done below we need to do some math. I hope the explanation is clear enough.\n * First of, the names will be shortened for ease of manipulation:\n * n:= targetMoney (n for new), o:= startMoney (o for old), b:= exponentialBase, t:= threadMultiplier, c:= cycles/threads\n * c is what we are trying to compute.\n *\n * After growing, the money on a server is n = (o + c) * b^(c*t)\n * c appears in an exponent and outside it, this is usually solved using the productLog/lambert's W special function\n * this function will be noted W in the following\n * The idea behind lambert's W function is W(x)*exp(W(x)) = x, or in other words, solving for y, y*exp(y) = x, as a function of x\n * This function is provided in some advanced math library but we will compute it ourself here.\n *\n * Let's get back to solving the equation. It cannot be rewrote using W immediately because the base of the exponentiation is b\n * b^(c*t) = exp(ln(b)*c*t) (this is how a^b is defined on reals, it matches the definition on integers)\n * so n = (o + c) * exp(ln(b)*c*t) , W still cannot be used directly. We want to eliminate the other terms in 'o + c' and 'ln(b)*c*t'.\n *\n * A change of variable will do. The idea is to add an equation introducing a new variable (w here) in the form c = f(w) (for some f)\n * With this equation we will eliminate all references to c, then solve for w and plug the result in the new equation to get c.\n * The change of variable performed here should get rid of the unwanted terms mentionned above, c = w/(ln(b)*t) - o should help.\n * This change of variable is allowed because whatever the value of c is, there is a value of w such that this equation holds:\n * w = (c + o)*ln(b)*t (see how we used the terms we wanted to eliminate in order to build this variable change)\n *\n * We get n = (o + w/(ln(b)*t) - o) * exp(ln(b)*(w/(ln(b)*t) - o)*t) [ = w/(ln(b)*t) * exp(w - ln(b)*o*t) ]\n * The change of variable exposed exp(w - o*ln(b)*t), we can rewrite that with exp(a - b) = exp(a)/exp(b) to isolate 'w*exp(w)'\n * n = w/(ln(b)*t) * exp(w)/exp(ln(b)*o*t) [ = w*exp(w) / (ln(b) * t * b^(o*t)) ]\n * Almost there, we just need to cancel the denominator on the right side of the equation:\n * n * ln(b) * t * b^(o*t) = w*exp(w), Thus w = W(n * ln(b) * t * b^(o*t))\n * Finally we invert the variable change: c = W(n * ln(b) * t * b^(o*t))/(ln(b)*t) - o\n *\n * There is still an issue left: b^(o*t) doesn't fit inside a double precision float\n * because the typical amount of money on servers is arround 10^6~10^9\n * We need to get an approximation of W without computing the power when o is huge\n * Thankfully an approximation giving ~30% error uses log immediately so we will use\n * W(n * ln(b) * t * b^(o*t)) ~= log(n * ln(b) * t * b^(o*t)) = log(n * ln(b) * t) + log(exp(ln(b) * o * t))\n * = log(n * ln(b) * t) + ln(b) * o * t\n * (thanks to Drak for the grow formula, f4113nb34st and Wolfram Alpha for the rewrite, dwRchyngqxs for the explanation)\n */\n const x = threadMultiplier * Math.log(exponentialBase);\n const y = startMoney * x + Math.log(targetMoney * x);\n /* Code for the approximation of lambert's W function is adapted from\n * https://git.savannah.gnu.org/cgit/gsl.git/tree/specfunc/lambert.c\n * using the articles [1] https://doi.org/10.1007/BF02124750 (algorithm above)\n * and [2] https://doi.org/10.1145/361952.361970 (initial approximation when x < 2.5)\n */\n let w;\n if (y < Math.log(2.5)) {\n /* exp(y) can be safely computed without overflow.\n * The relative error on the result is better when exp(y) < 2.5\n * using Padé rational fraction approximation [2](5)\n */\n const ey = Math.exp(y);\n w = (ey + (4 / 3) * ey * ey) / (1 + (7 / 3) * ey + (5 / 6) * ey * ey);\n } else {\n /* obtain initial approximation from rough asymptotic [1](4.18)\n * w = y [- log y when 0 <= y]\n */\n w = y;\n if (y > 0) w -= Math.log(y);\n }\n let cycles = w / x - startMoney;\n\n /* Iterative refinement, the goal is to correct c until |(o + c) * b^(c*t) - n| < 1\n * or the correction on the approximation is less than 1\n * The Newton-Raphson method will be used, this method is a classic to find roots of functions\n * (given f, find c such that f(c) = 0).\n *\n * The idea of this method is to take the horizontal position at which the horizontal axis\n * intersects with of the tangent of the function's curve as the next approximation.\n * It is equivalent to treating the curve as a line (it is called a first order approximation)\n * If the current approximation is c then the new approximated value is c - f(c)/f'(c)\n * (where f' is the derivative of f).\n *\n * In our case f(c) = (o + c) * b^(c*t) - n, f'(c) = d((o + c) * b^(c*t) - n)/dc\n * = (ln(b)*t * (c + o) + 1) * b^(c*t)\n * And the update step is c[new] = c[old] - ((o + c) * b^(c*t) - n)/((ln(b)*t * (o + c) + 1) * b^(c*t))\n *\n * The main question to ask when using this method is \"does it converges?\"\n * (are the approximations getting better?), if it does then it does quickly.\n * DOES IT CONVERGES? In the present case it does. The reason why doesn't help explaining the algorithm.\n * If you are intrested then check out the wikipedia page.\n */\n const bt = exponentialBase ** threadMultiplier;\n let corr = Infinity;\n // Two sided error because we do not want to get stuck if the error stays on the wrong side\n do {\n // c should be above 0 so Halley's method can't be used, we have to stick to Newton-Raphson\n const bct = bt ** cycles;\n const opc = startMoney + cycles;\n const diff = opc * bct - targetMoney;\n corr = diff / (opc * x + 1.0) / bct;\n cycles -= corr;\n } while (Math.abs(corr) >= 1);\n /* c is now within +/- 1 of the exact result.\n * We want the ceiling of the exact result, so the floor if the approximation is above,\n * the ceiling if the approximation is in the same unit as the exact result,\n * and the ceiling + 1 if the approximation is below.\n */\n const fca = Math.floor(cycles);\n if (targetMoney <= (startMoney + fca) * Math.pow(exponentialBase, fca * threadMultiplier)) {\n return fca;\n }\n const cca = Math.ceil(cycles);\n if (targetMoney <= (startMoney + cca) * Math.pow(exponentialBase, cca * threadMultiplier)) {\n return cca;\n }\n return cca + 1;\n}\n\n/**\n * This function calculates the number of threads needed to grow a server based on a pre-hack money and hackAmt\n * (ie, if you're hacking a server with $1e6 moneyAvail for 60%, this function will tell you how many threads to regrow it\n * A good replacement for the current ns.growthAnalyze if you want players to have more control/responsibility\n * @param server - Server being grown\n * @param hackProp - the proportion of money hacked (total, not per thread, like 0.60 for hacking 60% of available money)\n * @param prehackMoney - how much money the server had before being hacked (like 200000 for hacking a server that had $200000 on it at time of hacking)\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed to reverse the described hack\n */\nexport function numCycleForGrowthByHackAmt(\n server: Server,\n hackProp: number,\n prehackMoney: number,\n p: IPlayer,\n cores = 1,\n): number {\n if (prehackMoney > server.moneyMax) prehackMoney = server.moneyMax;\n const posthackMoney = Math.floor(prehackMoney * Math.min(1, Math.max(0, 1 - hackProp)));\n return numCycleForGrowthCorrected(server, prehackMoney, posthackMoney, p, cores);\n}\n\n/**\n * This function calculates the number of threads needed to grow a server based on an expected growth multiplier assuming it will max out\n * (ie, if you expect to grow a server by 60% to reach maxMoney, this function will tell you how many threads to grow it)\n * PROBABLY the best replacement for the current ns.growthAnalyze to maintain existing scripts\n * @param server - Server being grown\n * @param growth - How much the server is being grown by, as a multiple in DECIMAL form (e.g. 1.5 rather than 50). Infinity is acceptable.\n * @param p - Reference to Player object\n * @returns Number of \"growth cycles\" needed\n */\nexport function numCycleForGrowthByMultiplier(server: Server, growth: number, p: IPlayer, cores = 1): number {\n if (growth < 1.0) growth = 1.0;\n const targetMoney = server.moneyMax;\n const startingMoney = server.moneyMax / growth;\n return numCycleForGrowthCorrected(server, targetMoney, startingMoney, p, cores);\n}\n\n//Applied server growth for a single server. Returns the percentage growth\nexport function processSingleServerGrowth(server: Server, threads: number, p: IPlayer, cores = 1): number {\n let serverGrowth = calculateServerGrowth(server, threads, p, cores);\n if (serverGrowth < 1) {\n console.warn(\"serverGrowth calculated to be less than 1\");\n serverGrowth = 1;\n }\n\n const oldMoneyAvailable = server.moneyAvailable;\n server.moneyAvailable += 1 * threads; // It can be grown even if it has no money\n server.moneyAvailable *= serverGrowth;\n\n // in case of data corruption\n if (isValidNumber(server.moneyMax) && isNaN(server.moneyAvailable)) {\n server.moneyAvailable = server.moneyMax;\n }\n\n // cap at max\n if (isValidNumber(server.moneyMax) && server.moneyAvailable > server.moneyMax) {\n server.moneyAvailable = server.moneyMax;\n }\n\n // if there was any growth at all, increase security\n if (oldMoneyAvailable !== server.moneyAvailable) {\n let usedCycles = numCycleForGrowthCorrected(server, server.moneyAvailable, oldMoneyAvailable, p, cores);\n // Growing increases server security twice as much as hacking\n usedCycles = Math.min(Math.max(0, Math.ceil(usedCycles)), threads);\n server.fortify(2 * CONSTANTS.ServerFortifyAmount * usedCycles);\n }\n return server.moneyAvailable / oldMoneyAvailable;\n}\n\nexport function prestigeHomeComputer(player: IPlayer, homeComp: Server): void {\n const hasBitflume = homeComp.programs.includes(Programs.BitFlume.name);\n\n homeComp.programs.length = 0; //Remove programs\n homeComp.runningScripts = [];\n homeComp.serversOnNetwork = [];\n homeComp.isConnectedTo = true;\n homeComp.ramUsed = 0;\n homeComp.programs.push(Programs.NukeProgram.name);\n if (hasBitflume) {\n homeComp.programs.push(Programs.BitFlume.name);\n }\n\n //Update RAM usage on all scripts\n homeComp.scripts.forEach(function (script) {\n script.updateRamUsage(player, homeComp.scripts);\n });\n\n homeComp.messages.length = 0; //Remove .lit and .msg files\n homeComp.messages.push(LiteratureNames.HackersStartingHandbook);\n}\n\n// Returns the i-th server on the specified server's network\n// A Server's serverOnNetwork property holds only the IPs. This function returns\n// the actual Server object\nexport function getServerOnNetwork(server: BaseServer, i: number): BaseServer | null {\n if (i > server.serversOnNetwork.length) {\n console.error(\"Tried to get server on network that was out of range\");\n return null;\n }\n\n return GetServer(server.serversOnNetwork[i]);\n}\n\nexport function isBackdoorInstalled(server: BaseServer): boolean {\n if (server instanceof Server) {\n return server.backdoorInstalled;\n }\n return false;\n}\n","import { KEY } from \"../utils/helpers/keyCodes\";\n\nexport function random(min: number, max: number): number {\n return Math.random() * (max - min) + min;\n}\n\nexport const upArrowSymbol = \"↑\";\nexport const downArrowSymbol = \"↓\";\nexport const leftArrowSymbol = \"←\";\nexport const rightArrowSymbol = \"→\";\n\nexport function getArrow(event: KeyboardEvent): string {\n switch (event.key) {\n case KEY.UP_ARROW:\n case KEY.W:\n return upArrowSymbol;\n case KEY.LEFT_ARROW:\n case KEY.A:\n return leftArrowSymbol;\n case KEY.DOWN_ARROW:\n case KEY.S:\n return downArrowSymbol;\n case KEY.RIGHT_ARROW:\n case KEY.D:\n return rightArrowSymbol;\n }\n return \"\";\n}\n\nexport function getInverseArrow(event: KeyboardEvent): string {\n switch (event.key) {\n case KEY.DOWN_ARROW:\n case KEY.S:\n return upArrowSymbol;\n case KEY.RIGHT_ARROW:\n case KEY.D:\n return leftArrowSymbol;\n case KEY.UP_ARROW:\n case KEY.W:\n return downArrowSymbol;\n case KEY.LEFT_ARROW:\n case KEY.A:\n return rightArrowSymbol;\n }\n return \"\";\n}\n","// Defines the ResearchTree that is common to all Corporation Industries\n// i.e. all Industries have these types of Research available to unlock\nimport { Research } from \"../Research\";\nimport { ResearchMap } from \"../ResearchMap\";\nimport { ResearchTree, Node } from \"../ResearchTree\";\n\nfunction makeNode(name: string): Node {\n const research: Research | null = ResearchMap[name];\n if (research == null) {\n throw new Error(`Invalid research name: ${name}`);\n }\n\n return new Node({ text: research.name, cost: research.cost });\n}\n\n// Creates the Nodes for the BaseResearchTree.\n// Return the Root Node\nfunction createBaseResearchTreeNodes(): Node {\n const rootNode: Node = makeNode(\"Hi-Tech R&D Laboratory\");\n const autoBrew: Node = makeNode(\"AutoBrew\");\n const autoParty: Node = makeNode(\"AutoPartyManager\");\n const autoDrugs: Node = makeNode(\"Automatic Drug Administration\");\n const bulkPurchasing: Node = makeNode(\"Bulk Purchasing\");\n const cph4: Node = makeNode(\"CPH4 Injections\");\n const drones: Node = makeNode(\"Drones\");\n const dronesAssembly: Node = makeNode(\"Drones - Assembly\");\n const dronesTransport: Node = makeNode(\"Drones - Transport\");\n const goJuice: Node = makeNode(\"Go-Juice\");\n const hrRecruitment: Node = makeNode(\"HRBuddy-Recruitment\");\n const hrTraining: Node = makeNode(\"HRBuddy-Training\");\n const joywire: Node = makeNode(\"JoyWire\");\n const marketta1: Node = makeNode(\"Market-TA.I\");\n const marketta2: Node = makeNode(\"Market-TA.II\");\n const overclock: Node = makeNode(\"Overclock\");\n const scAssemblers: Node = makeNode(\"Self-Correcting Assemblers\");\n const stimu: Node = makeNode(\"Sti.mu\");\n\n autoDrugs.addChild(goJuice);\n autoDrugs.addChild(cph4);\n\n drones.addChild(dronesAssembly);\n drones.addChild(dronesTransport);\n\n hrRecruitment.addChild(hrTraining);\n\n marketta1.addChild(marketta2);\n\n overclock.addChild(stimu);\n\n rootNode.addChild(autoBrew);\n rootNode.addChild(autoParty);\n rootNode.addChild(autoDrugs);\n rootNode.addChild(bulkPurchasing);\n rootNode.addChild(drones);\n rootNode.addChild(hrRecruitment);\n rootNode.addChild(joywire);\n rootNode.addChild(marketta1);\n rootNode.addChild(overclock);\n rootNode.addChild(scAssemblers);\n\n return rootNode;\n}\n\nexport function getBaseResearchTreeCopy(): ResearchTree {\n const baseResearchTree: ResearchTree = new ResearchTree();\n baseResearchTree.setRoot(createBaseResearchTreeNodes());\n\n return baseResearchTree;\n}\n\n// Base Research Tree for Industry's that make products\nexport function getProductIndustryResearchTreeCopy(): ResearchTree {\n const researchTree: ResearchTree = new ResearchTree();\n const root = createBaseResearchTreeNodes();\n\n const upgradeFulcrum = makeNode(\"uPgrade: Fulcrum\");\n const upgradeCapacity1 = makeNode(\"uPgrade: Capacity.I\");\n const upgradeCapacity2 = makeNode(\"uPgrade: Capacity.II\");\n const upgradeDashboard = makeNode(\"uPgrade: Dashboard\");\n\n upgradeCapacity1.addChild(upgradeCapacity2);\n upgradeFulcrum.addChild(upgradeCapacity1);\n upgradeFulcrum.addChild(upgradeDashboard);\n root.addChild(upgradeFulcrum);\n\n researchTree.setRoot(root);\n\n return researchTree;\n}\n","export const SkillNames: {\n BladesIntuition: string;\n Cloak: string;\n Marksman: string;\n WeaponProficiency: string;\n ShortCircuit: string;\n DigitalObserver: string;\n Tracer: string;\n Overclock: string;\n Reaper: string;\n EvasiveSystem: string;\n Datamancer: string;\n CybersEdge: string;\n HandsOfMidas: string;\n Hyperdrive: string;\n} = {\n BladesIntuition: \"Blade's Intuition\",\n Cloak: \"Cloak\",\n Marksman: \"Marksman\",\n WeaponProficiency: \"Weapon Proficiency\",\n ShortCircuit: \"Short-Circuit\",\n DigitalObserver: \"Digital Observer\",\n Tracer: \"Tracer\",\n Overclock: \"Overclock\",\n Reaper: \"Reaper\",\n EvasiveSystem: \"Evasive System\",\n Datamancer: \"Datamancer\",\n CybersEdge: \"Cyber's Edge\",\n HandsOfMidas: \"Hands of Midas\",\n Hyperdrive: \"Hyperdrive\",\n};\n","import { Operation, IOperationParams } from \"./Operation\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\nexport class BlackOperation extends Operation {\n constructor(params: IOperationParams | null = null) {\n super(params);\n this.count = 1;\n }\n\n // To be implemented by subtypes\n getActionTimePenalty(): number {\n return 1.5;\n }\n\n getChaosCompetencePenalty(/*inst: IBladeburner, params: ISuccessChanceParams*/): number {\n return 1;\n }\n\n getChaosDifficultyBonus(/*inst: IBladeburner, params: ISuccessChanceParams*/): number {\n return 1;\n }\n\n toJSON(): any {\n return Generic_toJSON(\"BlackOperation\", this);\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Operation {\n return Generic_fromJSON(BlackOperation, value.data);\n }\n}\n\nReviver.constructors.BlackOperation = BlackOperation;\n","import React, { useContext } from \"react\";\nimport { IGang } from \"../IGang\";\n\nexport const Context: {\n Gang: React.Context;\n} = {\n Gang: React.createContext({} as IGang),\n};\n\nexport const useGang = (): IGang => useContext(Context.Gang);\n","/**\n * Stops an actively-running script (represented by a WorkerScript object)\n * and removes it from the global pool of active scripts.\n */\nimport { ScriptDeath } from \"./ScriptDeath\";\nimport { WorkerScript } from \"./WorkerScript\";\nimport { workerScripts } from \"./WorkerScripts\";\nimport { WorkerScriptStartStopEventEmitter } from \"./WorkerScriptStartStopEventEmitter\";\n\nimport { RunningScript } from \"../Script/RunningScript\";\nimport { GetServer } from \"../Server/AllServers\";\n\nimport { compareArrays } from \"../utils/helpers/compareArrays\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { AddRecentScript } from \"./RecentScripts\";\nimport { Player } from \"../Player\";\n\nexport function killWorkerScript(runningScriptObj: RunningScript, hostname: string, rerenderUi?: boolean): boolean;\nexport function killWorkerScript(workerScript: WorkerScript): boolean;\nexport function killWorkerScript(pid: number): boolean;\nexport function killWorkerScript(\n script: RunningScript | WorkerScript | number,\n hostname?: string,\n rerenderUi?: boolean,\n): boolean {\n if (rerenderUi == null || typeof rerenderUi !== \"boolean\") {\n rerenderUi = true;\n }\n\n if (script instanceof WorkerScript) {\n stopAndCleanUpWorkerScript(script);\n\n return true;\n } else if (script instanceof RunningScript && typeof hostname === \"string\") {\n // Try to kill by PID\n const res = killWorkerScriptByPid(script.pid, rerenderUi);\n if (res) {\n return res;\n }\n\n // If for some reason that doesn't work, we'll try the old way\n for (const ws of workerScripts.values()) {\n if (ws.name == script.filename && ws.hostname == hostname && compareArrays(ws.args, script.args)) {\n stopAndCleanUpWorkerScript(ws, rerenderUi);\n\n return true;\n }\n }\n\n return false;\n } else if (typeof script === \"number\") {\n return killWorkerScriptByPid(script, rerenderUi);\n } else {\n console.error(`killWorkerScript() called with invalid argument:`);\n console.error(script);\n return false;\n }\n}\n\nfunction killWorkerScriptByPid(pid: number, rerenderUi = true): boolean {\n const ws = workerScripts.get(pid);\n if (ws instanceof WorkerScript) {\n stopAndCleanUpWorkerScript(ws, rerenderUi);\n\n return true;\n }\n\n return false;\n}\n\nfunction stopAndCleanUpWorkerScript(workerScript: WorkerScript, rerenderUi = true): void {\n if (typeof workerScript.atExit === \"function\") {\n try {\n workerScript.atExit();\n } catch (e: any) {\n dialogBoxCreate(\n `Error trying to call atExit for script ${workerScript.name} on ${workerScript.hostname} ${workerScript.scriptRef.args} ${e}`,\n );\n }\n workerScript.atExit = undefined;\n }\n workerScript.env.stopFlag = true;\n killNetscriptDelay(workerScript);\n removeWorkerScript(workerScript, rerenderUi);\n}\n\n/**\n * Helper function that removes the script being killed from the global pool.\n * Also handles other cleanup-time operations\n *\n * @param {WorkerScript} - Identifier for WorkerScript. Either the object itself, or\n * its index in the global workerScripts array\n */\nfunction removeWorkerScript(workerScript: WorkerScript, rerenderUi = true): void {\n const ip = workerScript.hostname;\n const name = workerScript.name;\n\n // Get the server on which the script runs\n const server = GetServer(ip);\n if (server == null) {\n console.error(`Could not find server on which this script is running: ${ip}`);\n return;\n }\n\n // Delete the RunningScript object from that server\n for (let i = 0; i < server.runningScripts.length; ++i) {\n const runningScript = server.runningScripts[i];\n if (runningScript.filename === name && compareArrays(runningScript.args, workerScript.args)) {\n server.runningScripts.splice(i, 1);\n break;\n }\n }\n\n // Recalculate ram used on that server\n\n server.updateRamUsed(0, Player);\n for (const rs of server.runningScripts) server.updateRamUsed(server.ramUsed + rs.ramUsage * rs.threads, Player);\n\n // Delete script from global pool (workerScripts)\n workerScripts.delete(workerScript.pid);\n // const res = workerScripts.delete(workerScript.pid);\n // if (!res) {\n // console.warn(`removeWorkerScript() called with WorkerScript that wasn't in the global map:`);\n // console.warn(workerScript);\n // }\n AddRecentScript(workerScript);\n\n if (rerenderUi) {\n WorkerScriptStartStopEventEmitter.emit();\n }\n}\n\n/**\n * Helper function that interrupts a script's delay if it is in the middle of a\n * timed, blocked operation (like hack(), sleep(), etc.). This allows scripts to\n * be killed immediately even if they're in the middle of one of those long operations\n */\nfunction killNetscriptDelay(workerScript: WorkerScript): void {\n if (workerScript instanceof WorkerScript) {\n if (workerScript.delay) {\n clearTimeout(workerScript.delay);\n if (workerScript.delayReject) {\n workerScript.delayReject(new ScriptDeath(workerScript));\n }\n }\n }\n}\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../../ui/numeralFormat\";\nimport { ICorporation } from \"../ICorporation\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n unbuyable: {\n color: theme.palette.action.disabled,\n },\n money: {\n color: theme.colors.money,\n },\n }),\n);\n\ninterface IProps {\n money: number;\n corp: ICorporation;\n}\n\nexport function MoneyCost(props: IProps): React.ReactElement {\n const classes = useStyles();\n if (!(props.corp.funds > props.money))\n return {numeralWrapper.formatMoney(props.money)};\n\n return {numeralWrapper.formatMoney(props.money)};\n}\n","/**\n * Checks whether the value passed in can be considered a string.\n * @param value The value to check if it is a string.\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function isString(value: any): boolean {\n return typeof value === \"string\" || value instanceof String;\n}\n","import { IMinMaxRange } from \"../types\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\nimport { getRandomInt } from \"../utils/helpers/getRandomInt\";\n\nexport const StockForecastInfluenceLimit = 5;\n\nexport interface IConstructorParams {\n b: boolean;\n initPrice: number | IMinMaxRange;\n marketCap: number;\n mv: number | IMinMaxRange;\n name: string;\n otlkMag: number;\n spreadPerc: number | IMinMaxRange;\n shareTxForMovement: number | IMinMaxRange;\n symbol: string;\n}\n\nconst defaultConstructorParams: IConstructorParams = {\n b: true,\n initPrice: 10e3,\n marketCap: 1e12,\n mv: 1,\n name: \"\",\n otlkMag: 0,\n spreadPerc: 0,\n shareTxForMovement: 1e6,\n symbol: \"\",\n};\n\n// Helper function that convert a IMinMaxRange to a number\nfunction toNumber(n: number | IMinMaxRange): number {\n let value: number;\n switch (typeof n) {\n case \"number\": {\n return n;\n }\n case \"object\": {\n const range = n as IMinMaxRange;\n value = getRandomInt(range.min, range.max);\n break;\n }\n default:\n throw Error(`Do not know how to convert the type '${typeof n}' to a number`);\n }\n\n if (typeof n === \"object\" && typeof n.divisor === \"number\") {\n return value / n.divisor;\n }\n\n return value;\n}\n\n/**\n * Represents the valuation of a company in the World Stock Exchange.\n */\nexport class Stock {\n /**\n * Bear or bull (more likely to go up or down, based on otlkMag)\n */\n b: boolean;\n\n /**\n * Maximum price of a stock (per share)\n */\n readonly cap: number;\n\n /**\n * Stocks previous share price\n */\n lastPrice: number;\n\n /**\n * Maximum number of shares that player can own (both long and short combined)\n */\n readonly maxShares: number;\n\n /**\n * Maximum volatility\n */\n readonly mv: number;\n\n /**\n * Name of the company that the stock is for\n */\n readonly name: string;\n\n /**\n * Outlook magnitude. Represents the stock's forecast and likelihood\n * of increasing/decreasing (based on whether its in bear or bull mode)\n */\n otlkMag: number;\n\n /**\n * Forecast of outlook magnitude. Essentially a second-order forecast.\n * Unlike 'otlkMag', this number is on an absolute scale from 0-100 (rather than 0-50)\n */\n otlkMagForecast: number;\n\n /**\n * Average price of stocks that the player owns in the LONG position\n */\n playerAvgPx: number;\n\n /**\n * Average price of stocks that the player owns in the SHORT position\n */\n playerAvgShortPx: number;\n\n /**\n * Number of shares the player owns in the LONG position\n */\n playerShares: number;\n\n /**\n * Number of shares the player owns in the SHORT position\n */\n playerShortShares: number;\n\n /**\n * Stock's share price\n */\n price: number;\n\n /**\n * How many shares need to be transacted in order to trigger a price movement\n */\n readonly shareTxForMovement: number;\n\n /**\n * How many share transactions remaining until a price movement occurs\n * (separately tracked for upward and downward movements)\n */\n shareTxUntilMovement: number;\n\n /**\n * Spread percentage. The bid/ask prices for this stock are N% above or below\n * the \"real price\" to emulate spread.\n */\n readonly spreadPerc: number;\n\n /**\n * The stock's ticker symbol\n */\n readonly symbol: string;\n\n /**\n * Total number of shares of this stock\n * This is different than maxShares, as this is like authorized stock while\n * maxShares is outstanding stock.\n */\n readonly totalShares: number;\n\n constructor(p: IConstructorParams = defaultConstructorParams) {\n this.name = p.name;\n this.symbol = p.symbol;\n this.price = toNumber(p.initPrice);\n this.lastPrice = this.price;\n this.playerShares = 0;\n this.playerAvgPx = 0;\n this.playerShortShares = 0;\n this.playerAvgShortPx = 0;\n this.mv = toNumber(p.mv);\n this.b = p.b;\n this.otlkMag = p.otlkMag;\n this.otlkMagForecast = this.getAbsoluteForecast();\n this.cap = getRandomInt(this.price * 1e3, this.price * 25e3);\n this.spreadPerc = toNumber(p.spreadPerc);\n this.shareTxForMovement = toNumber(p.shareTxForMovement);\n this.shareTxUntilMovement = this.shareTxForMovement;\n\n // Total shares is determined by market cap, and is rounded to nearest 100k\n const totalSharesUnrounded: number = p.marketCap / this.price;\n this.totalShares = Math.round(totalSharesUnrounded / 1e5) * 1e5;\n\n // Max Shares (Outstanding shares) is a percentage of total shares\n const outstandingSharePercentage = 0.2;\n this.maxShares = Math.round((this.totalShares * outstandingSharePercentage) / 1e5) * 1e5;\n }\n\n /**\n * Safely set the stock's second-order forecast to a new value\n */\n changeForecastForecast(newff: number): void {\n this.otlkMagForecast = newff;\n if (this.otlkMagForecast > 100) {\n this.otlkMagForecast = 100;\n } else if (this.otlkMagForecast < 0) {\n this.otlkMagForecast = 0;\n }\n }\n\n /**\n * Set the stock to a new price. Also updates the stock's previous price tracker\n */\n changePrice(newPrice: number): void {\n this.lastPrice = this.price;\n this.price = newPrice;\n }\n\n /**\n * Change the stock's forecast during a stock market 'tick'.\n * The way a stock's forecast changes depends on various internal properties,\n * but is ultimately determined by RNG\n */\n cycleForecast(changeAmt = 0.1): void {\n const increaseChance = this.getForecastIncreaseChance();\n\n if (Math.random() < increaseChance) {\n // Forecast increases\n if (this.b) {\n this.otlkMag += changeAmt;\n } else {\n this.otlkMag -= changeAmt;\n }\n } else if (this.b) {\n // Forecast decreases\n this.otlkMag -= changeAmt;\n } else {\n this.otlkMag += changeAmt;\n }\n\n this.otlkMag = Math.min(this.otlkMag, 50);\n if (this.otlkMag < 0) {\n this.otlkMag *= -1;\n this.b = !this.b;\n }\n }\n\n /**\n * Change's the stock's second-order forecast during a stock market 'tick'.\n * The change for the second-order forecast to increase is 50/50\n */\n cycleForecastForecast(changeAmt = 0.1): void {\n if (Math.random() < 0.5) {\n this.changeForecastForecast(this.otlkMagForecast + changeAmt);\n } else {\n this.changeForecastForecast(this.otlkMagForecast - changeAmt);\n }\n }\n\n /**\n * \"Flip\" the stock's second-order forecast. This can occur during a\n * stock market \"cycle\" (determined by RNG). It is used to simulate\n * RL stock market cycles and introduce volatility\n */\n flipForecastForecast(): void {\n const diff = this.otlkMagForecast - 50;\n this.otlkMagForecast = 50 + -1 * diff;\n }\n\n /**\n * Returns the stock's absolute forecast, which is a number between 0-100\n */\n getAbsoluteForecast(): number {\n return this.b ? 50 + this.otlkMag : 50 - this.otlkMag;\n }\n\n /**\n * Return the price at which YOUR stock is bought (market ask price). Accounts for spread\n */\n getAskPrice(): number {\n return this.price * (1 + this.spreadPerc / 100);\n }\n\n /**\n * Return the price at which YOUR stock is sold (market bid price). Accounts for spread\n */\n getBidPrice(): number {\n return this.price * (1 - this.spreadPerc / 100);\n }\n\n /**\n * Returns the chance (0-1 decimal) that a stock has of having its forecast increase\n */\n getForecastIncreaseChance(): number {\n const diff = this.otlkMagForecast - this.getAbsoluteForecast();\n\n return (50 + Math.min(Math.max(diff, -45), 45)) / 100;\n }\n\n /**\n * Changes a stock's forecast. This is used when the stock is influenced\n * by a transaction. The stock's forecast always goes towards 50, but the\n * movement is capped by a certain threshold/limit\n */\n influenceForecast(change: number): void {\n if (this.otlkMag > StockForecastInfluenceLimit) {\n this.otlkMag = Math.max(StockForecastInfluenceLimit, this.otlkMag - change);\n }\n }\n\n /**\n * Changes a stock's second-order forecast. This is used when the stock is\n * influenced by a transaction. The stock's second-order forecast always\n * goes towards 50.\n */\n influenceForecastForecast(change: number): void {\n if (this.otlkMagForecast > 50) {\n this.otlkMagForecast -= change;\n this.otlkMagForecast = Math.max(50, this.otlkMagForecast);\n } else if (this.otlkMagForecast < 50) {\n this.otlkMagForecast += change;\n this.otlkMagForecast = Math.min(50, this.otlkMagForecast);\n }\n }\n\n /**\n * Serialize the Stock to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"Stock\", this);\n }\n\n /**\n * Initializes a Stock from a JSON save state\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Stock {\n return Generic_fromJSON(Stock, value.data);\n }\n}\n\nReviver.constructors.Stock = Stock;\n","/**\n * Map of all Cities in the game\n * Key = City Name, Value = City object\n */\nimport { City } from \"./City\";\nimport { IMap } from \"../types\";\n\nexport const Cities: IMap = {};\n","import { IMap } from \"./types\";\nimport { Terminal } from \"./Terminal\";\n\nexport let Aliases: IMap = {};\nexport let GlobalAliases: IMap = {};\n\nexport function loadAliases(saveString: string): void {\n if (saveString === \"\") {\n Aliases = {};\n } else {\n Aliases = JSON.parse(saveString);\n }\n}\n\nexport function loadGlobalAliases(saveString: string): void {\n if (saveString === \"\") {\n GlobalAliases = {};\n } else {\n GlobalAliases = JSON.parse(saveString);\n }\n}\n\n// Prints all aliases to terminal\nexport function printAliases(): void {\n for (const name of Object.keys(Aliases)) {\n if (Aliases.hasOwnProperty(name)) {\n Terminal.print(\"alias \" + name + \"=\" + Aliases[name]);\n }\n }\n for (const name of Object.keys(GlobalAliases)) {\n if (GlobalAliases.hasOwnProperty(name)) {\n Terminal.print(\"global alias \" + name + \"=\" + GlobalAliases[name]);\n }\n }\n}\n\n// Returns true if successful, false otherwise\nexport function parseAliasDeclaration(dec: string, global = false): boolean {\n const re = /^([\\w|!%,@-]+)=((\"(.+)\")|('(.+)'))$/;\n const matches = dec.match(re);\n if (matches == null || matches.length != 7) {\n return false;\n }\n\n if (global) {\n addGlobalAlias(matches[1], matches[4] || matches[6]);\n } else {\n addAlias(matches[1], matches[4] || matches[6]);\n }\n return true;\n}\n\nfunction addAlias(name: string, value: string): void {\n if (name in GlobalAliases) {\n delete GlobalAliases[name];\n }\n Aliases[name] = value.trim();\n}\n\nfunction addGlobalAlias(name: string, value: string): void {\n if (name in Aliases) {\n delete Aliases[name];\n }\n GlobalAliases[name] = value.trim();\n}\n\nfunction getAlias(name: string): string | null {\n if (Aliases.hasOwnProperty(name)) {\n return Aliases[name];\n }\n\n return null;\n}\n\nfunction getGlobalAlias(name: string): string | null {\n if (GlobalAliases.hasOwnProperty(name)) {\n return GlobalAliases[name];\n }\n return null;\n}\n\nexport function removeAlias(name: string): boolean {\n if (Aliases.hasOwnProperty(name)) {\n delete Aliases[name];\n return true;\n }\n\n if (GlobalAliases.hasOwnProperty(name)) {\n delete GlobalAliases[name];\n return true;\n }\n\n return false;\n}\n\n/**\n * Returns the original string with any aliases substituted in.\n * Aliases are only applied to \"whole words\", one level deep\n */\nexport function substituteAliases(origCommand: string): string {\n const commandArray = origCommand.split(\" \");\n if (commandArray.length > 0) {\n // For the alias and unalias commands, dont substite\n if (commandArray[0] === \"unalias\" || commandArray[0] === \"alias\") {\n return commandArray.join(\" \");\n }\n\n let somethingSubstituted = true;\n let depth = 0;\n\n while (somethingSubstituted && depth < 10) {\n depth++;\n somethingSubstituted = false;\n const alias = getAlias(commandArray[0])?.split(\" \");\n if (alias != null) {\n somethingSubstituted = true;\n commandArray.splice(0, 1, ...alias);\n //commandArray[0] = alias;\n }\n for (let i = 0; i < commandArray.length; ++i) {\n const alias = getGlobalAlias(commandArray[i])?.split(\" \");\n if (alias != null) {\n somethingSubstituted = true;\n commandArray.splice(i, 1, ...alias);\n i += alias.length - 1;\n //commandArray[i] = alias;\n }\n }\n }\n }\n return commandArray.join(\" \");\n}\n","/**\n * Lore / world building literature files that can be found on servers.\n * These files can be read by the player\n */\nexport class Literature {\n title: string;\n fn: string;\n txt: string;\n\n constructor(title: string, filename: string, txt: string) {\n this.title = title;\n this.fn = filename;\n this.txt = txt;\n }\n}\n","import React from \"react\";\nimport { createTheme, ThemeProvider, Theme, StyledEngineProvider } from \"@mui/material/styles\";\nimport { EventEmitter } from \"../../utils/EventEmitter\";\nimport { Settings } from \"../../Settings/Settings\";\n\nexport const ThemeEvents = new EventEmitter<[]>();\n\ndeclare module \"@mui/material/styles\" {\n interface Theme {\n colors: {\n hp: React.CSSProperties[\"color\"];\n money: React.CSSProperties[\"color\"];\n hack: React.CSSProperties[\"color\"];\n combat: React.CSSProperties[\"color\"];\n cha: React.CSSProperties[\"color\"];\n int: React.CSSProperties[\"color\"];\n rep: React.CSSProperties[\"color\"];\n backgroundprimary: React.CSSProperties[\"color\"];\n backgroundsecondary: React.CSSProperties[\"color\"];\n button: React.CSSProperties[\"color\"];\n successlight: React.CSSProperties[\"color\"];\n success: React.CSSProperties[\"color\"];\n successdark: React.CSSProperties[\"color\"];\n white: React.CSSProperties[\"color\"];\n black: React.CSSProperties[\"color\"];\n };\n }\n interface ThemeOptions {\n colors: {\n hp: React.CSSProperties[\"color\"];\n money: React.CSSProperties[\"color\"];\n hack: React.CSSProperties[\"color\"];\n combat: React.CSSProperties[\"color\"];\n cha: React.CSSProperties[\"color\"];\n int: React.CSSProperties[\"color\"];\n rep: React.CSSProperties[\"color\"];\n backgroundprimary: React.CSSProperties[\"color\"];\n backgroundsecondary: React.CSSProperties[\"color\"];\n button: React.CSSProperties[\"color\"];\n successlight: React.CSSProperties[\"color\"];\n success: React.CSSProperties[\"color\"];\n successdark: React.CSSProperties[\"color\"];\n white: React.CSSProperties[\"color\"];\n black: React.CSSProperties[\"color\"];\n };\n }\n}\n\nlet theme: Theme;\n\nexport function refreshTheme(): void {\n theme = createTheme({\n colors: {\n hp: Settings.theme.hp,\n money: Settings.theme.money,\n hack: Settings.theme.hack,\n combat: Settings.theme.combat,\n cha: Settings.theme.cha,\n int: Settings.theme.int,\n rep: Settings.theme.rep,\n backgroundprimary: Settings.theme.backgroundprimary,\n backgroundsecondary: Settings.theme.backgroundsecondary,\n button: Settings.theme.button,\n successlight: Settings.theme.successlight,\n success: Settings.theme.success,\n successdark: Settings.theme.successdark,\n white: Settings.theme.white,\n black: Settings.theme.black,\n },\n palette: {\n primary: {\n light: Settings.theme.primarylight,\n main: Settings.theme.primary,\n dark: Settings.theme.primarydark,\n },\n secondary: {\n light: Settings.theme.secondarylight,\n main: Settings.theme.secondary,\n dark: Settings.theme.secondarydark,\n },\n error: {\n light: Settings.theme.errorlight,\n main: Settings.theme.error,\n dark: Settings.theme.errordark,\n },\n info: {\n light: Settings.theme.infolight,\n main: Settings.theme.info,\n dark: Settings.theme.infodark,\n },\n warning: {\n light: Settings.theme.warninglight,\n main: Settings.theme.warning,\n dark: Settings.theme.warningdark,\n },\n success: {\n light: Settings.theme.successlight,\n main: Settings.theme.success,\n dark: Settings.theme.successdark,\n },\n background: {\n default: Settings.theme.backgroundprimary,\n paper: Settings.theme.well,\n },\n action: {\n disabled: Settings.theme.disabled,\n },\n },\n typography: {\n fontFamily: Settings.styles.fontFamily,\n button: {\n textTransform: \"none\",\n },\n },\n components: {\n MuiInputBase: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.well,\n color: Settings.theme.primary,\n },\n input: {\n \"&::placeholder\": {\n userSelect: \"none\",\n color: Settings.theme.primarydark,\n },\n },\n },\n },\n\n MuiInput: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.well,\n borderBottomColor: \"#fff\",\n },\n underline: {\n \"&:hover\": {\n borderBottomColor: Settings.theme.primarydark,\n },\n \"&:before\": {\n borderBottomColor: Settings.theme.primary,\n },\n \"&:after\": {\n borderBottomColor: Settings.theme.primarylight,\n },\n },\n },\n },\n\n MuiInputLabel: {\n styleOverrides: {\n root: {\n color: Settings.theme.primarydark, // why is this switched?\n userSelect: \"none\",\n \"&:before\": {\n color: Settings.theme.primarylight,\n },\n },\n },\n },\n\n MuiButtonGroup: {\n styleOverrides: {\n root: {\n \"& .MuiButton-root:not(:last-of-type)\": {\n marginRight: \"1px\",\n },\n },\n },\n },\n\n MuiButton: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.button,\n border: \"1px solid \" + Settings.theme.well,\n // color: Settings.theme.primary,\n \"&:hover\": {\n backgroundColor: Settings.theme.backgroundsecondary,\n },\n\n borderRadius: 0,\n },\n },\n },\n MuiSelect: {\n styleOverrides: {\n icon: {\n color: Settings.theme.primary,\n },\n },\n defaultProps: {\n variant: \"standard\",\n },\n },\n MuiTextField: {\n defaultProps: {\n variant: \"standard\",\n },\n },\n MuiTypography: {\n defaultProps: {\n color: \"primary\",\n },\n styleOverrides: {\n root: {\n lineHeight: Settings.styles.lineHeight,\n },\n },\n },\n MuiMenu: {\n styleOverrides: {\n list: {\n backgroundColor: Settings.theme.well,\n },\n },\n },\n MuiMenuItem: {\n styleOverrides: {\n root: {\n color: Settings.theme.primary,\n },\n },\n },\n MuiAccordionSummary: {\n styleOverrides: {\n root: {\n backgroundColor: \"#111\",\n },\n },\n },\n MuiAccordionDetails: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.backgroundsecondary,\n },\n },\n },\n MuiIconButton: {\n styleOverrides: {\n root: {\n color: Settings.theme.primary,\n },\n },\n },\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n fontSize: \"1em\",\n color: Settings.theme.primary,\n backgroundColor: Settings.theme.well,\n borderRadius: 0,\n border: \"2px solid white\",\n maxWidth: \"100vh\",\n },\n },\n defaultProps: {\n disableInteractive: true,\n },\n },\n MuiSlider: {\n styleOverrides: {\n valueLabel: {\n color: Settings.theme.primary,\n backgroundColor: Settings.theme.well,\n },\n },\n },\n MuiDrawer: {\n styleOverrides: {\n paper: {\n \"&::-webkit-scrollbar\": {\n // webkit\n display: \"none\",\n },\n scrollbarWidth: \"none\", // firefox\n backgroundColor: Settings.theme.backgroundsecondary,\n },\n paperAnchorDockedLeft: {\n borderRight: \"1px solid \" + Settings.theme.welllight,\n },\n },\n },\n MuiDivider: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.welllight,\n },\n },\n },\n MuiFormControlLabel: {\n styleOverrides: {\n root: {\n color: Settings.theme.primary,\n },\n },\n },\n MuiSwitch: {\n styleOverrides: {\n switchBase: {\n color: Settings.theme.primarydark,\n },\n track: {\n backgroundColor: Settings.theme.welllight,\n },\n },\n },\n MuiPaper: {\n styleOverrides: {\n root: {\n borderRadius: 0,\n backgroundColor: Settings.theme.backgroundsecondary,\n border: \"1px solid \" + Settings.theme.welllight,\n },\n },\n },\n MuiTablePagination: {\n styleOverrides: {\n select: {\n color: Settings.theme.primary,\n },\n selectLabel: {\n color: Settings.theme.primary,\n },\n displayedRows: {\n color: Settings.theme.primary,\n },\n },\n },\n MuiTab: {\n styleOverrides: {\n textColorPrimary: {\n color: Settings.theme.secondary,\n \"&.Mui-selected\": {\n color: Settings.theme.primary,\n },\n },\n root: {\n backgroundColor: Settings.theme.backgroundsecondary,\n border: \"1px solid \" + Settings.theme.well,\n margin: \"3px\",\n\n \"&.Mui-selected\": {\n backgroundColor: Settings.theme.button,\n },\n },\n },\n },\n MuiTabs: {\n styleOverrides: {\n scrollButtons: {\n backgroundColor: Settings.theme.backgroundsecondary,\n color: Settings.theme.secondary,\n margin: \"3px\",\n opacity: 1,\n width: \"fit-content\",\n\n \"&.Mui-disabled\": {\n opacity: 0.5,\n },\n },\n },\n defaultProps: {\n TabIndicatorProps: {\n style: {\n display: \"none\",\n },\n },\n },\n },\n MuiAlert: {\n styleOverrides: {\n root: {\n backgroundColor: Settings.theme.black,\n borderRadius: 0,\n border: \"1px solid \" + Settings.theme.well,\n },\n standardSuccess: {\n color: Settings.theme.successlight,\n },\n standardError: {\n color: Settings.theme.errorlight,\n },\n standardWarning: {\n color: Settings.theme.warninglight,\n },\n standardInfo: {\n color: Settings.theme.infolight,\n },\n },\n },\n },\n });\n\n document.body.style.backgroundColor = theme.colors.backgroundprimary?.toString() ?? \"black\";\n}\nrefreshTheme();\n\ninterface IProps {\n children: JSX.Element[] | JSX.Element;\n}\n\nexport const TTheme = ({ children }: IProps): React.ReactElement => (\n \n {children}\n \n);\n","import { FormControlLabel, Switch, Tooltip, Typography } from \"@mui/material\";\nimport React, { useEffect, useState } from \"react\";\n\ninterface IProps {\n checked: boolean;\n onChange: (newValue: boolean, error?: string) => void;\n text: React.ReactNode;\n tooltip: React.ReactNode;\n}\n\nexport function OptionSwitch({ checked, onChange, text, tooltip }: IProps): React.ReactElement {\n const [value, setValue] = useState(checked);\n\n function handleSwitchChange(event: React.ChangeEvent): void {\n setValue(event.target.checked);\n }\n\n useEffect(() => onChange(value), [value]);\n\n return (\n }\n label={\n {tooltip}}>\n {text}\n \n }\n />\n );\n}\n","import React, { useState } from \"react\";\nimport Typography from \"@mui/material/Typography\";\nimport Tooltip from \"@mui/material/Tooltip\";\n\ntype IProps = {\n value: string;\n color?: string;\n variant?:\n | \"button\"\n | \"caption\"\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"h5\"\n | \"h6\"\n | \"subtitle1\"\n | \"subtitle2\"\n | \"body1\"\n | \"body2\"\n | \"overline\"\n | \"inherit\"\n | undefined;\n};\n\nexport function CopyableText(props: IProps): React.ReactElement {\n const [open, setOpen] = useState(false);\n\n function copy(): void {\n const copyText = document.createElement(\"textarea\");\n copyText.value = props.value;\n document.body.appendChild(copyText);\n copyText.select();\n copyText.setSelectionRange(0, 1e10);\n document.execCommand(\"copy\");\n document.body.removeChild(copyText);\n setOpen(true);\n setTimeout(() => setOpen(false), 1000);\n }\n\n return (\n Copied!}>\n \n {props.value}\n \n \n );\n}\n","import { IMap } from \"../types\";\n\n// Map of material (by name) to their sizes (how much space it takes in warehouse)\nexport const MaterialSizes: IMap = {\n Water: 0.05,\n Energy: 0.01,\n Food: 0.03,\n Plants: 0.05,\n Metal: 0.1,\n Hardware: 0.06,\n Chemicals: 0.05,\n Drugs: 0.02,\n Robots: 0.5,\n AICores: 0.1,\n RealEstate: 0.005,\n \"Real Estate\": 0.005,\n \"AI Cores\": 0.1,\n};\n","import { WorkerScript } from \"./WorkerScript\";\n\n/**\n * Script death marker.\n *\n * IMPORTANT: the game engine should not base any of it's decisions on the data\n * carried in a ScriptDeath instance.\n *\n * This is because ScriptDeath instances are thrown through player code when a\n * script is killed. Which grants the player access to the class and the ability\n * to construct new instances with arbitrary data.\n */\nexport class ScriptDeath {\n /** Process ID number. */\n pid: number;\n\n /** Filename of the script. */\n name: string;\n\n /** IP Address on which the script was running */\n hostname: string;\n\n /** Status message in case of script error. */\n errorMessage = \"\";\n\n constructor(ws: WorkerScript) {\n this.pid = ws.pid;\n this.name = ws.name;\n this.hostname = ws.hostname;\n this.errorMessage = ws.errorMessage;\n\n Object.freeze(this);\n }\n}\n\nObject.freeze(ScriptDeath);\nObject.freeze(ScriptDeath.prototype);\n","export function calculateSkill(exp: number, mult = 1): number {\n return Math.max(Math.floor(mult * (32 * Math.log(exp + 534.5) - 200)), 1);\n}\n\nexport function calculateExp(skill: number, mult = 1): number {\n return Math.exp((skill / mult + 200) / 32) - 534.6;\n}\n\nexport function calculateSkillProgress(exp: number, mult = 1): ISkillProgress {\n const currentSkill = calculateSkill(exp, mult);\n const nextSkill = currentSkill + 1;\n\n let baseExperience = calculateExp(currentSkill, mult);\n if (baseExperience < 0) baseExperience = 0;\n\n let nextExperience = calculateExp(nextSkill, mult);\n if (nextExperience < 0) nextExperience = 0;\n\n const normalize = (value: number): number => ((value - baseExperience) * 100) / (nextExperience - baseExperience);\n let progress = nextExperience - baseExperience !== 0 ? normalize(exp) : 99.99;\n\n // Clamp progress: When sleeves are working out, the player gets way too much progress\n if (progress < 0) progress = 0;\n if (progress > 100) progress = 100;\n\n // Clamp floating point imprecisions\n let currentExperience = exp - baseExperience;\n let remainingExperience = nextExperience - exp;\n if (currentExperience < 0) currentExperience = 0;\n if (remainingExperience < 0) remainingExperience = 0;\n\n return {\n currentSkill,\n nextSkill,\n baseExperience,\n experience: exp,\n nextExperience,\n currentExperience,\n remainingExperience,\n progress,\n };\n}\n\nexport interface ISkillProgress {\n currentSkill: number;\n nextSkill: number;\n baseExperience: number;\n experience: number;\n nextExperience: number;\n currentExperience: number;\n remainingExperience: number;\n progress: number;\n}\n\nexport function getEmptySkillProgress(): ISkillProgress {\n return {\n currentSkill: 0,\n nextSkill: 0,\n baseExperience: 0,\n experience: 0,\n nextExperience: 0,\n currentExperience: 0,\n remainingExperience: 0,\n progress: 0,\n };\n}\n","export interface IMults {\n hack?: number;\n str?: number;\n def?: number;\n dex?: number;\n agi?: number;\n cha?: number;\n}\n\nexport enum UpgradeType {\n Weapon = \"w\",\n Armor = \"a\",\n Vehicle = \"v\",\n Rootkit = \"r\",\n Augmentation = \"g\",\n}\n\n/**\n * Defines the parameters that can be used to initialize and describe a GangMemberUpgrade\n * (defined in Gang.js)\n */\ninterface IGangMemberUpgradeMetadata {\n cost: number;\n mults: IMults;\n name: string;\n upgType: UpgradeType;\n}\n\n/**\n * Array of metadata for all Gang Member upgrades. Used to construct the global GangMemberUpgrade\n * objects in Gang.js\n */\nexport const gangMemberUpgradesMetadata: IGangMemberUpgradeMetadata[] = [\n {\n cost: 1e6,\n mults: { str: 1.04, def: 1.04 },\n name: \"Baseball Bat\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 12e6,\n mults: { str: 1.08, def: 1.08, dex: 1.08 },\n name: \"Katana\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 25e6,\n mults: { str: 1.1, def: 1.1, dex: 1.1, agi: 1.1 },\n name: \"Glock 18C\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 50e6,\n mults: { str: 1.12, def: 1.1, agi: 1.1 },\n name: \"P90C\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 60e6,\n mults: { str: 1.2, def: 1.15 },\n name: \"Steyr AUG\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 100e6,\n mults: { str: 1.25, def: 1.2 },\n name: \"AK-47\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 150e6,\n mults: { str: 1.3, def: 1.25 },\n name: \"M15A10 Assault Rifle\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 225e6,\n mults: { str: 1.3, dex: 1.25, agi: 1.3 },\n name: \"AWM Sniper Rifle\",\n upgType: UpgradeType.Weapon,\n },\n {\n cost: 2e6,\n mults: { def: 1.04 },\n name: \"Bulletproof Vest\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 5e6,\n mults: { def: 1.08 },\n name: \"Full Body Armor\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 25e6,\n mults: { def: 1.15, agi: 1.15 },\n name: \"Liquid Body Armor\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 40e6,\n mults: { def: 1.2 },\n name: \"Graphene Plating Armor\",\n upgType: UpgradeType.Armor,\n },\n {\n cost: 3e6,\n mults: { agi: 1.04, cha: 1.04 },\n name: \"Ford Flex V20\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 9e6,\n mults: { agi: 1.08, cha: 1.08 },\n name: \"ATX1070 Superbike\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 18e6,\n mults: { agi: 1.12, cha: 1.12 },\n name: \"Mercedes-Benz S9001\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 30e6,\n mults: { agi: 1.16, cha: 1.16 },\n name: \"White Ferrari\",\n upgType: UpgradeType.Vehicle,\n },\n {\n cost: 5e6,\n mults: { hack: 1.05 },\n name: \"NUKE Rootkit\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 25e6,\n mults: { hack: 1.1 },\n name: \"Soulstealer Rootkit\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 75e6,\n mults: { hack: 1.15 },\n name: \"Demon Rootkit\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 40e6,\n mults: { hack: 1.12 },\n name: \"Hmap Node\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 75e6,\n mults: { hack: 1.15 },\n name: \"Jack the Ripper\",\n upgType: UpgradeType.Rootkit,\n },\n {\n cost: 10e9,\n mults: { str: 1.3, dex: 1.3 },\n name: \"Bionic Arms\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 10e9,\n mults: { agi: 1.6 },\n name: \"Bionic Legs\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 15e9,\n mults: { str: 1.15, def: 1.15, dex: 1.15, agi: 1.15 },\n name: \"Bionic Spine\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 20e9,\n mults: { str: 1.4, def: 1.4 },\n name: \"BrachiBlades\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 12e9,\n mults: { str: 1.2, def: 1.2 },\n name: \"Nanofiber Weave\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 25e9,\n mults: { str: 1.5, agi: 1.5 },\n name: \"Synthetic Heart\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 15e9,\n mults: { str: 1.3, def: 1.3 },\n name: \"Synfibril Muscle\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 5e9,\n mults: { hack: 1.05 },\n name: \"BitWire\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 10e9,\n mults: { hack: 1.15 },\n name: \"Neuralstimulator\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 7.5e9,\n mults: { hack: 1.1 },\n name: \"DataJack\",\n upgType: UpgradeType.Augmentation,\n },\n {\n cost: 50e9,\n mults: { str: 1.7, def: 1.7 },\n name: \"Graphene Bone Lacings\",\n upgType: UpgradeType.Augmentation,\n },\n];\n","import { FactionInfo, FactionInfos } from \"./FactionInfo\";\nimport { favorToRep, repToFavor } from \"./formulas/favor\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\nexport class Faction {\n /**\n * Flag signalling whether the player has already received an invitation\n * to this faction\n */\n alreadyInvited = false;\n\n /**\n * Holds names of all augmentations that this Faction offers\n */\n augmentations: string[] = [];\n\n /**\n * Amount of favor the player has with this faction.\n */\n favor = 0;\n\n /**\n * Flag signalling whether player has been banned from this faction\n */\n isBanned = false;\n\n /**\n * Flag signalling whether player is a member of this faction\n */\n isMember = false;\n\n /**\n * Name of faction\n */\n name = \"\";\n\n /**\n * Amount of reputation player has with this faction\n */\n playerReputation = 0;\n\n constructor(name = \"\") {\n this.name = name;\n }\n\n getInfo(): FactionInfo {\n const info = FactionInfos[this.name];\n if (info == null) {\n throw new Error(\n `Missing faction from FactionInfos: ${this.name} this probably means the faction got corrupted somehow`,\n );\n }\n\n return info;\n }\n\n gainFavor(): void {\n if (this.favor == null) {\n this.favor = 0;\n }\n this.favor += this.getFavorGain();\n }\n\n //Returns an array with [How much favor would be gained, how much rep would be left over]\n getFavorGain(): number {\n if (this.favor == null) {\n this.favor = 0;\n }\n const storedRep = Math.max(0, favorToRep(this.favor));\n const totalRep = storedRep + this.playerReputation;\n const newFavor = repToFavor(totalRep);\n return newFavor - this.favor;\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"Faction\", this);\n }\n\n /**\n * Initiatizes a Faction object from a JSON save state.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Faction {\n return Generic_fromJSON(Faction, value.data);\n }\n}\n\nReviver.constructors.Faction = Faction;\n","import React, { useState, useEffect, useRef } from \"react\";\nimport { EventEmitter } from \"../../utils/EventEmitter\";\nimport { RunningScript } from \"../../Script/RunningScript\";\nimport { killWorkerScript } from \"../../Netscript/killWorkerScript\";\nimport Typography from \"@mui/material/Typography\";\nimport Box from \"@mui/material/Box\";\nimport Button from \"@mui/material/Button\";\nimport Paper from \"@mui/material/Paper\";\nimport Draggable from \"react-draggable\";\nimport { ResizableBox } from \"react-resizable\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\nimport ArrowForwardIosIcon from \"@mui/icons-material/ArrowForwardIos\";\nimport { workerScripts } from \"../../Netscript/WorkerScripts\";\nimport { startWorkerScript } from \"../../NetscriptWorker\";\nimport { GetServer } from \"../../Server/AllServers\";\nimport { Theme } from \"@mui/material\";\nimport { findRunningScript } from \"../../Script/ScriptHelpers\";\nimport { Player } from \"../../Player\";\nimport { debounce } from \"lodash\";\n\nlet layerCounter = 0;\n\nexport const LogBoxEvents = new EventEmitter<[RunningScript]>();\nexport const LogBoxClearEvents = new EventEmitter<[]>();\n\ninterface Log {\n id: string;\n script: RunningScript;\n}\n\nlet logs: Log[] = [];\n\nexport function LogBoxManager(): React.ReactElement {\n const setRerender = useState(true)[1];\n function rerender(): void {\n setRerender((o) => !o);\n }\n useEffect(\n () =>\n LogBoxEvents.subscribe((script: RunningScript) => {\n const id = script.server + \"-\" + script.filename + script.args.map((x: any): string => `${x}`).join(\"-\");\n if (logs.find((l) => l.id === id)) return;\n logs.push({\n id: id,\n script: script,\n });\n rerender();\n }),\n [],\n );\n\n useEffect(() =>\n LogBoxClearEvents.subscribe(() => {\n logs = [];\n rerender();\n }),\n );\n\n function close(id: string): void {\n logs = logs.filter((l) => l.id !== id);\n rerender();\n }\n\n return (\n <>\n {logs.map((log) => (\n close(log.id)} />\n ))}\n >\n );\n}\n\ninterface IProps {\n script: RunningScript;\n id: string;\n onClose: () => void;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n \"&.is-minimized + *\": {\n border: \"none\",\n margin: 0,\n \"max-height\": 0,\n padding: 0,\n \"pointer-events\": \"none\",\n visibility: \"hidden\",\n },\n },\n logs: {\n overflowY: \"scroll\",\n overflowX: \"hidden\",\n scrollbarWidth: \"auto\",\n display: \"flex\",\n flexDirection: \"column-reverse\",\n },\n titleButton: {\n padding: \"1px 6px\",\n },\n success: {\n color: theme.colors.success,\n },\n error: {\n color: theme.palette.error.main,\n },\n primary: {\n color: theme.palette.primary.main,\n },\n info: {\n color: theme.palette.info.main,\n },\n warning: {\n color: theme.palette.warning.main,\n },\n }),\n);\n\nexport const logBoxBaseZIndex = 1500;\n\nfunction LogWindow(props: IProps): React.ReactElement {\n const draggableRef = useRef(null);\n const rootRef = useRef(null);\n const [script, setScript] = useState(props.script);\n const classes = useStyles();\n const container = useRef(null);\n const setRerender = useState(false)[1];\n const [minimized, setMinimized] = useState(false);\n function rerender(): void {\n setRerender((old) => !old);\n }\n\n // useEffect(\n // () =>\n // WorkerScriptStartStopEventEmitter.subscribe(() => {\n // setTimeout(() => {\n // const server = GetServer(script.server);\n // if (server === null) return;\n // const exisitingScript = findRunningScript(script.filename, script.args, server);\n // if (exisitingScript) {\n // exisitingScript.logs = script.logs.concat(exisitingScript.logs)\n // setScript(exisitingScript)\n // }\n // rerender();\n // }, 100)\n // }),\n // [],\n // );\n\n useEffect(() => {\n updateLayer();\n const id = setInterval(rerender, 1000);\n return () => clearInterval(id);\n }, []);\n\n function kill(): void {\n killWorkerScript(script, script.server, true);\n }\n\n function run(): void {\n const server = GetServer(script.server);\n if (server === null) return;\n const s = findRunningScript(script.filename, script.args, server);\n if (s === null) {\n startWorkerScript(Player, script, server);\n } else {\n setScript(s);\n }\n }\n\n function updateLayer(): void {\n const c = container.current;\n if (c === null) return;\n c.style.zIndex = logBoxBaseZIndex + layerCounter + \"\";\n layerCounter++;\n rerender();\n }\n\n function title(full = false): string {\n const maxLength = 30;\n const t = `${script.filename} ${script.args.map((x: any): string => `${x}`).join(\" \")}`;\n if (full || t.length <= maxLength) {\n return t;\n }\n return t.slice(0, maxLength - 3) + \"...\";\n }\n\n function minimize(): void {\n setMinimized(!minimized);\n }\n\n function lineClass(s: string): string {\n if (s.match(/(^\\[[^\\]]+\\] )?ERROR/) || s.match(/(^\\[[^\\]]+\\] )?FAIL/)) {\n return classes.error;\n }\n if (s.match(/(^\\[[^\\]]+\\] )?SUCCESS/)) {\n return classes.success;\n }\n if (s.match(/(^\\[[^\\]]+\\] )?WARN/)) {\n return classes.warning;\n }\n if (s.match(/(^\\[[^\\]]+\\] )?INFO/)) {\n return classes.info;\n }\n return classes.primary;\n }\n\n // And trigger fakeDrag when the window is resized\n useEffect(() => {\n window.addEventListener(\"resize\", onResize);\n return () => {\n window.removeEventListener(\"resize\", onResize);\n };\n }, []);\n\n const onResize = debounce((): void => {\n const node = draggableRef?.current;\n if (!node) return;\n\n if (!isOnScreen(node)) {\n resetPosition();\n }\n }, 100);\n\n const isOnScreen = (node: HTMLDivElement): boolean => {\n const bounds = node.getBoundingClientRect();\n\n return !(bounds.right < 0 || bounds.bottom < 0 || bounds.left > innerWidth || bounds.top > outerWidth);\n };\n\n const resetPosition = (): void => {\n const node = rootRef?.current;\n if (!node) return;\n const state = node.state as { x: number; y: number };\n state.x = 0;\n state.y = 0;\n node.setState(state);\n };\n\n const boundToBody = (e: any): void | false => {\n if (e.clientX < 0 || e.clientY < 0 || e.clientX > innerWidth || e.clientY > innerHeight) return false;\n };\n\n return (\n \n \n
\n \n \n );\n}\n","/**\n * Map of all Locations in the game\n * Key = Location name, value = Location object\n */\nimport { City } from \"./City\";\nimport { Cities } from \"./Cities\";\nimport { Location, IConstructorParams } from \"./Location\";\nimport { CityName } from \"./data/CityNames\";\nimport { LocationsMetadata } from \"./data/LocationsMetadata\";\n\nimport { IMap } from \"../types\";\n\nexport const Locations: IMap = {};\n\n/**\n * Here, we'll initialize both Locations and Cities data. These can both\n * be initialized from the `LocationsMetadata`\n */\nfunction constructLocation(p: IConstructorParams): Location {\n if (!p.name) {\n throw new Error(`Invalid constructor parameters for Location. No 'name' property`);\n }\n\n if (Locations[p.name] instanceof Location) {\n console.warn(`Property with name ${p.name} already exists and is being overwritten`);\n }\n\n Locations[p.name] = new Location(p);\n\n return Locations[p.name];\n}\n\n// First construct all cities\nCities[CityName.Aevum] = new City(CityName.Aevum);\nCities[CityName.Chongqing] = new City(CityName.Chongqing);\nCities[CityName.Ishima] = new City(CityName.Ishima);\nCities[CityName.NewTokyo] = new City(CityName.NewTokyo);\nCities[CityName.Sector12] = new City(CityName.Sector12);\nCities[CityName.Volhaven] = new City(CityName.Volhaven);\n\nCities[CityName.Aevum].asciiArt = `\n [aevum police headquarters] 26 \n o \n I \\\\ [bachman & associates] \n \\\\ 56 B \n x \\\\ [summit university] \n \\\\ \\\\ 28 \n \\\\ [snap fitness gym] x o--L-----------N \n K \\\\ / \n \\\\ \\\\ Q [casino] \n x 58 \\\\ / [travel agency] \n \\\\ 94 95 o \n 90 x 59 o------o | \n \\\\ / \\\\ | 98 102 103 \n o--------O------x----o 93 96 o-----+------------o o----o \n \\\\ | \\\\ / \n [hospital] \\\\ 61 [ecorp] x 31 99 o-F-o 101 \n o | \n | o---E-- | [fulcrum tech.] \n x 62 / A [aerocorp] \n [crush fitness gym] | / | \n | / | \n o--------D------+--o o \n | |\\\\ [rho construction] \n H [netlink tech.] | J \n | | \\\\ \n | 34 x \\\\ \n [clarke inc.] C | \\\\ [world stock exchange] \n | | \\\\ \n | | o-M-------R--------o \n[galactic cybersystems] G 35 x \n | [watchdog security] \n | \n 67 o \n \n [the slums] P `;\nCities[CityName.Chongqing].asciiArt = `\n | \n 75 o \n \\\\ \n o 76 \n 7 | | \n | + 77 \n [world stock exchange] F | \n \\\\ o 78 [kuaigong international] \n \\\\ / \n 38 o----x--x------x------A------G-- \n / 39 | 41 [church] \n 37 o + 79 o--x--x-C-0 \n / | / \n / x-----+-----x-----0 [hospital] \n[solaris space system] B | \n | + 80 \n | | \n 34 o E [travel agency] \n | \n | \n x 82 \n [the slums] D `;\nCities[CityName.Ishima].asciiArt = `\n o 59 \n o o | \n [storm tech.] | | G [world stock exchange] \n | | 28 | \n 23 o--C------o--------+----x----o | \n / / 25 | 27 \\\\ x 57 \n / / | \\\\ | \n / / | \\\\ | \n o 22 o | \\\\| 29/56 \n | | o \n | [hospital] D / \\\\ 3 2 1 \n o | / \\\\ o-------x------o \n / o / \\\\ / \n 48 o / 55 x \\\\ / \n \\\\ / / x [glitch] \n \\\\ / [nova medical] / 4/30 \\\\ \n 49 x A \\\\ H \n / \\\\ / \\\\ \n / \\\\ [travel agency] F o 31 \n / \\\\ 51 / \n / o----B------x-----o \n o 50 52 \n [omega soft.] \n [the slums] E `;\nCities[CityName.NewTokyo].asciiArt = `\n \n \n o \n \\\\ \n [arcade] E [defcomm] \n \\\\ \n o--x---A--x--o [travel agency] \n 7 8 10 H \n [vitalife] o 12 [global pharmaceuticals] \n | \n o--D-x----x-------x-C-+--------x--x-B-x---x-o \n 21 22 23 \\\\ 24 25 26 27 \n \\\\ \n [noodle bar] x 14 \n \\\\ \n \\\\ \n [hospital] o 15 [world stock exchange] \n | \n o--x--F--x-----x-----x---+---x----x--I--x-o \n | \n | \n o 17 \n \n \n \n G [the slums] \n `;\nCities[CityName.Sector12].asciiArt = `\n 78 o 97 \n o [icarus microsystems] / \n N [powerhouse gym] o I \n 1 | | / \n o-----+---x----o 4 A [alpha ent.] o-------o / \n | 3 \\\\ | \\\\ / \n | \\\\ | [iron gym] x 95 \n (79) x \\\\ | / \\\\ \n | o-E----+----x----J--o 10 / o----T--o \n | | 8 \\\\ 94 x \n 80 x [city hall] | x 11 / [world stock exchange]\n | | \\\\ / \n | C [cia] \\\\ / \n Q [hospital] | F P [universal energy] \n | o [deltaone] \\\\ / \n | 35 o---------x 13/92/36 \n L [megacorp] 33 / / \\\\ \n | o------------o 34 / \\\\ \n (29) | / [carmichael sec.] D \\\\ \n o-----+-----x------o / O [rothman university] \n | 31 32 [nsa] M \n | / \n B [blade industries] H \n | / [four sigma] \n | [joe's guns] / \n | / \n 85 o--G--------K--------S-------o 88 [the slums] R \n \n [foodnstuff] [travel agency] `;\nCities[CityName.Volhaven].asciiArt = `\n [omnia cybersystems] \n 17 66 68 \n o o------G-------o \n \\\\ / \\\\ \n \\\\ o 65 o 69 \n [syscore sec.] H | | \n \\\\ | | [millenium fitness gym] \n \\\\ | 21 22 23 24 | 26 \n o----+--x--x----x---x---+-----x-------D-----o \n 19 | | 28 \n | F [omnitek inc.] \n [hospital] J 63 o \n | / 72 \n 3 | 5 6 / 9 \n o--------+----x-----x----+----------M-------o \n / | | \n / 61 x [helios labs] B [world stock exchange] \n [travel agency] L | | \n / | o \n / E [nwo] / 75 \n / [computek] | / \n / A-------o------I-----o \n 1 o | | \n | [zb] o 77 \n [lexocorp] C \n | \n o \n 57 \n \n \n [the slums] K `;\n\n// Then construct all locations, and add them to the cities as we go.\nfor (const metadata of LocationsMetadata) {\n const loc = constructLocation(metadata);\n\n const cityName = loc.city;\n if (cityName === null) {\n // Generic location, add to all cities\n for (const city of Object.keys(Cities)) {\n Cities[city].addLocation(loc.name);\n }\n } else {\n Cities[cityName].addLocation(loc.name);\n }\n}\n","import { FactionNames } from \"../../Faction/data/FactionNames\";\n\nexport const GangConstants: {\n GangRespectToReputationRatio: number;\n MaximumGangMembers: number;\n CyclesPerTerritoryAndPowerUpdate: number;\n AscensionMultiplierRatio: number;\n Names: string[];\n GangKarmaRequirement: number;\n} = {\n // Respect is divided by this to get rep gain\n GangRespectToReputationRatio: 75,\n MaximumGangMembers: 12,\n CyclesPerTerritoryAndPowerUpdate: 100,\n // Portion of upgrade multiplier that is kept after ascending\n AscensionMultiplierRatio: 0.15,\n // Names of possible Gangs\n Names: [\n FactionNames.SlumSnakes,\n FactionNames.Tetrads,\n FactionNames.TheSyndicate,\n FactionNames.TheDarkArmy,\n FactionNames.SpeakersForTheDead,\n FactionNames.NiteSec,\n FactionNames.TheBlackHand,\n ],\n GangKarmaRequirement: -54000,\n};\n","import { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { HacknetServerConstants } from \"../data/Constants\";\n\nexport function calculateHashGainRate(\n level: number,\n ramUsed: number,\n maxRam: number,\n cores: number,\n mult: number,\n): number {\n const baseGain = HacknetServerConstants.HashesPerLevel * level;\n const ramMultiplier = Math.pow(1.07, Math.log2(maxRam));\n const coreMultiplier = 1 + (cores - 1) / 5;\n const ramRatio = 1 - ramUsed / maxRam;\n\n return baseGain * ramMultiplier * coreMultiplier * ramRatio * mult * BitNodeMultipliers.HacknetNodeMoney;\n}\n\nexport function calculateLevelUpgradeCost(startingLevel: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingLevel >= HacknetServerConstants.MaxLevel) {\n return Infinity;\n }\n\n const mult = HacknetServerConstants.UpgradeLevelMult;\n let totalMultiplier = 0;\n let currLevel = startingLevel;\n for (let i = 0; i < sanitizedLevels; ++i) {\n totalMultiplier += Math.pow(mult, currLevel);\n ++currLevel;\n }\n\n return 10 * HacknetServerConstants.BaseCost * totalMultiplier * costMult;\n}\n\nexport function calculateRamUpgradeCost(startingRam: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingRam >= HacknetServerConstants.MaxRam) {\n return Infinity;\n }\n\n let totalCost = 0;\n let numUpgrades = Math.round(Math.log2(startingRam));\n let currentRam = startingRam;\n for (let i = 0; i < sanitizedLevels; ++i) {\n const baseCost = currentRam * HacknetServerConstants.RamBaseCost;\n const mult = Math.pow(HacknetServerConstants.UpgradeRamMult, numUpgrades);\n\n totalCost += baseCost * mult;\n\n currentRam *= 2;\n ++numUpgrades;\n }\n totalCost *= costMult;\n\n return totalCost;\n}\n\nexport function calculateCoreUpgradeCost(startingCores: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingCores >= HacknetServerConstants.MaxCores) {\n return Infinity;\n }\n\n const mult = HacknetServerConstants.UpgradeCoreMult;\n let totalCost = 0;\n let currentCores = startingCores;\n for (let i = 0; i < sanitizedLevels; ++i) {\n totalCost += Math.pow(mult, currentCores - 1);\n ++currentCores;\n }\n totalCost *= HacknetServerConstants.CoreBaseCost;\n totalCost *= costMult;\n\n return totalCost;\n}\n\nexport function calculateCacheUpgradeCost(startingCache: number, extraLevels = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingCache >= HacknetServerConstants.MaxCache) {\n return Infinity;\n }\n\n const mult = HacknetServerConstants.UpgradeCacheMult;\n let totalCost = 0;\n let currentCache = startingCache;\n for (let i = 0; i < sanitizedLevels; ++i) {\n totalCost += Math.pow(mult, currentCache - 1);\n ++currentCache;\n }\n totalCost *= HacknetServerConstants.CacheBaseCost;\n\n return totalCost;\n}\n\nexport function calculateServerCost(n: number, mult = 1): number {\n if (n - 1 >= HacknetServerConstants.MaxServers) {\n return Infinity;\n }\n\n return HacknetServerConstants.BaseCost * Math.pow(HacknetServerConstants.PurchaseMult, n - 1) * mult;\n}\n","export enum FactionWorkType {\n Field,\n Hacking,\n None,\n Security,\n}\n","/**\n * Represents the possible configuration values that can be provided when creating the progress bar text.\n */\ninterface IProgressBarConfiguration {\n /**\n * Current progress, taken as a decimal (i.e. '0.6' to represent '60%')\n */\n progress?: number;\n\n /**\n * Total number of ticks in progress bar. Preferably a factor of 100.\n */\n totalTicks?: number;\n}\n\n/**\n * Represents concrete configuration values when creating the progress bar text.\n */\ninterface IProgressBarConfigurationMaterialized extends IProgressBarConfiguration {\n progress: number;\n totalTicks: number;\n}\n\n/**\n * Creates a graphical \"progress bar\"\n * e.g.: [||||---------------]\n * @param params The configuration parameters for the progress bar\n */\nexport function createProgressBarText(params: IProgressBarConfiguration): string {\n // Default values\n const defaultParams: IProgressBarConfigurationMaterialized = {\n progress: 0,\n totalTicks: 20,\n };\n\n // tslint:disable-next-line:prefer-object-spread\n const derived: IProgressBarConfigurationMaterialized = Object.assign({}, defaultParams, params);\n // Ensure it is 0..1\n derived.progress = Math.max(Math.min(derived.progress, 1), 0);\n\n // This way there is always at least one bar filled in...\n const bars: number = Math.max(Math.floor(derived.progress / (1 / derived.totalTicks)), 1);\n const dashes: number = Math.max(derived.totalTicks - bars, 0);\n\n // String.prototype.repeat isn't completley supported, but good enough for our purposes\n return `[${\"|\".repeat(bars)}${\"-\".repeat(dashes)}]`;\n}\n","/**\n * Functions for handling WorkerScripts, which are the underlying mechanism\n * that allows for scripts to run\n */\nimport { killWorkerScript } from \"./Netscript/killWorkerScript\";\nimport { ScriptDeath } from \"./Netscript/ScriptDeath\";\nimport { WorkerScript } from \"./Netscript/WorkerScript\";\nimport { workerScripts } from \"./Netscript/WorkerScripts\";\nimport { WorkerScriptStartStopEventEmitter } from \"./Netscript/WorkerScriptStartStopEventEmitter\";\nimport { generateNextPid } from \"./Netscript/Pid\";\n\nimport { CONSTANTS } from \"./Constants\";\nimport { Interpreter } from \"./ThirdParty/JSInterpreter\";\nimport { isScriptErrorMessage, makeRuntimeRejectMsg } from \"./NetscriptEvaluator\";\nimport { NetscriptFunctions } from \"./NetscriptFunctions\";\nimport { executeJSScript } from \"./NetscriptJSEvaluator\";\nimport { NetscriptPort, IPort } from \"./NetscriptPort\";\nimport { RunningScript } from \"./Script/RunningScript\";\nimport { getRamUsageFromRunningScript } from \"./Script/RunningScriptHelpers\";\nimport { scriptCalculateOfflineProduction } from \"./Script/ScriptHelpers\";\nimport { Script } from \"./Script/Script\";\nimport { GetAllServers } from \"./Server/AllServers\";\nimport { BaseServer } from \"./Server/BaseServer\";\nimport { Settings } from \"./Settings/Settings\";\n\nimport { generate } from \"escodegen\";\n\nimport { dialogBoxCreate } from \"./ui/React/DialogBox\";\nimport { arrayToString } from \"./utils/helpers/arrayToString\";\nimport { roundToTwo } from \"./utils/helpers/roundToTwo\";\nimport { isString } from \"./utils/helpers/isString\";\nimport { sprintf } from \"sprintf-js\";\n\nimport { parse } from \"acorn\";\nimport { simple as walksimple } from \"acorn-walk\";\nimport { areFilesEqual } from \"./Terminal/DirectoryHelpers\";\nimport { Player } from \"./Player\";\nimport { Terminal } from \"./Terminal\";\nimport { IPlayer } from \"./PersonObjects/IPlayer\";\n\n// Netscript Ports are instantiated here\nexport const NetscriptPorts: IPort[] = [];\nfor (let i = 0; i < CONSTANTS.NumNetscriptPorts; ++i) {\n NetscriptPorts.push(NetscriptPort());\n}\n\nexport function prestigeWorkerScripts(): void {\n for (const ws of workerScripts.values()) {\n ws.env.stopFlag = true;\n killWorkerScript(ws);\n }\n for (const port of NetscriptPorts) {\n port.clear();\n }\n\n WorkerScriptStartStopEventEmitter.emit();\n workerScripts.clear();\n}\n\n// JS script promises need a little massaging to have the same guarantees as netscript\n// promises. This does said massaging and kicks the script off. It returns a promise\n// that resolves or rejects when the corresponding worker script is done.\nfunction startNetscript2Script(player: IPlayer, workerScript: WorkerScript): Promise {\n workerScript.running = true;\n\n // The name of the currently running netscript function, to prevent concurrent\n // calls to hack, grow, etc.\n let runningFn: string | null = null;\n\n // We need to go through the environment and wrap each function in such a way that it\n // can be called at most once at a time. This will prevent situations where multiple\n // hack promises are outstanding, for example.\n function wrap(propName: string, f: (...args: any[]) => Promise): (...args: any[]) => Promise {\n // This function unfortunately cannot be an async function, because we don't\n // know if the original one was, and there's no way to tell.\n return function (...args: any[]) {\n // Wrap every netscript function with a check for the stop flag.\n // This prevents cases where we never stop because we are only calling\n // netscript functions that don't check this.\n // This is not a problem for legacy Netscript because it also checks the\n // stop flag in the evaluator.\n if (workerScript.env.stopFlag) {\n throw new ScriptDeath(workerScript);\n }\n\n if (propName === \"asleep\") return f(...args); // OK for multiple simultaneous calls to sleep.\n\n const msg =\n \"Concurrent calls to Netscript functions are not allowed! \" +\n \"Did you forget to await hack(), grow(), or some other \" +\n \"promise-returning function? (Currently running: %s tried to run: %s)\";\n if (runningFn) {\n workerScript.errorMessage = makeRuntimeRejectMsg(workerScript, sprintf(msg, runningFn, propName));\n throw new ScriptDeath(workerScript);\n }\n runningFn = propName;\n\n // If the function throws an error, clear the runningFn flag first, and then re-throw it\n // This allows people to properly catch errors thrown by NS functions without getting\n // the concurrent call error above\n let result;\n try {\n result = f(...args);\n } catch (e: any) {\n runningFn = null;\n throw e;\n }\n\n if (result && result.finally !== undefined) {\n return result.finally(function () {\n runningFn = null;\n });\n } else {\n runningFn = null;\n return result;\n }\n };\n }\n\n function wrapObject(vars: any, ...tree: string[]): void {\n for (const prop of Object.keys(vars)) {\n switch (typeof vars[prop]) {\n case \"function\": {\n vars[prop] = wrap([...tree, prop].join(\".\"), vars[prop]);\n break;\n }\n case \"object\": {\n if (Array.isArray(vars[prop])) continue;\n wrapObject(vars[prop], ...tree, prop);\n break;\n }\n }\n }\n }\n wrapObject(workerScript.env.vars);\n\n // Note: the environment that we pass to the JS script only needs to contain the functions visible\n // to that script, which env.vars does at this point.\n return new Promise((resolve, reject) => {\n executeJSScript(player, workerScript.getServer().scripts, workerScript)\n .then(() => {\n resolve();\n })\n .catch((e) => reject(e));\n }).catch((e) => {\n if (e instanceof Error) {\n if (e instanceof SyntaxError) {\n workerScript.errorMessage = makeRuntimeRejectMsg(workerScript, e.message + \" (sorry we can't be more helpful)\");\n } else {\n workerScript.errorMessage = makeRuntimeRejectMsg(\n workerScript,\n e.message + ((e.stack && \"\\nstack:\\n\" + e.stack.toString()) || \"\"),\n );\n }\n throw new ScriptDeath(workerScript);\n } else if (isScriptErrorMessage(e)) {\n workerScript.errorMessage = e;\n throw new ScriptDeath(workerScript);\n } else if (e instanceof ScriptDeath) {\n throw e;\n }\n\n // Don't know what to do with it, let's try making an error message out of it\n workerScript.errorMessage = makeRuntimeRejectMsg(workerScript, \"\" + e);\n throw new ScriptDeath(workerScript);\n });\n}\n\nfunction startNetscript1Script(workerScript: WorkerScript): Promise {\n const code = workerScript.code;\n workerScript.running = true;\n\n //Process imports\n let codeWithImports, codeLineOffset;\n try {\n const importProcessingRes = processNetscript1Imports(code, workerScript);\n codeWithImports = importProcessingRes.code;\n codeLineOffset = importProcessingRes.lineOffset;\n } catch (e: any) {\n dialogBoxCreate(\"Error processing Imports in \" + workerScript.name + \": \" + e);\n workerScript.env.stopFlag = true;\n workerScript.running = false;\n killWorkerScript(workerScript);\n return Promise.resolve();\n }\n\n const interpreterInitialization = function (int: any, scope: any): void {\n //Add the Netscript environment\n const ns = NetscriptFunctions(workerScript);\n for (const name of Object.keys(ns)) {\n const entry = ns[name];\n if (typeof entry === \"function\") {\n //Async functions need to be wrapped. See JS-Interpreter documentation\n if (\n [\"hack\", \"grow\", \"weaken\", \"sleep\", \"prompt\", \"manualHack\", \"scp\", \"write\", \"share\", \"wget\"].includes(name)\n ) {\n const tempWrapper = function (...args: any[]): void {\n const fnArgs = [];\n\n //All of the Object/array elements are in JSInterpreter format, so\n //we have to convert them back to native format to pass them to these fns\n for (let i = 0; i < args.length - 1; ++i) {\n if (typeof args[i] === \"object\" || args[i].constructor === Array) {\n fnArgs.push(int.pseudoToNative(args[i]));\n } else {\n fnArgs.push(args[i]);\n }\n }\n const cb = args[args.length - 1];\n const fnPromise = entry(...fnArgs);\n fnPromise\n .then(function (res: any) {\n cb(res);\n })\n .catch(function (err: any) {\n // workerscript is when you cancel a delay\n if (!(err instanceof ScriptDeath)) {\n console.error(err);\n const errorTextArray = err.split(\"|DELIMITER|\");\n const hostname = errorTextArray[1];\n const scriptName = errorTextArray[2];\n const errorMsg = errorTextArray[3];\n let msg = `${scriptName}@${hostname} `;\n msg += \" \";\n msg += errorMsg;\n dialogBoxCreate(msg);\n workerScript.env.stopFlag = true;\n workerScript.running = false;\n killWorkerScript(workerScript);\n return Promise.resolve();\n }\n });\n };\n int.setProperty(scope, name, int.createAsyncFunction(tempWrapper));\n } else if (\n name === \"sprintf\" ||\n name === \"vsprintf\" ||\n name === \"scp\" ||\n name == \"write\" ||\n name === \"tryWrite\" ||\n name === \"run\" ||\n name === \"exec\"\n ) {\n const tempWrapper = function (...args: any[]): void {\n const fnArgs = [];\n\n //All of the Object/array elements are in JSInterpreter format, so\n //we have to convert them back to native format to pass them to these fns\n for (let i = 0; i < args.length; ++i) {\n if (typeof args[i] === \"object\" || args[i].constructor === Array) {\n fnArgs.push(int.pseudoToNative(args[i]));\n } else {\n fnArgs.push(args[i]);\n }\n }\n\n return entry(...fnArgs);\n };\n int.setProperty(scope, name, int.createNativeFunction(tempWrapper));\n } else {\n const tempWrapper = function (...args: any[]): any {\n const res = entry(...args);\n\n if (res == null) {\n return res;\n } else if (res.constructor === Array || res === Object(res)) {\n //Objects and Arrays must be converted to the interpreter's format\n return int.nativeToPseudo(res);\n } else {\n return res;\n }\n };\n int.setProperty(scope, name, int.createNativeFunction(tempWrapper));\n }\n } else {\n //bladeburner, or anything else\n int.setProperty(scope, name, int.nativeToPseudo(entry));\n }\n }\n\n //Add the arguments\n int.setProperty(scope, \"args\", int.nativeToPseudo(workerScript.args));\n };\n\n let interpreter: any;\n try {\n interpreter = new Interpreter(codeWithImports, interpreterInitialization, codeLineOffset);\n } catch (e: any) {\n dialogBoxCreate(\"Syntax ERROR in \" + workerScript.name + \": \" + e);\n workerScript.env.stopFlag = true;\n workerScript.running = false;\n killWorkerScript(workerScript);\n return Promise.resolve();\n }\n\n return new Promise(function (resolve, reject) {\n function runInterpreter(): void {\n try {\n if (workerScript.env.stopFlag) {\n return reject(new ScriptDeath(workerScript));\n }\n\n let more = true;\n let i = 0;\n while (i < 3 && more) {\n more = more && interpreter.step();\n i++;\n }\n\n if (more) {\n setTimeout(runInterpreter, Settings.CodeInstructionRunTime);\n } else {\n resolve();\n }\n } catch (e: any) {\n e = e.toString();\n if (!isScriptErrorMessage(e)) {\n e = makeRuntimeRejectMsg(workerScript, e);\n }\n workerScript.errorMessage = e;\n return reject(new ScriptDeath(workerScript));\n }\n }\n\n try {\n runInterpreter();\n } catch (e: any) {\n if (isString(e)) {\n workerScript.errorMessage = e;\n return reject(new ScriptDeath(workerScript));\n } else if (e instanceof ScriptDeath) {\n return reject(e);\n } else {\n console.error(e);\n return reject(new ScriptDeath(workerScript));\n }\n }\n });\n}\n\n/* Since the JS Interpreter used for Netscript 1.0 only supports ES5, the keyword\n 'import' throws an error. However, since we want to support import funtionality\n we'll implement it ourselves by parsing the Nodes in the AST out.\n\n @param code - The script's code\n @returns {Object} {\n code: Newly-generated code with imported functions\n lineOffset: Net number of lines of code added/removed due to imported functions\n Should typically be positive\n }\n*/\nfunction processNetscript1Imports(code: string, workerScript: WorkerScript): any {\n //allowReserved prevents 'import' from throwing error in ES5\n const ast: any = parse(code, {\n ecmaVersion: 9,\n allowReserved: true,\n sourceType: \"module\",\n });\n\n const server = workerScript.getServer();\n if (server == null) {\n throw new Error(\"Failed to find underlying Server object for script\");\n }\n\n function getScript(scriptName: string): Script | null {\n for (let i = 0; i < server.scripts.length; ++i) {\n if (server.scripts[i].filename === scriptName) {\n return server.scripts[i];\n }\n }\n return null;\n }\n\n let generatedCode = \"\"; // Generated Javascript Code\n let hasImports = false;\n\n // Walk over the tree and process ImportDeclaration nodes\n walksimple(ast, {\n ImportDeclaration: (node: any) => {\n hasImports = true;\n let scriptName = node.source.value;\n if (scriptName.startsWith(\"./\")) {\n scriptName = scriptName.slice(2);\n }\n const script = getScript(scriptName);\n if (script == null) {\n throw new Error(\"'Import' failed due to invalid script: \" + scriptName);\n }\n const scriptAst = parse(script.code, {\n ecmaVersion: 9,\n allowReserved: true,\n sourceType: \"module\",\n });\n\n if (node.specifiers.length === 1 && node.specifiers[0].type === \"ImportNamespaceSpecifier\") {\n // import * as namespace from script\n const namespace = node.specifiers[0].local.name;\n const fnNames: string[] = []; //Names only\n const fnDeclarations: any[] = []; //FunctionDeclaration Node objects\n walksimple(scriptAst, {\n FunctionDeclaration: (node: any) => {\n fnNames.push(node.id.name);\n fnDeclarations.push(node);\n },\n });\n\n //Now we have to generate the code that would create the namespace\n generatedCode += `var ${namespace};\\n(function (namespace) {\\n`;\n\n //Add the function declarations\n fnDeclarations.forEach((fn: any) => {\n generatedCode += generate(fn);\n generatedCode += \"\\n\";\n });\n\n //Add functions to namespace\n fnNames.forEach((fnName) => {\n generatedCode += \"namespace.\" + fnName + \" = \" + fnName;\n generatedCode += \"\\n\";\n });\n\n //Finish\n generatedCode += `})(${namespace} || (\" + namespace + \" = {}));\\n`;\n } else {\n //import {...} from script\n\n //Get array of all fns to import\n const fnsToImport: string[] = [];\n node.specifiers.forEach((e: any) => {\n fnsToImport.push(e.local.name);\n });\n\n //Walk through script and get FunctionDeclaration code for all specified fns\n const fnDeclarations: any[] = [];\n walksimple(scriptAst, {\n FunctionDeclaration: (node: any) => {\n if (fnsToImport.includes(node.id.name)) {\n fnDeclarations.push(node);\n }\n },\n });\n\n //Convert FunctionDeclarations into code\n fnDeclarations.forEach((fn: any) => {\n generatedCode += generate(fn);\n generatedCode += \"\\n\";\n });\n }\n },\n });\n\n //If there are no imports, just return the original code\n if (!hasImports) {\n return { code: code, lineOffset: 0 };\n }\n\n //Remove ImportDeclarations from AST. These ImportDeclarations must be in top-level\n let linesRemoved = 0;\n if (ast.type !== \"Program\" || ast.body == null) {\n throw new Error(\"Code could not be properly parsed\");\n }\n for (let i = ast.body.length - 1; i >= 0; --i) {\n if (ast.body[i].type === \"ImportDeclaration\") {\n ast.body.splice(i, 1);\n ++linesRemoved;\n }\n }\n\n //Calculated line offset\n const lineOffset = (generatedCode.match(/\\n/g) || []).length - linesRemoved;\n\n //Convert the AST back into code\n code = generate(ast);\n\n //Add the imported code and re-generate in ES5 (JS Interpreter for NS1 only supports ES5);\n code = generatedCode + code;\n\n const res = {\n code: code,\n lineOffset: lineOffset,\n };\n return res;\n}\n\n/**\n * Used to start a RunningScript (by creating and starting its\n * corresponding WorkerScript), and add the RunningScript to the server on which\n * it is active\n * @param {RunningScript} runningScriptObj - Script that's being run\n * @param {Server} server - Server on which the script is to be run\n * @returns {number} pid of started script\n */\nexport function startWorkerScript(\n player: IPlayer,\n runningScript: RunningScript,\n server: BaseServer,\n parent?: WorkerScript,\n): number {\n if (createAndAddWorkerScript(player, runningScript, server, parent)) {\n // Push onto runningScripts.\n // This has to come after createAndAddWorkerScript() because that fn updates RAM usage\n server.runScript(runningScript);\n\n // Once the WorkerScript is constructed in createAndAddWorkerScript(), the RunningScript\n // object should have a PID assigned to it, so we return that\n return runningScript.pid;\n }\n\n return 0;\n}\n\n/**\n * Given a RunningScript object, constructs its corresponding WorkerScript,\n * adds it to the global 'workerScripts' pool, and begins executing it.\n * @param {RunningScript} runningScriptObj - Script that's being run\n * @param {Server} server - Server on which the script is to be run\n * returns {boolean} indicating whether or not the workerScript was successfully added\n */\nfunction createAndAddWorkerScript(\n player: IPlayer,\n runningScriptObj: RunningScript,\n server: BaseServer,\n parent?: WorkerScript,\n): boolean {\n // Update server's ram usage\n let threads = 1;\n if (runningScriptObj.threads && !isNaN(runningScriptObj.threads)) {\n threads = runningScriptObj.threads;\n } else {\n runningScriptObj.threads = 1;\n }\n const oneRamUsage = getRamUsageFromRunningScript(runningScriptObj);\n const ramUsage = roundToTwo(oneRamUsage * threads);\n const ramAvailable = server.maxRam - server.ramUsed;\n if (ramUsage > ramAvailable) {\n dialogBoxCreate(\n `Not enough RAM to run script ${runningScriptObj.filename} with args ` +\n `${arrayToString(runningScriptObj.args)}. This likely occurred because you re-loaded ` +\n `the game and the script's RAM usage increased (either because of an update to the game or ` +\n `your changes to the script.)`,\n );\n return false;\n }\n\n server.updateRamUsed(roundToTwo(server.ramUsed + ramUsage), Player);\n\n // Get the pid\n const pid = generateNextPid();\n if (pid === -1) {\n throw new Error(\n `Failed to start script because could not find available PID. This is most ` +\n `because you have too many scripts running.`,\n );\n }\n\n // Create the WorkerScript. NOTE: WorkerScript ctor will set the underlying\n // RunningScript's PID as well\n const workerScript = new WorkerScript(runningScriptObj, pid, NetscriptFunctions);\n workerScript.ramUsage = oneRamUsage;\n\n // Add the WorkerScript to the global pool\n workerScripts.set(pid, workerScript);\n WorkerScriptStartStopEventEmitter.emit();\n\n // Start the script's execution\n let scriptExecution: Promise | null = null; // Script's resulting promise\n if (workerScript.name.endsWith(\".js\") || workerScript.name.endsWith(\".ns\")) {\n scriptExecution = startNetscript2Script(player, workerScript);\n } else {\n scriptExecution = startNetscript1Script(workerScript);\n if (!(scriptExecution instanceof Promise)) {\n return false;\n }\n }\n\n // Once the code finishes (either resolved or rejected, doesnt matter), set its\n // running status to false\n scriptExecution\n .then(function () {\n workerScript.running = false;\n workerScript.env.stopFlag = true;\n // On natural death, the earnings are transfered to the parent if it still exists.\n if (parent !== undefined) {\n if (parent.running) {\n parent.scriptRef.onlineExpGained += runningScriptObj.onlineExpGained;\n parent.scriptRef.onlineMoneyMade += runningScriptObj.onlineMoneyMade;\n }\n }\n\n killWorkerScript(workerScript);\n workerScript.log(\"\", () => \"Script finished running\");\n })\n .catch(function (e) {\n if (e instanceof Error) {\n dialogBoxCreate(\"Script runtime unknown error. This is a bug please contact game developer\");\n console.error(\"Evaluating workerscript returns an Error. THIS SHOULDN'T HAPPEN: \" + e.toString());\n return;\n } else if (e instanceof ScriptDeath) {\n if (isScriptErrorMessage(workerScript.errorMessage)) {\n const errorTextArray = workerScript.errorMessage.split(\"|DELIMITER|\");\n if (errorTextArray.length != 4) {\n console.error(\"ERROR: Something wrong with Error text in evaluator...\");\n console.error(\"Error text: \" + workerScript.errorMessage);\n return;\n }\n const hostname = errorTextArray[1];\n const scriptName = errorTextArray[2];\n const errorMsg = errorTextArray[3];\n\n let msg = `RUNTIME ERROR ${scriptName}@${hostname} (PID - ${workerScript.pid}) `;\n if (workerScript.args.length > 0) {\n msg += `Args: ${arrayToString(workerScript.args)} `;\n }\n msg += \" \";\n msg += errorMsg;\n\n dialogBoxCreate(msg);\n workerScript.log(\"\", () => \"Script crashed with runtime error\");\n } else {\n workerScript.log(\"\", () => \"Script killed\");\n return; // Already killed, so stop here\n }\n } else if (isScriptErrorMessage(e)) {\n dialogBoxCreate(\"Script runtime unknown error. This is a bug please contact game developer\");\n console.error(\n \"ERROR: Evaluating workerscript returns only error message rather than WorkerScript object. THIS SHOULDN'T HAPPEN: \" +\n e.toString(),\n );\n return;\n } else {\n dialogBoxCreate(\"An unknown script died for an unknown reason. This is a bug please contact game dev\");\n console.error(e);\n }\n\n killWorkerScript(workerScript);\n });\n\n return true;\n}\n\n/**\n * Updates the online running time stat of all running scripts\n */\nexport function updateOnlineScriptTimes(numCycles = 1): void {\n const time = (numCycles * CONSTANTS._idleSpeed) / 1000; //seconds\n for (const ws of workerScripts.values()) {\n ws.scriptRef.onlineRunningTime += time;\n }\n}\n\n/**\n * Called when the game is loaded. Loads all running scripts (from all servers)\n * into worker scripts so that they will start running\n */\nexport function loadAllRunningScripts(player: IPlayer): void {\n const skipScriptLoad = window.location.href.toLowerCase().indexOf(\"?noscripts\") !== -1;\n if (skipScriptLoad) {\n Terminal.warn(\"Skipped loading player scripts during startup\");\n console.info(\"Skipping the load of any scripts during startup\");\n }\n for (const server of GetAllServers()) {\n // Reset each server's RAM usage to 0\n server.ramUsed = 0;\n\n // Reset modules on all scripts\n for (let i = 0; i < server.scripts.length; ++i) {\n server.scripts[i].markUpdated();\n }\n\n if (skipScriptLoad) {\n // Start game with no scripts\n server.runningScripts.length = 0;\n } else {\n for (let j = 0; j < server.runningScripts.length; ++j) {\n const fileName = server.runningScripts[j].filename;\n createAndAddWorkerScript(player, server.runningScripts[j], server);\n\n if (!server.runningScripts[j]) {\n // createAndAddWorkerScript can modify the server.runningScripts array if a script is invalid\n console.error(`createAndAddWorkerScript removed ${fileName} from ${server}`);\n continue;\n }\n\n // Offline production\n scriptCalculateOfflineProduction(server.runningScripts[j]);\n }\n }\n }\n}\n\n/**\n * Run a script from inside another script (run(), exec(), spawn(), etc.)\n */\nexport function runScriptFromScript(\n player: IPlayer,\n caller: string,\n server: BaseServer,\n scriptname: string,\n args: any[],\n workerScript: WorkerScript,\n threads = 1,\n): number {\n // Sanitize arguments\n if (!(workerScript instanceof WorkerScript)) {\n return 0;\n }\n\n if (typeof scriptname !== \"string\" || !Array.isArray(args)) {\n workerScript.log(caller, () => `Invalid arguments: scriptname='${scriptname} args='${args}'`);\n console.error(`runScriptFromScript() failed due to invalid arguments`);\n return 0;\n }\n\n args.forEach((arg, i) => {\n if (typeof arg !== \"string\" && typeof arg !== \"number\" && typeof arg !== \"boolean\")\n throw new Error(\n \"Only strings, numbers, and booleans can be passed as arguments to other scripts.\\n\" +\n `${scriptname} argument index ${i} is of type ${typeof arg} and value ${JSON.stringify(arg)}`,\n );\n });\n\n // Check if the script is already running\n const runningScriptObj = server.getRunningScript(scriptname, args);\n if (runningScriptObj != null) {\n workerScript.log(caller, () => `'${scriptname}' is already running on '${server.hostname}'`);\n return 0;\n }\n\n // 'null/undefined' arguments are not allowed\n for (let i = 0; i < args.length; ++i) {\n if (args[i] == null) {\n workerScript.log(caller, () => \"Cannot execute a script with null/undefined as an argument\");\n return 0;\n }\n }\n\n // Check if the script exists and if it does run it\n for (let i = 0; i < server.scripts.length; ++i) {\n if (!areFilesEqual(server.scripts[i].filename, scriptname)) continue;\n // Check for admin rights and that there is enough RAM availble to run\n const script = server.scripts[i];\n let ramUsage = script.ramUsage;\n threads = Math.floor(Number(threads));\n if (threads === 0) {\n return 0;\n }\n ramUsage = ramUsage * threads;\n const ramAvailable = server.maxRam - server.ramUsed;\n\n if (server.hasAdminRights == false) {\n workerScript.log(caller, () => `You do not have root access on '${server.hostname}'`);\n return 0;\n } else if (ramUsage > ramAvailable) {\n workerScript.log(\n caller,\n () =>\n `Cannot run script '${scriptname}' (t=${threads}) on '${server.hostname}' because there is not enough available RAM!`,\n );\n return 0;\n }\n // Able to run script\n workerScript.log(\n caller,\n () => `'${scriptname}' on '${server.hostname}' with ${threads} threads and args: ${arrayToString(args)}.`,\n );\n const runningScriptObj = new RunningScript(script, args);\n runningScriptObj.threads = threads;\n runningScriptObj.server = server.hostname;\n\n return startWorkerScript(player, runningScriptObj, server, workerScript);\n }\n\n workerScript.log(caller, () => `Could not find script '${scriptname}' on '${server.hostname}'`);\n return 0;\n}\n","/**\n * Global pool of all active scripts (scripts that are currently running)\n */\nimport { WorkerScript } from \"./WorkerScript\";\n\nexport const workerScripts: Map = new Map();\n","import React from \"react\";\n\nimport { Table, TableCell } from \"./Table\";\nimport TableBody from \"@mui/material/TableBody\";\nimport { Table as MuiTable } from \"@mui/material\";\nimport TableRow from \"@mui/material/TableRow\";\nimport Typography from \"@mui/material/Typography\";\n\ninterface IProps {\n rows: any[][];\n title?: string;\n wide?: boolean;\n}\n\nexport function StatsTable({ rows, title, wide }: IProps): React.ReactElement {\n const T = wide ? MuiTable : Table;\n return (\n <>\n {title && {title}}\n \n \n {rows.map((row: any[], i: number) => (\n \n {row.map((elem: any, i: number) => (\n \n {elem}\n \n ))}\n \n ))}\n \n \n >\n );\n}\n","import { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\nimport { Export } from \"./Export\";\n\ninterface IConstructorParams {\n name?: string;\n}\n\nexport class Material {\n // Name of material\n name = \"InitName\";\n\n // Amount of material owned\n qty = 0;\n\n // Material's \"quality\". Unbounded\n qlt = 0;\n\n // How much demand the Material has in the market, and the range of possible\n // values for this \"demand\"\n dmd = 0;\n dmdR: number[] = [0, 0];\n\n // How much competition there is for this Material in the market, and the range\n // of possible values for this \"competition\"\n cmp = 0;\n cmpR: number[] = [0, 0];\n\n // Maximum volatility of this Materials stats\n mv = 0;\n\n // Markup. Determines how high of a price you can charge on the material\n // compared to the market price without suffering loss in # of sales\n // Quality is divided by this to determine markup limits\n // e,g, If mku is 10 and quality is 100 then you can markup prices by 100/10 = 10\n mku = 0;\n\n // How much of this material is being bought, sold, imported and produced every second\n buy = 0;\n sll = 0;\n prd = 0;\n imp = 0;\n\n // Exports of this material to another warehouse/industry\n exp: Export[] = [];\n\n // Total amount of this material exported in the last cycle\n totalExp = 0;\n\n // Cost / sec to buy this material. AKA Market Price\n bCost = 0;\n\n // Cost / sec to sell this material\n sCost: string | number = 0;\n\n // Flags to keep track of whether production and/or sale of this material is limited\n // [Whether production/sale is limited, limit amount]\n prdman: [boolean, number] = [false, 0]; // Production\n sllman: [boolean, string | number] = [false, 0]; // Sale\n\n // Flags that signal whether automatic sale pricing through Market TA is enabled\n marketTa1 = false;\n marketTa2 = false;\n marketTa2Price = 0;\n\n // Determines the maximum amount of this material that can be sold in one market cycle\n maxsll = 0;\n\n constructor(params: IConstructorParams = {}) {\n if (params.name) {\n this.name = params.name;\n }\n this.init();\n }\n\n getMarkupLimit(): number {\n return this.qlt / this.mku;\n }\n\n init(): void {\n switch (this.name) {\n case \"Water\":\n this.dmd = 75;\n this.dmdR = [65, 85];\n this.cmp = 50;\n this.cmpR = [40, 60];\n this.bCost = 1500;\n this.mv = 0.2;\n this.mku = 6;\n break;\n case \"Energy\":\n this.dmd = 90;\n this.dmdR = [80, 99];\n this.cmp = 80;\n this.cmpR = [65, 95];\n this.bCost = 2000;\n this.mv = 0.2;\n this.mku = 6;\n break;\n case \"Food\":\n this.dmd = 80;\n this.dmdR = [70, 90];\n this.cmp = 60;\n this.cmpR = [35, 85];\n this.bCost = 5000;\n this.mv = 1;\n this.mku = 3;\n break;\n case \"Plants\":\n this.dmd = 70;\n this.dmdR = [20, 90];\n this.cmp = 50;\n this.cmpR = [30, 70];\n this.bCost = 3000;\n this.mv = 0.6;\n this.mku = 3.75;\n break;\n case \"Metal\":\n this.dmd = 80;\n this.dmdR = [75, 85];\n this.cmp = 70;\n this.cmpR = [60, 80];\n this.bCost = 2650;\n this.mv = 1;\n this.mku = 6;\n break;\n case \"Hardware\":\n this.dmd = 85;\n this.dmdR = [80, 90];\n this.cmp = 80;\n this.cmpR = [65, 95];\n this.bCost = 8e3;\n this.mv = 0.5; //Less mv bc its processed twice\n this.mku = 1;\n break;\n case \"Chemicals\":\n this.dmd = 55;\n this.dmdR = [40, 70];\n this.cmp = 60;\n this.cmpR = [40, 80];\n this.bCost = 9e3;\n this.mv = 1.2;\n this.mku = 2;\n break;\n case \"Real Estate\":\n this.dmd = 50;\n this.dmdR = [5, 99];\n this.cmp = 50;\n this.cmpR = [25, 75];\n this.bCost = 80e3;\n this.mv = 1.5; //Less mv bc its processed twice\n this.mku = 1.5;\n break;\n case \"Drugs\":\n this.dmd = 60;\n this.dmdR = [45, 75];\n this.cmp = 70;\n this.cmpR = [40, 99];\n this.bCost = 40e3;\n this.mv = 1.6;\n this.mku = 1;\n break;\n case \"Robots\":\n this.dmd = 90;\n this.dmdR = [80, 99];\n this.cmp = 90;\n this.cmpR = [80, 99];\n this.bCost = 75e3;\n this.mv = 0.5; //Less mv bc its processed twice\n this.mku = 1;\n break;\n case \"AI Cores\":\n this.dmd = 90;\n this.dmdR = [80, 99];\n this.cmp = 90;\n this.cmpR = [80, 99];\n this.bCost = 15e3;\n this.mv = 0.8; //Less mv bc its processed twice\n this.mku = 0.5;\n break;\n case \"Scientific Research\":\n case \"InitName\":\n break;\n default:\n console.error(`Invalid material type in init(): ${this.name}`);\n break;\n }\n }\n\n // Process change in demand, competition, and buy cost of this material\n processMarket(): void {\n // The price will change in accordance with demand and competition.\n // e.g. If demand goes up, then so does price. If competition goes up, price goes down\n const priceVolatility: number = (Math.random() * this.mv) / 300;\n const priceChange: number = 1 + priceVolatility;\n\n //This 1st random check determines whether competition increases or decreases\n const compVolatility: number = (Math.random() * this.mv) / 100;\n const compChange: number = 1 + compVolatility;\n if (Math.random() < 0.5) {\n this.cmp *= compChange;\n if (this.cmp > this.cmpR[1]) {\n this.cmp = this.cmpR[1];\n }\n this.bCost *= 1 / priceChange; // Competition increases, so price goes down\n } else {\n this.cmp *= 1 / compChange;\n if (this.cmp < this.cmpR[0]) {\n this.cmp = this.cmpR[0];\n }\n this.bCost *= priceChange; // Competition decreases, so price goes up\n }\n\n // This 2nd random check determines whether demand increases or decreases\n const dmdVolatility: number = (Math.random() * this.mv) / 100;\n const dmdChange: number = 1 + dmdVolatility;\n if (Math.random() < 0.5) {\n this.dmd *= dmdChange;\n if (this.dmd > this.dmdR[1]) {\n this.dmd = this.dmdR[1];\n }\n this.bCost *= priceChange; // Demand increases, so price goes up\n } else {\n this.dmd *= 1 / dmdChange;\n if (this.dmd < this.dmdR[0]) {\n this.dmd = this.dmdR[0];\n }\n this.bCost *= 1 / priceChange;\n }\n }\n\n // Serialize the current object to a JSON save state.\n toJSON(): any {\n return Generic_toJSON(\"Material\", this);\n }\n\n // Initiatizes a Material object from a JSON save state.\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Material {\n return Generic_fromJSON(Material, value.data);\n }\n}\n\nReviver.constructors.Material = Material;\n","import { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { GangMember } from \"../GangMember\";\nimport { GangMemberTask } from \"../GangMemberTask\";\n\ninterface Gang {\n respect: number;\n territory: number;\n wantedLevel: number;\n}\n\nexport function calculateWantedPenalty(gang: Gang): number {\n return gang.respect / (gang.respect + gang.wantedLevel);\n}\n\nexport function calculateRespectGain(gang: Gang, member: GangMember, task: GangMemberTask): number {\n if (task.baseRespect === 0) return 0;\n let statWeight =\n (task.hackWeight / 100) * member.hack +\n (task.strWeight / 100) * member.str +\n (task.defWeight / 100) * member.def +\n (task.dexWeight / 100) * member.dex +\n (task.agiWeight / 100) * member.agi +\n (task.chaWeight / 100) * member.cha;\n statWeight -= 4 * task.difficulty;\n if (statWeight <= 0) return 0;\n const territoryMult = Math.max(0.005, Math.pow(gang.territory * 100, task.territory.respect) / 100);\n const territoryPenalty = (0.2 * gang.territory + 0.8) * BitNodeMultipliers.GangSoftcap;\n if (isNaN(territoryMult) || territoryMult <= 0) return 0;\n const respectMult = calculateWantedPenalty(gang);\n return Math.pow(11 * task.baseRespect * statWeight * territoryMult * respectMult, territoryPenalty);\n}\n\nexport function calculateWantedLevelGain(gang: Gang, member: GangMember, task: GangMemberTask): number {\n if (task.baseWanted === 0) return 0;\n let statWeight =\n (task.hackWeight / 100) * member.hack +\n (task.strWeight / 100) * member.str +\n (task.defWeight / 100) * member.def +\n (task.dexWeight / 100) * member.dex +\n (task.agiWeight / 100) * member.agi +\n (task.chaWeight / 100) * member.cha;\n statWeight -= 3.5 * task.difficulty;\n if (statWeight <= 0) return 0;\n const territoryMult = Math.max(0.005, Math.pow(gang.territory * 100, task.territory.wanted) / 100);\n if (isNaN(territoryMult) || territoryMult <= 0) return 0;\n if (task.baseWanted < 0) {\n return 0.4 * task.baseWanted * statWeight * territoryMult;\n }\n const calc = (7 * task.baseWanted) / Math.pow(3 * statWeight * territoryMult, 0.8);\n\n // Put an arbitrary cap on this to prevent wanted level from rising too fast if the\n // denominator is very small. Might want to rethink formula later\n return Math.min(100, calc);\n}\n\nexport function calculateMoneyGain(gang: Gang, member: GangMember, task: GangMemberTask): number {\n if (task.baseMoney === 0) return 0;\n let statWeight =\n (task.hackWeight / 100) * member.hack +\n (task.strWeight / 100) * member.str +\n (task.defWeight / 100) * member.def +\n (task.dexWeight / 100) * member.dex +\n (task.agiWeight / 100) * member.agi +\n (task.chaWeight / 100) * member.cha;\n\n statWeight -= 3.2 * task.difficulty;\n if (statWeight <= 0) return 0;\n const territoryMult = Math.max(0.005, Math.pow(gang.territory * 100, task.territory.money) / 100);\n if (isNaN(territoryMult) || territoryMult <= 0) return 0;\n const respectMult = calculateWantedPenalty(gang);\n const territoryPenalty = (0.2 * gang.territory + 0.8) * BitNodeMultipliers.GangSoftcap;\n return Math.pow(5 * task.baseMoney * statWeight * territoryMult * respectMult, territoryPenalty);\n}\n\nexport function calculateAscensionPointsGain(exp: number): number {\n return Math.max(exp - 1000, 0);\n}\n\nexport function calculateAscensionMult(points: number): number {\n return Math.max(Math.pow(points / 2000, 0.5), 1);\n}\n","import LinearProgress from \"@mui/material/LinearProgress\";\nimport React, { useState, useEffect } from \"react\";\nimport withStyles from \"@mui/styles/withStyles\";\nimport { Theme } from \"@mui/material/styles\";\nimport Grid from \"@mui/material/Grid\";\nimport { use } from \"../../ui/Context\";\nimport { AugmentationNames } from \"../../Augmentation/data/AugmentationNames\";\n\nconst TimerProgress = withStyles((theme: Theme) => ({\n root: {\n backgroundColor: theme.palette.background.paper,\n },\n bar: {\n transition: \"none\",\n backgroundColor: theme.palette.primary.main,\n },\n}))(LinearProgress);\n\ninterface IProps {\n millis: number;\n onExpire: () => void;\n}\n\nexport function GameTimer(props: IProps): React.ReactElement {\n const player = use.Player();\n const [v, setV] = useState(100);\n const totalMillis = (player.hasAugmentation(AugmentationNames.WKSharmonizer, true) ? 1.3 : 1) * props.millis;\n\n const tick = 200;\n useEffect(() => {\n const intervalId = setInterval(() => {\n setV((old) => {\n if (old <= 0) props.onExpire();\n return old - (tick / totalMillis) * 100;\n });\n }, tick);\n return () => {\n clearInterval(intervalId);\n };\n }, []);\n\n // https://stackoverflow.com/questions/55593367/disable-material-uis-linearprogress-animation\n // TODO(hydroflame): there's like a bug where it triggers the end before the\n // bar physically reaches the end\n return (\n \n \n \n );\n}\n","import { Reviver, Generic_toJSON, Generic_fromJSON } from \"../utils/JSONReviver\";\nimport { IBladeburner } from \"./IBladeburner\";\nimport { IActionIdentifier } from \"./IActionIdentifier\";\nimport { ActionIdentifier } from \"./ActionIdentifier\";\nimport { ActionTypes } from \"./data/ActionTypes\";\nimport { Growths } from \"./data/Growths\";\nimport { BlackOperations } from \"./BlackOperations\";\nimport { BlackOperation } from \"./BlackOperation\";\nimport { Operation } from \"./Operation\";\nimport { Contract } from \"./Contract\";\nimport { GeneralActions } from \"./GeneralActions\";\nimport { formatNumber } from \"../utils/StringHelperFunctions\";\nimport { Skills } from \"./Skills\";\nimport { Skill } from \"./Skill\";\nimport { City } from \"./City\";\nimport { IAction } from \"./IAction\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IRouter, Page } from \"../ui/Router\";\nimport { ConsoleHelpText } from \"./data/Help\";\nimport { exceptionAlert } from \"../utils/helpers/exceptionAlert\";\nimport { getRandomInt } from \"../utils/helpers/getRandomInt\";\nimport { BladeburnerConstants } from \"./data/Constants\";\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { addOffset } from \"../utils/helpers/addOffset\";\nimport { Faction } from \"../Faction/Faction\";\nimport { Factions, factionExists } from \"../Faction/Factions\";\nimport { calculateHospitalizationCost } from \"../Hospital/Hospital\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Settings } from \"../Settings/Settings\";\nimport { AugmentationNames } from \"../Augmentation/data/AugmentationNames\";\nimport { getTimestamp } from \"../utils/helpers/getTimestamp\";\nimport { joinFaction } from \"../Faction/FactionHelpers\";\nimport { WorkerScript } from \"../Netscript/WorkerScript\";\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport { BlackOperationNames } from \"./data/BlackOperationNames\";\nimport { KEY } from \"../utils/helpers/keyCodes\";\n\ninterface BlackOpsAttempt {\n error?: string;\n isAvailable?: boolean;\n action?: BlackOperation;\n}\n\nexport class Bladeburner implements IBladeburner {\n numHosp = 0;\n moneyLost = 0;\n rank = 0;\n maxRank = 0;\n\n skillPoints = 0;\n totalSkillPoints = 0;\n\n teamSize = 0;\n teamLost = 0;\n hpLost = 0;\n\n storedCycles = 0;\n\n randomEventCounter: number = getRandomInt(240, 600);\n\n actionTimeToComplete = 0;\n actionTimeCurrent = 0;\n actionTimeOverflow = 0;\n\n action: IActionIdentifier = new ActionIdentifier({\n type: ActionTypes[\"Idle\"],\n });\n\n cities: any = {};\n city: string = BladeburnerConstants.CityNames[2];\n skills: any = {};\n skillMultipliers: any = {};\n staminaBonus = 0;\n maxStamina = 0;\n stamina = 0;\n contracts: any = {};\n operations: any = {};\n blackops: any = {};\n logging: any = {\n general: true,\n contracts: true,\n ops: true,\n blackops: true,\n events: true,\n };\n automateEnabled = false;\n automateActionHigh: IActionIdentifier = new ActionIdentifier({\n type: ActionTypes[\"Idle\"],\n });\n automateThreshHigh = 0;\n automateActionLow: IActionIdentifier = new ActionIdentifier({\n type: ActionTypes[\"Idle\"],\n });\n automateThreshLow = 0;\n consoleHistory: string[] = [];\n consoleLogs: string[] = [\"Bladeburner Console\", \"Type 'help' to see console commands\"];\n\n constructor(player?: IPlayer) {\n for (let i = 0; i < BladeburnerConstants.CityNames.length; ++i) {\n this.cities[BladeburnerConstants.CityNames[i]] = new City(BladeburnerConstants.CityNames[i]);\n }\n\n this.updateSkillMultipliers(); // Calls resetSkillMultipliers()\n\n // Max Stamina is based on stats and Bladeburner-specific bonuses\n if (player) this.calculateMaxStamina(player);\n this.stamina = this.maxStamina;\n this.create();\n }\n\n getCurrentCity(): City {\n const city = this.cities[this.city];\n if (!(city instanceof City)) {\n throw new Error(\"Bladeburner.getCurrentCity() did not properly return a City object\");\n }\n return city;\n }\n\n calculateStaminaPenalty(): number {\n return Math.min(1, this.stamina / (0.5 * this.maxStamina));\n }\n\n canAttemptBlackOp(actionId: IActionIdentifier): BlackOpsAttempt {\n // Safety measure - don't repeat BlackOps that are already done\n if (this.blackops[actionId.name] != null) {\n return { error: \"Tried to start a Black Operation that had already been completed\" };\n }\n\n const action = this.getActionObject(actionId);\n if (!(action instanceof BlackOperation)) throw new Error(`Action should be BlackOperation but isn't`);\n if (action == null) throw new Error(\"Failed to get BlackOperation object for: \" + actionId.name);\n\n if (action.reqdRank > this.rank) {\n return { error: \"Tried to start a Black Operation without the rank requirement\" };\n }\n\n // Can't start a BlackOp if you haven't done the one before it\n const blackops = [];\n for (const nm of Object.keys(BlackOperations)) {\n if (BlackOperations.hasOwnProperty(nm)) {\n blackops.push(nm);\n }\n }\n blackops.sort(function (a, b) {\n return BlackOperations[a].reqdRank - BlackOperations[b].reqdRank; // Sort black ops in intended order\n });\n\n const i = blackops.indexOf(actionId.name);\n if (i === -1) {\n return { error: `Invalid Black Op: '${name}'` };\n }\n\n if (i > 0 && this.blackops[blackops[i - 1]] == null) {\n return { error: `Preceding Black Op must be completed before starting '${actionId.name}'.` };\n }\n\n return { isAvailable: true, action };\n }\n\n startAction(player: IPlayer, actionId: IActionIdentifier): void {\n if (actionId == null) return;\n this.action = actionId;\n this.actionTimeCurrent = 0;\n switch (actionId.type) {\n case ActionTypes[\"Idle\"]:\n this.actionTimeToComplete = 0;\n break;\n case ActionTypes[\"Contract\"]:\n try {\n const action = this.getActionObject(actionId);\n if (action == null) {\n throw new Error(\"Failed to get Contract Object for: \" + actionId.name);\n }\n if (action.count < 1) {\n return this.resetAction();\n }\n this.actionTimeToComplete = action.getActionTime(this);\n } catch (e: any) {\n exceptionAlert(e);\n }\n break;\n case ActionTypes[\"Operation\"]: {\n try {\n const action = this.getActionObject(actionId);\n if (action == null) {\n throw new Error(\"Failed to get Operation Object for: \" + actionId.name);\n }\n if (action.count < 1) {\n return this.resetAction();\n }\n if (actionId.name === \"Raid\" && this.getCurrentCity().comms === 0) {\n return this.resetAction();\n }\n this.actionTimeToComplete = action.getActionTime(this);\n } catch (e: any) {\n exceptionAlert(e);\n }\n break;\n }\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]: {\n try {\n const testBlackOp = this.canAttemptBlackOp(actionId);\n if (!testBlackOp.isAvailable) {\n this.resetAction();\n this.log(`Error: ${testBlackOp.error}`);\n break;\n }\n if (testBlackOp.action === undefined) {\n throw new Error(\"action should not be null\");\n }\n this.actionTimeToComplete = testBlackOp.action.getActionTime(this);\n } catch (e: any) {\n exceptionAlert(e);\n }\n break;\n }\n case ActionTypes[\"Recruitment\"]:\n this.actionTimeToComplete = this.getRecruitmentTime(player);\n break;\n case ActionTypes[\"Training\"]:\n case ActionTypes[\"FieldAnalysis\"]:\n case ActionTypes[\"Field Analysis\"]:\n this.actionTimeToComplete = 30;\n break;\n case ActionTypes[\"Diplomacy\"]:\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n case ActionTypes[\"Incite Violence\"]:\n this.actionTimeToComplete = 60;\n break;\n default:\n throw new Error(\"Invalid Action Type in startAction(Bladeburner,player, ): \" + actionId.type);\n }\n }\n\n upgradeSkill(skill: Skill): void {\n // This does NOT handle deduction of skill points\n const skillName = skill.name;\n if (this.skills[skillName]) {\n ++this.skills[skillName];\n } else {\n this.skills[skillName] = 1;\n }\n if (isNaN(this.skills[skillName]) || this.skills[skillName] < 0) {\n throw new Error(\"Level of Skill \" + skillName + \" is invalid: \" + this.skills[skillName]);\n }\n this.updateSkillMultipliers();\n }\n\n executeConsoleCommands(player: IPlayer, commands: string): void {\n try {\n // Console History\n if (this.consoleHistory[this.consoleHistory.length - 1] != commands) {\n this.consoleHistory.push(commands);\n if (this.consoleHistory.length > 50) {\n this.consoleHistory.splice(0, 1);\n }\n }\n\n const arrayOfCommands = commands.split(\";\");\n for (let i = 0; i < arrayOfCommands.length; ++i) {\n this.executeConsoleCommand(player, arrayOfCommands[i]);\n }\n } catch (e: any) {\n exceptionAlert(e);\n }\n }\n\n postToConsole(input: string, saveToLogs = true): void {\n const MaxConsoleEntries = 100;\n if (saveToLogs) {\n this.consoleLogs.push(input);\n if (this.consoleLogs.length > MaxConsoleEntries) {\n this.consoleLogs.shift();\n }\n }\n }\n\n log(input: string): void {\n // Adds a timestamp and then just calls postToConsole\n this.postToConsole(`[${getTimestamp()}] ${input}`);\n }\n\n resetAction(): void {\n this.action = new ActionIdentifier({ type: ActionTypes.Idle });\n }\n\n clearConsole(): void {\n this.consoleLogs.length = 0;\n }\n\n prestige(): void {\n this.resetAction();\n const bladeburnerFac = Factions[FactionNames.Bladeburners];\n if (this.rank >= BladeburnerConstants.RankNeededForFaction) {\n joinFaction(bladeburnerFac);\n }\n }\n\n storeCycles(numCycles = 0): void {\n this.storedCycles += numCycles;\n }\n\n // working on\n getActionIdFromTypeAndName(type = \"\", name = \"\"): IActionIdentifier | null {\n if (type === \"\" || name === \"\") {\n return null;\n }\n const action = new ActionIdentifier();\n const convertedType = type.toLowerCase().trim();\n const convertedName = name.toLowerCase().trim();\n switch (convertedType) {\n case \"contract\":\n case \"contracts\":\n case \"contr\":\n action.type = ActionTypes[\"Contract\"];\n if (this.contracts.hasOwnProperty(name)) {\n action.name = name;\n return action;\n }\n return null;\n case \"operation\":\n case \"operations\":\n case \"op\":\n case \"ops\":\n action.type = ActionTypes[\"Operation\"];\n if (this.operations.hasOwnProperty(name)) {\n action.name = name;\n return action;\n }\n return null;\n case \"blackoperation\":\n case \"black operation\":\n case \"black operations\":\n case \"black op\":\n case \"black ops\":\n case \"blackop\":\n case \"blackops\":\n action.type = ActionTypes[\"BlackOp\"];\n if (BlackOperations.hasOwnProperty(name)) {\n action.name = name;\n return action;\n }\n return null;\n case \"general\":\n case \"general action\":\n case \"gen\":\n break;\n default:\n return null;\n }\n\n if (convertedType.startsWith(\"gen\")) {\n switch (convertedName) {\n case \"training\":\n action.type = ActionTypes[\"Training\"];\n action.name = \"Training\";\n break;\n case \"recruitment\":\n case \"recruit\":\n action.type = ActionTypes[\"Recruitment\"];\n action.name = \"Recruitment\";\n break;\n case \"field analysis\":\n case \"fieldanalysis\":\n action.type = ActionTypes[\"Field Analysis\"];\n action.name = \"Field Analysis\";\n break;\n case \"diplomacy\":\n action.type = ActionTypes[\"Diplomacy\"];\n action.name = \"Diplomacy\";\n break;\n case \"hyperbolic regeneration chamber\":\n action.type = ActionTypes[\"Hyperbolic Regeneration Chamber\"];\n action.name = \"Hyperbolic Regeneration Chamber\";\n break;\n case \"incite violence\":\n action.type = ActionTypes[\"Incite Violence\"];\n action.name = \"Incite Violence\";\n break;\n default:\n return null;\n }\n return action;\n }\n\n return null;\n }\n\n executeStartConsoleCommand(player: IPlayer, args: string[]): void {\n if (args.length !== 3) {\n this.postToConsole(\"Invalid usage of 'start' console command: start [type] [name]\");\n this.postToConsole(\"Use 'help start' for more info\");\n return;\n }\n const name = args[2];\n switch (args[1].toLowerCase()) {\n case \"general\":\n case \"gen\":\n if (GeneralActions[name] != null) {\n this.action.type = ActionTypes[name];\n this.action.name = name;\n this.startAction(player, this.action);\n } else {\n this.postToConsole(\"Invalid action name specified: \" + args[2]);\n }\n break;\n case \"contract\":\n case \"contracts\":\n if (this.contracts[name] != null) {\n this.action.type = ActionTypes.Contract;\n this.action.name = name;\n this.startAction(player, this.action);\n } else {\n this.postToConsole(\"Invalid contract name specified: \" + args[2]);\n }\n break;\n case \"ops\":\n case \"op\":\n case \"operations\":\n case \"operation\":\n if (this.operations[name] != null) {\n this.action.type = ActionTypes.Operation;\n this.action.name = name;\n this.startAction(player, this.action);\n } else {\n this.postToConsole(\"Invalid Operation name specified: \" + args[2]);\n }\n break;\n case \"blackops\":\n case \"blackop\":\n case \"black operations\":\n case \"black operation\":\n if (BlackOperations[name] != null) {\n this.action.type = ActionTypes.BlackOperation;\n this.action.name = name;\n this.startAction(player, this.action);\n } else {\n this.postToConsole(\"Invalid BlackOp name specified: \" + args[2]);\n }\n break;\n default:\n this.postToConsole(\"Invalid action/event type specified: \" + args[1]);\n this.postToConsole(\"Examples of valid action/event identifiers are: [general, contract, op, blackop]\");\n break;\n }\n }\n\n executeSkillConsoleCommand(args: string[]): void {\n switch (args.length) {\n case 1: {\n // Display Skill Help Command\n this.postToConsole(\"Invalid usage of 'skill' console command: skill [action] [name]\");\n this.postToConsole(\"Use 'help skill' for more info\");\n break;\n }\n case 2: {\n if (args[1].toLowerCase() === \"list\") {\n // List all skills and their level\n this.postToConsole(\"Skills: \");\n const skillNames = Object.keys(Skills);\n for (let i = 0; i < skillNames.length; ++i) {\n const skill = Skills[skillNames[i]];\n let level = 0;\n if (this.skills[skill.name] != null) {\n level = this.skills[skill.name];\n }\n this.postToConsole(skill.name + \": Level \" + formatNumber(level, 0));\n }\n this.postToConsole(\" \");\n this.postToConsole(\"Effects: \");\n const multKeys = Object.keys(this.skillMultipliers);\n for (let i = 0; i < multKeys.length; ++i) {\n let mult = this.skillMultipliers[multKeys[i]];\n if (mult && mult !== 1) {\n mult = formatNumber(mult, 3);\n switch (multKeys[i]) {\n case \"successChanceAll\":\n this.postToConsole(\"Total Success Chance: x\" + mult);\n break;\n case \"successChanceStealth\":\n this.postToConsole(\"Stealth Success Chance: x\" + mult);\n break;\n case \"successChanceKill\":\n this.postToConsole(\"Retirement Success Chance: x\" + mult);\n break;\n case \"successChanceContract\":\n this.postToConsole(\"Contract Success Chance: x\" + mult);\n break;\n case \"successChanceOperation\":\n this.postToConsole(\"Operation Success Chance: x\" + mult);\n break;\n case \"successChanceEstimate\":\n this.postToConsole(\"Synthoid Data Estimate: x\" + mult);\n break;\n case \"actionTime\":\n this.postToConsole(\"Action Time: x\" + mult);\n break;\n case \"effHack\":\n this.postToConsole(\"Hacking Skill: x\" + mult);\n break;\n case \"effStr\":\n this.postToConsole(\"Strength: x\" + mult);\n break;\n case \"effDef\":\n this.postToConsole(\"Defense: x\" + mult);\n break;\n case \"effDex\":\n this.postToConsole(\"Dexterity: x\" + mult);\n break;\n case \"effAgi\":\n this.postToConsole(\"Agility: x\" + mult);\n break;\n case \"effCha\":\n this.postToConsole(\"Charisma: x\" + mult);\n break;\n case \"effInt\":\n this.postToConsole(\"Intelligence: x\" + mult);\n break;\n case \"stamina\":\n this.postToConsole(\"Stamina: x\" + mult);\n break;\n default:\n console.warn(`Unrecognized SkillMult Key: ${multKeys[i]}`);\n break;\n }\n }\n }\n } else {\n this.postToConsole(\"Invalid usage of 'skill' console command: skill [action] [name]\");\n this.postToConsole(\"Use 'help skill' for more info\");\n }\n break;\n }\n case 3: {\n const skillName = args[2];\n const skill = Skills[skillName];\n if (skill == null || !(skill instanceof Skill)) {\n this.postToConsole(\"Invalid skill name (Note that it is case-sensitive): \" + skillName);\n break;\n }\n if (args[1].toLowerCase() === \"list\") {\n let level = 0;\n if (this.skills[skill.name] !== undefined) {\n level = this.skills[skill.name];\n }\n this.postToConsole(skill.name + \": Level \" + formatNumber(level));\n } else if (args[1].toLowerCase() === \"level\") {\n let currentLevel = 0;\n if (this.skills[skillName] && !isNaN(this.skills[skillName])) {\n currentLevel = this.skills[skillName];\n }\n const pointCost = skill.calculateCost(currentLevel);\n if (skill.maxLvl !== 0 && currentLevel >= skill.maxLvl) {\n this.postToConsole(`This skill ${skill.name} is already at max level (${currentLevel}/${skill.maxLvl}).`);\n } else if (this.skillPoints >= pointCost) {\n this.skillPoints -= pointCost;\n this.upgradeSkill(skill);\n this.log(skill.name + \" upgraded to Level \" + this.skills[skillName]);\n } else {\n this.postToConsole(\n \"You do not have enough Skill Points to upgrade this. You need \" + formatNumber(pointCost, 0),\n );\n }\n } else {\n this.postToConsole(\"Invalid usage of 'skill' console command: skill [action] [name]\");\n this.postToConsole(\"Use 'help skill' for more info\");\n }\n break;\n }\n default: {\n this.postToConsole(\"Invalid usage of 'skill' console command: skill [action] [name]\");\n this.postToConsole(\"Use 'help skill' for more info\");\n break;\n }\n }\n }\n\n executeLogConsoleCommand(args: string[]): void {\n if (args.length < 3) {\n this.postToConsole(\"Invalid usage of log command: log [enable/disable] [action/event]\");\n this.postToConsole(\"Use 'help log' for more details and examples\");\n return;\n }\n\n let flag = true;\n if (args[1].toLowerCase().includes(\"d\")) {\n flag = false;\n } // d for disable\n\n switch (args[2].toLowerCase()) {\n case \"general\":\n case \"gen\":\n this.logging.general = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for general actions\");\n break;\n case \"contract\":\n case \"contracts\":\n this.logging.contracts = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for Contracts\");\n break;\n case \"ops\":\n case \"op\":\n case \"operations\":\n case \"operation\":\n this.logging.ops = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for Operations\");\n break;\n case \"blackops\":\n case \"blackop\":\n case \"black operations\":\n case \"black operation\":\n this.logging.blackops = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for BlackOps\");\n break;\n case \"event\":\n case \"events\":\n this.logging.events = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for events\");\n break;\n case \"all\":\n this.logging.general = flag;\n this.logging.contracts = flag;\n this.logging.ops = flag;\n this.logging.blackops = flag;\n this.logging.events = flag;\n this.log(\"Logging \" + (flag ? \"enabled\" : \"disabled\") + \" for everything\");\n break;\n default:\n this.postToConsole(\"Invalid action/event type specified: \" + args[2]);\n this.postToConsole(\n \"Examples of valid action/event identifiers are: [general, contracts, ops, blackops, events]\",\n );\n break;\n }\n }\n\n executeHelpConsoleCommand(args: string[]): void {\n if (args.length === 1) {\n for (const line of ConsoleHelpText.helpList) {\n this.postToConsole(line);\n }\n } else {\n for (let i = 1; i < args.length; ++i) {\n if (!(args[i] in ConsoleHelpText)) continue;\n const helpText = ConsoleHelpText[args[i]];\n for (const line of helpText) {\n this.postToConsole(line);\n }\n }\n }\n }\n\n executeAutomateConsoleCommand(args: string[]): void {\n if (args.length !== 2 && args.length !== 4) {\n this.postToConsole(\n \"Invalid use of 'automate' command: automate [var] [val] [hi/low]. Use 'help automate' for more info\",\n );\n return;\n }\n\n // Enable/Disable\n if (args.length === 2) {\n const flag = args[1];\n if (flag.toLowerCase() === \"status\") {\n this.postToConsole(\"Automation: \" + (this.automateEnabled ? \"enabled\" : \"disabled\"));\n this.postToConsole(\n \"When your stamina drops to \" +\n formatNumber(this.automateThreshLow, 0) +\n \", you will automatically switch to \" +\n this.automateActionLow.name +\n \". When your stamina recovers to \" +\n formatNumber(this.automateThreshHigh, 0) +\n \", you will automatically \" +\n \"switch to \" +\n this.automateActionHigh.name +\n \".\",\n );\n } else if (flag.toLowerCase().includes(\"en\")) {\n if (\n !(this.automateActionLow instanceof ActionIdentifier) ||\n !(this.automateActionHigh instanceof ActionIdentifier)\n ) {\n return this.log(\"Failed to enable automation. Actions were not set\");\n }\n this.automateEnabled = true;\n this.log(\"Bladeburner automation enabled\");\n } else if (flag.toLowerCase().includes(\"d\")) {\n this.automateEnabled = false;\n this.log(\"Bladeburner automation disabled\");\n } else {\n this.log(\"Invalid argument for 'automate' console command: \" + args[1]);\n }\n return;\n }\n\n // Set variables\n if (args.length === 4) {\n const variable = args[1];\n const val = args[2];\n\n let highLow = false; // True for high, false for low\n if (args[3].toLowerCase().includes(\"hi\")) {\n highLow = true;\n }\n\n switch (variable) {\n case \"general\":\n case \"gen\":\n if (GeneralActions[val] != null) {\n const action = new ActionIdentifier({\n type: ActionTypes[val],\n name: val,\n });\n if (highLow) {\n this.automateActionHigh = action;\n } else {\n this.automateActionLow = action;\n }\n this.log(\"Automate (\" + (highLow ? \"HIGH\" : \"LOW\") + \") action set to \" + val);\n } else {\n this.postToConsole(\"Invalid action name specified: \" + val);\n }\n break;\n case \"contract\":\n case \"contracts\":\n if (this.contracts[val] != null) {\n const action = new ActionIdentifier({\n type: ActionTypes.Contract,\n name: val,\n });\n if (highLow) {\n this.automateActionHigh = action;\n } else {\n this.automateActionLow = action;\n }\n this.log(\"Automate (\" + (highLow ? \"HIGH\" : \"LOW\") + \") action set to \" + val);\n } else {\n this.postToConsole(\"Invalid contract name specified: \" + val);\n }\n break;\n case \"ops\":\n case \"op\":\n case \"operations\":\n case \"operation\":\n if (this.operations[val] != null) {\n const action = new ActionIdentifier({\n type: ActionTypes.Operation,\n name: val,\n });\n if (highLow) {\n this.automateActionHigh = action;\n } else {\n this.automateActionLow = action;\n }\n this.log(\"Automate (\" + (highLow ? \"HIGH\" : \"LOW\") + \") action set to \" + val);\n } else {\n this.postToConsole(\"Invalid Operation name specified: \" + val);\n }\n break;\n case \"stamina\":\n if (isNaN(parseFloat(val))) {\n this.postToConsole(\"Invalid value specified for stamina threshold (must be numeric): \" + val);\n } else {\n if (highLow) {\n this.automateThreshHigh = Number(val);\n } else {\n this.automateThreshLow = Number(val);\n }\n this.log(\"Automate (\" + (highLow ? \"HIGH\" : \"LOW\") + \") stamina threshold set to \" + val);\n }\n break;\n default:\n break;\n }\n\n return;\n }\n }\n\n parseCommandArguments(command: string): string[] {\n /**\n * Returns an array with command and its arguments in each index.\n * e.g. skill \"blade's intuition\" foo returns [skill, blade's intuition, foo]\n * The input to the fn will be trimmed and will have all whitespace replaced w/ a single space\n */\n const args = [];\n let start = 0;\n let i = 0;\n while (i < command.length) {\n const c = command.charAt(i);\n if (c === '\"') {\n // Double quotes\n const endQuote = command.indexOf('\"', i + 1);\n if (endQuote !== -1 && (endQuote === command.length - 1 || command.charAt(endQuote + 1) === KEY.SPACE)) {\n args.push(command.substr(i + 1, endQuote - i - 1));\n if (endQuote === command.length - 1) {\n start = i = endQuote + 1;\n } else {\n start = i = endQuote + 2; // Skip the space\n }\n continue;\n }\n } else if (c === \"'\") {\n // Single quotes, same thing as above\n const endQuote = command.indexOf(\"'\", i + 1);\n if (endQuote !== -1 && (endQuote === command.length - 1 || command.charAt(endQuote + 1) === KEY.SPACE)) {\n args.push(command.substr(i + 1, endQuote - i - 1));\n if (endQuote === command.length - 1) {\n start = i = endQuote + 1;\n } else {\n start = i = endQuote + 2; // Skip the space\n }\n continue;\n }\n } else if (c === KEY.SPACE) {\n args.push(command.substr(start, i - start));\n start = i + 1;\n }\n ++i;\n }\n if (start !== i) {\n args.push(command.substr(start, i - start));\n }\n return args;\n }\n\n executeConsoleCommand(player: IPlayer, command: string): void {\n command = command.trim();\n command = command.replace(/\\s\\s+/g, \" \"); // Replace all whitespace w/ a single space\n\n const args = this.parseCommandArguments(command);\n if (args.length <= 0) return; // Log an error?\n\n switch (args[0].toLowerCase()) {\n case \"automate\":\n this.executeAutomateConsoleCommand(args);\n break;\n case \"clear\":\n case \"cls\":\n this.clearConsole();\n break;\n case \"help\":\n this.executeHelpConsoleCommand(args);\n break;\n case \"log\":\n this.executeLogConsoleCommand(args);\n break;\n case \"skill\":\n this.executeSkillConsoleCommand(args);\n break;\n case \"start\":\n this.executeStartConsoleCommand(player, args);\n break;\n case \"stop\":\n this.resetAction();\n break;\n default:\n this.postToConsole(\"Invalid console command\");\n break;\n }\n }\n\n triggerMigration(sourceCityName: string): void {\n let destCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n while (destCityName === sourceCityName) {\n destCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n }\n const destCity = this.cities[destCityName];\n const sourceCity = this.cities[sourceCityName];\n if (destCity == null || sourceCity == null) {\n throw new Error(\"Failed to find City with name: \" + destCityName);\n }\n const rand = Math.random();\n let percentage = getRandomInt(3, 15) / 100;\n\n if (rand < 0.05 && sourceCity.comms > 0) {\n // 5% chance for community migration\n percentage *= getRandomInt(2, 4); // Migration increases population change\n --sourceCity.comms;\n ++destCity.comms;\n }\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop -= count;\n destCity.pop += count;\n }\n\n triggerPotentialMigration(sourceCityName: string, chance: number): void {\n if (chance == null || isNaN(chance)) {\n console.error(\"Invalid 'chance' parameter passed into Bladeburner.triggerPotentialMigration()\");\n }\n if (chance > 1) {\n chance /= 100;\n }\n if (Math.random() < chance) {\n this.triggerMigration(sourceCityName);\n }\n }\n\n randomEvent(): void {\n const chance = Math.random();\n\n // Choose random source/destination city for events\n const sourceCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n const sourceCity = this.cities[sourceCityName];\n if (!(sourceCity instanceof City)) {\n throw new Error(\"sourceCity was not a City object in Bladeburner.randomEvent()\");\n }\n\n let destCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n while (destCityName === sourceCityName) {\n destCityName = BladeburnerConstants.CityNames[getRandomInt(0, 5)];\n }\n const destCity = this.cities[destCityName];\n\n if (!(sourceCity instanceof City) || !(destCity instanceof City)) {\n throw new Error(\"sourceCity/destCity was not a City object in Bladeburner.randomEvent()\");\n }\n\n if (chance <= 0.05) {\n // New Synthoid Community, 5%\n ++sourceCity.comms;\n const percentage = getRandomInt(10, 20) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop += count;\n if (this.logging.events) {\n this.log(\"Intelligence indicates that a new Synthoid community was formed in a city\");\n }\n } else if (chance <= 0.1) {\n // Synthoid Community Migration, 5%\n if (sourceCity.comms <= 0) {\n // If no comms in source city, then instead trigger a new Synthoid community event\n ++sourceCity.comms;\n const percentage = getRandomInt(10, 20) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop += count;\n if (this.logging.events) {\n this.log(\"Intelligence indicates that a new Synthoid community was formed in a city\");\n }\n } else {\n --sourceCity.comms;\n ++destCity.comms;\n\n // Change pop\n const percentage = getRandomInt(10, 20) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop -= count;\n destCity.pop += count;\n\n if (this.logging.events) {\n this.log(\n \"Intelligence indicates that a Synthoid community migrated from \" + sourceCityName + \" to some other city\",\n );\n }\n }\n } else if (chance <= 0.3) {\n // New Synthoids (non community), 20%\n const percentage = getRandomInt(8, 24) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop += count;\n if (this.logging.events) {\n this.log(\n \"Intelligence indicates that the Synthoid population of \" + sourceCityName + \" just changed significantly\",\n );\n }\n } else if (chance <= 0.5) {\n // Synthoid migration (non community) 20%\n this.triggerMigration(sourceCityName);\n if (this.logging.events) {\n this.log(\n \"Intelligence indicates that a large number of Synthoids migrated from \" +\n sourceCityName +\n \" to some other city\",\n );\n }\n } else if (chance <= 0.7) {\n // Synthoid Riots (+chaos), 20%\n sourceCity.chaos += 1;\n sourceCity.chaos *= 1 + getRandomInt(5, 20) / 100;\n if (this.logging.events) {\n this.log(\"Tensions between Synthoids and humans lead to riots in \" + sourceCityName + \"! Chaos increased\");\n }\n } else if (chance <= 0.9) {\n // Less Synthoids, 20%\n const percentage = getRandomInt(8, 20) / 100;\n const count = Math.round(sourceCity.pop * percentage);\n sourceCity.pop -= count;\n if (this.logging.events) {\n this.log(\n \"Intelligence indicates that the Synthoid population of \" + sourceCityName + \" just changed significantly\",\n );\n }\n }\n // 10% chance of nothing happening\n }\n\n /**\n * Process stat gains from Contracts, Operations, and Black Operations\n * @param action(Action obj) - Derived action class\n * @param success(bool) - Whether action was successful\n */\n gainActionStats(player: IPlayer, action: IAction, success: boolean): void {\n const difficulty = action.getDifficulty();\n\n /**\n * Gain multiplier based on difficulty. If it changes then the\n * same variable calculated in completeAction() needs to change too\n */\n const difficultyMult =\n Math.pow(difficulty, BladeburnerConstants.DiffMultExponentialFactor) +\n difficulty / BladeburnerConstants.DiffMultLinearFactor;\n\n const time = this.actionTimeToComplete;\n const successMult = success ? 1 : 0.5;\n\n const unweightedGain = time * BladeburnerConstants.BaseStatGain * successMult * difficultyMult;\n const unweightedIntGain = time * BladeburnerConstants.BaseIntGain * successMult * difficultyMult;\n const skillMult = this.skillMultipliers.expGain;\n player.gainHackingExp(unweightedGain * action.weights.hack * player.hacking_exp_mult * skillMult);\n player.gainStrengthExp(unweightedGain * action.weights.str * player.strength_exp_mult * skillMult);\n player.gainDefenseExp(unweightedGain * action.weights.def * player.defense_exp_mult * skillMult);\n player.gainDexterityExp(unweightedGain * action.weights.dex * player.dexterity_exp_mult * skillMult);\n player.gainAgilityExp(unweightedGain * action.weights.agi * player.agility_exp_mult * skillMult);\n player.gainCharismaExp(unweightedGain * action.weights.cha * player.charisma_exp_mult * skillMult);\n player.gainIntelligenceExp(unweightedIntGain * action.weights.int * skillMult);\n }\n\n getDiplomacyEffectiveness(player: IPlayer): number {\n // Returns a decimal by which the city's chaos level should be multiplied (e.g. 0.98)\n const CharismaLinearFactor = 1e3;\n const CharismaExponentialFactor = 0.045;\n\n const charismaEff = Math.pow(player.charisma, CharismaExponentialFactor) + player.charisma / CharismaLinearFactor;\n return (100 - charismaEff) / 100;\n }\n\n getRecruitmentSuccessChance(player: IPlayer): number {\n return Math.pow(player.charisma, 0.45) / (this.teamSize + 1);\n }\n\n getRecruitmentTime(player: IPlayer): number {\n const effCharisma = player.charisma * this.skillMultipliers.effCha;\n const charismaFactor = Math.pow(effCharisma, 0.81) + effCharisma / 90;\n return Math.max(10, Math.round(BladeburnerConstants.BaseRecruitmentTimeNeeded - charismaFactor));\n }\n\n resetSkillMultipliers(): void {\n this.skillMultipliers = {\n successChanceAll: 1,\n successChanceStealth: 1,\n successChanceKill: 1,\n successChanceContract: 1,\n successChanceOperation: 1,\n successChanceEstimate: 1,\n actionTime: 1,\n effHack: 1,\n effStr: 1,\n effDef: 1,\n effDex: 1,\n effAgi: 1,\n effCha: 1,\n effInt: 1,\n stamina: 1,\n money: 1,\n expGain: 1,\n };\n }\n\n updateSkillMultipliers(): void {\n this.resetSkillMultipliers();\n for (const skillName of Object.keys(this.skills)) {\n if (this.skills.hasOwnProperty(skillName)) {\n const skill = Skills[skillName];\n if (skill == null) {\n throw new Error(\"Could not find Skill Object for: \" + skillName);\n }\n const level = this.skills[skillName];\n if (level == null || level <= 0) {\n continue;\n } //Not upgraded\n\n const multiplierNames = Object.keys(this.skillMultipliers);\n for (let i = 0; i < multiplierNames.length; ++i) {\n const multiplierName = multiplierNames[i];\n if (skill.getMultiplier(multiplierName) != null && !isNaN(skill.getMultiplier(multiplierName))) {\n const value = skill.getMultiplier(multiplierName) * level;\n let multiplierValue = 1 + value / 100;\n if (multiplierName === \"actionTime\") {\n multiplierValue = 1 - value / 100;\n }\n this.skillMultipliers[multiplierName] *= multiplierValue;\n }\n }\n }\n }\n }\n\n completeOperation(success: boolean): void {\n if (this.action.type !== ActionTypes.Operation) {\n throw new Error(\"completeOperation() called even though current action is not an Operation\");\n }\n const action = this.getActionObject(this.action);\n if (action == null) {\n throw new Error(\"Failed to get Contract/Operation Object for: \" + this.action.name);\n }\n\n // Calculate team losses\n const teamCount = action.teamCount;\n if (teamCount >= 1) {\n let max;\n if (success) {\n max = Math.ceil(teamCount / 2);\n } else {\n max = Math.floor(teamCount);\n }\n const losses = getRandomInt(0, max);\n this.teamSize -= losses;\n this.teamLost += losses;\n if (this.logging.ops && losses > 0) {\n this.log(\"Lost \" + formatNumber(losses, 0) + \" team members during this \" + action.name);\n }\n }\n\n const city = this.getCurrentCity();\n switch (action.name) {\n case \"Investigation\":\n if (success) {\n city.improvePopulationEstimateByPercentage(0.4 * this.skillMultipliers.successChanceEstimate);\n } else {\n this.triggerPotentialMigration(this.city, 0.1);\n }\n break;\n case \"Undercover Operation\":\n if (success) {\n city.improvePopulationEstimateByPercentage(0.8 * this.skillMultipliers.successChanceEstimate);\n } else {\n this.triggerPotentialMigration(this.city, 0.15);\n }\n break;\n case \"Sting Operation\":\n if (success) {\n city.changePopulationByPercentage(-0.1, {\n changeEstEqually: true,\n nonZero: true,\n });\n }\n city.changeChaosByCount(0.1);\n break;\n case \"Raid\":\n if (success) {\n city.changePopulationByPercentage(-1, {\n changeEstEqually: true,\n nonZero: true,\n });\n --city.comms;\n } else {\n const change = getRandomInt(-10, -5) / 10;\n city.changePopulationByPercentage(change, {\n nonZero: true,\n changeEstEqually: false,\n });\n }\n city.changeChaosByPercentage(getRandomInt(1, 5));\n break;\n case \"Stealth Retirement Operation\":\n if (success) {\n city.changePopulationByPercentage(-0.5, {\n changeEstEqually: true,\n nonZero: true,\n });\n }\n city.changeChaosByPercentage(getRandomInt(-3, -1));\n break;\n case \"Assassination\":\n if (success) {\n city.changePopulationByCount(-1, { estChange: -1, estOffset: 0 });\n }\n city.changeChaosByPercentage(getRandomInt(-5, 5));\n break;\n default:\n throw new Error(\"Invalid Action name in completeOperation: \" + this.action.name);\n }\n }\n\n getActionObject(actionId: IActionIdentifier): IAction | null {\n /**\n * Given an ActionIdentifier object, returns the corresponding\n * GeneralAction, Contract, Operation, or BlackOperation object\n */\n switch (actionId.type) {\n case ActionTypes[\"Contract\"]:\n return this.contracts[actionId.name];\n case ActionTypes[\"Operation\"]:\n return this.operations[actionId.name];\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]:\n return BlackOperations[actionId.name];\n case ActionTypes[\"Training\"]:\n return GeneralActions[\"Training\"];\n case ActionTypes[\"Field Analysis\"]:\n return GeneralActions[\"Field Analysis\"];\n case ActionTypes[\"Recruitment\"]:\n return GeneralActions[\"Recruitment\"];\n case ActionTypes[\"Diplomacy\"]:\n return GeneralActions[\"Diplomacy\"];\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n return GeneralActions[\"Hyperbolic Regeneration Chamber\"];\n case ActionTypes[\"Incite Violence\"]:\n return GeneralActions[\"Incite Violence\"];\n default:\n return null;\n }\n }\n\n completeContract(success: boolean): void {\n if (this.action.type !== ActionTypes.Contract) {\n throw new Error(\"completeContract() called even though current action is not a Contract\");\n }\n const city = this.getCurrentCity();\n if (success) {\n switch (this.action.name) {\n case \"Tracking\":\n // Increase estimate accuracy by a relatively small amount\n city.improvePopulationEstimateByCount(getRandomInt(100, 1e3));\n break;\n case \"Bounty Hunter\":\n city.changePopulationByCount(-1, { estChange: -1, estOffset: 0 });\n city.changeChaosByCount(0.02);\n break;\n case \"Retirement\":\n city.changePopulationByCount(-1, { estChange: -1, estOffset: 0 });\n city.changeChaosByCount(0.04);\n break;\n default:\n throw new Error(\"Invalid Action name in completeContract: \" + this.action.name);\n }\n }\n }\n\n completeAction(router: IRouter, player: IPlayer): void {\n switch (this.action.type) {\n case ActionTypes[\"Contract\"]:\n case ActionTypes[\"Operation\"]: {\n try {\n const isOperation = this.action.type === ActionTypes[\"Operation\"];\n const action = this.getActionObject(this.action);\n if (action == null) {\n throw new Error(\"Failed to get Contract/Operation Object for: \" + this.action.name);\n }\n const difficulty = action.getDifficulty();\n const difficultyMultiplier =\n Math.pow(difficulty, BladeburnerConstants.DiffMultExponentialFactor) +\n difficulty / BladeburnerConstants.DiffMultLinearFactor;\n const rewardMultiplier = Math.pow(action.rewardFac, action.level - 1);\n\n // Stamina loss is based on difficulty\n this.stamina -= BladeburnerConstants.BaseStaminaLoss * difficultyMultiplier;\n if (this.stamina < 0) {\n this.stamina = 0;\n }\n\n // Process Contract/Operation success/failure\n if (action.attempt(this)) {\n this.gainActionStats(player, action, true);\n ++action.successes;\n --action.count;\n\n // Earn money for contracts\n let moneyGain = 0;\n if (!isOperation) {\n moneyGain = BladeburnerConstants.ContractBaseMoneyGain * rewardMultiplier * this.skillMultipliers.money;\n player.gainMoney(moneyGain, \"bladeburner\");\n }\n\n if (isOperation) {\n action.setMaxLevel(BladeburnerConstants.OperationSuccessesPerLevel);\n } else {\n action.setMaxLevel(BladeburnerConstants.ContractSuccessesPerLevel);\n }\n if (action.rankGain) {\n const gain = addOffset(action.rankGain * rewardMultiplier * BitNodeMultipliers.BladeburnerRank, 10);\n this.changeRank(player, gain);\n if (isOperation && this.logging.ops) {\n this.log(action.name + \" successfully completed! Gained \" + formatNumber(gain, 3) + \" rank\");\n } else if (!isOperation && this.logging.contracts) {\n this.log(\n action.name +\n \" contract successfully completed! Gained \" +\n formatNumber(gain, 3) +\n \" rank and \" +\n numeralWrapper.formatMoney(moneyGain),\n );\n }\n }\n isOperation ? this.completeOperation(true) : this.completeContract(true);\n } else {\n this.gainActionStats(player, action, false);\n ++action.failures;\n let loss = 0,\n damage = 0;\n if (action.rankLoss) {\n loss = addOffset(action.rankLoss * rewardMultiplier, 10);\n this.changeRank(player, -1 * loss);\n }\n if (action.hpLoss) {\n damage = action.hpLoss * difficultyMultiplier;\n damage = Math.ceil(addOffset(damage, 10));\n this.hpLost += damage;\n const cost = calculateHospitalizationCost(player, damage);\n if (player.takeDamage(damage)) {\n ++this.numHosp;\n this.moneyLost += cost;\n }\n }\n let logLossText = \"\";\n if (loss > 0) {\n logLossText += \"Lost \" + formatNumber(loss, 3) + \" rank. \";\n }\n if (damage > 0) {\n logLossText += \"Took \" + formatNumber(damage, 0) + \" damage.\";\n }\n if (isOperation && this.logging.ops) {\n this.log(action.name + \" failed! \" + logLossText);\n } else if (!isOperation && this.logging.contracts) {\n this.log(action.name + \" contract failed! \" + logLossText);\n }\n isOperation ? this.completeOperation(false) : this.completeContract(false);\n }\n if (action.autoLevel) {\n action.level = action.maxLevel;\n } // Autolevel\n this.startAction(player, this.action); // Repeat action\n } catch (e: any) {\n exceptionAlert(e);\n }\n break;\n }\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]: {\n try {\n const action = this.getActionObject(this.action);\n if (action == null || !(action instanceof BlackOperation)) {\n throw new Error(\"Failed to get BlackOperation Object for: \" + this.action.name);\n }\n const difficulty = action.getDifficulty();\n const difficultyMultiplier =\n Math.pow(difficulty, BladeburnerConstants.DiffMultExponentialFactor) +\n difficulty / BladeburnerConstants.DiffMultLinearFactor;\n\n // Stamina loss is based on difficulty\n this.stamina -= BladeburnerConstants.BaseStaminaLoss * difficultyMultiplier;\n if (this.stamina < 0) {\n this.stamina = 0;\n }\n\n // Team loss variables\n const teamCount = action.teamCount;\n let teamLossMax;\n\n if (action.attempt(this)) {\n this.gainActionStats(player, action, true);\n action.count = 0;\n this.blackops[action.name] = true;\n let rankGain = 0;\n if (action.rankGain) {\n rankGain = addOffset(action.rankGain * BitNodeMultipliers.BladeburnerRank, 10);\n this.changeRank(player, rankGain);\n }\n teamLossMax = Math.ceil(teamCount / 2);\n\n // Operation Daedalus\n if (action.name === BlackOperationNames.OperationDaedalus) {\n this.resetAction();\n return router.toBitVerse(false, false);\n }\n\n if (this.logging.blackops) {\n this.log(action.name + \" successful! Gained \" + formatNumber(rankGain, 1) + \" rank\");\n }\n } else {\n this.gainActionStats(player, action, false);\n let rankLoss = 0;\n let damage = 0;\n if (action.rankLoss) {\n rankLoss = addOffset(action.rankLoss, 10);\n this.changeRank(player, -1 * rankLoss);\n }\n if (action.hpLoss) {\n damage = action.hpLoss * difficultyMultiplier;\n damage = Math.ceil(addOffset(damage, 10));\n const cost = calculateHospitalizationCost(player, damage);\n if (player.takeDamage(damage)) {\n ++this.numHosp;\n this.moneyLost += cost;\n }\n }\n teamLossMax = Math.floor(teamCount);\n\n if (this.logging.blackops) {\n this.log(\n action.name +\n \" failed! Lost \" +\n formatNumber(rankLoss, 1) +\n \" rank and took \" +\n formatNumber(damage, 0) +\n \" damage\",\n );\n }\n }\n\n this.resetAction(); // Stop regardless of success or fail\n\n // Calculate team lossses\n if (teamCount >= 1) {\n const losses = getRandomInt(1, teamLossMax);\n this.teamSize -= losses;\n this.teamLost += losses;\n if (this.logging.blackops) {\n this.log(\"You lost \" + formatNumber(losses, 0) + \" team members during \" + action.name);\n }\n }\n } catch (e: any) {\n exceptionAlert(e);\n }\n break;\n }\n case ActionTypes[\"Training\"]: {\n this.stamina -= 0.5 * BladeburnerConstants.BaseStaminaLoss;\n const strExpGain = 30 * player.strength_exp_mult,\n defExpGain = 30 * player.defense_exp_mult,\n dexExpGain = 30 * player.dexterity_exp_mult,\n agiExpGain = 30 * player.agility_exp_mult,\n staminaGain = 0.04 * this.skillMultipliers.stamina;\n player.gainStrengthExp(strExpGain);\n player.gainDefenseExp(defExpGain);\n player.gainDexterityExp(dexExpGain);\n player.gainAgilityExp(agiExpGain);\n this.staminaBonus += staminaGain;\n if (this.logging.general) {\n this.log(\n \"Training completed. Gained: \" +\n formatNumber(strExpGain, 1) +\n \" str exp, \" +\n formatNumber(defExpGain, 1) +\n \" def exp, \" +\n formatNumber(dexExpGain, 1) +\n \" dex exp, \" +\n formatNumber(agiExpGain, 1) +\n \" agi exp, \" +\n formatNumber(staminaGain, 3) +\n \" max stamina\",\n );\n }\n this.startAction(player, this.action); // Repeat action\n break;\n }\n case ActionTypes[\"FieldAnalysis\"]:\n case ActionTypes[\"Field Analysis\"]: {\n // Does not use stamina. Effectiveness depends on hacking, int, and cha\n let eff =\n 0.04 * Math.pow(player.hacking, 0.3) +\n 0.04 * Math.pow(player.intelligence, 0.9) +\n 0.02 * Math.pow(player.charisma, 0.3);\n eff *= player.bladeburner_analysis_mult;\n if (isNaN(eff) || eff < 0) {\n throw new Error(\"Field Analysis Effectiveness calculated to be NaN or negative\");\n }\n const hackingExpGain = 20 * player.hacking_exp_mult;\n const charismaExpGain = 20 * player.charisma_exp_mult;\n const rankGain = 0.1 * BitNodeMultipliers.BladeburnerRank;\n player.gainHackingExp(hackingExpGain);\n player.gainIntelligenceExp(BladeburnerConstants.BaseIntGain);\n player.gainCharismaExp(charismaExpGain);\n this.changeRank(player, rankGain);\n this.getCurrentCity().improvePopulationEstimateByPercentage(eff * this.skillMultipliers.successChanceEstimate);\n if (this.logging.general) {\n this.log(\n `Field analysis completed. Gained ${formatNumber(rankGain, 2)} rank, ` +\n `${formatNumber(hackingExpGain, 1)} hacking exp, and ` +\n `${formatNumber(charismaExpGain, 1)} charisma exp`,\n );\n }\n this.startAction(player, this.action); // Repeat action\n break;\n }\n case ActionTypes[\"Recruitment\"]: {\n const successChance = this.getRecruitmentSuccessChance(player);\n if (Math.random() < successChance) {\n const expGain = 2 * BladeburnerConstants.BaseStatGain * this.actionTimeToComplete;\n player.gainCharismaExp(expGain);\n ++this.teamSize;\n if (this.logging.general) {\n this.log(\"Successfully recruited a team member! Gained \" + formatNumber(expGain, 1) + \" charisma exp\");\n }\n } else {\n const expGain = BladeburnerConstants.BaseStatGain * this.actionTimeToComplete;\n player.gainCharismaExp(expGain);\n if (this.logging.general) {\n this.log(\"Failed to recruit a team member. Gained \" + formatNumber(expGain, 1) + \" charisma exp\");\n }\n }\n this.startAction(player, this.action); // Repeat action\n break;\n }\n case ActionTypes[\"Diplomacy\"]: {\n const eff = this.getDiplomacyEffectiveness(player);\n this.getCurrentCity().chaos *= eff;\n if (this.getCurrentCity().chaos < 0) {\n this.getCurrentCity().chaos = 0;\n }\n if (this.logging.general) {\n this.log(\n `Diplomacy completed. Chaos levels in the current city fell by ${numeralWrapper.formatPercentage(1 - eff)}`,\n );\n }\n this.startAction(player, this.action); // Repeat Action\n break;\n }\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]: {\n player.regenerateHp(BladeburnerConstants.HrcHpGain);\n\n const staminaGain = this.maxStamina * (BladeburnerConstants.HrcStaminaGain / 100);\n this.stamina = Math.min(this.maxStamina, this.stamina + staminaGain);\n this.startAction(player, this.action);\n if (this.logging.general) {\n this.log(\n `Rested in Hyperbolic Regeneration Chamber. Restored ${\n BladeburnerConstants.HrcHpGain\n } HP and gained ${numeralWrapper.formatStamina(staminaGain)} stamina`,\n );\n }\n break;\n }\n case ActionTypes[\"Incite Violence\"]: {\n for (const contract of Object.keys(this.contracts)) {\n const growthF = Growths[contract];\n if (!growthF) throw new Error(\"trying to generate count for action that doesn't exist? \" + contract);\n this.contracts[contract].count += (60 * 3 * growthF()) / BladeburnerConstants.ActionCountGrowthPeriod;\n }\n for (const operation of Object.keys(this.operations)) {\n const growthF = Growths[operation];\n if (!growthF) throw new Error(\"trying to generate count for action that doesn't exist? \" + operation);\n this.operations[operation].count += (60 * 3 * growthF()) / BladeburnerConstants.ActionCountGrowthPeriod;\n }\n if (this.logging.general) {\n this.log(`Incited violence in the synthoid communities.`);\n }\n for (const cityName of Object.keys(this.cities)) {\n const city = this.cities[cityName];\n city.chaos += 10;\n city.chaos += city.chaos / (Math.log(city.chaos) / Math.log(10));\n }\n\n this.startAction(player, this.action);\n break;\n }\n default:\n console.error(`Bladeburner.completeAction() called for invalid action: ${this.action.type}`);\n break;\n }\n }\n\n changeRank(player: IPlayer, change: number): void {\n if (isNaN(change)) {\n throw new Error(\"NaN passed into Bladeburner.changeRank()\");\n }\n this.rank += change;\n if (this.rank < 0) {\n this.rank = 0;\n }\n this.maxRank = Math.max(this.rank, this.maxRank);\n\n const bladeburnersFactionName = FactionNames.Bladeburners;\n if (factionExists(bladeburnersFactionName)) {\n const bladeburnerFac = Factions[bladeburnersFactionName];\n if (!(bladeburnerFac instanceof Faction)) {\n throw new Error(\n `Could not properly get ${FactionNames.Bladeburners} Faction object in ${FactionNames.Bladeburners} UI Overview Faction button`,\n );\n }\n if (bladeburnerFac.isMember) {\n const favorBonus = 1 + bladeburnerFac.favor / 100;\n bladeburnerFac.playerReputation +=\n BladeburnerConstants.RankToFactionRepFactor * change * player.faction_rep_mult * favorBonus;\n }\n }\n\n // Gain skill points\n const rankNeededForSp = (this.totalSkillPoints + 1) * BladeburnerConstants.RanksPerSkillPoint;\n if (this.maxRank >= rankNeededForSp) {\n // Calculate how many skill points to gain\n const gainedSkillPoints = Math.floor(\n (this.maxRank - rankNeededForSp) / BladeburnerConstants.RanksPerSkillPoint + 1,\n );\n this.skillPoints += gainedSkillPoints;\n this.totalSkillPoints += gainedSkillPoints;\n }\n }\n\n processAction(router: IRouter, player: IPlayer, seconds: number): void {\n if (this.action.type === ActionTypes[\"Idle\"]) return;\n if (this.actionTimeToComplete <= 0) {\n throw new Error(`Invalid actionTimeToComplete value: ${this.actionTimeToComplete}, type; ${this.action.type}`);\n }\n if (!(this.action instanceof ActionIdentifier)) {\n throw new Error(\"Bladeburner.action is not an ActionIdentifier Object\");\n }\n\n // If the previous action went past its completion time, add to the next action\n // This is not added inmediatly in case the automation changes the action\n this.actionTimeCurrent += seconds + this.actionTimeOverflow;\n this.actionTimeOverflow = 0;\n if (this.actionTimeCurrent >= this.actionTimeToComplete) {\n this.actionTimeOverflow = this.actionTimeCurrent - this.actionTimeToComplete;\n return this.completeAction(router, player);\n }\n }\n\n calculateStaminaGainPerSecond(player: IPlayer): number {\n const effAgility = player.agility * this.skillMultipliers.effAgi;\n const maxStaminaBonus = this.maxStamina / BladeburnerConstants.MaxStaminaToGainFactor;\n const gain = (BladeburnerConstants.StaminaGainPerSecond + maxStaminaBonus) * Math.pow(effAgility, 0.17);\n return gain * (this.skillMultipliers.stamina * player.bladeburner_stamina_gain_mult);\n }\n\n calculateMaxStamina(player: IPlayer): void {\n const effAgility = player.agility * this.skillMultipliers.effAgi;\n const maxStamina =\n (Math.pow(effAgility, 0.8) + this.staminaBonus) *\n this.skillMultipliers.stamina *\n player.bladeburner_max_stamina_mult;\n if (this.maxStamina !== maxStamina) {\n const oldMax = this.maxStamina;\n this.maxStamina = maxStamina;\n this.stamina = (this.maxStamina * this.stamina) / oldMax;\n }\n if (isNaN(maxStamina)) {\n throw new Error(\"Max Stamina calculated to be NaN in Bladeburner.calculateMaxStamina()\");\n }\n }\n\n create(): void {\n this.contracts[\"Tracking\"] = new Contract({\n name: \"Tracking\",\n baseDifficulty: 125,\n difficultyFac: 1.02,\n rewardFac: 1.041,\n rankGain: 0.3,\n hpLoss: 0.5,\n count: getRandomInt(25, 150),\n weights: {\n hack: 0,\n str: 0.05,\n def: 0.05,\n dex: 0.35,\n agi: 0.35,\n cha: 0.1,\n int: 0.05,\n },\n decays: {\n hack: 0,\n str: 0.91,\n def: 0.91,\n dex: 0.91,\n agi: 0.91,\n cha: 0.9,\n int: 1,\n },\n isStealth: true,\n });\n this.contracts[\"Bounty Hunter\"] = new Contract({\n name: \"Bounty Hunter\",\n baseDifficulty: 250,\n difficultyFac: 1.04,\n rewardFac: 1.085,\n rankGain: 0.9,\n hpLoss: 1,\n count: getRandomInt(5, 150),\n weights: {\n hack: 0,\n str: 0.15,\n def: 0.15,\n dex: 0.25,\n agi: 0.25,\n cha: 0.1,\n int: 0.1,\n },\n decays: {\n hack: 0,\n str: 0.91,\n def: 0.91,\n dex: 0.91,\n agi: 0.91,\n cha: 0.8,\n int: 0.9,\n },\n isKill: true,\n });\n this.contracts[\"Retirement\"] = new Contract({\n name: \"Retirement\",\n baseDifficulty: 200,\n difficultyFac: 1.03,\n rewardFac: 1.065,\n rankGain: 0.6,\n hpLoss: 1,\n count: getRandomInt(5, 150),\n weights: {\n hack: 0,\n str: 0.2,\n def: 0.2,\n dex: 0.2,\n agi: 0.2,\n cha: 0.1,\n int: 0.1,\n },\n decays: {\n hack: 0,\n str: 0.91,\n def: 0.91,\n dex: 0.91,\n agi: 0.91,\n cha: 0.8,\n int: 0.9,\n },\n isKill: true,\n });\n\n this.operations[\"Investigation\"] = new Operation({\n name: \"Investigation\",\n baseDifficulty: 400,\n difficultyFac: 1.03,\n rewardFac: 1.07,\n reqdRank: 25,\n rankGain: 2.2,\n rankLoss: 0.2,\n count: getRandomInt(1, 100),\n weights: {\n hack: 0.25,\n str: 0.05,\n def: 0.05,\n dex: 0.2,\n agi: 0.1,\n cha: 0.25,\n int: 0.1,\n },\n decays: {\n hack: 0.85,\n str: 0.9,\n def: 0.9,\n dex: 0.9,\n agi: 0.9,\n cha: 0.7,\n int: 0.9,\n },\n isStealth: true,\n });\n this.operations[\"Undercover Operation\"] = new Operation({\n name: \"Undercover Operation\",\n baseDifficulty: 500,\n difficultyFac: 1.04,\n rewardFac: 1.09,\n reqdRank: 100,\n rankGain: 4.4,\n rankLoss: 0.4,\n hpLoss: 2,\n count: getRandomInt(1, 100),\n weights: {\n hack: 0.2,\n str: 0.05,\n def: 0.05,\n dex: 0.2,\n agi: 0.2,\n cha: 0.2,\n int: 0.1,\n },\n decays: {\n hack: 0.8,\n str: 0.9,\n def: 0.9,\n dex: 0.9,\n agi: 0.9,\n cha: 0.7,\n int: 0.9,\n },\n isStealth: true,\n });\n this.operations[\"Sting Operation\"] = new Operation({\n name: \"Sting Operation\",\n baseDifficulty: 650,\n difficultyFac: 1.04,\n rewardFac: 1.095,\n reqdRank: 500,\n rankGain: 5.5,\n rankLoss: 0.5,\n hpLoss: 2.5,\n count: getRandomInt(1, 150),\n weights: {\n hack: 0.25,\n str: 0.05,\n def: 0.05,\n dex: 0.25,\n agi: 0.1,\n cha: 0.2,\n int: 0.1,\n },\n decays: {\n hack: 0.8,\n str: 0.85,\n def: 0.85,\n dex: 0.85,\n agi: 0.85,\n cha: 0.7,\n int: 0.9,\n },\n isStealth: true,\n });\n this.operations[\"Raid\"] = new Operation({\n name: \"Raid\",\n baseDifficulty: 800,\n difficultyFac: 1.045,\n rewardFac: 1.1,\n reqdRank: 3000,\n rankGain: 55,\n rankLoss: 2.5,\n hpLoss: 50,\n count: getRandomInt(1, 150),\n weights: {\n hack: 0.1,\n str: 0.2,\n def: 0.2,\n dex: 0.2,\n agi: 0.2,\n cha: 0,\n int: 0.1,\n },\n decays: {\n hack: 0.7,\n str: 0.8,\n def: 0.8,\n dex: 0.8,\n agi: 0.8,\n cha: 0,\n int: 0.9,\n },\n isKill: true,\n });\n this.operations[\"Stealth Retirement Operation\"] = new Operation({\n name: \"Stealth Retirement Operation\",\n baseDifficulty: 1000,\n difficultyFac: 1.05,\n rewardFac: 1.11,\n reqdRank: 20e3,\n rankGain: 22,\n rankLoss: 2,\n hpLoss: 10,\n count: getRandomInt(1, 150),\n weights: {\n hack: 0.1,\n str: 0.1,\n def: 0.1,\n dex: 0.3,\n agi: 0.3,\n cha: 0,\n int: 0.1,\n },\n decays: {\n hack: 0.7,\n str: 0.8,\n def: 0.8,\n dex: 0.8,\n agi: 0.8,\n cha: 0,\n int: 0.9,\n },\n isStealth: true,\n isKill: true,\n });\n this.operations[\"Assassination\"] = new Operation({\n name: \"Assassination\",\n baseDifficulty: 1500,\n difficultyFac: 1.06,\n rewardFac: 1.14,\n reqdRank: 50e3,\n rankGain: 44,\n rankLoss: 4,\n hpLoss: 5,\n count: getRandomInt(1, 150),\n weights: {\n hack: 0.1,\n str: 0.1,\n def: 0.1,\n dex: 0.3,\n agi: 0.3,\n cha: 0,\n int: 0.1,\n },\n decays: {\n hack: 0.6,\n str: 0.8,\n def: 0.8,\n dex: 0.8,\n agi: 0.8,\n cha: 0,\n int: 0.8,\n },\n isStealth: true,\n isKill: true,\n });\n }\n\n process(router: IRouter, player: IPlayer): void {\n // Edge race condition when the engine checks the processing counters and attempts to route before the router is initialized.\n if (!router.isInitialized) return;\n\n // Edge case condition...if Operation Daedalus is complete trigger the BitNode\n if (router.page() !== Page.BitVerse && this.blackops.hasOwnProperty(BlackOperationNames.OperationDaedalus)) {\n return router.toBitVerse(false, false);\n }\n\n // If the Player starts doing some other actions, set action to idle and alert\n if (player.hasAugmentation(AugmentationNames.BladesSimulacrum) === false && player.isWorking) {\n if (this.action.type !== ActionTypes[\"Idle\"]) {\n let msg = \"Your Bladeburner action was cancelled because you started doing something else.\";\n if (this.automateEnabled) {\n msg += `
Your automation was disabled as well. You will have to re-enable it through the Bladeburner console`;\n this.automateEnabled = false;\n }\n if (!Settings.SuppressBladeburnerPopup) {\n dialogBoxCreate(msg);\n }\n }\n this.resetAction();\n }\n\n // If the Player has no Stamina, set action to idle\n if (this.stamina <= 0) {\n this.log(\"Your Bladeburner action was cancelled because your stamina hit 0\");\n this.resetAction();\n }\n\n // A 'tick' for this mechanic is one second (= 5 game cycles)\n if (this.storedCycles >= BladeburnerConstants.CyclesPerSecond) {\n let seconds = Math.floor(this.storedCycles / BladeburnerConstants.CyclesPerSecond);\n seconds = Math.min(seconds, 5); // Max of 5 'ticks'\n this.storedCycles -= seconds * BladeburnerConstants.CyclesPerSecond;\n\n // Stamina\n this.calculateMaxStamina(player);\n this.stamina += this.calculateStaminaGainPerSecond(player) * seconds;\n this.stamina = Math.min(this.maxStamina, this.stamina);\n\n // Count increase for contracts/operations\n for (const contract of Object.values(this.contracts) as Contract[]) {\n const growthF = Growths[contract.name];\n if (growthF === undefined) throw new Error(`growth formula for action '${contract.name}' is undefined`);\n contract.count += (seconds * growthF()) / BladeburnerConstants.ActionCountGrowthPeriod;\n }\n for (const op of Object.values(this.operations) as Operation[]) {\n const growthF = Growths[op.name];\n if (growthF === undefined) throw new Error(`growth formula for action '${op.name}' is undefined`);\n if (growthF !== undefined) {\n op.count += (seconds * growthF()) / BladeburnerConstants.ActionCountGrowthPeriod;\n }\n }\n\n // Chaos goes down very slowly\n for (const cityName of BladeburnerConstants.CityNames) {\n const city = this.cities[cityName];\n if (!(city instanceof City)) {\n throw new Error(\"Invalid City object when processing passive chaos reduction in Bladeburner.process\");\n }\n city.chaos -= 0.0001 * seconds;\n city.chaos = Math.max(0, city.chaos);\n }\n\n // Random Events\n this.randomEventCounter -= seconds;\n if (this.randomEventCounter <= 0) {\n this.randomEvent();\n // Add instead of setting because we might have gone over the required time for the event\n this.randomEventCounter += getRandomInt(240, 600);\n }\n\n this.processAction(router, player, seconds);\n\n // Automation\n if (this.automateEnabled) {\n // Note: Do NOT set this.action = this.automateActionHigh/Low since it creates a reference\n if (this.stamina <= this.automateThreshLow) {\n if (this.action.name !== this.automateActionLow.name || this.action.type !== this.automateActionLow.type) {\n this.action = new ActionIdentifier({\n type: this.automateActionLow.type,\n name: this.automateActionLow.name,\n });\n this.startAction(player, this.action);\n }\n } else if (this.stamina >= this.automateThreshHigh) {\n if (this.action.name !== this.automateActionHigh.name || this.action.type !== this.automateActionHigh.type) {\n this.action = new ActionIdentifier({\n type: this.automateActionHigh.type,\n name: this.automateActionHigh.name,\n });\n this.startAction(player, this.action);\n }\n }\n }\n }\n }\n\n getTypeAndNameFromActionId(actionId: IActionIdentifier): {\n type: string;\n name: string;\n } {\n const res = { type: \"\", name: \"\" };\n const types = Object.keys(ActionTypes);\n for (let i = 0; i < types.length; ++i) {\n if (actionId.type === ActionTypes[types[i]]) {\n res.type = types[i];\n break;\n }\n }\n const gen = [\n \"Training\",\n \"Recruitment\",\n \"FieldAnalysis\",\n \"Field Analysis\",\n \"Diplomacy\",\n \"Hyperbolic Regeneration Chamber\",\n \"Incite Violence\",\n ];\n if (gen.includes(res.type)) {\n res.type = \"General\";\n }\n\n if (res.type == null) {\n res.type = \"Idle\";\n }\n\n res.name = actionId.name != null ? actionId.name : \"Idle\";\n return res;\n }\n\n getContractNamesNetscriptFn(): string[] {\n return Object.keys(this.contracts);\n }\n\n getOperationNamesNetscriptFn(): string[] {\n return Object.keys(this.operations);\n }\n\n getBlackOpNamesNetscriptFn(): string[] {\n return Object.keys(BlackOperations);\n }\n\n getGeneralActionNamesNetscriptFn(): string[] {\n return Object.keys(GeneralActions);\n }\n\n getSkillNamesNetscriptFn(): string[] {\n return Object.keys(Skills);\n }\n\n startActionNetscriptFn(player: IPlayer, type: string, name: string, workerScript: WorkerScript): boolean {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.startAction\", () => errorLogText);\n return false;\n }\n\n // Special logic for Black Ops\n if (actionId.type === ActionTypes[\"BlackOp\"]) {\n const canRunOp = this.canAttemptBlackOp(actionId);\n if (!canRunOp.isAvailable) {\n workerScript.log(\"bladeburner.startAction\", () => canRunOp.error + \"\");\n return false;\n }\n }\n\n try {\n this.startAction(player, actionId);\n workerScript.log(\n \"bladeburner.startAction\",\n () => `Starting bladeburner action with type '${type}' and name '${name}'`,\n );\n return true;\n } catch (e: any) {\n this.resetAction();\n workerScript.log(\"bladeburner.startAction\", () => errorLogText);\n return false;\n }\n }\n\n getActionTimeNetscriptFn(player: IPlayer, type: string, name: string, workerScript: WorkerScript): number {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.getActionTime\", () => errorLogText);\n return -1;\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n workerScript.log(\"bladeburner.getActionTime\", () => errorLogText);\n return -1;\n }\n\n switch (actionId.type) {\n case ActionTypes[\"Contract\"]:\n case ActionTypes[\"Operation\"]:\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]:\n return actionObj.getActionTime(this) * 1000;\n case ActionTypes[\"Training\"]:\n case ActionTypes[\"Field Analysis\"]:\n case ActionTypes[\"FieldAnalysis\"]:\n return 30000;\n case ActionTypes[\"Recruitment\"]:\n return this.getRecruitmentTime(player) * 1000;\n case ActionTypes[\"Diplomacy\"]:\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n case ActionTypes[\"Incite Violence\"]:\n return 60000;\n default:\n workerScript.log(\"bladeburner.getActionTime\", () => errorLogText);\n return -1;\n }\n }\n\n getActionEstimatedSuccessChanceNetscriptFn(\n player: IPlayer,\n type: string,\n name: string,\n workerScript: WorkerScript,\n ): [number, number] {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.getActionEstimatedSuccessChance\", () => errorLogText);\n return [-1, -1];\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n workerScript.log(\"bladeburner.getActionEstimatedSuccessChance\", () => errorLogText);\n return [-1, -1];\n }\n\n switch (actionId.type) {\n case ActionTypes[\"Contract\"]:\n case ActionTypes[\"Operation\"]:\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]:\n return actionObj.getEstSuccessChance(this);\n case ActionTypes[\"Training\"]:\n case ActionTypes[\"Field Analysis\"]:\n case ActionTypes[\"FieldAnalysis\"]:\n case ActionTypes[\"Diplomacy\"]:\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n case ActionTypes[\"Incite Violence\"]:\n return [1, 1];\n case ActionTypes[\"Recruitment\"]: {\n const recChance = this.getRecruitmentSuccessChance(player);\n return [recChance, recChance];\n }\n default:\n workerScript.log(\"bladeburner.getActionEstimatedSuccessChance\", () => errorLogText);\n return [-1, -1];\n }\n }\n\n getActionCountRemainingNetscriptFn(type: string, name: string, workerScript: WorkerScript): number {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.getActionCountRemaining\", () => errorLogText);\n return -1;\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n workerScript.log(\"bladeburner.getActionCountRemaining\", () => errorLogText);\n return -1;\n }\n\n switch (actionId.type) {\n case ActionTypes[\"Contract\"]:\n case ActionTypes[\"Operation\"]:\n return Math.floor(actionObj.count);\n case ActionTypes[\"BlackOp\"]:\n case ActionTypes[\"BlackOperation\"]:\n if (this.blackops[name] != null) {\n return 0;\n } else {\n return 1;\n }\n case ActionTypes[\"Training\"]:\n case ActionTypes[\"Recruitment\"]:\n case ActionTypes[\"Field Analysis\"]:\n case ActionTypes[\"FieldAnalysis\"]:\n case ActionTypes[\"Diplomacy\"]:\n case ActionTypes[\"Hyperbolic Regeneration Chamber\"]:\n case ActionTypes[\"Incite Violence\"]:\n return Infinity;\n default:\n workerScript.log(\"bladeburner.getActionCountRemaining\", () => errorLogText);\n return -1;\n }\n }\n\n getSkillLevelNetscriptFn(skillName: string, workerScript: WorkerScript): number {\n if (skillName === \"\" || !Skills.hasOwnProperty(skillName)) {\n workerScript.log(\"bladeburner.getSkillLevel\", () => `Invalid skill: '${skillName}'`);\n return -1;\n }\n\n if (this.skills[skillName] == null) {\n return 0;\n } else {\n return this.skills[skillName];\n }\n }\n\n getSkillUpgradeCostNetscriptFn(skillName: string, workerScript: WorkerScript): number {\n if (skillName === \"\" || !Skills.hasOwnProperty(skillName)) {\n workerScript.log(\"bladeburner.getSkillUpgradeCost\", () => `Invalid skill: '${skillName}'`);\n return -1;\n }\n\n const skill = Skills[skillName];\n if (this.skills[skillName] == null) {\n return skill.calculateCost(0);\n } else {\n return skill.calculateCost(this.skills[skillName]);\n }\n }\n\n upgradeSkillNetscriptFn(skillName: string, workerScript: WorkerScript): boolean {\n const errorLogText = `Invalid skill: '${skillName}'`;\n if (!Skills.hasOwnProperty(skillName)) {\n workerScript.log(\"bladeburner.upgradeSkill\", () => errorLogText);\n return false;\n }\n\n const skill = Skills[skillName];\n let currentLevel = 0;\n if (this.skills[skillName] && !isNaN(this.skills[skillName])) {\n currentLevel = this.skills[skillName];\n }\n const cost = skill.calculateCost(currentLevel);\n\n if (skill.maxLvl && currentLevel >= skill.maxLvl) {\n workerScript.log(\"bladeburner.upgradeSkill\", () => `Skill '${skillName}' is already maxed.`);\n return false;\n }\n\n if (this.skillPoints < cost) {\n workerScript.log(\n \"bladeburner.upgradeSkill\",\n () =>\n `You do not have enough skill points to upgrade ${skillName} (You have ${this.skillPoints}, you need ${cost})`,\n );\n return false;\n }\n\n this.skillPoints -= cost;\n this.upgradeSkill(skill);\n workerScript.log(\"bladeburner.upgradeSkill\", () => `'${skillName}' upgraded to level ${this.skills[skillName]}`);\n return true;\n }\n\n getTeamSizeNetscriptFn(type: string, name: string, workerScript: WorkerScript): number {\n if (type === \"\" && name === \"\") {\n return this.teamSize;\n }\n\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.getTeamSize\", () => errorLogText);\n return -1;\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n workerScript.log(\"bladeburner.getTeamSize\", () => errorLogText);\n return -1;\n }\n\n if (\n actionId.type === ActionTypes[\"Operation\"] ||\n actionId.type === ActionTypes[\"BlackOp\"] ||\n actionId.type === ActionTypes[\"BlackOperation\"]\n ) {\n return actionObj.teamCount;\n } else {\n return 0;\n }\n }\n\n setTeamSizeNetscriptFn(type: string, name: string, size: number, workerScript: WorkerScript): number {\n const errorLogText = `Invalid action: type='${type}' name='${name}'`;\n const actionId = this.getActionIdFromTypeAndName(type, name);\n if (actionId == null) {\n workerScript.log(\"bladeburner.setTeamSize\", () => errorLogText);\n return -1;\n }\n\n if (\n actionId.type !== ActionTypes[\"Operation\"] &&\n actionId.type !== ActionTypes[\"BlackOp\"] &&\n actionId.type !== ActionTypes[\"BlackOperation\"]\n ) {\n workerScript.log(\"bladeburner.setTeamSize\", () => \"Only valid for 'Operations' and 'BlackOps'\");\n return -1;\n }\n\n const actionObj = this.getActionObject(actionId);\n if (actionObj == null) {\n workerScript.log(\"bladeburner.setTeamSize\", () => errorLogText);\n return -1;\n }\n\n let sanitizedSize = Math.round(size);\n if (isNaN(sanitizedSize) || sanitizedSize < 0) {\n workerScript.log(\"bladeburner.setTeamSize\", () => `Invalid size: ${size}`);\n return -1;\n }\n if (this.teamSize < sanitizedSize) {\n sanitizedSize = this.teamSize;\n }\n actionObj.teamCount = sanitizedSize;\n workerScript.log(\"bladeburner.setTeamSize\", () => `Team size for '${name}' set to ${sanitizedSize}.`);\n return sanitizedSize;\n }\n\n joinBladeburnerFactionNetscriptFn(workerScript: WorkerScript): boolean {\n const bladeburnerFac = Factions[FactionNames.Bladeburners];\n if (bladeburnerFac.isMember) {\n return true;\n } else if (this.rank >= BladeburnerConstants.RankNeededForFaction) {\n joinFaction(bladeburnerFac);\n workerScript.log(\"bladeburner.joinBladeburnerFaction\", () => `Joined ${FactionNames.Bladeburners} faction.`);\n return true;\n } else {\n workerScript.log(\n \"bladeburner.joinBladeburnerFaction\",\n () => `You do not have the required rank (${this.rank}/${BladeburnerConstants.RankNeededForFaction}).`,\n );\n return false;\n }\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"Bladeburner\", this);\n }\n\n /**\n * Initiatizes a Bladeburner object from a JSON save state.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Bladeburner {\n return Generic_fromJSON(Bladeburner, value.data);\n }\n}\n\nReviver.constructors.Bladeburner = Bladeburner;\n","// Enums that defined allowed values for setting configuration\n\n/**\n * Allowed values for the 'OwnedAugmentationsOrder' setting\n */\nexport enum PurchaseAugmentationsOrderSetting {\n Cost,\n Default,\n Reputation,\n Purchasable,\n}\n\n/**\n * Allowed values for the 'OwnedAugmentationsOrder' setting\n */\nexport enum OwnedAugmentationsOrderSetting {\n Alphabetically,\n AcquirementTime,\n}\n","import { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { HacknetNodeConstants } from \"../data/Constants\";\n\nexport function calculateMoneyGainRate(level: number, ram: number, cores: number, mult: number): number {\n const gainPerLevel = HacknetNodeConstants.MoneyGainPerLevel;\n\n const levelMult = level * gainPerLevel;\n const ramMult = Math.pow(1.035, ram - 1);\n const coresMult = (cores + 5) / 6;\n return levelMult * ramMult * coresMult * mult * BitNodeMultipliers.HacknetNodeMoney;\n}\n\nexport function calculateLevelUpgradeCost(startingLevel: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingLevel >= HacknetNodeConstants.MaxLevel) {\n return Infinity;\n }\n\n const mult = HacknetNodeConstants.UpgradeLevelMult;\n let totalMultiplier = 0;\n let currLevel = startingLevel;\n for (let i = 0; i < sanitizedLevels; ++i) {\n totalMultiplier += HacknetNodeConstants.LevelBaseCost * Math.pow(mult, currLevel);\n ++currLevel;\n }\n\n return (HacknetNodeConstants.BaseCost / 2) * totalMultiplier * costMult;\n}\n\nexport function calculateRamUpgradeCost(startingRam: number, extraLevels = 1, costMult = 1): number {\n const sanitizedLevels = Math.round(extraLevels);\n if (isNaN(sanitizedLevels) || sanitizedLevels < 1) {\n return 0;\n }\n\n if (startingRam >= HacknetNodeConstants.MaxRam) {\n return Infinity;\n }\n\n let totalCost = 0;\n let numUpgrades = Math.round(Math.log2(startingRam));\n let currentRam = startingRam;\n\n for (let i = 0; i < sanitizedLevels; ++i) {\n const baseCost = currentRam * HacknetNodeConstants.RamBaseCost;\n const mult = Math.pow(HacknetNodeConstants.UpgradeRamMult, numUpgrades);\n\n totalCost += baseCost * mult;\n\n currentRam *= 2;\n ++numUpgrades;\n }\n\n totalCost *= costMult;\n\n return totalCost;\n}\n\nexport function calculateCoreUpgradeCost(startingCore: number, extraLevels = 1, costMult = 1): number {\n const sanitizedCores = Math.round(extraLevels);\n if (isNaN(sanitizedCores) || sanitizedCores < 1) {\n return 0;\n }\n\n if (startingCore >= HacknetNodeConstants.MaxCores) {\n return Infinity;\n }\n\n const coreBaseCost = HacknetNodeConstants.CoreBaseCost;\n const mult = HacknetNodeConstants.UpgradeCoreMult;\n let totalCost = 0;\n let currentCores = startingCore;\n for (let i = 0; i < sanitizedCores; ++i) {\n totalCost += coreBaseCost * Math.pow(mult, currentCores - 1);\n ++currentCores;\n }\n\n totalCost *= costMult;\n\n return totalCost;\n}\n\nexport function calculateNodeCost(n: number, mult = 1): number {\n if (n <= 0) {\n return 0;\n }\n return HacknetNodeConstants.BaseCost * Math.pow(HacknetNodeConstants.PurchaseNextMult, n - 1) * mult;\n}\n","import * as React from \"react\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\n\nconst gainLimit = 10e9;\n\nexport function win(p: IPlayer, n: number): void {\n p.gainMoney(n, \"casino\");\n}\n\nexport function reachedLimit(p: IPlayer): boolean {\n const reached = p.getCasinoWinnings() > gainLimit;\n if (reached) {\n dialogBoxCreate(<>Alright cheater get out of here. You're not allowed here anymore.>);\n }\n return reached;\n}\n\nexport class Game extends React.Component {\n win(p: IPlayer, n: number): void {\n p.gainMoney(n, \"casino\");\n }\n\n reachedLimit(p: IPlayer): boolean {\n const reached = p.getCasinoWinnings() > gainLimit;\n if (reached) {\n dialogBoxCreate(<>Alright cheater get out of here. You're not allowed here anymore.>);\n }\n return reached;\n }\n}\n","const _ = false;\nconst X = true;\nexport const Shapes: {\n O: boolean[][];\n I: boolean[][];\n L: boolean[][];\n J: boolean[][];\n S: boolean[][];\n Z: boolean[][];\n T: boolean[][];\n} = {\n O: [\n [X, X],\n [X, X],\n ],\n I: [[X, X, X, X]],\n L: [\n [_, _, X],\n [X, X, X],\n ],\n J: [\n [X, _, _],\n [X, X, X],\n ],\n S: [\n [_, X, X],\n [X, X, _],\n ],\n Z: [\n [X, X, _],\n [_, X, X],\n ],\n T: [\n [X, X, X],\n [_, X, _],\n ],\n};\n","import React, { useEffect } from \"react\";\n\ninterface IProps {\n onKeyDown: (this: Document, event: KeyboardEvent) => void;\n onFailure: (options?: { automated: boolean }) => void;\n}\n\nexport function KeyHandler(props: IProps): React.ReactElement {\n useEffect(() => {\n function press(this: Document, event: KeyboardEvent): void {\n if (!event.isTrusted) return;\n const f = props.onKeyDown.bind(this);\n f(event);\n }\n document.addEventListener(\"keydown\", press);\n return () => document.removeEventListener(\"keydown\", press);\n });\n\n // invisible autofocused element that eats all the keypress for the minigames.\n return <>>;\n}\n","interface DifficultySetting {\n [key: string]: number;\n}\n\ninterface DifficultySettings {\n Trivial: DifficultySetting;\n Normal: DifficultySetting;\n Hard: DifficultySetting;\n Impossible: DifficultySetting;\n}\n\n// I could use `any` to simply some of this but I also want to take advantage\n// of the type safety that typescript provides. I'm just not sure how in this\n// case.\nexport function interpolate(settings: DifficultySettings, n: number, out: DifficultySetting): DifficultySetting {\n // interpolates between 2 difficulties.\n function lerpD(a: DifficultySetting, b: DifficultySetting, t: number): DifficultySetting {\n // interpolates between 2 numbers.\n function lerp(x: number, y: number, t: number): number {\n return (1 - t) * x + t * y;\n }\n for (const key of Object.keys(a)) {\n out[key] = lerp(a[key], b[key], t);\n }\n return a;\n }\n if (n < 0) return lerpD(settings.Trivial, settings.Trivial, 0);\n if (n >= 0 && n < 1) return lerpD(settings.Trivial, settings.Normal, n);\n if (n >= 1 && n < 2) return lerpD(settings.Normal, settings.Hard, n - 1);\n if (n >= 2 && n < 3) return lerpD(settings.Hard, settings.Impossible, n - 2);\n return lerpD(settings.Impossible, settings.Impossible, 0);\n}\n","/**\n * Hacknet Node Class\n *\n * Hacknet Nodes are specialized machines that passively earn the player money over time.\n * They can be upgraded to increase their production\n */\nimport { IHacknetNode } from \"./IHacknetNode\";\n\nimport { CONSTANTS } from \"../Constants\";\n\nimport {\n calculateMoneyGainRate,\n calculateLevelUpgradeCost,\n calculateCoreUpgradeCost,\n calculateRamUpgradeCost,\n} from \"./formulas/HacknetNodes\";\nimport { HacknetNodeConstants } from \"./data/Constants\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\nimport { ObjectValidator, minMax } from \"../utils/Validator\";\n\nexport class HacknetNode implements IHacknetNode {\n static validationData: ObjectValidator = {\n cores: minMax(1, 1, HacknetNodeConstants.MaxCores),\n level: minMax(1, 1, HacknetNodeConstants.MaxLevel),\n ram: minMax(1, 1, HacknetNodeConstants.MaxRam),\n onlineTimeSeconds: minMax(0, 0, Infinity),\n totalMoneyGenerated: minMax(0, 0, Infinity),\n };\n\n // Node's number of cores\n cores = 1;\n\n // Node's Level\n level = 1;\n\n // Node's production per second\n moneyGainRatePerSecond = 0;\n\n // Identifier for Node. Includes the full \"name\" (hacknet-node-N)\n name: string;\n\n // How long this Node has existed, in seconds\n onlineTimeSeconds = 0;\n\n // Node's RAM (GB)\n ram = 1;\n\n // Total money earned by this Node\n totalMoneyGenerated = 0;\n\n constructor(name = \"\", prodMult = 1) {\n this.name = name;\n\n this.updateMoneyGainRate(prodMult);\n }\n\n // Get the cost to upgrade this Node's number of cores\n calculateCoreUpgradeCost(levels = 1, costMult: number): number {\n return calculateCoreUpgradeCost(this.cores, levels, costMult);\n }\n\n // Get the cost to upgrade this Node's level\n calculateLevelUpgradeCost(levels = 1, costMult: number): number {\n return calculateLevelUpgradeCost(this.level, levels, costMult);\n }\n\n // Get the cost to upgrade this Node's RAM\n calculateRamUpgradeCost(levels = 1, costMult: number): number {\n return calculateRamUpgradeCost(this.ram, levels, costMult);\n }\n\n // Process this Hacknet Node in the game loop.\n // Returns the amount of money generated\n process(numCycles = 1): number {\n const seconds = (numCycles * CONSTANTS.MilliPerCycle) / 1000;\n let gain = this.moneyGainRatePerSecond * seconds;\n if (isNaN(gain)) {\n console.error(`Hacknet Node ${this.name} calculated earnings of NaN`);\n gain = 0;\n }\n\n this.totalMoneyGenerated += gain;\n this.onlineTimeSeconds += seconds;\n\n return gain;\n }\n\n // Upgrade this Node's number of cores, if possible\n // Returns a boolean indicating whether new cores were successfully bought\n upgradeCore(levels = 1, prodMult: number): void {\n this.cores = Math.min(HacknetNodeConstants.MaxCores, Math.round(this.cores + levels));\n this.updateMoneyGainRate(prodMult);\n }\n\n // Upgrade this Node's level, if possible\n // Returns a boolean indicating whether the level was successfully updated\n upgradeLevel(levels = 1, prodMult: number): void {\n this.level = Math.min(HacknetNodeConstants.MaxLevel, Math.round(this.level + levels));\n this.updateMoneyGainRate(prodMult);\n }\n\n // Upgrade this Node's RAM, if possible\n // Returns a boolean indicating whether the RAM was successfully upgraded\n upgradeRam(levels = 1, prodMult: number): void {\n for (let i = 0; i < levels; ++i) {\n this.ram *= 2; // Ram is always doubled\n }\n this.ram = Math.round(this.ram); // Handle any floating point precision issues\n this.updateMoneyGainRate(prodMult);\n }\n\n // Re-calculate this Node's production and update the moneyGainRatePerSecond prop\n updateMoneyGainRate(prodMult: number): void {\n this.moneyGainRatePerSecond = calculateMoneyGainRate(this.level, this.ram, this.cores, prodMult);\n if (isNaN(this.moneyGainRatePerSecond)) {\n this.moneyGainRatePerSecond = 0;\n dialogBoxCreate(\"Error in calculating Hacknet Node production. Please report to game developer\");\n }\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"HacknetNode\", this);\n }\n\n /**\n * Initiatizes a HacknetNode object from a JSON save state.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): HacknetNode {\n return Generic_fromJSON(HacknetNode, value.data);\n }\n}\n\nReviver.constructors.HacknetNode = HacknetNode;\n","/**\n * Implements functions for purchasing servers or purchasing more RAM for\n * the home computer\n */\nimport { AddToAllServers, createUniqueRandomIp } from \"./AllServers\";\nimport { safetlyCreateUniqueServer } from \"./ServerHelpers\";\n\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../Constants\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { isPowerOfTwo } from \"../utils/helpers/isPowerOfTwo\";\n\n// Returns the cost of purchasing a server with the given RAM\n// Returns Infinity for invalid 'ram' arguments\n/**\n * @param ram Amount of RAM on purchased server (GB)\n * @returns Cost of purchasing the given server. Returns infinity for invalid arguments\n */\nexport function getPurchaseServerCost(ram: number): number {\n const sanitizedRam = Math.round(ram);\n if (isNaN(sanitizedRam) || !isPowerOfTwo(sanitizedRam) || !(Math.sign(sanitizedRam) === 1)) {\n return Infinity;\n }\n\n if (sanitizedRam > getPurchaseServerMaxRam()) {\n return Infinity;\n }\n\n const upg = Math.max(0, Math.log(sanitizedRam) / Math.log(2) - 6);\n\n return (\n sanitizedRam *\n CONSTANTS.BaseCostFor1GBOfRamServer *\n BitNodeMultipliers.PurchasedServerCost *\n Math.pow(BitNodeMultipliers.PurchasedServerSoftcap, upg)\n );\n}\n\nexport function getPurchaseServerLimit(): number {\n return Math.round(CONSTANTS.PurchasedServerLimit * BitNodeMultipliers.PurchasedServerLimit);\n}\n\nexport function getPurchaseServerMaxRam(): number {\n const ram = Math.round(CONSTANTS.PurchasedServerMaxRam * BitNodeMultipliers.PurchasedServerMaxRam);\n\n // Round this to the nearest power of 2\n return 1 << (31 - Math.clz32(ram));\n}\n\n// Manually purchase a server (NOT through Netscript)\nexport function purchaseServer(hostname: string, ram: number, cost: number, p: IPlayer): void {\n //Check if player has enough money\n if (!p.canAfford(cost)) {\n dialogBoxCreate(\"You don't have enough money to purchase this server!\");\n return;\n }\n\n //Maximum server limit\n if (p.purchasedServers.length >= getPurchaseServerLimit()) {\n dialogBoxCreate(\n \"You have reached the maximum limit of \" +\n getPurchaseServerLimit() +\n \" servers. \" +\n \"You cannot purchase any more. You can \" +\n \"delete some of your purchased servers using the deleteServer() Netscript function in a script\",\n );\n return;\n }\n\n if (hostname == \"\") {\n dialogBoxCreate(\"You must enter a hostname for your new server!\");\n return;\n }\n\n // Create server\n const newServ = safetlyCreateUniqueServer({\n adminRights: true,\n hostname: hostname,\n ip: createUniqueRandomIp(),\n isConnectedTo: false,\n maxRam: ram,\n organizationName: \"\",\n purchasedByPlayer: true,\n });\n AddToAllServers(newServ);\n\n // Add to Player's purchasedServers array\n p.purchasedServers.push(newServ.hostname);\n\n // Connect new server to home computer\n const homeComputer = p.getHomeComputer();\n homeComputer.serversOnNetwork.push(newServ.hostname);\n newServ.serversOnNetwork.push(homeComputer.hostname);\n\n p.loseMoney(cost, \"servers\");\n\n dialogBoxCreate(\"Server successfully purchased with hostname \" + newServ.hostname);\n}\n\n// Manually upgrade RAM on home computer (NOT through Netscript)\nexport function purchaseRamForHomeComputer(p: IPlayer): void {\n const cost = p.getUpgradeHomeRamCost();\n if (!p.canAfford(cost)) {\n dialogBoxCreate(\"You do not have enough money to purchase additional RAM for your home computer\");\n return;\n }\n\n const homeComputer = p.getHomeComputer();\n if (homeComputer.maxRam >= CONSTANTS.HomeComputerMaxRam) {\n dialogBoxCreate(`You cannot upgrade your home computer RAM because it is at its maximum possible value`);\n return;\n }\n\n homeComputer.maxRam *= 2;\n p.loseMoney(cost, \"servers\");\n}\n","import { dialogBoxCreate } from \"./ui/React/DialogBox\";\nimport { BaseServer } from \"./Server/BaseServer\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"./utils/JSONReviver\";\nimport { removeLeadingSlash, isInRootDirectory } from \"./Terminal/DirectoryHelpers\";\n\n/**\n * Represents a plain text file that is typically stored on a server.\n */\nexport class TextFile {\n /**\n * The full file name.\n */\n fn: string;\n\n /**\n * The content of the file.\n */\n text: string;\n\n /**\n * The full file name.\n */\n get filename(): string {\n return this.fn;\n }\n\n /**\n * The full file name.\n */\n set filename(value: string) {\n this.fn = value;\n }\n\n constructor(fn = \"\", txt = \"\") {\n this.fn = (fn.endsWith(\".txt\") ? fn : `${fn}.txt`).replace(/\\s+/g, \"\");\n this.text = txt;\n }\n\n /**\n * Concatenates the raw values to the end of current content.\n */\n append(txt: string): void {\n this.text += txt;\n }\n\n /**\n * Serves the file to the user as a downloadable resource through the browser.\n */\n download(): void {\n const filename: string = this.fn;\n const file: Blob = new Blob([this.text], { type: \"text/plain\" });\n /* tslint:disable-next-line:strict-boolean-expressions */\n const navigator = window.navigator as any;\n if (navigator.msSaveOrOpenBlob) {\n // IE10+\n navigator.msSaveOrOpenBlob(file, filename);\n } else {\n // Others\n const a: HTMLAnchorElement = document.createElement(\"a\");\n const url: string = URL.createObjectURL(file);\n a.href = url;\n a.download = this.fn;\n document.body.appendChild(a);\n a.click();\n setTimeout(() => {\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }, 0);\n }\n }\n\n /**\n * Retrieve the content of the file.\n */\n read(): string {\n return this.text;\n }\n\n /**\n * Shows the content to the user via the game's dialog box.\n */\n show(): void {\n dialogBoxCreate(`${this.fn}
${this.text}`);\n }\n\n /**\n * Serialize the current file to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"TextFile\", this);\n }\n\n /**\n * Replaces the current content with the text provided.\n */\n write(txt: string): void {\n this.text = txt;\n }\n\n /**\n * Initiatizes a TextFile from a JSON save state.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): TextFile {\n return Generic_fromJSON(TextFile, value.data);\n }\n}\n\nReviver.constructors.TextFile = TextFile;\n\n/**\n * Retrieve the file object for the filename on the specified server.\n * @param fn The file name to look for\n * @param server The server object to look in\n * @returns The file object, or null if it couldn't find it.\n */\nexport function getTextFile(fn: string, server: BaseServer): TextFile | null {\n let filename: string = !fn.endsWith(\".txt\") ? `${fn}.txt` : fn;\n\n if (isInRootDirectory(filename)) {\n filename = removeLeadingSlash(filename);\n }\n\n for (const file of server.textFiles as TextFile[]) {\n if (file.fn === filename) {\n return file;\n }\n }\n\n return null;\n}\n\n/**\n * Creates a TextFile on the target server.\n * @param fn The file name to create.\n * @param txt The contents of the file.\n * @param server The server that the file should be created on.\n * @returns The instance of the file.\n */\nexport function createTextFile(fn: string, txt: string, server: BaseServer): TextFile | undefined {\n if (getTextFile(fn, server) !== null) {\n // This should probably be a `throw`...\n /* tslint:disable-next-line:no-console */\n console.error(`A file named \"${fn}\" already exists on server ${server.hostname}.`);\n\n return undefined;\n }\n const file: TextFile = new TextFile(fn, txt);\n server.textFiles.push(file);\n\n return file;\n}\n","import { Skill } from \"./Skill\";\nimport { SkillNames } from \"./data/SkillNames\";\nimport { IMap } from \"../types\";\n\nexport const Skills: IMap = {};\n\n(function () {\n Skills[SkillNames.BladesIntuition] = new Skill({\n name: SkillNames.BladesIntuition,\n desc: \"Each level of this skill increases your success chance for all Contracts, Operations, and BlackOps by 3%\",\n baseCost: 3,\n costInc: 2.1,\n successChanceAll: 3,\n });\n Skills[SkillNames.Cloak] = new Skill({\n name: SkillNames.Cloak,\n desc:\n \"Each level of this skill increases your \" +\n \"success chance in stealth-related Contracts, Operations, and BlackOps by 5.5%\",\n baseCost: 2,\n costInc: 1.1,\n successChanceStealth: 5.5,\n });\n Skills[SkillNames.ShortCircuit] = new Skill({\n name: SkillNames.ShortCircuit,\n desc:\n \"Each level of this skill increases your success chance \" +\n \"in Contracts, Operations, and BlackOps that involve retirement by 5.5%\",\n baseCost: 2,\n costInc: 2.1,\n successChanceKill: 5.5,\n });\n Skills[SkillNames.DigitalObserver] = new Skill({\n name: SkillNames.DigitalObserver,\n desc: \"Each level of this skill increases your success chance in all Operations and BlackOps by 4%\",\n baseCost: 2,\n costInc: 2.1,\n successChanceOperation: 4,\n });\n Skills[SkillNames.Tracer] = new Skill({\n name: SkillNames.Tracer,\n desc: \"Each level of this skill increases your success chance in all Contracts by 4%\",\n baseCost: 2,\n costInc: 2.1,\n successChanceContract: 4,\n });\n Skills[SkillNames.Overclock] = new Skill({\n name: SkillNames.Overclock,\n desc:\n \"Each level of this skill decreases the time it takes \" +\n \"to attempt a Contract, Operation, and BlackOp by 1% (Max Level: 90)\",\n baseCost: 3,\n costInc: 1.4,\n maxLvl: 90,\n actionTime: 1,\n });\n Skills[SkillNames.Reaper] = new Skill({\n name: SkillNames.Reaper,\n desc: \"Each level of this skill increases your effective combat stats for Bladeburner actions by 2%\",\n baseCost: 2,\n costInc: 2.1,\n effStr: 2,\n effDef: 2,\n effDex: 2,\n effAgi: 2,\n });\n Skills[SkillNames.EvasiveSystem] = new Skill({\n name: SkillNames.EvasiveSystem,\n desc: \"Each level of this skill increases your effective dexterity and agility for Bladeburner actions by 4%\",\n baseCost: 2,\n costInc: 2.1,\n effDex: 4,\n effAgi: 4,\n });\n Skills[SkillNames.Datamancer] = new Skill({\n name: SkillNames.Datamancer,\n desc:\n \"Each level of this skill increases your effectiveness in \" +\n \"synthoid population analysis and investigation by 5%. \" +\n \"This affects all actions that can potentially increase \" +\n \"the accuracy of your synthoid population/community estimates.\",\n baseCost: 3,\n costInc: 1,\n successChanceEstimate: 5,\n });\n Skills[SkillNames.CybersEdge] = new Skill({\n name: SkillNames.CybersEdge,\n desc: \"Each level of this skill increases your max stamina by 2%\",\n baseCost: 1,\n costInc: 3,\n stamina: 2,\n });\n Skills[SkillNames.HandsOfMidas] = new Skill({\n name: SkillNames.HandsOfMidas,\n desc: \"Each level of this skill increases the amount of money you receive from Contracts by 10%\",\n baseCost: 2,\n costInc: 2.5,\n money: 10,\n });\n Skills[SkillNames.Hyperdrive] = new Skill({\n name: SkillNames.Hyperdrive,\n desc: \"Each level of this skill increases the experience earned from Contracts, Operations, and BlackOps by 10%\",\n baseCost: 1,\n costInc: 2.5,\n expGain: 10,\n });\n})();\n","/**\n * Stock Market Helper Functions\n */\nimport { Stock } from \"./Stock\";\nimport { PositionTypes } from \"./data/PositionTypes\";\nimport { CONSTANTS } from \"../Constants\";\n\n// Amount by which a stock's forecast changes during each price movement\nexport const forecastChangePerPriceMovement = 0.006;\n\n/**\n * Calculate the total cost of a \"buy\" transaction. This accounts for spread and commission.\n * @param {Stock} stock - Stock being purchased\n * @param {number} shares - Number of shares being transacted\n * @param {PositionTypes} posType - Long or short position\n * @returns {number | null} Total transaction cost. Returns null for an invalid transaction\n */\nexport function getBuyTransactionCost(stock: Stock, shares: number, posType: PositionTypes): number | null {\n if (isNaN(shares) || shares <= 0 || !(stock instanceof Stock)) {\n return null;\n }\n\n // Cap the 'shares' arg at the stock's maximum shares. This'll prevent\n // hanging in the case when a really big number is passed in\n shares = Math.min(shares, stock.maxShares);\n\n const isLong = posType === PositionTypes.Long;\n\n // If the number of shares doesn't trigger a price movement, its a simple calculation\n if (isLong) {\n return shares * stock.getAskPrice() + CONSTANTS.StockMarketCommission;\n } else {\n return shares * stock.getBidPrice() + CONSTANTS.StockMarketCommission;\n }\n}\n\n/**\n * Calculate the TOTAL amount of money gained from a sale (NOT net profit). This accounts\n * for spread and commission.\n * @param {Stock} stock - Stock being sold\n * @param {number} shares - Number of sharse being transacted\n * @param {PositionTypes} posType - Long or short position\n * @returns {number | null} Amount of money gained from transaction. Returns null for an invalid transaction\n */\nexport function getSellTransactionGain(stock: Stock, shares: number, posType: PositionTypes): number | null {\n if (isNaN(shares) || shares <= 0 || !(stock instanceof Stock)) {\n return null;\n }\n\n // Cap the 'shares' arg at the stock's maximum shares. This'll prevent\n // hanging in the case when a really big number is passed in\n shares = Math.min(shares, stock.maxShares);\n\n const isLong = posType === PositionTypes.Long;\n if (isLong) {\n return shares * stock.getBidPrice() - CONSTANTS.StockMarketCommission;\n } else {\n // Calculating gains for a short position requires calculating the profit made\n const origCost = shares * stock.playerAvgShortPx;\n const profit = (stock.playerAvgShortPx - stock.getAskPrice()) * shares - CONSTANTS.StockMarketCommission;\n\n return origCost + profit;\n }\n}\n\n/**\n * Processes a stock's change in forecast & second-order forecast\n * whenever it is transacted\n * @param {Stock} stock - Stock being sold\n * @param {number} shares - Number of sharse being transacted\n * @param {PositionTypes} posType - Long or short position\n */\nexport function processTransactionForecastMovement(stock: Stock, shares: number): void {\n if (isNaN(shares) || shares <= 0 || !(stock instanceof Stock)) {\n return;\n }\n\n // Cap the 'shares' arg at the stock's maximum shares. This'll prevent\n // hanging in the case when a really big number is passed in\n shares = Math.min(shares, stock.maxShares);\n\n // If there's only going to be one iteration at most\n const firstShares = stock.shareTxUntilMovement;\n if (shares <= firstShares) {\n stock.shareTxUntilMovement -= shares;\n if (stock.shareTxUntilMovement <= 0) {\n stock.shareTxUntilMovement = stock.shareTxForMovement;\n stock.influenceForecast(forecastChangePerPriceMovement);\n stock.influenceForecastForecast(forecastChangePerPriceMovement * (stock.mv / 100));\n }\n\n return;\n }\n\n // Calculate how many iterations of price changes we need to account for\n const remainingShares = shares - firstShares;\n let numIterations = 1 + Math.ceil(remainingShares / stock.shareTxForMovement);\n\n // If on the offchance we end up perfectly at the next price movement\n stock.shareTxUntilMovement =\n stock.shareTxForMovement - ((shares - stock.shareTxUntilMovement) % stock.shareTxForMovement);\n if (stock.shareTxUntilMovement === stock.shareTxForMovement || stock.shareTxUntilMovement <= 0) {\n ++numIterations;\n stock.shareTxUntilMovement = stock.shareTxForMovement;\n }\n\n // Forecast always decreases in magnitude\n const forecastChange = forecastChangePerPriceMovement * (numIterations - 1);\n const forecastForecastChange = forecastChange * (stock.mv / 100);\n stock.influenceForecast(forecastChange);\n stock.influenceForecastForecast(forecastForecastChange);\n}\n\n/**\n * Calculate the maximum number of shares of a stock that can be purchased.\n * Handles mid-transaction price movements, both L and S positions, etc.\n * Used for the \"Buy Max\" button in the UI\n * @param {Stock} stock - Stock being purchased\n * @param {PositionTypes} posType - Long or short position\n * @param {number} money - Amount of money player has\n * @returns maximum number of shares that the player can purchase\n */\nexport function calculateBuyMaxAmount(stock: Stock, posType: PositionTypes, money: number): number {\n if (!(stock instanceof Stock)) {\n return 0;\n }\n\n const isLong = posType === PositionTypes.Long;\n\n const remainingMoney = money - CONSTANTS.StockMarketCommission;\n const currPrice = isLong ? stock.getAskPrice() : stock.getBidPrice();\n\n return Math.floor(remainingMoney / currPrice);\n}\n","import { gangMemberUpgradesMetadata } from \"./data/upgrades\";\nimport { GangMemberUpgrade } from \"./GangMemberUpgrade\";\n\nexport const GangMemberUpgrades: {\n [key: string]: GangMemberUpgrade;\n} = {};\n\n(function () {\n gangMemberUpgradesMetadata.forEach((e) => {\n GangMemberUpgrades[e.name] = new GangMemberUpgrade(e.name, e.cost, e.upgType, e.mults);\n });\n})();\n","import { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CONSTANTS } from \"../Constants\";\n\nexport function getStockMarket4SDataCost(): number {\n return CONSTANTS.MarketData4SCost * BitNodeMultipliers.FourSigmaMarketDataCost;\n}\n\nexport function getStockMarket4STixApiCost(): number {\n return CONSTANTS.MarketDataTixApi4SCost * BitNodeMultipliers.FourSigmaMarketDataApiCost;\n}\n\nexport function getStockMarketWseCost(): number {\n return CONSTANTS.WSEAccountCost;\n}\n\nexport function getStockMarketTixApiCost(): number {\n return CONSTANTS.TIXAPICost;\n}\n","import { CONSTANTS } from \"../Constants\";\nimport { Player } from \"../Player\";\nimport { BaseServer } from \"../Server/BaseServer\";\nimport { Server } from \"../Server/Server\";\nimport { RunningScript } from \"./RunningScript\";\nimport { processSingleServerGrowth } from \"../Server/ServerHelpers\";\nimport { GetServer } from \"../Server/AllServers\";\n\nimport { numeralWrapper } from \"../ui/numeralFormat\";\n\nimport { compareArrays } from \"../utils/helpers/compareArrays\";\n\nexport function scriptCalculateOfflineProduction(runningScript: RunningScript): void {\n //The Player object stores the last update time from when we were online\n const thisUpdate = new Date().getTime();\n const lastUpdate = Player.lastUpdate;\n const timePassed = (thisUpdate - lastUpdate) / 1000; //Seconds\n\n //Calculate the \"confidence\" rating of the script's true production. This is based\n //entirely off of time. We will arbitrarily say that if a script has been running for\n //4 hours (14400 sec) then we are completely confident in its ability\n let confidence = runningScript.onlineRunningTime / 14400;\n if (confidence >= 1) {\n confidence = 1;\n }\n\n //Data map: [MoneyStolen, NumTimesHacked, NumTimesGrown, NumTimesWeaken]\n\n // Grow\n for (const hostname of Object.keys(runningScript.dataMap)) {\n if (runningScript.dataMap.hasOwnProperty(hostname)) {\n if (runningScript.dataMap[hostname][2] == 0 || runningScript.dataMap[hostname][2] == null) {\n continue;\n }\n const serv = GetServer(hostname);\n if (serv == null) {\n continue;\n }\n const timesGrown = Math.round(\n ((0.5 * runningScript.dataMap[hostname][2]) / runningScript.onlineRunningTime) * timePassed,\n );\n runningScript.log(`Called on ${serv.hostname} ${timesGrown} times while offline`);\n const host = GetServer(runningScript.server);\n if (host === null) throw new Error(\"getServer of null key?\");\n if (!(serv instanceof Server)) throw new Error(\"trying to grow a non-normal server\");\n const growth = processSingleServerGrowth(serv, timesGrown, Player, host.cpuCores);\n runningScript.log(\n `'${serv.hostname}' grown by ${numeralWrapper.format(growth * 100 - 100, \"0.000000%\")} while offline`,\n );\n }\n }\n\n // Offline EXP gain\n // A script's offline production will always be at most half of its online production.\n const expGain = confidence * (runningScript.onlineExpGained / runningScript.onlineRunningTime) * timePassed;\n Player.gainHackingExp(expGain);\n\n // Update script stats\n runningScript.offlineRunningTime += timePassed;\n runningScript.offlineExpGained += expGain;\n\n // Weaken\n for (const hostname of Object.keys(runningScript.dataMap)) {\n if (runningScript.dataMap.hasOwnProperty(hostname)) {\n if (runningScript.dataMap[hostname][3] == 0 || runningScript.dataMap[hostname][3] == null) {\n continue;\n }\n const serv = GetServer(hostname);\n if (serv == null) {\n continue;\n }\n\n if (!(serv instanceof Server)) throw new Error(\"trying to weaken a non-normal server\");\n const host = GetServer(runningScript.server);\n if (host === null) throw new Error(\"getServer of null key?\");\n const timesWeakened = Math.round(\n ((0.5 * runningScript.dataMap[hostname][3]) / runningScript.onlineRunningTime) * timePassed,\n );\n runningScript.log(`Called weaken() on ${serv.hostname} ${timesWeakened} times while offline`);\n const coreBonus = 1 + (host.cpuCores - 1) / 16;\n serv.weaken(CONSTANTS.ServerWeakenAmount * timesWeakened * coreBonus);\n }\n }\n}\n\n//Returns a RunningScript object matching the filename and arguments on the\n//designated server, and false otherwise\nexport function findRunningScript(\n filename: string,\n args: (string | number | boolean)[],\n server: BaseServer,\n): RunningScript | null {\n for (let i = 0; i < server.runningScripts.length; ++i) {\n if (server.runningScripts[i].filename === filename && compareArrays(server.runningScripts[i].args, args)) {\n return server.runningScripts[i];\n }\n }\n return null;\n}\n\n//Returns a RunningScript object matching the pid on the\n//designated server, and false otherwise\nexport function findRunningScriptByPid(pid: number, server: BaseServer): RunningScript | null {\n for (let i = 0; i < server.runningScripts.length; ++i) {\n if (server.runningScripts[i].pid === pid) {\n return server.runningScripts[i];\n }\n }\n return null;\n}\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n money: {\n color: theme.colors.money,\n },\n }),\n);\n\nexport function Hashes({ hashes }: { hashes: number | string }): React.ReactElement {\n const classes = useStyles();\n return (\n {typeof hashes === \"number\" ? numeralWrapper.formatHashes(hashes) : hashes}\n );\n}\n","import { CompanyPosition } from \"./CompanyPosition\";\nimport * as posNames from \"./data/companypositionnames\";\nimport { favorToRep, repToFavor } from \"../Faction/formulas/favor\";\n\nimport { IMap } from \"../types\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\nexport interface IConstructorParams {\n name: string;\n info: string;\n companyPositions: IMap;\n expMultiplier: number;\n salaryMultiplier: number;\n jobStatReqOffset: number;\n isMegacorp?: boolean;\n}\n\nconst DefaultConstructorParams: IConstructorParams = {\n name: \"\",\n info: \"\",\n companyPositions: {},\n expMultiplier: 1,\n salaryMultiplier: 1,\n jobStatReqOffset: 0,\n};\n\nexport class Company {\n /**\n * Company name\n */\n name: string;\n\n /**\n * Description and general information about company\n */\n info: string;\n\n /**\n * Has faction associated.\n */\n isMegacorp: boolean;\n\n /**\n * Object that holds all available positions in this Company.\n * Position names are held in keys.\n * The values for the keys don't matter, but we'll make them booleans\n *\n * Must match names of Company Positions, defined in data/companypositionnames.ts\n */\n companyPositions: IMap;\n\n /**\n * Company-specific multiplier for earnings\n */\n expMultiplier: number;\n salaryMultiplier: number;\n\n /**\n * The additional levels of stats you need to quality for a job\n * in this company.\n *\n * For example, the base stat requirement for an intern position is 1.\n * But if a company has a offset of 200, then you would need stat(s) of 201\n */\n jobStatReqOffset: number;\n\n /**\n * Properties to track the player's progress in this company\n */\n isPlayerEmployed: boolean;\n playerReputation: number;\n favor: number;\n\n constructor(p: IConstructorParams = DefaultConstructorParams) {\n this.name = p.name;\n this.info = p.info;\n this.companyPositions = p.companyPositions;\n this.expMultiplier = p.expMultiplier;\n this.salaryMultiplier = p.salaryMultiplier;\n this.jobStatReqOffset = p.jobStatReqOffset;\n\n this.isPlayerEmployed = false;\n this.playerReputation = 1;\n this.favor = 0;\n this.isMegacorp = false;\n if (p.isMegacorp) this.isMegacorp = true;\n }\n\n hasPosition(pos: CompanyPosition | string): boolean {\n if (pos instanceof CompanyPosition) {\n return this.companyPositions[pos.name] != null;\n } else {\n return this.companyPositions[pos] != null;\n }\n }\n\n hasAgentPositions(): boolean {\n return this.companyPositions[posNames.AgentCompanyPositions[0]] != null;\n }\n\n hasBusinessConsultantPositions(): boolean {\n return this.companyPositions[posNames.BusinessConsultantCompanyPositions[0]] != null;\n }\n\n hasBusinessPositions(): boolean {\n return this.companyPositions[posNames.BusinessCompanyPositions[0]] != null;\n }\n\n hasEmployeePositions(): boolean {\n return this.companyPositions[posNames.MiscCompanyPositions[1]] != null;\n }\n\n hasITPositions(): boolean {\n return this.companyPositions[posNames.ITCompanyPositions[0]] != null;\n }\n\n hasSecurityPositions(): boolean {\n return this.companyPositions[posNames.SecurityCompanyPositions[2]] != null;\n }\n\n hasSoftwareConsultantPositions(): boolean {\n return this.companyPositions[posNames.SoftwareConsultantCompanyPositions[0]] != null;\n }\n\n hasSoftwarePositions(): boolean {\n return this.companyPositions[posNames.SoftwareCompanyPositions[0]] != null;\n }\n\n hasWaiterPositions(): boolean {\n return this.companyPositions[posNames.MiscCompanyPositions[0]] != null;\n }\n\n gainFavor(): void {\n if (this.favor == null) {\n this.favor = 0;\n }\n this.favor += this.getFavorGain();\n }\n\n getFavorGain(): number {\n if (this.favor == null) {\n this.favor = 0;\n }\n const storedRep = Math.max(0, favorToRep(this.favor));\n const totalRep = storedRep + this.playerReputation;\n const newFavor = repToFavor(totalRep);\n return newFavor - this.favor;\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"Company\", this);\n }\n\n /**\n * Initiatizes a Company from a JSON save state.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Company {\n return Generic_fromJSON(Company, value.data);\n }\n}\n\nReviver.constructors.Company = Company;\n","/**\n * Map of all Hash Upgrades\n * Key = Hash name, Value = HashUpgrade object\n */\nimport { HashUpgrade, IConstructorParams } from \"./HashUpgrade\";\nimport { HashUpgradesMetadata } from \"./data/HashUpgradesMetadata\";\nimport { IMap } from \"../types\";\n\nexport const HashUpgrades: IMap = {};\n\nfunction createHashUpgrade(p: IConstructorParams): void {\n HashUpgrades[p.name] = new HashUpgrade(p);\n}\n\nfor (const metadata of HashUpgradesMetadata) {\n createHashUpgrade(metadata);\n}\n","import { gangMemberTasksMetadata } from \"./data/tasks\";\nimport { GangMemberTask } from \"./GangMemberTask\";\n\nexport const GangMemberTasks: {\n [key: string]: GangMemberTask;\n} = {};\n\n(function () {\n gangMemberTasksMetadata.forEach((e) => {\n GangMemberTasks[e.name] = new GangMemberTask(e.name, e.desc, e.isHacking, e.isCombat, e.params);\n });\n})();\n","import { Material } from \"./Material\";\nimport { ICorporation } from \"./ICorporation\";\nimport { IIndustry } from \"./IIndustry\";\nimport { MaterialSizes } from \"./MaterialSizes\";\nimport { IMap } from \"../types\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\nimport { exceptionAlert } from \"../utils/helpers/exceptionAlert\";\n\ninterface IConstructorParams {\n corp?: ICorporation;\n industry?: IIndustry;\n loc?: string;\n size?: number;\n}\n\nexport class Warehouse {\n // Warehouse's level, which affects its maximum size\n level = 1;\n\n // City that this Warehouse is in\n loc: string;\n\n // Map of Materials held by this Warehouse\n materials: IMap;\n\n // Maximum amount warehouse can hold\n size: number;\n\n // Amount of space currently used by warehouse\n sizeUsed = 0;\n\n // Whether Smart Supply is enabled for this Industry (the Industry that this Warehouse is for)\n smartSupplyEnabled = false;\n\n // Decide if smart supply should use the materials already in the warehouse when deciding on the amount to buy.\n smartSupplyUseLeftovers: { [key: string]: boolean | undefined } = {};\n\n // Stores the amount of product to be produced. Used for Smart Supply unlock.\n // The production tracked by smart supply is always based on the previous cycle,\n // so it will always trail the \"true\" production by 1 cycle\n smartSupplyStore = 0;\n\n constructor(params: IConstructorParams = {}) {\n this.loc = params.loc ? params.loc : \"\";\n this.size = params.size ? params.size : 0;\n\n this.materials = {\n Water: new Material({ name: \"Water\" }),\n Energy: new Material({ name: \"Energy\" }),\n Food: new Material({ name: \"Food\" }),\n Plants: new Material({ name: \"Plants\" }),\n Metal: new Material({ name: \"Metal\" }),\n Hardware: new Material({ name: \"Hardware\" }),\n Chemicals: new Material({ name: \"Chemicals\" }),\n Drugs: new Material({ name: \"Drugs\" }),\n Robots: new Material({ name: \"Robots\" }),\n AICores: new Material({ name: \"AI Cores\" }),\n RealEstate: new Material({ name: \"Real Estate\" }),\n };\n\n this.smartSupplyUseLeftovers = {\n Water: true,\n Energy: true,\n Food: true,\n Plants: true,\n Metal: true,\n Hardware: true,\n Chemicals: true,\n Drugs: true,\n Robots: true,\n AICores: true,\n RealEstate: true,\n };\n\n if (params.corp && params.industry) {\n this.updateSize(params.corp, params.industry);\n }\n\n // Default smart supply to being enabled if the upgrade is unlocked\n if (params.corp?.unlockUpgrades[1]) {\n this.smartSupplyEnabled = true;\n }\n }\n\n // Re-calculate how much space is being used by this Warehouse\n updateMaterialSizeUsed(): void {\n this.sizeUsed = 0;\n for (const matName of Object.keys(this.materials)) {\n const mat = this.materials[matName];\n if (MaterialSizes.hasOwnProperty(matName)) {\n this.sizeUsed += mat.qty * MaterialSizes[matName];\n }\n }\n if (this.sizeUsed > this.size) {\n console.warn(\"Warehouse size used greater than capacity, something went wrong\");\n }\n }\n\n updateSize(corporation: ICorporation, industry: IIndustry): void {\n try {\n this.size = this.level * 100 * corporation.getStorageMultiplier() * industry.getStorageMultiplier();\n } catch (e: any) {\n exceptionAlert(e);\n }\n }\n\n // Serialize the current object to a JSON save state.\n toJSON(): any {\n return Generic_toJSON(\"Warehouse\", this);\n }\n\n // Initiatizes a Warehouse object from a JSON save state.\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Warehouse {\n return Generic_fromJSON(Warehouse, value.data);\n }\n}\n\nReviver.constructors.Warehouse = Warehouse;\n","import { IPlayer } from \"../IPlayer\";\nimport { Faction } from \"../../Faction/Faction\";\nimport { CONSTANTS } from \"../../Constants\";\nimport { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\nimport { CalculateShareMult } from \"../../NetworkShare/Share\";\n\nfunction mult(f: Faction): number {\n let favorMult = 1 + f.favor / 100;\n if (isNaN(favorMult)) {\n favorMult = 1;\n }\n return favorMult * BitNodeMultipliers.FactionWorkRepGain;\n}\n\nexport function getHackingWorkRepGain(p: IPlayer, f: Faction): number {\n return (\n ((p.hacking + p.intelligence / 3) / CONSTANTS.MaxSkillLevel) *\n p.faction_rep_mult *\n p.getIntelligenceBonus(1) *\n mult(f) *\n CalculateShareMult()\n );\n}\n\nexport function getFactionSecurityWorkRepGain(p: IPlayer, f: Faction): number {\n const t =\n (0.9 * (p.strength + p.defense + p.dexterity + p.agility + (p.hacking + p.intelligence) * CalculateShareMult())) /\n CONSTANTS.MaxSkillLevel /\n 4.5;\n return t * p.faction_rep_mult * mult(f) * p.getIntelligenceBonus(1);\n}\n\nexport function getFactionFieldWorkRepGain(p: IPlayer, f: Faction): number {\n const t =\n (0.9 *\n (p.strength +\n p.defense +\n p.dexterity +\n p.agility +\n p.charisma +\n (p.hacking + p.intelligence) * CalculateShareMult())) /\n CONSTANTS.MaxSkillLevel /\n 5.5;\n return t * p.faction_rep_mult * mult(f) * p.getIntelligenceBonus(1);\n}\n","/**\n * Functions for buying/selling stocks. There are four functions total, two for\n * long positions and two for short positions.\n */\nimport { Stock } from \"./Stock\";\nimport {\n getBuyTransactionCost,\n getSellTransactionGain,\n processTransactionForecastMovement,\n} from \"./StockMarketHelpers\";\n\nimport { PositionTypes } from \"./data/PositionTypes\";\n\nimport { CONSTANTS } from \"../Constants\";\nimport { WorkerScript } from \"../Netscript/WorkerScript\";\nimport { Player } from \"../Player\";\n\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { Money } from \"../ui/React/Money\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\n\nimport * as React from \"react\";\n\n/**\n * Each function takes an optional config object as its last argument\n */\ninterface IOptions {\n rerenderFn?: () => void;\n suppressDialog?: boolean;\n}\n\n/**\n * Attempt to buy a stock in the long position\n * @param {Stock} stock - Stock to buy\n * @param {number} shares - Number of shares to buy\n * @param {WorkerScript} workerScript - If this is being called through Netscript\n * @param opts - Optional configuration for this function's behavior. See top of file\n * @returns {boolean} - true if successful, false otherwise\n */\nexport function buyStock(\n stock: Stock,\n shares: number,\n workerScript: WorkerScript | null = null,\n opts: IOptions = {},\n): boolean {\n // Validate arguments\n shares = Math.round(shares);\n if (shares <= 0) {\n return false;\n }\n if (stock == null || isNaN(shares)) {\n if (workerScript) {\n workerScript.log(\"stock.buy\", () => `Invalid arguments: stock='${stock}' shares='${shares}'`);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\"Failed to buy stock. This may be a bug, contact developer\");\n }\n\n return false;\n }\n\n // Does player have enough money?\n const totalPrice = getBuyTransactionCost(stock, shares, PositionTypes.Long);\n if (totalPrice == null) {\n return false;\n }\n if (Player.money < totalPrice) {\n if (workerScript) {\n workerScript.log(\n \"stock.buy\",\n () =>\n `You do not have enough money to purchase this position. You need ${numeralWrapper.formatMoney(totalPrice)}.`,\n );\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n <>\n You do not have enough money to purchase this. You need \n >,\n );\n }\n\n return false;\n }\n\n // Would this purchase exceed the maximum number of shares?\n if (shares + stock.playerShares + stock.playerShortShares > stock.maxShares) {\n if (workerScript) {\n workerScript.log(\n \"stock.buy\",\n () =>\n `Purchasing '${shares + stock.playerShares + stock.playerShortShares}' shares would exceed ${\n stock.symbol\n }'s maximum (${stock.maxShares}) number of shares`,\n );\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n `You cannot purchase this many shares. ${stock.symbol} has a maximum of ${numeralWrapper.formatShares(\n stock.maxShares,\n )} shares.`,\n );\n }\n\n return false;\n }\n\n const origTotal = stock.playerShares * stock.playerAvgPx;\n Player.loseMoney(totalPrice, \"stock\");\n const newTotal = origTotal + totalPrice - CONSTANTS.StockMarketCommission;\n stock.playerShares = Math.round(stock.playerShares + shares);\n stock.playerAvgPx = newTotal / stock.playerShares;\n processTransactionForecastMovement(stock, shares);\n if (opts.rerenderFn != null && typeof opts.rerenderFn === \"function\") {\n opts.rerenderFn();\n }\n\n if (workerScript) {\n const resultTxt = `Bought ${numeralWrapper.formatShares(shares)} shares of ${\n stock.symbol\n } for ${numeralWrapper.formatMoney(totalPrice)}. Paid ${numeralWrapper.formatMoney(\n CONSTANTS.StockMarketCommission,\n )} in commission fees.`;\n workerScript.log(\"stock.buy\", () => resultTxt);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n <>\n Bought {numeralWrapper.formatShares(shares)} shares of {stock.symbol} for . Paid{\" \"}\n in commission fees.\n >,\n );\n }\n\n return true;\n}\n\n/**\n * Attempt to sell a stock in the long position\n * @param {Stock} stock - Stock to sell\n * @param {number} shares - Number of shares to sell\n * @param {WorkerScript} workerScript - If this is being called through Netscript\n * @param opts - Optional configuration for this function's behavior. See top of file\n * returns {boolean} - true if successfully sells given number of shares OR MAX owned, false otherwise\n */\nexport function sellStock(\n stock: Stock,\n shares: number,\n workerScript: WorkerScript | null = null,\n opts: IOptions = {},\n): boolean {\n // Sanitize/Validate arguments\n if (stock == null || shares < 0 || isNaN(shares)) {\n if (workerScript) {\n workerScript.log(\"stock.sell\", () => `Invalid arguments: stock='${stock}' shares='${shares}'`);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n \"Failed to sell stock. This is probably due to an invalid quantity. Otherwise, this may be a bug, contact developer\",\n );\n }\n\n return false;\n }\n shares = Math.round(shares);\n if (shares > stock.playerShares) {\n shares = stock.playerShares;\n }\n if (shares === 0) {\n return false;\n }\n\n const gains = getSellTransactionGain(stock, shares, PositionTypes.Long);\n if (gains == null) {\n return false;\n }\n let netProfit = gains - stock.playerAvgPx * shares;\n if (isNaN(netProfit)) {\n netProfit = 0;\n }\n Player.gainMoney(gains, \"stock\");\n if (workerScript) {\n workerScript.scriptRef.onlineMoneyMade += netProfit;\n Player.scriptProdSinceLastAug += netProfit;\n }\n\n stock.playerShares = Math.round(stock.playerShares - shares);\n if (stock.playerShares === 0) {\n stock.playerAvgPx = 0;\n }\n\n processTransactionForecastMovement(stock, shares);\n\n if (opts.rerenderFn != null && typeof opts.rerenderFn === \"function\") {\n opts.rerenderFn();\n }\n\n if (workerScript) {\n const resultTxt =\n `Sold ${numeralWrapper.formatShares(shares)} shares of ${stock.symbol}. ` +\n `After commissions, you gained a total of ${numeralWrapper.formatMoney(gains)}.`;\n workerScript.log(\"stock.sell\", () => resultTxt);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n <>\n Sold {numeralWrapper.formatShares(shares)} shares of {stock.symbol}. After commissions, you gained a total of{\" \"}\n .\n >,\n );\n }\n\n return true;\n}\n\n/**\n * Attempt to buy a stock in the short position\n * @param {Stock} stock - Stock to sell\n * @param {number} shares - Number of shares to short\n * @param {WorkerScript} workerScript - If this is being called through Netscript\n * @param opts - Optional configuration for this function's behavior. See top of file\n * @returns {boolean} - true if successful, false otherwise\n */\nexport function shortStock(\n stock: Stock,\n shares: number,\n workerScript: WorkerScript | null = null,\n opts: IOptions = {},\n): boolean {\n // Validate arguments\n shares = Math.round(shares);\n if (shares <= 0) {\n return false;\n }\n if (stock == null || isNaN(shares)) {\n if (workerScript) {\n workerScript.log(\"stock.short\", () => `Invalid arguments: stock='${stock}' shares='${shares}'`);\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n \"Failed to initiate a short position in a stock. This is probably \" +\n \"due to an invalid quantity. Otherwise, this may be a bug, so contact developer\",\n );\n }\n return false;\n }\n\n // Does the player have enough money?\n const totalPrice = getBuyTransactionCost(stock, shares, PositionTypes.Short);\n if (totalPrice == null) {\n return false;\n }\n if (Player.money < totalPrice) {\n if (workerScript) {\n workerScript.log(\n \"stock.short\",\n () =>\n \"You do not have enough \" +\n \"money to purchase this short position. You need \" +\n numeralWrapper.formatMoney(totalPrice),\n );\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n <>\n You do not have enough money to purchase this short position. You need \n >,\n );\n }\n\n return false;\n }\n\n // Would this purchase exceed the maximum number of shares?\n if (shares + stock.playerShares + stock.playerShortShares > stock.maxShares) {\n if (workerScript) {\n workerScript.log(\n \"stock.short\",\n () =>\n `This '${shares + stock.playerShares + stock.playerShortShares}' short shares would exceed ${\n stock.symbol\n }'s maximum (${stock.maxShares}) number of shares.`,\n );\n } else if (opts.suppressDialog !== true) {\n dialogBoxCreate(\n `You cannot purchase this many shares. ${stock.symbol} has a maximum of ${stock.maxShares} shares.`,\n );\n }\n\n return false;\n }\n\n const origTotal = stock.playerShortShares * stock.playerAvgShortPx;\n Player.loseMoney(totalPrice, \"stock\");\n const newTotal = origTotal + totalPrice - CONSTANTS.StockMarketCommission;\n stock.playerShortShares = Math.round(stock.playerShortShares + shares);\n stock.playerAvgShortPx = newTotal / stock.playerShortShares;\n processTransactionForecastMovement(stock, shares);\n\n if (opts.rerenderFn != null && typeof opts.rerenderFn === \"function\") {\n opts.rerenderFn();\n }\n\n if (workerScript) {\n const resultTxt =\n `Bought a short position of ${numeralWrapper.formatShares(shares)} shares of ${stock.symbol} ` +\n `for ${numeralWrapper.formatMoney(totalPrice)}. Paid ${numeralWrapper.formatMoney(\n CONSTANTS.StockMarketCommission,\n )} ` +\n `in commission fees.`;\n workerScript.log(\"stock.short\", () => resultTxt);\n } else if (!opts.suppressDialog) {\n dialogBoxCreate(\n <>\n Bought a short position of {numeralWrapper.formatShares(shares)} shares of {stock.symbol} for{\" \"}\n . Paid in commission fees.\n >,\n );\n }\n\n return true;\n}\n\n/**\n * Attempt to sell a stock in the short position\n * @param {Stock} stock - Stock to sell\n * @param {number} shares - Number of shares to sell\n * @param {WorkerScript} workerScript - If this is being called through Netscript\n * @param opts - Optional configuration for this function's behavior. See top of file\n * @returns {boolean} true if successfully sells given amount OR max owned, false otherwise\n */\nexport function sellShort(\n stock: Stock,\n shares: number,\n workerScript: WorkerScript | null = null,\n opts: IOptions = {},\n): boolean {\n if (stock == null || isNaN(shares) || shares < 0) {\n if (workerScript) {\n workerScript.log(\"stock.sellShort\", () => `Invalid arguments: stock='${stock}' shares='${shares}'`);\n } else if (!opts.suppressDialog) {\n dialogBoxCreate(\n \"Failed to sell a short position in a stock. This is probably \" +\n \"due to an invalid quantity. Otherwise, this may be a bug, so contact developer\",\n );\n }\n\n return false;\n }\n shares = Math.round(shares);\n if (shares > stock.playerShortShares) {\n shares = stock.playerShortShares;\n }\n if (shares === 0) {\n return false;\n }\n\n const origCost = shares * stock.playerAvgShortPx;\n const totalGain = getSellTransactionGain(stock, shares, PositionTypes.Short);\n if (totalGain == null || isNaN(totalGain) || origCost == null) {\n if (workerScript) {\n workerScript.log(\n \"stock.sellShort\",\n () => `Failed to sell short position in a stock. This is probably either due to invalid arguments, or a bug`,\n );\n } else if (!opts.suppressDialog) {\n dialogBoxCreate(\n `Failed to sell short position in a stock. This is probably either due to invalid arguments, or a bug`,\n );\n }\n\n return false;\n }\n let profit = totalGain - origCost;\n if (isNaN(profit)) {\n profit = 0;\n }\n Player.gainMoney(totalGain, \"stock\");\n if (workerScript) {\n workerScript.scriptRef.onlineMoneyMade += profit;\n Player.scriptProdSinceLastAug += profit;\n }\n\n stock.playerShortShares = Math.round(stock.playerShortShares - shares);\n if (stock.playerShortShares === 0) {\n stock.playerAvgShortPx = 0;\n }\n processTransactionForecastMovement(stock, shares);\n\n if (opts.rerenderFn != null && typeof opts.rerenderFn === \"function\") {\n opts.rerenderFn();\n }\n\n if (workerScript) {\n const resultTxt =\n `Sold your short position of ${numeralWrapper.formatShares(shares)} shares of ${stock.symbol}. ` +\n `After commissions, you gained a total of ${numeralWrapper.formatMoney(totalGain)}`;\n workerScript.log(\"stock.sellShort\", () => resultTxt);\n } else if (!opts.suppressDialog) {\n dialogBoxCreate(\n <>\n Sold your short position of {numeralWrapper.formatShares(shares)} shares of {stock.symbol}. After commissions,\n you gained a total of \n >,\n );\n }\n\n return true;\n}\n","import React from \"react\";\nimport { TextFile } from \"../TextFile\";\nimport { Script } from \"../Script/Script\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\nimport { IRouter } from \"../ui/Router\";\nimport { Settings } from \"../Settings/Settings\";\nimport { formatTime } from \"../utils/helpers/formatTime\";\nimport { BaseServer } from \"../Server/BaseServer\";\n\nexport class Output {\n text: string;\n color: \"primary\" | \"error\" | \"success\" | \"info\" | \"warn\";\n constructor(text: string, color: \"primary\" | \"error\" | \"success\" | \"info\" | \"warn\") {\n if (Settings.TimestampsFormat) text = \"[\" + formatTime(Settings.TimestampsFormat) + \"] \" + text;\n this.text = text;\n this.color = color;\n }\n}\n\nexport class RawOutput {\n raw: React.ReactNode;\n constructor(node: React.ReactNode) {\n if (Settings.TimestampsFormat)\n node = (\n <>\n [{formatTime(Settings.TimestampsFormat)}] {node}\n >\n );\n this.raw = node;\n }\n}\n\nexport class Link {\n hostname: string;\n dashes: string;\n constructor(dashes: string, hostname: string) {\n if (Settings.TimestampsFormat) dashes = \"[\" + formatTime(Settings.TimestampsFormat) + \"] \" + dashes;\n this.hostname = hostname;\n this.dashes = dashes;\n }\n}\n\nexport class TTimer {\n time: number;\n timeLeft: number;\n action: \"h\" | \"b\" | \"a\" | \"g\" | \"w\";\n server?: BaseServer;\n\n constructor(time: number, action: \"h\" | \"b\" | \"a\" | \"g\" | \"w\", server?: BaseServer) {\n this.time = time;\n this.timeLeft = time;\n this.action = action;\n this.server = server;\n }\n}\n\nexport interface ITerminal {\n action: TTimer | null;\n\n commandHistory: string[];\n commandHistoryIndex: number;\n\n outputHistory: (Output | Link | RawOutput)[];\n\n // True if a Coding Contract prompt is opened\n contractOpen: boolean;\n\n // Full Path of current directory\n // Excludes the trailing forward slash\n currDir: string;\n\n print(s: string): void;\n printRaw(node: React.ReactNode): void;\n error(s: string): void;\n success(s: string): void;\n info(s: string): void;\n warn(s: string): void;\n\n clear(): void;\n startAnalyze(player: IPlayer): void;\n startBackdoor(player: IPlayer): void;\n startHack(player: IPlayer): void;\n startGrow(player: IPlayer): void;\n startWeaken(player: IPlayer): void;\n finishHack(router: IRouter, player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishGrow(player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishWeaken(player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishBackdoor(router: IRouter, player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishAnalyze(player: IPlayer, server: BaseServer, cancelled?: boolean): void;\n finishAction(router: IRouter, player: IPlayer, cancelled?: boolean): void;\n getFilepath(filename: string): string;\n getFile(player: IPlayer, filename: string): Script | TextFile | string | null;\n getScript(player: IPlayer, filename: string): Script | null;\n getTextFile(player: IPlayer, filename: string): TextFile | null;\n getLitFile(player: IPlayer, filename: string): string | null;\n cwd(): string;\n setcwd(dir: string): void;\n runContract(player: IPlayer, name: string): void;\n executeScanAnalyzeCommand(player: IPlayer, depth?: number, all?: boolean): void;\n connectToServer(player: IPlayer, server: string): void;\n executeCommand(router: IRouter, player: IPlayer, command: string): void;\n executeCommands(router: IRouter, player: IPlayer, commands: string): void;\n // If there was any changes, will return true, once.\n process(router: IRouter, player: IPlayer, cycles: number): void;\n prestige(): void;\n getProgressText(): string;\n}\n","import { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\n\ninterface ISkillParams {\n name: string;\n desc: string;\n\n baseCost?: number;\n costInc?: number;\n maxLvl?: number;\n\n successChanceAll?: number;\n successChanceStealth?: number;\n successChanceKill?: number;\n successChanceContract?: number;\n successChanceOperation?: number;\n successChanceEstimate?: number;\n\n actionTime?: number;\n\n effHack?: number;\n effStr?: number;\n effDef?: number;\n effDex?: number;\n effAgi?: number;\n effCha?: number;\n\n stamina?: number;\n money?: number;\n expGain?: number;\n}\n\nexport class Skill {\n name: string;\n desc: string;\n // Cost is in Skill Points\n baseCost = 1;\n // Additive cost increase per level\n costInc = 1;\n maxLvl = 0;\n\n /**\n * These benefits are additive. So total multiplier will be level (handled externally) times the\n * effects below\n */\n successChanceAll = 0;\n successChanceStealth = 0;\n successChanceKill = 0;\n successChanceContract = 0;\n successChanceOperation = 0;\n\n /**\n * This multiplier affects everything that increases synthoid population/community estimate\n * e.g. Field analysis, Investigation Op, Undercover Op\n */\n successChanceEstimate = 0;\n actionTime = 0;\n effHack = 0;\n effStr = 0;\n effDef = 0;\n effDex = 0;\n effAgi = 0;\n effCha = 0;\n stamina = 0;\n money = 0;\n expGain = 0;\n\n constructor(params: ISkillParams = { name: \"foo\", desc: \"foo\" }) {\n if (!params.name) {\n throw new Error(\"Failed to initialize Bladeburner Skill. No name was specified in ctor\");\n }\n if (!params.desc) {\n throw new Error(\"Failed to initialize Bladeburner Skills. No desc was specified in ctor\");\n }\n this.name = params.name;\n this.desc = params.desc;\n this.baseCost = params.baseCost ? params.baseCost : 1;\n this.costInc = params.costInc ? params.costInc : 1;\n\n if (params.maxLvl) {\n this.maxLvl = params.maxLvl;\n }\n\n if (params.successChanceAll) {\n this.successChanceAll = params.successChanceAll;\n }\n if (params.successChanceStealth) {\n this.successChanceStealth = params.successChanceStealth;\n }\n if (params.successChanceKill) {\n this.successChanceKill = params.successChanceKill;\n }\n if (params.successChanceContract) {\n this.successChanceContract = params.successChanceContract;\n }\n if (params.successChanceOperation) {\n this.successChanceOperation = params.successChanceOperation;\n }\n\n if (params.successChanceEstimate) {\n this.successChanceEstimate = params.successChanceEstimate;\n }\n\n if (params.actionTime) {\n this.actionTime = params.actionTime;\n }\n if (params.effHack) {\n this.effHack = params.effHack;\n }\n if (params.effStr) {\n this.effStr = params.effStr;\n }\n if (params.effDef) {\n this.effDef = params.effDef;\n }\n if (params.effDex) {\n this.effDex = params.effDex;\n }\n if (params.effAgi) {\n this.effAgi = params.effAgi;\n }\n if (params.effCha) {\n this.effCha = params.effCha;\n }\n\n if (params.stamina) {\n this.stamina = params.stamina;\n }\n if (params.money) {\n this.money = params.money;\n }\n if (params.expGain) {\n this.expGain = params.expGain;\n }\n }\n\n calculateCost(currentLevel: number): number {\n return Math.floor((this.baseCost + currentLevel * this.costInc) * BitNodeMultipliers.BladeburnerSkillCost);\n }\n\n getMultiplier(name: string): number {\n if (name === \"successChanceAll\") return this.successChanceAll;\n if (name === \"successChanceStealth\") return this.successChanceStealth;\n if (name === \"successChanceKill\") return this.successChanceKill;\n if (name === \"successChanceContract\") return this.successChanceContract;\n if (name === \"successChanceOperation\") return this.successChanceOperation;\n if (name === \"successChanceEstimate\") return this.successChanceEstimate;\n\n if (name === \"actionTime\") return this.actionTime;\n\n if (name === \"effHack\") return this.effHack;\n if (name === \"effStr\") return this.effStr;\n if (name === \"effDef\") return this.effDef;\n if (name === \"effDex\") return this.effDex;\n if (name === \"effAgi\") return this.effAgi;\n if (name === \"effCha\") return this.effCha;\n\n if (name === \"stamina\") return this.stamina;\n if (name === \"money\") return this.money;\n if (name === \"expGain\") return this.expGain;\n return 0;\n }\n}\n","import React from \"react\";\nimport { Modal } from \"./Modal\";\n\nimport Button from \"@mui/material/Button\";\nimport Typography from \"@mui/material/Typography\";\n\ninterface IProps {\n open: boolean;\n onClose: () => void;\n onConfirm: () => void;\n confirmationText: string | React.ReactNode;\n additionalButton?: React.ReactNode;\n}\n\nexport function ConfirmationModal(props: IProps): React.ReactElement {\n return (\n \n <>\n {props.confirmationText}\n \n {props.additionalButton && <>{props.additionalButton}>}\n >\n \n );\n}\n","export function hash(): string {\n try {\n if (__COMMIT_HASH__) {\n return __COMMIT_HASH__;\n }\n } catch (err) {}\n return \"DEV\";\n}\n","/**\n * Class representing a script file.\n *\n * This does NOT represent a script that is actively running and\n * being evaluated. See RunningScript for that\n */\nimport { calculateRamUsage, RamUsageEntry } from \"./RamCalculations\";\nimport { ScriptUrl } from \"./ScriptUrl\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\nimport { roundToTwo } from \"../utils/helpers/roundToTwo\";\nimport { IPlayer } from \"../PersonObjects/IPlayer\";\n\nlet globalModuleSequenceNumber = 0;\n\ninterface ScriptReference {\n filename: string;\n server: string;\n}\n\nexport class Script {\n // Code for this script\n code = \"\";\n\n // Filename for the script file\n filename = \"\";\n\n // url of the script if any, only for NS2.\n url = \"\";\n\n // The dynamic module generated for this script when it is run.\n // This is only applicable for NetscriptJS\n module: any = \"\";\n\n // The timestamp when when the script was last updated.\n moduleSequenceNumber: number;\n\n // Only used with NS2 scripts; the list of dependency script filenames. This is constructed\n // whenever the script is first evaluated, and therefore may be out of date if the script\n // has been updated since it was last run.\n dependencies: ScriptUrl[] = [];\n dependents: ScriptReference[] = [];\n\n // Amount of RAM this Script requres to run\n ramUsage = 0;\n ramUsageEntries?: RamUsageEntry[];\n\n // hostname of server that this script is on.\n server = \"\";\n\n constructor(player: IPlayer | null = null, fn = \"\", code = \"\", server = \"\", otherScripts: Script[] = []) {\n this.filename = fn;\n this.code = code;\n this.ramUsage = 0;\n this.server = server; // hostname of server this script is on\n this.module = \"\";\n this.moduleSequenceNumber = ++globalModuleSequenceNumber;\n if (this.code !== \"\" && player !== null) {\n this.updateRamUsage(player, otherScripts);\n }\n }\n\n /**\n * Download the script as a file\n */\n download(): void {\n const filename = this.filename;\n const file = new Blob([this.code], { type: \"text/plain\" });\n const navigator = window.navigator as any;\n if (navigator.msSaveOrOpenBlob) {\n // IE10+\n navigator.msSaveOrOpenBlob(file, filename);\n } else {\n // Others\n const a = document.createElement(\"a\"),\n url = URL.createObjectURL(file);\n a.href = url;\n a.download = filename;\n document.body.appendChild(a);\n a.click();\n setTimeout(function () {\n document.body.removeChild(a);\n window.URL.revokeObjectURL(url);\n }, 0);\n }\n }\n\n /**\n * Marks this script as having been updated. It will be recompiled next time something tries\n * to exec it.\n */\n markUpdated(): void {\n this.module = \"\";\n this.moduleSequenceNumber = ++globalModuleSequenceNumber;\n }\n\n /**\n * Save a script from the script editor\n * @param {string} code - The new contents of the script\n * @param {Script[]} otherScripts - Other scripts on the server. Used to process imports\n */\n saveScript(player: IPlayer, filename: string, code: string, hostname: string, otherScripts: Script[]): void {\n // Update code and filename\n this.code = Script.formatCode(code);\n\n this.filename = filename;\n this.server = hostname;\n this.updateRamUsage(player, otherScripts);\n this.markUpdated();\n for (const dependent of this.dependents) {\n const [dependentScript] = otherScripts.filter(\n (s) => s.filename === dependent.filename && s.server == dependent.server,\n );\n if (dependentScript !== null) dependentScript.markUpdated();\n }\n }\n\n /**\n * Calculates and updates the script's RAM usage based on its code\n * @param {Script[]} otherScripts - Other scripts on the server. Used to process imports\n */\n async updateRamUsage(player: IPlayer, otherScripts: Script[]): Promise {\n const res = await calculateRamUsage(player, this.code, otherScripts);\n if (res.cost > 0) {\n this.ramUsage = roundToTwo(res.cost);\n this.ramUsageEntries = res.entries;\n }\n this.markUpdated();\n }\n\n imports(): string[] {\n return [];\n }\n\n // Serialize the current object to a JSON save state\n toJSON(): any {\n return Generic_toJSON(\"Script\", this);\n }\n\n // Initializes a Script Object from a JSON save state\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Script {\n const s = Generic_fromJSON(Script, value.data);\n // Force the url to blank from the save data. Urls are not valid outside the current browser page load.\n s.url = \"\";\n s.dependents = [];\n return s;\n }\n\n /**\n * Formats code: Removes the starting & trailing whitespace\n * @param {string} code - The code to format\n * @returns The formatted code\n */\n static formatCode(code: string): string {\n return code.replace(/^\\s+|\\s+$/g, \"\");\n }\n}\n\nReviver.constructors.Script = Script;\n","/**\n * Returns the input array as a comma separated string.\n *\n * Does several things that Array.toString() doesn't do\n * - Adds brackets around the array\n * - Adds quotation marks around strings\n */\nexport function arrayToString(a: T[]): string {\n const vals: any[] = [];\n for (let i = 0; i < a.length; ++i) {\n let elem: any = a[i];\n if (Array.isArray(elem)) {\n elem = arrayToString(elem);\n } else if (typeof elem === \"string\") {\n elem = `\"${elem}\"`;\n }\n vals.push(elem);\n }\n\n return `[${vals.join(\", \")}]`;\n}\n","import { DarkWebItem } from \"./DarkWebItem\";\nimport { IMap } from \"../types\";\nimport { Programs } from \"../Programs/Programs\";\n\nexport const DarkWebItems: IMap = {\n BruteSSHProgram: new DarkWebItem(Programs.BruteSSHProgram.name, 500e3, \"Opens up SSH Ports.\"),\n FTPCrackProgram: new DarkWebItem(Programs.FTPCrackProgram.name, 1500e3, \"Opens up FTP Ports.\"),\n RelaySMTPProgram: new DarkWebItem(Programs.RelaySMTPProgram.name, 5e6, \"Opens up SMTP Ports.\"),\n HTTPWormProgram: new DarkWebItem(Programs.HTTPWormProgram.name, 30e6, \"Opens up HTTP Ports.\"),\n SQLInjectProgram: new DarkWebItem(Programs.SQLInjectProgram.name, 250e6, \"Opens up SQL Ports.\"),\n ServerProfiler: new DarkWebItem(\n Programs.ServerProfiler.name,\n 500000,\n \"Displays detailed information about a server.\",\n ),\n DeepscanV1: new DarkWebItem(Programs.DeepscanV1.name, 500000, \"Enables 'scan-analyze' with a depth up to 5.\"),\n DeepscanV2: new DarkWebItem(Programs.DeepscanV2.name, 25e6, \"Enables 'scan-analyze' with a depth up to 10.\"),\n AutolinkProgram: new DarkWebItem(Programs.AutoLink.name, 1e6, \"Enables direct connect via 'scan-analyze'.\"),\n FormulasProgram: new DarkWebItem(Programs.Formulas.name, 5e9, \"Unlock access to the formulas API.\"),\n};\n","import { Action } from \"./Action\";\nimport { IMap } from \"../types\";\n\nexport const GeneralActions: IMap = {};\n\nconst actionNames: Array = [\n \"Training\",\n \"Field Analysis\",\n \"Recruitment\",\n \"Diplomacy\",\n \"Hyperbolic Regeneration Chamber\",\n \"Incite Violence\",\n];\n\nfor (const actionName of actionNames) {\n GeneralActions[actionName] = new Action({\n name: actionName,\n });\n}\n","// Enum values are lowercased to match css classes\nexport enum Suit {\n Clubs = \"clubs\",\n Diamonds = \"diamonds\",\n Hearts = \"hearts\",\n Spades = \"spades\",\n}\n\nexport class Card {\n constructor(readonly value: number, readonly suit: Suit) {\n if (value < 1 || value > 13) {\n throw new Error(`Card instantiated with improper value: ${value}`);\n }\n }\n\n formatValue(): string {\n switch (this.value) {\n case 1:\n return \"A\";\n case 11:\n return \"J\";\n case 12:\n return \"Q\";\n case 13:\n return \"K\";\n default:\n return `${this.value}`;\n }\n }\n\n isRedSuit(): boolean {\n return this.suit === Suit.Hearts || this.suit === Suit.Diamonds;\n }\n\n getStringRepresentation(): string {\n const value = this.formatValue();\n\n return `${value} of ${this.suit}`;\n }\n}\n","import { IActionIdentifier } from \"./IActionIdentifier\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\ninterface IParams {\n name?: string;\n type?: number;\n}\n\nexport class ActionIdentifier implements IActionIdentifier {\n name = \"\";\n type = -1;\n\n constructor(params: IParams = {}) {\n if (params.name) this.name = params.name;\n if (params.type) this.type = params.type;\n }\n\n toJSON(): any {\n return Generic_toJSON(\"ActionIdentifier\", this);\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): ActionIdentifier {\n return Generic_fromJSON(ActionIdentifier, value.data);\n }\n}\n\nReviver.constructors.ActionIdentifier = ActionIdentifier;\n","import { BitNodes } from \"../BitNode/BitNode\";\n\nexport class SourceFile {\n info: JSX.Element;\n lvl = 1;\n n: number;\n name: string;\n owned = false;\n\n constructor(number: number, info: JSX.Element) {\n const bitnodeKey = \"BitNode\" + number;\n const bitnode = BitNodes[bitnodeKey];\n if (bitnode == null) {\n throw new Error(\"Invalid Bit Node for this Source File\");\n }\n\n this.n = number;\n this.name = `Source-File ${number}: ${bitnode.name}`;\n this.info = info;\n }\n}\n","// Base class representing a person-like object\nimport { Augmentation } from \"../Augmentation/Augmentation\";\nimport { IPlayerOwnedAugmentation } from \"../Augmentation/PlayerOwnedAugmentation\";\nimport { BitNodeMultipliers } from \"../BitNode/BitNodeMultipliers\";\nimport { CityName } from \"../Locations/data/CityNames\";\nimport { CONSTANTS } from \"../Constants\";\nimport { calculateSkill } from \"./formulas/skill\";\nimport { calculateIntelligenceBonus } from \"./formulas/intelligence\";\n\n// Interface that defines a generic object used to track experience/money\n// earnings for tasks\nexport interface ITaskTracker {\n hack: number;\n str: number;\n def: number;\n dex: number;\n agi: number;\n cha: number;\n money: number;\n}\n\nexport function createTaskTracker(): ITaskTracker {\n return {\n hack: 0,\n str: 0,\n def: 0,\n dex: 0,\n agi: 0,\n cha: 0,\n money: 0,\n };\n}\n\nexport abstract class Person {\n /**\n * Stats\n */\n hacking = 1;\n strength = 1;\n defense = 1;\n dexterity = 1;\n agility = 1;\n charisma = 1;\n intelligence = 1;\n hp = 10;\n max_hp = 10;\n\n /**\n * Experience\n */\n hacking_exp = 0;\n strength_exp = 0;\n defense_exp = 0;\n dexterity_exp = 0;\n agility_exp = 0;\n charisma_exp = 0;\n intelligence_exp = 0;\n\n /**\n * Multipliers\n */\n hacking_mult = 1;\n strength_mult = 1;\n defense_mult = 1;\n dexterity_mult = 1;\n agility_mult = 1;\n charisma_mult = 1;\n\n hacking_exp_mult = 1;\n strength_exp_mult = 1;\n defense_exp_mult = 1;\n dexterity_exp_mult = 1;\n agility_exp_mult = 1;\n charisma_exp_mult = 1;\n\n hacking_chance_mult = 1;\n hacking_speed_mult = 1;\n hacking_money_mult = 1;\n hacking_grow_mult = 1;\n\n company_rep_mult = 1;\n faction_rep_mult = 1;\n\n crime_money_mult = 1;\n crime_success_mult = 1;\n\n work_money_mult = 1;\n\n hacknet_node_money_mult = 1;\n hacknet_node_purchase_cost_mult = 1;\n hacknet_node_ram_cost_mult = 1;\n hacknet_node_core_cost_mult = 1;\n hacknet_node_level_cost_mult = 1;\n\n bladeburner_max_stamina_mult = 1;\n bladeburner_stamina_gain_mult = 1;\n bladeburner_analysis_mult = 1;\n bladeburner_success_chance_mult = 1;\n\n infiltration_base_rep_increase = 0;\n infiltration_rep_mult = 1;\n infiltration_trade_mult = 1;\n infiltration_sell_mult = 1;\n infiltration_timer_mult = 1;\n infiltration_damage_reduction_mult = 1;\n\n /**\n * Augmentations\n */\n augmentations: IPlayerOwnedAugmentation[] = [];\n queuedAugmentations: IPlayerOwnedAugmentation[] = [];\n\n /**\n * City that the person is in\n */\n city: CityName = CityName.Sector12;\n\n /**\n * Updates this object's multipliers for the given augmentation\n */\n applyAugmentation(aug: Augmentation): void {\n for (const mult of Object.keys(aug.mults)) {\n if ((this as any)[mult] == null) {\n console.warn(`Augmentation has unrecognized multiplier property: ${mult}`);\n } else {\n (this as any)[mult] *= aug.mults[mult];\n }\n }\n }\n\n /**\n * Given an experience amount and stat multiplier, calculates the\n * stat level. Stat-agnostic (same formula for every stat)\n */\n calculateStat(exp: number, mult = 1): number {\n return calculateSkill(exp, mult);\n }\n\n /**\n * Calculate and return the amount of faction reputation earned per cycle\n * when doing Field Work for a faction\n */\n getFactionFieldWorkRepGain(): number {\n const t =\n (0.9 *\n (this.hacking / CONSTANTS.MaxSkillLevel +\n this.strength / CONSTANTS.MaxSkillLevel +\n this.defense / CONSTANTS.MaxSkillLevel +\n this.dexterity / CONSTANTS.MaxSkillLevel +\n this.agility / CONSTANTS.MaxSkillLevel +\n this.charisma / CONSTANTS.MaxSkillLevel)) /\n 5.5;\n return t * this.faction_rep_mult;\n }\n\n /**\n * Calculate and return the amount of faction reputation earned per cycle\n * when doing Hacking Work for a faction\n */\n getFactionHackingWorkRepGain(): number {\n return (this.hacking / CONSTANTS.MaxSkillLevel) * this.faction_rep_mult;\n }\n\n /**\n * Calculate and return the amount of faction reputation earned per cycle\n * when doing Security Work for a faction\n */\n getFactionSecurityWorkRepGain(): number {\n const t =\n (0.9 *\n (this.hacking / CONSTANTS.MaxSkillLevel +\n this.strength / CONSTANTS.MaxSkillLevel +\n this.defense / CONSTANTS.MaxSkillLevel +\n this.dexterity / CONSTANTS.MaxSkillLevel +\n this.agility / CONSTANTS.MaxSkillLevel)) /\n 4.5;\n return t * this.faction_rep_mult;\n }\n\n /**\n * Reset all multipliers to 1\n */\n resetMultipliers(): void {\n this.hacking_mult = 1;\n this.strength_mult = 1;\n this.defense_mult = 1;\n this.dexterity_mult = 1;\n this.agility_mult = 1;\n this.charisma_mult = 1;\n\n this.hacking_exp_mult = 1;\n this.strength_exp_mult = 1;\n this.defense_exp_mult = 1;\n this.dexterity_exp_mult = 1;\n this.agility_exp_mult = 1;\n this.charisma_exp_mult = 1;\n\n this.company_rep_mult = 1;\n this.faction_rep_mult = 1;\n\n this.crime_money_mult = 1;\n this.crime_success_mult = 1;\n\n this.work_money_mult = 1;\n\n this.hacknet_node_money_mult = 1;\n this.hacknet_node_purchase_cost_mult = 1;\n this.hacknet_node_ram_cost_mult = 1;\n this.hacknet_node_core_cost_mult = 1;\n this.hacknet_node_level_cost_mult = 1;\n\n this.bladeburner_max_stamina_mult = 1;\n this.bladeburner_stamina_gain_mult = 1;\n this.bladeburner_analysis_mult = 1;\n this.bladeburner_success_chance_mult = 1;\n\n this.infiltration_base_rep_increase = 0;\n this.infiltration_rep_mult = 1;\n this.infiltration_trade_mult = 1;\n this.infiltration_sell_mult = 1;\n this.infiltration_timer_mult = 1;\n this.infiltration_damage_reduction_mult = 1;\n }\n\n /**\n * Update all stat levels\n */\n updateStatLevels(): void {\n this.hacking = Math.max(\n 1,\n Math.floor(this.calculateStat(this.hacking_exp, this.hacking_mult * BitNodeMultipliers.HackingLevelMultiplier)),\n );\n this.strength = Math.max(\n 1,\n Math.floor(\n this.calculateStat(this.strength_exp, this.strength_mult * BitNodeMultipliers.StrengthLevelMultiplier),\n ),\n );\n this.defense = Math.max(\n 1,\n Math.floor(this.calculateStat(this.defense_exp, this.defense_mult * BitNodeMultipliers.DefenseLevelMultiplier)),\n );\n this.dexterity = Math.max(\n 1,\n Math.floor(\n this.calculateStat(this.dexterity_exp, this.dexterity_mult * BitNodeMultipliers.DexterityLevelMultiplier),\n ),\n );\n this.agility = Math.max(\n 1,\n Math.floor(this.calculateStat(this.agility_exp, this.agility_mult * BitNodeMultipliers.AgilityLevelMultiplier)),\n );\n this.charisma = Math.max(\n 1,\n Math.floor(\n this.calculateStat(this.charisma_exp, this.charisma_mult * BitNodeMultipliers.CharismaLevelMultiplier),\n ),\n );\n\n const ratio: number = this.hp / this.max_hp;\n this.max_hp = Math.floor(10 + this.defense / 10);\n this.hp = Math.round(this.max_hp * ratio);\n }\n\n getIntelligenceBonus(weight: number): number {\n return calculateIntelligenceBonus(this.intelligence, weight);\n }\n}\n","import React from \"react\";\nimport { MathJax, MathJaxContext } from \"better-react-mathjax\";\n\ninterface IProps {\n children: React.ReactNode;\n}\n\nexport function MathJaxWrapper({ children }: IProps): React.ReactElement {\n return (\n \n {children}\n \n );\n}\n","import { dialogBoxCreate } from \"../../ui/React/DialogBox\";\n\ninterface IError {\n fileName?: string;\n lineNumber?: number;\n}\n\nexport function exceptionAlert(e: IError | string): void {\n console.error(e);\n dialogBoxCreate(\n \"Caught an exception: \" +\n e +\n \"
\n \n \n \n HP \n \n \n \n {numeralWrapper.formatHp(player.hp)} / {numeralWrapper.formatHp(player.max_hp)}\n \n \n \n \n {/*Hook for player scripts*/}\n \n \n \n\n \n \n Money \n \n \n {numeralWrapper.formatMoney(player.money)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n\n \n \n Hack \n \n \n {numeralWrapper.formatSkill(player.hacking)}\n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n \n \n \n \n \n \n {/*Hook for player scripts*/}\n \n \n \n\n \n \n Str \n \n \n {numeralWrapper.formatSkill(player.strength)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n \n Def \n \n \n {numeralWrapper.formatSkill(player.defense)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n \n Dex \n \n \n {numeralWrapper.formatSkill(player.dexterity)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n \n Agi \n \n \n {numeralWrapper.formatSkill(player.agility)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n \n Cha \n \n \n {numeralWrapper.formatSkill(player.charisma)}\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {!Settings.DisableOverviewProgressBars && (\n \n )}\n \n\n \n\n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n {/*Hook for player scripts*/}\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n setKillOpen(true)}>\n \n \n \n \n \n \n setKillOpen(false)} killScripts={killScripts} />\n >\n );\n}\n","/**\n * Adds a random offset to a number within a certain percentage\n * @example\n * // Returns between 95-105\n * addOffset(100, 5);\n * @example\n * // Returns between 63-77\n * addOffSet(70, 10);\n * @param midpoint The number to be the midpoint of the offset range\n * @param percentage The percentage (in a range of 0-100) to offset\n */\nexport function addOffset(midpoint: number, percentage: number): number {\n const maxPercent = 100;\n if (percentage < 0 || percentage > maxPercent) {\n return midpoint;\n }\n\n const offset: number = midpoint * (percentage / maxPercent);\n\n // Double the range to account for both sides of the midpoint.\n // tslint:disable-next-line:no-magic-numbers\n return midpoint + (Math.random() * (offset * 2) - offset);\n}\n","export class DarkWebItem {\n program: string;\n price: number;\n description: string;\n\n constructor(program: string, price: number, description: string) {\n this.program = program;\n this.price = price;\n this.description = description;\n }\n}\n","interface RNG {\n random(): number;\n}\n\n/*\n * very bad RNG, meant to be used as introduction to RNG manipulation. It has a\n * period of 1024.\n */\nclass RNG0 implements RNG {\n x: number;\n m = 1024;\n a = 341;\n c = 1;\n\n constructor() {\n this.x = 0;\n this.reset();\n }\n\n step(): void {\n this.x = (this.a * this.x + this.c) % this.m;\n }\n\n random(): number {\n this.step();\n return this.x / this.m;\n }\n\n reset(): void {\n this.x = new Date().getTime() % this.m;\n }\n}\n\nexport const BadRNG: RNG0 = new RNG0();\n\n/*\n * Wichmann–Hill PRNG\n * The period is 6e12.\n */\nexport class WHRNG implements RNG {\n s1 = 0;\n s2 = 0;\n s3 = 0;\n\n constructor(totalPlaytime: number) {\n // This one is seeded by the players total play time.\n const v: number = (totalPlaytime / 1000) % 30000;\n this.s1 = v;\n this.s2 = v;\n this.s3 = v;\n }\n\n step(): void {\n this.s1 = (171 * this.s1) % 30269;\n this.s2 = (172 * this.s2) % 30307;\n this.s3 = (170 * this.s3) % 30323;\n }\n\n random(): number {\n this.step();\n return (this.s1 / 30269.0 + this.s2 / 30307.0 + this.s3 / 30323.0) % 1.0;\n }\n}\n\nexport function SFC32RNG(seed: string): () => number {\n let h = 1779033703 ^ seed.length;\n for (let i = 0; i < seed.length; i++) {\n h = Math.imul(h ^ seed.charCodeAt(i), 3432918353);\n h = (h << 13) | (h >>> 19);\n }\n const genSeed = (): number => {\n h = Math.imul(h ^ (h >>> 16), 2246822507);\n h = Math.imul(h ^ (h >>> 13), 3266489909);\n return (h ^= h >>> 16) >>> 0;\n };\n\n let a = genSeed();\n let b = genSeed();\n let c = genSeed();\n let d = genSeed();\n return (): number => {\n a >>>= 0;\n b >>>= 0;\n c >>>= 0;\n d >>>= 0;\n let t = (a + b) | 0;\n a = b ^ (b >>> 9);\n b = (c + (c << 3)) | 0;\n c = (c << 21) | (c >>> 11);\n d = (d + 1) | 0;\n t = (t + d) | 0;\n c = (c + t) | 0;\n return (t >>> 0) / 4294967296;\n };\n}\n","/**\n * Does a shallow compare of two arrays to determine if they are equal.\n * @param a1 The first array\n * @param a2 The second array\n */\nexport function compareArrays(a1: T[], a2: T[]): boolean {\n if (a1.length !== a2.length) {\n return false;\n }\n\n for (let i = 0; i < a1.length; ++i) {\n if (Array.isArray(a1[i])) {\n // If the other element is not an array, then these cannot be equal\n if (!Array.isArray(a2[i])) {\n return false;\n }\n\n const elem1 = a1[i] as any;\n const elem2 = a2[i] as any;\n if (!compareArrays(elem1, elem2)) {\n return false;\n }\n } else if (a1[i] !== a2[i] && !(Number.isNaN(a1[i]) && Number.isNaN(a2[i]))) {\n // strict (in)equality considers NaN not equal to itself\n return false;\n }\n }\n\n return true;\n}\n","import { IMap } from \"../types\";\n\nexport type IndustryUpgrade = [number, number, number, number, string, string];\n\n// Industry upgrades\n// The data structure is an array with the following format:\n// [index in array, base price, price mult, benefit mult (if applicable), name, desc]\nexport const IndustryUpgrades: IMap = {\n \"0\": [0, 500e3, 1, 1.05, \"Coffee\", \"Provide your employees with coffee, increasing their energy by 5%.\"],\n \"1\": [\n 1,\n 1e9,\n 1.06,\n 1.03,\n \"AdVert.Inc\",\n \"Hire AdVert.Inc to advertise your company. Each level of \" +\n \"this upgrade grants your company a static increase of 3 and 1 to its awareness and \" +\n \"popularity, respectively. It will then increase your company's awareness by 1%, and its popularity \" +\n \"by a random percentage between 1% and 3%. These effects are increased by other upgrades \" +\n \"that increase the power of your advertising.\",\n ],\n};\n","import * as React from \"react\";\nimport { numeralWrapper } from \"../numeralFormat\";\nimport { Theme } from \"@mui/material/styles\";\nimport makeStyles from \"@mui/styles/makeStyles\";\nimport createStyles from \"@mui/styles/createStyles\";\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n favor: {\n color: theme.colors.rep,\n },\n }),\n);\n\nexport function Favor({ favor }: { favor: number | string }): React.ReactElement {\n const classes = useStyles();\n return {typeof favor === \"number\" ? numeralWrapper.formatFavor(favor) : favor};\n}\n","/**\n * Sleeves are bodies that contain the player's cloned consciousness.\n * The player can use these bodies to perform different tasks synchronously.\n *\n * Each sleeve is its own individual, meaning it has its own stats/exp\n *\n * Sleeves are unlocked in BitNode-10.\n */\nimport { SleeveTaskType } from \"./SleeveTaskTypesEnum\";\n\nimport { IPlayer } from \"../IPlayer\";\nimport { Person, ITaskTracker, createTaskTracker } from \"../Person\";\n\nimport { Augmentation } from \"../../Augmentation/Augmentation\";\n\nimport { BitNodeMultipliers } from \"../../BitNode/BitNodeMultipliers\";\n\nimport { Crime } from \"../../Crime/Crime\";\nimport { Crimes } from \"../../Crime/Crimes\";\n\nimport { Companies } from \"../../Company/Companies\";\nimport { Company } from \"../../Company/Company\";\nimport { CompanyPosition } from \"../../Company/CompanyPosition\";\nimport { CompanyPositions } from \"../../Company/CompanyPositions\";\n\nimport { CONSTANTS } from \"../../Constants\";\n\nimport { Faction } from \"../../Faction/Faction\";\nimport { Factions } from \"../../Faction/Factions\";\nimport { FactionWorkType } from \"../../Faction/FactionWorkTypeEnum\";\n\nimport { CityName } from \"../../Locations/data/CityNames\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../../utils/JSONReviver\";\n\nexport class Sleeve extends Person {\n /**\n * Stores the name of the class that the player is currently taking\n */\n className = \"\";\n\n /**\n * Stores the type of crime the sleeve is currently attempting\n * Must match the name of a Crime object\n */\n crimeType = \"\";\n\n /**\n * Enum value for current task\n */\n currentTask: SleeveTaskType = SleeveTaskType.Idle;\n\n /**\n * Contains details about the sleeve's current task. The info stored\n * in this depends on the task type\n *\n * Faction/Company Work: Name of Faction/Company\n * Crime: Money earned if successful\n * Class/Gym: Name of university/gym\n */\n currentTaskLocation = \"\";\n\n /**\n * Maximum amount of time (in milliseconds) that can be spent on current task.\n */\n currentTaskMaxTime = 0;\n\n /**\n * Milliseconds spent on current task\n */\n currentTaskTime = 0;\n\n /**\n * Keeps track of experience earned for other sleeves\n */\n earningsForSleeves: ITaskTracker = createTaskTracker();\n\n /**\n * Keeps track of experience + money earned for player\n */\n earningsForPlayer: ITaskTracker = createTaskTracker();\n\n /**\n * Keeps track of experienced earned in the current task/action\n */\n earningsForTask: ITaskTracker = createTaskTracker();\n\n /**\n * Keeps track of what type of work sleeve is doing for faction, if applicable\n */\n factionWorkType: FactionWorkType = FactionWorkType.None;\n\n /**\n * Records experience gain rate for the current task\n */\n gainRatesForTask: ITaskTracker = createTaskTracker();\n\n /**\n * String that stores what stat the sleeve is training at the gym\n */\n gymStatType = \"\";\n\n /**\n * Keeps track of events/notifications for this sleeve\n */\n logs: string[] = [];\n\n /**\n * Clone retains 'memory' synchronization (and maybe exp?) upon prestige/installing Augs\n */\n memory = 1;\n\n /**\n * Sleeve shock. Number between 0 and 100\n * Trauma/shock that comes with being in a sleeve. Experience earned\n * is multipled by shock%. This gets applied before synchronization\n *\n * Reputation earned is also multiplied by shock%\n */\n shock = 1;\n\n /**\n * Stored number of game \"loop\" cycles\n */\n storedCycles = 0;\n\n /**\n * Synchronization. Number between 0 and 100\n * When experience is earned by sleeve, both the player and the sleeve get\n * sync% of the experience earned. Other sleeves get sync^2% of exp\n */\n sync = 1;\n\n constructor(p: IPlayer | null = null) {\n super();\n if (p != null) {\n this.shockRecovery(p);\n }\n }\n\n /**\n * Commit crimes\n */\n commitCrime(p: IPlayer, crimeKey: string): boolean {\n const crime: Crime | null = Crimes[crimeKey] || Object.values(Crimes).find((crime) => crime.name === crimeKey);\n if (!crime) {\n return false;\n }\n\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus();\n }\n\n this.gainRatesForTask.hack = crime.hacking_exp * this.hacking_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.str = crime.strength_exp * this.strength_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.def = crime.defense_exp * this.defense_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.dex = crime.dexterity_exp * this.dexterity_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.agi = crime.agility_exp * this.agility_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.cha = crime.charisma_exp * this.charisma_exp_mult * BitNodeMultipliers.CrimeExpGain;\n this.gainRatesForTask.money = crime.money * this.crime_money_mult * BitNodeMultipliers.CrimeMoney;\n\n this.currentTaskLocation = String(this.gainRatesForTask.money);\n\n this.crimeType = crime.name;\n this.currentTaskMaxTime = crime.time;\n this.currentTask = SleeveTaskType.Crime;\n return true;\n }\n\n /**\n * Called to stop the current task\n */\n finishTask(p: IPlayer): ITaskTracker {\n let retValue: ITaskTracker = createTaskTracker(); // Amount of exp to be gained by other sleeves\n\n if (this.currentTask === SleeveTaskType.Crime) {\n // For crimes, all experience and money is gained at the end\n if (this.currentTaskTime >= this.currentTaskMaxTime) {\n const crime: Crime | undefined = Object.values(Crimes).find((crime) => crime.name === this.crimeType);\n if (!crime) {\n console.error(`Invalid data stored in sleeve.crimeType: ${this.crimeType}`);\n this.resetTaskStatus();\n return retValue;\n }\n if (Math.random() < crime.successRate(this)) {\n // Success\n const successGainRates: ITaskTracker = createTaskTracker();\n\n const keysForIteration: (keyof ITaskTracker)[] = Object.keys(successGainRates) as (keyof ITaskTracker)[];\n for (let i = 0; i < keysForIteration.length; ++i) {\n const key = keysForIteration[i];\n successGainRates[key] = this.gainRatesForTask[key] * 2;\n }\n retValue = this.gainExperience(p, successGainRates);\n this.gainMoney(p, this.gainRatesForTask);\n\n p.karma -= crime.karma * (this.sync / 100);\n } else {\n retValue = this.gainExperience(p, this.gainRatesForTask);\n }\n\n // Do not reset task to IDLE\n this.currentTaskTime = 0;\n return retValue;\n }\n } else {\n // For other crimes... I dont think anything else needs to be done\n }\n\n this.resetTaskStatus();\n\n return retValue;\n }\n\n /**\n * Earn experience for any stats (supports multiple)\n * This function also handles experience propogating to Player and other sleeves\n */\n gainExperience(p: IPlayer, exp: ITaskTracker, numCycles = 1, fromOtherSleeve = false): ITaskTracker {\n // If the experience is coming from another sleeve, it is not multiplied by anything.\n // Also the player does not earn anything\n if (fromOtherSleeve) {\n if (exp.hack > 0) {\n this.hacking_exp += exp.hack;\n }\n\n if (exp.str > 0) {\n this.strength_exp += exp.str;\n }\n\n if (exp.def > 0) {\n this.defense_exp += exp.def;\n }\n\n if (exp.dex > 0) {\n this.dexterity_exp += exp.dex;\n }\n\n if (exp.agi > 0) {\n this.agility_exp += exp.agi;\n }\n\n if (exp.cha > 0) {\n this.charisma_exp += exp.cha;\n }\n\n return createTaskTracker();\n }\n\n // Experience is first multiplied by shock. Then 'synchronization'\n // is accounted for\n\n const multFac = (this.shock / 100) * (this.sync / 100) * numCycles;\n const pHackExp = exp.hack * multFac;\n const pStrExp = exp.str * multFac;\n const pDefExp = exp.def * multFac;\n const pDexExp = exp.dex * multFac;\n const pAgiExp = exp.agi * multFac;\n const pChaExp = exp.cha * multFac;\n\n // Experience is gained by both this sleeve and player\n if (pHackExp > 0) {\n this.hacking_exp += pHackExp;\n p.gainHackingExp(pHackExp);\n this.earningsForPlayer.hack += pHackExp;\n this.earningsForTask.hack += pHackExp;\n }\n\n if (pStrExp > 0) {\n this.strength_exp += pStrExp;\n p.gainStrengthExp(pStrExp);\n this.earningsForPlayer.str += pStrExp;\n this.earningsForTask.str += pStrExp;\n }\n\n if (pDefExp > 0) {\n this.defense_exp += pDefExp;\n p.gainDefenseExp(pDefExp);\n this.earningsForPlayer.def += pDefExp;\n this.earningsForTask.def += pDefExp;\n }\n\n if (pDexExp > 0) {\n this.dexterity_exp += pDexExp;\n p.gainDexterityExp(pDexExp);\n this.earningsForPlayer.dex += pDexExp;\n this.earningsForTask.dex += pDexExp;\n }\n\n if (pAgiExp > 0) {\n this.agility_exp += pAgiExp;\n p.gainAgilityExp(pAgiExp);\n this.earningsForPlayer.agi += pAgiExp;\n this.earningsForTask.agi += pAgiExp;\n }\n\n if (pChaExp > 0) {\n this.charisma_exp += pChaExp;\n p.gainCharismaExp(pChaExp);\n this.earningsForPlayer.cha += pChaExp;\n this.earningsForTask.cha += pChaExp;\n }\n\n // Record earnings for other sleeves\n this.earningsForSleeves.hack += pHackExp * (this.sync / 100);\n this.earningsForSleeves.str += pStrExp * (this.sync / 100);\n this.earningsForSleeves.def += pDefExp * (this.sync / 100);\n this.earningsForSleeves.dex += pDexExp * (this.sync / 100);\n this.earningsForSleeves.agi += pAgiExp * (this.sync / 100);\n this.earningsForSleeves.cha += pChaExp * (this.sync / 100);\n\n // Return the experience to be gained by other sleeves\n return {\n hack: pHackExp * (this.sync / 100),\n str: pStrExp * (this.sync / 100),\n def: pDefExp * (this.sync / 100),\n dex: pDexExp * (this.sync / 100),\n agi: pAgiExp * (this.sync / 100),\n cha: pChaExp * (this.sync / 100),\n money: 0,\n };\n }\n\n /**\n * Earn money for player\n */\n gainMoney(p: IPlayer, task: ITaskTracker, numCycles = 1): void {\n const gain: number = task.money * numCycles;\n this.earningsForTask.money += gain;\n this.earningsForPlayer.money += gain;\n p.gainMoney(gain, \"sleeves\");\n }\n\n /**\n * Returns the cost of upgrading this sleeve's memory by a certain amount\n */\n getMemoryUpgradeCost(n: number): number {\n const amt = Math.round(n);\n if (amt < 0) {\n return 0;\n }\n\n if (this.memory + amt > 100) {\n return this.getMemoryUpgradeCost(100 - this.memory);\n }\n\n const mult = 1.02;\n const baseCost = 1e12;\n let currCost = 0;\n let currMemory = this.memory - 1;\n for (let i = 0; i < n; ++i) {\n currCost += Math.pow(mult, currMemory);\n ++currMemory;\n }\n\n return currCost * baseCost;\n }\n\n /**\n * Gets reputation gain for the current task\n * Only applicable when working for company or faction\n */\n getRepGain(p: IPlayer): number {\n if (this.currentTask === SleeveTaskType.Faction) {\n let favorMult = 1;\n const fac: Faction | null = Factions[this.currentTaskLocation];\n if (fac != null) {\n favorMult = 1 + fac.favor / 100;\n }\n\n switch (this.factionWorkType) {\n case FactionWorkType.Hacking:\n return this.getFactionHackingWorkRepGain() * (this.shock / 100) * favorMult;\n case FactionWorkType.Field:\n return this.getFactionFieldWorkRepGain() * (this.shock / 100) * favorMult;\n case FactionWorkType.Security:\n return this.getFactionSecurityWorkRepGain() * (this.shock / 100) * favorMult;\n default:\n console.warn(`Invalid Sleeve.factionWorkType property in Sleeve.getRepGain(): ${this.factionWorkType}`);\n return 0;\n }\n } else if (this.currentTask === SleeveTaskType.Company) {\n const companyName: string = this.currentTaskLocation;\n const company: Company | null = Companies[companyName];\n if (company == null) {\n console.error(`Invalid company found when trying to calculate rep gain: ${companyName}`);\n return 0;\n }\n\n const companyPosition: CompanyPosition | null = CompanyPositions[p.jobs[companyName]];\n if (companyPosition == null) {\n console.error(`Invalid company position name found when trying to calculate rep gain: ${p.jobs[companyName]}`);\n return 0;\n }\n\n const jobPerformance: number = companyPosition.calculateJobPerformance(\n this.hacking,\n this.strength,\n this.defense,\n this.dexterity,\n this.agility,\n this.charisma,\n );\n const favorMult = 1 + company.favor / 100;\n\n return jobPerformance * this.company_rep_mult * favorMult;\n } else {\n return 0;\n }\n }\n\n installAugmentation(aug: Augmentation): void {\n this.hacking_exp = 0;\n this.strength_exp = 0;\n this.defense_exp = 0;\n this.dexterity_exp = 0;\n this.agility_exp = 0;\n this.charisma_exp = 0;\n this.applyAugmentation(aug);\n this.augmentations.push({ name: aug.name, level: 1 });\n this.updateStatLevels();\n }\n\n log(entry: string): void {\n const MaxLogSize = 50;\n this.logs.push(entry);\n if (this.logs.length > MaxLogSize) {\n this.logs.shift();\n }\n }\n\n /**\n * Called on every sleeve for a Source File Prestige\n */\n prestige(p: IPlayer): void {\n // Reset exp\n this.hacking_exp = 0;\n this.strength_exp = 0;\n this.defense_exp = 0;\n this.dexterity_exp = 0;\n this.agility_exp = 0;\n this.charisma_exp = 0;\n\n // Reset task-related stuff\n this.resetTaskStatus();\n this.earningsForSleeves = createTaskTracker();\n this.earningsForPlayer = createTaskTracker();\n this.shockRecovery(p);\n\n // Reset augs and multipliers\n this.augmentations = [];\n this.resetMultipliers();\n\n // Reset Location\n\n this.city = CityName.Sector12;\n\n // Reset sleeve-related stats\n this.shock = 1;\n this.storedCycles = 0;\n this.sync = Math.max(this.memory, 1);\n\n this.logs = [];\n }\n\n /**\n * Process loop\n * Returns an object containing the amount of experience that should be\n * transferred to all other sleeves\n */\n process(p: IPlayer, numCycles = 1): ITaskTracker | null {\n // Only process once every second (5 cycles)\n const CyclesPerSecond = 1000 / CONSTANTS.MilliPerCycle;\n this.storedCycles += numCycles;\n if (this.storedCycles < CyclesPerSecond) {\n return null;\n }\n\n let cyclesUsed = this.storedCycles;\n cyclesUsed = Math.min(cyclesUsed, 15);\n let time = cyclesUsed * CONSTANTS.MilliPerCycle;\n if (this.currentTaskMaxTime !== 0 && this.currentTaskTime + time > this.currentTaskMaxTime) {\n time = this.currentTaskMaxTime - this.currentTaskTime;\n cyclesUsed = Math.floor(time / CONSTANTS.MilliPerCycle);\n\n if (time < 0 || cyclesUsed < 0) {\n console.warn(`Sleeve.process() calculated negative cycle usage`);\n time = 0;\n cyclesUsed = 0;\n }\n }\n\n this.currentTaskTime += time;\n\n // Shock gradually goes towards 100\n this.shock = Math.min(100, this.shock + 0.0001 * cyclesUsed);\n\n let retValue: ITaskTracker = createTaskTracker();\n switch (this.currentTask) {\n case SleeveTaskType.Idle:\n break;\n case SleeveTaskType.Class:\n case SleeveTaskType.Gym:\n this.updateTaskGainRates(p);\n retValue = this.gainExperience(p, this.gainRatesForTask, cyclesUsed);\n this.gainMoney(p, this.gainRatesForTask, cyclesUsed);\n break;\n case SleeveTaskType.Faction: {\n retValue = this.gainExperience(p, this.gainRatesForTask, cyclesUsed);\n this.gainMoney(p, this.gainRatesForTask, cyclesUsed);\n\n // Gain faction reputation\n const fac: Faction = Factions[this.currentTaskLocation];\n if (!(fac instanceof Faction)) {\n console.error(`Invalid faction for Sleeve task: ${this.currentTaskLocation}`);\n break;\n }\n\n // If the player has a gang with the faction the sleeve is working\n // for, we need to reset the sleeve's task\n if (p.gang) {\n if (fac.name === p.gang.facName) {\n this.resetTaskStatus();\n }\n }\n\n fac.playerReputation += this.getRepGain(p) * cyclesUsed;\n break;\n }\n case SleeveTaskType.Company: {\n retValue = this.gainExperience(p, this.gainRatesForTask, cyclesUsed);\n this.gainMoney(p, this.gainRatesForTask, cyclesUsed);\n\n const company: Company = Companies[this.currentTaskLocation];\n if (!(company instanceof Company)) {\n console.error(`Invalid company for Sleeve task: ${this.currentTaskLocation}`);\n break;\n }\n\n company.playerReputation += this.getRepGain(p) * cyclesUsed;\n break;\n }\n case SleeveTaskType.Recovery:\n this.shock = Math.min(100, this.shock + 0.0002 * cyclesUsed);\n if (this.shock >= 100) this.resetTaskStatus();\n break;\n case SleeveTaskType.Synchro:\n this.sync = Math.min(100, this.sync + p.getIntelligenceBonus(0.5) * 0.0002 * cyclesUsed);\n if (this.sync >= 100) this.resetTaskStatus();\n break;\n default:\n break;\n }\n\n if (this.currentTaskMaxTime !== 0 && this.currentTaskTime >= this.currentTaskMaxTime) {\n if (this.currentTask === SleeveTaskType.Crime) {\n retValue = this.finishTask(p);\n } else {\n this.finishTask(p);\n }\n }\n\n this.updateStatLevels();\n\n this.storedCycles -= cyclesUsed;\n\n return retValue;\n }\n\n /**\n * Resets all parameters used to keep information about the current task\n */\n resetTaskStatus(): void {\n this.earningsForTask = createTaskTracker();\n this.gainRatesForTask = createTaskTracker();\n this.currentTask = SleeveTaskType.Idle;\n this.currentTaskTime = 0;\n this.currentTaskMaxTime = 0;\n this.factionWorkType = FactionWorkType.None;\n this.crimeType = \"\";\n this.currentTaskLocation = \"\";\n this.gymStatType = \"\";\n this.className = \"\";\n }\n\n shockRecovery(p: IPlayer): boolean {\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus();\n }\n\n this.currentTask = SleeveTaskType.Recovery;\n return true;\n }\n\n synchronize(p: IPlayer): boolean {\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus();\n }\n\n this.currentTask = SleeveTaskType.Synchro;\n return true;\n }\n\n /**\n * Take a course at a university\n */\n takeUniversityCourse(p: IPlayer, universityName: string, className: string): boolean {\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus();\n }\n\n // Set exp/money multipliers based on which university.\n // Also check that the sleeve is in the right city\n let costMult = 1;\n switch (universityName.toLowerCase()) {\n case LocationName.AevumSummitUniversity.toLowerCase():\n if (this.city !== CityName.Aevum) {\n return false;\n }\n this.currentTaskLocation = LocationName.AevumSummitUniversity;\n costMult = 4;\n break;\n case LocationName.Sector12RothmanUniversity.toLowerCase():\n if (this.city !== CityName.Sector12) {\n return false;\n }\n this.currentTaskLocation = LocationName.Sector12RothmanUniversity;\n costMult = 3;\n break;\n case LocationName.VolhavenZBInstituteOfTechnology.toLowerCase():\n if (this.city !== CityName.Volhaven) {\n return false;\n }\n this.currentTaskLocation = LocationName.VolhavenZBInstituteOfTechnology;\n costMult = 5;\n break;\n default:\n return false;\n }\n\n // Set experience/money gains based on class\n switch (className.toLowerCase()) {\n case \"study computer science\":\n break;\n case \"data structures\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassDataStructuresBaseCost * costMult);\n break;\n case \"networks\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassNetworksBaseCost * costMult);\n break;\n case \"algorithms\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassAlgorithmsBaseCost * costMult);\n break;\n case \"management\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassManagementBaseCost * costMult);\n break;\n case \"leadership\":\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassLeadershipBaseCost * costMult);\n break;\n default:\n return false;\n }\n\n this.className = className;\n this.currentTask = SleeveTaskType.Class;\n return true;\n }\n\n /**\n * Travel to another City. Costs money from player\n */\n travel(p: IPlayer, newCity: CityName): boolean {\n p.loseMoney(CONSTANTS.TravelCost, \"sleeves\");\n this.city = newCity;\n\n return true;\n }\n\n tryBuyAugmentation(p: IPlayer, aug: Augmentation): boolean {\n if (!p.canAfford(aug.startingCost)) {\n return false;\n }\n\n // Verify that this sleeve does not already have that augmentation.\n if (this.augmentations.some((a) => a.name === aug.name)) {\n return false;\n }\n\n p.loseMoney(aug.startingCost, \"sleeves\");\n this.installAugmentation(aug);\n return true;\n }\n\n updateTaskGainRates(p: IPlayer): void {\n if (this.currentTask === SleeveTaskType.Class) {\n let expMult = 1;\n switch (this.currentTaskLocation.toLowerCase()) {\n case LocationName.AevumSummitUniversity.toLowerCase():\n expMult = 3;\n break;\n case LocationName.Sector12RothmanUniversity.toLowerCase():\n expMult = 2;\n break;\n case LocationName.VolhavenZBInstituteOfTechnology.toLowerCase():\n expMult = 4;\n break;\n default:\n return;\n }\n\n const totalExpMult = expMult * p.hashManager.getStudyMult();\n switch (this.className.toLowerCase()) {\n case \"study computer science\":\n this.gainRatesForTask.hack =\n CONSTANTS.ClassStudyComputerScienceBaseExp * totalExpMult * this.hacking_exp_mult;\n break;\n case \"data structures\":\n this.gainRatesForTask.hack = CONSTANTS.ClassDataStructuresBaseExp * totalExpMult * this.hacking_exp_mult;\n break;\n case \"networks\":\n this.gainRatesForTask.hack = CONSTANTS.ClassNetworksBaseExp * totalExpMult * this.hacking_exp_mult;\n break;\n case \"algorithms\":\n this.gainRatesForTask.hack = CONSTANTS.ClassAlgorithmsBaseExp * totalExpMult * this.hacking_exp_mult;\n break;\n case \"management\":\n this.gainRatesForTask.cha = CONSTANTS.ClassManagementBaseExp * totalExpMult * this.charisma_exp_mult;\n break;\n case \"leadership\":\n this.gainRatesForTask.cha = CONSTANTS.ClassLeadershipBaseExp * totalExpMult * this.charisma_exp_mult;\n break;\n default:\n break;\n }\n\n return;\n }\n\n if (this.currentTask === SleeveTaskType.Gym) {\n // Get gym exp multiplier\n let expMult = 1;\n switch (this.currentTaskLocation.toLowerCase()) {\n case LocationName.AevumCrushFitnessGym.toLowerCase():\n expMult = 2;\n break;\n case LocationName.AevumSnapFitnessGym.toLowerCase():\n expMult = 5;\n break;\n case LocationName.Sector12IronGym.toLowerCase():\n expMult = 1;\n break;\n case LocationName.Sector12PowerhouseGym.toLowerCase():\n expMult = 10;\n break;\n case LocationName.VolhavenMilleniumFitnessGym.toLowerCase():\n expMult = 4;\n break;\n default:\n return;\n }\n\n // Set stat gain rate\n const baseGymExp = 1;\n const totalExpMultiplier = p.hashManager.getTrainingMult() * expMult;\n const sanitizedStat: string = this.gymStatType.toLowerCase();\n if (sanitizedStat.includes(\"str\")) {\n this.gainRatesForTask.str = baseGymExp * totalExpMultiplier * this.strength_exp_mult;\n } else if (sanitizedStat.includes(\"def\")) {\n this.gainRatesForTask.def = baseGymExp * totalExpMultiplier * this.defense_exp_mult;\n } else if (sanitizedStat.includes(\"dex\")) {\n this.gainRatesForTask.dex = baseGymExp * totalExpMultiplier * this.dexterity_exp_mult;\n } else if (sanitizedStat.includes(\"agi\")) {\n this.gainRatesForTask.agi = baseGymExp * totalExpMultiplier * this.agility_exp_mult;\n }\n\n return;\n }\n\n console.warn(`Sleeve.updateTaskGainRates() called for unexpected task type ${this.currentTask}`);\n }\n\n upgradeMemory(n: number): void {\n if (n < 0) {\n console.warn(`Sleeve.upgradeMemory() called with negative value: ${n}`);\n return;\n }\n\n this.memory = Math.min(100, Math.round(this.memory + n));\n }\n\n /**\n * Start work for one of the player's companies\n * Returns boolean indicating success\n */\n workForCompany(p: IPlayer, companyName: string): boolean {\n if (!(Companies[companyName] instanceof Company) || p.jobs[companyName] == null) {\n return false;\n }\n\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus();\n }\n\n const company: Company | null = Companies[companyName];\n const companyPosition: CompanyPosition | null = CompanyPositions[p.jobs[companyName]];\n if (company == null) {\n return false;\n }\n if (companyPosition == null) {\n return false;\n }\n this.gainRatesForTask.money =\n companyPosition.baseSalary *\n company.salaryMultiplier *\n this.work_money_mult *\n BitNodeMultipliers.CompanyWorkMoney;\n this.gainRatesForTask.hack =\n companyPosition.hackingExpGain *\n company.expMultiplier *\n this.hacking_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.str =\n companyPosition.strengthExpGain *\n company.expMultiplier *\n this.strength_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.def =\n companyPosition.defenseExpGain *\n company.expMultiplier *\n this.defense_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.dex =\n companyPosition.dexterityExpGain *\n company.expMultiplier *\n this.dexterity_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.agi =\n companyPosition.agilityExpGain *\n company.expMultiplier *\n this.agility_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain;\n this.gainRatesForTask.cha =\n companyPosition.charismaExpGain *\n company.expMultiplier *\n this.charisma_exp_mult *\n BitNodeMultipliers.CompanyWorkExpGain;\n\n this.currentTaskLocation = companyName;\n this.currentTask = SleeveTaskType.Company;\n\n return true;\n }\n\n /**\n * Start work for one of the player's factions\n * Returns boolean indicating success\n */\n workForFaction(p: IPlayer, factionName: string, workType: string): boolean {\n const faction = Factions[factionName];\n if (factionName === \"\" || !faction || !(faction instanceof Faction) || !p.factions.includes(factionName)) {\n return false;\n }\n\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus();\n }\n\n const factionInfo = faction.getInfo();\n\n // Set type of work (hacking/field/security), and the experience gains\n const sanitizedWorkType: string = workType.toLowerCase();\n if (sanitizedWorkType.includes(\"hack\")) {\n if (!factionInfo.offerHackingWork) {\n return false;\n }\n this.factionWorkType = FactionWorkType.Hacking;\n this.gainRatesForTask.hack = 0.15 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n } else if (sanitizedWorkType.includes(\"field\")) {\n if (!factionInfo.offerFieldWork) {\n return false;\n }\n this.factionWorkType = FactionWorkType.Field;\n this.gainRatesForTask.hack = 0.1 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.str = 0.1 * this.strength_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.def = 0.1 * this.defense_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.dex = 0.1 * this.dexterity_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.agi = 0.1 * this.agility_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.cha = 0.1 * this.charisma_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n } else if (sanitizedWorkType.includes(\"security\")) {\n if (!factionInfo.offerSecurityWork) {\n return false;\n }\n this.factionWorkType = FactionWorkType.Security;\n this.gainRatesForTask.hack = 0.1 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.str = 0.15 * this.strength_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.def = 0.15 * this.defense_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.dex = 0.15 * this.dexterity_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n this.gainRatesForTask.agi = 0.15 * this.agility_exp_mult * BitNodeMultipliers.FactionWorkExpGain;\n } else {\n return false;\n }\n\n this.currentTaskLocation = factionName;\n this.currentTask = SleeveTaskType.Faction;\n\n return true;\n }\n\n /**\n * Begin a gym workout task\n */\n workoutAtGym(p: IPlayer, gymName: string, stat: string): boolean {\n if (this.currentTask !== SleeveTaskType.Idle) {\n this.finishTask(p);\n } else {\n this.resetTaskStatus();\n }\n\n // Set exp/money multipliers based on which university.\n // Also check that the sleeve is in the right city\n let costMult = 1;\n switch (gymName.toLowerCase()) {\n case LocationName.AevumCrushFitnessGym.toLowerCase():\n if (this.city != CityName.Aevum) {\n return false;\n }\n this.currentTaskLocation = LocationName.AevumCrushFitnessGym;\n costMult = 3;\n break;\n case LocationName.AevumSnapFitnessGym.toLowerCase():\n if (this.city != CityName.Aevum) {\n return false;\n }\n this.currentTaskLocation = LocationName.AevumSnapFitnessGym;\n costMult = 10;\n break;\n case LocationName.Sector12IronGym.toLowerCase():\n if (this.city != CityName.Sector12) {\n return false;\n }\n this.currentTaskLocation = LocationName.Sector12IronGym;\n costMult = 1;\n break;\n case LocationName.Sector12PowerhouseGym.toLowerCase():\n if (this.city != CityName.Sector12) {\n return false;\n }\n this.currentTaskLocation = LocationName.Sector12PowerhouseGym;\n costMult = 20;\n break;\n case LocationName.VolhavenMilleniumFitnessGym.toLowerCase():\n if (this.city != CityName.Volhaven) {\n return false;\n }\n this.currentTaskLocation = LocationName.VolhavenMilleniumFitnessGym;\n costMult = 7;\n break;\n default:\n return false;\n }\n\n // Set experience/money gains based on class\n const sanitizedStat: string = stat.toLowerCase();\n\n // Set cost\n this.gainRatesForTask.money = -1 * (CONSTANTS.ClassGymBaseCost * costMult);\n\n // Validate \"stat\" argument\n if (\n !sanitizedStat.includes(\"str\") &&\n !sanitizedStat.includes(\"def\") &&\n !sanitizedStat.includes(\"dex\") &&\n !sanitizedStat.includes(\"agi\")\n ) {\n return false;\n }\n\n this.gymStatType = stat;\n this.currentTask = SleeveTaskType.Gym;\n\n return true;\n }\n\n /**\n * Serialize the current object to a JSON save state.\n */\n toJSON(): any {\n return Generic_toJSON(\"Sleeve\", this);\n }\n\n /**\n * Initiatizes a Sleeve object from a JSON save state.\n */\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Sleeve {\n return Generic_fromJSON(Sleeve, value.data);\n }\n}\n\nReviver.constructors.Sleeve = Sleeve;\n","export enum RamCalculationErrorCode {\n SyntaxError = -1,\n ImportError = -2,\n URLImportError = -3,\n}\n","import { EventEmitter } from \"../utils/EventEmitter\";\nexport const TerminalEvents = new EventEmitter<[]>();\nexport const TerminalClearEvents = new EventEmitter<[]>();\n","/**\n * Helper functions for determine whether Limit and Stop orders should\n * be executed (and executing them)\n */\nimport { buyStock, sellStock, shortStock, sellShort } from \"./BuyingAndSelling\";\nimport { IOrderBook } from \"./IOrderBook\";\nimport { IStockMarket } from \"./IStockMarket\";\nimport { Order } from \"./Order\";\nimport { Stock } from \"./Stock\";\n\nimport { OrderTypes } from \"./data/OrderTypes\";\nimport { PositionTypes } from \"./data/PositionTypes\";\n\nimport { IMap } from \"../types\";\n\nimport { numeralWrapper } from \"../ui/numeralFormat\";\nimport { Money } from \"../ui/React/Money\";\n\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { Settings } from \"../Settings/Settings\";\n\nimport * as React from \"react\";\n\nexport interface IProcessOrderRefs {\n stockMarket: IStockMarket;\n symbolToStockMap: IMap;\n}\n\n/**\n * Search for all orders of a specific type and execute them if appropriate\n * @param {Stock} stock - Stock for which orders should be processed\n * @param {OrderTypes} orderType - Type of order to check (Limit/Stop buy/sell)\n * @param {PositionTypes} posType - Long or short\n * @param {IProcessOrderRefs} refs - References to objects/functions that are required for this function\n */\nexport function processOrders(\n stock: Stock,\n orderType: OrderTypes,\n posType: PositionTypes,\n refs: IProcessOrderRefs,\n): void {\n const orderBook = refs.stockMarket[\"Orders\"];\n if (orderBook == null) {\n const orders: IOrderBook = {};\n for (const name of Object.keys(refs.stockMarket)) {\n const stock = refs.stockMarket[name];\n if (!(stock instanceof Stock)) {\n continue;\n }\n orders[stock.symbol] = [];\n }\n refs.stockMarket[\"Orders\"] = orders;\n return; // Newly created, so no orders to process\n }\n let stockOrders = orderBook[stock.symbol];\n if (stockOrders == null || !(stockOrders.constructor === Array)) {\n console.error(`Invalid Order book for ${stock.symbol} in processOrders(): ${stockOrders}`);\n stockOrders = [];\n return;\n }\n\n for (const order of stockOrders) {\n if (order.type === orderType && order.pos === posType) {\n switch (order.type) {\n case OrderTypes.LimitBuy:\n if (order.pos === PositionTypes.Long && stock.price <= order.price) {\n executeOrder(/*66*/ order, refs);\n } else if (order.pos === PositionTypes.Short && stock.price >= order.price) {\n executeOrder(/*66*/ order, refs);\n }\n break;\n case OrderTypes.LimitSell:\n if (order.pos === PositionTypes.Long && stock.price >= order.price) {\n executeOrder(/*66*/ order, refs);\n } else if (order.pos === PositionTypes.Short && stock.price <= order.price) {\n executeOrder(/*66*/ order, refs);\n }\n break;\n case OrderTypes.StopBuy:\n if (order.pos === PositionTypes.Long && stock.price >= order.price) {\n executeOrder(/*66*/ order, refs);\n } else if (order.pos === PositionTypes.Short && stock.price <= order.price) {\n executeOrder(/*66*/ order, refs);\n }\n break;\n case OrderTypes.StopSell:\n if (order.pos === PositionTypes.Long && stock.price <= order.price) {\n executeOrder(/*66*/ order, refs);\n } else if (order.pos === PositionTypes.Short && stock.price >= order.price) {\n executeOrder(/*66*/ order, refs);\n }\n break;\n default:\n console.warn(`Invalid order type: ${order.type}`);\n return;\n }\n }\n }\n}\n\n/**\n * Execute a Stop or Limit Order.\n * @param {Order} order - Order being executed\n * @param {IProcessOrderRefs} refs - References to objects/functions that are required for this function\n */\nfunction executeOrder(order: Order, refs: IProcessOrderRefs): void {\n const stock = refs.symbolToStockMap[order.stockSymbol];\n if (!(stock instanceof Stock)) {\n console.error(`Could not find stock for this order: ${order.stockSymbol}`);\n return;\n }\n const stockMarket = refs.stockMarket;\n const orderBook = stockMarket[\"Orders\"];\n const stockOrders = orderBook[stock.symbol];\n\n // When orders are executed, the buying and selling functions shouldn't\n // emit popup dialog boxes. This options object configures the functions for that\n const opts = {\n suppressDialog: true,\n };\n\n let res = true;\n let isBuy = false;\n switch (order.type) {\n case OrderTypes.LimitBuy:\n case OrderTypes.StopBuy:\n isBuy = true;\n if (order.pos === PositionTypes.Long) {\n res = buyStock(stock, order.shares, null, opts) && res;\n } else if (order.pos === PositionTypes.Short) {\n res = shortStock(stock, order.shares, null, opts) && res;\n }\n break;\n case OrderTypes.LimitSell:\n case OrderTypes.StopSell:\n if (order.pos === PositionTypes.Long) {\n res = sellStock(stock, order.shares, null, opts) && res;\n } else if (order.pos === PositionTypes.Short) {\n res = sellShort(stock, order.shares, null, opts) && res;\n }\n break;\n default:\n console.warn(`Invalid order type: ${order.type}`);\n return;\n }\n\n // Position type, for logging/message purposes\n const pos = order.pos === PositionTypes.Long ? \"Long\" : \"Short\";\n\n if (res) {\n for (let i = 0; i < stockOrders.length; ++i) {\n if (order == stockOrders[i]) {\n stockOrders.splice(i, 1);\n if (!Settings.SuppressTIXPopup) {\n dialogBoxCreate(\n <>\n {order.type} for {stock.symbol} @ ({pos}) was filled (\n {numeralWrapper.formatShares(Math.round(order.shares))} shares)\n >,\n );\n }\n return;\n }\n }\n\n console.error(\"Could not find the following Order in Order Book: \");\n console.error(order);\n } else if (isBuy) {\n dialogBoxCreate(\n <>\n Failed to execute {order.type} for {stock.symbol} @ ({pos}). This is most likely\n because you do not have enough money or the order would exceed the stock's maximum number of shares\n >,\n );\n }\n}\n","import { IMap } from \"../types\";\nimport * as predefined from \"./data\";\n\nexport interface ITheme {\n [key: string]: string | undefined;\n primarylight: string;\n primary: string;\n primarydark: string;\n successlight: string;\n success: string;\n successdark: string;\n errorlight: string;\n error: string;\n errordark: string;\n secondarylight: string;\n secondary: string;\n secondarydark: string;\n warninglight: string;\n warning: string;\n warningdark: string;\n infolight: string;\n info: string;\n infodark: string;\n welllight: string;\n well: string;\n white: string;\n black: string;\n hp: string;\n money: string;\n hack: string;\n combat: string;\n cha: string;\n int: string;\n rep: string;\n disabled: string;\n backgroundprimary: string;\n backgroundsecondary: string;\n button: string;\n}\n\nexport interface IPredefinedTheme {\n colors: ITheme;\n name: string;\n credit: string;\n screenshot: string;\n description: string;\n reference?: string;\n}\n\nexport const defaultTheme: ITheme = {\n ...predefined.Default.colors,\n};\n\nexport const getPredefinedThemes = (): IMap => ({\n ...predefined,\n});\n","import React, { useState, useEffect } from \"react\";\nimport { EventEmitter } from \"../../utils/EventEmitter\";\nimport { Modal } from \"./Modal\";\nimport Typography from \"@mui/material/Typography\";\nimport Box from \"@mui/material/Box\";\nimport { sha256 } from \"js-sha256\";\n\nexport const AlertEvents = new EventEmitter<[string | JSX.Element]>();\n\ninterface Alert {\n id: string;\n text: string | JSX.Element;\n hash: string;\n}\n\nlet i = 0;\nexport function AlertManager(): React.ReactElement {\n const [alerts, setAlerts] = useState([]);\n useEffect(\n () =>\n AlertEvents.subscribe((text: string | JSX.Element) => {\n const id = i + \"\";\n i++;\n setAlerts((old) => {\n const hash = getMessageHash(text);\n if (old.some((a) => a.hash === hash)) {\n console.log(\"Duplicate message\");\n return old;\n }\n return [\n ...old,\n {\n id: id,\n text: text,\n hash: hash,\n },\n ];\n });\n }),\n [],\n );\n\n useEffect(() => {\n function handle(this: Document, event: KeyboardEvent): void {\n if (event.code === \"Escape\") {\n setAlerts([]);\n }\n }\n document.addEventListener(\"keydown\", handle);\n return () => document.removeEventListener(\"keydown\", handle);\n }, []);\n\n function getMessageHash(text: string | JSX.Element): string {\n if (typeof text === \"string\") return sha256(text);\n return sha256(JSON.stringify(text.props));\n }\n\n function close(): void {\n setAlerts((old) => {\n return old.slice(1, 1e99);\n });\n }\n\n return (\n <>\n {alerts.length > 0 && (\n \n \n {alerts[0].text}\n \n \n )}\n >\n );\n}\n","import { getRandomByte } from \"./helpers/getRandomByte\";\n\n/**\n * Generate a random IP address\n * Does not check to see if the IP already exists in the game\n */\nexport function createRandomIp(): string {\n const ip: string = getRandomByte(99) + \".\" + getRandomByte(9) + \".\" + getRandomByte(9) + \".\" + getRandomByte(9);\n\n return ip;\n}\n","function getDB(): Promise {\n return new Promise((resolve, reject) => {\n if (!window.indexedDB) {\n reject(\"Indexed DB does not exists\");\n }\n /**\n * DB is called bitburnerSave\n * Object store is called savestring\n * key for the Object store is called save\n * Version `1` is important\n */\n const indexedDbRequest: IDBOpenDBRequest = window.indexedDB.open(\"bitburnerSave\", 1);\n\n // This is called when there's no db to begin with. It's important, don't remove it.\n indexedDbRequest.onupgradeneeded = function (this: IDBRequest) {\n const db = this.result;\n db.createObjectStore(\"savestring\");\n };\n\n indexedDbRequest.onerror = function (this: IDBRequest, ev: Event) {\n reject(`Failed to get IDB ${ev}`);\n };\n\n indexedDbRequest.onsuccess = function (this: IDBRequest) {\n const db = this.result;\n if (!db) {\n reject(\"database loading result was undefined\");\n return;\n }\n resolve(db.transaction([\"savestring\"], \"readwrite\").objectStore(\"savestring\"));\n };\n });\n}\n\nexport function load(): Promise {\n return new Promise((resolve, reject) => {\n getDB()\n .then((db) => {\n return new Promise((resolve, reject) => {\n const request: IDBRequest = db.get(\"save\");\n request.onerror = function (this: IDBRequest, ev: Event) {\n reject(\"Error in Database request to get savestring: \" + ev);\n };\n\n request.onsuccess = function (this: IDBRequest) {\n resolve(this.result);\n };\n }).then((saveString) => resolve(saveString));\n })\n .catch((r) => reject(r));\n });\n}\n\nexport function save(saveString: string): Promise {\n return getDB().then((db) => {\n return new Promise((resolve, reject) => {\n // We'll save to both localstorage and indexedDb\n const request = db.put(saveString, \"save\");\n\n request.onerror = function (e) {\n reject(\"Error saving game to IndexedDB: \" + e);\n };\n\n request.onsuccess = () => resolve();\n });\n });\n}\n\nexport function deleteGame(): Promise {\n return getDB().then((db) => {\n db.delete(\"save\");\n });\n}\n","import { Message } from \"./Message\";\nimport { AugmentationNames } from \"../Augmentation/data/AugmentationNames\";\nimport { Router } from \"../ui/GameRoot\";\nimport { Programs } from \"../Programs/Programs\";\nimport { Player } from \"../Player\";\nimport { Page } from \"../ui/Router\";\nimport { GetServer } from \"../Server/AllServers\";\nimport { SpecialServers } from \"../Server/data/SpecialServers\";\nimport { Settings } from \"../Settings/Settings\";\nimport { dialogBoxCreate } from \"../ui/React/DialogBox\";\nimport { FactionNames } from \"../Faction/data/FactionNames\";\nimport { Server } from \"../Server/Server\";\n\n//Sends message to player, including a pop up\nfunction sendMessage(msg: Message, forced = false): void {\n if (forced || !Settings.SuppressMessages) {\n showMessage(msg.filename);\n }\n addMessageToServer(msg);\n}\n\nfunction showMessage(name: MessageFilenames): void {\n const msg = Messages[name];\n if (!(msg instanceof Message)) throw new Error(\"trying to display unexistent message\");\n const txt =\n \"Message received from unknown sender:
\" +\n \"\" +\n msg.msg +\n \"
\" +\n \"This message was saved as \" +\n msg.filename +\n \" onto your home computer.\";\n dialogBoxCreate(txt);\n}\n\n//Adds a message to a server\nfunction addMessageToServer(msg: Message): void {\n //Short-circuit if the message has already been saved\n if (recvd(msg)) {\n return;\n }\n const server = GetServer(\"home\");\n if (server == null) {\n throw new Error(\"The home server doesn't exist. You done goofed.\");\n }\n server.messages.push(msg.filename);\n}\n\n//Returns whether the given message has already been received\nfunction recvd(msg: Message): boolean {\n const server = GetServer(\"home\");\n if (server == null) {\n throw new Error(\"The home server doesn't exist. You done goofed.\");\n }\n return server.messages.includes(msg.filename);\n}\n\n//Checks if any of the 'timed' messages should be sent\nfunction checkForMessagesToSend(): void {\n if (Router.page() === Page.BitVerse) return;\n const jumper0 = Messages[MessageFilenames.Jumper0];\n const jumper1 = Messages[MessageFilenames.Jumper1];\n const jumper2 = Messages[MessageFilenames.Jumper2];\n const jumper3 = Messages[MessageFilenames.Jumper3];\n const jumper4 = Messages[MessageFilenames.Jumper4];\n const cybersecTest = Messages[MessageFilenames.CyberSecTest];\n const nitesecTest = Messages[MessageFilenames.NiteSecTest];\n const bitrunnersTest = Messages[MessageFilenames.BitRunnersTest];\n const truthGazer = Messages[MessageFilenames.TruthGazer];\n const redpill = Messages[MessageFilenames.RedPill];\n\n if (Player.hasAugmentation(AugmentationNames.TheRedPill)) {\n //Get the world daemon required hacking level\n const worldDaemon = GetServer(SpecialServers.WorldDaemon);\n if (!(worldDaemon instanceof Server)) {\n throw new Error(\"The world daemon is not a server???? Please un-break reality\");\n }\n //If the daemon can be hacked, send the player icarus.msg\n if (Player.hacking >= worldDaemon.requiredHackingSkill) {\n sendMessage(redpill, Player.sourceFiles.length === 0);\n }\n //If the daemon cannot be hacked, send the player truthgazer.msg a single time.\n else if (!recvd(truthGazer)) {\n sendMessage(truthGazer);\n }\n } else if (!recvd(jumper0) && Player.hacking >= 25) {\n sendMessage(jumper0);\n const flightName = Programs.Flight.name;\n const homeComp = Player.getHomeComputer();\n if (!homeComp.programs.includes(flightName)) {\n homeComp.programs.push(flightName);\n }\n } else if (!recvd(jumper1) && Player.hacking >= 40) {\n sendMessage(jumper1);\n } else if (!recvd(cybersecTest) && Player.hacking >= 50) {\n sendMessage(cybersecTest);\n } else if (!recvd(jumper2) && Player.hacking >= 175) {\n sendMessage(jumper2);\n } else if (!recvd(nitesecTest) && Player.hacking >= 200) {\n sendMessage(nitesecTest);\n } else if (!recvd(jumper3) && Player.hacking >= 350) {\n sendMessage(jumper3);\n } else if (!recvd(jumper4) && Player.hacking >= 490) {\n sendMessage(jumper4);\n } else if (!recvd(bitrunnersTest) && Player.hacking >= 500) {\n sendMessage(bitrunnersTest);\n }\n}\n\nexport enum MessageFilenames {\n Jumper0 = \"j0.msg\",\n Jumper1 = \"j1.msg\",\n Jumper2 = \"j2.msg\",\n Jumper3 = \"j3.msg\",\n Jumper4 = \"j4.msg\",\n CyberSecTest = \"csec-test.msg\",\n NiteSecTest = \"nitesec-test.msg\",\n BitRunnersTest = \"19dfj3l1nd.msg\",\n TruthGazer = \"truthgazer.msg\",\n RedPill = \"icarus.msg\",\n}\n\n//Reset\nconst Messages: Record = {\n //jump3R Messages\n [MessageFilenames.Jumper0]: new Message(\n MessageFilenames.Jumper0,\n \"I know you can sense it. I know you're searching for it. \" +\n \"It's why you spend night after \" +\n \"night at your computer.
It's real, I've seen it. And I can \" +\n \"help you find it. But not right now. You're not ready yet.
\" +\n \"Use this program to track your progress
\" +\n \"The fl1ght.exe program was added to your home computer
\" +\n \"-jump3R\",\n ),\n\n [MessageFilenames.Jumper1]: new Message(\n MessageFilenames.Jumper1,\n `Soon you will be contacted by a hacking group known as ${FactionNames.NiteSec}. ` +\n \"They can help you with your search.
\" +\n \"You should join them, garner their favor, and \" +\n \"exploit them for their Augmentations. But do not trust them. \" +\n \"They are not what they seem. No one is.
\" +\n \"-jump3R\",\n ),\n\n [MessageFilenames.Jumper2]: new Message(\n MessageFilenames.Jumper2,\n \"Do not try to save the world. There is no world to save. If \" +\n \"you want to find the truth, worry only about yourself. Ethics and \" +\n `morals will get you killed.
Watch out for a hacking group known as ${FactionNames.NiteSec}.` +\n \"
-jump3R\",\n ),\n\n [MessageFilenames.Jumper3]: new Message(\n MessageFilenames.Jumper3,\n \"You must learn to walk before you can run. And you must \" +\n `run before you can fly. Look for ${FactionNames.TheBlackHand}.
` +\n \"I.I.I.I
-jump3R\",\n ),\n\n [MessageFilenames.Jumper4]: new Message(\n MessageFilenames.Jumper4,\n \"To find what you are searching for, you must understand the bits. \" +\n \"The bits are all around us. The runners will help you.
\" +\n \"-jump3R\",\n ),\n\n //Messages from hacking factions\n [MessageFilenames.CyberSecTest]: new Message(\n MessageFilenames.CyberSecTest,\n \"We've been watching you. Your skills are very impressive. But you're wasting \" +\n \"your talents. If you join us, you can put your skills to good use and change \" +\n \"the world for the better. If you join us, we can unlock your full potential.
\" +\n \"But first, you must pass our test. Find and install the backdoor on our server.
\" +\n `-${FactionNames.CyberSec}`,\n ),\n\n [MessageFilenames.NiteSecTest]: new Message(\n MessageFilenames.NiteSecTest,\n \"People say that the corrupted governments and corporations rule the world. \" +\n \"Yes, maybe they do. But do you know who everyone really fears? People \" +\n \"like us. Because they can't hide from us. Because they can't fight shadows \" +\n \"and ideas with bullets.
\" +\n \"Join us, and people will fear you, too.
\" +\n \"Find and install the backdoor on our server, avmnite-02h. Then, we will contact you again.\" +\n `
-${FactionNames.NiteSec}`,\n ),\n\n [MessageFilenames.BitRunnersTest]: new Message(\n MessageFilenames.BitRunnersTest,\n \"We know what you are doing. We know what drives you. We know \" +\n \"what you are looking for.
\" +\n \"We can help you find the answers.
\" +\n \"run4theh111z\",\n ),\n\n //Messages to guide players to the daemon\n [MessageFilenames.TruthGazer]: new Message(\n MessageFilenames.TruthGazer,\n //\"THE TRUTH CAN NO LONGER ESCAPE YOUR GAZE\"\n \"@&*($#@&__TH3__#@A@*)__TRU1H__(*)&*)($#@&()E&R)W& \" +\n \"%@*$^$()@&$)$*@__CAN__()(@^#)@&@)#__N0__(#@)@&@&( \" +\n \"*(__LON6ER__^#)@)(()*#@)@__ESCAP3__)#(@(#@*@()@(#*$ \" +\n \"()@)#$*%)$#()$#__Y0UR__(*)$#()%(&(%)*!)($__GAZ3__#(\",\n ),\n\n [MessageFilenames.RedPill]: new Message(\n MessageFilenames.RedPill,\n //\"FIND THE-CAVE\"\n \"@)(#V%*N)@(#*)*C)@#%*)*V)@#(*%V@)(#VN%*)@#(*% \" +\n \")@B(*#%)@)M#B*%V)____FIND___#$@)#%(B*)@#(*%B) \" +\n \"@_#(%_@#M(BDSPOMB__THE-CAVE_#)$(*@#$)@#BNBEGB \" +\n \"DFLSMFVMV)#@($*)@#*$MV)@#(*$V)M#(*$)M@(#*VM$)\",\n ),\n};\n\nexport { Messages, checkForMessagesToSend, showMessage };\n","// The initial formulas was sum 0 to f of 500*1.02^f.\n// see https://en.wikipedia.org/wiki/Geometric_series#Closed-form_formula\n// for information on how to calculate this\n\nexport function favorToRep(f: number): number {\n const raw = 25000 * (Math.pow(1.02, f) - 1);\n return Math.round(raw * 10000) / 10000; // round to make things easier.\n}\n\nexport function repToFavor(r: number): number {\n const raw = Math.log(r / 25000 + 1) / Math.log(1.02);\n return Math.round(raw * 10000) / 10000; // round to make things easier.\n}\n","import { Factions } from \"./Faction/Factions\";\nimport { IPlayer } from \"./PersonObjects/IPlayer\";\n\nexport let LastExportBonus = 0;\n\nconst bonusTimer = 24 * 60 * 60 * 1000; // 24h\nexport function canGetBonus(): boolean {\n const now = new Date().getTime();\n return now - LastExportBonus > bonusTimer;\n}\n\nexport function onExport(p: IPlayer): void {\n if (!canGetBonus()) return;\n for (const facName of p.factions) {\n Factions[facName].favor++;\n }\n LastExportBonus = new Date().getTime();\n}\n\nexport function setLastExportBonus(unixTime: number): void {\n LastExportBonus = unixTime;\n}\n","/**\n * React component for a selectable option on the Faction UI. These\n * options including working for the faction, hacking missions, purchasing\n * augmentations, etc.\n */\nimport * as React from \"react\";\n\nimport Typography from \"@mui/material/Typography\";\nimport Button from \"@mui/material/Button\";\nimport Paper from \"@mui/material/Paper\";\nimport Box from \"@mui/material/Box\";\n\ntype IProps = {\n buttonText: string;\n infoText: string;\n onClick: (e: React.MouseEvent) => void;\n};\n\nexport function Option(props: IProps): React.ReactElement {\n return (\n \n \n \n {props.infoText}\n \n \n );\n}\n","import { IBladeburner } from \"./IBladeburner\";\nimport { BladeburnerConstants } from \"./data/Constants\";\nimport { Action, IActionParams } from \"./Action\";\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\n\nexport interface IOperationParams extends IActionParams {\n reqdRank?: number;\n teamCount?: number;\n}\n\nexport class Operation extends Action {\n reqdRank = 100;\n teamCount = 0;\n\n constructor(params: IOperationParams | null = null) {\n super(params);\n if (params && params.reqdRank) this.reqdRank = params.reqdRank;\n if (params && params.teamCount) this.teamCount = params.teamCount;\n }\n\n // For actions that have teams. To be implemented by subtypes.\n getTeamSuccessBonus(inst: IBladeburner): number {\n if (this.teamCount && this.teamCount > 0) {\n this.teamCount = Math.min(this.teamCount, inst.teamSize);\n const teamMultiplier = Math.pow(this.teamCount, 0.05);\n return teamMultiplier;\n }\n\n return 1;\n }\n\n getActionTypeSkillSuccessBonus(inst: IBladeburner): number {\n return inst.skillMultipliers.successChanceOperation;\n }\n\n getChaosDifficultyBonus(inst: IBladeburner /*, params: ISuccessChanceParams*/): number {\n const city = inst.getCurrentCity();\n if (city.chaos > BladeburnerConstants.ChaosThreshold) {\n const diff = 1 + (city.chaos - BladeburnerConstants.ChaosThreshold);\n const mult = Math.pow(diff, 0.5);\n return mult;\n }\n\n return 1;\n }\n\n toJSON(): any {\n return Generic_toJSON(\"Operation\", this);\n }\n\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): Operation {\n return Generic_fromJSON(Operation, value.data);\n }\n}\n\nReviver.constructors.Operation = Operation;\n","import { FactionNames } from \"../../Faction/data/FactionNames\";\n// tslint:disable:max-file-line-count\n\n// This could actually be a JSON file as it should be constant metadata to be imported...\nimport { IMinMaxRange } from \"../../types\";\nimport { LocationName } from \"../../Locations/data/LocationNames\";\nimport { LiteratureNames } from \"../../Literature/data/LiteratureNames\";\nimport { SpecialServers } from \"./SpecialServers\";\n\n/**\n * The metadata describing the base state of servers on the network.\n * These values will be adjusted based on Bitnode multipliers when the Server objects are built out.\n */\ninterface IServerMetadata {\n /**\n * When populated, the base security level of the server.\n */\n hackDifficulty?: number | IMinMaxRange;\n\n /**\n * The DNS name of the server.\n */\n hostname: string;\n\n /**\n * When populated, the files will be added to the server when created.\n */\n literature?: string[];\n\n /**\n * When populated, the exponent of 2^x amount of RAM the server has.\n * This should be in the range of 1-20, to match the Player's max RAM.\n */\n maxRamExponent?: number | IMinMaxRange;\n\n /**\n * How much money the server starts out with.\n */\n moneyAvailable: number | IMinMaxRange;\n\n /**\n * The number of network layers away from the `home` server.\n * This value is between 1 and 15.\n * If this is not populated, @specialName should be.\n */\n networkLayer?: number | IMinMaxRange;\n\n /**\n * The number of ports that must be opened before the player can execute NUKE.\n */\n numOpenPortsRequired: number;\n\n /**\n * The organization that the server belongs to.\n */\n organizationName: string;\n\n /**\n * The minimum hacking level before the player can run NUKE.\n */\n requiredHackingSkill: number | IMinMaxRange;\n\n /**\n * The growth factor for the server.\n */\n serverGrowth?: number | IMinMaxRange;\n\n /**\n * A \"unique\" server that has special implications when the player manually hacks it.\n */\n specialName?: string;\n\n [key: string]: any;\n}\n\n/**\n * The metadata for building up the servers on the network.\n */\nexport const serverMetadata: IServerMetadata[] = [\n {\n hackDifficulty: 99,\n hostname: LocationName.AevumECorp.toLowerCase(),\n moneyAvailable: {\n max: 70e9,\n min: 30e9,\n },\n networkLayer: 15,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumECorp,\n requiredHackingSkill: {\n max: 1400,\n min: 1050,\n },\n serverGrowth: 99,\n specialName: LocationName.AevumECorp,\n },\n {\n hackDifficulty: 99,\n hostname: LocationName.Sector12MegaCorp.toLowerCase(),\n moneyAvailable: {\n max: 60e9,\n min: 40e9,\n },\n networkLayer: 15,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12MegaCorp,\n requiredHackingSkill: {\n max: 1350,\n min: 1100,\n },\n serverGrowth: 99,\n specialName: LocationName.Sector12MegaCorp,\n },\n {\n hackDifficulty: {\n max: 88,\n min: 72,\n },\n hostname: \"b-and-a\",\n moneyAvailable: {\n max: 30e9,\n min: 15e9,\n },\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumBachmanAndAssociates,\n requiredHackingSkill: {\n max: 1150,\n min: 900,\n },\n serverGrowth: {\n max: 80,\n min: 60,\n },\n specialName: LocationName.AevumBachmanAndAssociates,\n },\n {\n hackDifficulty: {\n max: 97,\n min: 88,\n },\n hostname: \"blade\",\n literature: [LiteratureNames.BeyondMan],\n maxRamExponent: {\n max: 9,\n min: 5,\n },\n moneyAvailable: {\n max: 40e9,\n min: 10e9,\n },\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12BladeIndustries,\n requiredHackingSkill: {\n max: 1200,\n min: 900,\n },\n serverGrowth: {\n max: 85,\n min: 55,\n },\n specialName: LocationName.Sector12BladeIndustries,\n },\n {\n hackDifficulty: 99,\n hostname: LocationName.VolhavenNWO.toLowerCase(),\n literature: [LiteratureNames.TheHiddenWorld],\n moneyAvailable: {\n max: 40e9,\n min: 20e9,\n },\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenNWO,\n requiredHackingSkill: {\n max: 1300,\n min: 950,\n },\n serverGrowth: {\n max: 95,\n min: 65,\n },\n specialName: LocationName.VolhavenNWO,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 45,\n },\n hostname: \"clarkinc\",\n literature: [LiteratureNames.BeyondMan, LiteratureNames.CostOfImmortality],\n moneyAvailable: {\n max: 25e9,\n min: 15e9,\n },\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumClarkeIncorporated,\n requiredHackingSkill: {\n max: 1250,\n min: 950,\n },\n serverGrowth: {\n max: 75,\n min: 45,\n },\n specialName: LocationName.AevumClarkeIncorporated,\n },\n {\n hackDifficulty: {\n max: 99,\n min: 90,\n },\n hostname: \"omnitek\",\n literature: [LiteratureNames.CodedIntelligence, LiteratureNames.HistoryOfSynthoids],\n maxRamExponent: {\n max: 9,\n min: 7,\n },\n moneyAvailable: {\n max: 22e9,\n min: 13e9,\n },\n networkLayer: 13,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenOmniTekIncorporated,\n requiredHackingSkill: {\n max: 1100,\n min: 900,\n },\n serverGrowth: {\n max: 99,\n min: 95,\n },\n specialName: LocationName.VolhavenOmniTekIncorporated,\n },\n {\n hackDifficulty: {\n max: 75,\n min: 55,\n },\n hostname: \"4sigma\",\n moneyAvailable: {\n max: 25e9,\n min: 15e9,\n },\n networkLayer: 13,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12FourSigma,\n requiredHackingSkill: {\n max: 1250,\n min: 900,\n },\n serverGrowth: {\n max: 99,\n min: 75,\n },\n specialName: LocationName.Sector12FourSigma,\n },\n {\n hackDifficulty: {\n max: 99,\n min: 95,\n },\n hostname: \"kuai-gong\",\n moneyAvailable: {\n max: 30e9,\n min: 20e9,\n },\n networkLayer: 13,\n numOpenPortsRequired: 5,\n organizationName: LocationName.ChongqingKuaiGongInternational,\n requiredHackingSkill: {\n max: 1300,\n min: 950,\n },\n serverGrowth: {\n max: 99,\n min: 90,\n },\n specialName: LocationName.ChongqingKuaiGongInternational,\n },\n {\n hackDifficulty: {\n max: 97,\n min: 83,\n },\n hostname: \"fulcrumtech\",\n literature: [LiteratureNames.SimulatedReality],\n maxRamExponent: {\n max: 11,\n min: 7,\n },\n moneyAvailable: {\n max: 1800e6,\n min: 1400e6,\n },\n networkLayer: 12,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumFulcrumTechnologies,\n requiredHackingSkill: {\n max: 1250,\n min: 950,\n },\n serverGrowth: {\n max: 99,\n min: 80,\n },\n specialName: LocationName.AevumFulcrumTechnologies,\n },\n {\n hackDifficulty: 99,\n hostname: \"fulcrumassets\",\n moneyAvailable: 1e6,\n networkLayer: 15,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumFulcrumTechnologies,\n requiredHackingSkill: {\n max: 1600,\n min: 1100,\n },\n serverGrowth: 1,\n specialName: SpecialServers.FulcrumSecretTechnologies,\n },\n {\n hackDifficulty: {\n max: 92,\n min: 78,\n },\n hostname: \"stormtech\",\n moneyAvailable: {\n max: 1200e6,\n min: 1000e6,\n },\n networkLayer: 12,\n numOpenPortsRequired: 5,\n organizationName: LocationName.IshimaStormTechnologies,\n requiredHackingSkill: {\n max: 1075,\n min: 875,\n },\n serverGrowth: {\n max: 92,\n min: 68,\n },\n specialName: LocationName.IshimaStormTechnologies,\n },\n {\n hackDifficulty: {\n max: 96,\n min: 84,\n },\n hostname: \"defcomm\",\n moneyAvailable: {\n max: 950e6,\n min: 800e6,\n },\n networkLayer: 9,\n numOpenPortsRequired: 5,\n organizationName: LocationName.NewTokyoDefComm,\n requiredHackingSkill: {\n max: 1050,\n min: 850,\n },\n serverGrowth: {\n max: 73,\n min: 47,\n },\n specialName: LocationName.NewTokyoDefComm,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 70,\n },\n hostname: \"infocomm\",\n moneyAvailable: {\n max: 900e6,\n min: 600e6,\n },\n networkLayer: 10,\n numOpenPortsRequired: 5,\n organizationName: \"InfoComm\",\n requiredHackingSkill: {\n max: 950,\n min: 875,\n },\n serverGrowth: {\n max: 75,\n min: 35,\n },\n },\n {\n hackDifficulty: {\n max: 95,\n min: 85,\n },\n hostname: \"helios\",\n literature: [LiteratureNames.BeyondMan],\n maxRamExponent: {\n max: 8,\n min: 5,\n },\n moneyAvailable: {\n max: 750e6,\n min: 550e6,\n },\n networkLayer: 12,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenHeliosLabs,\n requiredHackingSkill: {\n max: 900,\n min: 800,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n specialName: LocationName.VolhavenHeliosLabs,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 80,\n },\n hostname: LocationName.NewTokyoVitaLife.toLowerCase(),\n literature: [LiteratureNames.AGreenTomorrow],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 800e6,\n min: 700e6,\n },\n networkLayer: 12,\n numOpenPortsRequired: 5,\n organizationName: LocationName.NewTokyoVitaLife,\n requiredHackingSkill: {\n max: 900,\n min: 775,\n },\n serverGrowth: {\n max: 80,\n min: 60,\n },\n specialName: LocationName.NewTokyoVitaLife,\n },\n {\n hackDifficulty: {\n max: 95,\n min: 85,\n },\n hostname: \"icarus\",\n moneyAvailable: {\n max: 1000e6,\n min: 900e6,\n },\n networkLayer: 9,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12IcarusMicrosystems,\n requiredHackingSkill: {\n max: 925,\n min: 850,\n },\n serverGrowth: {\n max: 95,\n min: 85,\n },\n specialName: LocationName.Sector12IcarusMicrosystems,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 80,\n },\n hostname: \"univ-energy\",\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 1200e6,\n min: 1100e6,\n },\n networkLayer: 9,\n numOpenPortsRequired: 4,\n organizationName: LocationName.Sector12UniversalEnergy,\n requiredHackingSkill: {\n max: 900,\n min: 800,\n },\n serverGrowth: {\n max: 90,\n min: 80,\n },\n specialName: LocationName.Sector12UniversalEnergy,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"titan-labs\",\n literature: [LiteratureNames.CodedIntelligence],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 900000000,\n min: 750000000,\n },\n networkLayer: 11,\n numOpenPortsRequired: 5,\n organizationName: \"Titan Laboratories\",\n requiredHackingSkill: {\n max: 875,\n min: 800,\n },\n serverGrowth: {\n max: 80,\n min: 60,\n },\n },\n {\n hackDifficulty: {\n max: 75,\n min: 65,\n },\n hostname: \"microdyne\",\n literature: [LiteratureNames.SyntheticMuscles],\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 700000000,\n min: 500000000,\n },\n networkLayer: 11,\n numOpenPortsRequired: 5,\n organizationName: \"Microdyne Technologies\",\n requiredHackingSkill: {\n max: 875,\n min: 800,\n },\n serverGrowth: {\n max: 90,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"taiyang-digital\",\n literature: [LiteratureNames.AGreenTomorrow, LiteratureNames.BrighterThanTheSun],\n moneyAvailable: {\n max: 900000000,\n min: 800000000,\n },\n networkLayer: 10,\n numOpenPortsRequired: 5,\n organizationName: \"Taiyang Digital\",\n requiredHackingSkill: {\n max: 950,\n min: 850,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 65,\n min: 55,\n },\n hostname: \"galactic-cyber\",\n moneyAvailable: {\n max: 850000000,\n min: 750000000,\n },\n networkLayer: 7,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumGalacticCybersystems,\n requiredHackingSkill: {\n max: 875,\n min: 825,\n },\n serverGrowth: {\n max: 90,\n min: 70,\n },\n specialName: LocationName.AevumGalacticCybersystems,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 80,\n },\n hostname: LocationName.AevumAeroCorp.toLowerCase(),\n literature: [LiteratureNames.ManAndMachine],\n moneyAvailable: {\n max: 1200000000,\n min: 1000000000,\n },\n networkLayer: 7,\n numOpenPortsRequired: 5,\n organizationName: LocationName.AevumAeroCorp,\n requiredHackingSkill: {\n max: 925,\n min: 850,\n },\n serverGrowth: {\n max: 65,\n min: 55,\n },\n specialName: LocationName.AevumAeroCorp,\n },\n {\n hackDifficulty: {\n max: 95,\n min: 85,\n },\n hostname: \"omnia\",\n literature: [LiteratureNames.HistoryOfSynthoids],\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 1000000000,\n min: 900000000,\n },\n networkLayer: 8,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenOmniaCybersystems,\n requiredHackingSkill: {\n max: 950,\n min: 850,\n },\n serverGrowth: {\n max: 70,\n min: 60,\n },\n specialName: LocationName.VolhavenOmniaCybersystems,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 55,\n },\n hostname: \"zb-def\",\n literature: [LiteratureNames.SyntheticMuscles],\n moneyAvailable: {\n max: 1100000000,\n min: 900000000,\n },\n networkLayer: 10,\n numOpenPortsRequired: 4,\n organizationName: \"ZB Defense Industries\",\n requiredHackingSkill: {\n max: 825,\n min: 775,\n },\n serverGrowth: {\n max: 75,\n min: 65,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"applied-energetics\",\n moneyAvailable: {\n max: 1000000000,\n min: 700000000,\n },\n networkLayer: 11,\n numOpenPortsRequired: 4,\n organizationName: \"Applied Energetics\",\n requiredHackingSkill: {\n max: 850,\n min: 775,\n },\n serverGrowth: {\n max: 75,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"solaris\",\n literature: [LiteratureNames.AGreenTomorrow, LiteratureNames.TheFailedFrontier],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 900000000,\n min: 700000000,\n },\n networkLayer: 9,\n numOpenPortsRequired: 5,\n organizationName: LocationName.ChongqingSolarisSpaceSystems,\n requiredHackingSkill: {\n max: 850,\n min: 750,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n specialName: LocationName.ChongqingSolarisSpaceSystems,\n },\n {\n hackDifficulty: {\n max: 85,\n min: 75,\n },\n hostname: LocationName.Sector12DeltaOne.toLowerCase(),\n moneyAvailable: {\n max: 1700000000,\n min: 1300000000,\n },\n networkLayer: 8,\n numOpenPortsRequired: 5,\n organizationName: LocationName.Sector12DeltaOne,\n requiredHackingSkill: {\n max: 900,\n min: 800,\n },\n serverGrowth: {\n max: 70,\n min: 50,\n },\n specialName: LocationName.Sector12DeltaOne,\n },\n {\n hackDifficulty: {\n max: 85,\n min: 75,\n },\n hostname: \"global-pharm\",\n literature: [LiteratureNames.AGreenTomorrow],\n maxRamExponent: {\n max: 6,\n min: 3,\n },\n moneyAvailable: {\n max: 1750000000,\n min: 1500000000,\n },\n networkLayer: 7,\n numOpenPortsRequired: 4,\n organizationName: LocationName.NewTokyoGlobalPharmaceuticals,\n requiredHackingSkill: {\n max: 850,\n min: 750,\n },\n serverGrowth: {\n max: 90,\n min: 80,\n },\n specialName: LocationName.NewTokyoGlobalPharmaceuticals,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"nova-med\",\n moneyAvailable: {\n max: 1250000000,\n min: 1100000000,\n },\n networkLayer: 10,\n numOpenPortsRequired: 4,\n organizationName: LocationName.IshimaNovaMedical,\n requiredHackingSkill: {\n max: 850,\n min: 775,\n },\n serverGrowth: {\n max: 85,\n min: 65,\n },\n specialName: LocationName.IshimaNovaMedical,\n },\n {\n hackDifficulty: {\n max: 90,\n min: 70,\n },\n hostname: \"zeus-med\",\n moneyAvailable: {\n max: 1500000000,\n min: 1300000000,\n },\n networkLayer: 9,\n numOpenPortsRequired: 5,\n organizationName: \"Zeus Medical\",\n requiredHackingSkill: {\n max: 850,\n min: 800,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"unitalife\",\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 1100000000,\n min: 1000000000,\n },\n networkLayer: 8,\n numOpenPortsRequired: 4,\n organizationName: \"UnitaLife Group\",\n requiredHackingSkill: {\n max: 825,\n min: 775,\n },\n serverGrowth: {\n max: 80,\n min: 70,\n },\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"lexo-corp\",\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 800000000,\n min: 700000000,\n },\n networkLayer: 6,\n numOpenPortsRequired: 4,\n organizationName: LocationName.VolhavenLexoCorp,\n requiredHackingSkill: {\n max: 750,\n min: 650,\n },\n serverGrowth: {\n max: 65,\n min: 55,\n },\n specialName: LocationName.VolhavenLexoCorp,\n },\n {\n hackDifficulty: {\n max: 60,\n min: 40,\n },\n hostname: \"rho-construction\",\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 700000000,\n min: 500000000,\n },\n networkLayer: 6,\n numOpenPortsRequired: 3,\n organizationName: LocationName.AevumRhoConstruction,\n requiredHackingSkill: {\n max: 525,\n min: 475,\n },\n serverGrowth: {\n max: 60,\n min: 40,\n },\n specialName: LocationName.AevumRhoConstruction,\n },\n {\n hackDifficulty: {\n max: 70,\n min: 50,\n },\n hostname: \"alpha-ent\",\n literature: [LiteratureNames.Sector12Crime],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 750000000,\n min: 600000000,\n },\n networkLayer: 6,\n numOpenPortsRequired: 4,\n organizationName: LocationName.Sector12AlphaEnterprises,\n requiredHackingSkill: {\n max: 600,\n min: 500,\n },\n serverGrowth: {\n max: 60,\n min: 50,\n },\n specialName: LocationName.Sector12AlphaEnterprises,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 70,\n },\n hostname: \"aevum-police\",\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 400000000,\n min: 200000000,\n },\n networkLayer: 6,\n numOpenPortsRequired: 4,\n organizationName: LocationName.AevumPolice,\n requiredHackingSkill: {\n max: 450,\n min: 400,\n },\n serverGrowth: {\n max: 50,\n min: 30,\n },\n specialName: LocationName.AevumPolice,\n },\n {\n hackDifficulty: {\n max: 55,\n min: 45,\n },\n hostname: \"rothman-uni\",\n literature: [\n LiteratureNames.SecretSocieties,\n LiteratureNames.TheFailedFrontier,\n LiteratureNames.TensionsInTechRace,\n ],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 250000000,\n min: 175000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 3,\n organizationName: LocationName.Sector12RothmanUniversity,\n requiredHackingSkill: {\n max: 430,\n min: 370,\n },\n serverGrowth: {\n max: 45,\n min: 35,\n },\n specialName: LocationName.Sector12RothmanUniversity,\n },\n {\n hackDifficulty: {\n max: 85,\n min: 65,\n },\n hostname: \"zb-institute\",\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 1100000000,\n min: 800000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 5,\n organizationName: LocationName.VolhavenZBInstituteOfTechnology,\n requiredHackingSkill: {\n max: 775,\n min: 725,\n },\n serverGrowth: {\n max: 85,\n min: 75,\n },\n specialName: LocationName.VolhavenZBInstituteOfTechnology,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 45,\n },\n hostname: \"summit-uni\",\n literature: [LiteratureNames.SecretSocieties, LiteratureNames.TheFailedFrontier, LiteratureNames.SyntheticMuscles],\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: {\n max: 350000000,\n min: 200000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 3,\n organizationName: LocationName.AevumSummitUniversity,\n requiredHackingSkill: {\n max: 475,\n min: 425,\n },\n serverGrowth: {\n max: 60,\n min: 40,\n },\n specialName: LocationName.AevumSummitUniversity,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"syscore\",\n moneyAvailable: {\n max: 600000000,\n min: 400000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 4,\n organizationName: LocationName.VolhavenSysCoreSecurities,\n requiredHackingSkill: {\n max: 650,\n min: 550,\n },\n serverGrowth: {\n max: 70,\n min: 60,\n },\n specialName: LocationName.VolhavenSysCoreSecurities,\n },\n {\n hackDifficulty: {\n max: 70,\n min: 60,\n },\n hostname: \"catalyst\",\n literature: [LiteratureNames.TensionsInTechRace],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: {\n max: 550000000,\n min: 300000000,\n },\n networkLayer: 5,\n numOpenPortsRequired: 3,\n organizationName: \"Catalyst Ventures\",\n requiredHackingSkill: {\n max: 450,\n min: 400,\n },\n serverGrowth: {\n max: 55,\n min: 25,\n },\n },\n {\n hackDifficulty: {\n max: 45,\n min: 35,\n },\n hostname: \"the-hub\",\n maxRamExponent: {\n max: 6,\n min: 3,\n },\n moneyAvailable: {\n max: 200000000,\n min: 150000000,\n },\n networkLayer: 4,\n numOpenPortsRequired: 2,\n organizationName: \"The Hub\",\n requiredHackingSkill: {\n max: 325,\n min: 275,\n },\n serverGrowth: {\n max: 55,\n min: 45,\n },\n },\n {\n hackDifficulty: {\n max: 65,\n min: 55,\n },\n hostname: LocationName.VolhavenCompuTek.toLowerCase(),\n literature: [LiteratureNames.ManAndMachine],\n moneyAvailable: {\n max: 250000000,\n min: 220000000,\n },\n networkLayer: 4,\n numOpenPortsRequired: 3,\n organizationName: LocationName.VolhavenCompuTek,\n requiredHackingSkill: {\n max: 400,\n min: 300,\n },\n serverGrowth: {\n max: 65,\n min: 45,\n },\n specialName: LocationName.VolhavenCompuTek,\n },\n {\n hackDifficulty: {\n max: 80,\n min: 60,\n },\n hostname: \"netlink\",\n literature: [LiteratureNames.SimulatedReality],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: 275000000,\n networkLayer: 4,\n numOpenPortsRequired: 3,\n organizationName: LocationName.AevumNetLinkTechnologies,\n requiredHackingSkill: {\n max: 425,\n min: 375,\n },\n serverGrowth: {\n max: 75,\n min: 45,\n },\n specialName: LocationName.AevumNetLinkTechnologies,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 35,\n },\n hostname: \"johnson-ortho\",\n moneyAvailable: {\n max: 85000000,\n min: 70000000,\n },\n networkLayer: 4,\n numOpenPortsRequired: 2,\n organizationName: \"Johnson Orthopedics\",\n requiredHackingSkill: {\n max: 300,\n min: 250,\n },\n serverGrowth: {\n max: 65,\n min: 35,\n },\n },\n {\n hackDifficulty: 1,\n hostname: \"n00dles\",\n literature: [],\n maxRamExponent: 2,\n moneyAvailable: 70000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: LocationName.NewTokyoNoodleBar,\n requiredHackingSkill: 1,\n serverGrowth: 3000,\n specialName: LocationName.NewTokyoNoodleBar,\n },\n {\n hackDifficulty: 10,\n hostname: LocationName.Sector12FoodNStuff.toLowerCase(),\n literature: [LiteratureNames.Sector12Crime],\n maxRamExponent: 4,\n moneyAvailable: 2000000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: LocationName.Sector12FoodNStuff,\n requiredHackingSkill: 1,\n serverGrowth: 5,\n specialName: LocationName.Sector12FoodNStuff,\n },\n {\n hackDifficulty: 10,\n hostname: \"sigma-cosmetics\",\n maxRamExponent: 4,\n moneyAvailable: 2300000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: \"Sigma Cosmetics\",\n requiredHackingSkill: 5,\n serverGrowth: 10,\n },\n {\n hackDifficulty: 15,\n hostname: \"joesguns\",\n maxRamExponent: 4,\n moneyAvailable: 2500000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: LocationName.Sector12JoesGuns,\n requiredHackingSkill: 10,\n serverGrowth: 20,\n specialName: LocationName.Sector12JoesGuns,\n },\n {\n hackDifficulty: 25,\n hostname: \"zer0\",\n maxRamExponent: 5,\n moneyAvailable: 7500000,\n networkLayer: 2,\n numOpenPortsRequired: 1,\n organizationName: \"ZER0 Nightclub\",\n requiredHackingSkill: 75,\n serverGrowth: 40,\n },\n {\n hackDifficulty: 20,\n hostname: \"nectar-net\",\n maxRamExponent: 4,\n moneyAvailable: 2750000,\n networkLayer: 2,\n numOpenPortsRequired: 0,\n organizationName: \"Nectar Nightclub Network\",\n requiredHackingSkill: 20,\n serverGrowth: 25,\n },\n {\n hackDifficulty: 25,\n hostname: \"neo-net\",\n literature: [LiteratureNames.TheHiddenWorld],\n maxRamExponent: 5,\n moneyAvailable: 5000000,\n networkLayer: 3,\n numOpenPortsRequired: 1,\n organizationName: \"Neo Nightclub Network\",\n requiredHackingSkill: 50,\n serverGrowth: 25,\n },\n {\n hackDifficulty: 30,\n hostname: \"silver-helix\",\n literature: [LiteratureNames.NewTriads],\n maxRamExponent: 6,\n moneyAvailable: 45000000,\n networkLayer: 3,\n numOpenPortsRequired: 2,\n organizationName: \"Silver Helix\",\n requiredHackingSkill: 150,\n serverGrowth: 30,\n },\n {\n hackDifficulty: 15,\n hostname: \"hong-fang-tea\",\n literature: [LiteratureNames.BrighterThanTheSun],\n maxRamExponent: 4,\n moneyAvailable: 3000000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: \"HongFang Teahouse\",\n requiredHackingSkill: 30,\n serverGrowth: 20,\n },\n {\n hackDifficulty: 15,\n hostname: \"harakiri-sushi\",\n maxRamExponent: 4,\n moneyAvailable: 4000000,\n networkLayer: 1,\n numOpenPortsRequired: 0,\n organizationName: \"HaraKiri Sushi Bar Network\",\n requiredHackingSkill: 40,\n serverGrowth: 40,\n },\n {\n hackDifficulty: 20,\n hostname: \"phantasy\",\n maxRamExponent: 5,\n moneyAvailable: 24000000,\n networkLayer: 3,\n numOpenPortsRequired: 2,\n organizationName: \"Phantasy Club\",\n requiredHackingSkill: 100,\n serverGrowth: 35,\n },\n {\n hackDifficulty: 15,\n hostname: \"max-hardware\",\n maxRamExponent: 5,\n moneyAvailable: 10000000,\n networkLayer: 2,\n numOpenPortsRequired: 1,\n organizationName: \"Max Hardware Store\",\n requiredHackingSkill: 80,\n serverGrowth: 30,\n },\n {\n hackDifficulty: {\n max: 35,\n min: 25,\n },\n hostname: \"omega-net\",\n literature: [LiteratureNames.TheNewGod],\n maxRamExponent: 5,\n moneyAvailable: {\n max: 70000000,\n min: 60000000,\n },\n networkLayer: 3,\n numOpenPortsRequired: 2,\n organizationName: LocationName.IshimaOmegaSoftware,\n requiredHackingSkill: {\n max: 220,\n min: 180,\n },\n serverGrowth: {\n max: 40,\n min: 30,\n },\n specialName: LocationName.IshimaOmegaSoftware,\n },\n {\n hackDifficulty: {\n max: 45,\n min: 35,\n },\n hostname: \"crush-fitness\",\n moneyAvailable: {\n max: 60000000,\n min: 40000000,\n },\n networkLayer: 4,\n numOpenPortsRequired: 2,\n organizationName: \"Crush Fitness\",\n requiredHackingSkill: {\n max: 275,\n min: 225,\n },\n serverGrowth: {\n max: 33,\n min: 27,\n },\n specialName: LocationName.AevumCrushFitnessGym,\n },\n {\n hackDifficulty: 30,\n hostname: \"iron-gym\",\n maxRamExponent: 5,\n moneyAvailable: 20000000,\n networkLayer: 1,\n numOpenPortsRequired: 1,\n organizationName: `${LocationName.Sector12IronGym} Network`,\n requiredHackingSkill: 100,\n serverGrowth: 20,\n specialName: LocationName.Sector12IronGym,\n },\n {\n hackDifficulty: {\n max: 55,\n min: 45,\n },\n hostname: \"millenium-fitness\",\n maxRamExponent: {\n max: 8,\n min: 4,\n },\n moneyAvailable: 250000000,\n networkLayer: 6,\n numOpenPortsRequired: 3,\n organizationName: \"Millenium Fitness Network\",\n requiredHackingSkill: {\n max: 525,\n min: 475,\n },\n serverGrowth: {\n max: 45,\n min: 25,\n },\n specialName: LocationName.VolhavenMilleniumFitnessGym,\n },\n {\n hackDifficulty: {\n max: 65,\n min: 55,\n },\n hostname: \"powerhouse-fitness\",\n maxRamExponent: {\n max: 6,\n min: 4,\n },\n moneyAvailable: 900000000,\n networkLayer: 14,\n numOpenPortsRequired: 5,\n organizationName: \"Powerhouse Fitness\",\n requiredHackingSkill: {\n max: 1100,\n min: 950,\n },\n serverGrowth: {\n max: 60,\n min: 50,\n },\n specialName: LocationName.Sector12PowerhouseGym,\n },\n {\n hackDifficulty: {\n max: 60,\n min: 40,\n },\n hostname: \"snap-fitness\",\n moneyAvailable: 450000000,\n networkLayer: 7,\n numOpenPortsRequired: 4,\n organizationName: \"Snap Fitness\",\n requiredHackingSkill: {\n max: 800,\n min: 675,\n },\n serverGrowth: {\n max: 60,\n min: 40,\n },\n specialName: LocationName.AevumSnapFitnessGym,\n },\n {\n hackDifficulty: 0,\n hostname: \"run4theh111z\",\n literature: [LiteratureNames.SimulatedReality, LiteratureNames.TheNewGod],\n maxRamExponent: {\n max: 9,\n min: 5,\n },\n moneyAvailable: 0,\n networkLayer: 11,\n numOpenPortsRequired: 4,\n organizationName: \"The Runners\",\n requiredHackingSkill: {\n max: 550,\n min: 505,\n },\n serverGrowth: 0,\n specialName: SpecialServers.BitRunnersServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"I.I.I.I\",\n literature: [LiteratureNames.DemocracyIsDead],\n maxRamExponent: {\n max: 8,\n min: 4,\n },\n moneyAvailable: 0,\n networkLayer: 5,\n numOpenPortsRequired: 3,\n organizationName: \"I.I.I.I\",\n requiredHackingSkill: {\n max: 365,\n min: 340,\n },\n serverGrowth: 0,\n specialName: SpecialServers.TheBlackHandServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"avmnite-02h\",\n literature: [LiteratureNames.DemocracyIsDead],\n maxRamExponent: {\n max: 7,\n min: 4,\n },\n moneyAvailable: 0,\n networkLayer: 4,\n numOpenPortsRequired: 2,\n organizationName: FactionNames.NiteSec,\n requiredHackingSkill: {\n max: 220,\n min: 202,\n },\n serverGrowth: 0,\n specialName: SpecialServers.NiteSecServer,\n },\n {\n hackDifficulty: 0,\n hostname: \".\",\n maxRamExponent: 4,\n moneyAvailable: 0,\n networkLayer: 13,\n numOpenPortsRequired: 4,\n organizationName: \".\",\n requiredHackingSkill: {\n max: 550,\n min: 505,\n },\n serverGrowth: 0,\n specialName: SpecialServers.TheDarkArmyServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"CSEC\",\n literature: [LiteratureNames.DemocracyIsDead],\n maxRamExponent: 3,\n moneyAvailable: 0,\n networkLayer: 2,\n numOpenPortsRequired: 1,\n organizationName: FactionNames.CyberSec,\n requiredHackingSkill: {\n max: 60,\n min: 51,\n },\n serverGrowth: 0,\n specialName: SpecialServers.CyberSecServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"The-Cave\",\n literature: [LiteratureNames.AlphaOmega],\n moneyAvailable: 0,\n networkLayer: 15,\n numOpenPortsRequired: 5,\n organizationName: \"Helios\",\n requiredHackingSkill: 925,\n serverGrowth: 0,\n specialName: SpecialServers.DaedalusServer,\n },\n {\n hackDifficulty: 0,\n hostname: \"w0r1d_d43m0n\",\n moneyAvailable: 0,\n numOpenPortsRequired: 5,\n organizationName: \"w0r1d_d43m0n\",\n requiredHackingSkill: 3000,\n serverGrowth: 0,\n specialName: SpecialServers.WorldDaemon,\n },\n];\n","export class PlayerOwnedAugmentation {\n level = 1;\n name = \"\";\n\n constructor(name = \"\") {\n this.name = name;\n }\n}\n\nexport interface IPlayerOwnedAugmentation {\n level: number;\n name: string;\n}\n","import { CONSTANTS } from \"../Constants\";\nimport * as names from \"./data/companypositionnames\";\n\n/* tslint:disable:completed-docs */\n\nexport interface IConstructorParams {\n name: string;\n nextPosition: string | null;\n baseSalary: number;\n repMultiplier: number;\n\n reqdHacking?: number;\n reqdStrength?: number;\n reqdDefense?: number;\n reqdDexterity?: number;\n reqdAgility?: number;\n reqdCharisma?: number;\n reqdReputation?: number;\n\n hackingEffectiveness?: number;\n strengthEffectiveness?: number;\n defenseEffectiveness?: number;\n dexterityEffectiveness?: number;\n agilityEffectiveness?: number;\n charismaEffectiveness?: number;\n\n hackingExpGain?: number;\n strengthExpGain?: number;\n defenseExpGain?: number;\n dexterityExpGain?: number;\n agilityExpGain?: number;\n charismaExpGain?: number;\n}\n\nexport class CompanyPosition {\n /**\n * Position title\n */\n name: string;\n\n /**\n * Title of next position to be promoted to\n */\n nextPosition: string | null;\n\n /**\n * Base salary for this position ($ per 200ms game cycle)\n * Will be multiplier by a company-specific multiplier for final salary\n */\n baseSalary: number;\n\n /**\n * Reputation multiplier\n */\n repMultiplier: number;\n\n /**\n * Required stats to earn this position\n */\n requiredAgility: number;\n requiredCharisma: number;\n requiredDefense: number;\n requiredDexterity: number;\n requiredHacking: number;\n requiredStrength: number;\n\n /**\n * Required company reputation to earn this position\n */\n requiredReputation: number;\n\n /**\n * Effectiveness of each stat time for job performance\n */\n hackingEffectiveness: number;\n strengthEffectiveness: number;\n defenseEffectiveness: number;\n dexterityEffectiveness: number;\n agilityEffectiveness: number;\n charismaEffectiveness: number;\n\n /**\n * Experience gain for performing job (per 200ms game cycle)\n */\n hackingExpGain: number;\n strengthExpGain: number;\n defenseExpGain: number;\n dexterityExpGain: number;\n agilityExpGain: number;\n charismaExpGain: number;\n\n constructor(p: IConstructorParams) {\n this.name = p.name;\n this.nextPosition = p.nextPosition;\n this.baseSalary = p.baseSalary;\n this.repMultiplier = p.repMultiplier;\n\n this.requiredHacking = p.reqdHacking != null ? p.reqdHacking : 0;\n this.requiredStrength = p.reqdStrength != null ? p.reqdStrength : 0;\n this.requiredDefense = p.reqdDefense != null ? p.reqdDefense : 0;\n this.requiredDexterity = p.reqdDexterity != null ? p.reqdDexterity : 0;\n this.requiredAgility = p.reqdAgility != null ? p.reqdAgility : 0;\n this.requiredCharisma = p.reqdCharisma != null ? p.reqdCharisma : 0;\n this.requiredReputation = p.reqdReputation != null ? p.reqdReputation : 0;\n\n this.hackingEffectiveness = p.hackingEffectiveness != null ? p.hackingEffectiveness : 0;\n this.strengthEffectiveness = p.strengthEffectiveness != null ? p.strengthEffectiveness : 0;\n this.defenseEffectiveness = p.defenseEffectiveness != null ? p.defenseEffectiveness : 0;\n this.dexterityEffectiveness = p.dexterityEffectiveness != null ? p.dexterityEffectiveness : 0;\n this.agilityEffectiveness = p.agilityEffectiveness != null ? p.agilityEffectiveness : 0;\n this.charismaEffectiveness = p.charismaEffectiveness != null ? p.charismaEffectiveness : 0;\n\n if (\n Math.round(\n this.hackingEffectiveness +\n this.strengthEffectiveness +\n this.defenseEffectiveness +\n this.dexterityEffectiveness +\n this.agilityEffectiveness +\n this.charismaEffectiveness,\n ) !== 100\n ) {\n console.error(`CompanyPosition ${this.name} parameters do not sum to 100`);\n }\n\n this.hackingExpGain = p.hackingExpGain != null ? p.hackingExpGain : 0;\n this.strengthExpGain = p.strengthExpGain != null ? p.strengthExpGain : 0;\n this.defenseExpGain = p.defenseExpGain != null ? p.defenseExpGain : 0;\n this.dexterityExpGain = p.dexterityExpGain != null ? p.dexterityExpGain : 0;\n this.agilityExpGain = p.agilityExpGain != null ? p.agilityExpGain : 0;\n this.charismaExpGain = p.charismaExpGain != null ? p.charismaExpGain : 0;\n }\n\n calculateJobPerformance(hack: number, str: number, def: number, dex: number, agi: number, cha: number): number {\n const hackRatio: number = (this.hackingEffectiveness * hack) / CONSTANTS.MaxSkillLevel;\n const strRatio: number = (this.strengthEffectiveness * str) / CONSTANTS.MaxSkillLevel;\n const defRatio: number = (this.defenseEffectiveness * def) / CONSTANTS.MaxSkillLevel;\n const dexRatio: number = (this.dexterityEffectiveness * dex) / CONSTANTS.MaxSkillLevel;\n const agiRatio: number = (this.agilityEffectiveness * agi) / CONSTANTS.MaxSkillLevel;\n const chaRatio: number = (this.charismaEffectiveness * cha) / CONSTANTS.MaxSkillLevel;\n\n let reputationGain: number =\n (this.repMultiplier * (hackRatio + strRatio + defRatio + dexRatio + agiRatio + chaRatio)) / 100;\n if (isNaN(reputationGain)) {\n console.error(\"Company reputation gain calculated to be NaN\");\n reputationGain = 0;\n }\n\n return reputationGain;\n }\n\n isSoftwareJob(): boolean {\n return names.SoftwareCompanyPositions.includes(this.name);\n }\n\n isITJob(): boolean {\n return names.ITCompanyPositions.includes(this.name);\n }\n\n isSecurityEngineerJob(): boolean {\n return names.SecurityEngineerCompanyPositions.includes(this.name);\n }\n\n isNetworkEngineerJob(): boolean {\n return names.NetworkEngineerCompanyPositions.includes(this.name);\n }\n\n isBusinessJob(): boolean {\n return names.BusinessCompanyPositions.includes(this.name);\n }\n\n isSecurityJob(): boolean {\n return names.SecurityCompanyPositions.includes(this.name);\n }\n\n isAgentJob(): boolean {\n return names.AgentCompanyPositions.includes(this.name);\n }\n\n isSoftwareConsultantJob(): boolean {\n return names.SoftwareConsultantCompanyPositions.includes(this.name);\n }\n\n isBusinessConsultantJob(): boolean {\n return names.BusinessConsultantCompanyPositions.includes(this.name);\n }\n\n isPartTimeJob(): boolean {\n return names.PartTimeCompanyPositions.includes(this.name);\n }\n}\n","/**\n * Class representing a Script instance that is actively running.\n * A Script can have multiple active instances\n */\nimport { Script } from \"./Script\";\nimport { ScriptUrl } from \"./ScriptUrl\";\nimport { Settings } from \"../Settings/Settings\";\nimport { IMap } from \"../types\";\nimport { Terminal } from \"../Terminal\";\n\nimport { Generic_fromJSON, Generic_toJSON, Reviver } from \"../utils/JSONReviver\";\nimport { formatTime } from \"../utils/helpers/formatTime\";\n\nexport class RunningScript {\n // Script arguments\n args: any[] = [];\n\n // Map of [key: hostname] -> Hacking data. Used for offline progress calculations.\n // Hacking data format: [MoneyStolen, NumTimesHacked, NumTimesGrown, NumTimesWeaken]\n dataMap: IMap = {};\n\n // Script filename\n filename = \"\";\n\n // This script's logs. An array of log entries\n logs: string[] = [];\n\n // Flag indicating whether the logs have been updated since\n // the last time the UI was updated\n logUpd = false;\n\n // Total amount of hacking experience earned from this script when offline\n offlineExpGained = 0;\n\n // Total amount of money made by this script when offline\n offlineMoneyMade = 0;\n\n // Number of seconds that the script has been running offline\n offlineRunningTime = 0.01;\n\n // Total amount of hacking experience earned from this script when online\n onlineExpGained = 0;\n\n // Total amount of money made by this script when online\n onlineMoneyMade = 0;\n\n // Number of seconds that this script has been running online\n onlineRunningTime = 0.01;\n\n // Process ID. Must be an integer and equals the PID of corresponding WorkerScript\n pid = -1;\n\n // How much RAM this script uses for ONE thread\n ramUsage = 0;\n\n // hostname of the server on which this script is running\n server = \"\";\n\n // Number of threads that this script is running with\n threads = 1;\n\n // Script urls for the current running script for translating urls back to file names in errors\n dependencies: ScriptUrl[] = [];\n\n constructor(script: Script | null = null, args: any[] = []) {\n if (script == null) {\n return;\n }\n this.filename = script.filename;\n this.args = args;\n this.server = script.server;\n this.ramUsage = script.ramUsage;\n this.dependencies = script.dependencies;\n }\n\n log(txt: string): void {\n if (this.logs.length > Settings.MaxLogCapacity) {\n this.logs.shift();\n }\n\n let logEntry = txt;\n if (Settings.TimestampsFormat) {\n logEntry = \"[\" + formatTime(Settings.TimestampsFormat) + \"] \" + logEntry;\n }\n\n this.logs.push(logEntry);\n this.logUpd = true;\n }\n\n displayLog(): void {\n for (let i = 0; i < this.logs.length; ++i) {\n Terminal.print(this.logs[i]);\n }\n }\n\n clearLog(): void {\n this.logs.length = 0;\n }\n\n // Update the moneyStolen and numTimesHack maps when hacking\n recordHack(hostname: string, moneyGained: number, n = 1): void {\n if (this.dataMap[hostname] == null || this.dataMap[hostname].constructor !== Array) {\n this.dataMap[hostname] = [0, 0, 0, 0];\n }\n this.dataMap[hostname][0] += moneyGained;\n this.dataMap[hostname][1] += n;\n }\n\n // Update the grow map when calling grow()\n recordGrow(hostname: string, n = 1): void {\n if (this.dataMap[hostname] == null || this.dataMap[hostname].constructor !== Array) {\n this.dataMap[hostname] = [0, 0, 0, 0];\n }\n this.dataMap[hostname][2] += n;\n }\n\n // Update the weaken map when calling weaken() {\n recordWeaken(hostname: string, n = 1): void {\n if (this.dataMap[hostname] == null || this.dataMap[hostname].constructor !== Array) {\n this.dataMap[hostname] = [0, 0, 0, 0];\n }\n this.dataMap[hostname][3] += n;\n }\n\n // Serialize the current object to a JSON save state\n toJSON(): any {\n return Generic_toJSON(\"RunningScript\", this);\n }\n\n // Initializes a RunningScript Object from a JSON save state\n // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\n static fromJSON(value: any): RunningScript {\n return Generic_fromJSON(RunningScript, value.data);\n }\n}\n\nReviver.constructors.RunningScript = RunningScript;\n","export function checkEnum(\n enumVariable: { [key in T]: TEnumValue },\n value: string,\n): value is TEnumValue {\n return Object.values(enumVariable).includes(value);\n}\n","import React from \"react\";\nimport { SourceFile } from \"./SourceFile\";\nimport { IMap } from \"../types\";\n\nexport const SourceFiles: IMap = {};\n\nSourceFiles[\"SourceFile1\"] = new SourceFile(\n 1,\n (\n <>\n This Source-File lets the player start with 32GB of RAM on his/her home computer. It also increases all of the\n player's multipliers by:\n \n \n Level 1: 16%\n \n Level 2: 24%\n \n Level 3: 28%\n >\n ),\n);\nSourceFiles[\"SourceFile2\"] = new SourceFile(\n 2,\n (\n <>\n This Source-File allows you to form gangs in other BitNodes once your karma decreases to a certain value. It also\n increases the player's crime success rate, crime money, and charisma multipliers by:\n \n \n Level 1: 24%\n \n Level 2: 36%\n \n Level 3: 42%\n >\n ),\n);\nSourceFiles[\"SourceFile3\"] = new SourceFile(\n 3,\n (\n <>\n This Source-File lets you create corporations on other BitNodes (although some BitNodes will disable this\n mechanic). This Source-File also increases your charisma and company salary multipliers by:\n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile4\"] = new SourceFile(\n 4,\n (\n <>\n This Source-File lets you access and use the Singularity Functions in every BitNode. Every level of this\n Source-File reduces the RAM cost of Singularity functions.\n >\n ),\n);\nSourceFiles[\"SourceFile5\"] = new SourceFile(\n 5,\n (\n <>\n This Source-File grants a special new stat called Intelligence. Intelligence is unique because it is permanent and\n persistent (it never gets reset back to 1). However, gaining Intelligence experience is much slower than other\n stats. Higher Intelligence levels will boost your production for many actions in the game. In addition, this\n Source-File will unlock the getBitNodeMultipliers() Netscript function and let you start with Formulas.exe, and\n will raise all of your hacking-related multipliers by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile6\"] = new SourceFile(\n 6,\n (\n <>\n This Source-File allows you to access the NSA's Bladeburner Division in other BitNodes. In addition, this\n Source-File will raise both the level and experience gain rate of all your combat stats by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile7\"] = new SourceFile(\n 7,\n (\n <>\n This Source-File allows you to access the Bladeburner Netscript API in other BitNodes. In addition, this\n Source-File will increase all of your Bladeburner multipliers by:\n \n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile8\"] = new SourceFile(\n 8,\n (\n <>\n This Source-File grants the following benefits:\n \n \n Level 1: Permanent access to WSE and TIX API\n \n Level 2: Ability to short stocks in other BitNodes\n \n Level 3: Ability to use limit/stop orders in other BitNodes\n \n \n This Source-File also increases your hacking growth multipliers by:\n \n Level 1: 12%\n \n Level 2: 18%\n \n Level 3: 21%\n >\n ),\n);\nSourceFiles[\"SourceFile9\"] = new SourceFile(\n 9,\n (\n <>\n This Source-File grants the following benefits:\n \n \n Level 1: Permanently unlocks the Hacknet Server in other BitNodes\n \n Level 2: You start with 128GB of RAM on your home computer when entering a new BitNode\n \n Level 3: Grants a highly-upgraded Hacknet Server when entering a new BitNode\n \n \n (Note that the Level 3 effect of this Source-File only applies when entering a new BitNode, NOT when installing\n Augmentations)\n \n \n This Source-File also increases your hacknet multipliers by:\n \n Level 1: 8%\n \n Level 2: 12%\n \n Level 3: 14%\n >\n ),\n);\nSourceFiles[\"SourceFile10\"] = new SourceFile(\n 10,\n (\n <>\n This Source-File unlocks Sleeve technology, and the Grafting API in other BitNodes. Each level of this Source-File\n also grants you a Duplicate Sleeve\n >\n ),\n);\nSourceFiles[\"SourceFile11\"] = new SourceFile(\n 11,\n (\n <>\n This Source-File makes it so that company favor increases BOTH the player's salary and reputation gain rate at\n that company by 1% per favor (rather than just the reputation gain). This Source-File also increases the player's\n company salary and reputation gain multipliers by:\n \n \n Level 1: 32%\n \n Level 2: 48%\n \n Level 3: 56%\n \n \n It also reduces the price increase for every aug bought by:\n \n \n Level 1: 4%\n \n Level 2: 6%\n \n Level 3: 7%\n >\n ),\n);\nSourceFiles[\"SourceFile12\"] = new SourceFile(\n 12,\n <>This Source-File lets the player start with Neuroflux Governor equal to the level of this Source-File.>,\n);\nSourceFiles[\"SourceFile13\"] = new SourceFile(\n 13,\n <>Each level of this Source-File increases the size of Stanek's Gift.>,\n);\n","import React from \"react\";\n\nimport { IBladeburner } from \"../IBladeburner\";\nimport { BlackOperation } from \"../BlackOperation\";\nimport { use } from \"../../ui/Context\";\nimport Button from \"@mui/material/Button\";\nimport { AugmentationNames } from \"../../Augmentation/data/AugmentationNames\";\n\ninterface IProps {\n bladeburner: IBladeburner;\n type: number;\n name: string;\n rerender: () => void;\n}\nexport function StartButton(props: IProps): React.ReactElement {\n const player = use.Player();\n const action = props.bladeburner.getActionObject({ name: props.name, type: props.type });\n if (action == null) {\n throw new Error(\"Failed to get Operation Object for: \" + props.name);\n }\n let disabled = false;\n if (action.count < 1) {\n disabled = true;\n }\n if (props.name === \"Raid\" && props.bladeburner.getCurrentCity().comms === 0) {\n disabled = true;\n }\n\n if (action instanceof BlackOperation && props.bladeburner.rank < action.reqdRank) {\n disabled = true;\n }\n function onStart(): void {\n if (disabled) return;\n props.bladeburner.action.type = props.type;\n props.bladeburner.action.name = props.name;\n if (!player.hasAugmentation(AugmentationNames.BladesSimulacrum, true)) player.singularityStopWork();\n props.bladeburner.startAction(player, props.bladeburner.action);\n props.rerender();\n }\n\n return (\n \n );\n}\n","import { format } from \"date-fns\";\n\nexport function formatTime(fmt: string): string {\n try {\n return format(new Date(), fmt);\n } catch (err: any) {\n return \"format error\";\n }\n}\n","import React from \"react\";\nimport { IMap } from \"../types\";\nimport { FactionNames } from \"./data/FactionNames\";\nimport { use } from \"../ui/Context\";\nimport { Option } from \"./ui/Option\";\nimport { Typography } from \"@mui/material\";\n\ninterface FactionInfoParams {\n infoText?: JSX.Element;\n enemies?: string[];\n offerHackingWork?: boolean;\n offerFieldWork?: boolean;\n offerSecurityWork?: boolean;\n special?: boolean;\n keepOnInstall?: boolean;\n assignment?: () => React.ReactElement;\n}\n\n/**\n * Contains the \"information\" property for all the Factions, which is just a description of each faction\n */\nexport class FactionInfo {\n /**\n * The names of all other factions considered to be enemies to this faction.\n */\n enemies: string[];\n\n /**\n * The descriptive text to show on the faction's page.\n */\n infoText: JSX.Element;\n\n /**\n * A flag indicating if the faction supports field work to earn reputation.\n */\n offerFieldWork: boolean;\n\n /**\n * A flag indicating if the faction supports hacking work to earn reputation.\n */\n offerHackingWork: boolean;\n\n /**\n * A flag indicating if the faction supports security work to earn reputation.\n */\n offerSecurityWork: boolean;\n\n /**\n * Keep faction on install.\n */\n keep: boolean;\n\n /**\n * Special faction\n */\n special: boolean;\n\n /**\n * The data to display on the faction screen.\n */\n assignment?: () => React.ReactElement;\n\n constructor(params: FactionInfoParams) {\n this.infoText = params.infoText ?? <>>;\n this.enemies = params.enemies ?? [];\n this.offerHackingWork = params.offerHackingWork ?? false;\n this.offerFieldWork = params.offerFieldWork ?? false;\n this.offerSecurityWork = params.offerSecurityWork ?? false;\n\n this.keep = params.keepOnInstall ?? false;\n this.special = params.special ?? false;\n this.assignment = params.assignment;\n }\n\n offersWork(): boolean {\n return this.offerFieldWork || this.offerHackingWork || this.offerSecurityWork;\n }\n}\n\n/**\n * A map of all factions and associated info to them.\n */\n// tslint:disable-next-line:variable-name\nexport const FactionInfos: IMap = {\n // Endgame\n [FactionNames.Illuminati]: new FactionInfo({\n infoText: (\n <>\n Humanity never changes. No matter how civilized society becomes, it will eventually fall back into chaos. And\n from this chaos, we are the invisible hand that guides them to order.{\" \"}\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n [FactionNames.Daedalus]: new FactionInfo({\n infoText: <>Yesterday we obeyed kings and bent our necks to emperors. Today we kneel only to truth.>,\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n [FactionNames.TheCovenant]: new FactionInfo({\n infoText: (\n <>\n Surrender yourself. Give up your empty individuality to become part of something great, something eternal.\n Become a slave. Submit your mind, body, and soul. Only then can you set yourself free.\n \n \n Only then can you discover immortality.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n // Megacorporations, each forms its own faction\n [FactionNames.ECorp]: new FactionInfo({\n infoText: (\n <>\n {FactionNames.ECorp}'s mission is simple: to connect the world of today with the technology of tomorrow. With\n our wide range of Internet-related software and commercial hardware, {FactionNames.ECorp} makes the world's\n information universally accessible.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.MegaCorp]: new FactionInfo({\n infoText: (\n <>\n {FactionNames.MegaCorp} does what no other dares to do. We imagine. We create. We invent. We create what others\n have never even dreamed of. Our work fills the world's needs for food, water, power, and transportation on an\n unprecedented scale, in ways that no other company can.\n \n \n In our labs and factories and on the ground with customers, {FactionNames.MegaCorp} is ushering in a new era for\n the world.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.BachmanAssociates]: new FactionInfo({\n infoText: (\n <>\n Where Law and Business meet - thats where we are.\n \n \n Legal Insight - Business Instinct - Innovative Experience.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.BladeIndustries]: new FactionInfo({\n infoText: <>Augmentation is Salvation.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.NWO]: new FactionInfo({\n infoText: (\n <>\n Humans don't truly desire freedom. They want to be observed, understood, and judged. They want to be given\n purpose and direction in life. That is why they created God. And that is why they created civilization - not\n because of willingness, but because of a need to be incorporated into higher orders of structure and meaning.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.ClarkeIncorporated]: new FactionInfo({\n infoText: <>The Power of the Genome - Unlocked.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.OmniTekIncorporated]: new FactionInfo({\n infoText: <>Simply put, our mission is to design and build robots that make a difference.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.FourSigma]: new FactionInfo({\n infoText: (\n <>\n The scientific method is the best way to approach investing. Big strategies backed up with big data. Driven by\n deep learning and innovative ideas. And improved by iteration. That's {FactionNames.FourSigma}.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n [FactionNames.KuaiGongInternational]: new FactionInfo({\n infoText: <>Dream big. Work hard. Make history.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n // Other Corporations\n [FactionNames.FulcrumSecretTechnologies]: new FactionInfo({\n infoText: (\n <>\n The human organism has an innate desire to worship. That is why they created gods. If there were no gods, it\n would be necessary to create them. And now we can.\n >\n ),\n offerHackingWork: true,\n offerSecurityWork: true,\n keepOnInstall: true,\n }),\n\n // Hacker groups\n [FactionNames.BitRunners]: new FactionInfo({\n infoText: (\n <>\n Our entire lives are controlled by bits. All of our actions, our thoughts, our personal information. It's all\n transformed into bits, stored in bits, communicated through bits. It’s impossible for any person to move, to\n live, to operate at any level without the use of bits. And when a person moves, lives, and operates, they leave\n behind their bits, mere traces of seemingly meaningless fragments of information. But these bits can be\n reconstructed. Transformed. Used.\n \n \n Those who run the bits, run the world.\n >\n ),\n offerHackingWork: true,\n }),\n\n [FactionNames.TheBlackHand]: new FactionInfo({\n infoText: (\n <>\n The world, so afraid of strong government, now has no government. Only power - Digital power. Financial power.\n Technological power. And those at the top rule with an invisible hand. They built a society where the rich get\n richer, and everyone else suffers.\n \n \n So much pain. So many lives. Their darkness must end.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n // prettier-ignore\n [FactionNames.NiteSec]: new FactionInfo({\n infoText:(<>\n {\" __..__ \"} \n {\" _.nITESECNIt. \"} \n {\" .-'NITESECNITESEc. \"} \n {\" .' NITESECNITESECn \"} \n {\" / NITESECNITESEC; \"} \n {\" : :NITESECNITESEC; \"} \n {\" ; $ NITESECNITESECN \"} \n {\" : _, ,N'ITESECNITESEC \"} \n {\" : .+^^`, : `NITESECNIT \"} \n {\" ) /), `-,-=,NITESECNI \"} \n {\" / ^ ,-;|NITESECN; \"} \n {\" / _.' '-';NITESECN \"} \n {\" ( , ,-''`^NITE' \"} \n {\" )` :`. .' \"} \n {\" )-- ; `- / \"} \n {\" ' _.-' : \"} \n {\" ( _.-' . \"} \n {\" ------. \"} \n {\" . \"} \n {\" _.nIt \"} \n {\" _.nITESECNi \"} \n {\" nITESECNIT^' \"} \n {\" NITE^' ___ \"} \n {\" / .gP''''Tp. \"} \n {\" : d' . `b \"} \n {\" ; d' o `b ; \"} \n {\" / d; `b| \"} \n {\" /, $; @ `: \"} \n {\" /' $/ ; \"} \n {\" .' $/b o | \"} \n {\" .' d$/$; : \"} \n {\" / .d/$/$; , ; \"} \n {\" d .dNITESEC $ | \"} \n {\" :bp.__.gNITESEC/$ :$ ; \"} \n {\" NITESECNITESECNIT /$b : \"} >),\n offerHackingWork: true,\n offerFieldWork: false,\n offerSecurityWork: false,\n special: false,\n keepOnInstall: false,\n }),\n\n // City factions, essentially governments\n [FactionNames.Aevum]: new FactionInfo({\n infoText: <>The Silicon City.>,\n enemies: [FactionNames.Chongqing, FactionNames.NewTokyo, FactionNames.Ishima, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.Chongqing]: new FactionInfo({\n infoText: <>Serve the People.>,\n enemies: [FactionNames.Sector12, FactionNames.Aevum, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.Ishima]: new FactionInfo({\n infoText: <>The East Asian Order of the Future.>,\n enemies: [FactionNames.Sector12, FactionNames.Aevum, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.NewTokyo]: new FactionInfo({\n infoText: <>Asia's World City.>,\n enemies: [FactionNames.Sector12, FactionNames.Aevum, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.Sector12]: new FactionInfo({\n infoText: <>The City of the Future.>,\n enemies: [FactionNames.Chongqing, FactionNames.NewTokyo, FactionNames.Ishima, FactionNames.Volhaven],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n [FactionNames.Volhaven]: new FactionInfo({\n infoText: <>Benefit, Honor, and Glory.>,\n enemies: [\n FactionNames.Chongqing,\n FactionNames.Sector12,\n FactionNames.NewTokyo,\n FactionNames.Aevum,\n FactionNames.Ishima,\n ],\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n // Criminal Organizations/Gangs\n [FactionNames.SpeakersForTheDead]: new FactionInfo({\n infoText: <>It is better to reign in Hell than to serve in Heaven.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n [FactionNames.TheDarkArmy]: new FactionInfo({\n infoText: <>The World doesn't care about right or wrong. It only cares about power.>,\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n [FactionNames.TheSyndicate]: new FactionInfo({\n infoText: <>Honor holds you back.>,\n offerHackingWork: true,\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n [FactionNames.Silhouette]: new FactionInfo({\n infoText: (\n <>\n Corporations have filled the void of power left behind by the collapse of Western government. The issue is\n they've become so big that you don't know who they're working for. And if you're employed at one of these\n corporations, you don't even know who you're working for.\n \n \n That's terror. Terror, fear, and corruption. All born into the system, all propagated by the system.\n >\n ),\n offerHackingWork: true,\n offerFieldWork: true,\n }),\n\n [FactionNames.Tetrads]: new FactionInfo({\n infoText: <>Following the mandate of Heaven and carrying out the way.>,\n\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n [FactionNames.SlumSnakes]: new FactionInfo({\n infoText: <>{FactionNames.SlumSnakes} rule!>,\n\n offerFieldWork: true,\n offerSecurityWork: true,\n }),\n\n // Earlygame factions - factions the player will prestige with early on that don't belong in other categories.\n [FactionNames.Netburners]: new FactionInfo({\n infoText: <>{\"~~//*>H4CK||3T 8URN3R5**>?>\\\\~~\"}>,\n offerHackingWork: true,\n }),\n\n [FactionNames.TianDiHui]: new FactionInfo({\n infoText: <>Obey Heaven and work righteously.>,\n offerHackingWork: true,\n\n offerSecurityWork: true,\n }),\n\n [FactionNames.CyberSec]: new FactionInfo({\n infoText: (\n <>\n The Internet is the first thing that was built that we don't fully understand, the largest experiment in anarchy\n that we have ever had. And as the world becomes increasingly dominated by it, society approaches the brink of\n total chaos. We serve only to protect society, to protect humanity, to protect the world from imminent collapse.\n >\n ),\n offerHackingWork: true,\n }),\n\n // Special Factions\n [FactionNames.Bladeburners]: new FactionInfo({\n infoText: (\n <>\n It's too bad they won't live. But then again, who does?\n \n \n Note that for this faction, reputation can only be gained through {FactionNames.Bladeburners} actions.{\" \"}\n Completing {FactionNames.Bladeburners} contracts/operations will increase your reputation.\n >\n ),\n\n special: true,\n assignment: (): React.ReactElement => {\n const router = use.Router();\n return (\n