/** * Generic Game Constants * * Constants for specific mechanics or features will NOT be here. */ export const CONSTANTS: { VersionString: string; isDevBranch: boolean; VersionNumber: number; MaxSkillLevel: number; MilliPerCycle: number; OfflineHackingIncome: number; CorpFactionRepRequirement: number; BaseFocusBonus: number; BaseCostFor1GBOfRamHome: number; BaseCostFor1GBOfRamServer: number; TravelCost: number; BaseFavorToDonate: number; DonateMoneyToRepDivisor: number; FactionReputationToFavorBase: number; FactionReputationToFavorMult: number; CompanyReputationToFavorBase: number; CompanyReputationToFavorMult: number; NeuroFluxGovernorLevelMult: number; NumNetscriptPorts: number; HomeComputerMaxRam: number; ServerBaseGrowthRate: number; ServerMaxGrowthRate: number; ServerFortifyAmount: number; ServerWeakenAmount: number; PurchasedServerLimit: number; PurchasedServerMaxRam: number; MultipleAugMultiplier: number; TorRouterCost: number; HospitalCostPerHp: number; IntelligenceCrimeWeight: number; IntelligenceInfiltrationWeight: number; IntelligenceCrimeBaseExpGain: number; IntelligenceProgramBaseExpGain: number; IntelligenceGraftBaseExpGain: number; IntelligenceTerminalHackBaseExpGain: number; IntelligenceSingFnBaseExpGain: number; IntelligenceClassBaseExpGain: number; MillisecondsPer20Hours: number; GameCyclesPer20Hours: number; MillisecondsPer10Hours: number; GameCyclesPer10Hours: number; MillisecondsPer8Hours: number; GameCyclesPer8Hours: number; MillisecondsPer4Hours: number; GameCyclesPer4Hours: number; MillisecondsPer2Hours: number; GameCyclesPer2Hours: number; MillisecondsPerHour: number; GameCyclesPerHour: number; MillisecondsPerHalfHour: number; GameCyclesPerHalfHour: number; MillisecondsPerQuarterHour: number; GameCyclesPerQuarterHour: number; MillisecondsPerFiveMinutes: number; GameCyclesPerFiveMinutes: number; ClassDataStructuresBaseCost: number; ClassNetworksBaseCost: number; ClassAlgorithmsBaseCost: number; ClassManagementBaseCost: number; ClassLeadershipBaseCost: number; ClassGymBaseCost: number; ClassStudyComputerScienceBaseExp: number; ClassDataStructuresBaseExp: number; ClassNetworksBaseExp: number; ClassAlgorithmsBaseExp: number; ClassManagementBaseExp: number; ClassLeadershipBaseExp: number; CodingContractBaseFactionRepGain: number; CodingContractBaseCompanyRepGain: number; CodingContractBaseMoneyGain: number; AugmentationGraftingCostMult: number; AugmentationGraftingTimeBase: number; SoACostMult: number; SoARepMult: number; EntropyEffect: number; TotalNumBitNodes: number; InfiniteLoopLimit: number; Donations: number; // number of blood/plasma/palette donation the dev have verified., boosts NFG LatestUpdate: string; } = { VersionString: "2.5.1dev", isDevBranch: true, VersionNumber: 35, /** Max level for any skill, assuming no multipliers. Determined by max numerical value in javascript for experience * and the skill level formula in Player.js. Note that all this means it that when experience hits MAX_INT, then * the player will have this level assuming no multipliers. Multipliers can cause skills to go above this. */ MaxSkillLevel: 975, // Milliseconds per game cycle MilliPerCycle: 200, // Multiplier for hacking income earned from offline scripts OfflineHackingIncome: 0.75, // How much reputation is needed to join a megacorporation's faction CorpFactionRepRequirement: 400e3, // Base RAM costs BaseCostFor1GBOfRamHome: 32000, BaseCostFor1GBOfRamServer: 55000, //1 GB of RAM // Cost to travel to another city TravelCost: 200e3, // Faction and Company favor-related things BaseFavorToDonate: 150, DonateMoneyToRepDivisor: 1e6, FactionReputationToFavorBase: 500, FactionReputationToFavorMult: 1.02, CompanyReputationToFavorBase: 500, CompanyReputationToFavorMult: 1.02, // NeuroFlux Governor Augmentation cost multiplier NeuroFluxGovernorLevelMult: 1.14, NumNetscriptPorts: Number.MAX_SAFE_INTEGER, // Server-related constants HomeComputerMaxRam: 1073741824, // 2 ^ 30 ServerBaseGrowthRate: 1.03, // Unadjusted Growth rate ServerMaxGrowthRate: 1.0035, // Maximum possible growth rate (max rate accounting for server security) ServerFortifyAmount: 0.002, // Amount by which server's security increases when its hacked/grown ServerWeakenAmount: 0.05, // Amount by which server's security decreases when weakened PurchasedServerLimit: 25, PurchasedServerMaxRam: 1048576, // 2^20 // Augmentation Constants MultipleAugMultiplier: 1.9, // TOR Router TorRouterCost: 200e3, // Hospital/Health HospitalCostPerHp: 100e3, // Intelligence-related constants IntelligenceCrimeWeight: 0.025, // Weight for how much int affects crime success rates IntelligenceInfiltrationWeight: 0.1, // Weight for how much int affects infiltration success rates IntelligenceCrimeBaseExpGain: 0.05, IntelligenceProgramBaseExpGain: 0.1, // Program required hack level divided by this to determine int exp gain IntelligenceGraftBaseExpGain: 0.05, IntelligenceTerminalHackBaseExpGain: 200, // Hacking exp divided by this to determine int exp gain IntelligenceSingFnBaseExpGain: 1.5, IntelligenceClassBaseExpGain: 0.01, // Time-related constants MillisecondsPer20Hours: 72000000, GameCyclesPer20Hours: 72000000 / 200, MillisecondsPer10Hours: 36000000, GameCyclesPer10Hours: 36000000 / 200, MillisecondsPer8Hours: 28800000, GameCyclesPer8Hours: 28800000 / 200, MillisecondsPer4Hours: 14400000, GameCyclesPer4Hours: 14400000 / 200, MillisecondsPer2Hours: 7200000, GameCyclesPer2Hours: 7200000 / 200, MillisecondsPerHour: 3600000, GameCyclesPerHour: 3600000 / 200, MillisecondsPerHalfHour: 1800000, GameCyclesPerHalfHour: 1800000 / 200, MillisecondsPerQuarterHour: 900000, GameCyclesPerQuarterHour: 900000 / 200, MillisecondsPerFiveMinutes: 300000, GameCyclesPerFiveMinutes: 300000 / 200, // Player Work & Action BaseFocusBonus: 0.8, ClassDataStructuresBaseCost: 40, ClassNetworksBaseCost: 80, ClassAlgorithmsBaseCost: 320, ClassManagementBaseCost: 160, ClassLeadershipBaseCost: 320, ClassGymBaseCost: 120, ClassStudyComputerScienceBaseExp: 0.5, ClassDataStructuresBaseExp: 1, ClassNetworksBaseExp: 2, ClassAlgorithmsBaseExp: 4, ClassManagementBaseExp: 2, ClassLeadershipBaseExp: 4, // Coding Contract // TODO: Move this into Coding contract implementation? CodingContractBaseFactionRepGain: 2500, CodingContractBaseCompanyRepGain: 4000, CodingContractBaseMoneyGain: 75e6, // Augmentation grafting multipliers AugmentationGraftingCostMult: 3, AugmentationGraftingTimeBase: 3600000, // SoA mults SoACostMult: 7, SoARepMult: 1.3, // Value raised to the number of entropy stacks, then multiplied to player multipliers EntropyEffect: 0.98, // BitNode/Source-File related stuff TotalNumBitNodes: 24, InfiniteLoopLimit: 2000, Donations: 113, // Also update doc/source/changelog.rst LatestUpdate: ` ## v2.5.1 dev changelog (last updated 11/7/2023) ### NOTES For the Steam version, this update includes a change that may result in your menu options reverting to default settings. If you experience issues with the correct savegame not loading, or you need to use Steam Cloud integration, check these menu settings after starting the game. See 2.5.0 changelog at https://github.com/bitburner-official/bitburner-src/blob/stable/src/Documentation/doc/changelog.md ### MAJOR ADDITIONS - Added a faction rumors system, to learn the requirements for joining factions ingame (@jjclark1982) ### API - (Bladeburner) Added ns.bladeburner.nextUpdate, which allows waiting for the next update of the bladeburner mechanic (@jjclark1982) - (Bladeburner) Added ns.bladeburner.getNextBlackOp, which provides name and rank info for the next Black Operation that can be completed (@myCatsName) - (Corporation) Added ns.corporation.nextUpdate, which allows waiting for the next update of the corporation mechanic (@jjclark1982) - (Corporation) Added a size property to the return value of getProduct (@Caldwell-74) - (Corporation) ns.corporation.getCorporation return value: 'state' property is deprecated. Added 'prevState' and 'nextState' properties. (@Caldwell-74) - (Gang) Added ns.gang.nextUpdate, which allows waiting for the next update of the gang mechanic (@jjclark1982) - (Singularity) Added a JobField enum, and used this for the ns.singularity.applyToCompany function (@alutman) - (Singularity) ns.singularity.purchaseProgram now returns true for programs that are already owned even if the player doesn't have enough money to re-buy the program (@ncharris93) - (Sleeve) Added nextCompletion promise as a property of sleeve bladeburner work tasks (@Snarling) - (Stanek) Added an effect property to getFragment (@TheAimMan) - (Stock) Added ns.stock.nextUpdate, which allows waiting for the next update of the stock mechanic (@jjclark1982) ### BUGFIX - (Bladeburner) Fixed a bug that could allow reaching -1 contracts available (@TheAimMan) - (Corporation) Fix an incorrect calculation when adding more employees to an office (@Caldwell-74) - (Corporation) Bulk purchase can no longer be used to exceed maximum warehouse capacity (@TheAimMan) - (Corporation) Fixed a bug that allowed out-of-order research (@TheAimMan) - (Corporation) Product production cost is stored separately for each city (@Caldwell-74) - (Sleeve) Sleeve crime work can no longer cause an overflow of %completion when performing quick crimes during bonus time (@TheAimMan) - (Stanek) Multipliers from Stanek are now calculated correctly even if the player has Entropy (@yichizhng) - (Stanek) Fix a bug where Stanek bonuses were not being removed correctly after a reset (@TheAimMan) - Fix an error that would occur in some cases when using gymGains or universityGains (@cigarmemr) - Fix tab autocompletion when running a sceript without the run command (@mytskine) - Fix a bug that could cause the wrong coding contract to be deleted when using rm (@TheAimMan) - Scripts no longer show $0 for offline money income (@alutman) - Faction invitations are now cleared properly when performing a reset (@alutman) - API functions that work on a hostname no longer work on servers that have not been added to the network. (@TheAimMan) - Fix an issue where the "True Recursion" achievement could be granted incorrectly (@jjclark1982) ### MISC - (Sleeve) Added ability to set a sleeve to idle through the UI (@Sphyxis) - Updated lots of dependencies (@Caldwell-74) - Updated electron to the latest version (Steam version only) (@Snarling) - Various spelling / grammar / wording fixes (@ficocelliguy, @Squirlll, @Warrobot10) - Minor reorganization and streamlining in Script Editor code (@Snarling) - Tweaked the .lit file referencing Illuminati to give a better idea about joining requirements (@d0sboots) - (Steam version) Replaced outdated electron-config with electron-store (@tiziodcaio) ### UI - (Corporation) Improved the display of corporation state. (@Caldwell-74) - (Corporation) Improved various Corporation UIs (@jjclark1982) - (Gang) Removed the territory warfare toggle from the main Gang screen (@Tyasuh) - Added number of exploits to import savegame comparison (@myCatsName) - Dev menu improvements (@myCatsName, @Snarling) - Added a credits button on the options page (@myCatsName) `, };