mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-19 15:54:09 +02:00
Added a few formulas to calculate work gains
This commit is contained in:
@@ -1,28 +1,28 @@
|
||||
import { Faction } from "../../Faction/Faction";
|
||||
import { CONSTANTS } from "../../Constants";
|
||||
import { BitNodeMultipliers } from "../../BitNode/BitNodeMultipliers";
|
||||
import { CalculateShareMult } from "../../NetworkShare/Share";
|
||||
import { IPerson } from "../IPerson";
|
||||
import { calculateIntelligenceBonus } from "./intelligence";
|
||||
|
||||
function mult(f: Faction): number {
|
||||
let favorMult = 1 + f.favor / 100;
|
||||
function mult(favor: number): number {
|
||||
let favorMult = 1 + favor / 100;
|
||||
if (isNaN(favorMult)) {
|
||||
favorMult = 1;
|
||||
}
|
||||
return favorMult * BitNodeMultipliers.FactionWorkRepGain;
|
||||
}
|
||||
|
||||
export function getHackingWorkRepGain(p: IPerson, f: Faction): number {
|
||||
export function getHackingWorkRepGain(p: IPerson, favor: number): number {
|
||||
return (
|
||||
((p.skills.hacking + p.skills.intelligence / 3) / CONSTANTS.MaxSkillLevel) *
|
||||
p.mults.faction_rep *
|
||||
p.getIntelligenceBonus(1) *
|
||||
mult(f) *
|
||||
calculateIntelligenceBonus(p.skills.intelligence, 1) *
|
||||
mult(favor) *
|
||||
CalculateShareMult()
|
||||
);
|
||||
}
|
||||
|
||||
export function getFactionSecurityWorkRepGain(p: IPerson, f: Faction): number {
|
||||
export function getFactionSecurityWorkRepGain(p: IPerson, favor: number): number {
|
||||
const t =
|
||||
(0.9 *
|
||||
(p.skills.strength +
|
||||
@@ -32,10 +32,10 @@ export function getFactionSecurityWorkRepGain(p: IPerson, f: Faction): number {
|
||||
(p.skills.hacking + p.skills.intelligence) * CalculateShareMult())) /
|
||||
CONSTANTS.MaxSkillLevel /
|
||||
4.5;
|
||||
return t * p.mults.faction_rep * mult(f) * p.getIntelligenceBonus(1);
|
||||
return t * p.mults.faction_rep * mult(favor) * calculateIntelligenceBonus(p.skills.intelligence, 1);
|
||||
}
|
||||
|
||||
export function getFactionFieldWorkRepGain(p: IPerson, f: Faction): number {
|
||||
export function getFactionFieldWorkRepGain(p: IPerson, favor: number): number {
|
||||
const t =
|
||||
(0.9 *
|
||||
(p.skills.strength +
|
||||
@@ -46,5 +46,5 @@ export function getFactionFieldWorkRepGain(p: IPerson, f: Faction): number {
|
||||
(p.skills.hacking + p.skills.intelligence) * CalculateShareMult())) /
|
||||
CONSTANTS.MaxSkillLevel /
|
||||
5.5;
|
||||
return t * p.mults.faction_rep * mult(f) * p.getIntelligenceBonus(1);
|
||||
return t * p.mults.faction_rep * mult(favor) * calculateIntelligenceBonus(p.skills.intelligence, 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user