Updated to 3.9.1 #33
@ -1,4 +1,4 @@
|
||||
# Mod examples for v3.9.0
|
||||
# Mod examples for v3.9.1
|
||||
|
||||
A collection of example mods that perform typical actions in SPT
|
||||
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
@ -74,7 +74,7 @@ export declare class ProfileCallbacks {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<string>;
|
||||
getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData<boolean>;
|
||||
/**
|
||||
* Handle client/game/profile/search
|
||||
*/
|
||||
|
@ -122,5 +122,5 @@ export declare class ProfileController {
|
||||
/**
|
||||
* Handle client/profile/settings
|
||||
*/
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void;
|
||||
setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean;
|
||||
}
|
||||
|
@ -23,7 +23,6 @@ import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { PlayerService } from "@spt/services/PlayerService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HttpResponseUtil } from "@spt/utils/HttpResponseUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -42,12 +41,11 @@ export declare class QuestController {
|
||||
protected questConditionHelper: QuestConditionHelper;
|
||||
protected playerService: PlayerService;
|
||||
protected localeService: LocaleService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected localisationService: LocalisationService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, seasonalEventService: SeasonalEventService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, httpResponseUtil: HttpResponseUtil, eventOutputHolder: EventOutputHolder, databaseService: DatabaseService, itemHelper: ItemHelper, dialogueHelper: DialogueHelper, mailSendService: MailSendService, profileHelper: ProfileHelper, traderHelper: TraderHelper, questHelper: QuestHelper, questConditionHelper: QuestConditionHelper, playerService: PlayerService, localeService: LocaleService, localisationService: LocalisationService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Handle client/quest/list
|
||||
* Get all quests visible to player
|
||||
@ -63,12 +61,6 @@ export declare class QuestController {
|
||||
* @returns true if quest can be seen/accepted by player of defined level
|
||||
*/
|
||||
protected playerLevelFulfillsQuestRequirement(quest: IQuest, playerLevel: number): boolean;
|
||||
/**
|
||||
* Should a quest be shown to the player in trader quest screen
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
protected showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Handle QuestAccept event
|
||||
* Handle the client accepting a quest and starting it
|
||||
|
@ -1,4 +1,4 @@
|
||||
import { IChatCommand, ICommandoCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IChatCommand } from "@spt/helpers/Dialogue/Commando/IChatCommand";
|
||||
import { IDialogueChatBot } from "@spt/helpers/Dialogue/IDialogueChatBot";
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
@ -7,13 +7,9 @@ import { MailSendService } from "@spt/services/MailSendService";
|
||||
export declare abstract class AbstractDialogueChatBot implements IDialogueChatBot {
|
||||
protected logger: ILogger;
|
||||
protected mailSendService: MailSendService;
|
||||
protected chatCommands: IChatCommand[] | ICommandoCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[] | ICommandoCommand[]);
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use registerChatCommand.
|
||||
*/
|
||||
registerCommandoCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
registerChatCommand(chatCommand: IChatCommand | ICommandoCommand): void;
|
||||
protected chatCommands: IChatCommand[];
|
||||
constructor(logger: ILogger, mailSendService: MailSendService, chatCommands: IChatCommand[]);
|
||||
registerChatCommand(chatCommand: IChatCommand): void;
|
||||
abstract getChatBot(): IUserDialogInfo;
|
||||
protected abstract getUnrecognizedCommandMessage(): string;
|
||||
handleMessage(sessionId: string, request: ISendMessageRequest): string;
|
||||
|
@ -1,9 +1,5 @@
|
||||
import { ISendMessageRequest } from "@spt/models/eft/dialog/ISendMessageRequest";
|
||||
import { IUserDialogInfo } from "@spt/models/eft/profile/ISptProfile";
|
||||
/**
|
||||
* @deprecated As of v3.7.6. Use IChatCommand. Will be removed in v3.9.0.
|
||||
*/
|
||||
export type ICommandoCommand = IChatCommand;
|
||||
export interface IChatCommand {
|
||||
getCommandPrefix(): string;
|
||||
getCommandHelp(command: string): string;
|
||||
|
@ -22,6 +22,7 @@ import { DatabaseService } from "@spt/services/DatabaseService";
|
||||
import { LocaleService } from "@spt/services/LocaleService";
|
||||
import { LocalisationService } from "@spt/services/LocalisationService";
|
||||
import { MailSendService } from "@spt/services/MailSendService";
|
||||
import { SeasonalEventService } from "@spt/services/SeasonalEventService";
|
||||
import { ICloner } from "@spt/utils/cloners/ICloner";
|
||||
import { HashUtil } from "@spt/utils/HashUtil";
|
||||
import { TimeUtil } from "@spt/utils/TimeUtil";
|
||||
@ -39,13 +40,14 @@ export declare class QuestHelper {
|
||||
protected profileHelper: ProfileHelper;
|
||||
protected paymentHelper: PaymentHelper;
|
||||
protected localisationService: LocalisationService;
|
||||
protected seasonalEventService: SeasonalEventService;
|
||||
protected traderHelper: TraderHelper;
|
||||
protected presetHelper: PresetHelper;
|
||||
protected mailSendService: MailSendService;
|
||||
protected configServer: ConfigServer;
|
||||
protected cloner: ICloner;
|
||||
protected questConfig: IQuestConfig;
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
constructor(logger: ILogger, timeUtil: TimeUtil, hashUtil: HashUtil, itemHelper: ItemHelper, databaseService: DatabaseService, questConditionHelper: QuestConditionHelper, eventOutputHolder: EventOutputHolder, localeService: LocaleService, ragfairServerHelper: RagfairServerHelper, dialogueHelper: DialogueHelper, profileHelper: ProfileHelper, paymentHelper: PaymentHelper, localisationService: LocalisationService, seasonalEventService: SeasonalEventService, traderHelper: TraderHelper, presetHelper: PresetHelper, mailSendService: MailSendService, configServer: ConfigServer, cloner: ICloner);
|
||||
/**
|
||||
* Get status of a quest in player profile by its id
|
||||
* @param pmcData Profile to search
|
||||
@ -128,6 +130,12 @@ export declare class QuestHelper {
|
||||
* @returns Quests accessible to player incuding newly unlocked quests now quest (startedQuestId) was started
|
||||
*/
|
||||
getNewlyAccessibleQuestsWhenStartingQuest(startedQuestId: string, sessionID: string): IQuest[];
|
||||
/**
|
||||
* Should a seasonal/event quest be shown to the player
|
||||
* @param questId Quest to check
|
||||
* @returns true = show to player
|
||||
*/
|
||||
showEventQuestToPlayer(questId: string): boolean;
|
||||
/**
|
||||
* Is the quest for the opposite side the player is on
|
||||
* @param playerSide Player side (usec/bear)
|
||||
|
@ -462,6 +462,7 @@ export interface Slot {
|
||||
}
|
||||
export interface SlotProps {
|
||||
filters: SlotFilter[];
|
||||
MaxStackCount?: number;
|
||||
}
|
||||
export interface SlotFilter {
|
||||
Shift?: number;
|
||||
@ -479,7 +480,7 @@ export interface StackSlot {
|
||||
_max_count: number;
|
||||
_props: StackSlotProps;
|
||||
_proto: string;
|
||||
upd: any;
|
||||
upd?: any;
|
||||
}
|
||||
export interface StackSlotProps {
|
||||
filters: SlotFilter[];
|
||||
|
@ -93,6 +93,7 @@ export interface IUserDialogDetails {
|
||||
Side: string;
|
||||
Level: number;
|
||||
MemberCategory: MemberCategory;
|
||||
SelectedMemberCategory: MemberCategory;
|
||||
}
|
||||
export interface DialogueInfo {
|
||||
attachmentsNew: number;
|
||||
|
@ -62,6 +62,8 @@ export interface IServerFeatures {
|
||||
autoInstallModDependencies: boolean;
|
||||
compressProfile: boolean;
|
||||
chatbotFeatures: IChatbotFeatures;
|
||||
/** Keyed to profile type e.g. "Standard" or "SPT Developer" */
|
||||
createNewProfileTypesBlacklist: string[];
|
||||
}
|
||||
export interface IChatbotFeatures {
|
||||
sptFriendEnabled: boolean;
|
||||
|
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