mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2024-10-24 02:33:16 +02:00
105 lines
3.7 KiB
TypeScript
105 lines
3.7 KiB
TypeScript
import { AugmentationStats } from "../ScriptEditor/NetscriptDefinitions";
|
|
|
|
export interface Multipliers {
|
|
hacking_chance: number;
|
|
hacking_speed: number;
|
|
hacking_money: number;
|
|
hacking_grow: number;
|
|
hacking: number;
|
|
hacking_exp: number;
|
|
strength: number;
|
|
strength_exp: number;
|
|
defense: number;
|
|
defense_exp: number;
|
|
dexterity: number;
|
|
dexterity_exp: number;
|
|
agility: number;
|
|
agility_exp: number;
|
|
charisma: number;
|
|
charisma_exp: number;
|
|
hacknet_node_money: number;
|
|
hacknet_node_purchase_cost: number;
|
|
hacknet_node_ram_cost: number;
|
|
hacknet_node_core_cost: number;
|
|
hacknet_node_level_cost: number;
|
|
company_rep: number;
|
|
faction_rep: number;
|
|
work_money: number;
|
|
crime_success: number;
|
|
crime_money: number;
|
|
bladeburner_max_stamina: number;
|
|
bladeburner_stamina_gain: number;
|
|
bladeburner_analysis: number;
|
|
bladeburner_success_chance: number;
|
|
}
|
|
|
|
export const defaultMultipliers = (): Multipliers => {
|
|
return {
|
|
hacking_chance: 1,
|
|
hacking_speed: 1,
|
|
hacking_money: 1,
|
|
hacking_grow: 1,
|
|
hacking: 1,
|
|
hacking_exp: 1,
|
|
strength: 1,
|
|
strength_exp: 1,
|
|
defense: 1,
|
|
defense_exp: 1,
|
|
dexterity: 1,
|
|
dexterity_exp: 1,
|
|
agility: 1,
|
|
agility_exp: 1,
|
|
charisma: 1,
|
|
charisma_exp: 1,
|
|
hacknet_node_money: 1,
|
|
hacknet_node_purchase_cost: 1,
|
|
hacknet_node_ram_cost: 1,
|
|
hacknet_node_core_cost: 1,
|
|
hacknet_node_level_cost: 1,
|
|
company_rep: 1,
|
|
faction_rep: 1,
|
|
work_money: 1,
|
|
crime_success: 1,
|
|
crime_money: 1,
|
|
bladeburner_max_stamina: 1,
|
|
bladeburner_stamina_gain: 1,
|
|
bladeburner_analysis: 1,
|
|
bladeburner_success_chance: 1,
|
|
};
|
|
};
|
|
|
|
export const mergeMultipliers = (m0: Multipliers, m1: AugmentationStats): Multipliers => {
|
|
return {
|
|
hacking_chance: m0.hacking_chance * (m1.hacking_chance ?? 1),
|
|
hacking_speed: m0.hacking_speed * (m1.hacking_speed ?? 1),
|
|
hacking_money: m0.hacking_money * (m1.hacking_money ?? 1),
|
|
hacking_grow: m0.hacking_grow * (m1.hacking_grow ?? 1),
|
|
hacking: m0.hacking * (m1.hacking ?? 1),
|
|
hacking_exp: m0.hacking_exp * (m1.hacking_exp ?? 1),
|
|
strength: m0.strength * (m1.strength ?? 1),
|
|
strength_exp: m0.strength_exp * (m1.strength_exp ?? 1),
|
|
defense: m0.defense * (m1.defense ?? 1),
|
|
defense_exp: m0.defense_exp * (m1.defense_exp ?? 1),
|
|
dexterity: m0.dexterity * (m1.dexterity ?? 1),
|
|
dexterity_exp: m0.dexterity_exp * (m1.dexterity_exp ?? 1),
|
|
agility: m0.agility * (m1.agility ?? 1),
|
|
agility_exp: m0.agility_exp * (m1.agility_exp ?? 1),
|
|
charisma: m0.charisma * (m1.charisma ?? 1),
|
|
charisma_exp: m0.charisma_exp * (m1.charisma_exp ?? 1),
|
|
hacknet_node_money: m0.hacknet_node_money * (m1.hacknet_node_money ?? 1),
|
|
hacknet_node_purchase_cost: m0.hacknet_node_purchase_cost * (m1.hacknet_node_purchase_cost ?? 1),
|
|
hacknet_node_ram_cost: m0.hacknet_node_ram_cost * (m1.hacknet_node_ram_cost ?? 1),
|
|
hacknet_node_core_cost: m0.hacknet_node_core_cost * (m1.hacknet_node_core_cost ?? 1),
|
|
hacknet_node_level_cost: m0.hacknet_node_level_cost * (m1.hacknet_node_level_cost ?? 1),
|
|
company_rep: m0.company_rep * (m1.company_rep ?? 1),
|
|
faction_rep: m0.faction_rep * (m1.faction_rep ?? 1),
|
|
work_money: m0.work_money * (m1.work_money ?? 1),
|
|
crime_success: m0.crime_success * (m1.crime_success ?? 1),
|
|
crime_money: m0.crime_money * (m1.crime_money ?? 1),
|
|
bladeburner_max_stamina: m0.bladeburner_max_stamina * (m1.bladeburner_max_stamina ?? 1),
|
|
bladeburner_stamina_gain: m0.bladeburner_stamina_gain * (m1.bladeburner_stamina_gain ?? 1),
|
|
bladeburner_analysis: m0.bladeburner_analysis * (m1.bladeburner_analysis ?? 1),
|
|
bladeburner_success_chance: m0.bladeburner_success_chance * (m1.bladeburner_success_chance ?? 1),
|
|
};
|
|
};
|