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:
Olivier Gagnon
2021-03-20 05:29:53 -04:00
parent 2507899762
commit 7232a786ed
18 changed files with 111 additions and 76 deletions
+9 -12
View File
@@ -8,11 +8,10 @@ import { HacknetServer } from "./Hacknet/HacknetServer";
*/
export function calculateHackingChance(server: Server): number {
const hackFactor = 1.75;
const intFactor = 0.2;
const difficultyMult = (100 - server.hackDifficulty) / 100;
const skillMult = (hackFactor * Player.hacking_skill) + (intFactor * Player.intelligence);
const skillMult = hackFactor * Player.hacking_skill;
const skillChance = (skillMult - server.requiredHackingSkill) / skillMult;
const chance = skillChance * difficultyMult * Player.hacking_chance_mult;
const chance = skillChance * difficultyMult * Player.hacking_chance_mult * Player.getIntelligenceBonus(1);
if (chance > 1) { return 1; }
if (chance < 0) { return 0; }
@@ -55,21 +54,19 @@ export function calculatePercentMoneyHacked(server: Server): number {
/**
* Returns time it takes to complete a hack on a server, in seconds
*/
export function calculateHackingTime(server: Server, hack: number, int: number): number {
export function calculateHackingTime(server: Server, hack: number): number {
const difficultyMult = server.requiredHackingSkill * server.hackDifficulty;
const baseDiff = 500;
const baseSkill = 50;
const diffFactor = 2.5;
const intFactor = 0.1;
if (hack == null) {hack = Player.hacking_skill;}
if (int == null) {int = Player.intelligence;}
let skillFactor = (diffFactor * difficultyMult + baseDiff);
// tslint:disable-next-line
skillFactor /= (hack + baseSkill + (intFactor * int));
skillFactor /= (hack + baseSkill);
const hackTimeMultiplier = 5;
const hackingTime = hackTimeMultiplier * skillFactor / Player.hacking_speed_mult;
const hackingTime = hackTimeMultiplier * skillFactor / (Player.hacking_speed_mult * Player.getIntelligenceBonus(1));
return hackingTime;
}
@@ -77,17 +74,17 @@ export function calculateHackingTime(server: Server, hack: number, int: number):
/**
* Returns time it takes to complete a grow operation on a server, in seconds
*/
export function calculateGrowTime(server: Server, hack: number, int: number): number {
export function calculateGrowTime(server: Server, hack: number): number {
const growTimeMultiplier = 3.2; // Relative to hacking time. 16/5 = 3.2
return growTimeMultiplier * calculateHackingTime(server, hack, int);
return growTimeMultiplier * calculateHackingTime(server, hack);
}
/**
* Returns time it takes to complete a weaken operation on a server, in seconds
*/
export function calculateWeakenTime(server: Server, hack: number, int: number): number {
export function calculateWeakenTime(server: Server, hack: number): number {
const weakenTimeMultiplier = 4; // Relative to hacking time
return weakenTimeMultiplier * calculateHackingTime(server, hack, int);
return weakenTimeMultiplier * calculateHackingTime(server, hack);
}