diff --git a/README.md b/README.md index d6c1322..664d400 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/TypeScript/10ScopesAndTypes/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/10ScopesAndTypes/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/10ScopesAndTypes/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/10ScopesAndTypes/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/10ScopesAndTypes/types/controllers/ProfileController.d.ts b/TypeScript/10ScopesAndTypes/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/10ScopesAndTypes/types/controllers/ProfileController.d.ts +++ b/TypeScript/10ScopesAndTypes/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/10ScopesAndTypes/types/controllers/QuestController.d.ts b/TypeScript/10ScopesAndTypes/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/10ScopesAndTypes/types/controllers/QuestController.d.ts +++ b/TypeScript/10ScopesAndTypes/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/10ScopesAndTypes/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/10ScopesAndTypes/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/10ScopesAndTypes/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/10ScopesAndTypes/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/10ScopesAndTypes/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/10ScopesAndTypes/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/10ScopesAndTypes/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/10ScopesAndTypes/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/10ScopesAndTypes/types/helpers/QuestHelper.d.ts b/TypeScript/10ScopesAndTypes/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/10ScopesAndTypes/types/helpers/QuestHelper.d.ts +++ b/TypeScript/10ScopesAndTypes/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/10ScopesAndTypes/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/10ScopesAndTypes/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/10ScopesAndTypes/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/10ScopesAndTypes/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/10ScopesAndTypes/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/10ScopesAndTypes/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/10ScopesAndTypes/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/10ScopesAndTypes/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/10ScopesAndTypes/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/10ScopesAndTypes/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/10ScopesAndTypes/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/10ScopesAndTypes/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/11BundleLoadingSample/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/11BundleLoadingSample/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/11BundleLoadingSample/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/11BundleLoadingSample/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/11BundleLoadingSample/types/controllers/ProfileController.d.ts b/TypeScript/11BundleLoadingSample/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/11BundleLoadingSample/types/controllers/ProfileController.d.ts +++ b/TypeScript/11BundleLoadingSample/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/11BundleLoadingSample/types/controllers/QuestController.d.ts b/TypeScript/11BundleLoadingSample/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/11BundleLoadingSample/types/controllers/QuestController.d.ts +++ b/TypeScript/11BundleLoadingSample/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/11BundleLoadingSample/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/11BundleLoadingSample/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/11BundleLoadingSample/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/11BundleLoadingSample/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/11BundleLoadingSample/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/11BundleLoadingSample/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/11BundleLoadingSample/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/11BundleLoadingSample/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/11BundleLoadingSample/types/helpers/QuestHelper.d.ts b/TypeScript/11BundleLoadingSample/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/11BundleLoadingSample/types/helpers/QuestHelper.d.ts +++ b/TypeScript/11BundleLoadingSample/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/11BundleLoadingSample/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/11BundleLoadingSample/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/11BundleLoadingSample/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/11BundleLoadingSample/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/11BundleLoadingSample/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/11BundleLoadingSample/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/11BundleLoadingSample/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/11BundleLoadingSample/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/11BundleLoadingSample/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/11BundleLoadingSample/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/11BundleLoadingSample/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/11BundleLoadingSample/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/12ClassExtensionOverride/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/12ClassExtensionOverride/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/12ClassExtensionOverride/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/12ClassExtensionOverride/types/controllers/ProfileController.d.ts b/TypeScript/12ClassExtensionOverride/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/12ClassExtensionOverride/types/controllers/ProfileController.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/12ClassExtensionOverride/types/controllers/QuestController.d.ts b/TypeScript/12ClassExtensionOverride/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/12ClassExtensionOverride/types/controllers/QuestController.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/12ClassExtensionOverride/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/12ClassExtensionOverride/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/12ClassExtensionOverride/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/12ClassExtensionOverride/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/12ClassExtensionOverride/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/12ClassExtensionOverride/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/12ClassExtensionOverride/types/helpers/QuestHelper.d.ts b/TypeScript/12ClassExtensionOverride/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/12ClassExtensionOverride/types/helpers/QuestHelper.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/12ClassExtensionOverride/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/12ClassExtensionOverride/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/12ClassExtensionOverride/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/12ClassExtensionOverride/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/12ClassExtensionOverride/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/12ClassExtensionOverride/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/12ClassExtensionOverride/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/12ClassExtensionOverride/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/12ClassExtensionOverride/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/13.1AddTraderWithAssortJSON/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/13.1AddTraderWithAssortJSON/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/13.1AddTraderWithAssortJSON/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/13.1AddTraderWithAssortJSON/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/13.1AddTraderWithAssortJSON/types/controllers/ProfileController.d.ts b/TypeScript/13.1AddTraderWithAssortJSON/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/13.1AddTraderWithAssortJSON/types/controllers/ProfileController.d.ts +++ b/TypeScript/13.1AddTraderWithAssortJSON/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/13.1AddTraderWithAssortJSON/types/controllers/QuestController.d.ts b/TypeScript/13.1AddTraderWithAssortJSON/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/13.1AddTraderWithAssortJSON/types/controllers/QuestController.d.ts +++ b/TypeScript/13.1AddTraderWithAssortJSON/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/QuestHelper.d.ts b/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/QuestHelper.d.ts +++ b/TypeScript/13.1AddTraderWithAssortJSON/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/13.1AddTraderWithAssortJSON/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/13.1AddTraderWithAssortJSON/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/13.1AddTraderWithAssortJSON/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/13.1AddTraderWithAssortJSON/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/13.1AddTraderWithAssortJSON/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/13.1AddTraderWithAssortJSON/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/13.1AddTraderWithAssortJSON/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/13.1AddTraderWithAssortJSON/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/13.1AddTraderWithAssortJSON/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/13.1AddTraderWithAssortJSON/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/13.1AddTraderWithAssortJSON/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/13.1AddTraderWithAssortJSON/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/13AddTrader/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/13AddTrader/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/13AddTrader/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/13AddTrader/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/13AddTrader/types/controllers/ProfileController.d.ts b/TypeScript/13AddTrader/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/13AddTrader/types/controllers/ProfileController.d.ts +++ b/TypeScript/13AddTrader/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/13AddTrader/types/controllers/QuestController.d.ts b/TypeScript/13AddTrader/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/13AddTrader/types/controllers/QuestController.d.ts +++ b/TypeScript/13AddTrader/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/13AddTrader/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/13AddTrader/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/13AddTrader/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/13AddTrader/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/13AddTrader/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/13AddTrader/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/13AddTrader/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/13AddTrader/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/13AddTrader/types/helpers/QuestHelper.d.ts b/TypeScript/13AddTrader/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/13AddTrader/types/helpers/QuestHelper.d.ts +++ b/TypeScript/13AddTrader/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/13AddTrader/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/13AddTrader/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/13AddTrader/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/13AddTrader/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/13AddTrader/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/13AddTrader/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/13AddTrader/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/13AddTrader/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/13AddTrader/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/13AddTrader/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/13AddTrader/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/14AfterDBLoadHook/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/14AfterDBLoadHook/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/14AfterDBLoadHook/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/14AfterDBLoadHook/types/controllers/ProfileController.d.ts b/TypeScript/14AfterDBLoadHook/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/14AfterDBLoadHook/types/controllers/ProfileController.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/14AfterDBLoadHook/types/controllers/QuestController.d.ts b/TypeScript/14AfterDBLoadHook/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/14AfterDBLoadHook/types/controllers/QuestController.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/14AfterDBLoadHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/14AfterDBLoadHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/14AfterDBLoadHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/14AfterDBLoadHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/14AfterDBLoadHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/14AfterDBLoadHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/14AfterDBLoadHook/types/helpers/QuestHelper.d.ts b/TypeScript/14AfterDBLoadHook/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/14AfterDBLoadHook/types/helpers/QuestHelper.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/14AfterDBLoadHook/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/14AfterDBLoadHook/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/14AfterDBLoadHook/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/14AfterDBLoadHook/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/14AfterDBLoadHook/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/14AfterDBLoadHook/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/14AfterDBLoadHook/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/14AfterDBLoadHook/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/14AfterDBLoadHook/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/15HttpListenerExample/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/15HttpListenerExample/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/15HttpListenerExample/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/15HttpListenerExample/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/15HttpListenerExample/types/controllers/ProfileController.d.ts b/TypeScript/15HttpListenerExample/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/15HttpListenerExample/types/controllers/ProfileController.d.ts +++ b/TypeScript/15HttpListenerExample/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/15HttpListenerExample/types/controllers/QuestController.d.ts b/TypeScript/15HttpListenerExample/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/15HttpListenerExample/types/controllers/QuestController.d.ts +++ b/TypeScript/15HttpListenerExample/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/15HttpListenerExample/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/15HttpListenerExample/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/15HttpListenerExample/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/15HttpListenerExample/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/15HttpListenerExample/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/15HttpListenerExample/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/15HttpListenerExample/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/15HttpListenerExample/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/15HttpListenerExample/types/helpers/QuestHelper.d.ts b/TypeScript/15HttpListenerExample/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/15HttpListenerExample/types/helpers/QuestHelper.d.ts +++ b/TypeScript/15HttpListenerExample/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/15HttpListenerExample/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/15HttpListenerExample/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/15HttpListenerExample/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/15HttpListenerExample/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/15HttpListenerExample/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/15HttpListenerExample/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/15HttpListenerExample/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/15HttpListenerExample/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/15HttpListenerExample/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/15HttpListenerExample/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/15HttpListenerExample/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/15HttpListenerExample/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/16ImporterUtil/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/16ImporterUtil/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/16ImporterUtil/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/16ImporterUtil/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/16ImporterUtil/types/controllers/ProfileController.d.ts b/TypeScript/16ImporterUtil/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/16ImporterUtil/types/controllers/ProfileController.d.ts +++ b/TypeScript/16ImporterUtil/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/16ImporterUtil/types/controllers/QuestController.d.ts b/TypeScript/16ImporterUtil/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/16ImporterUtil/types/controllers/QuestController.d.ts +++ b/TypeScript/16ImporterUtil/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/16ImporterUtil/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/16ImporterUtil/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/16ImporterUtil/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/16ImporterUtil/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/16ImporterUtil/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/16ImporterUtil/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/16ImporterUtil/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/16ImporterUtil/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/16ImporterUtil/types/helpers/QuestHelper.d.ts b/TypeScript/16ImporterUtil/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/16ImporterUtil/types/helpers/QuestHelper.d.ts +++ b/TypeScript/16ImporterUtil/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/16ImporterUtil/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/16ImporterUtil/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/16ImporterUtil/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/16ImporterUtil/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/16ImporterUtil/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/16ImporterUtil/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/16ImporterUtil/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/16ImporterUtil/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/16ImporterUtil/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/16ImporterUtil/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/16ImporterUtil/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/16ImporterUtil/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/17AsyncImporterWithDependency1/types/controllers/ProfileController.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/controllers/ProfileController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/17AsyncImporterWithDependency1/types/controllers/QuestController.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/controllers/QuestController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/17AsyncImporterWithDependency1/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/helpers/QuestHelper.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/helpers/QuestHelper.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/17AsyncImporterWithDependency2/types/controllers/ProfileController.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/controllers/ProfileController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/17AsyncImporterWithDependency2/types/controllers/QuestController.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/controllers/QuestController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/17AsyncImporterWithDependency2/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/helpers/QuestHelper.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/helpers/QuestHelper.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/18.1CustomItemServiceLootBox/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/18.1CustomItemServiceLootBox/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/18.1CustomItemServiceLootBox/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/18.1CustomItemServiceLootBox/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/18.1CustomItemServiceLootBox/types/controllers/ProfileController.d.ts b/TypeScript/18.1CustomItemServiceLootBox/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/18.1CustomItemServiceLootBox/types/controllers/ProfileController.d.ts +++ b/TypeScript/18.1CustomItemServiceLootBox/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/18.1CustomItemServiceLootBox/types/controllers/QuestController.d.ts b/TypeScript/18.1CustomItemServiceLootBox/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/18.1CustomItemServiceLootBox/types/controllers/QuestController.d.ts +++ b/TypeScript/18.1CustomItemServiceLootBox/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/18.1CustomItemServiceLootBox/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/18.1CustomItemServiceLootBox/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/18.1CustomItemServiceLootBox/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/18.1CustomItemServiceLootBox/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/18.1CustomItemServiceLootBox/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/18.1CustomItemServiceLootBox/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/18.1CustomItemServiceLootBox/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/18.1CustomItemServiceLootBox/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/18.1CustomItemServiceLootBox/types/helpers/QuestHelper.d.ts b/TypeScript/18.1CustomItemServiceLootBox/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/18.1CustomItemServiceLootBox/types/helpers/QuestHelper.d.ts +++ b/TypeScript/18.1CustomItemServiceLootBox/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/18.1CustomItemServiceLootBox/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/18.1CustomItemServiceLootBox/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/18.1CustomItemServiceLootBox/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/18.1CustomItemServiceLootBox/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/18.1CustomItemServiceLootBox/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/18.1CustomItemServiceLootBox/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/18.1CustomItemServiceLootBox/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/18.1CustomItemServiceLootBox/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/18.1CustomItemServiceLootBox/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/18.1CustomItemServiceLootBox/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/18.1CustomItemServiceLootBox/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/18.1CustomItemServiceLootBox/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/18CustomItemService/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/18CustomItemService/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/18CustomItemService/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/18CustomItemService/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/18CustomItemService/types/controllers/ProfileController.d.ts b/TypeScript/18CustomItemService/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/18CustomItemService/types/controllers/ProfileController.d.ts +++ b/TypeScript/18CustomItemService/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/18CustomItemService/types/controllers/QuestController.d.ts b/TypeScript/18CustomItemService/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/18CustomItemService/types/controllers/QuestController.d.ts +++ b/TypeScript/18CustomItemService/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/18CustomItemService/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/18CustomItemService/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/18CustomItemService/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/18CustomItemService/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/18CustomItemService/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/18CustomItemService/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/18CustomItemService/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/18CustomItemService/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/18CustomItemService/types/helpers/QuestHelper.d.ts b/TypeScript/18CustomItemService/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/18CustomItemService/types/helpers/QuestHelper.d.ts +++ b/TypeScript/18CustomItemService/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/18CustomItemService/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/18CustomItemService/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/18CustomItemService/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/18CustomItemService/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/18CustomItemService/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/18CustomItemService/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/18CustomItemService/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/18CustomItemService/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/18CustomItemService/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/18CustomItemService/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/18CustomItemService/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/18CustomItemService/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/19UseExternalLibraries/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/19UseExternalLibraries/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/19UseExternalLibraries/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/19UseExternalLibraries/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/19UseExternalLibraries/types/controllers/ProfileController.d.ts b/TypeScript/19UseExternalLibraries/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/19UseExternalLibraries/types/controllers/ProfileController.d.ts +++ b/TypeScript/19UseExternalLibraries/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/19UseExternalLibraries/types/controllers/QuestController.d.ts b/TypeScript/19UseExternalLibraries/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/19UseExternalLibraries/types/controllers/QuestController.d.ts +++ b/TypeScript/19UseExternalLibraries/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/19UseExternalLibraries/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/19UseExternalLibraries/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/19UseExternalLibraries/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/19UseExternalLibraries/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/19UseExternalLibraries/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/19UseExternalLibraries/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/19UseExternalLibraries/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/19UseExternalLibraries/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/19UseExternalLibraries/types/helpers/QuestHelper.d.ts b/TypeScript/19UseExternalLibraries/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/19UseExternalLibraries/types/helpers/QuestHelper.d.ts +++ b/TypeScript/19UseExternalLibraries/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/19UseExternalLibraries/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/19UseExternalLibraries/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/19UseExternalLibraries/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/19UseExternalLibraries/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/19UseExternalLibraries/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/19UseExternalLibraries/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/19UseExternalLibraries/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/19UseExternalLibraries/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/19UseExternalLibraries/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/19UseExternalLibraries/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/19UseExternalLibraries/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/19UseExternalLibraries/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/1LogToConsole/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/1LogToConsole/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/1LogToConsole/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/1LogToConsole/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/1LogToConsole/types/controllers/ProfileController.d.ts b/TypeScript/1LogToConsole/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/1LogToConsole/types/controllers/ProfileController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/1LogToConsole/types/controllers/QuestController.d.ts b/TypeScript/1LogToConsole/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/1LogToConsole/types/controllers/QuestController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/1LogToConsole/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/1LogToConsole/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/1LogToConsole/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/1LogToConsole/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/1LogToConsole/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/1LogToConsole/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/1LogToConsole/types/helpers/QuestHelper.d.ts b/TypeScript/1LogToConsole/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/1LogToConsole/types/helpers/QuestHelper.d.ts +++ b/TypeScript/1LogToConsole/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/1LogToConsole/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/1LogToConsole/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/1LogToConsole/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/1LogToConsole/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/1LogToConsole/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/1LogToConsole/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/1LogToConsole/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/1LogToConsole/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/1LogToConsole/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/1LogToConsole/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/1LogToConsole/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/20CustomChatBot/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/20CustomChatBot/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/20CustomChatBot/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/20CustomChatBot/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/20CustomChatBot/types/controllers/ProfileController.d.ts b/TypeScript/20CustomChatBot/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/20CustomChatBot/types/controllers/ProfileController.d.ts +++ b/TypeScript/20CustomChatBot/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/20CustomChatBot/types/controllers/QuestController.d.ts b/TypeScript/20CustomChatBot/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/20CustomChatBot/types/controllers/QuestController.d.ts +++ b/TypeScript/20CustomChatBot/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/20CustomChatBot/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/20CustomChatBot/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/20CustomChatBot/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/20CustomChatBot/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/20CustomChatBot/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/20CustomChatBot/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/20CustomChatBot/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/20CustomChatBot/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/20CustomChatBot/types/helpers/QuestHelper.d.ts b/TypeScript/20CustomChatBot/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/20CustomChatBot/types/helpers/QuestHelper.d.ts +++ b/TypeScript/20CustomChatBot/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/20CustomChatBot/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/20CustomChatBot/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/20CustomChatBot/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/20CustomChatBot/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/20CustomChatBot/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/20CustomChatBot/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/20CustomChatBot/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/20CustomChatBot/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/20CustomChatBot/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/20CustomChatBot/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/20CustomChatBot/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/20CustomChatBot/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/21CustomCommandoCommand/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/21CustomCommandoCommand/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/21CustomCommandoCommand/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/21CustomCommandoCommand/types/controllers/ProfileController.d.ts b/TypeScript/21CustomCommandoCommand/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/21CustomCommandoCommand/types/controllers/ProfileController.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/21CustomCommandoCommand/types/controllers/QuestController.d.ts b/TypeScript/21CustomCommandoCommand/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/21CustomCommandoCommand/types/controllers/QuestController.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/21CustomCommandoCommand/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/21CustomCommandoCommand/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/21CustomCommandoCommand/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/21CustomCommandoCommand/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/21CustomCommandoCommand/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/21CustomCommandoCommand/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/21CustomCommandoCommand/types/helpers/QuestHelper.d.ts b/TypeScript/21CustomCommandoCommand/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/21CustomCommandoCommand/types/helpers/QuestHelper.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/21CustomCommandoCommand/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/21CustomCommandoCommand/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/21CustomCommandoCommand/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/21CustomCommandoCommand/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/21CustomCommandoCommand/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/21CustomCommandoCommand/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/21CustomCommandoCommand/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/21CustomCommandoCommand/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/21CustomCommandoCommand/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/22CustomAkiCommand/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/22CustomAkiCommand/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/22CustomAkiCommand/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/22CustomAkiCommand/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/22CustomAkiCommand/types/controllers/ProfileController.d.ts b/TypeScript/22CustomAkiCommand/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/22CustomAkiCommand/types/controllers/ProfileController.d.ts +++ b/TypeScript/22CustomAkiCommand/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/22CustomAkiCommand/types/controllers/QuestController.d.ts b/TypeScript/22CustomAkiCommand/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/22CustomAkiCommand/types/controllers/QuestController.d.ts +++ b/TypeScript/22CustomAkiCommand/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/22CustomAkiCommand/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/22CustomAkiCommand/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/22CustomAkiCommand/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/22CustomAkiCommand/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/22CustomAkiCommand/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/22CustomAkiCommand/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/22CustomAkiCommand/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/22CustomAkiCommand/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/22CustomAkiCommand/types/helpers/QuestHelper.d.ts b/TypeScript/22CustomAkiCommand/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/22CustomAkiCommand/types/helpers/QuestHelper.d.ts +++ b/TypeScript/22CustomAkiCommand/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/22CustomAkiCommand/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/22CustomAkiCommand/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/22CustomAkiCommand/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/22CustomAkiCommand/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/22CustomAkiCommand/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/22CustomAkiCommand/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/22CustomAkiCommand/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/22CustomAkiCommand/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/22CustomAkiCommand/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/22CustomAkiCommand/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/22CustomAkiCommand/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/22CustomAkiCommand/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/2EditDatabase/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/2EditDatabase/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/2EditDatabase/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/2EditDatabase/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/2EditDatabase/types/controllers/ProfileController.d.ts b/TypeScript/2EditDatabase/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/2EditDatabase/types/controllers/ProfileController.d.ts +++ b/TypeScript/2EditDatabase/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/2EditDatabase/types/controllers/QuestController.d.ts b/TypeScript/2EditDatabase/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/2EditDatabase/types/controllers/QuestController.d.ts +++ b/TypeScript/2EditDatabase/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/2EditDatabase/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/2EditDatabase/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/2EditDatabase/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/2EditDatabase/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/2EditDatabase/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/2EditDatabase/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/2EditDatabase/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/2EditDatabase/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/2EditDatabase/types/helpers/QuestHelper.d.ts b/TypeScript/2EditDatabase/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/2EditDatabase/types/helpers/QuestHelper.d.ts +++ b/TypeScript/2EditDatabase/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/2EditDatabase/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/2EditDatabase/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/2EditDatabase/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/2EditDatabase/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/2EditDatabase/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/2EditDatabase/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/2EditDatabase/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/2EditDatabase/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/2EditDatabase/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/2EditDatabase/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/2EditDatabase/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/2EditDatabase/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/3GetSptConfigFile/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/3GetSptConfigFile/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/3GetSptConfigFile/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/3GetSptConfigFile/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/3GetSptConfigFile/types/controllers/ProfileController.d.ts b/TypeScript/3GetSptConfigFile/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/3GetSptConfigFile/types/controllers/ProfileController.d.ts +++ b/TypeScript/3GetSptConfigFile/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/3GetSptConfigFile/types/controllers/QuestController.d.ts b/TypeScript/3GetSptConfigFile/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/3GetSptConfigFile/types/controllers/QuestController.d.ts +++ b/TypeScript/3GetSptConfigFile/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/3GetSptConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/3GetSptConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/3GetSptConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/3GetSptConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/3GetSptConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/3GetSptConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/3GetSptConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/3GetSptConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/3GetSptConfigFile/types/helpers/QuestHelper.d.ts b/TypeScript/3GetSptConfigFile/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/3GetSptConfigFile/types/helpers/QuestHelper.d.ts +++ b/TypeScript/3GetSptConfigFile/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/3GetSptConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/3GetSptConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/3GetSptConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/3GetSptConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/3GetSptConfigFile/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/3GetSptConfigFile/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/3GetSptConfigFile/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/3GetSptConfigFile/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/3GetSptConfigFile/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/3GetSptConfigFile/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/3GetSptConfigFile/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/3GetSptConfigFile/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/ProfileController.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/ProfileController.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/QuestController.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/QuestController.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/QuestHelper.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/QuestHelper.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/4UseACustomConfigFile/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/4UseACustomConfigFile/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/4UseACustomConfigFile/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/4UseACustomConfigFile/types/controllers/ProfileController.d.ts b/TypeScript/4UseACustomConfigFile/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/4UseACustomConfigFile/types/controllers/ProfileController.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/4UseACustomConfigFile/types/controllers/QuestController.d.ts b/TypeScript/4UseACustomConfigFile/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/4UseACustomConfigFile/types/controllers/QuestController.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/4UseACustomConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/4UseACustomConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/4UseACustomConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/4UseACustomConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/4UseACustomConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/4UseACustomConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/4UseACustomConfigFile/types/helpers/QuestHelper.d.ts b/TypeScript/4UseACustomConfigFile/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/4UseACustomConfigFile/types/helpers/QuestHelper.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/4UseACustomConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/4UseACustomConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/4UseACustomConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/4UseACustomConfigFile/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/4UseACustomConfigFile/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/4UseACustomConfigFile/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/4UseACustomConfigFile/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/4UseACustomConfigFile/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/4UseACustomConfigFile/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/5ReplaceMethod/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/5ReplaceMethod/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/5ReplaceMethod/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/5ReplaceMethod/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/5ReplaceMethod/types/controllers/ProfileController.d.ts b/TypeScript/5ReplaceMethod/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/5ReplaceMethod/types/controllers/ProfileController.d.ts +++ b/TypeScript/5ReplaceMethod/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/5ReplaceMethod/types/controllers/QuestController.d.ts b/TypeScript/5ReplaceMethod/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/5ReplaceMethod/types/controllers/QuestController.d.ts +++ b/TypeScript/5ReplaceMethod/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/5ReplaceMethod/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/5ReplaceMethod/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/5ReplaceMethod/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/5ReplaceMethod/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/5ReplaceMethod/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/5ReplaceMethod/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/5ReplaceMethod/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/5ReplaceMethod/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/5ReplaceMethod/types/helpers/QuestHelper.d.ts b/TypeScript/5ReplaceMethod/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/5ReplaceMethod/types/helpers/QuestHelper.d.ts +++ b/TypeScript/5ReplaceMethod/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/5ReplaceMethod/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/5ReplaceMethod/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/5ReplaceMethod/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/5ReplaceMethod/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/5ReplaceMethod/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/5ReplaceMethod/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/5ReplaceMethod/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/5ReplaceMethod/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/5ReplaceMethod/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/5ReplaceMethod/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/5ReplaceMethod/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/5ReplaceMethod/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/6ReferenceAnotherClass/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/6ReferenceAnotherClass/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/6ReferenceAnotherClass/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/6ReferenceAnotherClass/types/controllers/ProfileController.d.ts b/TypeScript/6ReferenceAnotherClass/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/6ReferenceAnotherClass/types/controllers/ProfileController.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/6ReferenceAnotherClass/types/controllers/QuestController.d.ts b/TypeScript/6ReferenceAnotherClass/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/6ReferenceAnotherClass/types/controllers/QuestController.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/6ReferenceAnotherClass/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/6ReferenceAnotherClass/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/6ReferenceAnotherClass/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/6ReferenceAnotherClass/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/6ReferenceAnotherClass/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/6ReferenceAnotherClass/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/6ReferenceAnotherClass/types/helpers/QuestHelper.d.ts b/TypeScript/6ReferenceAnotherClass/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/6ReferenceAnotherClass/types/helpers/QuestHelper.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/6ReferenceAnotherClass/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/6ReferenceAnotherClass/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/6ReferenceAnotherClass/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/6ReferenceAnotherClass/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/6ReferenceAnotherClass/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/6ReferenceAnotherClass/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/7OnLoadHook/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/7OnLoadHook/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/7OnLoadHook/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/7OnLoadHook/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/7OnLoadHook/types/controllers/ProfileController.d.ts b/TypeScript/7OnLoadHook/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/7OnLoadHook/types/controllers/ProfileController.d.ts +++ b/TypeScript/7OnLoadHook/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/7OnLoadHook/types/controllers/QuestController.d.ts b/TypeScript/7OnLoadHook/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/7OnLoadHook/types/controllers/QuestController.d.ts +++ b/TypeScript/7OnLoadHook/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/7OnLoadHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/7OnLoadHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/7OnLoadHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/7OnLoadHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/7OnLoadHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/7OnLoadHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/7OnLoadHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/7OnLoadHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/7OnLoadHook/types/helpers/QuestHelper.d.ts b/TypeScript/7OnLoadHook/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/7OnLoadHook/types/helpers/QuestHelper.d.ts +++ b/TypeScript/7OnLoadHook/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/7OnLoadHook/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/7OnLoadHook/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/7OnLoadHook/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/7OnLoadHook/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/7OnLoadHook/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/7OnLoadHook/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/7OnLoadHook/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/7OnLoadHook/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/7OnLoadHook/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/7OnLoadHook/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/7OnLoadHook/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/7OnLoadHook/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/8OnUpdateHook/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/8OnUpdateHook/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/8OnUpdateHook/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/8OnUpdateHook/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/8OnUpdateHook/types/controllers/ProfileController.d.ts b/TypeScript/8OnUpdateHook/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/8OnUpdateHook/types/controllers/ProfileController.d.ts +++ b/TypeScript/8OnUpdateHook/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/8OnUpdateHook/types/controllers/QuestController.d.ts b/TypeScript/8OnUpdateHook/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/8OnUpdateHook/types/controllers/QuestController.d.ts +++ b/TypeScript/8OnUpdateHook/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/8OnUpdateHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/8OnUpdateHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/8OnUpdateHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/8OnUpdateHook/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/8OnUpdateHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/8OnUpdateHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/8OnUpdateHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/8OnUpdateHook/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/8OnUpdateHook/types/helpers/QuestHelper.d.ts b/TypeScript/8OnUpdateHook/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/8OnUpdateHook/types/helpers/QuestHelper.d.ts +++ b/TypeScript/8OnUpdateHook/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/8OnUpdateHook/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/8OnUpdateHook/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/8OnUpdateHook/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/8OnUpdateHook/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/8OnUpdateHook/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/8OnUpdateHook/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/8OnUpdateHook/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/8OnUpdateHook/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/8OnUpdateHook/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/8OnUpdateHook/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/8OnUpdateHook/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/8OnUpdateHook/types/models/spt/config/ICoreConfig.d.ts @@ -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; diff --git a/TypeScript/9RouterHooks/types/callbacks/ProfileCallbacks.d.ts b/TypeScript/9RouterHooks/types/callbacks/ProfileCallbacks.d.ts index 3db4ed8..ba35f5e 100644 --- a/TypeScript/9RouterHooks/types/callbacks/ProfileCallbacks.d.ts +++ b/TypeScript/9RouterHooks/types/callbacks/ProfileCallbacks.d.ts @@ -74,7 +74,7 @@ export declare class ProfileCallbacks { /** * Handle client/profile/settings */ - getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; + getProfileSettings(url: string, info: IGetProfileSettingsRequest, sessionId: string): IGetBodyResponseData; /** * Handle client/game/profile/search */ diff --git a/TypeScript/9RouterHooks/types/controllers/ProfileController.d.ts b/TypeScript/9RouterHooks/types/controllers/ProfileController.d.ts index c4a9314..e8dae73 100644 --- a/TypeScript/9RouterHooks/types/controllers/ProfileController.d.ts +++ b/TypeScript/9RouterHooks/types/controllers/ProfileController.d.ts @@ -122,5 +122,5 @@ export declare class ProfileController { /** * Handle client/profile/settings */ - setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): void; + setChosenProfileIcon(sessionId: string, request: IGetProfileSettingsRequest): boolean; } diff --git a/TypeScript/9RouterHooks/types/controllers/QuestController.d.ts b/TypeScript/9RouterHooks/types/controllers/QuestController.d.ts index 5a771ca..3cdce00 100644 --- a/TypeScript/9RouterHooks/types/controllers/QuestController.d.ts +++ b/TypeScript/9RouterHooks/types/controllers/QuestController.d.ts @@ -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 diff --git a/TypeScript/9RouterHooks/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts b/TypeScript/9RouterHooks/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts index 9817c5b..26bc935 100644 --- a/TypeScript/9RouterHooks/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts +++ b/TypeScript/9RouterHooks/types/helpers/Dialogue/AbstractDialogueChatBot.d.ts @@ -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; diff --git a/TypeScript/9RouterHooks/types/helpers/Dialogue/Commando/IChatCommand.d.ts b/TypeScript/9RouterHooks/types/helpers/Dialogue/Commando/IChatCommand.d.ts index 754fd08..dd53977 100644 --- a/TypeScript/9RouterHooks/types/helpers/Dialogue/Commando/IChatCommand.d.ts +++ b/TypeScript/9RouterHooks/types/helpers/Dialogue/Commando/IChatCommand.d.ts @@ -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; diff --git a/TypeScript/9RouterHooks/types/helpers/QuestHelper.d.ts b/TypeScript/9RouterHooks/types/helpers/QuestHelper.d.ts index 80f75bb..2b84b8f 100644 --- a/TypeScript/9RouterHooks/types/helpers/QuestHelper.d.ts +++ b/TypeScript/9RouterHooks/types/helpers/QuestHelper.d.ts @@ -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) diff --git a/TypeScript/9RouterHooks/types/models/eft/common/tables/ITemplateItem.d.ts b/TypeScript/9RouterHooks/types/models/eft/common/tables/ITemplateItem.d.ts index 5451a73..c5b2da3 100644 --- a/TypeScript/9RouterHooks/types/models/eft/common/tables/ITemplateItem.d.ts +++ b/TypeScript/9RouterHooks/types/models/eft/common/tables/ITemplateItem.d.ts @@ -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[]; diff --git a/TypeScript/9RouterHooks/types/models/eft/profile/ISptProfile.d.ts b/TypeScript/9RouterHooks/types/models/eft/profile/ISptProfile.d.ts index 946bc16..a8e742a 100644 --- a/TypeScript/9RouterHooks/types/models/eft/profile/ISptProfile.d.ts +++ b/TypeScript/9RouterHooks/types/models/eft/profile/ISptProfile.d.ts @@ -93,6 +93,7 @@ export interface IUserDialogDetails { Side: string; Level: number; MemberCategory: MemberCategory; + SelectedMemberCategory: MemberCategory; } export interface DialogueInfo { attachmentsNew: number; diff --git a/TypeScript/9RouterHooks/types/models/spt/config/ICoreConfig.d.ts b/TypeScript/9RouterHooks/types/models/spt/config/ICoreConfig.d.ts index 2ccaeca..6d086f7 100644 --- a/TypeScript/9RouterHooks/types/models/spt/config/ICoreConfig.d.ts +++ b/TypeScript/9RouterHooks/types/models/spt/config/ICoreConfig.d.ts @@ -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;