mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-04-18 15:28:43 +02:00
V0.51.3 (#845)
v0.51.3 - 2021-04-16 Y'all broke it on the first day (hydroflame) ------- Passive faction reputation * Reworked, from 1 rep / 2 minute. Now is a complicated percentage of the reputation you'd gain working for them. It's not op but it feels a bit more useful. Netscript * print/tprint now take any number of arguments. * print/tprint will now print object as json. * print/tprint now handle passing in an undefined argument properly. Casino * Cannot bet negative money anymore. * Roulette max bet is a bit higher. * Coin Flip has a small cooldown. * All buttons reject unstrusted mouse events. Documentation * Changed a message that said nsjs only works on Chrome. Bugfix * hacknet.maxNumNodes now works for both nodes and servers. * Fixed a bug where the popup boxes would contain data from previous popup boxes. * .js files will also have the export async function boilerplate. Misc. * turned off autocomplete for the terminal text input. * Fixed an issue on Windows+Firefox where pressing up on the terminal would bring the cursor to the begining of the line. (Issue #836) * Hacknet node names is easier to handle for screen readers. * Money spent on classes is now tracked independently of work money. * running coding contract from the terminal will display its name.
This commit is contained in:
36
src/PersonObjects/formulas/reputation.ts
Normal file
36
src/PersonObjects/formulas/reputation.ts
Normal file
@@ -0,0 +1,36 @@
|
||||
import { IPlayer } from '../IPlayer';
|
||||
import { Faction } from '../../Faction/Faction';
|
||||
import { CONSTANTS } from '../../Constants';
|
||||
import { BitNodeMultipliers } from '../../BitNode/BitNodeMultipliers';
|
||||
|
||||
function mult(f: Faction): number {
|
||||
var favorMult = 1 + (f.favor / 100);
|
||||
if (isNaN(favorMult)) {favorMult = 1;}
|
||||
return favorMult * BitNodeMultipliers.FactionWorkRepGain;
|
||||
}
|
||||
|
||||
export function getHackingWorkRepGain(p: IPlayer, f: Faction): number {
|
||||
return (p.hacking_skill + p.intelligence) /
|
||||
CONSTANTS.MaxSkillLevel * p.faction_rep_mult *
|
||||
p.getIntelligenceBonus(0.25) * mult(f);
|
||||
}
|
||||
|
||||
export function getFactionSecurityWorkRepGain(p: IPlayer, f: Faction): number {
|
||||
var t = 0.9 * (p.hacking_skill / CONSTANTS.MaxSkillLevel +
|
||||
p.strength / CONSTANTS.MaxSkillLevel +
|
||||
p.defense / CONSTANTS.MaxSkillLevel +
|
||||
p.dexterity / CONSTANTS.MaxSkillLevel +
|
||||
p.agility / CONSTANTS.MaxSkillLevel) / 4.5;
|
||||
return t * p.faction_rep_mult * mult(f);
|
||||
}
|
||||
|
||||
export function getFactionFieldWorkRepGain(p: IPlayer, f: Faction): number {
|
||||
var t = 0.9 * (p.hacking_skill / CONSTANTS.MaxSkillLevel +
|
||||
p.strength / CONSTANTS.MaxSkillLevel +
|
||||
p.defense / CONSTANTS.MaxSkillLevel +
|
||||
p.dexterity / CONSTANTS.MaxSkillLevel +
|
||||
p.agility / CONSTANTS.MaxSkillLevel +
|
||||
p.charisma / CONSTANTS.MaxSkillLevel +
|
||||
p.intelligence / CONSTANTS.MaxSkillLevel) / 5.5;
|
||||
return t * p.faction_rep_mult * mult(f);
|
||||
}
|
||||
Reference in New Issue
Block a user