bitburner-src/src/PersonObjects/IPerson.ts

48 lines
1.3 KiB
TypeScript
Raw Normal View History

// Interface that represents either the player (PlayerObject) or
// a Sleeve. Used for functions that need to take in both.
2022-05-21 00:18:42 +02:00
import { IPlayerOwnedAugmentation } from "../Augmentation/PlayerOwnedAugmentation";
import { ITaskTracker } from "./ITaskTracker";
2022-07-15 00:43:33 +02:00
import { Multipliers } from "./Multipliers";
export interface IPerson {
2022-04-14 18:00:17 +02:00
// Stats
hacking: number;
strength: number;
defense: number;
dexterity: number;
agility: number;
charisma: number;
intelligence: number;
hp: number;
max_hp: number;
2022-04-14 17:57:01 +02:00
2022-04-14 18:00:17 +02:00
// Experience
hacking_exp: number;
strength_exp: number;
defense_exp: number;
dexterity_exp: number;
agility_exp: number;
charisma_exp: number;
intelligence_exp: number;
2022-04-14 17:57:01 +02:00
2022-07-15 00:43:33 +02:00
mults: Multipliers;
2022-04-14 17:57:01 +02:00
2022-05-21 00:18:42 +02:00
augmentations: IPlayerOwnedAugmentation[];
2022-04-14 18:00:17 +02:00
getIntelligenceBonus(weight: number): number;
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;
takeDamage(amt: number): boolean;
regenerateHp: (amt: number) => void;
queryStatFromString: (str: string) => number;
whoAmI: () => string;
}