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
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-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
// 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 ,
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 : `
2023-12-26 17:53:27 +01:00
# # v2 . 6.0 dev - Changelog last updated 26 December 2023
# # # MAJOR ADDITIONS
- A new minigame IPvGO , based on the game Go . See the "IPvGO Subnet" option from the sidebar . Documentation is also available under "How to Play" from that screen ( @ficocelliguy )
- A new BitNode has been added which focuses on the IPvGO mechanic ( @ficocelliguy )
2023-10-04 16:50:14 +02:00
# # # API
2023-12-26 17:53:27 +01:00
- Added the ns . go API , which allows interaction with the new IPvGO mechanic . While this is in development , the API may undergo changes . ( @ficocelliguy )
2023-07-31 16:38:13 +02:00
` ,
2021-09-05 01:09:30 +02:00
} ;