mirror of
https://github.com/bitburner-official/bitburner-src.git
synced 2026-05-02 05:47:14 +02:00
Intelligence rework, most intelligence gain have been multiplied by at least 100, if not more. All intelligence use have been reviewed and often boosted but by a percentage. Typically this means intelligence gives a 2-6% boost to everything for normal players and around 13% for int farmers.
This commit is contained in:
@@ -178,4 +178,5 @@ export interface IPlayer {
|
||||
travel(to: CityName): boolean;
|
||||
giveExploit(exploit: Exploit): void;
|
||||
queryStatFromString(str: string): number;
|
||||
getIntelligenceBonus(weight: number): number;
|
||||
}
|
||||
|
||||
@@ -21,4 +21,6 @@ export interface IPlayerOrSleeve {
|
||||
|
||||
// Multipliers
|
||||
crime_success_mult: number;
|
||||
|
||||
getIntelligenceBonus(weight: number): number;
|
||||
}
|
||||
|
||||
@@ -209,4 +209,13 @@ export abstract class Person {
|
||||
this.max_hp = Math.floor(10 + this.defense / 10);
|
||||
this.hp = Math.round(this.max_hp * ratio);
|
||||
}
|
||||
|
||||
|
||||
getIntelligenceBonus(weight: number): number {
|
||||
// 15 => +1.4% when you initially acquire int
|
||||
// 50 => +3.8% mid game
|
||||
// 100 => +6.6% late game
|
||||
// 250 => +13.4% realistic best possible
|
||||
return 1+(weight*Math.pow(this.intelligence, 0.8)/600);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -821,7 +821,7 @@ export function startFactionHackWork(faction) {
|
||||
this.resetWorkStatus();
|
||||
|
||||
this.workHackExpGainRate = .15 * this.hacking_exp_mult * BitNodeMultipliers.FactionWorkExpGain;
|
||||
this.workRepGainRate = this.workRepGainRate = (this.hacking_skill + this.intelligence) / CONSTANTS.MaxSkillLevel * this.faction_rep_mult;
|
||||
this.workRepGainRate = (this.hacking_skill + this.intelligence) / CONSTANTS.MaxSkillLevel * this.faction_rep_mult * this.getIntelligenceBonus(0.5);
|
||||
|
||||
this.factionWorkType = CONSTANTS.FactionWorkHacking;
|
||||
this.currentWorkFactionDescription = "carrying out hacking contracts";
|
||||
@@ -869,7 +869,7 @@ export function workForFaction(numCycles) {
|
||||
//Constantly update the rep gain rate
|
||||
switch (this.factionWorkType) {
|
||||
case CONSTANTS.FactionWorkHacking:
|
||||
this.workRepGainRate = (this.hacking_skill + this.intelligence) / CONSTANTS.MaxSkillLevel * this.faction_rep_mult;
|
||||
this.workRepGainRate = (this.hacking_skill + this.intelligence) / CONSTANTS.MaxSkillLevel * this.faction_rep_mult * this.getIntelligenceBonus(0.5);
|
||||
break;
|
||||
case CONSTANTS.FactionWorkField:
|
||||
this.workRepGainRate = this.getFactionFieldWorkRepGain();
|
||||
@@ -1157,7 +1157,7 @@ export function startCreateProgramWork(programName, time, reqLevel) {
|
||||
export function createProgramWork(numCycles) {
|
||||
//Higher hacking skill will allow you to create programs faster
|
||||
var reqLvl = this.createProgramReqLvl;
|
||||
var skillMult = (this.hacking_skill / reqLvl); //This should always be greater than 1;
|
||||
var skillMult = (this.hacking_skill / reqLvl) * this.getIntelligenceBonus(3); //This should always be greater than 1;
|
||||
skillMult = 1 + ((skillMult - 1) / 5); //The divider constant can be adjusted as necessary
|
||||
|
||||
//Skill multiplier directly applied to "time worked"
|
||||
@@ -2305,4 +2305,13 @@ export function giveExploit(exploit) {
|
||||
if(!this.exploits.includes(exploit)) {
|
||||
this.exploits.push(exploit);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
export function getIntelligenceBonus(weight) {
|
||||
// 15 => +1.4% when you initially acquire int
|
||||
// 50 => +3.8% mid game
|
||||
// 100 => +6.6% late game
|
||||
// 250 => +13.4% realistic best possible
|
||||
return 1+(weight*Math.pow(this.intelligence, 0.8)/600);
|
||||
}
|
||||
@@ -533,7 +533,7 @@ export class Sleeve extends Person {
|
||||
this.shock = Math.min(100, this.shock + (0.0002 * cyclesUsed));
|
||||
break;
|
||||
case SleeveTaskType.Sync:
|
||||
this.sync = Math.min(100, this.sync + (0.0002 * cyclesUsed));
|
||||
this.sync = Math.min(100, this.sync + (p.getIntelligenceBonus(0.5) * 0.0002 * cyclesUsed));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user