bitburner-src/src/Constants.ts

252 lines
8.7 KiB
TypeScript
Raw Normal View History

2019-03-25 04:03:24 +01:00
/**
* Generic Game Constants
*
* Constants for specific mechanics or features will NOT be here.
*/
2021-09-04 20:09:57 +02:00
export const CONSTANTS: {
2021-11-03 03:49:46 +01:00
VersionString: string;
isDevBranch: boolean;
2021-11-03 03:49:46 +01:00
VersionNumber: number;
2021-09-05 01:09:30 +02:00
MaxSkillLevel: number;
MilliPerCycle: number;
CorpFactionRepRequirement: number;
2021-09-27 03:11:49 +02:00
BaseFocusBonus: number;
2021-09-05 01:09:30 +02:00
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;
2022-03-29 20:09:17 +02:00
IntelligenceGraftBaseExpGain: number;
2021-09-05 01:09:30 +02:00
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;
2022-03-29 20:09:17 +02:00
AugmentationGraftingCostMult: number;
AugmentationGraftingTimeBase: number;
2022-04-22 21:30:49 +02:00
SoACostMult: number;
SoARepMult: number;
2022-03-19 19:15:31 +01:00
EntropyEffect: number;
2021-09-05 01:09:30 +02:00
TotalNumBitNodes: number;
2022-05-07 23:43:45 +02:00
InfiniteLoopLimit: number;
2022-04-14 21:17:46 +02:00
Donations: number; // number of blood/plasma/palette donation the dev have verified., boosts NFG
2021-09-05 01:09:30 +02:00
LatestUpdate: string;
2021-09-04 20:09:57 +02:00
} = {
2023-08-27 00:32:14 +02:00
VersionString: "2.4.2dev",
isDevBranch: true,
2023-08-27 00:07:09 +02:00
VersionNumber: 34,
2021-09-05 01:09:30 +02:00
/** 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,
// How much reputation is needed to join a megacorporation's faction
2022-07-19 19:09:56 +02:00
CorpFactionRepRequirement: 400e3,
2021-09-05 01:09:30 +02:00
// 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,
2022-09-01 16:33:31 +02:00
NumNetscriptPorts: Number.MAX_SAFE_INTEGER,
2021-09-05 01:09:30 +02:00
// 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,
2021-10-30 02:27:20 +02:00
IntelligenceProgramBaseExpGain: 0.1, // Program required hack level divided by this to determine int exp gain
2022-03-29 20:09:17 +02:00
IntelligenceGraftBaseExpGain: 0.05,
2021-09-05 01:09:30 +02:00
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
2021-09-27 03:11:49 +02:00
BaseFocusBonus: 0.8,
2021-09-05 01:09:30 +02:00
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
2022-03-29 20:09:17 +02:00
AugmentationGraftingCostMult: 3,
AugmentationGraftingTimeBase: 3600000,
2022-03-19 19:15:31 +01:00
2022-04-22 21:30:49 +02:00
// SoA mults
SoACostMult: 7,
SoARepMult: 1.3,
2022-03-27 21:40:24 +02:00
// Value raised to the number of entropy stacks, then multiplied to player multipliers
2022-03-29 20:09:17 +02:00
EntropyEffect: 0.98,
2022-03-19 17:03:18 +01:00
2021-09-05 01:09:30 +02:00
// BitNode/Source-File related stuff
TotalNumBitNodes: 24,
2022-05-24 22:57:25 +02:00
InfiniteLoopLimit: 2000,
2022-05-07 23:43:45 +02:00
2023-07-31 04:08:36 +02:00
Donations: 113,
2022-04-14 21:17:46 +02:00
2023-05-25 22:45:51 +02:00
// Also update doc/source/changelog.rst
2021-09-05 01:09:30 +02:00
LatestUpdate: `
2023-09-06 00:34:26 +02:00
## v2.4.2 dev changelog (last updated 9/5/23)
2023-08-27 00:32:14 +02:00
See 2.4.1 changelog: https://github.com/bitburner-official/bitburner-src/blob/stable/src/Documentation/doc/changelog.md
2023-09-06 00:34:26 +02:00
### API CHANGES:
#### GANG
- Added ns.gang.getRecruitsAvailable: Gets the number of additional gang members that can currently be recruited (@myCatsName)
- Added ns.gang.respectForNextRecruit: Gets the respect threshold for recruiting the next gang member (@myCatsName)
- Added ns.gang.renameMember: Renames a gang member (@myCatsName)
2023-08-28 21:47:59 +02:00
### BUGFIX
2023-09-06 00:34:26 +02:00
- UI: Faction augmentation page updates more reliably (@zerbosh)
- Bladeburner UI: Fix an issue that could cause NaN success chance to display (@zerbosh)
2023-08-28 21:47:59 +02:00
- Terminal: Prevent recursive aliases from being resolved (@ficocelliguy)
2023-09-06 00:34:26 +02:00
### MISC / UI / DOCS
- Tail windows now remain on the page, but hidden, when on pages like Infiltration where they should not be shown. This will impact any React content added via ns.printRaw, as the content will no longer be unmounted and remounted when navigating to/from Infiltration. (@ficocelliguy)
2023-08-28 21:47:59 +02:00
- Improved error messages for ns.getPurchasedServer (@ficocelliguy)
2023-09-06 00:34:26 +02:00
- Improved pagination of Active Scripts page (@Ookamiko, @ficocelliguy)
- Various UI improvements for Gang (@myCatsName)
- Icarus message no longer shows repeatedly for players that are in the endgame. (@ficocelliguy)
2023-08-28 21:47:59 +02:00
- Remove work completion dialogs when performing an augmentation install (@ficocelliguy)
2023-09-06 00:34:26 +02:00
- Tweaked some number formatting to look better in Corp and Stats page (@zerbosh)
- Improve documentation for ports (@muesli4brekkies)
- Updated documentation for ns.tail and ns.getScriptLogs to make it clear a PID can be used. (@myCatsName)
- Improve documentation for FilenameOrPID functions (@VictorS)
- Added initial ingame documentation for Bladeburner and Gang (@myCatsName)
- Improve API documentation for Bladeburner and Gang functions (@myCatsName)
2023-07-31 16:38:13 +02:00
`,
2021-09-05 01:09:30 +02:00
};