Initial release for SPT 3.9
This commit is contained in:
97
types/services/PmcChatResponseService.d.ts
vendored
Normal file
97
types/services/PmcChatResponseService.d.ts
vendored
Normal file
@@ -0,0 +1,97 @@
|
||||
import { NotificationSendHelper } from "@spt/helpers/NotificationSendHelper";
|
||||
import { WeightedRandomHelper } from "@spt/helpers/WeightedRandomHelper";
|
||||
import { IPmcData } from "@spt/models/eft/common/IPmcData";
|
||||
import { Aggressor, Victim } from "@spt/models/eft/common/tables/IBotBase";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
import { IGiftsConfig } from "@spt/models/spt/config/IGiftsConfig";
|
||||
import { IPmcChatResponse } from "@spt/models/spt/config/IPmChatResponse";
|
||||
import { ILogger } from "@spt/models/spt/utils/ILogger";
|
||||
import { ConfigServer } from "@spt/servers/ConfigServer";
|
||||
import { GiftService } from "@spt/services/GiftService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MatchBotDetailsCacheService } from "@spt/services/MatchBotDetailsCacheService";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { RandomUtil } from "@spt/utils/RandomUtil";
|
||||
export declare class PmcChatResponseService {
|
||||
protected logger: ILogger;
|
||||
protected hashUtil: HashUtil;
|
||||
protected randomUtil: RandomUtil;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected matchBotDetailsCacheService: MatchBotDetailsCacheService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected giftService: GiftService;
|
||||
protected weightedRandomHelper: WeightedRandomHelper;
|
||||
protected configServer: ConfigServer;
|
||||
protected pmcResponsesConfig: IPmcChatResponse;
|
||||
protected giftConfig: IGiftsConfig;
|
||||
constructor(logger: ILogger, hashUtil: HashUtil, randomUtil: RandomUtil, notificationSendHelper: NotificationSendHelper, matchBotDetailsCacheService: MatchBotDetailsCacheService, localisationService: LocalisationService, giftService: GiftService, weightedRandomHelper: WeightedRandomHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* For each PMC victim of the player, have a chance to send a message to the player, can be positive or negative
|
||||
* @param sessionId Session id
|
||||
* @param pmcVictims Array of bots killed by player
|
||||
* @param pmcData Player profile
|
||||
*/
|
||||
sendVictimResponse(sessionId: string, pmcVictims: Victim[], pmcData: IPmcData): void;
|
||||
/**
|
||||
* Not fully implemented yet, needs method of acquiring killers details after raid
|
||||
* @param sessionId Session id
|
||||
* @param pmcData Players profile
|
||||
* @param killer The bot who killed the player
|
||||
*/
|
||||
sendKillerResponse(sessionId: string, pmcData: IPmcData, killer: Aggressor): void;
|
||||
/**
|
||||
* Choose a localised message to send the player (different if sender was killed or killed player)
|
||||
* @param isVictim Is the message coming from a bot killed by the player
|
||||
* @param pmcData Player profile
|
||||
* @returns Message from PMC to player
|
||||
*/
|
||||
protected chooseMessage(isVictim: boolean, pmcData: IPmcData): string | undefined;
|
||||
/**
|
||||
* Should capitalisation be stripped from the message response before sending
|
||||
* @param isVictim Was responder a victim of player
|
||||
* @returns true = should be stripped
|
||||
*/
|
||||
protected stripCapitalistion(isVictim: boolean): boolean;
|
||||
/**
|
||||
* Should capitalisation be stripped from the message response before sending
|
||||
* @param isVictim Was responder a victim of player
|
||||
* @returns true = should be stripped
|
||||
*/
|
||||
protected allCaps(isVictim: boolean): boolean;
|
||||
/**
|
||||
* Should a suffix be appended to the end of the message being sent to player
|
||||
* @param isVictim Was responder a victim of player
|
||||
* @returns true = should be stripped
|
||||
*/
|
||||
appendSuffixToMessageEnd(isVictim: boolean): boolean;
|
||||
/**
|
||||
* Choose a type of response based on the weightings in pmc response config
|
||||
* @param isVictim Was responder killed by player
|
||||
* @returns Response type (positive/negative)
|
||||
*/
|
||||
protected chooseResponseType(isVictim?: boolean): string;
|
||||
/**
|
||||
* Get locale keys related to the type of response to send (victim/killer)
|
||||
* @param keyType Positive/negative
|
||||
* @param isVictim Was responder killed by player
|
||||
* @returns
|
||||
*/
|
||||
protected getResponseLocaleKeys(keyType: string, isVictim?: boolean): string[];
|
||||
/**
|
||||
* Get all locale keys that start with `pmcresponse-suffix`
|
||||
* @returns array of keys
|
||||
*/
|
||||
protected getResponseSuffixLocaleKeys(): string[];
|
||||
/**
|
||||
* Randomly draw a victim of the the array and return thier details
|
||||
* @param pmcVictims Possible victims to choose from
|
||||
* @returns IUserDialogInfo
|
||||
*/
|
||||
protected chooseRandomVictim(pmcVictims: Victim[]): IUserDialogInfo;
|
||||
/**
|
||||
* Convert a victim object into a IUserDialogInfo object
|
||||
* @param pmcVictim victim to convert
|
||||
* @returns IUserDialogInfo
|
||||
*/
|
||||
protected getVictimDetails(pmcVictim: Victim): IUserDialogInfo;
|
||||
}
|
||||
Reference in New Issue
Block a user