Reviewed-on: #1 Co-authored-by: Platinum <platinumgamer@hotmail.com> Co-committed-by: Platinum <platinumgamer@hotmail.com>
68 lines
3.2 KiB
TypeScript
68 lines
3.2 KiB
TypeScript
import { BotHelper } from "@spt/helpers/BotHelper";
|
|
import { Difficulty } from "@spt/models/eft/common/tables/IBotType";
|
|
import { IPmcConfig } from "@spt/models/spt/config/IPmcConfig";
|
|
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
|
import { ConfigServer } from "@spt/servers/ConfigServer";
|
|
import { DatabaseService } from "@spt/services/DatabaseService";
|
|
import { LocalisationService } from "@spt/services/LocalisationService";
|
|
import { RandomUtil } from "@spt/utils/RandomUtil";
|
|
import { ICloner } from "@spt/utils/cloners/ICloner";
|
|
export declare class BotDifficultyHelper {
|
|
protected logger: ILogger;
|
|
protected databaseService: DatabaseService;
|
|
protected randomUtil: RandomUtil;
|
|
protected localisationService: LocalisationService;
|
|
protected botHelper: BotHelper;
|
|
protected configServer: ConfigServer;
|
|
protected cloner: ICloner;
|
|
protected pmcConfig: IPmcConfig;
|
|
constructor(logger: ILogger, databaseService: DatabaseService, randomUtil: RandomUtil, localisationService: LocalisationService, botHelper: BotHelper, configServer: ConfigServer, cloner: ICloner);
|
|
/**
|
|
* Get a difficulty object modified to handle fighting other PMCs
|
|
* @param pmcType 'bear or 'usec'
|
|
* @param difficulty easy / normal / hard / impossible
|
|
* @param usecType pmcUSEC
|
|
* @param bearType pmcBEAR
|
|
* @returns Difficulty object
|
|
*/
|
|
getPmcDifficultySettings(pmcType: "bear" | "usec", difficulty: string, usecType: string, bearType: string): Difficulty;
|
|
/**
|
|
* Add bot types to ENEMY_BOT_TYPES array
|
|
* @param difficultySettings Bot settings to alter
|
|
* @param typesToAdd Bot types to add to enemy list
|
|
* @param typeBeingEdited Bot type to ignore and not add to enemy list
|
|
*/
|
|
protected addBotToEnemyList(difficultySettings: Difficulty, typesToAdd: string[], typeBeingEdited?: string): void;
|
|
/**
|
|
* Configure difficulty settings to be hostile to USEC and BEAR
|
|
* Look up value in bot.json/chanceSameSideIsHostilePercent
|
|
* @param difficultySettings pmc difficulty settings
|
|
*/
|
|
protected setDifficultyToHostileToBearAndUsec(difficultySettings: Difficulty): void;
|
|
/**
|
|
* Get difficulty settings for desired bot type, if not found use assault bot types
|
|
* @param type bot type to retrieve difficulty of
|
|
* @param difficulty difficulty to get settings for (easy/normal etc)
|
|
* @returns Difficulty object
|
|
*/
|
|
getBotDifficultySettings(type: string, difficulty: string): Difficulty;
|
|
/**
|
|
* Get difficulty settings for a PMC
|
|
* @param type "usec" / "bear"
|
|
* @param difficulty what difficulty to retrieve
|
|
* @returns Difficulty object
|
|
*/
|
|
protected getDifficultySettings(type: string, difficulty: string): Difficulty;
|
|
/**
|
|
* Translate chosen value from pre-raid difficulty dropdown into bot difficulty value
|
|
* @param dropDownDifficulty Dropdown difficulty value to convert
|
|
* @returns bot difficulty
|
|
*/
|
|
convertBotDifficultyDropdownToBotDifficulty(dropDownDifficulty: string): string;
|
|
/**
|
|
* Choose a random difficulty from - easy/normal/hard/impossible
|
|
* @returns random difficulty
|
|
*/
|
|
chooseRandomDifficulty(): string;
|
|
}
|