balance infiltrate synthoids

This commit is contained in:
Olivier Gagnon
2022-05-20 18:18:42 -04:00
parent 34b099c050
commit 27a8582df8
9 changed files with 76 additions and 488 deletions
+3 -1
View File
@@ -1,6 +1,7 @@
// Interface that represents either the player (PlayerObject) or
// a Sleeve. Used for functions that need to take in both.
import { IPlayerOwnedAugmentation } from "../Augmentation/PlayerOwnedAugmentation";
import { ITaskTracker } from "./ITaskTracker";
export interface IPerson {
@@ -14,7 +15,6 @@ export interface IPerson {
intelligence: number;
hp: number;
max_hp: number;
money: number;
// Experience
hacking_exp: number;
@@ -47,6 +47,8 @@ export interface IPerson {
bladeburner_analysis_mult: number;
augmentations: IPlayerOwnedAugmentation[];
getIntelligenceBonus(weight: number): number;
gainHackingExp(exp: number): void;
gainStrengthExp(exp: number): void;
-2
View File
@@ -34,8 +34,6 @@ import { IPerson } from "./IPerson";
import { WorkType, ClassType, CrimeType } from "../utils/WorkType";
export interface IPlayer extends IPerson {
// Class members
augmentations: IPlayerOwnedAugmentation[];
bitNodeN: number;
city: CityName;
companyName: string;
+58 -165
View File
@@ -15,189 +15,89 @@ export abstract class Person implements IPerson {
/**
* Stats
*/
hacking;
strength;
defense;
dexterity;
agility;
charisma;
intelligence;
hp;
max_hp;
money;
hacking = 1;
strength = 1;
defense = 1;
dexterity = 1;
agility = 1;
charisma = 1;
intelligence = 0;
hp = 10;
max_hp = 10;
/**
* Experience
*/
hacking_exp;
strength_exp;
defense_exp;
dexterity_exp;
agility_exp;
charisma_exp;
intelligence_exp;
hacking_exp = 0;
strength_exp = 0;
defense_exp = 0;
dexterity_exp = 0;
agility_exp = 0;
charisma_exp = 0;
intelligence_exp = 0;
/**
* Multipliers
*/
hacking_mult;
strength_mult;
defense_mult;
dexterity_mult;
agility_mult;
charisma_mult;
hacking_mult = 1;
strength_mult = 1;
defense_mult = 1;
dexterity_mult = 1;
agility_mult = 1;
charisma_mult = 1;
hacking_exp_mult;
strength_exp_mult;
defense_exp_mult;
dexterity_exp_mult;
agility_exp_mult;
charisma_exp_mult;
hacking_exp_mult = 1;
strength_exp_mult = 1;
defense_exp_mult = 1;
dexterity_exp_mult = 1;
agility_exp_mult = 1;
charisma_exp_mult = 1;
hacking_chance_mult;
hacking_speed_mult;
hacking_money_mult;
hacking_grow_mult;
hacking_chance_mult = 1;
hacking_speed_mult = 1;
hacking_money_mult = 1;
hacking_grow_mult = 1;
company_rep_mult;
faction_rep_mult;
company_rep_mult = 1;
faction_rep_mult = 1;
crime_money_mult;
crime_success_mult;
crime_money_mult = 1;
crime_success_mult = 1;
work_money_mult;
work_money_mult = 1;
hacknet_node_money_mult;
hacknet_node_purchase_cost_mult;
hacknet_node_ram_cost_mult;
hacknet_node_core_cost_mult;
hacknet_node_level_cost_mult;
hacknet_node_money_mult = 1;
hacknet_node_purchase_cost_mult = 1;
hacknet_node_ram_cost_mult = 1;
hacknet_node_core_cost_mult = 1;
hacknet_node_level_cost_mult = 1;
bladeburner_max_stamina_mult;
bladeburner_stamina_gain_mult;
bladeburner_analysis_mult;
bladeburner_success_chance_mult;
infiltration_base_rep_increase = 0;
infiltration_rep_mult = 1;
infiltration_trade_mult = 1;
infiltration_sell_mult = 1;
infiltration_timer_mult = 1;
infiltration_damage_reduction_mult = 1;
bladeburner_max_stamina_mult = 1;
bladeburner_stamina_gain_mult = 1;
bladeburner_analysis_mult = 1;
bladeburner_success_chance_mult = 1;
/**
* Augmentations
*/
augmentations: IPlayerOwnedAugmentation[];
queuedAugmentations: IPlayerOwnedAugmentation[];
augmentations: IPlayerOwnedAugmentation[] = [];
/**
* City that the person is in
*/
city: CityName = CityName.Sector12;
gainHackingExp: (exp: number) => void;
gainStrengthExp: (exp: number) => void;
gainDefenseExp: (exp: number) => void;
gainDexterityExp: (exp: number) => void;
gainAgilityExp: (exp: number) => void;
gainCharismaExp: (exp: number) => void;
gainIntelligenceExp: (exp: number) => void;
gainStats: (retValue: ITaskTracker) => void;
calculateSkill: (exp: number, mult: number) => number;
regenerateHp: (amt: number) => void;
queryStatFromString: (str: string) => number;
constructor() {
/**
* Stats
*/
this.hacking = 1;
this.strength = 1;
this.defense = 1;
this.dexterity = 1;
this.agility = 1;
this.charisma = 1;
this.intelligence = 1;
this.hp = 10;
this.max_hp = 10;
this.money = 0;
/**
* Experience
*/
this.hacking_exp = 0;
this.strength_exp = 0;
this.defense_exp = 0;
this.dexterity_exp = 0;
this.agility_exp = 0;
this.charisma_exp = 0;
this.intelligence_exp = 0;
/**
* Multipliers
*/
this.hacking_mult = 1;
this.strength_mult = 1;
this.defense_mult = 1;
this.dexterity_mult = 1;
this.agility_mult = 1;
this.charisma_mult = 1;
this.hacking_exp_mult = 1;
this.strength_exp_mult = 1;
this.defense_exp_mult = 1;
this.dexterity_exp_mult = 1;
this.agility_exp_mult = 1;
this.charisma_exp_mult = 1;
this.hacking_chance_mult = 1;
this.hacking_speed_mult = 1;
this.hacking_money_mult = 1;
this.hacking_grow_mult = 1;
this.company_rep_mult = 1;
this.faction_rep_mult = 1;
this.crime_money_mult = 1;
this.crime_success_mult = 1;
this.work_money_mult = 1;
this.hacknet_node_money_mult = 1;
this.hacknet_node_purchase_cost_mult = 1;
this.hacknet_node_ram_cost_mult = 1;
this.hacknet_node_core_cost_mult = 1;
this.hacknet_node_level_cost_mult = 1;
this.bladeburner_max_stamina_mult = 1;
this.bladeburner_stamina_gain_mult = 1;
this.bladeburner_analysis_mult = 1;
this.bladeburner_success_chance_mult = 1;
/**
* Augmentations
*/
this.augmentations = [];
this.queuedAugmentations = [];
/**
* City that the person is in
*/
this.city = CityName.Sector12;
this.gainHackingExp = generalMethods.gainHackingExp;
this.gainStrengthExp = generalMethods.gainStrengthExp;
this.gainDefenseExp = generalMethods.gainDefenseExp;
this.gainDexterityExp = generalMethods.gainDexterityExp;
this.gainAgilityExp = generalMethods.gainAgilityExp;
this.gainCharismaExp = generalMethods.gainCharismaExp;
this.gainIntelligenceExp = generalMethods.gainIntelligenceExp;
this.gainStats = generalMethods.gainStats;
this.calculateSkill = generalMethods.calculateSkill;
this.regenerateHp = generalMethods.regenerateHp;
this.queryStatFromString = generalMethods.queryStatFromString;
}
gainHackingExp = generalMethods.gainHackingExp;
gainStrengthExp = generalMethods.gainStrengthExp;
gainDefenseExp = generalMethods.gainDefenseExp;
gainDexterityExp = generalMethods.gainDexterityExp;
gainAgilityExp = generalMethods.gainAgilityExp;
gainCharismaExp = generalMethods.gainCharismaExp;
gainIntelligenceExp = generalMethods.gainIntelligenceExp;
gainStats = generalMethods.gainStats;
calculateSkill = generalMethods.calculateSkill;
regenerateHp = generalMethods.regenerateHp;
queryStatFromString = generalMethods.queryStatFromString;
/**
* Updates this object's multipliers for the given augmentation
@@ -297,13 +197,6 @@ export abstract class Person implements IPerson {
this.bladeburner_stamina_gain_mult = 1;
this.bladeburner_analysis_mult = 1;
this.bladeburner_success_chance_mult = 1;
this.infiltration_base_rep_increase = 0;
this.infiltration_rep_mult = 1;
this.infiltration_trade_mult = 1;
this.infiltration_sell_mult = 1;
this.infiltration_timer_mult = 1;
this.infiltration_damage_reduction_mult = 1;
}
/**
@@ -382,7 +382,7 @@ export function recordMoneySource(this: PlayerObject, amt: number, source: strin
this.moneySourceB.record(amt, source);
}
export function gainHackingExp(this: IPlayer, exp: number): void {
export function gainHackingExp(this: IPerson, exp: number): void {
if (isNaN(exp)) {
console.error("ERR: NaN passed into Player.gainHackingExp()");
return;
+1 -1
View File
@@ -238,7 +238,7 @@ export class Sleeve extends Person {
if (this.currentTaskTime >= this.currentTaskMaxTime) {
if (this.bbAction === "Infiltrate synthoids") {
bb.infiltrateSynthoidCommunities();
bb.infiltrateSynthoidCommunities(p);
this.currentTaskTime = 0;
return retValue;
}