From 30680f560be0a5ce7997aeb6d8c80182cf383f45 Mon Sep 17 00:00:00 2001 From: Dev Date: Fri, 5 Jul 2024 22:50:35 +0100 Subject: [PATCH] Update types --- .../10ScopesAndTypes/types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../10ScopesAndTypes/types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../13AddTrader/types/callbacks/InraidCallbacks.d.ts | 1 + .../13AddTrader/types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../13AddTrader/types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../14AfterDBLoadHook/types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../16ImporterUtil/types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../16ImporterUtil/types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../1LogToConsole/types/callbacks/InraidCallbacks.d.ts | 1 + .../1LogToConsole/types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../1LogToConsole/types/services/DatabaseService.d.ts | 2 +- .../20CustomChatBot/types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../20CustomChatBot/types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../2EditDatabase/types/callbacks/InraidCallbacks.d.ts | 1 + .../2EditDatabase/types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../2EditDatabase/types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../3GetSptConfigFile/types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../5ReplaceMethod/types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../5ReplaceMethod/types/services/DatabaseService.d.ts | 2 +- .../types/callbacks/InraidCallbacks.d.ts | 1 + .../types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../types/services/DatabaseService.d.ts | 2 +- .../7OnLoadHook/types/callbacks/InraidCallbacks.d.ts | 1 + .../7OnLoadHook/types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../7OnLoadHook/types/services/DatabaseService.d.ts | 2 +- .../8OnUpdateHook/types/callbacks/InraidCallbacks.d.ts | 1 + .../8OnUpdateHook/types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../8OnUpdateHook/types/services/DatabaseService.d.ts | 2 +- .../9RouterHooks/types/callbacks/InraidCallbacks.d.ts | 1 + .../9RouterHooks/types/controllers/InraidController.d.ts | 3 +++ .../types/controllers/RepeatableQuestController.d.ts | 8 ++++++++ .../types/models/spt/quests/IGetRepeatableByIdResult.d.ts | 5 +++++ .../9RouterHooks/types/services/DatabaseService.d.ts | 2 +- 120 files changed, 432 insertions(+), 24 deletions(-) create mode 100644 TypeScript/10ScopesAndTypes/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/11BundleLoadingSample/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/12ClassExtensionOverride/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/13AddTrader/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/14AfterDBLoadHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/15HttpListenerExample/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/16ImporterUtil/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/17AsyncImporterWithDependency1/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/17AsyncImporterWithDependency2/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/18CustomItemService/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/19UseExternalLibraries/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/1LogToConsole/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/20CustomChatBot/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/21CustomCommandoCommand/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/22CustomAkiCommand/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/2EditDatabase/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/3GetSptConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/4UseACustomConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/5ReplaceMethod/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/6ReferenceAnotherClass/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/7OnLoadHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/8OnUpdateHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts create mode 100644 TypeScript/9RouterHooks/types/models/spt/quests/IGetRepeatableByIdResult.d.ts diff --git a/TypeScript/10ScopesAndTypes/types/callbacks/InraidCallbacks.d.ts b/TypeScript/10ScopesAndTypes/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/10ScopesAndTypes/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/10ScopesAndTypes/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/10ScopesAndTypes/types/controllers/InraidController.d.ts b/TypeScript/10ScopesAndTypes/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/10ScopesAndTypes/types/controllers/InraidController.d.ts +++ b/TypeScript/10ScopesAndTypes/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/10ScopesAndTypes/types/controllers/RepeatableQuestController.d.ts b/TypeScript/10ScopesAndTypes/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/10ScopesAndTypes/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/10ScopesAndTypes/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/10ScopesAndTypes/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/10ScopesAndTypes/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/10ScopesAndTypes/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/10ScopesAndTypes/types/services/DatabaseService.d.ts b/TypeScript/10ScopesAndTypes/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/10ScopesAndTypes/types/services/DatabaseService.d.ts +++ b/TypeScript/10ScopesAndTypes/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/11BundleLoadingSample/types/callbacks/InraidCallbacks.d.ts b/TypeScript/11BundleLoadingSample/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/11BundleLoadingSample/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/11BundleLoadingSample/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/11BundleLoadingSample/types/controllers/InraidController.d.ts b/TypeScript/11BundleLoadingSample/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/11BundleLoadingSample/types/controllers/InraidController.d.ts +++ b/TypeScript/11BundleLoadingSample/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/11BundleLoadingSample/types/controllers/RepeatableQuestController.d.ts b/TypeScript/11BundleLoadingSample/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/11BundleLoadingSample/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/11BundleLoadingSample/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/11BundleLoadingSample/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/11BundleLoadingSample/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/11BundleLoadingSample/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/11BundleLoadingSample/types/services/DatabaseService.d.ts b/TypeScript/11BundleLoadingSample/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/11BundleLoadingSample/types/services/DatabaseService.d.ts +++ b/TypeScript/11BundleLoadingSample/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/12ClassExtensionOverride/types/callbacks/InraidCallbacks.d.ts b/TypeScript/12ClassExtensionOverride/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/12ClassExtensionOverride/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/12ClassExtensionOverride/types/controllers/InraidController.d.ts b/TypeScript/12ClassExtensionOverride/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/12ClassExtensionOverride/types/controllers/InraidController.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/12ClassExtensionOverride/types/controllers/RepeatableQuestController.d.ts b/TypeScript/12ClassExtensionOverride/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/12ClassExtensionOverride/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/12ClassExtensionOverride/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/12ClassExtensionOverride/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/12ClassExtensionOverride/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/12ClassExtensionOverride/types/services/DatabaseService.d.ts b/TypeScript/12ClassExtensionOverride/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/12ClassExtensionOverride/types/services/DatabaseService.d.ts +++ b/TypeScript/12ClassExtensionOverride/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/13AddTrader/types/callbacks/InraidCallbacks.d.ts b/TypeScript/13AddTrader/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/13AddTrader/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/13AddTrader/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/13AddTrader/types/controllers/InraidController.d.ts b/TypeScript/13AddTrader/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/13AddTrader/types/controllers/InraidController.d.ts +++ b/TypeScript/13AddTrader/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/13AddTrader/types/controllers/RepeatableQuestController.d.ts b/TypeScript/13AddTrader/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/13AddTrader/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/13AddTrader/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/13AddTrader/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/13AddTrader/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/13AddTrader/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/13AddTrader/types/services/DatabaseService.d.ts b/TypeScript/13AddTrader/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/13AddTrader/types/services/DatabaseService.d.ts +++ b/TypeScript/13AddTrader/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/14AfterDBLoadHook/types/callbacks/InraidCallbacks.d.ts b/TypeScript/14AfterDBLoadHook/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/14AfterDBLoadHook/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/14AfterDBLoadHook/types/controllers/InraidController.d.ts b/TypeScript/14AfterDBLoadHook/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/14AfterDBLoadHook/types/controllers/InraidController.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/14AfterDBLoadHook/types/controllers/RepeatableQuestController.d.ts b/TypeScript/14AfterDBLoadHook/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/14AfterDBLoadHook/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/14AfterDBLoadHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/14AfterDBLoadHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/14AfterDBLoadHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/14AfterDBLoadHook/types/services/DatabaseService.d.ts b/TypeScript/14AfterDBLoadHook/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/14AfterDBLoadHook/types/services/DatabaseService.d.ts +++ b/TypeScript/14AfterDBLoadHook/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/15HttpListenerExample/types/callbacks/InraidCallbacks.d.ts b/TypeScript/15HttpListenerExample/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/15HttpListenerExample/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/15HttpListenerExample/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/15HttpListenerExample/types/controllers/InraidController.d.ts b/TypeScript/15HttpListenerExample/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/15HttpListenerExample/types/controllers/InraidController.d.ts +++ b/TypeScript/15HttpListenerExample/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/15HttpListenerExample/types/controllers/RepeatableQuestController.d.ts b/TypeScript/15HttpListenerExample/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/15HttpListenerExample/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/15HttpListenerExample/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/15HttpListenerExample/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/15HttpListenerExample/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/15HttpListenerExample/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/15HttpListenerExample/types/services/DatabaseService.d.ts b/TypeScript/15HttpListenerExample/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/15HttpListenerExample/types/services/DatabaseService.d.ts +++ b/TypeScript/15HttpListenerExample/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/16ImporterUtil/types/callbacks/InraidCallbacks.d.ts b/TypeScript/16ImporterUtil/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/16ImporterUtil/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/16ImporterUtil/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/16ImporterUtil/types/controllers/InraidController.d.ts b/TypeScript/16ImporterUtil/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/16ImporterUtil/types/controllers/InraidController.d.ts +++ b/TypeScript/16ImporterUtil/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/16ImporterUtil/types/controllers/RepeatableQuestController.d.ts b/TypeScript/16ImporterUtil/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/16ImporterUtil/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/16ImporterUtil/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/16ImporterUtil/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/16ImporterUtil/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/16ImporterUtil/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/16ImporterUtil/types/services/DatabaseService.d.ts b/TypeScript/16ImporterUtil/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/16ImporterUtil/types/services/DatabaseService.d.ts +++ b/TypeScript/16ImporterUtil/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/17AsyncImporterWithDependency1/types/callbacks/InraidCallbacks.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/17AsyncImporterWithDependency1/types/controllers/InraidController.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/controllers/InraidController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/17AsyncImporterWithDependency1/types/controllers/RepeatableQuestController.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/17AsyncImporterWithDependency1/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/17AsyncImporterWithDependency1/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/17AsyncImporterWithDependency1/types/services/DatabaseService.d.ts b/TypeScript/17AsyncImporterWithDependency1/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/17AsyncImporterWithDependency1/types/services/DatabaseService.d.ts +++ b/TypeScript/17AsyncImporterWithDependency1/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/17AsyncImporterWithDependency2/types/callbacks/InraidCallbacks.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/17AsyncImporterWithDependency2/types/controllers/InraidController.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/controllers/InraidController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/17AsyncImporterWithDependency2/types/controllers/RepeatableQuestController.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/17AsyncImporterWithDependency2/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/17AsyncImporterWithDependency2/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/17AsyncImporterWithDependency2/types/services/DatabaseService.d.ts b/TypeScript/17AsyncImporterWithDependency2/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/17AsyncImporterWithDependency2/types/services/DatabaseService.d.ts +++ b/TypeScript/17AsyncImporterWithDependency2/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/18CustomItemService/types/callbacks/InraidCallbacks.d.ts b/TypeScript/18CustomItemService/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/18CustomItemService/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/18CustomItemService/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/18CustomItemService/types/controllers/InraidController.d.ts b/TypeScript/18CustomItemService/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/18CustomItemService/types/controllers/InraidController.d.ts +++ b/TypeScript/18CustomItemService/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/18CustomItemService/types/controllers/RepeatableQuestController.d.ts b/TypeScript/18CustomItemService/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/18CustomItemService/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/18CustomItemService/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/18CustomItemService/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/18CustomItemService/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/18CustomItemService/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/18CustomItemService/types/services/DatabaseService.d.ts b/TypeScript/18CustomItemService/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/18CustomItemService/types/services/DatabaseService.d.ts +++ b/TypeScript/18CustomItemService/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/19UseExternalLibraries/types/callbacks/InraidCallbacks.d.ts b/TypeScript/19UseExternalLibraries/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/19UseExternalLibraries/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/19UseExternalLibraries/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/19UseExternalLibraries/types/controllers/InraidController.d.ts b/TypeScript/19UseExternalLibraries/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/19UseExternalLibraries/types/controllers/InraidController.d.ts +++ b/TypeScript/19UseExternalLibraries/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/19UseExternalLibraries/types/controllers/RepeatableQuestController.d.ts b/TypeScript/19UseExternalLibraries/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/19UseExternalLibraries/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/19UseExternalLibraries/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/19UseExternalLibraries/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/19UseExternalLibraries/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/19UseExternalLibraries/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/19UseExternalLibraries/types/services/DatabaseService.d.ts b/TypeScript/19UseExternalLibraries/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/19UseExternalLibraries/types/services/DatabaseService.d.ts +++ b/TypeScript/19UseExternalLibraries/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/1LogToConsole/types/callbacks/InraidCallbacks.d.ts b/TypeScript/1LogToConsole/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/1LogToConsole/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/1LogToConsole/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/1LogToConsole/types/controllers/InraidController.d.ts b/TypeScript/1LogToConsole/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/1LogToConsole/types/controllers/InraidController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/1LogToConsole/types/controllers/RepeatableQuestController.d.ts b/TypeScript/1LogToConsole/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/1LogToConsole/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/1LogToConsole/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/1LogToConsole/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/1LogToConsole/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/1LogToConsole/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/1LogToConsole/types/services/DatabaseService.d.ts b/TypeScript/1LogToConsole/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/1LogToConsole/types/services/DatabaseService.d.ts +++ b/TypeScript/1LogToConsole/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/20CustomChatBot/types/callbacks/InraidCallbacks.d.ts b/TypeScript/20CustomChatBot/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/20CustomChatBot/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/20CustomChatBot/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/20CustomChatBot/types/controllers/InraidController.d.ts b/TypeScript/20CustomChatBot/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/20CustomChatBot/types/controllers/InraidController.d.ts +++ b/TypeScript/20CustomChatBot/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/20CustomChatBot/types/controllers/RepeatableQuestController.d.ts b/TypeScript/20CustomChatBot/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/20CustomChatBot/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/20CustomChatBot/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/20CustomChatBot/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/20CustomChatBot/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/20CustomChatBot/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/20CustomChatBot/types/services/DatabaseService.d.ts b/TypeScript/20CustomChatBot/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/20CustomChatBot/types/services/DatabaseService.d.ts +++ b/TypeScript/20CustomChatBot/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/21CustomCommandoCommand/types/callbacks/InraidCallbacks.d.ts b/TypeScript/21CustomCommandoCommand/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/21CustomCommandoCommand/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/21CustomCommandoCommand/types/controllers/InraidController.d.ts b/TypeScript/21CustomCommandoCommand/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/21CustomCommandoCommand/types/controllers/InraidController.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/21CustomCommandoCommand/types/controllers/RepeatableQuestController.d.ts b/TypeScript/21CustomCommandoCommand/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/21CustomCommandoCommand/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/21CustomCommandoCommand/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/21CustomCommandoCommand/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/21CustomCommandoCommand/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/21CustomCommandoCommand/types/services/DatabaseService.d.ts b/TypeScript/21CustomCommandoCommand/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/21CustomCommandoCommand/types/services/DatabaseService.d.ts +++ b/TypeScript/21CustomCommandoCommand/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/22CustomAkiCommand/types/callbacks/InraidCallbacks.d.ts b/TypeScript/22CustomAkiCommand/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/22CustomAkiCommand/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/22CustomAkiCommand/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/22CustomAkiCommand/types/controllers/InraidController.d.ts b/TypeScript/22CustomAkiCommand/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/22CustomAkiCommand/types/controllers/InraidController.d.ts +++ b/TypeScript/22CustomAkiCommand/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/22CustomAkiCommand/types/controllers/RepeatableQuestController.d.ts b/TypeScript/22CustomAkiCommand/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/22CustomAkiCommand/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/22CustomAkiCommand/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/22CustomAkiCommand/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/22CustomAkiCommand/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/22CustomAkiCommand/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/22CustomAkiCommand/types/services/DatabaseService.d.ts b/TypeScript/22CustomAkiCommand/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/22CustomAkiCommand/types/services/DatabaseService.d.ts +++ b/TypeScript/22CustomAkiCommand/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/2EditDatabase/types/callbacks/InraidCallbacks.d.ts b/TypeScript/2EditDatabase/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/2EditDatabase/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/2EditDatabase/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/2EditDatabase/types/controllers/InraidController.d.ts b/TypeScript/2EditDatabase/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/2EditDatabase/types/controllers/InraidController.d.ts +++ b/TypeScript/2EditDatabase/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/2EditDatabase/types/controllers/RepeatableQuestController.d.ts b/TypeScript/2EditDatabase/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/2EditDatabase/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/2EditDatabase/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/2EditDatabase/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/2EditDatabase/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/2EditDatabase/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/2EditDatabase/types/services/DatabaseService.d.ts b/TypeScript/2EditDatabase/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/2EditDatabase/types/services/DatabaseService.d.ts +++ b/TypeScript/2EditDatabase/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/3GetSptConfigFile/types/callbacks/InraidCallbacks.d.ts b/TypeScript/3GetSptConfigFile/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/3GetSptConfigFile/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/3GetSptConfigFile/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/3GetSptConfigFile/types/controllers/InraidController.d.ts b/TypeScript/3GetSptConfigFile/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/3GetSptConfigFile/types/controllers/InraidController.d.ts +++ b/TypeScript/3GetSptConfigFile/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/3GetSptConfigFile/types/controllers/RepeatableQuestController.d.ts b/TypeScript/3GetSptConfigFile/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/3GetSptConfigFile/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/3GetSptConfigFile/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/3GetSptConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/3GetSptConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/3GetSptConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/3GetSptConfigFile/types/services/DatabaseService.d.ts b/TypeScript/3GetSptConfigFile/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/3GetSptConfigFile/types/services/DatabaseService.d.ts +++ b/TypeScript/3GetSptConfigFile/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/callbacks/InraidCallbacks.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/InraidController.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/InraidController.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/RepeatableQuestController.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/services/DatabaseService.d.ts b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/services/DatabaseService.d.ts +++ b/TypeScript/4.1UseACustomJson5OrJsonCConfigFile/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/4UseACustomConfigFile/types/callbacks/InraidCallbacks.d.ts b/TypeScript/4UseACustomConfigFile/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/4UseACustomConfigFile/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/4UseACustomConfigFile/types/controllers/InraidController.d.ts b/TypeScript/4UseACustomConfigFile/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/4UseACustomConfigFile/types/controllers/InraidController.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/4UseACustomConfigFile/types/controllers/RepeatableQuestController.d.ts b/TypeScript/4UseACustomConfigFile/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/4UseACustomConfigFile/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/4UseACustomConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/4UseACustomConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/4UseACustomConfigFile/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/4UseACustomConfigFile/types/services/DatabaseService.d.ts b/TypeScript/4UseACustomConfigFile/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/4UseACustomConfigFile/types/services/DatabaseService.d.ts +++ b/TypeScript/4UseACustomConfigFile/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/5ReplaceMethod/types/callbacks/InraidCallbacks.d.ts b/TypeScript/5ReplaceMethod/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/5ReplaceMethod/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/5ReplaceMethod/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/5ReplaceMethod/types/controllers/InraidController.d.ts b/TypeScript/5ReplaceMethod/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/5ReplaceMethod/types/controllers/InraidController.d.ts +++ b/TypeScript/5ReplaceMethod/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/5ReplaceMethod/types/controllers/RepeatableQuestController.d.ts b/TypeScript/5ReplaceMethod/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/5ReplaceMethod/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/5ReplaceMethod/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/5ReplaceMethod/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/5ReplaceMethod/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/5ReplaceMethod/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/5ReplaceMethod/types/services/DatabaseService.d.ts b/TypeScript/5ReplaceMethod/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/5ReplaceMethod/types/services/DatabaseService.d.ts +++ b/TypeScript/5ReplaceMethod/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/6ReferenceAnotherClass/types/callbacks/InraidCallbacks.d.ts b/TypeScript/6ReferenceAnotherClass/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/6ReferenceAnotherClass/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/6ReferenceAnotherClass/types/controllers/InraidController.d.ts b/TypeScript/6ReferenceAnotherClass/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/6ReferenceAnotherClass/types/controllers/InraidController.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/6ReferenceAnotherClass/types/controllers/RepeatableQuestController.d.ts b/TypeScript/6ReferenceAnotherClass/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/6ReferenceAnotherClass/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/6ReferenceAnotherClass/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/6ReferenceAnotherClass/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/6ReferenceAnotherClass/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/6ReferenceAnotherClass/types/services/DatabaseService.d.ts b/TypeScript/6ReferenceAnotherClass/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/6ReferenceAnotherClass/types/services/DatabaseService.d.ts +++ b/TypeScript/6ReferenceAnotherClass/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/7OnLoadHook/types/callbacks/InraidCallbacks.d.ts b/TypeScript/7OnLoadHook/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/7OnLoadHook/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/7OnLoadHook/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/7OnLoadHook/types/controllers/InraidController.d.ts b/TypeScript/7OnLoadHook/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/7OnLoadHook/types/controllers/InraidController.d.ts +++ b/TypeScript/7OnLoadHook/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/7OnLoadHook/types/controllers/RepeatableQuestController.d.ts b/TypeScript/7OnLoadHook/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/7OnLoadHook/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/7OnLoadHook/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/7OnLoadHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/7OnLoadHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/7OnLoadHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/7OnLoadHook/types/services/DatabaseService.d.ts b/TypeScript/7OnLoadHook/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/7OnLoadHook/types/services/DatabaseService.d.ts +++ b/TypeScript/7OnLoadHook/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/8OnUpdateHook/types/callbacks/InraidCallbacks.d.ts b/TypeScript/8OnUpdateHook/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/8OnUpdateHook/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/8OnUpdateHook/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/8OnUpdateHook/types/controllers/InraidController.d.ts b/TypeScript/8OnUpdateHook/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/8OnUpdateHook/types/controllers/InraidController.d.ts +++ b/TypeScript/8OnUpdateHook/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/8OnUpdateHook/types/controllers/RepeatableQuestController.d.ts b/TypeScript/8OnUpdateHook/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/8OnUpdateHook/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/8OnUpdateHook/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/8OnUpdateHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/8OnUpdateHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/8OnUpdateHook/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/8OnUpdateHook/types/services/DatabaseService.d.ts b/TypeScript/8OnUpdateHook/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/8OnUpdateHook/types/services/DatabaseService.d.ts +++ b/TypeScript/8OnUpdateHook/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation; diff --git a/TypeScript/9RouterHooks/types/callbacks/InraidCallbacks.d.ts b/TypeScript/9RouterHooks/types/callbacks/InraidCallbacks.d.ts index a058b99..dc6ede4 100644 --- a/TypeScript/9RouterHooks/types/callbacks/InraidCallbacks.d.ts +++ b/TypeScript/9RouterHooks/types/callbacks/InraidCallbacks.d.ts @@ -59,4 +59,5 @@ export declare class InraidCallbacks { itemDelivery(url: string, request: IItemDeliveryRequestData, sessionId: string): INullResponseData; getTraitorScavHostileChance(url: string, info: IEmptyRequestData, sessionId: string): string; getSandboxMaxPatrolValue(url: string, info: IEmptyRequestData, sessionId: string): string; + getBossConvertSettings(url: string, info: IEmptyRequestData, sessionId: string): string; } diff --git a/TypeScript/9RouterHooks/types/controllers/InraidController.d.ts b/TypeScript/9RouterHooks/types/controllers/InraidController.d.ts index 4aa6dad..87f419b 100644 --- a/TypeScript/9RouterHooks/types/controllers/InraidController.d.ts +++ b/TypeScript/9RouterHooks/types/controllers/InraidController.d.ts @@ -31,6 +31,7 @@ import { PmcChatResponseService } from "@spt/services/PmcChatResponseService"; import { TraderServicesService } from "@spt/services/TraderServicesService"; import { RandomUtil } from "@spt/utils/RandomUtil"; import { TimeUtil } from "@spt/utils/TimeUtil"; +import { IBotConfig } from "@spt/models/spt/config/IBotConfig"; /** * Logic for handling In Raid callbacks */ @@ -62,6 +63,7 @@ export declare class InraidController { protected locationConfig: ILocationConfig; protected ragfairConfig: IRagfairConfig; protected hideoutConfig: IHideoutConfig; + protected botConfig: IBotConfig; constructor(logger: ILogger, saveServer: SaveServer, timeUtil: TimeUtil, databaseService: DatabaseService, pmcChatResponseService: PmcChatResponseService, matchBotDetailsCacheService: MatchBotDetailsCacheService, questHelper: QuestHelper, itemHelper: ItemHelper, profileHelper: ProfileHelper, playerScavGenerator: PlayerScavGenerator, healthHelper: HealthHelper, traderHelper: TraderHelper, traderServicesService: TraderServicesService, localisationService: LocalisationService, insuranceService: InsuranceService, inRaidHelper: InRaidHelper, applicationContext: ApplicationContext, configServer: ConfigServer, mailSendService: MailSendService, randomUtil: RandomUtil); /** * Save locationId to active profiles inraid object AND app context @@ -189,4 +191,5 @@ export declare class InraidController { itemDelivery(sessionId: string, traderId: string, items: Item[]): void; getTraitorScavHostileChance(url: string, sessionID: string): number; getSandboxMaxPatrolValue(url: string, sessionID: string): number; + getBossConvertSettings(url: string, sessionId: string): string[]; } diff --git a/TypeScript/9RouterHooks/types/controllers/RepeatableQuestController.d.ts b/TypeScript/9RouterHooks/types/controllers/RepeatableQuestController.d.ts index df1718e..74f39eb 100644 --- a/TypeScript/9RouterHooks/types/controllers/RepeatableQuestController.d.ts +++ b/TypeScript/9RouterHooks/types/controllers/RepeatableQuestController.d.ts @@ -9,6 +9,7 @@ import { ISptProfile } from "@spt/models/eft/profile/ISptProfile"; import { IRepeatableQuestChangeRequest } from "@spt/models/eft/quests/IRepeatableQuestChangeRequest"; import { ELocationName } from "@spt/models/enums/ELocationName"; import { IQuestConfig, IRepeatableQuestConfig } from "@spt/models/spt/config/IQuestConfig"; +import { IGetRepeatableByIdResult } from "@spt/models/spt/quests/IGetRepeatableByIdResult"; import { IQuestTypePool } from "@spt/models/spt/repeatable/IQuestTypePool"; import { ILogger } from "@spt/models/spt/utils/ILogger"; import { EventOutputHolder } from "@spt/routers/EventOutputHolder"; @@ -146,6 +147,13 @@ export declare class RepeatableQuestController { * @returns IItemEventRouterResponse */ changeRepeatableQuest(pmcData: IPmcData, changeRequest: IRepeatableQuestChangeRequest, sessionID: string): IItemEventRouterResponse; + /** + * Find a repeatable (daily/weekly/scav) from a players profile by its id + * @param questId Id of quest to find + * @param pmcData Profile that contains quests to look through + * @returns IGetRepeatableByIdResult + */ + protected getRepeatableById(questId: string, pmcData: IPmcData): IGetRepeatableByIdResult; protected attemptToGenerateRepeatableQuest(pmcData: IPmcData, questTypePool: IQuestTypePool, repeatableConfig: IRepeatableQuestConfig): IRepeatableQuest; /** * Some accounts have access to free repeatable quest refreshes diff --git a/TypeScript/9RouterHooks/types/models/spt/quests/IGetRepeatableByIdResult.d.ts b/TypeScript/9RouterHooks/types/models/spt/quests/IGetRepeatableByIdResult.d.ts new file mode 100644 index 0000000..cd57ec5 --- /dev/null +++ b/TypeScript/9RouterHooks/types/models/spt/quests/IGetRepeatableByIdResult.d.ts @@ -0,0 +1,5 @@ +import { IPmcDataRepeatableQuest, IRepeatableQuest } from "@spt/models/eft/common/tables/IRepeatableQuests"; +export interface IGetRepeatableByIdResult { + quest: IRepeatableQuest; + repeatableType: IPmcDataRepeatableQuest; +} diff --git a/TypeScript/9RouterHooks/types/services/DatabaseService.d.ts b/TypeScript/9RouterHooks/types/services/DatabaseService.d.ts index 7cdfad5..711a069 100644 --- a/TypeScript/9RouterHooks/types/services/DatabaseService.d.ts +++ b/TypeScript/9RouterHooks/types/services/DatabaseService.d.ts @@ -52,7 +52,7 @@ export declare class DatabaseService { getLocations(): ILocations; /** * Get specific location by its Id - * @param locationId Desired trader id + * @param locationId Desired location id * @returns assets/database/locations/ */ getLocation(locationId: string): ILocation;