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 ;
2023-05-16 05:05:36 +02:00
isDevBranch : boolean ;
2021-11-03 03:49:46 +01:00
VersionNumber : number ;
2021-09-05 01:09:30 +02:00
MaxSkillLevel : number ;
MilliPerCycle : number ;
2023-10-23 11:00:16 +02:00
OfflineHackingIncome : number ;
2021-09-05 01:09:30 +02:00
CorpFactionRepRequirement : number ;
2021-09-27 03:11:49 +02:00
BaseFocusBonus : number ;
2021-09-05 01:09:30 +02:00
TravelCost : number ;
BaseFavorToDonate : number ;
DonateMoneyToRepDivisor : number ;
FactionReputationToFavorBase : number ;
FactionReputationToFavorMult : number ;
CompanyReputationToFavorBase : number ;
CompanyReputationToFavorMult : number ;
NeuroFluxGovernorLevelMult : number ;
NumNetscriptPorts : 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-12-26 17:53:27 +01:00
VersionString : "2.6.0dev" ,
isDevBranch : true ,
2023-12-26 16:59:33 +01:00
VersionNumber : 37 ,
2021-09-05 01:09:30 +02:00
/ * * M a x l e v e l f o r a n y s k i l l , a s s u m i n g n o m u l t i p l i e r s . D e t e r m i n e d b y m a x n u m e r i c a l v a l u e i n j a v a s c r i p t f o r e x p e r i e n c e
* 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 ,
2023-10-23 11:00:16 +02:00
// Multiplier for hacking income earned from offline scripts
OfflineHackingIncome : 0.75 ,
2021-09-05 01:09:30 +02:00
// 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
// 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
// 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 ,
2022-04-11 18:07:15 +02:00
// 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 : `
2024-02-10 14:24:05 +01:00
# # v2 . 6.0 dev - Changelog last updated 10 Feb 2024
2023-12-26 17:53:27 +01:00
# # # MAJOR ADDITIONS
2024-02-10 14:24:05 +01:00
- A new minigame IPvGO , based on the game Go . Visit DefComm in New Tokyo or the CIA in Sector - 12 for access . Documentation for the mechanic is available ingame under "How to Play" once the mechanic is available . ( @ficocelliguy )
2023-12-26 17:53:27 +01:00
- A new BitNode has been added which focuses on the IPvGO mechanic ( @ficocelliguy )
2023-10-04 16:50:14 +02:00
# # # API
2024-02-10 14:24:05 +01:00
- ( Bladeburner ) ns . bladeburner . getSkillUpgradeCost now returns infinity if requesting a cost above the maximum skill level ( @Semanual )
2024-02-02 00:20:36 +01:00
- ( CodingContract ) Fixed an issue where ns . codingcontract . getData was leaking internal arrays when contract data was a 2 - d array ( @LJNeon )
- ( Go ) Added the ns . go API , which allows interaction with the new IPvGO mechanic . While this is in development , the API may undergo changes ( @ficocelliguy )
2024-01-15 12:18:55 +01:00
- ( Ports ) Added ns . nextPortWrite , which allows waiting for the next write to a port without creating a port handle object ( @LJNeon )
2024-01-14 22:48:14 +01:00
- ( Singularity ) Add type information for ns . singularity . getCurrentWork return value ( @Semanual )
- ( Stanek ) Fix ns . stanek . acceptGift which was not working in 2.5 . 2 ( @jjclark1982 )
2024-02-02 00:20:36 +01:00
- Improved the efficiency and accuracy of growth formulas ( @d0sboots )
2024-01-14 22:48:14 +01:00
- ns . formatNumber now throws an error if specifying a suffixStart less than 1000 ( @TheAimMan )
2024-02-10 14:24:05 +01:00
- HGWOptions now accepts a non - integer number of threads ( @Caldwell - 74 )
2024-01-14 22:48:14 +01:00
- Fixed ns . serverExists returning incorrect value for an endgame server ( @cigarmemr )
2024-01-07 14:37:38 +01:00
# # # UI
2024-01-14 22:48:14 +01:00
- ( Augmentations ) Fixed some missing description text for Hacknet multipliers ( @jjclark1982 )
2024-01-07 14:37:38 +01:00
- ( Corporation ) Align columns correctly in warehouse breakdown table ( @jjclark1982 )
2024-01-14 22:48:14 +01:00
- ( Corporation ) Several typo fixes in Corporation modals ( @cigarmemr )
2024-01-07 14:37:38 +01:00
- ( Documentation ) Ingame documentation now displays line breaks inside tables correctly ( @Snarling )
- ( Documentation ) Added a documentation page for converting . script to . js ( @LJNeon , @jjclark1982 , @Snarling )
- ( Hashnet ) Hash upgrade descriptions use proper number formatting options ( @Snarling )
2024-02-10 14:24:05 +01:00
- ( Hacknet ) Hacknet display shows a dynamic amount of columns based on screen width ( @shyguy1412 )
2024-01-07 14:37:38 +01:00
- ( Infiltration ) Changed how the CheatCodeGame is displayed ( @alutman , @Snarling )
2024-01-14 22:48:14 +01:00
- ( Sleeve ) If intelligence is unlocked , sleeve intelligence is shown in the UI ( @Caldwell - 74 )
2024-02-10 14:24:05 +01:00
- ( Stockmarket ) Changed color of stocks increasing in value ( @Semanual )
2024-02-02 00:20:36 +01:00
- ( Terminal ) Improved scroll behavior on the Terminal ( @Snarling )
2024-02-10 14:24:05 +01:00
- Reorganization of some content on the Active Scripts page ( @Snarling )
2024-01-07 14:37:38 +01:00
- "Disable Text Effects" option also disables the corrupted text display ( @draughtnyan )
2024-02-02 00:20:36 +01:00
- fl1ght . exe now displays the related requirements in a more readable way ( @TheAimMan , @LJNeon )
2024-01-07 14:37:38 +01:00
- Miscellaneous wording fixes ( @cigarmemr )
# # # MISC
2024-02-02 00:20:36 +01:00
- ( CodingContract ) Improve parsing of player input for arrays in coding contracts ( @rocket3989 )
- ( Corporation ) Fix an incorrect demand range for Minerals ( @catloversg )
2024-02-10 14:24:05 +01:00
- ( Corporation ) Divisions impact on corporation valuation is now based on number of offices and warehouses ( @catloversg )
2024-02-02 00:20:36 +01:00
- ( Gang ) Add separate money tracking for gang expenses ( @deansvendsen )
2024-01-14 22:48:14 +01:00
- ( Ports ) Port objects no longer track a separate promise for every use of nextWrite ( @Snarling )
2024-01-15 12:18:55 +01:00
- ( Ports ) Fixed a crashing bug related to the changes above ( @Jman420 )
2024-01-07 14:37:38 +01:00
- ( RemoteAPI ) Remote API can be targeted to a remote device instead of the default of localhost ( @Specker )
2024-02-10 14:24:05 +01:00
- ( RemoteAPI ) Added a getAllServers method ( @shyguy1412 )
2024-01-07 14:37:38 +01:00
- ( ScriptEditor ) When importing from other files that are also open in the editor , type information is now available in the IDE ( @shyguy1412 )
2024-01-14 22:48:14 +01:00
- ( ScriptEditor ) Script "models" in the script editor are now properly disposed ( @Caldwell - 74 )
2024-02-02 00:20:36 +01:00
- All running scripts are killed upon entering the BitVerse ( @LJNeon )
- Scripts with the "temporary" flag set do not populate the Recently Killed script list on script death ( @TheAimMan )
2024-02-10 14:24:05 +01:00
- Fix an issue with offline income for scripts ( @Caldwell - 74 )
- Various "nextUpdate" promises are not tracked internally as a single promise instead of an array of promises ( @Caldwell - 74 , @LJNeon )
2024-01-07 14:37:38 +01:00
- Fix inconsistent importing of the arg library ( @catloversg )
2024-02-02 00:20:36 +01:00
- Clarify some information in the CONTRIBUTING . md file ( @deansvendsen )
2024-02-10 14:24:05 +01:00
- Internal changes to method used for cloning objects ( @LJNeon )
- Rearrange some internal constants ( @Caldwell - 74 )
- b1t_flum3 . exe can be ran in "quick" mode ( @TheAimMan )
2024-01-07 14:37:38 +01:00
- Nerf noodle bar ( various )
2023-07-31 16:38:13 +02:00
` ,
2021-09-05 01:09:30 +02:00
} ;