mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-19 15:54:09 +02:00
174 lines
5.9 KiB
TypeScript
174 lines
5.9 KiB
TypeScript
import { PartialRecord, getRecordEntries } from "../Types/Record";
|
|
|
|
/**
|
|
* Bitnode multipliers influence the difficulty of different aspects of the game.
|
|
* Each Bitnode has a different theme/strategy to achieving the end goal, so these multipliers will can help drive the
|
|
* player toward the intended strategy. Unless they really want to play the long, slow game of waiting...
|
|
*/
|
|
export class BitNodeMultipliers {
|
|
/** Influences how quickly the player's agility level (not exp) scales */
|
|
AgilityLevelMultiplier = 1;
|
|
|
|
/** Influences the base cost to purchase an augmentation. */
|
|
AugmentationMoneyCost = 1;
|
|
|
|
/** Influences the base rep the player must have with a faction to purchase an augmentation. */
|
|
AugmentationRepCost = 1;
|
|
|
|
/** Influences how quickly the player can gain rank within Bladeburner. */
|
|
BladeburnerRank = 1;
|
|
|
|
/** Influences the cost of skill levels from Bladeburner. */
|
|
BladeburnerSkillCost = 1;
|
|
|
|
/** Influences how quickly the player's charisma level (not exp) scales */
|
|
CharismaLevelMultiplier = 1;
|
|
|
|
/** Influences the experience gained for each ability when a player completes a class. */
|
|
ClassGymExpGain = 1;
|
|
|
|
/**Influences the amount of money gained from completing Coding Contracts. */
|
|
CodingContractMoney = 1;
|
|
|
|
/** Influences the experience gained for each ability when the player completes working their job. */
|
|
CompanyWorkExpGain = 1;
|
|
|
|
/** Influences how much money the player earns when completing working their job. */
|
|
CompanyWorkMoney = 1;
|
|
|
|
/** Influences the valuation of corporations created by the player. */
|
|
CorporationValuation = 1;
|
|
|
|
/** Influences the base experience gained for each ability when the player commits a crime. */
|
|
CrimeExpGain = 1;
|
|
|
|
/** Influences the base money gained when the player commits a crime. */
|
|
CrimeMoney = 1;
|
|
|
|
/** Influences how many Augmentations you need in order to get invited to the Daedalus faction */
|
|
DaedalusAugsRequirement = 30;
|
|
|
|
/** Influences how quickly the player's defense level (not exp) scales */
|
|
DefenseLevelMultiplier = 1;
|
|
|
|
/** Influences how quickly the player's dexterity level (not exp) scales */
|
|
DexterityLevelMultiplier = 1;
|
|
|
|
/** Influences how much rep the player gains in each faction simply by being a member. */
|
|
FactionPassiveRepGain = 1;
|
|
|
|
/** Influences the experience gained for each ability when the player completes work for a Faction. */
|
|
FactionWorkExpGain = 1;
|
|
|
|
/** Influences how much rep the player gains when performing work for a faction. */
|
|
FactionWorkRepGain = 1;
|
|
|
|
/** Influences how much it costs to unlock the stock market's 4S Market Data API */
|
|
FourSigmaMarketDataApiCost = 1;
|
|
|
|
/** Influences how much it costs to unlock the stock market's 4S Market Data (NOT API) */
|
|
FourSigmaMarketDataCost = 1;
|
|
|
|
/** Reduces gangs earning. */
|
|
GangSoftcap = 1;
|
|
|
|
/** Percentage of unique augs that the gang has. */
|
|
GangUniqueAugs = 1;
|
|
|
|
/** Influences the experienced gained when hacking a server. */
|
|
HackExpGain = 1;
|
|
|
|
/** Influences how quickly the player's hacking level (not experience) scales */
|
|
HackingLevelMultiplier = 1;
|
|
|
|
/**
|
|
* Influences how much money is produced by Hacknet Nodes.
|
|
* Influences the hash rate of Hacknet Servers (unlocked in BitNode-9)
|
|
*/
|
|
HacknetNodeMoney = 1;
|
|
|
|
/** Influences how much money it costs to upgrade your home computer's RAM */
|
|
HomeComputerRamCost = 1;
|
|
|
|
/** Influences how much money is gained when the player infiltrates a company. */
|
|
InfiltrationMoney = 1;
|
|
|
|
/** Influences how much rep the player can gain from factions when selling stolen documents and secrets */
|
|
InfiltrationRep = 1;
|
|
|
|
/**
|
|
* Influences how much money can be stolen from a server when the player performs a hack against it through
|
|
* the Terminal.
|
|
*/
|
|
ManualHackMoney = 1;
|
|
|
|
/** Influence how much it costs to purchase a server */
|
|
PurchasedServerCost = 1;
|
|
|
|
/** Influence how much it costs to purchase a server */
|
|
PurchasedServerSoftcap = 1;
|
|
|
|
/** Influences the maximum number of purchased servers you can have */
|
|
PurchasedServerLimit = 1;
|
|
|
|
/** Influences the maximum allowed RAM for a purchased server */
|
|
PurchasedServerMaxRam = 1;
|
|
|
|
/** Influences the minimum favor the player must have with a faction before they can donate to gain rep. */
|
|
RepToDonateToFaction = 1;
|
|
|
|
/** Influences how much money can be stolen from a server when a script performs a hack against it. */
|
|
ScriptHackMoney = 1;
|
|
|
|
/**
|
|
* The amount of money actually gained when script hack a server. This is
|
|
* different than the above because you can reduce the amount of money but
|
|
* not gain that same amount.
|
|
*/
|
|
ScriptHackMoneyGain = 1;
|
|
|
|
/** Influences the growth percentage per cycle against a server. */
|
|
ServerGrowthRate = 1;
|
|
|
|
/** Influences the maximum money that a server can grow to. */
|
|
ServerMaxMoney = 1;
|
|
|
|
/** Influences the initial money that a server starts with. */
|
|
ServerStartingMoney = 1;
|
|
|
|
/** Influences the initial security level (hackDifficulty) of a server. */
|
|
ServerStartingSecurity = 1;
|
|
|
|
/** Influences the weaken amount per invocation against a server. */
|
|
ServerWeakenRate = 1;
|
|
|
|
/** Influences how quickly the player's strength level (not exp) scales */
|
|
StrengthLevelMultiplier = 1;
|
|
|
|
/** Influences the power of the gift. */
|
|
StaneksGiftPowerMultiplier = 1;
|
|
|
|
/** Influences the size of the gift. */
|
|
StaneksGiftExtraSize = 0;
|
|
|
|
/** Influences the hacking skill required to backdoor the world daemon. */
|
|
WorldDaemonDifficulty = 1;
|
|
|
|
/** Influences profits from corporation dividends and selling shares. */
|
|
CorporationSoftcap = 1;
|
|
|
|
/** Influences the amount of divisions a corporation can have have at the same time*/
|
|
CorporationDivisions = 1;
|
|
|
|
constructor(a: PartialRecord<keyof BitNodeMultipliers, number> = {}) {
|
|
for (const [key, value] of getRecordEntries(a)) this[key] = value;
|
|
}
|
|
}
|
|
|
|
/** The multipliers currently in effect */
|
|
export let currentNodeMults = new BitNodeMultipliers();
|
|
|
|
export function replaceCurrentNodeMults(mults: BitNodeMultipliers) {
|
|
currentNodeMults = mults;
|
|
}
|