2021-06-17 00:38:29 +02:00
|
|
|
import { GangMemberUpgrade } from "./GangMemberUpgrade";
|
|
|
|
import { GangMember } from "./GangMember";
|
|
|
|
import { WorkerScript } from "../Netscript/WorkerScript";
|
|
|
|
import { IPlayer } from "../PersonObjects/IPlayer";
|
2021-09-17 08:04:44 +02:00
|
|
|
import { IAscensionResult } from "./IAscensionResult";
|
2021-06-17 00:38:29 +02:00
|
|
|
|
|
|
|
export interface IGang {
|
2021-09-05 01:09:30 +02:00
|
|
|
facName: string;
|
|
|
|
members: GangMember[];
|
|
|
|
wanted: number;
|
|
|
|
respect: number;
|
|
|
|
|
|
|
|
isHackingGang: boolean;
|
|
|
|
|
|
|
|
respectGainRate: number;
|
|
|
|
wantedGainRate: number;
|
|
|
|
moneyGainRate: number;
|
|
|
|
|
|
|
|
storedCycles: number;
|
|
|
|
|
|
|
|
storedTerritoryAndPowerCycles: number;
|
|
|
|
|
|
|
|
territoryClashChance: number;
|
|
|
|
territoryWarfareEngaged: boolean;
|
|
|
|
|
|
|
|
notifyMemberDeath: boolean;
|
|
|
|
|
|
|
|
getPower(): number;
|
|
|
|
getTerritory(): number;
|
|
|
|
process(numCycles: number, player: IPlayer): void;
|
|
|
|
processGains(numCycles: number, player: IPlayer): void;
|
|
|
|
processTerritoryAndPowerGains(numCycles: number): void;
|
|
|
|
processExperienceGains(numCycles: number): void;
|
|
|
|
clash(won: boolean): void;
|
|
|
|
canRecruitMember(): boolean;
|
|
|
|
getRespectNeededToRecruitMember(): number;
|
|
|
|
recruitMember(name: string): boolean;
|
|
|
|
getWantedPenalty(): number;
|
|
|
|
calculatePower(): number;
|
|
|
|
killMember(member: GangMember): void;
|
2021-09-17 08:04:44 +02:00
|
|
|
ascendMember(member: GangMember, workerScript: WorkerScript): IAscensionResult;
|
2021-09-05 01:09:30 +02:00
|
|
|
getDiscount(): number;
|
|
|
|
getAllTaskNames(): string[];
|
|
|
|
getUpgradeCost(upg: GangMemberUpgrade): number;
|
2021-09-17 08:04:44 +02:00
|
|
|
toJSON(): any;
|
2021-09-05 01:09:30 +02:00
|
|
|
}
|