Update types
This commit is contained in:
parent
78f1193641
commit
aeac2053d3
TypeScript
10ScopesAndTypes/types
callbacks
controllers
helpers
models
eft
dialog
IClearMailMessageRequest.d.tsIDeleteFriendRequest.d.tsIFriendRequestSendResponse.d.tsIGetMailDialogViewResponseData.d.tsIRemoveMailMessageRequest.d.ts
match
IAcceptGroupInviteRequest.d.tsIAcceptGroupInviteResponse.d.tsICancelGroupInviteRequest.d.tsIRemovePlayerFromGroupRequest.d.tsISendGroupInviteRequest.d.ts
notifier
profile
enums
spt
services
11BundleLoadingSample/types
callbacks
controllers
helpers
models
eft
dialog
IClearMailMessageRequest.d.tsIDeleteFriendRequest.d.tsIFriendRequestSendResponse.d.tsIGetMailDialogViewResponseData.d.tsIRemoveMailMessageRequest.d.ts
match
IAcceptGroupInviteRequest.d.tsIAcceptGroupInviteResponse.d.tsICancelGroupInviteRequest.d.tsIRemovePlayerFromGroupRequest.d.tsISendGroupInviteRequest.d.ts
notifier
profile
enums
spt
services
12ClassExtensionOverride/types
callbacks
controllers
helpers
models
eft
dialog
IClearMailMessageRequest.d.tsIDeleteFriendRequest.d.tsIFriendRequestSendResponse.d.tsIGetMailDialogViewResponseData.d.tsIRemoveMailMessageRequest.d.ts
match
IAcceptGroupInviteRequest.d.tsIAcceptGroupInviteResponse.d.tsICancelGroupInviteRequest.d.tsIRemovePlayerFromGroupRequest.d.tsISendGroupInviteRequest.d.ts
notifier
profile
enums
spt
services
13AddTrader/types
callbacks
controllers
helpers
models
eft
dialog
IClearMailMessageRequest.d.tsIDeleteFriendRequest.d.tsIFriendRequestSendResponse.d.tsIGetMailDialogViewResponseData.d.tsIRemoveMailMessageRequest.d.ts
match
IAcceptGroupInviteRequest.d.tsIAcceptGroupInviteResponse.d.tsICancelGroupInviteRequest.d.tsIRemovePlayerFromGroupRequest.d.tsISendGroupInviteRequest.d.ts
notifier
profile
enums
spt
services
14AfterDBLoadHook/types
@ -2,7 +2,10 @@ import { DialogueController } from "../controllers/DialogueController";
|
||||
import { OnUpdate } from "../di/OnUpdate";
|
||||
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IChatServer } from "../models/eft/dialog/IChatServer";
|
||||
import { IClearMailMessageRequest } from "../models/eft/dialog/IClearMailMessageRequest";
|
||||
import { IDeleteFriendRequest } from "../models/eft/dialog/IDeleteFriendRequest";
|
||||
import { IFriendRequestData } from "../models/eft/dialog/IFriendRequestData";
|
||||
import { IFriendRequestSendResponse } from "../models/eft/dialog/IFriendRequestSendResponse";
|
||||
import { IGetAllAttachmentsRequestData } from "../models/eft/dialog/IGetAllAttachmentsRequestData";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetChatServerListRequestData } from "../models/eft/dialog/IGetChatServerListRequestData";
|
||||
@ -13,6 +16,7 @@ import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDial
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { IPinDialogRequestData } from "../models/eft/dialog/IPinDialogRequestData";
|
||||
import { IRemoveDialogRequestData } from "../models/eft/dialog/IRemoveDialogRequestData";
|
||||
import { IRemoveMailMessageRequest } from "../models/eft/dialog/IRemoveMailMessageRequest";
|
||||
import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest";
|
||||
import { ISetDialogReadRequestData } from "../models/eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
@ -37,9 +41,13 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns
|
||||
*/
|
||||
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<IChatServer[]>;
|
||||
/** Handle client/mail/dialog/list */
|
||||
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
|
||||
/** Handle client/mail/dialog/view */
|
||||
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
||||
/** Handle client/mail/dialog/info */
|
||||
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo>;
|
||||
/** Handle client/mail/dialog/remove */
|
||||
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
@ -49,10 +57,14 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns IGetAllAttachmentsResponse
|
||||
*/
|
||||
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||
/** Handle client/friend/request/list/outbox */
|
||||
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): IGetBodyResponseData<IFriendRequestSendResponse>;
|
||||
deleteFriend(url: string, request: IDeleteFriendRequest, sessionID: string): INullResponseData;
|
||||
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||
clearMail(url: string, request: IClearMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
removeMail(url: string, request: IRemoveMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
onUpdate(timeSinceLastRun: number): Promise<boolean>;
|
||||
getRoute(): string;
|
||||
}
|
||||
|
@ -3,6 +3,9 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||
import { IAcceptGroupInviteRequest } from "../models/eft/match/IAcceptGroupInviteRequest";
|
||||
import { IAcceptGroupInviteResponse } from "../models/eft/match/IAcceptGroupInviteResponse";
|
||||
import { ICancelGroupInviteRequest } from "../models/eft/match/ICancelGroupInviteRequest";
|
||||
import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData";
|
||||
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
||||
import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData";
|
||||
@ -11,6 +14,8 @@ import { IGetRaidConfigurationRequestData } from "../models/eft/match/IGetRaidCo
|
||||
import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData";
|
||||
import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult";
|
||||
import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData";
|
||||
import { IRemovePlayerFromGroupRequest } from "../models/eft/match/IRemovePlayerFromGroupRequest";
|
||||
import { ISendGroupInviteRequest } from "../models/eft/match/ISendGroupInviteRequest";
|
||||
import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||
@ -26,9 +31,12 @@ export declare class MatchCallbacks {
|
||||
exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
stopGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: ISendGroupInviteRequest, sessionID: string): IGetBodyResponseData<string>;
|
||||
/** Handle client/match/group/invite/accept */
|
||||
acceptGroupInvite(url: string, info: IAcceptGroupInviteRequest, sessionID: string): IGetBodyResponseData<IAcceptGroupInviteResponse[]>;
|
||||
/** Handle client/match/group/invite/cancel */
|
||||
cancelGroupInvite(url: string, info: ICancelGroupInviteRequest, sessionID: string): IGetBodyResponseData<boolean>;
|
||||
cancelAllGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData;
|
||||
getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData<IPmcData[]>;
|
||||
serverAvailable(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any> | IGetBodyResponseData<true>;
|
||||
@ -41,6 +49,7 @@ export declare class MatchCallbacks {
|
||||
getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
createGroup(url: string, info: ICreateGroupRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
deleteGroup(url: string, info: any, sessionID: string): INullResponseData;
|
||||
removePlayerFromGroup(url: string, info: IRemovePlayerFromGroupRequest, sessionID: string): INullResponseData;
|
||||
endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData;
|
||||
getRaidConfiguration(url: string, info: IGetRaidConfigurationRequestData, sessionID: string): INullResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { DialogueHelper } from "../helpers/DialogueHelper";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse";
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { DialogueInfo, IAkiProfile, IUserDialogInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
export declare class DialogueController {
|
||||
@ -35,6 +35,7 @@ export declare class DialogueController {
|
||||
* @returns IGetMailDialogViewResponseData object
|
||||
*/
|
||||
generateDialogueView(dialogueID: string, sessionID: string): IGetMailDialogViewResponseData;
|
||||
protected getProfilesForMail(pmcProfile: IAkiProfile, dialogUsers: IUserDialogInfo[]): IUserDialogInfo[];
|
||||
/**
|
||||
* Get a count of messages with attachments from a particular dialog
|
||||
* @param sessionID Session id
|
||||
|
@ -3,6 +3,7 @@ import { PlayerScavGenerator } from "../generators/PlayerScavGenerator";
|
||||
import { HealthHelper } from "../helpers/HealthHelper";
|
||||
import { InRaidHelper } from "../helpers/InRaidHelper";
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { NotificationSendHelper } from "../helpers/NotificationSendHelper";
|
||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||
import { QuestHelper } from "../helpers/QuestHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
@ -17,6 +18,8 @@ import { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { InsuranceService } from "../services/InsuranceService";
|
||||
import { LocaleService } from "../services/LocaleService";
|
||||
import { PmcChatResponseService } from "../services/PmcChatResponseService";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
/**
|
||||
@ -28,10 +31,13 @@ export declare class InraidController {
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected localeService: LocaleService;
|
||||
protected pmcChatResponseService: PmcChatResponseService;
|
||||
protected questHelper: QuestHelper;
|
||||
protected itemHelper: ItemHelper;
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected playerScavGenerator: PlayerScavGenerator;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected healthHelper: HealthHelper;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected insuranceService: InsuranceService;
|
||||
@ -40,7 +46,7 @@ export declare class InraidController {
|
||||
protected configServer: ConfigServer;
|
||||
protected airdropConfig: IAirdropConfig;
|
||||
protected inraidConfig: IInRaidConfig;
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, localeService: LocaleService, pmcChatResponseService: PmcChatResponseService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, notificationSendHelper: NotificationSendHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
/**
|
||||
* Save locationId to active profiles inraid object AND app context
|
||||
* @param sessionID Session id
|
||||
@ -89,6 +95,7 @@ export declare class InraidController {
|
||||
* @param offraidData post-raid data of raid
|
||||
*/
|
||||
protected savePlayerScavProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
||||
protected sendLostInsuranceMessage(sessionID: string): void;
|
||||
/**
|
||||
* Is the player dead after a raid - dead is anything other than "survived" / "runner"
|
||||
* @param statusOnExit exit value from offraidData object
|
||||
|
@ -5,7 +5,9 @@ import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||
import { QuestHelper } from "../helpers/QuestHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
|
||||
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
||||
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||
@ -36,6 +38,7 @@ export declare class ProfileController {
|
||||
getMiniProfile(sessionID: string): any;
|
||||
getCompleteProfile(sessionID: string): IPmcData[];
|
||||
createProfile(info: IProfileCreateRequestData, sessionID: string): void;
|
||||
protected givePlayerStartingQuestRewards(profileDetails: IAkiProfile, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Generate a player scav object
|
||||
* pmc profile MUST exist first before pscav can be generated
|
||||
|
@ -31,7 +31,7 @@ export declare class DialogueHelper {
|
||||
/**
|
||||
* Get the preview contents of the last message in a dialogue.
|
||||
* @param dialogue
|
||||
* @returns
|
||||
* @returns MessagePreview
|
||||
*/
|
||||
getMessagePreview(dialogue: Dialogue): MessagePreview;
|
||||
/**
|
||||
|
@ -1,12 +1,36 @@
|
||||
import { INotification } from "../models/eft/notifier/INotifier";
|
||||
import { Dialogue, IUserDialogInfo } from "../models/eft/profile/IAkiProfile";
|
||||
import { MessageType } from "../models/enums/MessageType";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { WebSocketServer } from "../servers/WebSocketServer";
|
||||
import { NotificationService } from "../services/NotificationService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
export declare class NotificationSendHelper {
|
||||
protected webSocketServer: WebSocketServer;
|
||||
protected hashUtil: HashUtil;
|
||||
protected saveServer: SaveServer;
|
||||
protected notificationService: NotificationService;
|
||||
constructor(webSocketServer: WebSocketServer, notificationService: NotificationService);
|
||||
constructor(webSocketServer: WebSocketServer, hashUtil: HashUtil, saveServer: SaveServer, notificationService: NotificationService);
|
||||
/**
|
||||
* Send notification message to the appropriate channel
|
||||
* @param sessionID
|
||||
* @param notificationMessage
|
||||
*/
|
||||
sendMessage(sessionID: string, notificationMessage: INotification): void;
|
||||
/**
|
||||
* Send a message directly to the player
|
||||
* @param sessionId Session id
|
||||
* @param senderDetails Who is sendin the message to player
|
||||
* @param messageText Text to send player
|
||||
* @param messageType Underlying type of message being sent
|
||||
*/
|
||||
sendMessageToPlayer(sessionId: string, senderDetails: IUserDialogInfo, messageText: string, messageType: MessageType): void;
|
||||
/**
|
||||
* Helper function for sendMessageToPlayer(), get new dialog for storage in profile or find existing by sender id
|
||||
* @param sessionId Session id
|
||||
* @param messageType Type of message to generate
|
||||
* @param senderDetails Who is sending the message
|
||||
* @returns Dialogue
|
||||
*/
|
||||
protected getDialog(sessionId: string, messageType: MessageType, senderDetails: IUserDialogInfo): Dialogue;
|
||||
}
|
||||
|
3
TypeScript/10ScopesAndTypes/types/models/eft/dialog/IClearMailMessageRequest.d.ts
vendored
Normal file
3
TypeScript/10ScopesAndTypes/types/models/eft/dialog/IClearMailMessageRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IClearMailMessageRequest {
|
||||
dialogId: string;
|
||||
}
|
3
TypeScript/10ScopesAndTypes/types/models/eft/dialog/IDeleteFriendRequest.d.ts
vendored
Normal file
3
TypeScript/10ScopesAndTypes/types/models/eft/dialog/IDeleteFriendRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IDeleteFriendRequest {
|
||||
friend_id: string;
|
||||
}
|
5
TypeScript/10ScopesAndTypes/types/models/eft/dialog/IFriendRequestSendResponse.d.ts
vendored
Normal file
5
TypeScript/10ScopesAndTypes/types/models/eft/dialog/IFriendRequestSendResponse.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
export interface IFriendRequestSendResponse {
|
||||
status: number;
|
||||
requestid: string;
|
||||
retryAfter: number;
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
import { IPmcData } from "../common/IPmcData";
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface IGetMailDialogViewResponseData {
|
||||
messages: Message[];
|
||||
profiles: IPmcData[];
|
||||
profiles: any[];
|
||||
hasMessagesWithRewards: boolean;
|
||||
}
|
||||
|
3
TypeScript/10ScopesAndTypes/types/models/eft/dialog/IRemoveMailMessageRequest.d.ts
vendored
Normal file
3
TypeScript/10ScopesAndTypes/types/models/eft/dialog/IRemoveMailMessageRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IRemoveMailMessageRequest {
|
||||
dialogId: string;
|
||||
}
|
3
TypeScript/10ScopesAndTypes/types/models/eft/match/IAcceptGroupInviteRequest.d.ts
vendored
Normal file
3
TypeScript/10ScopesAndTypes/types/models/eft/match/IAcceptGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IAcceptGroupInviteRequest {
|
||||
requestId: string;
|
||||
}
|
16
TypeScript/10ScopesAndTypes/types/models/eft/match/IAcceptGroupInviteResponse.d.ts
vendored
Normal file
16
TypeScript/10ScopesAndTypes/types/models/eft/match/IAcceptGroupInviteResponse.d.ts
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
export interface IAcceptGroupInviteResponse {
|
||||
_id: string;
|
||||
aid: number;
|
||||
Info: PlayerInviteInfo;
|
||||
isLeader: boolean;
|
||||
isReady: boolean;
|
||||
}
|
||||
export interface PlayerInviteInfo {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: number;
|
||||
GameVersion: string;
|
||||
SavageLockTime: number;
|
||||
SavageNickname: string;
|
||||
}
|
3
TypeScript/10ScopesAndTypes/types/models/eft/match/ICancelGroupInviteRequest.d.ts
vendored
Normal file
3
TypeScript/10ScopesAndTypes/types/models/eft/match/ICancelGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface ICancelGroupInviteRequest {
|
||||
requestId: string;
|
||||
}
|
3
TypeScript/10ScopesAndTypes/types/models/eft/match/IRemovePlayerFromGroupRequest.d.ts
vendored
Normal file
3
TypeScript/10ScopesAndTypes/types/models/eft/match/IRemovePlayerFromGroupRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IRemovePlayerFromGroupRequest {
|
||||
aidToKick: string;
|
||||
}
|
4
TypeScript/10ScopesAndTypes/types/models/eft/match/ISendGroupInviteRequest.d.ts
vendored
Normal file
4
TypeScript/10ScopesAndTypes/types/models/eft/match/ISendGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
export interface ISendGroupInviteRequest {
|
||||
to: string;
|
||||
inLobby: boolean;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface INotifierChannel {
|
||||
server: string;
|
||||
channel_id: string;
|
||||
@ -5,7 +6,6 @@ export interface INotifierChannel {
|
||||
notifierServer: string;
|
||||
ws: string;
|
||||
}
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface INotification {
|
||||
type: "RagfairOfferSold" | "new_message" | "ping";
|
||||
eventId: string;
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { MemberCategory } from "../../../models/enums/MemberCategory";
|
||||
import { MessageType } from "../../enums/MessageType";
|
||||
import { IPmcData } from "../common/IPmcData";
|
||||
import { Item } from "../common/tables/IItem";
|
||||
@ -36,19 +37,32 @@ export interface WeaponBuild {
|
||||
items: Item[];
|
||||
}
|
||||
export interface Dialogue {
|
||||
_id: string;
|
||||
messages: Message[];
|
||||
pinned: boolean;
|
||||
new: number;
|
||||
attachmentsNew: number;
|
||||
type: MessageType;
|
||||
new: number;
|
||||
_id: string;
|
||||
Users?: IUserDialogInfo[];
|
||||
pinned: boolean;
|
||||
messages: Message[];
|
||||
}
|
||||
export interface IUserDialogInfo {
|
||||
_id: string;
|
||||
info: IUserDialogDetails;
|
||||
}
|
||||
export interface IUserDialogDetails {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
new: number;
|
||||
_id: string;
|
||||
type: MessageType;
|
||||
pinned: boolean;
|
||||
Users?: any[];
|
||||
message: MessagePreview;
|
||||
_id: string;
|
||||
}
|
||||
export interface Message {
|
||||
_id: string;
|
||||
@ -57,7 +71,7 @@ export interface Message {
|
||||
dt: number;
|
||||
UtcDateTime?: number;
|
||||
Member?: IUpdatableChatMember;
|
||||
templateId: string;
|
||||
templateId?: string;
|
||||
text?: string;
|
||||
hasRewards: boolean;
|
||||
rewardCollected: boolean;
|
||||
@ -72,6 +86,7 @@ export interface MessagePreview {
|
||||
dt: number;
|
||||
templateId: string;
|
||||
text?: string;
|
||||
systemData?: ISystemData;
|
||||
}
|
||||
export interface MessageItems {
|
||||
stash?: string;
|
||||
|
@ -13,6 +13,7 @@ export declare enum ConfigTypes {
|
||||
LOCATION = "aki-location",
|
||||
MATCH = "aki-match",
|
||||
PLAYERSCAV = "aki-playerscav",
|
||||
PMC_CHAT_RESPONSE = "aki-pmcchatresponse",
|
||||
QUEST = "aki-quest",
|
||||
RAGFAIR = "aki-ragfair",
|
||||
REPAIR = "aki-repair",
|
||||
|
@ -1,19 +1,19 @@
|
||||
import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../../eft/httpResponse/INullResponseData";
|
||||
import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData";
|
||||
import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData";
|
||||
import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData";
|
||||
import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData";
|
||||
import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData";
|
||||
import { IFriendRequestData } from "../../eft/dialog/IFriendRequestData";
|
||||
import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData";
|
||||
import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetAllAttachmentsRequestData } from "../../eft/dialog/IGetAllAttachmentsRequestData";
|
||||
import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetChatServerListRequestData } from "../../eft/dialog/IGetChatServerListRequestData";
|
||||
import { IGetFriendListDataResponse } from "../../eft/dialog/IGetFriendListDataResponse";
|
||||
import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest";
|
||||
import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData";
|
||||
import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData";
|
||||
import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData";
|
||||
import { IGetMailDialogViewResponseData } from "../../eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData";
|
||||
import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData";
|
||||
import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest";
|
||||
import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../../eft/httpResponse/INullResponseData";
|
||||
import { DialogueInfo } from "../../eft/profile/IAkiProfile";
|
||||
export interface IDialogueCallbacks {
|
||||
getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>;
|
||||
@ -28,7 +28,7 @@ export interface IDialogueCallbacks {
|
||||
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||
update(): boolean;
|
||||
}
|
||||
|
13
TypeScript/10ScopesAndTypes/types/models/spt/config/IPmChatResponse.d.ts
vendored
Normal file
13
TypeScript/10ScopesAndTypes/types/models/spt/config/IPmChatResponse.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import { IBaseConfig } from "./IBaseConfig";
|
||||
export interface IPmcChatResponse extends IBaseConfig {
|
||||
kind: "aki-pmcchatresponse";
|
||||
victim: IResponseSettings;
|
||||
killer: IResponseSettings;
|
||||
}
|
||||
export interface IResponseSettings {
|
||||
responseChancePercent: number;
|
||||
responseTypeWeights: Record<string, number>;
|
||||
stripCapitalisationChancePercent: number;
|
||||
allCapsChancePercent: number;
|
||||
appendBroToMessageEndChancePercent: number;
|
||||
}
|
@ -18,4 +18,9 @@ export declare class LocalisationService {
|
||||
* @returns Localised string
|
||||
*/
|
||||
getText(key: string, args?: any): string;
|
||||
/**
|
||||
* Get all locale keys
|
||||
* @returns string array of keys
|
||||
*/
|
||||
getKeys(): string[];
|
||||
}
|
||||
|
73
TypeScript/10ScopesAndTypes/types/services/PmcChatResponseService.d.ts
vendored
Normal file
73
TypeScript/10ScopesAndTypes/types/services/PmcChatResponseService.d.ts
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
import { NotificationSendHelper } from "../helpers/NotificationSendHelper";
|
||||
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { Victim } from "../models/eft/common/tables/IBotBase";
|
||||
import { IUserDialogInfo } from "../models/eft/profile/IAkiProfile";
|
||||
import { IPmcChatResponse } from "../models/spt/config/IPmChatResponse";
|
||||
import { ConfigServer } from "../servers/ConfigServer";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { LocalisationService } from "./LocalisationService";
|
||||
export declare class PmcChatResponseService {
|
||||
protected randomUtil: RandomUtil;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected weightedRandomHelper: WeightedRandomHelper;
|
||||
protected configServer: ConfigServer;
|
||||
protected pmcResponsesConfig: IPmcChatResponse;
|
||||
constructor(randomUtil: RandomUtil, notificationSendHelper: NotificationSendHelper, localisationService: LocalisationService, weightedRandomHelper: WeightedRandomHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Chooses a random victim from those provided and sends a message to the player, can be positive or negative
|
||||
* @param sessionId Session id
|
||||
* @param pmcVictims Array of bots killed by player
|
||||
*/
|
||||
sendVictimResponse(sessionId: string, pmcVictims: Victim[]): void;
|
||||
/**
|
||||
* Not fully implemented yet, needs method of acquiring killers details after raid
|
||||
* @param sessionId Session id
|
||||
* @param pmcData Players profile
|
||||
*/
|
||||
sendKillerResponse(sessionId: string, pmcData: IPmcData): void;
|
||||
/**
|
||||
* Choose a localised message to send the player (different if sender was killed or killed player)
|
||||
* @param isVictim
|
||||
* @returns
|
||||
*/
|
||||
protected chooseMessage(isVictim: boolean): string;
|
||||
/**
|
||||
* 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 the word 'bro' be appended to the message being sent to player
|
||||
* @param isVictim Was responder a victim of player
|
||||
* @returns true = should be stripped
|
||||
*/
|
||||
appendBroToMessageEnd(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[];
|
||||
/**
|
||||
* 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;
|
||||
}
|
@ -2,7 +2,10 @@ import { DialogueController } from "../controllers/DialogueController";
|
||||
import { OnUpdate } from "../di/OnUpdate";
|
||||
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IChatServer } from "../models/eft/dialog/IChatServer";
|
||||
import { IClearMailMessageRequest } from "../models/eft/dialog/IClearMailMessageRequest";
|
||||
import { IDeleteFriendRequest } from "../models/eft/dialog/IDeleteFriendRequest";
|
||||
import { IFriendRequestData } from "../models/eft/dialog/IFriendRequestData";
|
||||
import { IFriendRequestSendResponse } from "../models/eft/dialog/IFriendRequestSendResponse";
|
||||
import { IGetAllAttachmentsRequestData } from "../models/eft/dialog/IGetAllAttachmentsRequestData";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetChatServerListRequestData } from "../models/eft/dialog/IGetChatServerListRequestData";
|
||||
@ -13,6 +16,7 @@ import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDial
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { IPinDialogRequestData } from "../models/eft/dialog/IPinDialogRequestData";
|
||||
import { IRemoveDialogRequestData } from "../models/eft/dialog/IRemoveDialogRequestData";
|
||||
import { IRemoveMailMessageRequest } from "../models/eft/dialog/IRemoveMailMessageRequest";
|
||||
import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest";
|
||||
import { ISetDialogReadRequestData } from "../models/eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
@ -37,9 +41,13 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns
|
||||
*/
|
||||
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<IChatServer[]>;
|
||||
/** Handle client/mail/dialog/list */
|
||||
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
|
||||
/** Handle client/mail/dialog/view */
|
||||
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
||||
/** Handle client/mail/dialog/info */
|
||||
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo>;
|
||||
/** Handle client/mail/dialog/remove */
|
||||
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
@ -49,10 +57,14 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns IGetAllAttachmentsResponse
|
||||
*/
|
||||
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||
/** Handle client/friend/request/list/outbox */
|
||||
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): IGetBodyResponseData<IFriendRequestSendResponse>;
|
||||
deleteFriend(url: string, request: IDeleteFriendRequest, sessionID: string): INullResponseData;
|
||||
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||
clearMail(url: string, request: IClearMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
removeMail(url: string, request: IRemoveMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
onUpdate(timeSinceLastRun: number): Promise<boolean>;
|
||||
getRoute(): string;
|
||||
}
|
||||
|
@ -3,6 +3,9 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||
import { IAcceptGroupInviteRequest } from "../models/eft/match/IAcceptGroupInviteRequest";
|
||||
import { IAcceptGroupInviteResponse } from "../models/eft/match/IAcceptGroupInviteResponse";
|
||||
import { ICancelGroupInviteRequest } from "../models/eft/match/ICancelGroupInviteRequest";
|
||||
import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData";
|
||||
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
||||
import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData";
|
||||
@ -11,6 +14,8 @@ import { IGetRaidConfigurationRequestData } from "../models/eft/match/IGetRaidCo
|
||||
import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData";
|
||||
import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult";
|
||||
import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData";
|
||||
import { IRemovePlayerFromGroupRequest } from "../models/eft/match/IRemovePlayerFromGroupRequest";
|
||||
import { ISendGroupInviteRequest } from "../models/eft/match/ISendGroupInviteRequest";
|
||||
import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||
@ -26,9 +31,12 @@ export declare class MatchCallbacks {
|
||||
exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
stopGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: ISendGroupInviteRequest, sessionID: string): IGetBodyResponseData<string>;
|
||||
/** Handle client/match/group/invite/accept */
|
||||
acceptGroupInvite(url: string, info: IAcceptGroupInviteRequest, sessionID: string): IGetBodyResponseData<IAcceptGroupInviteResponse[]>;
|
||||
/** Handle client/match/group/invite/cancel */
|
||||
cancelGroupInvite(url: string, info: ICancelGroupInviteRequest, sessionID: string): IGetBodyResponseData<boolean>;
|
||||
cancelAllGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData;
|
||||
getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData<IPmcData[]>;
|
||||
serverAvailable(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any> | IGetBodyResponseData<true>;
|
||||
@ -41,6 +49,7 @@ export declare class MatchCallbacks {
|
||||
getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
createGroup(url: string, info: ICreateGroupRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
deleteGroup(url: string, info: any, sessionID: string): INullResponseData;
|
||||
removePlayerFromGroup(url: string, info: IRemovePlayerFromGroupRequest, sessionID: string): INullResponseData;
|
||||
endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData;
|
||||
getRaidConfiguration(url: string, info: IGetRaidConfigurationRequestData, sessionID: string): INullResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { DialogueHelper } from "../helpers/DialogueHelper";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse";
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { DialogueInfo, IAkiProfile, IUserDialogInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
export declare class DialogueController {
|
||||
@ -35,6 +35,7 @@ export declare class DialogueController {
|
||||
* @returns IGetMailDialogViewResponseData object
|
||||
*/
|
||||
generateDialogueView(dialogueID: string, sessionID: string): IGetMailDialogViewResponseData;
|
||||
protected getProfilesForMail(pmcProfile: IAkiProfile, dialogUsers: IUserDialogInfo[]): IUserDialogInfo[];
|
||||
/**
|
||||
* Get a count of messages with attachments from a particular dialog
|
||||
* @param sessionID Session id
|
||||
|
@ -3,6 +3,7 @@ import { PlayerScavGenerator } from "../generators/PlayerScavGenerator";
|
||||
import { HealthHelper } from "../helpers/HealthHelper";
|
||||
import { InRaidHelper } from "../helpers/InRaidHelper";
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { NotificationSendHelper } from "../helpers/NotificationSendHelper";
|
||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||
import { QuestHelper } from "../helpers/QuestHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
@ -17,6 +18,8 @@ import { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { InsuranceService } from "../services/InsuranceService";
|
||||
import { LocaleService } from "../services/LocaleService";
|
||||
import { PmcChatResponseService } from "../services/PmcChatResponseService";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
/**
|
||||
@ -28,10 +31,13 @@ export declare class InraidController {
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected localeService: LocaleService;
|
||||
protected pmcChatResponseService: PmcChatResponseService;
|
||||
protected questHelper: QuestHelper;
|
||||
protected itemHelper: ItemHelper;
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected playerScavGenerator: PlayerScavGenerator;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected healthHelper: HealthHelper;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected insuranceService: InsuranceService;
|
||||
@ -40,7 +46,7 @@ export declare class InraidController {
|
||||
protected configServer: ConfigServer;
|
||||
protected airdropConfig: IAirdropConfig;
|
||||
protected inraidConfig: IInRaidConfig;
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, localeService: LocaleService, pmcChatResponseService: PmcChatResponseService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, notificationSendHelper: NotificationSendHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
/**
|
||||
* Save locationId to active profiles inraid object AND app context
|
||||
* @param sessionID Session id
|
||||
@ -89,6 +95,7 @@ export declare class InraidController {
|
||||
* @param offraidData post-raid data of raid
|
||||
*/
|
||||
protected savePlayerScavProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
||||
protected sendLostInsuranceMessage(sessionID: string): void;
|
||||
/**
|
||||
* Is the player dead after a raid - dead is anything other than "survived" / "runner"
|
||||
* @param statusOnExit exit value from offraidData object
|
||||
|
@ -5,7 +5,9 @@ import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||
import { QuestHelper } from "../helpers/QuestHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
|
||||
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
||||
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||
@ -36,6 +38,7 @@ export declare class ProfileController {
|
||||
getMiniProfile(sessionID: string): any;
|
||||
getCompleteProfile(sessionID: string): IPmcData[];
|
||||
createProfile(info: IProfileCreateRequestData, sessionID: string): void;
|
||||
protected givePlayerStartingQuestRewards(profileDetails: IAkiProfile, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Generate a player scav object
|
||||
* pmc profile MUST exist first before pscav can be generated
|
||||
|
@ -31,7 +31,7 @@ export declare class DialogueHelper {
|
||||
/**
|
||||
* Get the preview contents of the last message in a dialogue.
|
||||
* @param dialogue
|
||||
* @returns
|
||||
* @returns MessagePreview
|
||||
*/
|
||||
getMessagePreview(dialogue: Dialogue): MessagePreview;
|
||||
/**
|
||||
|
@ -1,12 +1,36 @@
|
||||
import { INotification } from "../models/eft/notifier/INotifier";
|
||||
import { Dialogue, IUserDialogInfo } from "../models/eft/profile/IAkiProfile";
|
||||
import { MessageType } from "../models/enums/MessageType";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { WebSocketServer } from "../servers/WebSocketServer";
|
||||
import { NotificationService } from "../services/NotificationService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
export declare class NotificationSendHelper {
|
||||
protected webSocketServer: WebSocketServer;
|
||||
protected hashUtil: HashUtil;
|
||||
protected saveServer: SaveServer;
|
||||
protected notificationService: NotificationService;
|
||||
constructor(webSocketServer: WebSocketServer, notificationService: NotificationService);
|
||||
constructor(webSocketServer: WebSocketServer, hashUtil: HashUtil, saveServer: SaveServer, notificationService: NotificationService);
|
||||
/**
|
||||
* Send notification message to the appropriate channel
|
||||
* @param sessionID
|
||||
* @param notificationMessage
|
||||
*/
|
||||
sendMessage(sessionID: string, notificationMessage: INotification): void;
|
||||
/**
|
||||
* Send a message directly to the player
|
||||
* @param sessionId Session id
|
||||
* @param senderDetails Who is sendin the message to player
|
||||
* @param messageText Text to send player
|
||||
* @param messageType Underlying type of message being sent
|
||||
*/
|
||||
sendMessageToPlayer(sessionId: string, senderDetails: IUserDialogInfo, messageText: string, messageType: MessageType): void;
|
||||
/**
|
||||
* Helper function for sendMessageToPlayer(), get new dialog for storage in profile or find existing by sender id
|
||||
* @param sessionId Session id
|
||||
* @param messageType Type of message to generate
|
||||
* @param senderDetails Who is sending the message
|
||||
* @returns Dialogue
|
||||
*/
|
||||
protected getDialog(sessionId: string, messageType: MessageType, senderDetails: IUserDialogInfo): Dialogue;
|
||||
}
|
||||
|
3
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IClearMailMessageRequest.d.ts
vendored
Normal file
3
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IClearMailMessageRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IClearMailMessageRequest {
|
||||
dialogId: string;
|
||||
}
|
3
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IDeleteFriendRequest.d.ts
vendored
Normal file
3
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IDeleteFriendRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IDeleteFriendRequest {
|
||||
friend_id: string;
|
||||
}
|
5
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IFriendRequestSendResponse.d.ts
vendored
Normal file
5
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IFriendRequestSendResponse.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
export interface IFriendRequestSendResponse {
|
||||
status: number;
|
||||
requestid: string;
|
||||
retryAfter: number;
|
||||
}
|
3
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts
vendored
3
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts
vendored
@ -1,7 +1,6 @@
|
||||
import { IPmcData } from "../common/IPmcData";
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface IGetMailDialogViewResponseData {
|
||||
messages: Message[];
|
||||
profiles: IPmcData[];
|
||||
profiles: any[];
|
||||
hasMessagesWithRewards: boolean;
|
||||
}
|
||||
|
3
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IRemoveMailMessageRequest.d.ts
vendored
Normal file
3
TypeScript/11BundleLoadingSample/types/models/eft/dialog/IRemoveMailMessageRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IRemoveMailMessageRequest {
|
||||
dialogId: string;
|
||||
}
|
3
TypeScript/11BundleLoadingSample/types/models/eft/match/IAcceptGroupInviteRequest.d.ts
vendored
Normal file
3
TypeScript/11BundleLoadingSample/types/models/eft/match/IAcceptGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IAcceptGroupInviteRequest {
|
||||
requestId: string;
|
||||
}
|
16
TypeScript/11BundleLoadingSample/types/models/eft/match/IAcceptGroupInviteResponse.d.ts
vendored
Normal file
16
TypeScript/11BundleLoadingSample/types/models/eft/match/IAcceptGroupInviteResponse.d.ts
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
export interface IAcceptGroupInviteResponse {
|
||||
_id: string;
|
||||
aid: number;
|
||||
Info: PlayerInviteInfo;
|
||||
isLeader: boolean;
|
||||
isReady: boolean;
|
||||
}
|
||||
export interface PlayerInviteInfo {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: number;
|
||||
GameVersion: string;
|
||||
SavageLockTime: number;
|
||||
SavageNickname: string;
|
||||
}
|
3
TypeScript/11BundleLoadingSample/types/models/eft/match/ICancelGroupInviteRequest.d.ts
vendored
Normal file
3
TypeScript/11BundleLoadingSample/types/models/eft/match/ICancelGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface ICancelGroupInviteRequest {
|
||||
requestId: string;
|
||||
}
|
3
TypeScript/11BundleLoadingSample/types/models/eft/match/IRemovePlayerFromGroupRequest.d.ts
vendored
Normal file
3
TypeScript/11BundleLoadingSample/types/models/eft/match/IRemovePlayerFromGroupRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IRemovePlayerFromGroupRequest {
|
||||
aidToKick: string;
|
||||
}
|
4
TypeScript/11BundleLoadingSample/types/models/eft/match/ISendGroupInviteRequest.d.ts
vendored
Normal file
4
TypeScript/11BundleLoadingSample/types/models/eft/match/ISendGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
export interface ISendGroupInviteRequest {
|
||||
to: string;
|
||||
inLobby: boolean;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface INotifierChannel {
|
||||
server: string;
|
||||
channel_id: string;
|
||||
@ -5,7 +6,6 @@ export interface INotifierChannel {
|
||||
notifierServer: string;
|
||||
ws: string;
|
||||
}
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface INotification {
|
||||
type: "RagfairOfferSold" | "new_message" | "ping";
|
||||
eventId: string;
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { MemberCategory } from "../../../models/enums/MemberCategory";
|
||||
import { MessageType } from "../../enums/MessageType";
|
||||
import { IPmcData } from "../common/IPmcData";
|
||||
import { Item } from "../common/tables/IItem";
|
||||
@ -36,19 +37,32 @@ export interface WeaponBuild {
|
||||
items: Item[];
|
||||
}
|
||||
export interface Dialogue {
|
||||
_id: string;
|
||||
messages: Message[];
|
||||
pinned: boolean;
|
||||
new: number;
|
||||
attachmentsNew: number;
|
||||
type: MessageType;
|
||||
new: number;
|
||||
_id: string;
|
||||
Users?: IUserDialogInfo[];
|
||||
pinned: boolean;
|
||||
messages: Message[];
|
||||
}
|
||||
export interface IUserDialogInfo {
|
||||
_id: string;
|
||||
info: IUserDialogDetails;
|
||||
}
|
||||
export interface IUserDialogDetails {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
new: number;
|
||||
_id: string;
|
||||
type: MessageType;
|
||||
pinned: boolean;
|
||||
Users?: any[];
|
||||
message: MessagePreview;
|
||||
_id: string;
|
||||
}
|
||||
export interface Message {
|
||||
_id: string;
|
||||
@ -57,7 +71,7 @@ export interface Message {
|
||||
dt: number;
|
||||
UtcDateTime?: number;
|
||||
Member?: IUpdatableChatMember;
|
||||
templateId: string;
|
||||
templateId?: string;
|
||||
text?: string;
|
||||
hasRewards: boolean;
|
||||
rewardCollected: boolean;
|
||||
@ -72,6 +86,7 @@ export interface MessagePreview {
|
||||
dt: number;
|
||||
templateId: string;
|
||||
text?: string;
|
||||
systemData?: ISystemData;
|
||||
}
|
||||
export interface MessageItems {
|
||||
stash?: string;
|
||||
|
@ -13,6 +13,7 @@ export declare enum ConfigTypes {
|
||||
LOCATION = "aki-location",
|
||||
MATCH = "aki-match",
|
||||
PLAYERSCAV = "aki-playerscav",
|
||||
PMC_CHAT_RESPONSE = "aki-pmcchatresponse",
|
||||
QUEST = "aki-quest",
|
||||
RAGFAIR = "aki-ragfair",
|
||||
REPAIR = "aki-repair",
|
||||
|
@ -1,19 +1,19 @@
|
||||
import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../../eft/httpResponse/INullResponseData";
|
||||
import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData";
|
||||
import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData";
|
||||
import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData";
|
||||
import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData";
|
||||
import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData";
|
||||
import { IFriendRequestData } from "../../eft/dialog/IFriendRequestData";
|
||||
import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData";
|
||||
import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetAllAttachmentsRequestData } from "../../eft/dialog/IGetAllAttachmentsRequestData";
|
||||
import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetChatServerListRequestData } from "../../eft/dialog/IGetChatServerListRequestData";
|
||||
import { IGetFriendListDataResponse } from "../../eft/dialog/IGetFriendListDataResponse";
|
||||
import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest";
|
||||
import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData";
|
||||
import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData";
|
||||
import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData";
|
||||
import { IGetMailDialogViewResponseData } from "../../eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData";
|
||||
import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData";
|
||||
import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest";
|
||||
import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../../eft/httpResponse/INullResponseData";
|
||||
import { DialogueInfo } from "../../eft/profile/IAkiProfile";
|
||||
export interface IDialogueCallbacks {
|
||||
getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>;
|
||||
@ -28,7 +28,7 @@ export interface IDialogueCallbacks {
|
||||
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||
update(): boolean;
|
||||
}
|
||||
|
13
TypeScript/11BundleLoadingSample/types/models/spt/config/IPmChatResponse.d.ts
vendored
Normal file
13
TypeScript/11BundleLoadingSample/types/models/spt/config/IPmChatResponse.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import { IBaseConfig } from "./IBaseConfig";
|
||||
export interface IPmcChatResponse extends IBaseConfig {
|
||||
kind: "aki-pmcchatresponse";
|
||||
victim: IResponseSettings;
|
||||
killer: IResponseSettings;
|
||||
}
|
||||
export interface IResponseSettings {
|
||||
responseChancePercent: number;
|
||||
responseTypeWeights: Record<string, number>;
|
||||
stripCapitalisationChancePercent: number;
|
||||
allCapsChancePercent: number;
|
||||
appendBroToMessageEndChancePercent: number;
|
||||
}
|
@ -18,4 +18,9 @@ export declare class LocalisationService {
|
||||
* @returns Localised string
|
||||
*/
|
||||
getText(key: string, args?: any): string;
|
||||
/**
|
||||
* Get all locale keys
|
||||
* @returns string array of keys
|
||||
*/
|
||||
getKeys(): string[];
|
||||
}
|
||||
|
73
TypeScript/11BundleLoadingSample/types/services/PmcChatResponseService.d.ts
vendored
Normal file
73
TypeScript/11BundleLoadingSample/types/services/PmcChatResponseService.d.ts
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
import { NotificationSendHelper } from "../helpers/NotificationSendHelper";
|
||||
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { Victim } from "../models/eft/common/tables/IBotBase";
|
||||
import { IUserDialogInfo } from "../models/eft/profile/IAkiProfile";
|
||||
import { IPmcChatResponse } from "../models/spt/config/IPmChatResponse";
|
||||
import { ConfigServer } from "../servers/ConfigServer";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { LocalisationService } from "./LocalisationService";
|
||||
export declare class PmcChatResponseService {
|
||||
protected randomUtil: RandomUtil;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected weightedRandomHelper: WeightedRandomHelper;
|
||||
protected configServer: ConfigServer;
|
||||
protected pmcResponsesConfig: IPmcChatResponse;
|
||||
constructor(randomUtil: RandomUtil, notificationSendHelper: NotificationSendHelper, localisationService: LocalisationService, weightedRandomHelper: WeightedRandomHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Chooses a random victim from those provided and sends a message to the player, can be positive or negative
|
||||
* @param sessionId Session id
|
||||
* @param pmcVictims Array of bots killed by player
|
||||
*/
|
||||
sendVictimResponse(sessionId: string, pmcVictims: Victim[]): void;
|
||||
/**
|
||||
* Not fully implemented yet, needs method of acquiring killers details after raid
|
||||
* @param sessionId Session id
|
||||
* @param pmcData Players profile
|
||||
*/
|
||||
sendKillerResponse(sessionId: string, pmcData: IPmcData): void;
|
||||
/**
|
||||
* Choose a localised message to send the player (different if sender was killed or killed player)
|
||||
* @param isVictim
|
||||
* @returns
|
||||
*/
|
||||
protected chooseMessage(isVictim: boolean): string;
|
||||
/**
|
||||
* 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 the word 'bro' be appended to the message being sent to player
|
||||
* @param isVictim Was responder a victim of player
|
||||
* @returns true = should be stripped
|
||||
*/
|
||||
appendBroToMessageEnd(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[];
|
||||
/**
|
||||
* 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;
|
||||
}
|
@ -2,7 +2,10 @@ import { DialogueController } from "../controllers/DialogueController";
|
||||
import { OnUpdate } from "../di/OnUpdate";
|
||||
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IChatServer } from "../models/eft/dialog/IChatServer";
|
||||
import { IClearMailMessageRequest } from "../models/eft/dialog/IClearMailMessageRequest";
|
||||
import { IDeleteFriendRequest } from "../models/eft/dialog/IDeleteFriendRequest";
|
||||
import { IFriendRequestData } from "../models/eft/dialog/IFriendRequestData";
|
||||
import { IFriendRequestSendResponse } from "../models/eft/dialog/IFriendRequestSendResponse";
|
||||
import { IGetAllAttachmentsRequestData } from "../models/eft/dialog/IGetAllAttachmentsRequestData";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetChatServerListRequestData } from "../models/eft/dialog/IGetChatServerListRequestData";
|
||||
@ -13,6 +16,7 @@ import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDial
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { IPinDialogRequestData } from "../models/eft/dialog/IPinDialogRequestData";
|
||||
import { IRemoveDialogRequestData } from "../models/eft/dialog/IRemoveDialogRequestData";
|
||||
import { IRemoveMailMessageRequest } from "../models/eft/dialog/IRemoveMailMessageRequest";
|
||||
import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest";
|
||||
import { ISetDialogReadRequestData } from "../models/eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
@ -37,9 +41,13 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns
|
||||
*/
|
||||
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<IChatServer[]>;
|
||||
/** Handle client/mail/dialog/list */
|
||||
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
|
||||
/** Handle client/mail/dialog/view */
|
||||
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
||||
/** Handle client/mail/dialog/info */
|
||||
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo>;
|
||||
/** Handle client/mail/dialog/remove */
|
||||
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
@ -49,10 +57,14 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns IGetAllAttachmentsResponse
|
||||
*/
|
||||
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||
/** Handle client/friend/request/list/outbox */
|
||||
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): IGetBodyResponseData<IFriendRequestSendResponse>;
|
||||
deleteFriend(url: string, request: IDeleteFriendRequest, sessionID: string): INullResponseData;
|
||||
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||
clearMail(url: string, request: IClearMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
removeMail(url: string, request: IRemoveMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
onUpdate(timeSinceLastRun: number): Promise<boolean>;
|
||||
getRoute(): string;
|
||||
}
|
||||
|
@ -3,6 +3,9 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||
import { IAcceptGroupInviteRequest } from "../models/eft/match/IAcceptGroupInviteRequest";
|
||||
import { IAcceptGroupInviteResponse } from "../models/eft/match/IAcceptGroupInviteResponse";
|
||||
import { ICancelGroupInviteRequest } from "../models/eft/match/ICancelGroupInviteRequest";
|
||||
import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData";
|
||||
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
||||
import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData";
|
||||
@ -11,6 +14,8 @@ import { IGetRaidConfigurationRequestData } from "../models/eft/match/IGetRaidCo
|
||||
import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData";
|
||||
import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult";
|
||||
import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData";
|
||||
import { IRemovePlayerFromGroupRequest } from "../models/eft/match/IRemovePlayerFromGroupRequest";
|
||||
import { ISendGroupInviteRequest } from "../models/eft/match/ISendGroupInviteRequest";
|
||||
import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||
@ -26,9 +31,12 @@ export declare class MatchCallbacks {
|
||||
exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
stopGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: ISendGroupInviteRequest, sessionID: string): IGetBodyResponseData<string>;
|
||||
/** Handle client/match/group/invite/accept */
|
||||
acceptGroupInvite(url: string, info: IAcceptGroupInviteRequest, sessionID: string): IGetBodyResponseData<IAcceptGroupInviteResponse[]>;
|
||||
/** Handle client/match/group/invite/cancel */
|
||||
cancelGroupInvite(url: string, info: ICancelGroupInviteRequest, sessionID: string): IGetBodyResponseData<boolean>;
|
||||
cancelAllGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData;
|
||||
getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData<IPmcData[]>;
|
||||
serverAvailable(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any> | IGetBodyResponseData<true>;
|
||||
@ -41,6 +49,7 @@ export declare class MatchCallbacks {
|
||||
getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
createGroup(url: string, info: ICreateGroupRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
deleteGroup(url: string, info: any, sessionID: string): INullResponseData;
|
||||
removePlayerFromGroup(url: string, info: IRemovePlayerFromGroupRequest, sessionID: string): INullResponseData;
|
||||
endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData;
|
||||
getRaidConfiguration(url: string, info: IGetRaidConfigurationRequestData, sessionID: string): INullResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { DialogueHelper } from "../helpers/DialogueHelper";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse";
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { DialogueInfo, IAkiProfile, IUserDialogInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
export declare class DialogueController {
|
||||
@ -35,6 +35,7 @@ export declare class DialogueController {
|
||||
* @returns IGetMailDialogViewResponseData object
|
||||
*/
|
||||
generateDialogueView(dialogueID: string, sessionID: string): IGetMailDialogViewResponseData;
|
||||
protected getProfilesForMail(pmcProfile: IAkiProfile, dialogUsers: IUserDialogInfo[]): IUserDialogInfo[];
|
||||
/**
|
||||
* Get a count of messages with attachments from a particular dialog
|
||||
* @param sessionID Session id
|
||||
|
@ -3,6 +3,7 @@ import { PlayerScavGenerator } from "../generators/PlayerScavGenerator";
|
||||
import { HealthHelper } from "../helpers/HealthHelper";
|
||||
import { InRaidHelper } from "../helpers/InRaidHelper";
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { NotificationSendHelper } from "../helpers/NotificationSendHelper";
|
||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||
import { QuestHelper } from "../helpers/QuestHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
@ -17,6 +18,8 @@ import { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { InsuranceService } from "../services/InsuranceService";
|
||||
import { LocaleService } from "../services/LocaleService";
|
||||
import { PmcChatResponseService } from "../services/PmcChatResponseService";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
/**
|
||||
@ -28,10 +31,13 @@ export declare class InraidController {
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected localeService: LocaleService;
|
||||
protected pmcChatResponseService: PmcChatResponseService;
|
||||
protected questHelper: QuestHelper;
|
||||
protected itemHelper: ItemHelper;
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected playerScavGenerator: PlayerScavGenerator;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected healthHelper: HealthHelper;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected insuranceService: InsuranceService;
|
||||
@ -40,7 +46,7 @@ export declare class InraidController {
|
||||
protected configServer: ConfigServer;
|
||||
protected airdropConfig: IAirdropConfig;
|
||||
protected inraidConfig: IInRaidConfig;
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, localeService: LocaleService, pmcChatResponseService: PmcChatResponseService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, notificationSendHelper: NotificationSendHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
/**
|
||||
* Save locationId to active profiles inraid object AND app context
|
||||
* @param sessionID Session id
|
||||
@ -89,6 +95,7 @@ export declare class InraidController {
|
||||
* @param offraidData post-raid data of raid
|
||||
*/
|
||||
protected savePlayerScavProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
||||
protected sendLostInsuranceMessage(sessionID: string): void;
|
||||
/**
|
||||
* Is the player dead after a raid - dead is anything other than "survived" / "runner"
|
||||
* @param statusOnExit exit value from offraidData object
|
||||
|
@ -5,7 +5,9 @@ import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||
import { QuestHelper } from "../helpers/QuestHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
|
||||
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
||||
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||
@ -36,6 +38,7 @@ export declare class ProfileController {
|
||||
getMiniProfile(sessionID: string): any;
|
||||
getCompleteProfile(sessionID: string): IPmcData[];
|
||||
createProfile(info: IProfileCreateRequestData, sessionID: string): void;
|
||||
protected givePlayerStartingQuestRewards(profileDetails: IAkiProfile, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Generate a player scav object
|
||||
* pmc profile MUST exist first before pscav can be generated
|
||||
|
@ -31,7 +31,7 @@ export declare class DialogueHelper {
|
||||
/**
|
||||
* Get the preview contents of the last message in a dialogue.
|
||||
* @param dialogue
|
||||
* @returns
|
||||
* @returns MessagePreview
|
||||
*/
|
||||
getMessagePreview(dialogue: Dialogue): MessagePreview;
|
||||
/**
|
||||
|
@ -1,12 +1,36 @@
|
||||
import { INotification } from "../models/eft/notifier/INotifier";
|
||||
import { Dialogue, IUserDialogInfo } from "../models/eft/profile/IAkiProfile";
|
||||
import { MessageType } from "../models/enums/MessageType";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { WebSocketServer } from "../servers/WebSocketServer";
|
||||
import { NotificationService } from "../services/NotificationService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
export declare class NotificationSendHelper {
|
||||
protected webSocketServer: WebSocketServer;
|
||||
protected hashUtil: HashUtil;
|
||||
protected saveServer: SaveServer;
|
||||
protected notificationService: NotificationService;
|
||||
constructor(webSocketServer: WebSocketServer, notificationService: NotificationService);
|
||||
constructor(webSocketServer: WebSocketServer, hashUtil: HashUtil, saveServer: SaveServer, notificationService: NotificationService);
|
||||
/**
|
||||
* Send notification message to the appropriate channel
|
||||
* @param sessionID
|
||||
* @param notificationMessage
|
||||
*/
|
||||
sendMessage(sessionID: string, notificationMessage: INotification): void;
|
||||
/**
|
||||
* Send a message directly to the player
|
||||
* @param sessionId Session id
|
||||
* @param senderDetails Who is sendin the message to player
|
||||
* @param messageText Text to send player
|
||||
* @param messageType Underlying type of message being sent
|
||||
*/
|
||||
sendMessageToPlayer(sessionId: string, senderDetails: IUserDialogInfo, messageText: string, messageType: MessageType): void;
|
||||
/**
|
||||
* Helper function for sendMessageToPlayer(), get new dialog for storage in profile or find existing by sender id
|
||||
* @param sessionId Session id
|
||||
* @param messageType Type of message to generate
|
||||
* @param senderDetails Who is sending the message
|
||||
* @returns Dialogue
|
||||
*/
|
||||
protected getDialog(sessionId: string, messageType: MessageType, senderDetails: IUserDialogInfo): Dialogue;
|
||||
}
|
||||
|
3
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IClearMailMessageRequest.d.ts
vendored
Normal file
3
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IClearMailMessageRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IClearMailMessageRequest {
|
||||
dialogId: string;
|
||||
}
|
3
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IDeleteFriendRequest.d.ts
vendored
Normal file
3
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IDeleteFriendRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IDeleteFriendRequest {
|
||||
friend_id: string;
|
||||
}
|
5
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IFriendRequestSendResponse.d.ts
vendored
Normal file
5
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IFriendRequestSendResponse.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
export interface IFriendRequestSendResponse {
|
||||
status: number;
|
||||
requestid: string;
|
||||
retryAfter: number;
|
||||
}
|
3
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts
vendored
3
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IGetMailDialogViewResponseData.d.ts
vendored
@ -1,7 +1,6 @@
|
||||
import { IPmcData } from "../common/IPmcData";
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface IGetMailDialogViewResponseData {
|
||||
messages: Message[];
|
||||
profiles: IPmcData[];
|
||||
profiles: any[];
|
||||
hasMessagesWithRewards: boolean;
|
||||
}
|
||||
|
3
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IRemoveMailMessageRequest.d.ts
vendored
Normal file
3
TypeScript/12ClassExtensionOverride/types/models/eft/dialog/IRemoveMailMessageRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IRemoveMailMessageRequest {
|
||||
dialogId: string;
|
||||
}
|
3
TypeScript/12ClassExtensionOverride/types/models/eft/match/IAcceptGroupInviteRequest.d.ts
vendored
Normal file
3
TypeScript/12ClassExtensionOverride/types/models/eft/match/IAcceptGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IAcceptGroupInviteRequest {
|
||||
requestId: string;
|
||||
}
|
16
TypeScript/12ClassExtensionOverride/types/models/eft/match/IAcceptGroupInviteResponse.d.ts
vendored
Normal file
16
TypeScript/12ClassExtensionOverride/types/models/eft/match/IAcceptGroupInviteResponse.d.ts
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
export interface IAcceptGroupInviteResponse {
|
||||
_id: string;
|
||||
aid: number;
|
||||
Info: PlayerInviteInfo;
|
||||
isLeader: boolean;
|
||||
isReady: boolean;
|
||||
}
|
||||
export interface PlayerInviteInfo {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: number;
|
||||
GameVersion: string;
|
||||
SavageLockTime: number;
|
||||
SavageNickname: string;
|
||||
}
|
3
TypeScript/12ClassExtensionOverride/types/models/eft/match/ICancelGroupInviteRequest.d.ts
vendored
Normal file
3
TypeScript/12ClassExtensionOverride/types/models/eft/match/ICancelGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface ICancelGroupInviteRequest {
|
||||
requestId: string;
|
||||
}
|
3
TypeScript/12ClassExtensionOverride/types/models/eft/match/IRemovePlayerFromGroupRequest.d.ts
vendored
Normal file
3
TypeScript/12ClassExtensionOverride/types/models/eft/match/IRemovePlayerFromGroupRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IRemovePlayerFromGroupRequest {
|
||||
aidToKick: string;
|
||||
}
|
4
TypeScript/12ClassExtensionOverride/types/models/eft/match/ISendGroupInviteRequest.d.ts
vendored
Normal file
4
TypeScript/12ClassExtensionOverride/types/models/eft/match/ISendGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
export interface ISendGroupInviteRequest {
|
||||
to: string;
|
||||
inLobby: boolean;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface INotifierChannel {
|
||||
server: string;
|
||||
channel_id: string;
|
||||
@ -5,7 +6,6 @@ export interface INotifierChannel {
|
||||
notifierServer: string;
|
||||
ws: string;
|
||||
}
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface INotification {
|
||||
type: "RagfairOfferSold" | "new_message" | "ping";
|
||||
eventId: string;
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { MemberCategory } from "../../../models/enums/MemberCategory";
|
||||
import { MessageType } from "../../enums/MessageType";
|
||||
import { IPmcData } from "../common/IPmcData";
|
||||
import { Item } from "../common/tables/IItem";
|
||||
@ -36,19 +37,32 @@ export interface WeaponBuild {
|
||||
items: Item[];
|
||||
}
|
||||
export interface Dialogue {
|
||||
_id: string;
|
||||
messages: Message[];
|
||||
pinned: boolean;
|
||||
new: number;
|
||||
attachmentsNew: number;
|
||||
type: MessageType;
|
||||
new: number;
|
||||
_id: string;
|
||||
Users?: IUserDialogInfo[];
|
||||
pinned: boolean;
|
||||
messages: Message[];
|
||||
}
|
||||
export interface IUserDialogInfo {
|
||||
_id: string;
|
||||
info: IUserDialogDetails;
|
||||
}
|
||||
export interface IUserDialogDetails {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
new: number;
|
||||
_id: string;
|
||||
type: MessageType;
|
||||
pinned: boolean;
|
||||
Users?: any[];
|
||||
message: MessagePreview;
|
||||
_id: string;
|
||||
}
|
||||
export interface Message {
|
||||
_id: string;
|
||||
@ -57,7 +71,7 @@ export interface Message {
|
||||
dt: number;
|
||||
UtcDateTime?: number;
|
||||
Member?: IUpdatableChatMember;
|
||||
templateId: string;
|
||||
templateId?: string;
|
||||
text?: string;
|
||||
hasRewards: boolean;
|
||||
rewardCollected: boolean;
|
||||
@ -72,6 +86,7 @@ export interface MessagePreview {
|
||||
dt: number;
|
||||
templateId: string;
|
||||
text?: string;
|
||||
systemData?: ISystemData;
|
||||
}
|
||||
export interface MessageItems {
|
||||
stash?: string;
|
||||
|
@ -13,6 +13,7 @@ export declare enum ConfigTypes {
|
||||
LOCATION = "aki-location",
|
||||
MATCH = "aki-match",
|
||||
PLAYERSCAV = "aki-playerscav",
|
||||
PMC_CHAT_RESPONSE = "aki-pmcchatresponse",
|
||||
QUEST = "aki-quest",
|
||||
RAGFAIR = "aki-ragfair",
|
||||
REPAIR = "aki-repair",
|
||||
|
@ -1,19 +1,19 @@
|
||||
import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../../eft/httpResponse/INullResponseData";
|
||||
import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData";
|
||||
import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData";
|
||||
import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData";
|
||||
import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData";
|
||||
import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData";
|
||||
import { IFriendRequestData } from "../../eft/dialog/IFriendRequestData";
|
||||
import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData";
|
||||
import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetAllAttachmentsRequestData } from "../../eft/dialog/IGetAllAttachmentsRequestData";
|
||||
import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetChatServerListRequestData } from "../../eft/dialog/IGetChatServerListRequestData";
|
||||
import { IGetFriendListDataResponse } from "../../eft/dialog/IGetFriendListDataResponse";
|
||||
import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest";
|
||||
import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData";
|
||||
import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData";
|
||||
import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData";
|
||||
import { IGetMailDialogViewResponseData } from "../../eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData";
|
||||
import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData";
|
||||
import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest";
|
||||
import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../../eft/httpResponse/INullResponseData";
|
||||
import { DialogueInfo } from "../../eft/profile/IAkiProfile";
|
||||
export interface IDialogueCallbacks {
|
||||
getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>;
|
||||
@ -28,7 +28,7 @@ export interface IDialogueCallbacks {
|
||||
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||
update(): boolean;
|
||||
}
|
||||
|
13
TypeScript/12ClassExtensionOverride/types/models/spt/config/IPmChatResponse.d.ts
vendored
Normal file
13
TypeScript/12ClassExtensionOverride/types/models/spt/config/IPmChatResponse.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import { IBaseConfig } from "./IBaseConfig";
|
||||
export interface IPmcChatResponse extends IBaseConfig {
|
||||
kind: "aki-pmcchatresponse";
|
||||
victim: IResponseSettings;
|
||||
killer: IResponseSettings;
|
||||
}
|
||||
export interface IResponseSettings {
|
||||
responseChancePercent: number;
|
||||
responseTypeWeights: Record<string, number>;
|
||||
stripCapitalisationChancePercent: number;
|
||||
allCapsChancePercent: number;
|
||||
appendBroToMessageEndChancePercent: number;
|
||||
}
|
@ -18,4 +18,9 @@ export declare class LocalisationService {
|
||||
* @returns Localised string
|
||||
*/
|
||||
getText(key: string, args?: any): string;
|
||||
/**
|
||||
* Get all locale keys
|
||||
* @returns string array of keys
|
||||
*/
|
||||
getKeys(): string[];
|
||||
}
|
||||
|
73
TypeScript/12ClassExtensionOverride/types/services/PmcChatResponseService.d.ts
vendored
Normal file
73
TypeScript/12ClassExtensionOverride/types/services/PmcChatResponseService.d.ts
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
import { NotificationSendHelper } from "../helpers/NotificationSendHelper";
|
||||
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { Victim } from "../models/eft/common/tables/IBotBase";
|
||||
import { IUserDialogInfo } from "../models/eft/profile/IAkiProfile";
|
||||
import { IPmcChatResponse } from "../models/spt/config/IPmChatResponse";
|
||||
import { ConfigServer } from "../servers/ConfigServer";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { LocalisationService } from "./LocalisationService";
|
||||
export declare class PmcChatResponseService {
|
||||
protected randomUtil: RandomUtil;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected weightedRandomHelper: WeightedRandomHelper;
|
||||
protected configServer: ConfigServer;
|
||||
protected pmcResponsesConfig: IPmcChatResponse;
|
||||
constructor(randomUtil: RandomUtil, notificationSendHelper: NotificationSendHelper, localisationService: LocalisationService, weightedRandomHelper: WeightedRandomHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Chooses a random victim from those provided and sends a message to the player, can be positive or negative
|
||||
* @param sessionId Session id
|
||||
* @param pmcVictims Array of bots killed by player
|
||||
*/
|
||||
sendVictimResponse(sessionId: string, pmcVictims: Victim[]): void;
|
||||
/**
|
||||
* Not fully implemented yet, needs method of acquiring killers details after raid
|
||||
* @param sessionId Session id
|
||||
* @param pmcData Players profile
|
||||
*/
|
||||
sendKillerResponse(sessionId: string, pmcData: IPmcData): void;
|
||||
/**
|
||||
* Choose a localised message to send the player (different if sender was killed or killed player)
|
||||
* @param isVictim
|
||||
* @returns
|
||||
*/
|
||||
protected chooseMessage(isVictim: boolean): string;
|
||||
/**
|
||||
* 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 the word 'bro' be appended to the message being sent to player
|
||||
* @param isVictim Was responder a victim of player
|
||||
* @returns true = should be stripped
|
||||
*/
|
||||
appendBroToMessageEnd(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[];
|
||||
/**
|
||||
* 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;
|
||||
}
|
@ -2,7 +2,10 @@ import { DialogueController } from "../controllers/DialogueController";
|
||||
import { OnUpdate } from "../di/OnUpdate";
|
||||
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IChatServer } from "../models/eft/dialog/IChatServer";
|
||||
import { IClearMailMessageRequest } from "../models/eft/dialog/IClearMailMessageRequest";
|
||||
import { IDeleteFriendRequest } from "../models/eft/dialog/IDeleteFriendRequest";
|
||||
import { IFriendRequestData } from "../models/eft/dialog/IFriendRequestData";
|
||||
import { IFriendRequestSendResponse } from "../models/eft/dialog/IFriendRequestSendResponse";
|
||||
import { IGetAllAttachmentsRequestData } from "../models/eft/dialog/IGetAllAttachmentsRequestData";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetChatServerListRequestData } from "../models/eft/dialog/IGetChatServerListRequestData";
|
||||
@ -13,6 +16,7 @@ import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDial
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { IPinDialogRequestData } from "../models/eft/dialog/IPinDialogRequestData";
|
||||
import { IRemoveDialogRequestData } from "../models/eft/dialog/IRemoveDialogRequestData";
|
||||
import { IRemoveMailMessageRequest } from "../models/eft/dialog/IRemoveMailMessageRequest";
|
||||
import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest";
|
||||
import { ISetDialogReadRequestData } from "../models/eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
@ -37,9 +41,13 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns
|
||||
*/
|
||||
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<IChatServer[]>;
|
||||
/** Handle client/mail/dialog/list */
|
||||
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
|
||||
/** Handle client/mail/dialog/view */
|
||||
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
||||
/** Handle client/mail/dialog/info */
|
||||
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo>;
|
||||
/** Handle client/mail/dialog/remove */
|
||||
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
@ -49,10 +57,14 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns IGetAllAttachmentsResponse
|
||||
*/
|
||||
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||
/** Handle client/friend/request/list/outbox */
|
||||
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): IGetBodyResponseData<IFriendRequestSendResponse>;
|
||||
deleteFriend(url: string, request: IDeleteFriendRequest, sessionID: string): INullResponseData;
|
||||
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||
clearMail(url: string, request: IClearMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
removeMail(url: string, request: IRemoveMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
onUpdate(timeSinceLastRun: number): Promise<boolean>;
|
||||
getRoute(): string;
|
||||
}
|
||||
|
@ -3,6 +3,9 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||
import { IAcceptGroupInviteRequest } from "../models/eft/match/IAcceptGroupInviteRequest";
|
||||
import { IAcceptGroupInviteResponse } from "../models/eft/match/IAcceptGroupInviteResponse";
|
||||
import { ICancelGroupInviteRequest } from "../models/eft/match/ICancelGroupInviteRequest";
|
||||
import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData";
|
||||
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
||||
import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData";
|
||||
@ -11,6 +14,8 @@ import { IGetRaidConfigurationRequestData } from "../models/eft/match/IGetRaidCo
|
||||
import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData";
|
||||
import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult";
|
||||
import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData";
|
||||
import { IRemovePlayerFromGroupRequest } from "../models/eft/match/IRemovePlayerFromGroupRequest";
|
||||
import { ISendGroupInviteRequest } from "../models/eft/match/ISendGroupInviteRequest";
|
||||
import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||
@ -26,9 +31,12 @@ export declare class MatchCallbacks {
|
||||
exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
stopGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: ISendGroupInviteRequest, sessionID: string): IGetBodyResponseData<string>;
|
||||
/** Handle client/match/group/invite/accept */
|
||||
acceptGroupInvite(url: string, info: IAcceptGroupInviteRequest, sessionID: string): IGetBodyResponseData<IAcceptGroupInviteResponse[]>;
|
||||
/** Handle client/match/group/invite/cancel */
|
||||
cancelGroupInvite(url: string, info: ICancelGroupInviteRequest, sessionID: string): IGetBodyResponseData<boolean>;
|
||||
cancelAllGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData;
|
||||
getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData<IPmcData[]>;
|
||||
serverAvailable(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any> | IGetBodyResponseData<true>;
|
||||
@ -41,6 +49,7 @@ export declare class MatchCallbacks {
|
||||
getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
createGroup(url: string, info: ICreateGroupRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
deleteGroup(url: string, info: any, sessionID: string): INullResponseData;
|
||||
removePlayerFromGroup(url: string, info: IRemovePlayerFromGroupRequest, sessionID: string): INullResponseData;
|
||||
endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData;
|
||||
getRaidConfiguration(url: string, info: IGetRaidConfigurationRequestData, sessionID: string): INullResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { DialogueHelper } from "../helpers/DialogueHelper";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse";
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { DialogueInfo, IAkiProfile, IUserDialogInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
export declare class DialogueController {
|
||||
@ -35,6 +35,7 @@ export declare class DialogueController {
|
||||
* @returns IGetMailDialogViewResponseData object
|
||||
*/
|
||||
generateDialogueView(dialogueID: string, sessionID: string): IGetMailDialogViewResponseData;
|
||||
protected getProfilesForMail(pmcProfile: IAkiProfile, dialogUsers: IUserDialogInfo[]): IUserDialogInfo[];
|
||||
/**
|
||||
* Get a count of messages with attachments from a particular dialog
|
||||
* @param sessionID Session id
|
||||
|
@ -3,6 +3,7 @@ import { PlayerScavGenerator } from "../generators/PlayerScavGenerator";
|
||||
import { HealthHelper } from "../helpers/HealthHelper";
|
||||
import { InRaidHelper } from "../helpers/InRaidHelper";
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { NotificationSendHelper } from "../helpers/NotificationSendHelper";
|
||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||
import { QuestHelper } from "../helpers/QuestHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
@ -17,6 +18,8 @@ import { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { InsuranceService } from "../services/InsuranceService";
|
||||
import { LocaleService } from "../services/LocaleService";
|
||||
import { PmcChatResponseService } from "../services/PmcChatResponseService";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
/**
|
||||
@ -28,10 +31,13 @@ export declare class InraidController {
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected localeService: LocaleService;
|
||||
protected pmcChatResponseService: PmcChatResponseService;
|
||||
protected questHelper: QuestHelper;
|
||||
protected itemHelper: ItemHelper;
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected playerScavGenerator: PlayerScavGenerator;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected healthHelper: HealthHelper;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected insuranceService: InsuranceService;
|
||||
@ -40,7 +46,7 @@ export declare class InraidController {
|
||||
protected configServer: ConfigServer;
|
||||
protected airdropConfig: IAirdropConfig;
|
||||
protected inraidConfig: IInRaidConfig;
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, localeService: LocaleService, pmcChatResponseService: PmcChatResponseService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, notificationSendHelper: NotificationSendHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
/**
|
||||
* Save locationId to active profiles inraid object AND app context
|
||||
* @param sessionID Session id
|
||||
@ -89,6 +95,7 @@ export declare class InraidController {
|
||||
* @param offraidData post-raid data of raid
|
||||
*/
|
||||
protected savePlayerScavProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
||||
protected sendLostInsuranceMessage(sessionID: string): void;
|
||||
/**
|
||||
* Is the player dead after a raid - dead is anything other than "survived" / "runner"
|
||||
* @param statusOnExit exit value from offraidData object
|
||||
|
@ -5,7 +5,9 @@ import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||
import { QuestHelper } from "../helpers/QuestHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { IItemEventRouterResponse } from "../models/eft/itemEvent/IItemEventRouterResponse";
|
||||
import { IMiniProfile } from "../models/eft/launcher/IMiniProfile";
|
||||
import { IAkiProfile } from "../models/eft/profile/IAkiProfile";
|
||||
import { IProfileChangeNicknameRequestData } from "../models/eft/profile/IProfileChangeNicknameRequestData";
|
||||
import { IProfileChangeVoiceRequestData } from "../models/eft/profile/IProfileChangeVoiceRequestData";
|
||||
import { IProfileCreateRequestData } from "../models/eft/profile/IProfileCreateRequestData";
|
||||
@ -36,6 +38,7 @@ export declare class ProfileController {
|
||||
getMiniProfile(sessionID: string): any;
|
||||
getCompleteProfile(sessionID: string): IPmcData[];
|
||||
createProfile(info: IProfileCreateRequestData, sessionID: string): void;
|
||||
protected givePlayerStartingQuestRewards(profileDetails: IAkiProfile, sessionID: string, response: IItemEventRouterResponse): void;
|
||||
/**
|
||||
* Generate a player scav object
|
||||
* pmc profile MUST exist first before pscav can be generated
|
||||
|
@ -31,7 +31,7 @@ export declare class DialogueHelper {
|
||||
/**
|
||||
* Get the preview contents of the last message in a dialogue.
|
||||
* @param dialogue
|
||||
* @returns
|
||||
* @returns MessagePreview
|
||||
*/
|
||||
getMessagePreview(dialogue: Dialogue): MessagePreview;
|
||||
/**
|
||||
|
@ -1,12 +1,36 @@
|
||||
import { INotification } from "../models/eft/notifier/INotifier";
|
||||
import { Dialogue, IUserDialogInfo } from "../models/eft/profile/IAkiProfile";
|
||||
import { MessageType } from "../models/enums/MessageType";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { WebSocketServer } from "../servers/WebSocketServer";
|
||||
import { NotificationService } from "../services/NotificationService";
|
||||
import { HashUtil } from "../utils/HashUtil";
|
||||
export declare class NotificationSendHelper {
|
||||
protected webSocketServer: WebSocketServer;
|
||||
protected hashUtil: HashUtil;
|
||||
protected saveServer: SaveServer;
|
||||
protected notificationService: NotificationService;
|
||||
constructor(webSocketServer: WebSocketServer, notificationService: NotificationService);
|
||||
constructor(webSocketServer: WebSocketServer, hashUtil: HashUtil, saveServer: SaveServer, notificationService: NotificationService);
|
||||
/**
|
||||
* Send notification message to the appropriate channel
|
||||
* @param sessionID
|
||||
* @param notificationMessage
|
||||
*/
|
||||
sendMessage(sessionID: string, notificationMessage: INotification): void;
|
||||
/**
|
||||
* Send a message directly to the player
|
||||
* @param sessionId Session id
|
||||
* @param senderDetails Who is sendin the message to player
|
||||
* @param messageText Text to send player
|
||||
* @param messageType Underlying type of message being sent
|
||||
*/
|
||||
sendMessageToPlayer(sessionId: string, senderDetails: IUserDialogInfo, messageText: string, messageType: MessageType): void;
|
||||
/**
|
||||
* Helper function for sendMessageToPlayer(), get new dialog for storage in profile or find existing by sender id
|
||||
* @param sessionId Session id
|
||||
* @param messageType Type of message to generate
|
||||
* @param senderDetails Who is sending the message
|
||||
* @returns Dialogue
|
||||
*/
|
||||
protected getDialog(sessionId: string, messageType: MessageType, senderDetails: IUserDialogInfo): Dialogue;
|
||||
}
|
||||
|
3
TypeScript/13AddTrader/types/models/eft/dialog/IClearMailMessageRequest.d.ts
vendored
Normal file
3
TypeScript/13AddTrader/types/models/eft/dialog/IClearMailMessageRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IClearMailMessageRequest {
|
||||
dialogId: string;
|
||||
}
|
3
TypeScript/13AddTrader/types/models/eft/dialog/IDeleteFriendRequest.d.ts
vendored
Normal file
3
TypeScript/13AddTrader/types/models/eft/dialog/IDeleteFriendRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IDeleteFriendRequest {
|
||||
friend_id: string;
|
||||
}
|
5
TypeScript/13AddTrader/types/models/eft/dialog/IFriendRequestSendResponse.d.ts
vendored
Normal file
5
TypeScript/13AddTrader/types/models/eft/dialog/IFriendRequestSendResponse.d.ts
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
export interface IFriendRequestSendResponse {
|
||||
status: number;
|
||||
requestid: string;
|
||||
retryAfter: number;
|
||||
}
|
@ -1,7 +1,6 @@
|
||||
import { IPmcData } from "../common/IPmcData";
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface IGetMailDialogViewResponseData {
|
||||
messages: Message[];
|
||||
profiles: IPmcData[];
|
||||
profiles: any[];
|
||||
hasMessagesWithRewards: boolean;
|
||||
}
|
||||
|
3
TypeScript/13AddTrader/types/models/eft/dialog/IRemoveMailMessageRequest.d.ts
vendored
Normal file
3
TypeScript/13AddTrader/types/models/eft/dialog/IRemoveMailMessageRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IRemoveMailMessageRequest {
|
||||
dialogId: string;
|
||||
}
|
3
TypeScript/13AddTrader/types/models/eft/match/IAcceptGroupInviteRequest.d.ts
vendored
Normal file
3
TypeScript/13AddTrader/types/models/eft/match/IAcceptGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IAcceptGroupInviteRequest {
|
||||
requestId: string;
|
||||
}
|
16
TypeScript/13AddTrader/types/models/eft/match/IAcceptGroupInviteResponse.d.ts
vendored
Normal file
16
TypeScript/13AddTrader/types/models/eft/match/IAcceptGroupInviteResponse.d.ts
vendored
Normal file
@ -0,0 +1,16 @@
|
||||
export interface IAcceptGroupInviteResponse {
|
||||
_id: string;
|
||||
aid: number;
|
||||
Info: PlayerInviteInfo;
|
||||
isLeader: boolean;
|
||||
isReady: boolean;
|
||||
}
|
||||
export interface PlayerInviteInfo {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: number;
|
||||
GameVersion: string;
|
||||
SavageLockTime: number;
|
||||
SavageNickname: string;
|
||||
}
|
3
TypeScript/13AddTrader/types/models/eft/match/ICancelGroupInviteRequest.d.ts
vendored
Normal file
3
TypeScript/13AddTrader/types/models/eft/match/ICancelGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface ICancelGroupInviteRequest {
|
||||
requestId: string;
|
||||
}
|
3
TypeScript/13AddTrader/types/models/eft/match/IRemovePlayerFromGroupRequest.d.ts
vendored
Normal file
3
TypeScript/13AddTrader/types/models/eft/match/IRemovePlayerFromGroupRequest.d.ts
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
export interface IRemovePlayerFromGroupRequest {
|
||||
aidToKick: string;
|
||||
}
|
4
TypeScript/13AddTrader/types/models/eft/match/ISendGroupInviteRequest.d.ts
vendored
Normal file
4
TypeScript/13AddTrader/types/models/eft/match/ISendGroupInviteRequest.d.ts
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
export interface ISendGroupInviteRequest {
|
||||
to: string;
|
||||
inLobby: boolean;
|
||||
}
|
@ -1,3 +1,4 @@
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface INotifierChannel {
|
||||
server: string;
|
||||
channel_id: string;
|
||||
@ -5,7 +6,6 @@ export interface INotifierChannel {
|
||||
notifierServer: string;
|
||||
ws: string;
|
||||
}
|
||||
import { Message } from "../profile/IAkiProfile";
|
||||
export interface INotification {
|
||||
type: "RagfairOfferSold" | "new_message" | "ping";
|
||||
eventId: string;
|
||||
|
@ -1,3 +1,4 @@
|
||||
import { MemberCategory } from "../../../models/enums/MemberCategory";
|
||||
import { MessageType } from "../../enums/MessageType";
|
||||
import { IPmcData } from "../common/IPmcData";
|
||||
import { Item } from "../common/tables/IItem";
|
||||
@ -36,19 +37,32 @@ export interface WeaponBuild {
|
||||
items: Item[];
|
||||
}
|
||||
export interface Dialogue {
|
||||
_id: string;
|
||||
messages: Message[];
|
||||
pinned: boolean;
|
||||
new: number;
|
||||
attachmentsNew: number;
|
||||
type: MessageType;
|
||||
new: number;
|
||||
_id: string;
|
||||
Users?: IUserDialogInfo[];
|
||||
pinned: boolean;
|
||||
messages: Message[];
|
||||
}
|
||||
export interface IUserDialogInfo {
|
||||
_id: string;
|
||||
info: IUserDialogDetails;
|
||||
}
|
||||
export interface IUserDialogDetails {
|
||||
Nickname: string;
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
new: number;
|
||||
_id: string;
|
||||
type: MessageType;
|
||||
pinned: boolean;
|
||||
Users?: any[];
|
||||
message: MessagePreview;
|
||||
_id: string;
|
||||
}
|
||||
export interface Message {
|
||||
_id: string;
|
||||
@ -57,7 +71,7 @@ export interface Message {
|
||||
dt: number;
|
||||
UtcDateTime?: number;
|
||||
Member?: IUpdatableChatMember;
|
||||
templateId: string;
|
||||
templateId?: string;
|
||||
text?: string;
|
||||
hasRewards: boolean;
|
||||
rewardCollected: boolean;
|
||||
@ -72,6 +86,7 @@ export interface MessagePreview {
|
||||
dt: number;
|
||||
templateId: string;
|
||||
text?: string;
|
||||
systemData?: ISystemData;
|
||||
}
|
||||
export interface MessageItems {
|
||||
stash?: string;
|
||||
|
@ -13,6 +13,7 @@ export declare enum ConfigTypes {
|
||||
LOCATION = "aki-location",
|
||||
MATCH = "aki-match",
|
||||
PLAYERSCAV = "aki-playerscav",
|
||||
PMC_CHAT_RESPONSE = "aki-pmcchatresponse",
|
||||
QUEST = "aki-quest",
|
||||
RAGFAIR = "aki-ragfair",
|
||||
REPAIR = "aki-repair",
|
||||
|
@ -1,19 +1,19 @@
|
||||
import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../../eft/httpResponse/INullResponseData";
|
||||
import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData";
|
||||
import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData";
|
||||
import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData";
|
||||
import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData";
|
||||
import { IEmptyRequestData } from "../../eft/common/IEmptyRequestData";
|
||||
import { IFriendRequestData } from "../../eft/dialog/IFriendRequestData";
|
||||
import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData";
|
||||
import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetAllAttachmentsRequestData } from "../../eft/dialog/IGetAllAttachmentsRequestData";
|
||||
import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetChatServerListRequestData } from "../../eft/dialog/IGetChatServerListRequestData";
|
||||
import { IGetFriendListDataResponse } from "../../eft/dialog/IGetFriendListDataResponse";
|
||||
import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest";
|
||||
import { IGetMailDialogInfoRequestData } from "../../eft/dialog/IGetMailDialogInfoRequestData";
|
||||
import { IGetMailDialogListRequestData } from "../../eft/dialog/IGetMailDialogListRequestData";
|
||||
import { IGetMailDialogViewRequestData } from "../../eft/dialog/IGetMailDialogViewRequestData";
|
||||
import { IGetMailDialogViewResponseData } from "../../eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { IGetAllAttachmentsResponse } from "../../eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IPinDialogRequestData } from "../../eft/dialog/IPinDialogRequestData";
|
||||
import { IRemoveDialogRequestData } from "../../eft/dialog/IRemoveDialogRequestData";
|
||||
import { ISendMessageRequest } from "../../eft/dialog/ISendMessageRequest";
|
||||
import { ISetDialogReadRequestData } from "../../eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetBodyResponseData } from "../../eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../../eft/httpResponse/INullResponseData";
|
||||
import { DialogueInfo } from "../../eft/profile/IAkiProfile";
|
||||
export interface IDialogueCallbacks {
|
||||
getFriendList(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<IGetFriendListDataResponse>;
|
||||
@ -28,7 +28,7 @@ export interface IDialogueCallbacks {
|
||||
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||
update(): boolean;
|
||||
}
|
||||
|
13
TypeScript/13AddTrader/types/models/spt/config/IPmChatResponse.d.ts
vendored
Normal file
13
TypeScript/13AddTrader/types/models/spt/config/IPmChatResponse.d.ts
vendored
Normal file
@ -0,0 +1,13 @@
|
||||
import { IBaseConfig } from "./IBaseConfig";
|
||||
export interface IPmcChatResponse extends IBaseConfig {
|
||||
kind: "aki-pmcchatresponse";
|
||||
victim: IResponseSettings;
|
||||
killer: IResponseSettings;
|
||||
}
|
||||
export interface IResponseSettings {
|
||||
responseChancePercent: number;
|
||||
responseTypeWeights: Record<string, number>;
|
||||
stripCapitalisationChancePercent: number;
|
||||
allCapsChancePercent: number;
|
||||
appendBroToMessageEndChancePercent: number;
|
||||
}
|
@ -18,4 +18,9 @@ export declare class LocalisationService {
|
||||
* @returns Localised string
|
||||
*/
|
||||
getText(key: string, args?: any): string;
|
||||
/**
|
||||
* Get all locale keys
|
||||
* @returns string array of keys
|
||||
*/
|
||||
getKeys(): string[];
|
||||
}
|
||||
|
73
TypeScript/13AddTrader/types/services/PmcChatResponseService.d.ts
vendored
Normal file
73
TypeScript/13AddTrader/types/services/PmcChatResponseService.d.ts
vendored
Normal file
@ -0,0 +1,73 @@
|
||||
import { NotificationSendHelper } from "../helpers/NotificationSendHelper";
|
||||
import { WeightedRandomHelper } from "../helpers/WeightedRandomHelper";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { Victim } from "../models/eft/common/tables/IBotBase";
|
||||
import { IUserDialogInfo } from "../models/eft/profile/IAkiProfile";
|
||||
import { IPmcChatResponse } from "../models/spt/config/IPmChatResponse";
|
||||
import { ConfigServer } from "../servers/ConfigServer";
|
||||
import { RandomUtil } from "../utils/RandomUtil";
|
||||
import { LocalisationService } from "./LocalisationService";
|
||||
export declare class PmcChatResponseService {
|
||||
protected randomUtil: RandomUtil;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected weightedRandomHelper: WeightedRandomHelper;
|
||||
protected configServer: ConfigServer;
|
||||
protected pmcResponsesConfig: IPmcChatResponse;
|
||||
constructor(randomUtil: RandomUtil, notificationSendHelper: NotificationSendHelper, localisationService: LocalisationService, weightedRandomHelper: WeightedRandomHelper, configServer: ConfigServer);
|
||||
/**
|
||||
* Chooses a random victim from those provided and sends a message to the player, can be positive or negative
|
||||
* @param sessionId Session id
|
||||
* @param pmcVictims Array of bots killed by player
|
||||
*/
|
||||
sendVictimResponse(sessionId: string, pmcVictims: Victim[]): void;
|
||||
/**
|
||||
* Not fully implemented yet, needs method of acquiring killers details after raid
|
||||
* @param sessionId Session id
|
||||
* @param pmcData Players profile
|
||||
*/
|
||||
sendKillerResponse(sessionId: string, pmcData: IPmcData): void;
|
||||
/**
|
||||
* Choose a localised message to send the player (different if sender was killed or killed player)
|
||||
* @param isVictim
|
||||
* @returns
|
||||
*/
|
||||
protected chooseMessage(isVictim: boolean): string;
|
||||
/**
|
||||
* 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 the word 'bro' be appended to the message being sent to player
|
||||
* @param isVictim Was responder a victim of player
|
||||
* @returns true = should be stripped
|
||||
*/
|
||||
appendBroToMessageEnd(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[];
|
||||
/**
|
||||
* 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;
|
||||
}
|
@ -2,7 +2,10 @@ import { DialogueController } from "../controllers/DialogueController";
|
||||
import { OnUpdate } from "../di/OnUpdate";
|
||||
import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IChatServer } from "../models/eft/dialog/IChatServer";
|
||||
import { IClearMailMessageRequest } from "../models/eft/dialog/IClearMailMessageRequest";
|
||||
import { IDeleteFriendRequest } from "../models/eft/dialog/IDeleteFriendRequest";
|
||||
import { IFriendRequestData } from "../models/eft/dialog/IFriendRequestData";
|
||||
import { IFriendRequestSendResponse } from "../models/eft/dialog/IFriendRequestSendResponse";
|
||||
import { IGetAllAttachmentsRequestData } from "../models/eft/dialog/IGetAllAttachmentsRequestData";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetChatServerListRequestData } from "../models/eft/dialog/IGetChatServerListRequestData";
|
||||
@ -13,6 +16,7 @@ import { IGetMailDialogViewRequestData } from "../models/eft/dialog/IGetMailDial
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { IPinDialogRequestData } from "../models/eft/dialog/IPinDialogRequestData";
|
||||
import { IRemoveDialogRequestData } from "../models/eft/dialog/IRemoveDialogRequestData";
|
||||
import { IRemoveMailMessageRequest } from "../models/eft/dialog/IRemoveMailMessageRequest";
|
||||
import { ISendMessageRequest } from "../models/eft/dialog/ISendMessageRequest";
|
||||
import { ISetDialogReadRequestData } from "../models/eft/dialog/ISetDialogReadRequestData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
@ -37,9 +41,13 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns
|
||||
*/
|
||||
getChatServerList(url: string, info: IGetChatServerListRequestData, sessionID: string): IGetBodyResponseData<IChatServer[]>;
|
||||
/** Handle client/mail/dialog/list */
|
||||
getMailDialogList(url: string, info: IGetMailDialogListRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo[]>;
|
||||
/** Handle client/mail/dialog/view */
|
||||
getMailDialogView(url: string, info: IGetMailDialogViewRequestData, sessionID: string): IGetBodyResponseData<IGetMailDialogViewResponseData>;
|
||||
/** Handle client/mail/dialog/info */
|
||||
getMailDialogInfo(url: string, info: IGetMailDialogInfoRequestData, sessionID: string): IGetBodyResponseData<DialogueInfo>;
|
||||
/** Handle client/mail/dialog/remove */
|
||||
removeDialog(url: string, info: IRemoveDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
pinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
unpinDialog(url: string, info: IPinDialogRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
@ -49,10 +57,14 @@ export declare class DialogueCallbacks implements OnUpdate {
|
||||
* @returns IGetAllAttachmentsResponse
|
||||
*/
|
||||
getAllAttachments(url: string, info: IGetAllAttachmentsRequestData, sessionID: string): IGetBodyResponseData<IGetAllAttachmentsResponse>;
|
||||
/** Handle client/friend/request/list/outbox */
|
||||
listOutbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
listInbox(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
friendRequest(url: string, request: IFriendRequestData, sessionID: string): INullResponseData;
|
||||
sendFriendRequest(url: string, request: IFriendRequestData, sessionID: string): IGetBodyResponseData<IFriendRequestSendResponse>;
|
||||
deleteFriend(url: string, request: IDeleteFriendRequest, sessionID: string): INullResponseData;
|
||||
sendMessage(url: string, request: ISendMessageRequest, sessionID: string): IGetBodyResponseData<number>;
|
||||
clearMail(url: string, request: IClearMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
removeMail(url: string, request: IRemoveMailMessageRequest, sessionID: string): IGetBodyResponseData<any[]>;
|
||||
onUpdate(timeSinceLastRun: number): Promise<boolean>;
|
||||
getRoute(): string;
|
||||
}
|
||||
|
@ -3,6 +3,9 @@ import { IEmptyRequestData } from "../models/eft/common/IEmptyRequestData";
|
||||
import { IPmcData } from "../models/eft/common/IPmcData";
|
||||
import { IGetBodyResponseData } from "../models/eft/httpResponse/IGetBodyResponseData";
|
||||
import { INullResponseData } from "../models/eft/httpResponse/INullResponseData";
|
||||
import { IAcceptGroupInviteRequest } from "../models/eft/match/IAcceptGroupInviteRequest";
|
||||
import { IAcceptGroupInviteResponse } from "../models/eft/match/IAcceptGroupInviteResponse";
|
||||
import { ICancelGroupInviteRequest } from "../models/eft/match/ICancelGroupInviteRequest";
|
||||
import { ICreateGroupRequestData } from "../models/eft/match/ICreateGroupRequestData";
|
||||
import { IEndOfflineRaidRequestData } from "../models/eft/match/IEndOfflineRaidRequestData";
|
||||
import { IGetGroupStatusRequestData } from "../models/eft/match/IGetGroupStatusRequestData";
|
||||
@ -11,6 +14,8 @@ import { IGetRaidConfigurationRequestData } from "../models/eft/match/IGetRaidCo
|
||||
import { IJoinMatchRequestData } from "../models/eft/match/IJoinMatchRequestData";
|
||||
import { IJoinMatchResult } from "../models/eft/match/IJoinMatchResult";
|
||||
import { IPutMetricsRequestData } from "../models/eft/match/IPutMetricsRequestData";
|
||||
import { IRemovePlayerFromGroupRequest } from "../models/eft/match/IRemovePlayerFromGroupRequest";
|
||||
import { ISendGroupInviteRequest } from "../models/eft/match/ISendGroupInviteRequest";
|
||||
import { IUpdatePingRequestData } from "../models/eft/match/IUpdatePingRequestData";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { HttpResponseUtil } from "../utils/HttpResponseUtil";
|
||||
@ -26,9 +31,12 @@ export declare class MatchCallbacks {
|
||||
exitToMenu(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
startGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
stopGroupSearch(url: string, info: IEmptyRequestData, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
acceptGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
cancelGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
sendGroupInvite(url: string, info: ISendGroupInviteRequest, sessionID: string): IGetBodyResponseData<string>;
|
||||
/** Handle client/match/group/invite/accept */
|
||||
acceptGroupInvite(url: string, info: IAcceptGroupInviteRequest, sessionID: string): IGetBodyResponseData<IAcceptGroupInviteResponse[]>;
|
||||
/** Handle client/match/group/invite/cancel */
|
||||
cancelGroupInvite(url: string, info: ICancelGroupInviteRequest, sessionID: string): IGetBodyResponseData<boolean>;
|
||||
cancelAllGroupInvite(url: string, info: any, sessionID: string): INullResponseData;
|
||||
putMetrics(url: string, info: IPutMetricsRequestData, sessionID: string): INullResponseData;
|
||||
getProfile(url: string, info: IGetProfileRequestData, sessionID: string): IGetBodyResponseData<IPmcData[]>;
|
||||
serverAvailable(url: string, info: IEmptyRequestData, sessionID: string): IGetBodyResponseData<any> | IGetBodyResponseData<true>;
|
||||
@ -41,6 +49,7 @@ export declare class MatchCallbacks {
|
||||
getGroupStatus(url: string, info: IGetGroupStatusRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
createGroup(url: string, info: ICreateGroupRequestData, sessionID: string): IGetBodyResponseData<any>;
|
||||
deleteGroup(url: string, info: any, sessionID: string): INullResponseData;
|
||||
removePlayerFromGroup(url: string, info: IRemovePlayerFromGroupRequest, sessionID: string): INullResponseData;
|
||||
endOfflineRaid(url: string, info: IEndOfflineRaidRequestData, sessionID: string): INullResponseData;
|
||||
getRaidConfiguration(url: string, info: IGetRaidConfigurationRequestData, sessionID: string): INullResponseData;
|
||||
}
|
||||
|
@ -2,7 +2,7 @@ import { DialogueHelper } from "../helpers/DialogueHelper";
|
||||
import { IGetAllAttachmentsResponse } from "../models/eft/dialog/IGetAllAttachmentsResponse";
|
||||
import { IGetFriendListDataResponse } from "../models/eft/dialog/IGetFriendListDataResponse";
|
||||
import { IGetMailDialogViewResponseData } from "../models/eft/dialog/IGetMailDialogViewResponseData";
|
||||
import { DialogueInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { DialogueInfo, IAkiProfile, IUserDialogInfo, Message } from "../models/eft/profile/IAkiProfile";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
export declare class DialogueController {
|
||||
@ -35,6 +35,7 @@ export declare class DialogueController {
|
||||
* @returns IGetMailDialogViewResponseData object
|
||||
*/
|
||||
generateDialogueView(dialogueID: string, sessionID: string): IGetMailDialogViewResponseData;
|
||||
protected getProfilesForMail(pmcProfile: IAkiProfile, dialogUsers: IUserDialogInfo[]): IUserDialogInfo[];
|
||||
/**
|
||||
* Get a count of messages with attachments from a particular dialog
|
||||
* @param sessionID Session id
|
||||
|
@ -3,6 +3,7 @@ import { PlayerScavGenerator } from "../generators/PlayerScavGenerator";
|
||||
import { HealthHelper } from "../helpers/HealthHelper";
|
||||
import { InRaidHelper } from "../helpers/InRaidHelper";
|
||||
import { ItemHelper } from "../helpers/ItemHelper";
|
||||
import { NotificationSendHelper } from "../helpers/NotificationSendHelper";
|
||||
import { ProfileHelper } from "../helpers/ProfileHelper";
|
||||
import { QuestHelper } from "../helpers/QuestHelper";
|
||||
import { TraderHelper } from "../helpers/TraderHelper";
|
||||
@ -17,6 +18,8 @@ import { ConfigServer } from "../servers/ConfigServer";
|
||||
import { DatabaseServer } from "../servers/DatabaseServer";
|
||||
import { SaveServer } from "../servers/SaveServer";
|
||||
import { InsuranceService } from "../services/InsuranceService";
|
||||
import { LocaleService } from "../services/LocaleService";
|
||||
import { PmcChatResponseService } from "../services/PmcChatResponseService";
|
||||
import { JsonUtil } from "../utils/JsonUtil";
|
||||
import { TimeUtil } from "../utils/TimeUtil";
|
||||
/**
|
||||
@ -28,10 +31,13 @@ export declare class InraidController {
|
||||
protected jsonUtil: JsonUtil;
|
||||
protected timeUtil: TimeUtil;
|
||||
protected databaseServer: DatabaseServer;
|
||||
protected localeService: LocaleService;
|
||||
protected pmcChatResponseService: PmcChatResponseService;
|
||||
protected questHelper: QuestHelper;
|
||||
protected itemHelper: ItemHelper;
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected playerScavGenerator: PlayerScavGenerator;
|
||||
protected notificationSendHelper: NotificationSendHelper;
|
||||
protected healthHelper: HealthHelper;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected insuranceService: InsuranceService;
|
||||
@ -40,7 +46,7 @@ export declare class InraidController {
|
||||
protected configServer: ConfigServer;
|
||||
protected airdropConfig: IAirdropConfig;
|
||||
protected inraidConfig: IInRaidConfig;
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
constructor(logger: ILogger, saveServer: SaveServer, jsonUtil: JsonUtil, timeUtil: TimeUtil, databaseServer: DatabaseServer, localeService: LocaleService, pmcChatResponseService: PmcChatResponseService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, notificationSendHelper: NotificationSendHelper, healthHelper: HealthHelper, traderHelper: TraderHelper, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer);
|
||||
/**
|
||||
* Save locationId to active profiles inraid object AND app context
|
||||
* @param sessionID Session id
|
||||
@ -89,6 +95,7 @@ export declare class InraidController {
|
||||
* @param offraidData post-raid data of raid
|
||||
*/
|
||||
protected savePlayerScavProgress(sessionID: string, offraidData: ISaveProgressRequestData): void;
|
||||
protected sendLostInsuranceMessage(sessionID: string): void;
|
||||
/**
|
||||
* Is the player dead after a raid - dead is anything other than "survived" / "runner"
|
||||
* @param statusOnExit exit value from offraidData object
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user